Commit Graph

634 Commits

Author SHA1 Message Date
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
Daniel Gröber
49515b3eb8 Fix #487, Modules from sandbox not visible 2015-06-05 22:45:52 +02:00
Daniel Gröber
6dd1195b7f Merge remote-tracking branch 'sergv/master' 2015-06-02 12:30:15 +02:00
Daniel Gröber
14c097530e Fix stray tempdir 2015-06-02 12:27:11 +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
Sergey Vinokurov
a23f1f3b75 Improve findVar function 2015-06-02 10:43:29 +03:00
Sergey Vinokurov
73b98573f4 Remove unused extractParens function and its tests 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
a2e4a5d683 Revert "use standard findFile instead of hand-rolled one"
This reverts commit b055098127.
2015-05-20 12:05:22 +02:00
Daniel Gröber
a2abad53ac Merge remote-tracking branch 'prezi/master'
Conflicts:
	Language/Haskell/GhcMod/CabalHelper.hs
2015-05-20 11:37:17 +02:00
Sergey Vinokurov
84134e1fee replace redundant liftM7 function with applicatives 2015-05-19 21:00:54 +03:00
Daniel Vigovszky
5f41e8828a Revert "Not passing package db flags in default case"
This reverts commit 76e5af817a.
2015-05-19 19:50:36 +02:00
Daniel Vigovszky
76e5af817a Not passing package db flags in default case 2015-05-19 15:25:22 +02:00
Daniel Vigovszky
0bb1671238 Code cleanup 2015-05-19 14:08:18 +02:00
Sergey Vinokurov
f7717ee1ee fix typo 2015-05-17 23:25:49 +03:00
Sergey Vinokurov
b055098127 use standard findFile instead of hand-rolled one 2015-05-17 23:25:49 +03:00
Daniel Gröber
e6fc3dd8d2 Fix tests 2015-05-08 00:06:08 +02:00
Daniel Gröber
e202fabc39 elisp: Fix usage of legacy-interactive 2015-05-06 23:13:24 +02:00
Daniel Gröber
0f1e653f7f Change some logging stuff 2015-05-06 16:13:08 +02:00
Daniel Gröber
d11b12676e Fix pretty printing of logging output 2015-05-05 16:09:54 +02:00
Daniel Gröber
c45a7f4b52 Fix caching for getGhcPkgOptions 2015-05-05 14:47:23 +02:00
Daniel Gröber
8b8f947b5e Reinitialize GHC session when options change 2015-04-29 18:44:21 +02:00