Commit Graph

59 Commits

Author SHA1 Message Date
Daniel Gröber
c45a7f4b52 Fix caching for getGhcPkgOptions 2015-05-05 14:47:23 +02:00
Daniel Gröber
247e4e0e76 Decrease default log level 2015-04-15 13:13:22 +02:00
Daniel Gröber
9077e96aeb Fix tests 2015-04-13 23:16:14 +02:00
Daniel Gröber
ca79f99c3e Also add language options when resolving components 2015-04-12 02:48:54 +02:00
Daniel Gröber
6f59f07f00 Fix non canonicalized paths 2015-04-12 02:48:54 +02:00
Daniel Gröber
d0ca3ee807 Fix MonadIO mess 2015-04-12 02:48:54 +02:00
Daniel Gröber
7019cbcfa1 Implement better caching for target options 2015-03-28 02:32:44 +01:00
Daniel Gröber
90d9577f8d Factor out cabal-helper into a package 2015-03-15 20:48:55 +01:00
Daniel Gröber
6756f1d10b Get rid of some warnings with ghc-7.8 2015-03-11 13:17:24 +01:00
Daniel Gröber
baf5cad809 Pass through --with-* options to cabal-helper 2015-03-07 19:37:19 +01:00
Daniel Gröber
f0ea445a9b Cleanup errors and logging a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber
bc71877dcf Change the way cabal-helper is built a bit 2015-03-05 17:35:28 +01:00
Daniel Gröber
82bb0090c0 Refactoring to use cabal-helper-wrapper
This turned out to be quite involved but save for this huge commit it's
actually quite awesome and squashes quite a few bugs and nasty
problems (hopefully). Most importantly we now have native cabal
component support without the user having to do anything to get it!

To do this we traverse imports starting from each component's
entrypoints (library modules or Main source file for executables) and
use this information to find which component's options each module will
build with. Under the assumption that these modules have to build with
every component they're used in we can now just pick one.

Quite a few internal assumptions have been invalidated by this
change. Most importantly the runGhcModT* family of cuntions now change
the current working directory to `cradleRootDir`.
2015-03-05 17:35:24 +01:00
Daniel Gröber
34dd9de83c Add Show instance for Options 2014-10-30 01:11:10 +01:00
Daniel Gröber
9ac128aa6f Fix #387, Pattern match failure in GhcPkg 2014-10-30 01:10:56 +01:00
Daniel Gröber
5a4bec8755 Rewrite ghc-mod command line frontend. 2014-09-18 10:45:14 +02:00
Daniel Gröber
a0ae09a3e6 Give readProcess' more sensible error messages.
Also a bunch of refactoring for GhcModError
2014-08-28 15:57:49 +02:00
Kazu Yamamoto
190dc2ac51 try to fix Travis CI. 2014-08-20 11:59:44 +09:00
Daniel Gröber
147dd90ee7 Remove dedicated exception handling in check completely
Exceptions are already caught at the top level so this is unnecessary.
2014-08-19 04:49:44 +02:00
Daniel Gröber
1b5917c70e Remove withErrorHandler, use liftExceptions instead 2014-08-19 04:30:44 +02:00
Daniel Gröber
271ff4e162 Catch cabal configure failure properly 2014-08-18 08:06:36 +02:00
Daniel Gröber
c1c7dcec20 Rename ghcOpts -> ghcUserOptions 2014-08-13 19:28:08 +02:00
Daniel Gröber
e0bbd91eba Remove GMECabal, GMEGhc constructors from GhcModError for now 2014-08-12 21:11:35 +02:00
Daniel Gröber
c0652c0321 Move GhcModError to Types.hs 2014-08-12 18:23:50 +02:00
Daniel Gröber
81c58585a2 Add functions for dealing with packages, modules and bindings to GHCApi 2014-07-11 10:43:51 +02:00
Daniel Gröber
9f94bc863c Add Module type 2014-07-11 05:44:31 +02:00
Daniel Gröber
ebfb740a2e Move convert to it's own module. 2014-05-14 17:06:30 +02:00
Kohei Suzuki
ef375668d1 Suppress empty line 2014-05-11 00:30:02 +09:00
Kazu Yamamoto
c45415a367 cleaning up check, splice flag and logger. 2014-04-26 17:54:15 +09:00
Kazu Yamamoto
0c1469e53c <package>:<module> style.
refactoring for #159.
2014-04-24 11:26:30 +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
Daniel Gröber
c9ca3a6d76 Clean up DynFlags initialization 2014-04-23 04:04:41 +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
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
e09b406ee8 ToString String and doctest. 2014-04-21 09:45:00 +09:00
Kazu Yamamoto
4389dea800 -l for check. 2014-04-18 17:28:12 +09: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
Kazu Yamamoto
abb9ecd8ac style. 2014-04-16 11:59:00 +09: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
3bfbbb8b5c supporting sandbox only (without cabal) to fix #164. 2014-03-30 17:28:57 +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
16e050439d removing fast/slow code. 2014-03-17 15:56:00 +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
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
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