Daniel Gröber
01dde80385
Bring test suite up to date
2015-03-05 17:35:28 +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
7438539ca5
Change primary license to AGPL-3
2015-03-03 21:09:18 +01:00
Daniel Gröber
52e3233f44
Introducing cabal-helper-wrapper
...
The idea here is to build cabal-helper with whatever version of Cabal
the user happens to be using (which we find by looking at
dist/setup-config) at runtime.
This way we can support literally any version of Cabal as long as the
actual cabal-helper still compiles.
I tried to only use interfaces in Cabal that have been there since at
least 1.16 so I'm hoping this shouldn't break too much.
2015-03-03 21:06:58 +01:00
Daniel Gröber
ef96b926c7
Use cabal-helper to support Cabal >= 1.22 with any version of ghc
2015-02-08 12:43:35 +01:00
Daniel Gröber
405b814726
Add cabal-helper for decoding Cabal-1.22 setup-configs
...
.. without having to worry about Cabal version conflicts
2015-02-08 12:43:35 +01:00
Daniel Gröber
471a3ec358
Fix ghc-7.4
2015-02-08 12:43:35 +01:00
Daniel Gröber
11562b4fe7
Cleanup cabal file using extentions
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
Rob Everest
56cc237e26
Support where clauses, let bindings and case expressions in case splitting ( fixes #395 )
2014-11-03 00:15:12 +01:00
Daniel Gröber
37af8e368d
Refactoring World, etc. and fix #387
2014-11-02 01:19:27 +01:00
Daniel Gröber
f55c264d67
Set version to "0" in master
2014-10-31 12:45:16 +01:00
Daniel Gröber
ff75811a76
Start migrating ghc-modi code to src/GHCMod.hs
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
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
7db266c22d
adding World.hs.
2014-09-23 17:34:09 +09:00
Kazu Yamamoto
9974bcbf79
trying to fix travis ci.
2014-09-23 16:00:22 +09:00
Kazu Yamamoto
e3e95adeb6
generating "autogen/" if not exist ( #326 ).
2014-09-22 22:38:15 +09:00
Kazu Yamamoto
7382e1bf1d
Misc module for ghc-modi.
2014-09-22 21:32:57 +09:00
Kazu Yamamoto
6f814a4378
restart a GhcMod session if the cabal file is changed.
2014-09-22 14:13:07 +09:00
Daniel Gröber
5a4bec8755
Rewrite ghc-mod
command line frontend.
2014-09-18 10:45:14 +02:00
Daniel Gröber
ab0347efaa
monad-journal-0.4 fixes mtl dependency trouble
2014-09-16 22:37:04 +02:00
Daniel Gröber
8ca6f7d18b
Temporarily restrict monad-journal version
2014-09-12 21:16:53 +02:00
Daniel Gröber
e7073e79f5
Add PatternSynonyms test data to Extra-Source-Files
2014-09-12 21:16:43 +02:00
Daniel Gröber
690a64f5b5
Merge branch 'master' of https://github.com/robeverest/ghc-mod
...
Conflicts:
Language/Haskell/GhcMod/CabalConfig.hs
2014-09-12 05:21:12 +02:00
Rob Everest
2c2e7782d2
Use the cabal configuration flags where possible when finalizing the PackageDescription.
2014-09-12 13:15:05 +10:00
Cary M. Robbins
8b01af6cde
Handle LocalBuildInfo for Cabal 1.21; squash commits; fixes #343 .
2014-09-12 04:50:29 +02:00
Daniel Gröber
b9890a90ed
ChangeLog
2014-09-12 04:01:58 +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
Daniel Gröber
a7f00931c5
Rename List.hs -> Modules.hs
2014-08-28 11:41:03 +02:00
Daniel Gröber
7277d4d6c3
Bump version to 5.0.1.1
2014-08-24 14:49:30 +02:00
Daniel Gröber
7a6e37c57a
Fix building with ghc 7.4
2014-08-24 14:41:30 +02:00
Daniel Gröber
5b32667060
typo
2014-08-21 00:32:46 +02:00
Daniel Gröber
252341ea41
Fix cabal.sandbox.config.in path in Extra-Source-Files
2014-08-21 00:27:32 +02:00
Kazu Yamamoto
23a8837632
adding missing elisp file.
2014-08-20 16:56:55 +09:00
Kazu Yamamoto
1e1505c535
removing warnings from spec.
2014-08-20 12:14:27 +09:00
Alejandro Serrano
77051545a4
Adde myself to Authors in cabal file
2014-08-19 18:35:10 +02:00
Daniel Gröber
e696a66dfa
Add myself to Author
in ghc-mod.cabal
2014-08-19 05:24:28 +02:00
Daniel Gröber
271ff4e162
Catch cabal configure
failure properly
2014-08-18 08:06:36 +02:00
Kazu Yamamoto
625d4661e7
fix #295 .
2014-08-13 15:21:13 +09:00
Daniel Gröber
7388b50474
Add a test making sure pattern match failures on GhcModT work the way I expect
2014-08-06 20:42:34 +02:00
Daniel Gröber
b978e1fd01
monad-journal fixes are upstream now
2014-08-06 19:43:52 +02:00
Daniel Gröber
f311efd90c
Rework GhcModT monad stack
2014-08-06 19:38:42 +02:00
Alejandro Serrano
7beea26082
Bump djinn-ghc version
2014-08-03 19:34:47 +02:00
Alejandro Serrano
9cc6476df1
Add better support for auto, with several options searched
2014-08-03 19:14:42 +02:00
Alejandro Serrano
9161757f95
First attempt to add auto
2014-08-01 17:08:23 +02:00
Kazu Yamamoto
07e461ff82
cleaning up conditions.
2014-07-25 13:34:20 +09:00
Kazu Yamamoto
26316262aa
converting GhcMonad to IOish.
2014-07-18 14:54:39 +09:00
Daniel Gröber
0e17e8e15a
Add a CPP macro when compiling modules for the test suite
2014-07-17 16:14:35 +02:00
Kazu Yamamoto
cf0df26560
Monad.hs is now exported by GhcMod.hs.
2014-07-17 14:30:42 +09:00
Kazu Yamamoto
74e84e89ac
deleting GhcMod.Ghc.
2014-07-17 14:04:28 +09:00
Kazu Yamamoto
cee1b83daa
the first step to create SymbolDB via a file.
2014-07-17 11:57:19 +09:00
Kazu Yamamoto
fdfa70e27a
removing -threaded
2014-07-15 11:51:52 +09:00
Kazu Yamamoto
89a4db2345
Merge pull request #288 from DanielG/dev-pkgs
...
Make `GhcMod` be `GhcModT (ErrorT IO)`
2014-07-15 11:49:10 +09:00
Daniel Gröber
68212d46a1
Fix cabal file
2014-07-15 01:53:06 +02: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
Kazu Yamamoto
d98cedc9c0
Merge pull request #287 from DanielG/dev-untangle
...
Untangle Monad.hs and GHCApi.hs and some other changes
2014-07-12 14:27:43 +09:00
Daniel Gröber
503e8cbe06
Move DynFlag related functions from GHCApi to another module
2014-07-12 02:57:19 +02:00
Kazu Yamamoto
53394d3075
ver bumps up.
...
Major version is now 5 because of a lot of API changes.
2014-07-11 14:09:10 +09:00
Daniel Gröber
4b6a687bc1
Migrate the remaining parts of the exposed API to GhcMod a
2014-07-11 03:13:38 +02:00
Daniel Gröber
d696214816
We really don't want mtl < 2.0 (different API)
2014-07-10 20:56:57 +02:00
Kazu Yamamoto
2091eb6027
Revert "workaround for #277 "
...
This reverts commit ef2087b379
.
2014-07-03 22:39:49 +09:00
Kazu Yamamoto
ef2087b379
workaround for #277
2014-07-03 22:10:15 +09:00
Alejandro Serrano
c06ee75fbb
Fix building errors on ghc < 7.8 and tests
2014-06-28 23:18:49 +02:00
Alejandro Serrano
2ab6991d95
Move code to new FillSig module
...
- Clean up a lot of code
2014-06-27 18:38:15 +02:00
Alejandro Serrano
40cd5b7deb
Haskell part of case splitting working!
2014-06-25 18:09:24 +02:00
Alejandro Serrano
5fa536714f
Initial code generation working
...
- Added fallback with haskell-src-exts
2014-06-22 18:03:34 +02:00
Alejandro Serrano
a45fb4c6f5
Move case split and sig. generation to own files
...
- Created SrcUtils module for shared functionality
2014-06-21 11:38:44 +02:00
Daniel Gröber
2b4f780296
Add TestUtils
to other-modules
2014-05-14 20:56:14 +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
Daniel Gröber
96a85fe953
Copy readMaybe/readEither from base >= 4.7 for backwards compatibility
2014-05-10 13:43:46 +02:00
Daniel Gröber
b8f9498f83
Fix reading of older Cabal setup-config
s
2014-05-09 20:35:13 +02:00
Kazu Yamamoto
8f091b4f70
fixing fails in travis.
2014-05-08 16:38:17 +09:00
Daniel Gröber
3b5b9f8fcf
Expose Language.Haskell.GhcMod.Monad
2014-05-04 04:57:38 +02:00
Daniel Gröber
c50b4f5a38
ghc-mod deserves it's own monad
...
Having to call `findCradle` and `initializeFlagsWithCradle` everywhere
we interact with ghc-mod's API doesn't seem very Haskell-like to me I
think we should provide a Monad that has a run function that already
does all those tedious tasks for us.
The `GhcMod` monad is basically a wrapper around `RWST r w s IO` with an
instance for `GhcMonad`
Having a `Reader` allows us to pass `Options` to runGhcMod and not have
to worry about passing it everywhere, `Cradle` is also stored in the
reader environment on initialization.
Writer and State are just there for future use.
I've included a `toGhcMod` function that turns a `Ghc a` into a `GhcMod
a` this will make it easy to transition everyting to using the `GhcMod`
monad instead of `Ghc` without breaking the build or test suite for
extended periods of time.
Conflicts:
ghc-mod.cabal
2014-05-04 04:57:38 +02:00
Daniel Gröber
77605c6daf
Add fromInstalledPackageId
2014-05-03 15:36:10 +02:00
Daniel Gröber
6ad386d31e
Add test data to Extra-Source-Files
2014-05-03 15:35:04 +02:00
Daniel Gröber
1c27e9ec4e
Bump hspec dependency, should fix #236
...
`hspec-discover --no-main` was introduced in 1.8.2
2014-05-01 01:31:32 +02:00
Kazu Yamamoto
186485577d
bootInfo as API.
2014-04-30 10:49:25 +09:00
Kazu Yamamoto
913fb72911
ErrMsg -> Logger.
2014-04-28 21:47:08 +09:00
Kazu Yamamoto
d2a92529fc
fixing deps.
2014-04-24 22:30:18 +09:00
Kazu Yamamoto
4011826a6b
ver bumps up.
2014-04-24 22:22:23 +09:00
Kazu Yamamoto
390c509144
find functions went to lib.
2014-04-24 17:02:50 +09:00
Kazu Yamamoto
bd34db1b07
using force just in case.
2014-04-22 13:32:33 +09:00
Kazu Yamamoto
1006cd4eec
APIs in Ghc monad now go to GHCMod.Ghc.
2014-04-21 12:51:56 +09:00
Kazu Yamamoto
064e4af236
creating src/Boot.hs.
2014-04-21 11:57:14 +09:00
Kazu Yamamoto
ab5e082e81
--quiet back ( #226 ).
2014-04-19 08:26:30 +09:00
Kazu Yamamoto
aecb9bc1e4
implementing suppressStdout/err.
2014-04-18 15:41:32 +09:00
Daniel Gröber
1639a7b2e0
Bring spec up to speed
2014-04-18 04:00:01 +02:00
Daniel Gröber
be4172b454
Add cabal.sandbox.config.in to Extra-Source-Files
2014-04-15 17:13:55 +02:00
Daniel Gröber
30b8366526
Refactor the way packages databases are handled
...
- cradle now stores a list of active package databases instead of only
the user store (if present).
- rename `cradlePackageDb` -> `cradlePkgDbStack` as that`s what the ghc
documentaion calls this kind of thing
- `getPackageDbPackages` now returns names of all visible packages in
the given directory. Also the implementation now uses `ghc-pkg`
instead of manually looking at the package database
2014-04-15 05:15:50 +02:00
Kazu Yamamoto
e537624e65
ver bumps up.
2014-04-07 15:04:27 +09:00
Kazu Yamamoto
172645aa9f
ver bumps up.
2014-04-03 10:02:04 +09:00
Kazu Yamamoto
f959a8029e
ver bumps up.
2014-03-31 11:01:32 +09:00
Kazu Yamamoto
657a007b47
a new module.
2014-03-27 16:23:15 +09:00
Kazu Yamamoto
8238c632a8
using Data.Map if containers is old.
...
hoping passing travis tests.
2014-03-26 15:23:12 +09:00
Kazu Yamamoto
5c79376ca7
containers >= 0.5 for Data.Map.Strict.
2014-03-26 12:00:36 +09:00
Kazu Yamamoto
dc6424454e
ghc-insert-module now uses ghc-modi.
2014-03-25 14:29:18 +09:00
Kazu Yamamoto
b40f162979
adding ghc-modi.
2014-03-19 10:23:47 +09:00
Kazu Yamamoto
dd7b7b8305
the first step to make ghc-mod independent from GHC's version.
2014-03-17 16:58:55 +09:00
Kazu Yamamoto
16e050439d
removing fast/slow code.
2014-03-17 15:56:00 +09:00
Kazu Yamamoto
5aa5d3cbca
ver bumps up.
2014-03-15 10:10:10 +09:00
Kazu Yamamoto
0fac26e350
hlint min version.
2014-03-13 11:10:37 +09:00
Kazu Yamamoto
68447e3681
ver bumps up.
2014-02-07 09:46:18 +09:00
Kazu Yamamoto
dc4cd66964
ver bumps up.
2014-01-14 11:59:33 +09:00
Kazu Yamamoto
a34f9a24be
workaround for the next HP.
2014-01-08 12:01:10 +09:00
Kazu Yamamoto
e416529ede
ver bumps up.
2013-11-20 14:55:27 +09:00
Kazu Yamamoto
beaf3c0a4e
layout only.
2013-11-19 10:43:27 +09:00
Kazu Yamamoto
c37303a08e
dep switch for convertible ( #161 ).
2013-11-19 10:37:11 +09:00
Kazu Yamamoto
1fcaf5f34e
ver bumps up.
2013-10-07 16:49:31 +09:00
Kohei Suzuki
b0f20ffb04
Support GHC < 7.6.0 which doesn't have getExecutablePath
2013-10-05 12:19:30 +09:00
Kazu Yamamoto
1a6413cd2f
ver bumps up.
2013-09-28 10:53:40 +09:00
Kazu Yamamoto
c570c5b689
ver bumps up.
2013-09-21 18:46:03 +09:00
Kazu Yamamoto
1050ea3c63
more tests.
2013-09-21 15:32:22 +09:00
Kazu Yamamoto
ca28a56037
ver bumps up.
2013-09-21 05:52:56 +09:00
Kazu Yamamoto
6bbe9e5df9
add doctest.
2013-09-20 21:10:31 +09:00
Kazu Yamamoto
5b5c663990
ver bumps up.
2013-09-16 12:07:03 +09:00
Kazu Yamamoto
2dd1772146
ver bumps up.
2013-09-16 11:23:02 +09:00
Kazu Yamamoto
024b6b3200
ver bumps up.
2013-09-06 14:23:21 +09:00
Kazu Yamamoto
ce5056fcda
updating Extra-Source-Files.
2013-09-06 13:52:56 +09:00
Kazu Yamamoto
8e60864a34
ver bumps up.
2013-09-04 15:02:20 +09:00
Kazu Yamamoto
cd3e4989e1
ver bumps up.
2013-09-03 11:59:24 +09:00
Kazu Yamamoto
77769e95ce
reverting convertible dep.
2013-09-03 11:58:23 +09:00
Kazu Yamamoto
955223a2a8
module name change.
2013-09-03 11:49:35 +09:00
Kazu Yamamoto
1b862ca107
removing shouldContain since hspec provides it!
2013-09-03 11:44:59 +09:00
Kazu Yamamoto
159c181323
ver bumps up.
2013-09-03 11:32:01 +09:00
Kazu Yamamoto
b0f7370fdd
removing unnecessary dep.
2013-09-03 11:28:35 +09:00
Alan Zimmerman
e487a535eb
Rename GhcModLowLevel to GhcMod.Internal and document exposed items.
2013-08-26 18:28:21 +02:00
Alan Zimmerman
a45bfb97b9
Exposing lower level API using GhcMonad
2013-08-24 19:17:33 +02:00
Kazu Yamamoto
b38649b1dc
ver bumps up.
2013-05-30 10:54:55 +09:00
Kazu Yamamoto
e0feb9c075
fixing a typo.
2013-05-21 22:20:48 +09:00
Kazu Yamamoto
3e477c6497
ver bumps up.
2013-05-21 21:38:36 +09:00
Kazu Yamamoto
eb34a5372e
fixing markup.
2013-05-21 21:38:19 +09:00
Kazu Yamamoto
dad3e9b880
ver bumps up.
2013-05-21 11:08:42 +09:00
Kazu Yamamoto
3ee2688732
updating cabal file.
2013-05-21 11:04:54 +09:00
Kazu Yamamoto
bac4bbbcf3
Changing GHCMod as a library.
2013-05-17 10:00:01 +09:00
Kazu Yamamoto
1977b8858a
ver bumps up.
2013-05-13 13:00:30 +09:00
Kazu Yamamoto
587d779815
ver bumps up.
2013-04-02 15:27:42 +09:00
Kazu Yamamoto
5aabca1e99
adding test files to the cabal file.
2013-03-16 12:08:54 +09:00
Kazu Yamamoto
e874422274
ver bumps up.
2013-03-16 12:04:05 +09:00
Kazu Yamamoto
cef38b6a7a
ver bumps up.
2013-03-13 14:55:01 +09:00
Kazu Yamamoto
0556ec330c
test for fast (not TH).
2013-03-13 13:37:17 +09:00
Kazu Yamamoto
c354001577
clean up the code for Doc/SDoc.
2013-03-12 22:15:23 +09:00
Kazu Yamamoto
21bc2d232a
ver dumps up.
2013-03-07 20:51:36 +09:00
Kazu Yamamoto
9db0ca25db
ver bumps up.
2013-03-05 16:54:13 +09:00