Commit Graph

63 Commits

Author SHA1 Message Date
Sergey Vinokurov 7b6eb55b11 Transform ModuleString and Expression type synonyms into newtypes 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 6a65701397 Remove unused Module type 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 4a9d578681 Improve style 2015-06-02 10:43:29 +03:00
Daniel Gröber e202fabc39 elisp: Fix usage of legacy-interactive 2015-05-06 23:13:24 +02:00
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