Commit Graph

21 Commits

Author SHA1 Message Date
Daniel Gröber 2381f6e1ab More refactoring of package handling
- 'GhcPkg' now parses 'ghc-pkg -v list' output directly to also get the
  package-id

- Remove unused field 'cradlePackages' in Cradle

- Remove 'getPackageDbPackages' and use 'ghcPkgListEx' instead
2014-04-18 03:59:46 +02:00
Kazu Yamamoto 145c27a129 hlint hack. 2014-04-16 11:52:49 +09: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 3bfbbb8b5c supporting sandbox only (without cabal) to fix #164. 2014-03-30 17:28:57 +09:00
Kazu Yamamoto 955b1b4091 user package db options for both GHC and ghc-pkg. 2014-03-28 12:05:11 +09:00
Kazu Yamamoto 187f718de0 hlint hack. 2014-03-27 16:35:41 +09:00
Kazu Yamamoto 426917fc44 close import. 2014-03-27 15:21:18 +09:00
Kazu Yamamoto 6e4d073c7d using dropWhileEnd (#193). 2014-03-26 15:38:02 +09:00
Kazu Yamamoto a25736f149 Revert "Expose packages in sandbox with their ids"
This reverts commit 46492a19b0.
2014-02-01 13:44:40 +09:00
Naohiro Aota 46492a19b0 Expose packages in sandbox with their ids
This commit implement scaning a package db directory to collect package
id

If you installed a package both in a sandbox and globally, global
package may be selected even if there's a package in a sandbox, which is
different behavior from cabal sandbox.

e.g. when you have fast-logger-2.0 globally and fast-logger-0.3.3 in a
sandbox:

(Without patch)
$ ghc-mod check Foundation.hs
Foundation.hs:12:31:Module `System.Log.FastLogger' does not export `Logger'

(With patch)
$ ghc-mod check Foundation.hs
2014-01-30 21:21:40 +09:00
Naohiro Aota 04022ab0ac Add test to check package id extraction
This commit add a failing test to check extracting package id. The test will
fail with the following output for now:

1) Cradle.getPackageDbPackages find a config file and extracts packages with their ids
expected: [("template-haskell",Just "template-haskell-2.8.0.0-32d4f24abdbb6bf41272b183b2e23e9c")]
 but got: []
2014-01-30 21:18:45 +09:00
Naohiro Aota a0db24b0a5 Extend Package to include id
This commit
1. rename Package with PackageBaseName
2. Pacakge = (PackageBaseName, Maybe String) to save its id
3. Expose packages with id if available
2014-01-30 20:45:30 +09:00
Kazu Yamamoto a94b1a3b5a fixing tests. 2013-09-21 18:37:33 +09:00
Kazu Yamamoto c78d708c1c Introducing strict getPackageDbDir. 2013-09-21 15:10:43 +09:00
Kazu Yamamoto 5f0fcd0442 getCompilerOptions handles package-db options. 2013-09-20 17:15:41 +09:00
Kazu Yamamoto 39bccf8b92 adding doc to findCradle. 2013-09-20 15:53:51 +09:00
Kazu Yamamoto 49791fb6ea Supporting sandbox sharing.
Braking backword compatibility of findCradle.
2013-09-20 15:48:50 +09:00
Kazu Yamamoto 318b376b30 Supporting the sandbox of Cabal 1.18.0.
Support for cabal-dev was obsoleted.
2013-09-05 16:38:17 +09:00
Kazu Yamamoto 5e53841451 improving doc. 2013-09-05 14:35:28 +09:00
Kazu Yamamoto 089d490607 writing docs. 2013-05-20 14:28:56 +09:00
Kazu Yamamoto bac4bbbcf3 Changing GHCMod as a library. 2013-05-17 10:00:01 +09:00