2020-07-22 00:50:13 +03:00
|
|
|
packages:
|
2020-01-25 22:45:32 +03:00
|
|
|
./
|
2020-12-27 17:09:59 +03:00
|
|
|
./hie-compat
|
|
|
|
./shake-bench
|
2021-04-18 18:55:12 +03:00
|
|
|
./hls-graph
|
2020-10-23 09:51:12 +03:00
|
|
|
./ghcide
|
|
|
|
./hls-plugin-api
|
2021-03-23 13:45:45 +03:00
|
|
|
./hls-test-utils
|
2021-01-20 10:35:11 +03:00
|
|
|
./plugins/hls-tactics-plugin
|
2021-03-08 08:07:38 +03:00
|
|
|
./plugins/hls-brittany-plugin
|
2021-03-22 16:49:27 +03:00
|
|
|
./plugins/hls-stylish-haskell-plugin
|
2021-05-14 15:57:03 +03:00
|
|
|
./plugins/hls-fourmolu-plugin
|
2020-12-10 03:26:39 +03:00
|
|
|
./plugins/hls-class-plugin
|
2020-12-25 23:36:20 +03:00
|
|
|
./plugins/hls-eval-plugin
|
2020-12-05 22:33:09 +03:00
|
|
|
./plugins/hls-explicit-imports-plugin
|
2021-04-30 05:32:19 +03:00
|
|
|
./plugins/hls-refine-imports-plugin
|
2020-12-10 03:26:39 +03:00
|
|
|
./plugins/hls-hlint-plugin
|
2021-08-21 21:06:53 +03:00
|
|
|
./plugins/hls-rename-plugin
|
2020-12-05 22:33:09 +03:00
|
|
|
./plugins/hls-retrie-plugin
|
2021-01-07 14:58:36 +03:00
|
|
|
./plugins/hls-haddock-comments-plugin
|
2021-01-05 18:34:06 +03:00
|
|
|
./plugins/hls-splice-plugin
|
2021-05-14 11:47:41 +03:00
|
|
|
./plugins/hls-floskell-plugin
|
2021-05-15 03:04:50 +03:00
|
|
|
./plugins/hls-pragmas-plugin
|
2021-05-17 20:02:52 +03:00
|
|
|
./plugins/hls-module-name-plugin
|
|
|
|
./plugins/hls-ormolu-plugin
|
2021-07-28 00:40:04 +03:00
|
|
|
./plugins/hls-call-hierarchy-plugin
|
2021-12-01 17:12:06 +03:00
|
|
|
./plugins/hls-alternate-number-format-plugin
|
Qualify imported names plugin (#2355)
* actual initial qualify imported names implementation
* renamed and added tests for QualifyImportedNames plugin
* fix backtick and parenthesized operators not being qualified correctly
* add tests, and remove logging
* add license, readme, and demo
* remove old demo, add slightly better demo
* remove old mp4 demo, add slightly gif demo
* update readme to use demo
* readme typo
* slight rewording of readme
* slight rewording of readme 2
* remove Demo header from readme
* don't need ShakeExtras and remove some more logging stuff
* hopefully fix ghc 9 differences, rename plugin cabal file
* forgot comma on module re-export
* minimize imports
* fix Hashmap import for ghc <= 8.8, remove unused extension pragmas
* fix hls-qualify-imported-names ghcide bound
* add test suite to CI
* add more tests for qualify imported names plugin
* change ghcide bound to match what @hololeap is doing
* add qualify imported names to feature list
* add demo, readme, test files, test hie.yaml to extra source files
Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
2021-11-29 20:58:25 +03:00
|
|
|
./plugins/hls-qualify-imported-names-plugin
|
2022-07-11 07:24:35 +03:00
|
|
|
./plugins/hls-code-range-plugin
|
Change Type Signature Plugin (#2660)
* First go
* Match against specific error message.
* Basic Change Type Signature implementation.
This implementation only matches a single GHC Error message:
```
• Couldn't match type ‘Int’
with ‘Data.HashSet.Internal.HashSet Int’
Expected type: Int -> Int
Actual type: Data.HashSet.Internal.HashSet Int -> Int
• In the expression: head . toList
In an equation for ‘test’: test = head . toList
```
Specifically on `Expected type: ...`, `Actual type:...` and `In an equation ...`.
There are plenty of error messages that match this format but aren't actually valid.
* GHC 9.2.0 compat change
* Lift expectedError message into a separate binding
* Move ChangeTypeAction into it's own plugin
* Add New Error Message parsing.
- Add new regex for matching extra errors message types
- Revamp original regex to match more.
- Add basic test suite.
- Begin adding `tidyActualType` semantics to provide slightly prettier
TyVars
* Added Error Message Validation to ignore bad Messages.
- Add Pretty Printing for Types
- Added a few test scenarios
* Miscellaneous Cleanup.
* Update Tide Type Signature logic.
- Be able to tidy signatures with operators in it
- Use T.words instead of regex matching to split tyVars
* Remove locA (defaults to id in 8.10) to satisfy 9.0+
* Touch up 9.2.1
* Clean up review notes
* Update stack.yamls
* Fix copy-paste error
* Fix Local Signature resolution
* Improve logging (#2558)
* convert to contravariant logging style part 1, uses additional hardcoded log file to see it side by side with original logging
* convert Session to contravariant logging style
* convert Plugin/HLS and FireStore to contravariant logging style
* convert Rules (and most of the universe) to contravariant logging style
* fix tests, allow old style logging and contravariant logging to write to same log file
* fix import inside wrong CPP
* add CPP for LogTactic constructor
* remove redundant import
* fix ghcide tests
* remove unused import
* fix plugin tests
* LSP_TEST_STDERR should apply to contra logger as well
* fix tactic plugin test
* use CPP for Log datatype plugin constructors, remove unused imports
* add a few Pretty instances, add prettyprinter to haskell-language-sever and hls-plugin-api dependencies
* add Pretty Log instances for Session, FileStore, Notifications
* add remaining Pretty Log instances
* add logToPriorities
* fix slight interleaving issue with hslogger and logger both logging, have default logger be mutex stderr or file handle, use stderr if failing to open log file
* forgot to add .cabal files with hslogger dep
* dont use UnliftIO file IO helpers because they are too new
* remove log helper comments, use Doc instead of Text as final console/file logger input, renaming, export Log constructors
* remove accidentally added useless file, removed prettyprinter dep from hls-plugin-api because stack ghc8.6.5 doesnt have it?
* use deprecated prettyprint modules import for the sake of circleci ghc-8.6.5
* use dummy stderr logger for plugin cli commands, use priorityToHsLoggerPriority function instead of manual mapping
* remove old plugin detritus that somehow got committed
* fix prettyprinter imports for 8.6.5
* try enforcing prettyprinter bounds?
* enforcing bound makes no sense
* maybe changing stack yamls does trick
* filter out warnings when their diags are empty to more closely match original
* add ability to select wanted logging columns, match prev ghcide exe logging behaviour
* dont log anything when diags are empty in some defineEarlyCutoff versions
* use non-deprecated prettyprinter imports
* fix ghcide test module
* change logWith to accept priority at call site, remove all logToPriority functions, add cmapWithPrio that contramaps through WithPriority
* remove useless hiding import list, add comments to default recorder makers
* make cradleToOptsAndLibDir take concrete cradle to remove existential type var in Log constructor
* Types.Logger now re-exports prettyprinter, remove unused dependencies on prettyprinter and hslogger
* existential type var to remove boilerplate in Plugins.hs, remove a few Show instances
* add SourceLoc logging column, inline logToDoc functions, add comment explaining hslogger setup existence
* qualify a name to match original source
* fix -WError
* Delete the Telemetry log level (#2727)
It's a bit non-standard, and moreover it's entirely dead.
* Wall and 9.2 fix
* Remove unneeded comments/code
Co-authored-by: J. S <shenjonathan0@gmail.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
Co-authored-by: Pepe Iborra <pepeiborra@me.com>
2022-03-04 02:08:42 +03:00
|
|
|
./plugins/hls-change-type-signature-plugin
|
2022-05-26 12:13:09 +03:00
|
|
|
./plugins/hls-gadt-plugin
|
Qualify imported names plugin (#2355)
* actual initial qualify imported names implementation
* renamed and added tests for QualifyImportedNames plugin
* fix backtick and parenthesized operators not being qualified correctly
* add tests, and remove logging
* add license, readme, and demo
* remove old demo, add slightly better demo
* remove old mp4 demo, add slightly gif demo
* update readme to use demo
* readme typo
* slight rewording of readme
* slight rewording of readme 2
* remove Demo header from readme
* don't need ShakeExtras and remove some more logging stuff
* hopefully fix ghc 9 differences, rename plugin cabal file
* forgot comma on module re-export
* minimize imports
* fix Hashmap import for ghc <= 8.8, remove unused extension pragmas
* fix hls-qualify-imported-names ghcide bound
* add test suite to CI
* add more tests for qualify imported names plugin
* change ghcide bound to match what @hololeap is doing
* add qualify imported names to feature list
* add demo, readme, test files, test hie.yaml to extra source files
Co-authored-by: Javier Neira <atreyu.bbb@gmail.com>
2021-11-29 20:58:25 +03:00
|
|
|
|
2021-09-19 03:45:58 +03:00
|
|
|
-- Standard location for temporary packages needed for particular environments
|
|
|
|
-- For example it is used in the project gitlab mirror to help in the MAcOS M1 build script
|
|
|
|
-- See https://github.com/haskell/haskell-language-server/blob/master/.gitlab-ci.yml
|
|
|
|
optional-packages: vendored/*/*.cabal
|
|
|
|
|
2020-01-25 22:45:32 +03:00
|
|
|
tests: true
|
2020-07-20 14:19:42 +03:00
|
|
|
|
|
|
|
package *
|
2022-07-05 06:49:32 +03:00
|
|
|
ghc-options: -haddock
|
2020-01-31 00:35:36 +03:00
|
|
|
test-show-details: direct
|
2020-01-25 22:45:32 +03:00
|
|
|
|
|
|
|
write-ghc-environment-files: never
|
2020-02-01 12:01:13 +03:00
|
|
|
|
2022-06-12 17:47:06 +03:00
|
|
|
index-state: 2022-06-12T00:00:00Z
|
2020-08-06 21:04:15 +03:00
|
|
|
|
Ghc 9.0.1 support for ghcide (#1649)
* hie-compat: Add basic support for ghc-9.0.1
A tiny step towards #297
* hie-compat: Remove dependency on ghc-api-compat
* hie-compat: Add more backwards compatability
* Import a bunch of upstream ghc9 fixes
* cabal.project: allow-newer: *:*
The lazy solution to making things compile
* Add more upstream fixes
* Bump patch of ghc-check
* ghcide: Add basic support for GHC-9.0.1
I tried to limit the use of CPP to the Compat module as much as possible
by re-exporting the new functions under the old names,
but there is still plenty of pragmas all over the code.
I'm using ghc-api-compat so the imports doesn't need to be changed as much.
* ghcide: Fix backwards compatability with ghc-8.8.4
* ghc9-ghcide: Fix some more issues that caused runtime errors
* Restore initDynLinker for older versions of ghc
It was probably important for something
* Fix ghc-8.6.5 compatability
* Fix completion test failures for ghc9
With this example:
f asdfgh = asd
it would suggest to complete `asd` into `asd_arNC`,
which seems to be a name it generated because of
deferred-out-of-scope-variables
* Ghc-check now supports ghc-9.0.1
* Retrie now supports ghc-9.0.1
But it's not on hackage yet.
* Restore retrie orphans
* tests: Ghc9 shows [Char] as String by default
This seems like an improvement, so just update the test-suite
* tests: Ghc9 shows TH-errors after the dollar sign
Instead of including it like older versions did
$(foo)
~~~~
some TH error/warning
* Fix two more test failures
- GHC9 uses a more lenient haddock parser
- TH2.17 has polymorphic Q monad with a type class
* ghc9: Fix "Remove redundant imports" code action
In ghc9, only the specific unused function is highlighted,
instead of the whole line.
* ghcide-tests: Show errors where they are caused
instead of deep inside some generic helper function
* Only use nub on SrcSpan for ghc>=9
* Remove more CPP pragmas
* Remove a bit more CPP
This could almost be handled by ghc-api-compat,
but if it was imported from TyCoPpr, it doesn't work with
ghc < 8.10
* Update stack files to support new versions
* Use the version of retire on hackage
The new version is now released
* Don't use allow-newer: *:*
* ghcide-tests: Enable test no longer broken in ghc9
* Update hiedb version for ghcide
* Adjust for a minor change in test output for ghc9
* Fix benchmark test for ghc9
Cabal-3.2 is not buildable on ghc9, but 3.4 is builable on older ghc.
* Mark minor issues as broken for ghc9
Ghc9 highlights both the constructor and the other fields
Maybe this should just be accepted and not seen as broken?
* haddock-comments-plugin: Ghc9 support
* hls-eval-plugin: Partial ghc9 support
* WIP: hls-eval-plugin: Partial ghc9 support
* hls-explicit-imports-plugin: Add ghc9 support
Now ignores any imports with Unhelpful locations,
since we can't make a map of SrcLoc
* hls-retrie-plugin: Add ghc9 support
* hls-hlint-plugin: Add ghc9 support
* Fix backwards compatability of hlint plugin
* Fix stack builds
(Broken by previous hlint fixes)
* Disable tests when their required plugins are disabled
Not all plugins are supported on ghc9 yet, but we
still want to run the tests for the supported parts
* ghc9: Fix module name plugin
* Add a stack file and run tests for ghc9 in ci
* Add missing packages to ghc-9 stack
* Resolve rebase issues
Maybe it's better to create merge commits instead?
* Allow newer for more packages so cabal stops complaining
These aren't really working, but since they are dependencies
of packages in the `packages:` section
the resolver won't allow us to build anything without this, even if
those plugins are disabled.
* Replace MIN_GHC_API_VERSION with MIN_VERSION_ghc
* Revert incorrect change to hlint code
* Remove remaining traces of GHC_LIB flag
* Add back ghc 9 to github workflow
* Revert "Add back ghc 9 to github workflow"
This reverts commit c465a1e51aaaabf56dc7ef8f7fa801ef0abf8fdc.
* hie-compat: Add basic support for ghc-9.0.1
A tiny step towards #297
* hie-compat: Remove dependency on ghc-api-compat
* hie-compat: Add more backwards compatability
* Disable CI for ghc9
* Use newer version of apply-refact
* Don't needlessly duplicate code from ghc
* hie-compat: Reexport the original version of HieBin
* Don't include broken "allow-newer"s
* FIx stack build for ghc9
* Fix warning from imperfect merge commit
* Don't needlessly duplicate code from ghc
* hie-compat: Reexport the original version of HieBin
* Add missing ghc-api-compat
* Fix ghc9 build for ModuleName
* Add more conditionals on flags for tests
* Add a separate cabal.project file for ghc9
As far as I know, this is the only way to disable the packages who's
dependencies doesn't compile in GHC9 yet.
* Fix and re-enable CI for GHC9
* Remove accidental non-breaking space
* Fix CI build for ghc9
Since we are changing the flags for haskell-language-server,
which CI renames to hls,
we need to use the shortened name in those flags as well
* Run tests for ghc9 in CI
* Minor CI changes
* Use proper values when enriching hie
* Don't try to test hls-refine-imports-plugin on ghc9
* Update comment about ghc9 crashing on initDynLinker
* setSessionDynamicFlags to prevent ghc9 from crashing
The only way to set the dynamic linker is with the function `setSessionDynFlags`
so we call it with the result from `getSessionDynFlags` to give it a
(hopefully sensible) argument.
See also this commit:
https://gitlab.haskell.org/ghc/ghc/commit/18757cab04c5c5c48eaceea19469d4811c5d0371
* Revert "setSessionDynamicFlags to prevent ghc9 from crashing"
This reverts commit 4065ac8394065f8aa15b1b36e0d56e3ba7762e44.
That change made the "ghcide.cradle.muli" tests fail.
* Simplify logic in hls-hlint-plugin.cabal
* Add comment on OldRealSrcSpan
* Remove source overrides for non-ghc9 builds in cabal.project
* Remove commented out code
Co-authored-by: Pepe Iborra <pepeiborra@me.com>
* Remove resolved question from comment
"This code is only concerned with extracting argument names, so I don't see how multiplicity would be relevant here"
https://github.com/haskell/haskell-language-server/pull/1649#discussion_r642606967
* ghc9: Update to latest version of LSP per
* cabal-ghc901.project: Remove commented out code
* Update the lsp commit hash for stack as well
* Use a version of lsp without haskell/lsp#326
That patch was causing test failures, but the issues
should be fixed for real at some point, so that patch can be incluede
Co-authored-by: Pepe Iborra <pepeiborra@gmail.com>
Co-authored-by: Pepe Iborra <pepeiborra@me.com>
2021-06-06 20:16:29 +03:00
|
|
|
constraints:
|
2022-05-05 17:07:51 +03:00
|
|
|
hyphenation +embed,
|
|
|
|
-- remove this when hlint sets ghc-lib to true by default
|
|
|
|
-- https://github.com/ndmitchell/hlint/issues/1376
|
|
|
|
hlint +ghc-lib,
|
|
|
|
ghc-lib-parser-ex -auto,
|
|
|
|
stylish-haskell +ghc-lib
|
2021-06-25 23:21:58 +03:00
|
|
|
|
2022-05-06 12:58:18 +03:00
|
|
|
-- This is benign and won't affect our ability to release to Hackage,
|
|
|
|
-- because we only depend on `ekg-json` when a non-default flag
|
|
|
|
-- is turned on.
|
|
|
|
source-repository-package
|
|
|
|
type:git
|
|
|
|
location: https://github.com/pepeiborra/ekg-json
|
|
|
|
tag: 7a0af7a8fd38045fd15fb13445bdcc7085325460
|
|
|
|
-- https://github.com/tibbe/ekg-json/pull/12
|
|
|
|
|
2020-12-27 20:52:49 +03:00
|
|
|
allow-newer:
|
2022-05-05 17:07:51 +03:00
|
|
|
-- ghc-9.2
|
|
|
|
----------
|
|
|
|
hiedb:base,
|
|
|
|
|
2022-07-20 19:59:54 +03:00
|
|
|
ekg-core,
|
2022-06-16 10:29:38 +03:00
|
|
|
ekg-wai:time
|