Commit Graph

92 Commits

Author SHA1 Message Date
Daniel Gröber 6de02ea470 Cleanup loadTarget logic 2015-12-16 00:24:14 +01:00
Nikolay Yakimov cdaf586941 Haddock documentation 2015-12-07 19:57:33 +03:00
Nikolay Yakimov b2fb54a356 Fix tests, move option records to Types module 2015-12-06 00:56:19 +03:00
Nikolay Yakimov ad16b739eb Optparse-applicative 2015-12-05 23:55:12 +03:00
Daniel Gröber 81a2d29cdc Fix ghc-7.4 build 2015-11-26 15:30:26 +01:00
Daniel Gröber 4963b782d9 Don't fiddle with state in resolvedComps cacheAction
The general in-memory caching that was added to `cached` handles that
now making this fiddly workaround redundant.
2015-11-26 14:52:25 +01:00
Daniel Gröber 604f2c18b0 Fix upper bounds on binary for ghc<7.10 2015-11-26 14:52:25 +01:00
Daniel Gröber b923e2662d Switch to using binary instead of cereal. 2015-11-18 20:51:37 +01:00
Daniel Gröber 6b2246ebd6 Dead code be gone 2015-09-30 11:27:19 +02:00
Daniel Gröber 7e565df923 Fix stdoutGateway line buffering 2015-09-16 05:13:20 +02:00
Daniel Gröber 5af2c939b3 Cleanup some dead code 2015-09-15 05:25:54 +02:00
Daniel Gröber 5b02cc1bb0 Make sure stdoutGateway is flushed before exiting. 2015-09-14 10:12:01 +02:00
Daniel Gröber 56902bfe2d Don't mess with cwd, causes too many race conditions
I would just fork() but we have to support WinDOS, gah.
2015-09-14 10:12:01 +02:00
Daniel Gröber 211b957451 Fix race condition in stack support code 2015-09-11 03:52:28 +02:00
Daniel Gröber 41de8b8b2e Sandwich new Monad layer GmOutT into transformer stack
This way we can have access to some options pre Cradle setup which
should fix the output interleaving problems I was observing.
2015-09-01 10:32:27 +02:00
Daniel Gröber 899d583549 `error` -> throw $ GMEProcess 2015-09-01 10:27:41 +02:00
Daniel Gröber 0b65487e50 Stderr output pre-GhcModT for stack cradle 2015-08-31 07:49:06 +02:00
Daniel Gröber 2a0414f368 Pass stack ghc paths down to cabal-helper 2015-08-31 04:17:33 +02:00
scturtle a285b42206 Refactor the hard-coding "dist" 2015-08-19 09:17:30 +02:00
scturtle 320b404a8c Yet another try to support Stack. 2015-08-19 09:17:11 +02:00
Nikolay Yakimov a5dae2a82d Drop memory-mapped files, since ghc doesn't play well with those
All files are now "redirected", either user-created, or created by ghc-mod itself.
2015-08-16 23:20:00 +03:00
Nikolay Yakimov 3790fca20b Initial support for file redirection
Rewrite, taking discussion into consideration
2015-08-15 20:41:10 +03:00
Daniel Gröber 09c3c5603c Fix missing newlines 2015-08-13 09:01:58 +02:00
Daniel Gröber 2806f702d9 Start implementing line-prefix stuff
readProcess wrapper still missing from CabalHelper
2015-08-13 06:47:12 +02:00
Daniel Gröber 28f06e035d Cleanup project type handling 2015-08-12 09:25:13 +02:00
Daniel Gröber 11243e5304 Add in-memory caching otherwise everything is slow 2015-08-11 07:38:25 +02:00
Daniel Gröber 8439f12cb0 Let Cabal determine the package-db stack 2015-08-07 07:31:08 +02:00
Daniel Gröber c9b6e95a30 Add Vomit log level and dumping to disk 2015-08-03 08:09:24 +02:00
Daniel Gröber f023d939e2 Fix GHC 7.10 warnings 2015-08-03 05:46:51 +02:00
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