Created
July 23, 2019 10:46
-
-
Save wz1000/9e2b6595690a89ab189e59d40ba572f8 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Command | |
commands | |
are prefixed | |
get de-prefixed | |
Completion | |
completions | |
works | |
does not pull in unnecessary modules until needed | |
completes imports | |
completes qualified imports | |
completes language extensions | |
completes pragmas | |
completes pragmas no close | |
completes options pragma | |
completes ghc options pragma values | |
completes with no prefix | |
strips compiler generated stuff from completions | |
contexts | |
only provides type suggestions | |
only provides type suggestions | |
have implicit foralls on basic polymorphic types | |
have implicit foralls with multiple type variables | |
snippets | |
work for argumentless constructors | |
work for polymorphic types | |
work for complex types | |
work for infix functions | |
work for infix functions in backticks | |
work for qualified infix functions | |
work for qualified infix functions in backticks | |
respects lsp configuration | |
respects client capabilities | |
Deferred | |
deferred responses | |
do not affect hover requests | |
instantly respond to failed modules with no cache | |
respond to untypecheckable modules with parsed module cache FAILED [1] | |
returns hints as diagnostics | |
multi-server setup | |
doesn't have clashing commands on two servers | |
multiple main modules | |
Can load one file at a time, when more than one Main module exists | |
Definition | |
definitions | |
goto's symbols | |
goto's imported modules | |
goto's exported modules | |
goto's imported modules that are loaded | |
goto's imported modules that are loaded, and then closed | |
Diagnostics | |
diagnostics providers | |
diagnostics triggers | |
runs diagnostics on save | |
typed hole errors | |
is deferred | |
Warnings are warnings | |
Overrides -Werror | |
only diagnostics on save | |
Respects diagnosticsOnChange setting | |
Format | |
format document | |
works | |
works with custom tab size | |
format range | |
works | |
works with custom tab size | |
formatting provider | |
respects none | |
can change on the fly | |
brittany | |
formats a document with LF endings | |
formats a document with CRLF endings | |
formats a range with LF endings | |
formats a range with CRLF endings | |
FunctionalBadProject | |
behaviour on malformed projects | |
deals with cabal file with unsatisfiable dependency FAILED [2] | |
FunctionalCodeActions | |
code actions | |
hlint suggestions | |
provides 3.8 code actions | |
falls back to pre 3.8 code actions | |
runs diagnostics on save | |
rename suggestions | |
works | |
doesn't give both documentChanges and changes | |
import suggestions | |
formats with brittany | |
Execute HsImport with formatter brittany | |
works with 3.8 code action kinds | |
formats | |
import-list formats | |
multiple import-list formats | |
respects format config, multiple import-list | |
respects format config | |
import-list respects format config | |
complex import-list | |
complex import-list respects format config | |
formats with floskell | |
Execute HsImport with formatter floskell | |
works with 3.8 code action kinds | |
formats | |
import-list formats | |
multiple import-list formats | |
respects format config, multiple import-list | |
respects format config | |
import-list respects format config | |
complex import-list | |
complex import-list respects format config | |
add package suggestions | |
adds to .cabal files | |
adds to hpack package.yaml files | |
redundant import code actions | |
remove solitary redundant imports | |
doesn't touch other imports | |
typed hole code actions | |
works | |
shows more suggestions | |
missing top level signature code actions | |
Adds top level signature | |
missing pragma warning code actions | |
Adds TypeSynonymInstances pragma | |
unused term code actions | |
Prefixes with '_' FAILED [3] | |
respect 'only' parameter | |
FunctionalLiquid | |
liquid haskell diagnostics | |
runs diagnostics on save, no liquid | |
runs diagnostics on save, with liquid haskell FAILED [4] | |
HaRe | |
HaRe | |
code actions | |
lift one level | |
works | |
lift to top level | |
works | |
delete definition | |
works | |
duplicate definition | |
works | |
demote definition | |
works | |
casesplit argument | |
works FAILED [5] | |
Highlight | |
highlight | |
works | |
Hover | |
hover | |
works | |
Progress | |
window/progress | |
sends indefinite progress notifications | |
sends indefinite progress notifications with liquid FAILED [6] | |
References | |
references | |
works with definitions | |
Rename | |
rename | |
works | |
Symbols | |
document symbols | |
3.10 hierarchical document symbols | |
provides nested data types and constructors | |
provides nested where functions | |
provides pattern synonyms | |
pre 3.10 symbol information | |
provides nested data types and constructors | |
provides nested where functions | |
TypeDefinition | |
type definitions | |
finds local definition of record variable | |
finds local definition of newtype variable | |
finds local definition of sum type variable | |
finds local definition of sum type contructor | |
can not find non-local definition of type def | |
find local definition of type def | |
find type-definition of type def in component | |
find definition of parameterized data type | |
Failures: | |
test/functional/DeferredSpec.hs:99:5: | |
1) Deferred, deferred responses, respond to untypecheckable modules with parsed module cache | |
uncaught exception: SessionException | |
Received an unexpected message from the server: | |
Was parsing: Pattern match failure in do expression at test/functional/DeferredSpec.hs:102:9-22 | |
Last message received: RspDocumentSymbols (ResponseMessage {_jsonrpc = "2.0", _id = IdRspInt 1, _result = Just (DSDocumentSymbols (List [])), _error = Nothing}) | |
To rerun use: --match "/Deferred/deferred responses/respond to untypecheckable modules with parsed module cache/" | |
test/functional/FunctionalBadProjectSpec.hs:19:5: | |
2) FunctionalBadProject, behaviour on malformed projects, deals with cabal file with unsatisfiable dependency | |
uncaught exception: SessionException | |
Timed out waiting to receive a message from the server. | |
To rerun use: --match "/FunctionalBadProject/behaviour on malformed projects/deals with cabal file with unsatisfiable dependency/" | |
test/functional/FunctionalCodeActionsSpec.hs:494:18: | |
3) FunctionalCodeActions, code actions, unused term code actions, Prefixes with '_' | |
expected: "{-# OPTIONS_GHC -Wall #-}\nmodule UnusedTerm () where\n_imUnused :: Int -> Int\n_imUnused 1 = 1\n_imUnused 2 = 2\n_imUnused _ = 3\n" | |
but got: "\nmodule UnusedTerm () where\n_imUnused :: Int -> Int\n_imUnused 1 = 1\n_imUnused 2 = 2\n_imUnused _ = 3\n" | |
To rerun use: --match "/FunctionalCodeActions/code actions/unused term code actions/Prefixes with '_'/" | |
test/functional/FunctionalLiquidSpec.hs:93:18: | |
4) FunctionalLiquid, liquid haskell diagnostics, runs diagnostics on save, with liquid haskell | |
expected: 0 | |
but got: 2 | |
To rerun use: --match "/FunctionalLiquid/liquid haskell diagnostics/runs diagnostics on save, with liquid haskell/" | |
test/functional/HaReSpec.hs:52:36: | |
5) HaRe.HaRe, code actions, casesplit argument, works | |
uncaught exception: SessionException | |
Timed out waiting to receive a message from the server. | |
To rerun use: --match "/HaRe/HaRe/code actions/casesplit argument/works/" | |
test/functional/ProgressSpec.hs:63:3: | |
6) Progress.window/progress sends indefinite progress notifications with liquid | |
uncaught exception: SessionException | |
Received an unexpected message from the server: | |
Was parsing: Publish diagnostics notification | |
Last message received: NotProgressStart (NotificationMessage {_jsonrpc = "2.0", _method = WindowProgressStart, _params = ProgressStartParams {_id = "0", _title = "Initialising Cradle", _cancellable = Just False, _message = Nothing, _percentage = Just 0.0}}) | |
To rerun use: --match "/Progress/window/progress/sends indefinite progress notifications with liquid/" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment