Commit Graph

768 Commits

Author SHA1 Message Date
Alan Zimmerman
b1d123c4b6 Fix tests, export parser spec 2016-02-08 23:02:31 +02:00
Alan Zimmerman
1cc97db24f Move the CLI parser definitions into the lib
So they can be used by library clients to parse and pass in the
appropriate ghc-mod Options.
2016-02-08 22:34:20 +02:00
Jude Taylor
ed867fea3e remove double location in error message 2016-02-06 10:02:01 -08:00
Jude Taylor
8ef0f52199 GHC 8 readiness 2016-02-04 10:54:55 -08:00
Nikolay Yakimov
2f1e586fea Remove worldSymbolCache from World 2016-01-27 02:09:26 +03:00
Nikolay Yakimov
1559a91a84 Cache non-interactive find results in distdir 2016-01-27 02:09:17 +03:00
Nikolay Yakimov
9b88b71f4d Fix sig command
Fixes #704
2016-01-26 23:54:17 +03:00
Nikolay Yakimov
bca7748264 [Type-constraints] Do not duplicate constraints 2016-01-20 03:12:21 +03:00
Nikolay Yakimov
8449d36eca [Type-constraints] Generalize some code, cleanup 2016-01-20 02:23:51 +03:00
Nikolay Yakimov
0c5da02d52 [Type-constraints] Add an option to toggle this 2016-01-20 01:29:33 +03:00
Nikolay Yakimov
aedc6b6b31 [Type-constraints] everythingStagedWithContext
This is required for GHC<7.10 due to a panic
2016-01-20 01:00:13 +03:00
Nikolay Yakimov
4e4eff7bdb [Type-constraints] Remove tidyTopType
It didn't do much anyway
2016-01-20 00:10:18 +03:00
Nikolay Yakimov
fde7bafe56 [Type-constraints] Fix type variable substitution 2016-01-20 00:02:23 +03:00
Nikolay Yakimov
39659b2917 [Type-constraints] Removed unnecessary definitions 2016-01-19 22:53:07 +03:00
Nikolay Yakimov
960a49c1ed [Type-constraints] Marginally better version
* Instead of listify, it walks the tree instead, so that constraints are only visible in relevant context.
* Uses Map instead of [(,)]
* Performs type substitutions in case of one child identifier found (relevant for constructor bindings)
2016-01-19 22:50:14 +03:00
Nikolay Yakimov
549d3e1006 [Type-constraints] Compounds type substitution 2016-01-18 09:02:28 +03:00
Nikolay Yakimov
966c694dbf [Type-constraints] Initial attempt at compounds
I try to compute constraints for "compound" types.
While constraint-building itself is simple, types
do not match due to different representation
between 'internal' and 'exported' signatures.
2016-01-18 07:09:14 +03:00
Nikolay Yakimov
88f61724d4 [Type-constraints] Proof-of-concept 2016-01-18 07:09:14 +03:00
Daniel Gröber
566dbebe29 Merge release-5.5.0.0 into master (using imerge) 2016-01-17 21:03:28 +01:00
Daniel Gröber
17c4f91812 add TODO for HMG 2016-01-17 20:19:08 +01:00
Daniel Gröber
d29c882cd6 Fix warning with 7.10 2016-01-17 20:19:08 +01:00
Daniel Gröber
54fe4a0edb Replace fromJust with fromJustNote everywhere 2016-01-13 04:56:39 +01:00
jpmoresmau
0974eec9a5 docs 2016-01-13 04:55:08 +01:00
Nikolay Yakimov
5425a09666 [#722] Get encoding from hlint options 2016-01-12 22:22:13 +03:00
Nikolay Yakimov
0a0cd8041e Set file encoding to uft8 in Lint
Fixes #722
2016-01-12 21:33:20 +03:00
Daniel Gröber
33e9751390 Fix writeAutogen when no systemwide ghc is installed (#660) 2016-01-10 22:19:33 +01:00
Daniel Gröber
363aa10fcd Fix GHC<7.10 2016-01-10 00:25:02 +01:00
Daniel Gröber
3bba2d1be9 Fix warning 2016-01-09 23:39:42 +01:00
Daniel Gröber
49b5c4bb2d Fix severity prefix doubling (#689) 2016-01-09 23:22:27 +01:00
Daniel Gröber
bb3333efe3 Cleanup logging in Cradle 2016-01-09 23:21:59 +01:00
Daniel Gröber
bae40cb614 Better field names for SymbolDb 2016-01-09 22:23:20 +01:00
Daniel Gröber
8b5bd1ae2b Merge branch 'btr-find' of https://github.com/atom-haskell/ghc-mod into release-5.5.0.0 2016-01-09 22:17:49 +01:00
Nikolay Yakimov
4ff819906d NFData ByteString instance for GHC-7.4 2016-01-09 18:51:57 +03:00
Nikolay Yakimov
68689bfcfd Use Binary for 'find' communication channel 2016-01-09 17:27:21 +03:00
Daniel Gröber
16b63cf22c Merge branch 'new-hlint' of https://github.com/atom-haskell/ghc-mod 2016-01-08 18:20:59 +01:00
Nikolay Yakimov
9b512c3e6b Gracefully fail if stack couldn't be initialized 2016-01-08 19:17:43 +03:00
Nikolay Yakimov
3700fa00e6 Fix dist/setup-config path in stack cradle init. 2016-01-08 19:17:43 +03:00
Daniel Gröber
89b1ac2d1e Optimize dumpsym maximum memory usage
This took ages to track down. Turns out GHC keeps references to all
loaded ModIfaces in the PackageInterfaceTable in ExternalPackageState
for caching. ExternalPackageState is in an IORef in HscEnv so
overwriting that with a copy from right after init improves things a
bit. Next I use unsafeInterleaveIO to load the ModIfaces as we serialize
the symbol table rather than before thus reducing the amount of memory
needed even more.
2016-01-08 16:58:40 +01:00
Nikolay Yakimov
da1c1bebb2 Use stdout pipe instead of temp.files in Find 2016-01-05 13:44:17 +03:00
Nikolay Yakimov
dfa0e7e31e Use new hlint API 2016-01-05 11:34:38 +03:00
Daniel Gröber
73863e0b00 Remove GMEWrongWorkingDirectory constructor 2016-01-04 21:44:49 +01:00
Daniel Gröber
7bbaa35f56 Reinstate cwd setup, this time with locking 2016-01-04 20:15:55 +01:00
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
d2f7df21df Fix instances for GHC<7.8 2016-01-04 01:23:46 +01:00
Daniel Gröber
67c9538f30 Fix 7.6 warning 2016-01-04 01:23:46 +01:00
Daniel Gröber
699ce178cb Split L.H.GM.Monad.Types module 2016-01-04 01:23:46 +01:00
Daniel Gröber
13632817a4 Make tempdirs less annoying 2015-12-30 14:24:56 +01:00
Daniel Gröber
cee8a29a54 Don't need type errors here 2015-12-28 13:59:59 +01:00
Daniel Gröber
28a0d26fe3 Fix GHC<7.10 2015-12-28 13:57:24 +01:00
Daniel Gröber
7374f1ba17 Add 'test' command for running QuickCheck props 2015-12-28 13:57:24 +01:00
Nikolay Yakimov
23416e9aeb Better error reporting, cleanup 2015-12-20 15:02:31 +03:00
Nikolay Yakimov
1c45404f74 Merge remote-tracking branch 'upstream/master' into interactive-shell-syntax 2015-12-20 13:55:22 +03:00
Nikolay Yakimov
63f05508b8 FileMapping library docs 2015-12-20 13:45:51 +03:00
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
Nicolas Rolland
bff86be69f some refactoring 2015-11-27 11:15:25 +01:00
Nicolas Rolland
e1d2de96c8 fixing tests for logging 2015-11-27 11:15:25 +01:00
Nicolas Rolland
1a8020774e adding Get logging level 2015-11-27 11:15:25 +01:00
Nicolas Rolland
d0ea69b61b handling logging level 2015-11-27 11:15:25 +01:00
Nicolas Rolland
06323ac20f adding logging to findCradle methods 2015-11-27 11:15:25 +01:00
Daniel Gröber
16c69b2743 Disable stack support for ghc <7.8 2015-11-26 19:21:15 +01:00
Daniel Gröber
1c0c97bdbb Typo 2015-11-26 16:31:53 +01:00
Daniel Gröber
0d97646694 Remove some redundant calls to withCabal
`chCached` already handles that
2015-11-26 16:19:50 +01:00
Daniel Gröber
412cee9abf Log exceptions in browse 2015-11-26 16:19:11 +01:00
Daniel Gröber
81a2d29cdc Fix ghc-7.4 build 2015-11-26 15:30:26 +01:00
Daniel Gröber
6f0b8b00d1 Add some missing copyright boilerplate 2015-11-26 15:03:14 +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
a12a7fabc0 Invalidate components cache when setup-config changed (Fix #684) 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
8568a6785c Check for in-memory cache invalidation (Fix #683) 2015-11-18 21:41:19 +01:00
Daniel Gröber
82f33cdbd7 Add modtime to on-disk and memory cache 2015-11-18 20:58:29 +01:00
Daniel Gröber
0c3587f388 Typo 2015-11-18 20:54:12 +01:00
Daniel Gröber
b923e2662d Switch to using binary instead of cereal. 2015-11-18 20:51:37 +01:00
Daniel Gröber
ca2992d83c Remove redundant constraint from runGhcModT 2015-10-29 18:52:51 +01:00
Daniel Gröber
6b2246ebd6 Dead code be gone 2015-09-30 11:27:19 +02:00
Daniel Gröber
19b3de3569 Preserve cabal flags when reconfiguring project 2015-09-24 05:27:20 +02:00
Daniel Gröber
2549bba7b8 Fix yesterday's fix
we were invoking cabal-helper too early
2015-09-24 04:49:49 +02:00
Nikolay Yakimov
0d42b66fc3 Fix logging for file mapping when temp dir is proj. root subdir 2015-09-24 03:20:07 +02:00
Daniel Gröber
df455a3618 Fix missing autogen files when dist/setup-config already exists (Issue #621) 2015-09-23 12:02:03 +02:00
Daniel Gröber
0fde762500 Fix ghc<7.10 2015-09-16 05:40:53 +02:00
Daniel Gröber
46891f13ee Fix #603, stack path output can have missing values 2015-09-16 05:18:53 +02:00
Daniel Gröber
24050e5af3 Fix warnings 2015-09-16 05:18:44 +02:00
Daniel Gröber
380acdaee0 Only use debugLogger when loglevel >= GmDebug 2015-09-16 05:13:20 +02:00
Daniel Gröber
413bac085d Fix sharing stdout Chan with multiple threads 2015-09-16 05:13:20 +02:00
Daniel Gröber
7e565df923 Fix stdoutGateway line buffering 2015-09-16 05:13:20 +02:00
Daniel Gröber
2c0d5af5e9 Fix warnings 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
0b2a3458fd Move stack code into seperate module 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
55f278853a Fix tests more 2015-09-14 07:11:45 +02:00
Daniel Gröber
ba14e1790c Fix tests 2015-09-14 05:59:38 +02:00
Daniel Gröber
4536ac545d Make sure stdoutGateway is running during findCradle' 2015-09-14 05:40:32 +02:00
Daniel Gröber
64379a7c56 Actually update world in legacyInteractiveLoop 2015-09-11 09:53:24 +02:00
Daniel Gröber
ce1d9d1da1 Fix ghc<7.10 2015-09-11 05:45:59 +02:00
Daniel Gröber
acf78f2500 Remove stray debug code 2015-09-11 03:57:54 +02:00
Daniel Gröber
211b957451 Fix race condition in stack support code 2015-09-11 03:52:28 +02:00