Commit Graph

52 Commits

Author SHA1 Message Date
Daniel Gröber 254f6a9a73 Get rid of landmine 2016-01-04 06:05:40 +01:00
Daniel Gröber ec5a362179 Add AsyncSymbolDb to fix runGhcMod race condition for good 2016-01-04 05:27:31 +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 623cddd8ca Fix `find` being slow on legacy-interactive 2015-08-14 06:48:56 +02:00
Daniel Gröber 0b5de23ac9 Wrap dumpsym in stderr mangling readProc as well just in case 2015-08-14 03:51:50 +02:00
Daniel Gröber 8439f12cb0 Let Cabal determine the package-db stack 2015-08-07 07:31:08 +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 4a9d578681 Improve style 2015-06-02 10:43:29 +03:00
Sergey Vinokurov 57e2c112dc Use package dbs defined by current cradle when dealing with SymbolDBs 2015-06-02 10:43:27 +03:00
Daniel Gröber 01dde80385 Bring test suite up to date 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 844bdea3db Move `symbolCache` to PathsAndFiles 2015-02-08 12:43:35 +01:00
Daniel Gröber 2b4fd77c28 Add GHC-7.10 support 2015-02-08 12:43:35 +01:00
Daniel Gröber 37af8e368d Refactoring World, etc. and fix #387 2014-11-02 01:19:27 +01:00
Daniel Gröber 9ac128aa6f Fix #387, Pattern match failure in GhcPkg 2014-10-30 01:10:56 +01:00
Daniel Gröber ab7059d5e4 Merge remote-tracking branch 'upstream/no-set'
Conflicts:
	Language/Haskell/GhcMod/Find.hs
2014-10-03 21:39:20 +02:00
Kazu Yamamoto c4929c54af getConfig runs "cabal configure" first if setup-config is invalid. 2014-09-23 21:28:03 +09:00
Kazu Yamamoto d831d6aa59 moving PackageDb stuff to GhcPkg. 2014-09-23 13:47:32 +09:00
Kazu Yamamoto e8988c2f02 ghc-modi's "find" now catches up if packageDb is updated. 2014-09-20 12:25:46 +09: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 2875275fc0 hlint suggestions. 2014-08-14 11:11:02 +09:00
Kazu Yamamoto 02ce2d4a1d removing warnings. 2014-08-14 10:01:35 +09:00
Daniel Gröber 4b05c20205 Add missing signature 2014-08-13 19:28:08 +02:00
Daniel Gröber 2a1fd28771 docs for `ghcModExecutable` 2014-08-12 21:21:08 +02:00
Daniel Gröber 4def562179 Add version number to symbol table cache filename 2014-08-12 21:20:36 +02:00
Daniel Gröber 9e4f1c9057 add note 2014-08-06 19:38:42 +02:00
Daniel Gröber c98eb23bdf Clean up getSymbolTable a bit more 2014-08-06 19:38:42 +02:00
Daniel Gröber 459106a6d5 Clean up Find.hs a bit 2014-08-06 19:38:42 +02:00
Daniel Gröber ba9c70dff7 Fall back to assuming ghc-mid is on PATH when exeutable name is not available 2014-07-20 23:50:32 +02:00
Kazu Yamamoto 5abd75ea7d fixing a infinite process loop. 2014-07-19 11:50:12 +09:00
Kazu Yamamoto 0080f9b68c Internal exports extra Monad stuff. 2014-07-18 15:42:05 +09:00
Kazu Yamamoto e1d9c3b881 clean up lookupSymbol. 2014-07-18 15:13:30 +09:00
Daniel Gröber 3c04e78ba7 Don't rely on ghc-mod being in PATH 2014-07-17 16:17:17 +02:00
Daniel Gröber 3c1b560068 Short circuit export list when compiling spec 2014-07-17 16:15:02 +02:00
Daniel Gröber 4f0f5f09a6 Remove `type Db` it's only used once and makes things less clear 2014-07-17 15:54:59 +02:00
Kazu Yamamoto cffa7463eb adopting hlint's suggestions. 2014-07-17 17:16:44 +09:00
Kazu Yamamoto 05f45f1d36 adding error handling. 2014-07-17 14:40:35 +09:00
Kazu Yamamoto 74e84e89ac deleting GhcMod.Ghc. 2014-07-17 14:04:28 +09:00
Kazu Yamamoto 409bc99f10 error handling for loadSymbolDb. 2014-07-17 12:37:38 +09:00
Kazu Yamamoto cee1b83daa the first step to create SymbolDB via a file. 2014-07-17 11:57:19 +09:00
Daniel Gröber f0bfcb8811 Use GhcModT everywhere and remove the GhcMod alias
Not doing this makes having GhcModT pretty pointless as users of the
library wouldn't be able to use custom inner monads as evey function for
dealing with GhcModT's would be constraint to (GhcModT IO) thus only
allowing IO as the inner monad.
2014-07-15 01:03:56 +02:00
Daniel Gröber 8324dd96ae Don't expose `Convert` 2014-05-14 18:54:56 +02:00
Daniel Gröber 80e2761f2f Ghc->GhcMod: finish Browse, Check 2014-05-14 18:05:40 +02:00
Daniel Gröber ebfb740a2e Move `convert` to it's own module. 2014-05-14 17:06:30 +02:00
Kazu Yamamoto 14f5768c90 doc. 2014-04-30 10:51:34 +09:00
Kazu Yamamoto 000076223f removing the third argument from initializeFlagsWithCradle. 2014-04-28 13:00:25 +09:00
Kazu Yamamoto c45415a367 cleaning up check, splice flag and logger. 2014-04-26 17:54:15 +09:00
Kazu Yamamoto 13c5c2c5af doc. 2014-04-24 22:11:06 +09:00