Commit Graph

781 Commits

Author SHA1 Message Date
Kazu Yamamoto
e49fef6765 setTargetFiles now loads files. 2014-04-24 12:15:59 +09:00
Kazu Yamamoto
0c1469e53c <package>:<module> style.
refactoring for #159.
2014-04-24 11:26:30 +09:00
Kazu Yamamoto
79946f9a3d removing withGHCDummyFile. 2014-04-23 16:37:24 +09:00
Kazu Yamamoto
3b3b767556 Merge branch 'dev-dynflags' of https://github.com/DanielG/ghc-mod into DanielG-dev-dynflags
Conflicts:
	Language/Haskell/GhcMod/GHCApi.hs
2014-04-23 12:20:18 +09:00
Kazu Yamamoto
44ece2dcb9 Merge branch 'master' of github.com:kazu-yamamoto/ghc-mod 2014-04-23 12:04:00 +09:00
Daniel Gröber
c9ca3a6d76 Clean up DynFlags initialization 2014-04-23 04:04:41 +02:00
Daniel Gröber
dc43d600dc Remove Alternative class constraint from withGhc 2014-04-23 03:43:53 +02:00
Kazu Yamamoto
b8a151421d removing fixme. 2014-04-22 12:34:35 +09:00
Kazu Yamamoto
b3fd99fa7d using Builder. 2014-04-22 11:28:27 +09:00
Kazu Yamamoto
4764ff1acb ghc-modi boot. 2014-04-21 16:30:31 +09:00
Kazu Yamamoto
152b218813 hlint hack. 2014-04-21 16:12:30 +09:00
Kazu Yamamoto
8983cf2d88 lineSeparator are only used in toList/toPlain. 2014-04-21 15:58:36 +09:00
Kazu Yamamoto
3d03cff06b refactoring for lineSeparator. 2014-04-21 14:58:25 +09:00
Kazu Yamamoto
b2c2d1a443 cleaning up APIs. 2014-04-21 14:04:58 +09:00
Kazu Yamamoto
1006cd4eec APIs in Ghc monad now go to GHCMod.Ghc. 2014-04-21 12:51:56 +09:00
Kazu Yamamoto
2f55a19d49 cleaning up APIs. 2014-04-21 12:46:14 +09:00
Kazu Yamamoto
df4dd97e48 ghc-mod debug does not need a file. 2014-04-21 11:31:15 +09:00
Kazu Yamamoto
12dac1f0a5 ghc-mod root does not need a file. 2014-04-21 11:22:39 +09:00
Kazu Yamamoto
756d17eaa2 -l for ghc-modi info. 2014-04-21 09:45:41 +09:00
Kazu Yamamoto
e09b406ee8 ToString String and doctest. 2014-04-21 09:45:00 +09:00
Kazu Yamamoto
3c8fea85fb dropWhileEnd moves to Utils. 2014-04-19 15:20:16 +09:00
Kazu Yamamoto
82b6519935 removing suppress stuff. 2014-04-19 15:17:36 +09:00
Kazu Yamamoto
841c721928 -l for lint. 2014-04-19 08:36:35 +09:00
Kazu Yamamoto
ab5e082e81 --quiet back (#226). 2014-04-19 08:26:30 +09:00
Daniel Gröber
8f3fb2a7d7 Only supress stderr on success 2014-04-18 13:22:31 +02:00
Kazu Yamamoto
4389dea800 -l for check. 2014-04-18 17:28:12 +09:00
Kazu Yamamoto
9a6c84410d close import. 2014-04-18 16:17:46 +09:00
Kazu Yamamoto
f2081466fc Using Hidden also. (#223) 2014-04-18 16:12:21 +09:00
Kazu Yamamoto
aecb9bc1e4 implementing suppressStdout/err. 2014-04-18 15:41:32 +09:00
Daniel Gröber
bd2db5e98e Dont use Applicative ReadP instance 2014-04-18 04:00:01 +02:00
Daniel Gröber
2381f6e1ab More refactoring of package handling
- 'GhcPkg' now parses 'ghc-pkg -v list' output directly to also get the
  package-id

- Remove unused field 'cradlePackages' in Cradle

- Remove 'getPackageDbPackages' and use 'ghcPkgListEx' instead
2014-04-18 03:59:46 +02:00
satoshi-murakumo
0eadfa91fd Fix windows tempfile handling
On Windows, `ghc-mod lint` fails with following message.

    ghc-mod: DeleteFile "<Ommit>\\Temp\\ghc-mod-hlint8464": permission denied <Ommit>

Perhaps, On Windows, GHC opens file exclusively.
So, we move `removeFile` to `finally`.
2014-04-16 22:41:53 +09:00
Kazu Yamamoto
abb9ecd8ac style. 2014-04-16 11:59:00 +09:00
Kazu Yamamoto
145c27a129 hlint hack. 2014-04-16 11:52:49 +09:00
Kazu Yamamoto
cd56e26b25 just style. 2014-04-16 11:50:31 +09:00
Kazu Yamamoto
697ad3722a removing warnings. 2014-04-16 11:32:36 +09:00
Kazu Yamamoto
2dc1eb645a Merge branch 'dev' of git://github.com/DanielG/ghc-mod into DanielG-dev 2014-04-16 11:24:39 +09:00
Daniel Gröber
bb438feb83 User ghc's cProjectVersionInt to get version information 2014-04-16 01:57:52 +02:00
Daniel Gröber
7d75787ae3 Only add available package to ghc options
Fixes #185
2014-04-15 05:18:42 +02:00
Daniel Gröber
30b8366526 Refactor the way packages databases are handled
- cradle now stores a list of active package databases instead of only
  the user store (if present).

- rename `cradlePackageDb` -> `cradlePkgDbStack` as that`s what the ghc
  documentaion calls this kind of thing

- `getPackageDbPackages` now returns names of all visible packages in
  the given directory. Also the implementation now uses `ghc-pkg`
  instead of manually looking at the package database
2014-04-15 05:15:50 +02:00
Kazu Yamamoto
8f5498c554 refactoring. 2014-04-11 14:59:31 +09:00
Kazu Yamamoto
a0d559de61 clarifying Ghc and IO. 2014-04-11 13:14:45 +09:00
Kazu Yamamoto
998a43ce24 removing depanal. 2014-04-11 12:56:06 +09:00
Kazu Yamamoto
196450af9f simplifying modSummary. 2014-04-11 12:41:39 +09:00
Kazu Yamamoto
3ed59464f0 just style. 2014-04-11 12:21:58 +09:00
Kazu Yamamoto
862e8c397c refactoring. 2014-04-11 12:19:42 +09:00
Kazu Yamamoto
dd8f9a5fcb refactoring. 2014-04-11 11:54:39 +09:00
Kazu Yamamoto
e9859980ab info/type does not require module name.
Fallback was removed. See #199.
2014-04-11 11:51:25 +09:00
Kazu Yamamoto
54bea65736 style change. 2014-04-11 11:15:59 +09:00
Kazu Yamamoto
ba4a1b9688 removing unnecessary code. 2014-04-11 11:13:24 +09:00
Kazu Yamamoto
1d2cf4cb9f fixing the fallback mechanism for info. 2014-04-11 11:02:05 +09:00
Kazu Yamamoto
d6a81c0506 refactoring. 2014-04-10 16:41:05 +09:00
Kazu Yamamoto
d6762ede6e fixing typos. 2014-04-10 16:36:15 +09:00
Kazu Yamamoto
770644e87d debug also displays sys lib dir. 2014-04-09 15:15:26 +09:00
Kazu Yamamoto
89c733aef8 hlint hack. 2014-04-03 16:17:51 +09:00
Kazu Yamamoto
a6579c656b Displaying a qualified name if two unqualified names are conflict (#130). 2014-04-03 09:49:23 +09:00
Kazu Yamamoto
159b7b1eb6 don't use hiding. 2014-03-31 12:31:21 +09:00
Kazu Yamamoto
3bfbbb8b5c supporting sandbox only (without cabal) to fix #164. 2014-03-30 17:28:57 +09:00
Kazu Yamamoto
5e01a45218 removing dep packages of benchmark.
installing packages of benchmark fails in many cases, sigh.
2014-03-30 15:07:14 +09:00
Kazu Yamamoto
983fc68f5b handling multiple package names from ghc-pkg find-module. 2014-03-30 12:37:29 +09:00
Kazu Yamamoto
f8249ae449 removing comment. 2014-03-28 13:47:33 +09:00
Kazu Yamamoto
955b1b4091 user package db options for both GHC and ghc-pkg. 2014-03-28 12:05:11 +09:00
Kazu Yamamoto
1f7e7dea3b adding doc. 2014-03-28 11:10:18 +09:00
Kazu Yamamoto
f7f1e081c5 adding dumpSplicesFlag. 2014-03-27 20:54:18 +09:00
Kazu Yamamoto
5dbea7b909 error handling for doc. 2014-03-27 16:40:34 +09:00
Kazu Yamamoto
187f718de0 hlint hack. 2014-03-27 16:35:41 +09:00
Kazu Yamamoto
992013df05 hlint hack. 2014-03-27 16:31:49 +09:00
Kazu Yamamoto
fb08870d72 hlint hack. 2014-03-27 16:29:59 +09:00
Kazu Yamamoto
2dd7bab9b2 packageDoc for sandbox. 2014-03-27 16:22:49 +09:00
Kazu Yamamoto
5f6adb53f2 close import. 2014-03-27 16:02:16 +09:00
Kazu Yamamoto
ff70313049 close import. 2014-03-27 15:56:14 +09:00
Kazu Yamamoto
f24749b13b close import. 2014-03-27 15:45:51 +09:00
Kazu Yamamoto
c9429cfc97 close import. 2014-03-27 15:43:33 +09:00
Kazu Yamamoto
b628175d8f close import. 2014-03-27 15:32:44 +09:00
Kazu Yamamoto
e0d8b379df close import. 2014-03-27 15:25:02 +09:00
Kazu Yamamoto
fbed91f6f2 close import. 2014-03-27 15:23:27 +09:00
Kazu Yamamoto
426917fc44 close import. 2014-03-27 15:21:18 +09:00
Kazu Yamamoto
0a323f71b9 close import. 2014-03-27 15:17:58 +09:00
Kazu Yamamoto
660a1e95f5 using liftIO from CoreMonad. 2014-03-27 15:08:07 +09:00
Kazu Yamamoto
4fd7224c9c closed import. 2014-03-27 14:38:06 +09:00
Kazu Yamamoto
d3d9eb1e2c Data.ByteString cannot be loaded if not specified in cabal file. 2014-03-27 14:24:38 +09:00
Kazu Yamamoto
7141ec5db1 removing "import Prelude". 2014-03-27 13:50:09 +09:00
Kazu Yamamoto
4ad1c5e276 exporting lint. 2014-03-27 10:34:30 +09:00
Kazu Yamamoto
6e4d073c7d using dropWhileEnd (#193). 2014-03-26 15:38:02 +09:00
Kazu Yamamoto
e3a177c20f Merge pull request #194 from eagletmt/hlint-quiet
Suppress output of hlint
2014-03-26 15:09:03 +09:00
Kazu Yamamoto
782da60d0c adding docs. 2014-03-26 12:09:02 +09:00
Kazu Yamamoto
60b0a055f7 removing warning. 2014-03-26 11:54:34 +09:00
Kazu Yamamoto
102ae7654b removing the last null charactors.
WARNING: prabably breaking backward compatibility.
2014-03-26 11:32:54 +09:00
Kazu Yamamoto
38a3e32ac3 browseAll. 2014-03-25 11:14:16 +09:00
Kohei Suzuki
44eff0dcc1 Suppress output of hlint 2014-03-21 21:40:02 +09:00
Kazu Yamamoto
d0a10277bf make ghc-modi robust. 2014-03-20 17:40:06 +09:00
Kazu Yamamoto
ee6dc2fc47 ghc-mod root. 2014-03-20 16:21:48 +09:00
Kazu Yamamoto
31ce0999a1 "debug" displyas a root dir. 2014-03-19 15:01:32 +09:00
Kazu Yamamoto
be926f0366 new APIs. 2014-03-19 10:23:32 +09:00
Kazu Yamamoto
710ac6636e cleaning up the logger. 2014-03-18 12:38:04 +09:00
Kazu Yamamoto
dd7b7b8305 the first step to make ghc-mod independent from GHC's version. 2014-03-17 16:58:55 +09:00
Kazu Yamamoto
16e050439d removing fast/slow code. 2014-03-17 15:56:00 +09:00
Kazu Yamamoto
1ae10600e7 hlint does not support --quiet anymore. 2014-03-13 11:09:55 +09:00
Kazu Yamamoto
48faeac83a removing a warning. 2014-02-06 22:12:07 +09:00
Kazu Yamamoto
fb0222ff76 burying the gap. 2014-02-06 22:09:00 +09:00
Kazu Yamamoto
891ddf639b supporting GHC 7.8rc1. (#186)
from @bartavelle.
2014-02-06 21:40:51 +09:00
Kazu Yamamoto
45154e6eb1 implementing fromTyThing. 2014-02-06 21:34:40 +09:00
Kazu Yamamoto
629cf409ae layout only. 2014-02-06 21:27:39 +09:00
Kazu Yamamoto
a25736f149 Revert "Expose packages in sandbox with their ids"
This reverts commit 46492a19b0.
2014-02-01 13:44:40 +09:00
Naohiro Aota
46492a19b0 Expose packages in sandbox with their ids
This commit implement scaning a package db directory to collect package
id

If you installed a package both in a sandbox and globally, global
package may be selected even if there's a package in a sandbox, which is
different behavior from cabal sandbox.

e.g. when you have fast-logger-2.0 globally and fast-logger-0.3.3 in a
sandbox:

(Without patch)
$ ghc-mod check Foundation.hs
Foundation.hs:12:31:Module `System.Log.FastLogger' does not export `Logger'

(With patch)
$ ghc-mod check Foundation.hs
2014-01-30 21:21:40 +09:00
Naohiro Aota
04022ab0ac Add test to check package id extraction
This commit add a failing test to check extracting package id. The test will
fail with the following output for now:

1) Cradle.getPackageDbPackages find a config file and extracts packages with their ids
expected: [("template-haskell",Just "template-haskell-2.8.0.0-32d4f24abdbb6bf41272b183b2e23e9c")]
 but got: []
2014-01-30 21:18:45 +09:00
Naohiro Aota
a0db24b0a5 Extend Package to include id
This commit
1. rename Package with PackageBaseName
2. Pacakge = (PackageBaseName, Maybe String) to save its id
3. Expose packages with id if available
2014-01-30 20:45:30 +09:00
Kazu Yamamoto
cf0180ed53 Merge pull request #182 from eagletmt/fix-for-ghc-7.7.20140110
Pretty.showDocWith disappeard at GHC 7.7.20140110
2014-01-13 23:24:43 -08:00
Kohei Suzuki
b51072f5f0 Pretty.showDocWith disappeard at GHC 7.7.20140110 2014-01-14 15:37:16 +09:00
Kohei Suzuki
0efd848924 GHC 7.2.2 also has fWarningFlags and fLangFlags 2014-01-14 15:25:06 +09:00
Kazu Yamamoto
2681dc3519 fix for GHC 7.2.x. 2014-01-08 22:16:10 +09:00
Kazu Yamamoto
d9ff2241bd closed import. 2014-01-08 12:03:32 +09:00
Kazu Yamamoto
1e7eeff41c cleaning up warnings. 2014-01-08 09:55:06 +09:00
Scott West
33ddaf67aa Updating Gap to the GHC 7.7 trunk API. 2014-01-07 18:11:20 +01:00
Kazu Yamamoto
831fc67c8c Merge branch 'ghci-style-load2' of github.com:khorser/ghc-mod into khorser-ghci-style-load2
Conflicts:
	Language/Haskell/GhcMod/Browse.hs
2013-11-20 14:28:20 +09:00
Sergey Khorev
429cdfa83b Try loading a module if findModule failed for it 2013-11-20 08:57:45 +04:00
Kazu Yamamoto
0cbf4855b8 Merge branch 'qualified-module-name' of git://github.com/mvoidex/ghc-mod into mvoidex-qualified-module-name 2013-11-19 14:24:49 +09:00
Kazu Yamamoto
19d2521f5f Merge pull request #159 from mvoidex/master
Added project opt to specify module package-id
2013-11-18 21:06:28 -08:00
Kazu Yamamoto
41da5cc505 defining deSugar. 2013-11-19 12:54:08 +09:00
Kazu Yamamoto
13738d4391 defining typeForUser. 2013-11-19 12:35:42 +09:00
Kazu Yamamoto
7fbd983172 defining errorMsgSpan. 2013-11-19 12:28:59 +09:00
Kazu Yamamoto
5097ef84e4 removing trailing WS. 2013-11-19 10:42:47 +09:00
Schell Scivally
e5ee3da399 CPP corrections. 2013-11-19 10:30:43 +09:00
Schell Scivally
aedc11f21c Added conditional CPP. 2013-11-19 10:30:31 +09:00
Schell Scivally
b8e20d8e2e Compatibility with ghc API >= 7.7 2013-11-19 10:30:18 +09:00
mvoidex
97c2c62c31 Local function rewritten to use justIf 2013-11-18 18:22:49 +04:00
mvoidex
444dd225e1 Added -q option to list fully qualified names with browse command 2013-11-17 22:31:47 +04:00
mvoidex
d4505041a9 Added project opt to specify module package-id 2013-10-29 20:48:27 +04:00
Kazu Yamamoto
dfecb22123 Merge branch 'master' of git://github.com/mvoidex/ghc-mod into mvoidex-master
Conflicts:
	Language/Haskell/GhcMod/List.hs
2013-10-29 11:32:06 +09:00
mvoidex
94de367220 List modules with its packages 2013-10-28 12:22:18 +04:00
Kazu Yamamoto
d8275263f0 typo. 2013-10-02 12:43:40 +09:00
Kohei Suzuki
136e09e704 ghc-mod browse should take care of sandboxes 2013-09-27 12:25:41 +09:00
Kohei Suzuki
67166a4d75 ghc-mod list should take care of sandboxes 2013-09-27 12:23:53 +09:00
Alan Zimmerman
bdc2b96ae1 Need to validate test paths too 2013-09-21 17:26:55 +02:00
Alan Zimmerman
54bb83e972 Must explicitly find the full path for an exe target 2013-09-21 16:08:45 +02:00
Alan Zimmerman
93195cb780 Return correct values for cabalAllTargets. 2013-09-21 14:01:43 +02:00
Kazu Yamamoto
a94b1a3b5a fixing tests. 2013-09-21 18:37:33 +09:00
Kazu Yamamoto
c78d708c1c Introducing strict getPackageDbDir. 2013-09-21 15:10:43 +09:00
Kazu Yamamoto
4426f7fd0f Defining cabalAllTargets.
This is from @alanz (#151).
2013-09-20 17:25:28 +09:00
Kazu Yamamoto
668e9e4771 Removing GHCVersion. 2013-09-20 17:21:10 +09:00
Kazu Yamamoto
5f0fcd0442 getCompilerOptions handles package-db options. 2013-09-20 17:15:41 +09:00
Kazu Yamamoto
46245fb694 Adding "dist/build/autogen" for "Path_*.hs". 2013-09-20 16:23:58 +09:00
Kazu Yamamoto
39bccf8b92 adding doc to findCradle. 2013-09-20 15:53:51 +09:00
Kazu Yamamoto
49791fb6ea Supporting sandbox sharing.
Braking backword compatibility of findCradle.
2013-09-20 15:48:50 +09:00
Kazu Yamamoto
d58c11bcc3 addDevPkgs does not modify DynFlags if packages are an empty list. 2013-09-20 11:39:11 +09:00
Kazu Yamamoto
1212040e3b includeDirectories takes care of ".". 2013-09-20 11:22:11 +09:00
Kazu Yamamoto
f0e191dc98 Eq and Show for CompilerOptions. 2013-09-20 11:21:31 +09:00
Kazu Yamamoto
43f49f7abe doc for getCompilerOptions. 2013-09-20 10:30:51 +09:00
Kazu Yamamoto
560f081727 initializeFlagsWithCradle also retuns PackageDescription. 2013-09-19 16:25:36 +09:00
Kazu Yamamoto
8e4d2cec21 Obsoleting fromCabalFile. 2013-09-19 16:21:48 +09:00
Kazu Yamamoto
97da4e9be1 Defining CompilerOptions. 2013-09-19 15:58:50 +09:00
Kazu Yamamoto
7a9cc8231b Checking if "dist/build/autogen/cabal_macros.h" exists. 2013-09-16 12:04:34 +09:00
Kazu Yamamoto
57d2c74f1c Specifying "-optP". 2013-09-16 11:15:34 +09:00
Kazu Yamamoto
856392fdb7 Using proper type aliases. 2013-09-16 11:00:39 +09:00
Kazu Yamamoto
de9aa7740c adding "dist/build". 2013-09-16 10:55:26 +09:00
Kazu Yamamoto
45751e3926 Exporting more low level APIs. 2013-09-16 09:56:08 +09:00
Kazu Yamamoto
5750673e0e Filtering problematic packages. 2013-09-11 14:09:18 +09:00
Kazu Yamamoto
318b376b30 Supporting the sandbox of Cabal 1.18.0.
Support for cabal-dev was obsoleted.
2013-09-05 16:38:17 +09:00
Kazu Yamamoto
5e53841451 improving doc. 2013-09-05 14:35:28 +09:00
Niklas Hambüchen
4758a6043c check + expand: Allow passing in multiple files 2013-09-03 20:01:47 +09:00
Kazu Yamamoto
8117167f78 exporting LineSeparator. 2013-09-03 14:47:34 +09:00
Kazu Yamamoto
ed5ac820d6 adding LineSeparator. 2013-09-03 14:40:51 +09:00
Alan Zimmerman
e487a535eb Rename GhcModLowLevel to GhcMod.Internal and document exposed items. 2013-08-26 18:28:21 +02:00
Alan Zimmerman
a45bfb97b9 Exposing lower level API using GhcMonad 2013-08-24 19:17:33 +02:00
Kazu Yamamoto
1cd83ce2e0 showUnqualifiedPage is now in Doc.hs. 2013-07-14 17:07:30 +09:00
Kazu Yamamoto
cbcbae052b adding comments. 2013-07-14 16:45:43 +09:00
Kazu Yamamoto
9c5eec47ca Removing warnings.
Tests passed: GHC 7.4.2 and GHC 7.6.3
2013-07-05 16:43:54 +09:00
Kazu Yamamoto
7bd3510dc8 Merge pull request #129 from co-dan/ghc77
Porting ghc-mod to GHC 7.7
2013-07-05 00:03:57 -07:00
Daniil Frumin
dd03fc4c2c More fixes for GHC 7.4 2013-07-02 13:29:08 +04:00
Daniil Frumin
9d3b449e55 This should fix building the library for GHC <= 7.4 2013-07-02 13:19:25 +04:00
Daniil Frumin
9eb446e24b Moving all CPP stuff (that depends on GHC version) to Gap
- Moved some functions from Language.Haskell.GhcMod.Doc to Gap
- Moved HasType typeclass and some functions from Info to Gap
- Adjusted all the other modules to use necessary functions from Gap
  instead of the functions from modified modules
2013-07-02 12:48:44 +04:00
Kazu Yamamoto
1811f11a07 removing unnecessary CPP. 2013-07-01 13:21:49 +09:00
Daniil Frumin
54d6f5f690 Porting ghc-mod to GHC 7.7 2013-06-28 00:25:22 +04:00
Kazu Yamamoto
3bbc008907 test update and error handling in CabalApi. 2013-05-30 10:50:19 +09:00
Kazu Yamamoto
b2d2542435 Using PackageDescription instead of GenericPackageDescription.
This enables to pick conditional dependency in a cabal file.
2013-05-29 17:47:52 +09:00
Kazu Yamamoto
f4f55d8cf0 removing an old incorrect comment. 2013-05-29 12:05:14 +09:00
Kazu Yamamoto
eb34a5372e fixing markup. 2013-05-21 21:38:19 +09:00
Kazu Yamamoto
089d490607 writing docs. 2013-05-20 14:28:56 +09:00
Kazu Yamamoto
849c308e5c Separating IO and Ghc. 2013-05-20 11:29:44 +09:00
mvoidex
f2f3b120af Moving commands to Ghc monad 2013-05-19 01:16:37 +04:00
Kazu Yamamoto
bac4bbbcf3 Changing GHCMod as a library. 2013-05-17 10:00:01 +09:00