* Drop min_version_ghc (8.8.4 is min supported)
* Drop conditional glasgow_haskell cpp
* Inline some imports (review feedback)
* Drop hie-compat 8.6 (review feedback)
* Dropping more ghc 8.6 related code and docs
* Eval: Include tests that were broken for 8.6
* remove 'buildable: False' in cabal
* remove constraint on ghc-exactprint
* wip
* revert HaddockComments.hs
* generate haddock comments for constructors
* fix tests
* restore constraints
* make it compatible with ghc 9.0
* add more tests
* add comments & fix dp calculation for inline case
* add kokobd to codeowners of haddock-comments plugin
* fix a comment
* rephrase some comments to make them clearer
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Add a source-repository stanza to any .cabal files in the project that
are missing it.
This metadata can be useful for package maintainers.
See: https://cabal.readthedocs.io/en/stable/cabal-package.html#source-repositories
Signed-off-by: hololeap <hololeap@users.noreply.github.com>
Signed-off-by: hololeap <hololeap@users.noreply.github.com>
* save some progress: add basic starter code for folding ranges
* save some progress: add function to traverse through coderange and form folding ranges
* save some progress: add parsing of folding ranges
* fix: maybe issue with foldingRanges
* add: generate folding ranges from coderange
* add: plugin request method instance for folding ranges
* ref: alter function and var names
* post review: cleanup crk to frk & fix typo
* fix: find folding ranges function
* format: run formatter and add comments
* fix: return all response results of folding range request
* Revert "format: run formatter and add comments"
This reverts commit e6a2b5ca3e.
* add: removed comments after revert
* fix: formatting
* docs: add folding range to features section and cabal file
* refactor: use destructuring for createFoldingRange function and use characters
* test: add basic unit test for findFoldingRanges function
* test: add tests for children and code kind
* test: add more test cases
* test: add test for createFoldingRange
* test: add integration test for folding ranges
* fix: duplicate start line foldingranges and remove single line
foldingranges
* refactor: duplicate folding range functionality
* fix: formatting in code range plugin
* added more descriptive comments and encorporate code review suggestions
* revert: automatic formatting for selection range test case file
* fix: ignoring children if root fails to provide folding ranges
* remove: redundant match on crkToFrk
* revert: filtering same line foldings and multiple foldings on the same line as it can be handled by clients
* revert: formatting change to selection range test file
* fix: entire file folding because of root node
Co-authored-by: Kobayashi <contact@zelinf.net>
* Stylish Haskell: Parse issues
* CPP language extension
* Manually fix some files with duplication
* Pre-commit: Fix ignored files
It looks like `ExactPrint` was ignored before, but since absolute paths
are used and weren't adapted it wasn't ignored afterwards.
`isPreferred` can influence the client side order of code actions. The
idea is that an unused import is likely to be removed and less likely
the warning will be disabled. Therefore actions to remove a single or
all redundant imports should be preferred, so that the client can
prioritize them higher.
Followup of
<https://github.com/haskell/haskell-language-server/pull/3018>
Respects globalOn in stan plugin configuration and won't show hints
anymore if the plugin is disabled.
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
Use hiedb from hackage
gitlab-ci: remove workaround for windows 9.2.2
gitlab-ci: remove workaround for windows 9.2.2
hie-bios
update hie bios
update hie bios
bounds
hie-bios fixes
hie-bios fixes
lsp 1.6
cabal.project fixes
hie-bios fixes
lsp and hie-bios from hackage
Mark hie-bios error as expectFail
hie-bios fixes
hie-bios fixes
Stack
Stack
stack fixes
* Update hls-retrie-plugin to be usable with 9.2.4.
This is the first pass at getting hls-retrie-plugin enabled. Much of the
changes were updating to match the changes in the upstream `retrie`
package.
* Replace GHC.Paths.libdir by querying a ModSummary for the LibDir
* Looks like formatting was missed
* Revert "Looks like formatting was missed"
This reverts commit 4f6eee5a6f.
* Don't build retrie for 9.4
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
All code actions have been moved to hls-refactor-plugin
Mostly straightforward, only slight complication was that completion auto imports
depends on exactprint, but I didn't want to remove all completion logic from ghcide
just for this.
Instead, I added logic to dynamically lookup the plugin that provides
the extend import command, so that auto imports work as expected when you have
hls-refactor-plugin enabled.
Move lookupPluginId out of loop
Replace code actions with lenses in benchmarks
Allow plugins to use GetAnnotatedParsedSource by linking it in when depended on
Move lookupPluginId to IdePlugins
Add default extensions
Move traceAst
* extract ghcide:experiments-types
* extract haskell-language-server:plugins and let go of examples
The main goal here is to move the Plugins module into an internal
library so that it can be reused from the benchmark suite.
In order to
make that easier, and since they hardly serve a purpose in a repository
with 25 plugins, I delete the Example and Example2 plugin descriptors
and their dependencies.
* HLS benchmark suite
Port the ghcide benchmark suite to HLS and benchmark plugin
"configurations" independently.
This includes the following changes to the ghcide benchmark suite and
HLS:
- Support for "configurations" which are defined as sets of plugin ids.
The benchmark will be run with only these plugins enabled and all
others disabled
- Support for configurable concurrency. This relies on RTS -ol and -po
flags to place the RTS traces in the target location rather than in
the cwd
This change requires two commits, the next one places
ghcide/bench/hist/Main.hs into its final location to help 'git'
recognize the change as a file move
* ghcide/bench/hist/Main.hs -> bench/Main.hs
* CI - fix artifact names for uniqueness
* disable shorten HLS step
* Do not store eventlogs to avoid out of disk space
* render durations up to milliseconds
* shorten titles
Goal is to display the formatted CSV (via column) one row per line
* exclude formatting plugin configurations
* Extract ghcide-bench to a standalone package
* ghcide-bench: fix stderr capturing
* Fix mem stats
We parse maxResidency and allocatedBytes from the RTS -S output, but runSessionWithHandles kills the server without waiting for it to exit and these stats don't get logged.
The solution is to use runSessionWithHandles', but unfortunately it is internal and not exposed. I have raised a PR to expose it and in the meantime we need a source repo package.
* feedbacks
* delete Example plugins
The error message displayed by `prettyResponseError` in
`Development.IDE.Plugin.HLS` looks awkward with the pluginId. This error
is not the fault of plugins anyways, so let's just be generic.
* upgrade lsp to 1.5
* fix stack.yaml
* try fix tests
* disable verbose logging in ghcide
* fix more tests in ghcide
* fix floskell test
* disable debug log in func-test
* disable debug log in lsp itself
* Revert "disable debug log in func-test"
This reverts commit 1fd6658c77.
* remove unused import
* fix hls test utils
* upgrade lsp in nix
* fix func-tests
* Revert "fix func-tests"
This reverts commit 2ecd76d0ba.
* fix waitForDiagnosticsFromSourceWithTimeout
* use Null as dummy message in waitForDiagnosticsFromSourceWithTimeout
* simplify a test case
* add comment about lsp bad logs
* init hls-explicit-fixity-plugin
* Update dependencies
* Refactor: Prevent block on startup
* Run pre-commit
* Compatibility: Add emptyMessages
* Remove unused ModIface
* Comment why to make this plugin a lower priority
* Provide hover content while testing fail
* Avoid lambda
* 4 space indent
* Pass Text instead of Name
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>