Commit Graph

124 Commits

Author SHA1 Message Date
Jacek Generowicz
7e18f84f81 Refactor hover and go-to-definition searching (#260)
The process of searching for definitions is similar to the process of searching
for hover information. In the original code (much of which was written out twice
with occasional stylistic differences) the signal to noise ratio seemed pretty
poor.

Here is a refactoring which aims to make it easier to see the similarities and
differences between these two related functionalities.
2019-12-18 09:50:30 +01:00
Moritz Kiefer
8ea5d69e18
Upgrade to haskell-lsp 0.19 (#254)
* Upgrade to haskell-lsp 0.19

* Clarify version handling
2019-12-16 14:57:38 +01:00
Moritz Kiefer
fc30f1476f
Upgrade to hie-bios (#257)
This does not yet take advantage of any new features but we should at
least be able to benefit from bugfixes.
2019-12-16 11:42:44 +01:00
Moritz Kiefer
9feb7c75fe
Prepare for ghcide 0.0.5 release (#236) 2019-12-12 20:04:34 +01:00
Greg Steuck
337a268d4c Tighten haskell-lsp* cabal bounds to match #203 (#215) 2019-11-28 06:10:02 +01:00
Jinwoo Lee
3bec234ddb Support plugins (#192)
* Support plugins

Call initializePlugins before running typecheck.

* call initializePlugins only for GHC >= 8.6

initializePlugins doesn't exist in older GHC versions.

* A separate function for initializing plugins

* Add a test for plugins
2019-11-15 09:27:28 +01:00
Jacek Generowicz
5645a8030c Move test sample code out to external file (#175)
* Move sample code out into into separate source file

* Add test/data/GotoHover.hs to cabal extra-source-files

* hlint: explicit module export list

* hlint: implement and use readFileUtf8

* hlint: remove -Wmissing-signatures
2019-10-22 16:41:13 +02:00
Moritz Kiefer
58b997d1aa
Prepare for new releases (#173)
* Prepare for new releases

* More accurate changelog
2019-10-20 17:57:34 -04:00
Moritz Kiefer
2755212f48
Switch to new releases of haskell-lsp and lsp-test (#171) 2019-10-18 20:58:26 +02:00
Moritz Kiefer
5febbcbc48
Fix progress reporting (#153)
* Fix progress reporting

* Bump haskell-lsp and lsp-test revisions

* Change client name

* Fix typo

* Bump revisions
2019-10-17 11:11:52 +02:00
Jacek Generowicz
2779dbb2e1 Add tests for find-definition and hover (#139)
* Add find definition tests

* Add tests for hovers
2019-09-29 12:03:16 +02:00
Neil Mitchell
60ed687de9 Support multiple hie.yaml files (#127)
* Hack around https://github.com/mpickering/hie-bios/pull/56 - hie-bios expects files to really exist on disk

* Fix getLocatedImportsRule to pass the file to the session

* Add support for multiple simultaneous hie.yaml files.
Also rewrites the user experience on setup to be less verbose.
Also adds masking for GHC session construction.

* HLint

* Code review comments

* Switch to the Strict map
2019-09-25 13:01:41 +02:00
Neil Mitchell
f050719d4f Add an upper bound to hie-bios (#122) 2019-09-24 20:41:52 +02:00
Neil Mitchell
32a049cc4c Add Paths_ghcide, fixes a warning (#117) 2019-09-24 00:09:20 +02:00
Moritz Kiefer
a581aa907f
Add changelog boilerplate (#111)
fixes #110
2019-09-23 14:54:06 +02:00
Moritz Kiefer
cec3159ace
Bump version in preparation for new release (#108) 2019-09-21 12:50:50 +02:00
Neil Mitchell
1a0b852ec0 Add a lower bound on hie-bios (#92) 2019-09-19 19:43:03 +02:00
Moritz Kiefer
29d84e835b
Enable more warnings for the ghcide codebase (#75) 2019-09-17 08:50:20 +02:00
jacg
4fc09fafa2 Code actions for filling typed holes (#69)
* Add code action for filling type holes

* Incorporate hole name into action title

Useful if more than one hole appears on the same line. Not so useful
if both of these holes are just `_` rather than `_name` (or more than
one hole on the same line has the same `_name`): In which case perhaps
some numbers could be attached to the action titles, to distinguish
the holes. But I suspect that this would not be worth the effort.

* Add tests for fill-type-hole actions

* Disable two tests on GHC 8.4

These test hints about local bindings, whic GHC 8.4 does not provide.

* Replace compilerVersion with new MIN_GHC_API_VERSION macro
2019-09-16 16:43:50 +02:00
Moritz Kiefer
2c24f2be15 Cleanup GHC API version checks
Previously we had a mix of GHC_STABLE and checks on
__GLASGOW_HASKELL__. This PR changes this to always check on
MIN_GHC_API_VERSION. Depending on whether you use ghc-lib or not (now
controlled by a cabal flag), this macro expands to MIN_VERSION_ghc or
MIN_VERSION_ghc_lib.
2019-09-16 11:34:25 +02:00
Neil Mitchell
18ee98f069 Pull the preprocessor functions into a separate module 2019-09-11 22:25:07 +01:00
Moritz Kiefer
351d9d01ad Update cabal file metadata to point to the new repo 2019-09-11 14:16:48 +02:00
Neil Mitchell
82d9d6248d
Add a lower bound on haskell-lsp (we are incompatilbe with 0.14) 2019-09-11 08:53:32 +01:00
Moritz Kiefer
5da86c3e44 Rename hie-core to ghcide (#2820)
* Rename hie-core to ghcide

The name `hie-core` has caused a lot of confusion as to how we relate
to haskell-ide-engine so changing it should hopefully help with that.
I also think that ghcide is still a good name once we hopefully
integrate with haskell-ide-engine more closely.

The name ghcide seems to have a reasonable amount of support on
Twitter https://twitter.com/ndm_haskell/status/1170681262987710464
which is of course the only good way to come up with names.

* Add a readme that points people to the new directory.

* Fix bogus replacements

* Use a proper link

* links are hard
2019-09-10 15:01:29 +02:00