Commit Graph

55 Commits

Author SHA1 Message Date
alexwl
66fd80a8fb Fix typo 2019-03-24 16:56:27 +03:00
alexwl
e9b64c5661 Add stack-8.6.4.yaml 2019-03-24 16:51:27 +03:00
Ian Jeffries
e282ffeec9 Add script to install multiple versions at once. (#29)
Eg (given that my local bin path for the project is set to ./.bin in my stack.yaml):

$ ./install.hs
<lots out output>
$ ls .bin
haskell-code-indexer-8.0.2*  haskell-code-indexer-8.4.4*
haskell-code-indexer-8.2.2*  haskell-code-indexer-8.6.3*
haskell-code-indexer-8.4.3*  haskell-code-server*

Note that it works by installing and then moving the `haskell-code-indexer` executable in your project's bin to `haskell-code-indexer-X-Y-Z`. So if you already have a plain `haskell-code-indexer` executable before the run it will be deleted.

It uses plain IO instead of Shake because Shake runs actions in unpredictable order. One of the goals of the script is that it will install haskell-code-server and the latest haskell-code-indexer as soon as possible, so that it's useful even if you have to cancel the run for some reason. Shake was running the haskell-code-indexer command at the correct time, but then waiting to copy it to its -X-Y-Z final home until near the end of the run.

(Also this is really just a simple install script, we don't need another layer of caching from Shake for it.)
2019-03-24 16:47:48 +03:00
alexwl
a70857114d Update README 2019-03-23 02:19:15 +03:00
Ian Jeffries
b24d1456d0 Default --package to '.' (#27) 2019-03-23 02:04:01 +03:00
alexwl
db54d0594b Hide the left panel by default on small screens; reduce initial-scale 2019-03-23 01:58:05 +03:00
alexwl
cac568f016 Add support for GHC 8.6.4 2019-03-14 22:40:27 +03:00
alexwl
78f46be07c Fix search results: add a package name and a module name of an identifier that doesn't have exact location info 2019-03-08 17:21:00 +03:00
alexwl
5ce658d25d Fix 'go to definition' on the Packages page 2019-03-08 13:51:55 +03:00
alexwl
ccc5754312 Remove unused callback 2019-03-08 13:14:22 +03:00
alexwl
16c67ff304 Update README 2019-02-26 23:33:40 +03:00
alexwl
eddf2c825d Adds an option to use public Hoogle JSON API (3dbf68bfd7/docs/API.md (json-api)) to get documentation for not indexed packages. Closes #21. 2019-02-20 18:58:57 +03:00
alexwl
c831f86d25 Remove unused variables and functions 2019-02-20 12:48:48 +03:00
alexwl
d65f02107a Optimize the process of adding links to Haskell language extension docs 2019-02-14 00:54:28 +03:00
alexwl
e8ded03ec4 Add a switch between 'search in the current package' and 'search in all packages' on the package page 2019-02-13 23:44:05 +03:00
alexwl
0b17136d96 Fix search for '.' and '..' identifiers 2019-02-08 00:34:54 +03:00
alexwl
d6a64db1ce Add identifier search in all indexed packages 2019-02-06 21:42:29 +03:00
alexwl
b796d370c6 Add links to Haskell language extensions docs 2019-01-28 17:41:23 +03:00
alexwl
0f84e1f004 Optimize memory usage of haskell-code-server
This commit adds an option to create an on-disk key-value store that contains all the data from PackageInfo of each indexed package in a queriable form. The store can be used by haskell-code-server to respond to API requests. The main benefit of using the store, compared to deserializing and loading PackageInfo of each package into memory, is reduced memory usage (approximately 7 times for a set of Haskell packages).

The key-value store on disk consists of two files: 'index' and 'values'. 'index' is a small file that contains a map from strings to locations in a 'values' file. 'index' file should be deserialized and loaded into memory. 'values' is a large file that contains serialized Haskell data structures. 'values' file can be either read directly (without deserializing) or memory-mapped.
2019-01-23 17:18:29 +03:00
alexwl
2713b196d3 Add GHC command line options to the debug output 2019-01-17 13:36:16 +03:00
alexwl
cdd7494e6c Fix README 2019-01-11 16:00:04 +03:00
alexwl
b6533100bf Update stack.yaml, use lts-13.0 2018-12-30 12:47:18 +03:00
alexwl
e6d0b7bf09 Add support for GHC 8.6.3 2018-12-23 17:59:00 +03:00
alexwl
27024fa574 Replace Vector.fromList with Vector.fromListN
Vector.fromListN allocates less memory and allows to remove the call to Vector.force before compaction ('compact $ Vector.fromList [1,2,3]' crashes, 'compact $ Vector.fromListN 3 [1,2,3]' doesn't crash)
2018-12-13 18:31:39 +03:00
alexwl
7488749af2 Index injectivity annotations 2018-12-10 16:50:24 +03:00
alexwl
2c089ff24c Show 'No location info' message for Paths_* modules 2018-11-30 14:20:41 +03:00
alexwl
868b51bc5e Improve error messages about dist directory 2018-11-23 18:54:34 +03:00
Alexey Kiryushin
866bfff6ff
Add cross-package 'find references' 2018-11-16 16:19:03 +03:00
alexwl
b5a3048a88 Add cabal.project.freeze (for ghc-8.4.4) 2018-11-15 13:01:43 +03:00
alexwl
9fa6772f29 Check for the presence of stack.yaml in the parent directories. Fixes #13. 2018-11-13 18:52:47 +03:00
Alexey Kiryushin
71500f437d
Merge pull request #14 from capital-match/PR/fix-build-failure
Fix build failure, #12
2018-11-13 17:28:09 +03:00
Julian Ospald
24ba7ffb30
Add proper cabal.project file with cabal-helper as subpackage 2018-11-13 18:04:16 +08:00
Julian Ospald
37f1d35347
Fix build with haddock-library >= 1.6.0 2018-11-13 18:03:53 +08:00
alexwl
67d0714dc3 Remove -Werror flag
-Werror flag makes warnings fatal. This flag should never be set.
2018-11-12 22:57:19 +03:00
alexwl
d4827af422 Fix pattern synonym declarations 2018-11-11 16:58:35 +03:00
alexwl
a3b2321f77 Embed static assets in haskell-code-server executable.
When there is no --js-path option, haskell-code-server serves embedded static assets.
2018-11-07 18:31:43 +03:00
alexwl
8f57cf6d73 Add support for GHC 8.4.4 2018-11-04 16:47:29 +03:00
alexwl
6f55f616d7 Update README and fix project title 2018-11-02 16:05:04 +03:00
alexwl
c622effe80 Fix HTML page title 2018-10-28 19:41:41 +03:00
alexwl
8950fffaa9 Show multiple references to an identifier on the same line as one item in a list of references 2018-10-25 01:30:30 +03:00
alexwl
78b1fa37d5 Index quoted identifiers (Template Haskell)
This makes identifiers in TH expression like 'value or ''Type clickable in Haskell code explorer
2018-10-20 22:26:52 +03:00
alexwl
5d6e827870 Fix https://github.com/alexwl/haskell-code-explorer/issues/8 2018-10-14 23:08:31 +03:00
alexwl
730fc6b033 Add GHC 8.4.3 support to README 2018-10-14 19:06:06 +03:00
alexwl
9c5cb27828 Merge branch 'ghc-8.4.3' 2018-10-14 18:56:06 +03:00
alexwl
2b5cbccffa Index type constructor in RoleAnnotDecl 2018-10-14 17:15:05 +03:00
alexwl
c6fc26d897 Fix all GHC 8.4.3 compatibility issues. Needs a bit more testing. 2018-10-12 19:45:12 +03:00
alexwl
1b8661d36c
Add --no-ghc-package-path option to stack exec command in README
It fixed the "Use of GHC's environment variable GHC_PACKAGE_PATH is incompatible with Cabal" error.
2018-10-10 18:30:52 +03:00
alexwl
166265e93d WIP. It compiles with ghc-8.4.3, but not all features of the indexer are supported yet. 2018-10-09 23:13:07 +03:00
alexwl
f38daf6773 Update cabal-helper to version 0.8.1.2 that supports Cabal (>=1.14 && <1.26 || >=2.0 && <2.5)
Building cabal-helper-0.8.1.2 with Stack failed with 'Dependency cycle detected' error. It seems to be https://github.com/commercialhaskell/stack/issues/4265 Stack bug. As a temporary solution I added source code of cabal-helper package to vendor directory and commented out 'build-tool-depends:  cabal-helper:cabal-helper-wrapper' line in the cabal-helper.cabal file.
2018-10-08 02:40:18 +03:00
alexwl
579a0f16c4 Generate links to hyperlinked source code on Hackage instead of links to documentation 2018-10-06 01:15:16 +03:00