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
|
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
|
|
|
|
2024-06-29 22:50:34 +03:00
|
|
|
index-state: 2024-06-29T00:00:00Z
|
2021-09-19 03:45:58 +03:00
|
|
|
|
2023-03-22 16:56:51 +03:00
|
|
|
tests: True
|
2023-10-12 21:48:49 +03:00
|
|
|
test-show-details: direct
|
2023-03-22 16:56:51 +03:00
|
|
|
|
2024-06-20 20:13:36 +03:00
|
|
|
benchmarks: True
|
|
|
|
|
2020-01-25 22:45:32 +03:00
|
|
|
write-ghc-environment-files: never
|
2020-02-01 12:01:13 +03:00
|
|
|
|
2024-02-03 23:43:38 +03:00
|
|
|
-- Many of our tests only work single-threaded, and the only way to
|
2024-02-09 17:17:34 +03:00
|
|
|
-- ensure tasty runs everything purely single-threaded is to pass
|
2024-02-03 23:43:38 +03:00
|
|
|
-- this at the top-level
|
|
|
|
test-options: -j1
|
|
|
|
|
2023-10-12 21:48:49 +03:00
|
|
|
-- Make sure dependencies are build with haddock so we get
|
|
|
|
-- haddock shown on hover
|
|
|
|
package *
|
|
|
|
ghc-options: -haddock
|
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:
|
2023-10-10 14:06:33 +03:00
|
|
|
-- C++ is hard to distribute, especially on older GHCs
|
|
|
|
-- See https://github.com/haskell/haskell-language-server/issues/3822
|
|
|
|
text -simdutf,
|
2023-02-14 22:48:11 +03:00
|
|
|
ghc-check -ghc-check-use-package-abis,
|
2022-05-05 17:07:51 +03:00
|
|
|
ghc-lib-parser-ex -auto,
|
Implement semantic tokens plugin to support semantic highlighting(textDocument/semanticTokens/full) (#3892)
* Implement semantic tokens lsp plugin draft
* SemanticTokens: combine information extracted from HieAst
* clean up
* map to default token types in lsp
* use lsp makeSemanticTokens to convert to lsp SemanticTokens type
* add test and cleanup
* refine semantic type to default one in lsp
* Use tokens from hieAst instead of renamedSource and add test
* use customize RefMap to get semantic type
* use refMap from useAsts
* Also compute imported names
* Also compute semantic type from TyThing
* Fix dependencies version
* fix version
* Retrieve nameSet from renamedSource to prevent names not visible(Such as by instance deriving) being handled
* add hlint config to ignore test data
* cean up test data
* revert flake.nix
* Rename query.hs to Query.hs
* Build: add semantic tokens to lts21
* Refactor and add README
* Semantic token, filter names in Ast
* CI: add consistancy check for wether semantic tokens computations is stable across different ghc versions
* Update documentation, cleanup test, remove default modifiers
* Fix: IO now classfied to TTypcon, add test for GADT and data family, Update documentation
* Restore stack.yaml
* fix stack build
* Refactor, move out ActualToken to Mappings and use ide logger
* Refactor: toLspTokenType should return Maybe type
* Stop use stale hieAst
* add getImportedNameSemanticRule rule to semantic tokens plugin
* do not retrieve hie in getImportedNameSemanticRule
* fix: add description for semantic tokens
* remove TValBind and TPaternBind and Use TFunction and TVariable instead
* cleanup
* Refactor useWithStaleMT and took care of the token range using position map
* fix build for 9.4
* refactor, use golden test
* refactor, use ExceptT for computeSemanticTokens
* Fix 9.2
* add persistentSemanticMapRule to prevent semantic tokens block on startup
* Fix, use hieKind instead of cast the type directly
* add options to turn semantic tokens on and off
* Disable stan plugin by default (#3917)
* Fix positionMapping in stale data (#3920)
* Fix positionMapping in stale data
* add test for updatePositionMapping
* add comment to demonstrate addOldDelta
* cleanup
* fix: for local variable, extract type from contextInfo instead of bind site, thus function in pattern binds can also be indentified
* clean up
* Update plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Query.hs
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
* refactor: remove TNothing and compact the test output
* refactor: rename SemanticTokenType to HsSemanticTokenType to avoid confusion with lsp' SemanticTokenTypes
* refactor: push the computation of semantic token type to getSemanticTokensRule
* update documentation
* cleanup hieAstSpanNames
* remove renamed source from getSemanticTokensRule and optimize query function for semantic token type
* try to exclude names that is not visible in hie and cleanup
* add HieFunMaskKind, it is to differ wether a type at type index is a function or non-function
* expose function flag to expose (=>, ->, -=>, ==>)
* 1. Relax GetDocMap kindMap to get TyThing for more than type variables.
2. Backport isVisibleFunArg
* use customize logger, add test for unicode
* fix: handle unicode in semantic tokens
* update KindMap to TyThingMap
* cleanup
* add realSrcSpanToCodePointRange, realSrcLocToCodePointPosition to Development.IDE.GHC.Error
* add Note [Semantic information from Multiple Sources]
* move recoverFunMaskArray to Mappings.hs
* fix test, data.Set might not appear
* fix: handle semantic tokens with more than one ast
* fix: instance PluginMethod Request Method_TextDocumentSemanticTokensFull
* clean up
* turn semantic tokens off by default
* fix doc
* clean up doc
---------
Co-authored-by: fendor <fendor@users.noreply.github.com>
Co-authored-by: Michael Peyton Jones <me@michaelpj.com>
2024-01-06 16:09:19 +03:00
|
|
|
-- This is only present in some versions, and it's on by default since
|
|
|
|
-- 0.14.5.0, but there are some versions we allow that need this
|
2023-11-14 18:49:21 +03:00
|
|
|
-- setting
|
|
|
|
stylish-haskell +ghc-lib,
|
2023-08-26 11:27:49 +03:00
|
|
|
-- Centos 7 comes with an old gcc version that doesn't know about
|
|
|
|
-- the flag '-fopen-simd', which blocked the release 2.2.0.0.
|
|
|
|
-- We want to be able to benefit from the performance optimisations
|
|
|
|
-- in the future, thus: TODO: remove this flag.
|
2024-06-13 17:45:57 +03:00
|
|
|
bitvec -simd,
|
|
|
|
|
|
|
|
if impl(ghc >= 9.9)
|
2024-06-20 20:13:36 +03:00
|
|
|
-- https://github.com/haskell/haskell-language-server/issues/4324
|
2024-06-19 11:35:14 +03:00
|
|
|
benchmarks: False
|