* Add cabal-gild as a cabal file formatter plugin
* Add support for multiple cabal formatters
In addition, allow different cabal file formatter provider to specify an
explicit file path, instead of searching only on $PATH.
* Fix cabal formatter test flags
* hls-notes-plugin: Initial implementation
* hls-notes-plugin: add to feature list and plugin table
* hls-notes-plugin: Add more documentation comments
* hls-notes-plugin: Fix tests after #3846, add CI job
* hls-notes-plugin: Address review comments
* hls-notes-plugin: Allow Note definition within single line comments
* hls-notes-plugin: Improve "Note not found" error message
* hls-notes-plugin: Allow single line notes to be indented
* treewide: Add missing underscores to note definitions
* hls-notes-plugin: Wait until HLS is done in tests
* hls-notes-plugin: Fix tests on windows
The regex did not allow windows line endings in note definitions
---------
Co-authored-by: Jan Hrcek <2716069+jhrcek@users.noreply.github.com>
Co-authored-by: fendor <fendor@users.noreply.github.com>
* Cleanup func-test suite
This test-suite is vastly legacy from Haskell IDE Engine.
It was originally written before we had a plugin-based architecture
where each plugin tests its feature in isolation.
Over time, this test-suite bitrotted, where a lot of testcases were
either redundant or out-of-date and consequentially disabled.
We clean up the test-suite, delete old tests and remove unused testdata.
* Remove unused config change
* Move qualified import tests to hls-refactor-plugin
* Add README for `func-test`
Provides guidance when to add a test to `func-test` and some historical
context.
* Add fendor as CODEOWNER for `func-test` and `hls-test-utils`
---------
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* overloaded record dot plugin initial version (closes#3350)
* Added support to GHC 9.2, and updated documentation
Also, update the CI to test overloaded-record-dot-plugin
and added overloaded-record-dot-plugin to stack.yml
* Apply suggestions from Lei Zhu (July541)
Co-authored-by: Lei Zhu <julytreee@gmail.com>
* Use GHC2021 and updated gif
* Fix test.yml formatting problem
* use coerce instead of unExt (from michaelpj)
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Implements michaelpj code review suggestions
* Collect records on lists instead of maybe
This way we don't need to switch back and forward between the two,
and we can also return more than one match from inside a HsExpanded
* Added documentation
* Reworded comments for spelling and clarity
* use useWithStale for the TypeCheck rule
* Update version to conform with changes on master
* No longer depend on specific hls package versions
* Fixed comments and line length issues
* Added test for HsExpanded expressions
---------
Co-authored-by: Lei Zhu <julytreee@gmail.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* Extract cabal plugin in its own package
* hls-cabal-plugin: Add plugin
Add golden parse test for test/testdata/simple.cabal
Add module Ide.Plugin.Cabal.Diag
Also: add -Wall
Add parseCabalFileContents
Use VFS for cabal file contents
Diagnostics
* Parse and display Errors
* Parse and display Warnings
Code Actions
* Code Action for License Field
* Add CI workflow
* Add test-suite for hls-cabal-plugin
* Fix various cabal issues
* Update Codeowners file for hls-cabal-plugin
* Document Bytestring is UTF-8 encoded
Co-authored-by: Julian Ospald <hasufell@posteo.de>
* Remove code duplication
* Add cabal files of interest and kick function
Configure a "kick" function for cabal files that is run when the shake
queue needs to be restarted.
Copy pastes from ghcide and 'files of interest'. Maybe more abstraction
needed.
* Add more documentation
* Mark flaky test-case as flaky with issue ref
* Make fendor the only CODEOWNER for hls-cabal-plugin
* Add missing extra-source-files for hls-cabal-plugin
* Add proper CHANGELOG entry for the first version of hls-cabal-plugin
* Add support for Cabal 3.8
* Set diagnostics source to cabal
* Remove unused function
* Add unit tests for code action utilities
* Remove overly specific logging of diagnostics from hls-cabal-plugin
* Improve logging for Cabal FOIs
* Add Range manipulation functions
* Use Range manipulation functions from hls-plugin-api
* Add more documentation for crucial shake restart function
* Add hls-cabal-plugin features to features.md
* Re-use existing GetFileContents rule
Co-authored-by: Fendor <power.walross@gmail.com>
Co-authored-by: fendor <fendor@users.noreply.github.com>
Co-authored-by: Julian Ospald <hasufell@posteo.de>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add plugin for formatting cabal files using cabal-fmt
* Add 'isolateTests' cabal flag to make plugin install cabal-fmt
For CI, we want to run the tests with a specific cabal-fmt version,
installed automatically by cabal.
However, locally, we might want to test with a locally installed
cabal-fmt version.
This flag allows developers to either let cabal install the
build-tool-depends or install a fitting version locally.
* Ignore failing cabal-fmt test on windows
* Add log message for missing cabal-fmt executable
Co-authored-by: Jana Chadt <jana.chadt@tuwien.ac.at>
Co-authored-by: Fendor <power.walross@gmail.com>
* support add-argument action
* respond to review comments
* review: add ability to report errors in CodeAction api
* review: use already-defined function
* attempts at cpp
* fix format error
* fix broken test
* doc: add self to codeowners; add doc to features.md
* formatting
* formatting
* fix an import
* review
* formatting
* add testcase with comments
* fix build error
Co-authored-by: Santiago Weight <santiago.weight@lmns.com>
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* 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>
* update Gitpod config
* update nix shellHook & docs
* install pre-commit hook
* add kokobd as code owner to .gitpod.*
* add gen-hie to Gitpod
* add tools for doc
* remove .pre-commit-config.yaml from .gitignore
* set vscode formatter to stylish-haskell in Gitpod
* refactor selection range plugin
* refine selection range
* add CodeKind to CodeRange
* rename hls-selection-range-plugin to hls-code-range-plugin
* update docs about selection range
* cleanup RuleTypes.hs
* add the missing bang pattern
* fix subRange
* add some unit tests to CodeRange.Rules
* add tests for removeInterleaving
* add even more tests
* fix extra sources
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* Add initial CODEOWNERS file
As discussed in
https://github.com/haskell/haskell-language-server/discussions/2588.
* Add a few more
* Update CODEOWNERS
Co-authored-by: Pepe Iborra <pepeiborra@me.com>
* Apply suggestions from code review
Co-authored-by: J. S. <document_done@hotmail.com>
Co-authored-by: Junyoung "Clare" Jang <jjc9310@gmail.com>
* Update CODEOWNERS
Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
* Add guibou for Nix
* Remove people who haven't responded
Co-authored-by: Pepe Iborra <pepeiborra@me.com>
Co-authored-by: J. S. <document_done@hotmail.com>
Co-authored-by: Junyoung "Clare" Jang <jjc9310@gmail.com>
Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>