Commit Graph

657 Commits

Author SHA1 Message Date
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
2af1da960b Also catch exceptions thrown in IO 2015-09-01 10:29:21 +02:00
Daniel Gröber
899d583549 error -> throw $ GMEProcess 2015-09-01 10:27:41 +02:00
Daniel Gröber
4aa75818d8 Fix tests 2015-08-31 08:32:31 +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
Daniel Gröber
85722ab6f2 Cleanup 2015-08-24 15:11:05 +02:00
Daniel Gröber
c5db06af0f Fix missing liftIO 2015-08-21 04:21:27 +02:00
Daniel Gröber
473f1e09c7 Rename withContext -> withInteractiveContext 2015-08-21 04:12:53 +02:00
Daniel Gröber
eceb34c8af Merge branch 'master' of github.com:kazu-yamamoto/ghc-mod 2015-08-21 04:12:29 +02:00
Daniel Gröber
19e62b0a6a Inhibit stack support when dist/setup-config exists 2015-08-20 08:43:36 +02:00
Kazu Yamamoto
797aef2a09 Merge remote-tracking branch 'origin/fix-loop' 2015-08-20 09:49:06 +09:00
Daniel Gröber
b25dbc2416 Merge branch 'stack-support' 2015-08-20 02:14:55 +02:00
Daniel Gröber
91f0c50b20 Merge branch 'file-redirection-2' of https://github.com/atom-haskell/ghc-mod 2015-08-20 02:10:05 +02:00
Daniel Gröber
23a48aa6c7 Use cabal-helper for stack 2015-08-19 09:18:10 +02:00
Daniel Gröber
18a8c67d39 Take sandbox cfg into account for caches 2015-08-19 09:18:10 +02:00
Daniel Gröber
78bdf86a95 Fix all the stack related things 2015-08-19 09:17:41 +02:00
scturtle
d660e7cd85 add 'StackProject' around 2015-08-19 09:17:30 +02:00
scturtle
a285b42206 Refactor the hard-coding "dist" 2015-08-19 09:17:30 +02:00
scturtle
89c3faea05 Initilize test for stack project 2015-08-19 09:17:11 +02:00
scturtle
320b404a8c Yet another try to support Stack. 2015-08-19 09:17:11 +02:00
Daniel Gröber
e360f7eb44 Fix older GHCs 2015-08-19 09:05:57 +02:00
Kazu Yamamoto
b7cea06a52 Flushing stdout to solve infinite loop (#542). 2015-08-19 15:02:00 +09:00
Alan Zimmerman
e198f68f2a Rearrange loadTargets code.
The loadTargets function is exposed via the Internal module for use by
external programmes, such as HaRe.

Re-arrange to code so that it can still be called with a list of string
targets, as it was before.
2015-08-19 03:34:01 +02:00
Daniel Gröber
bb3a948912 Fix over-qualified error messages (Fix #551) 2015-08-18 09:26:53 +02:00
Daniel Gröber
90b1e452e2 Some pretty printing "improvements" (hopefully) 2015-08-18 04:54:10 +02:00
Daniel Gröber
f7149ba23f Cleanup 2015-08-18 04:50:51 +02:00
Daniel Gröber
dd82cea996 Demote no-component-assignment warning to debug, Fix #552 2015-08-18 04:34:39 +02:00
Daniel Gröber
a383f46939 Fix nasty module graph caching issue
resolvedComponentsCache did not consider outgoing edges in the module
graph when computing the set of dependent files

i.e. for `A -> B, A -> C` `flatten` would give [B,C] instead of [A,B,C]
2015-08-18 04:27:02 +02:00
Anthony Cowley
78c5cea161 DeferErrors implies DeferTypedHoles in GHC >= 7.10
The Opt_DeferErrors flag should imply Opt_DeferTypedHoles. The proper
API for setting these flags that implements such implications is
unfortunately not exposed by GHC.
2015-08-17 15:14:44 -04:00
Alejandro Serrano
45f8194c0c Set -fdefer-types-holes in case split 2015-08-17 14:54:10 -04:00
Nikolay Yakimov
3dea19b270 Fix getCanonicalFileNameSafe to work on all relevant ghc versions 2015-08-17 10:39:49 +03:00
Nikolay Yakimov
0d78ee4096 getCanonicalFileNameSafe is now best-effort canonicalizatoin
Canonicalizes longest init of path possible, and appends rest verbatim
2015-08-17 08:43:34 +03:00
Daniel Gröber
1f14ff08c6 Log exceptions as GmException 2015-08-17 06:52:56 +02:00
Nikolay Yakimov
ab19da08db Removed redundant imports 2015-08-16 23:42:20 +03:00
Nikolay Yakimov
8ef8a86397 Unload mapped files before loading 2015-08-16 23:38:32 +03: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
654b172f5e Add FileMapping support to HMG/preprocessFile
Post-rebase update
2015-08-16 18:22:27 +03:00
Nikolay Yakimov
d276b9bb7f Remove redundant imports 2015-08-15 21:26:33 +03:00
Nikolay Yakimov
c96abfc422 Drop loadMappedFiles and move all loading code to progMain 2015-08-15 21:18:57 +03:00
Nikolay Yakimov
a9b98e7128 [File-map] Export more user-friendly functions in public API 2015-08-15 21:08:24 +03:00
Nikolay Yakimov
72c43a9210 Rename GmPprEnv fields rs* → gpe* 2015-08-15 21:07:36 +03:00
Nikolay Yakimov
e7329a9d24 Replace redirected filenames in info. 2015-08-15 21:07:36 +03:00
Nikolay Yakimov
8f931eb928 Fix problem with fileModSummary 2015-08-15 21:07:35 +03:00
Nikolay Yakimov
c5f71933f6 Canonicalize FilePath before lookup in withMappedFile 2015-08-15 21:06:57 +03:00
Nikolay Yakimov
438b15463e Move getCanonicalFileName(Safe) to Utils module 2015-08-15 21:06:57 +03:00
Nikolay Yakimov
267edfebe3 Try best-guess tactic if file to be redirected doesn't exist 2015-08-15 21:06:57 +03:00
Nikolay Yakimov
a0cf585939 Bugfix: canonicalize filename before trying to unload 2015-08-15 21:06:57 +03:00
Nikolay Yakimov
31020c4112 Move withMappedFile to Language.Haskell.GhcMod.Utils 2015-08-15 21:06:57 +03:00
Nikolay Yakimov
d405ce7efa Make linting work with mapped files 2015-08-15 21:06:57 +03:00
Nikolay Yakimov
5b0cca0353 Added withMappedFile utility function
Works pretty much as `withTempFile`, except looks
mapping up and uses temp. file only when necessary.
2015-08-15 21:06:57 +03:00
Nikolay Yakimov
d3b1bf125b Move reading source from stdin to frontend 2015-08-15 21:06:25 +03:00
Nikolay Yakimov
67102c92b8 Use cradleTempDir instead of getTemporaryDirectory in HMG 2015-08-15 21:02:42 +03:00
Nikolay Yakimov
de5ff87f19 Don't use infix call for type ctor 2015-08-15 20:58:45 +03:00
Nikolay Yakimov
1efacbef88 Use less generic name for reader monad/state in Logger 2015-08-15 20:58:45 +03:00
Nikolay Yakimov
2504f643e9 Replace mapped names with original ones in output 2015-08-15 20:58:45 +03:00
Nikolay Yakimov
f8a0325617 Load all mapped targets 2015-08-15 20:41:10 +03:00
Nikolay Yakimov
e70988e15f Use MaybeT instead of maybe (return Nothing) 2015-08-15 20:41:10 +03:00
Nikolay Yakimov
e72d72eb86 Workaround for GHC 7.4 bugs 2015-08-15 20:41:10 +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
585a9ef425 Fix doc in non-cabal projects
..man those non-cabal projects are really getting me down. Who uses
those anwayways ;)
2015-08-14 10:30:42 +02:00
Daniel Gröber
623cddd8ca Fix find being slow on legacy-interactive 2015-08-14 06:48:56 +02:00
Daniel Gröber
887ab3c599 Don't try to create dist/ in non cabal projects, duh 2015-08-14 06:32:20 +02:00
Daniel Gröber
55bf578b87 Put line-prefix'es on exceptions too 2015-08-14 05:57:33 +02:00
Daniel Gröber
f998c63c73 Fix prepareCabalHelper when dist/ doesn't exist yet 2015-08-14 04:28:22 +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
cbfa26eb16 Make sure cabal-helper is ready before invoking dumpsym 2015-08-14 03:48:29 +02:00
Daniel Gröber
312a8c81fb Merge branch 'HaRe' of https://github.com/alanz/ghc-mod 2015-08-13 10:17:14 +02:00
Alan Zimmerman
eafde94913 Expose functions for integration with HaRe 2015-08-13 09:49:51 +02: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
443650705c Fix #532, Use first component in cabal file for dangling modules in cabal projects 2015-08-12 10:44:41 +02:00
Daniel Gröber
28f06e035d Cleanup project type handling 2015-08-12 09:25:13 +02:00
Daniel Gröber
a94d8977a9 Fix ghc-modi not working in non-cabal projects 2015-08-12 09:04:35 +02:00
Daniel Gröber
9b286cc4e1 Fix cabal-helper >= 0.5 2015-08-12 09:04:09 +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
05360e0660 Fix typo 2015-08-11 06:35:07 +02:00
Daniel Gröber
bad431a758 Bump cabal-helper depdendency 2015-08-10 09:07:41 +02:00
Daniel Gröber
bb22b643e9 Add version header to caches 2015-08-10 06:44:34 +02:00
Daniel Gröber
0abe1d6a53 Fix warning 2015-08-07 07:33:04 +02:00
Daniel Gröber
5fdaa6adea Merge branch 'master' of https://github.com/meditans/ghc-mod 2015-08-07 07:32:26 +02:00
Daniel Gröber
8439f12cb0 Let Cabal determine the package-db stack 2015-08-07 07:31:08 +02:00
meditans
31d85a27b4 Added logging in refine and auto handlers 2015-08-06 11:49:01 +02:00
Daniel Gröber
f61dd0a9e6 Fix re-init of ghc-modi session after environment change
Using `dropSession` instead of a weird exception cludge
2015-08-05 08:52:52 +02:00
Daniel Gröber
6e28e07ca9 Fix #507 2015-08-05 08:01:25 +02:00
Daniel Gröber
d270e92951 Clean up L.H.GM.Target debug/vomit output a bit 2015-08-05 06:16:05 +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
614522644b Fix imports for ghc < 7.10 2015-08-03 07:51:23 +02:00
Daniel Gröber
6ef389a757 Merge branch 'Fix502' of https://github.com/acowley/ghc-mod 2015-08-03 05:48:15 +02:00
Daniel Gröber
84c0670fc4 docs 2015-08-03 05:47:16 +02:00
Daniel Gröber
75d4a2a9d6 Some debug logging for cabal configure etc. 2015-08-03 05:47:16 +02:00
Daniel Gröber
f023d939e2 Fix GHC 7.10 warnings 2015-08-03 05:46:51 +02:00
Daniel Gröber
160cec86bb Comment 2015-08-03 05:46:51 +02:00
Daniel Gröber
42e72b3816 Fix fileModuleName not working on CPP modules given by path 2015-08-03 05:46:51 +02:00
Anthony Cowley
e06e4d25df More sensitive to cache invalidation.
This addresses a problem where changes to a .cabal file were not
invalidating the cache files.
2015-07-08 18:15:05 -04:00
Daniel Gröber
bfa0b965ee Fix impredicativity related issue
See: https://ghc.haskell.org/trac/ghc/ticket/10443
2015-06-10 11:00:56 +02:00
Daniel Gröber
21087650d9 Fix travis 2015-06-07 03:36:50 +02:00
Daniel Gröber
acfc575e13 Make unknown component fallback message more clear 2015-06-07 02:45:50 +02:00
Daniel Gröber
bed42f10fe Refactor L.H.G.Caching 2015-06-07 02:44:11 +02:00
Daniel Gröber
baf557d5bf Comment 2015-06-07 01:53:41 +02:00