-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
A-language-serverArea: Language server clientArea: Language server clientC-bugCategory: This is a bugCategory: This is a bug
Description
Summary
Many code actions, and code lenses are not available compared to other text editors.
In this gist two functions with multiple code actions available in Kakoune and VS Code can't be done in Helix.
This issue might refer to the same problem as #2994
In the videos below I show the behavior in helix compared to 1. Kakoune, 2. VS Code.
HLS Code actions (apply hlint fixes)
Helix (left) - Kakoune (right)
code-actions.mov
HLS Code lens (add type signature)
Helix (left) - Kakoune (right)
code-lenses.mov
HLS Code lens and Code actions in VS Code
vscode.mov
Reproduction Steps
- Download the gist
- Select the whole line of the first function, type
<space> + a
. Only some actions will be available but not all. Try with each token there. - Try the same with the other function.
Helix log
~/.cache/helix/helix.log
2022-07-07T19:48:23.132 helix_lsp::transport [ERROR] err <- "No 'hie.yaml' found. Try to discover the project type!\n"
2022-07-07T19:48:23.137 helix_lsp::transport [ERROR] err <- "Run entered for haskell-language-server-wrapper(haskell-language-server-wrapper) Version 1.7.0.0 aarch64 ghc-9.2.2\n"
2022-07-07T19:48:23.137 helix_lsp::transport [ERROR] err <- "Current directory: /Users/roger/Documents/Dev/Haskell-Projects/Haskell-Programming-From-First-Principles/ch22\n"
2022-07-07T19:48:23.137 helix_lsp::transport [ERROR] err <- "Operating system: darwin\n"
2022-07-07T19:48:23.137 helix_lsp::transport [ERROR] err <- "Arguments: [\"--lsp\"]\n"
2022-07-07T19:48:23.137 helix_lsp::transport [ERROR] err <- "Cradle directory: /Users/roger/Documents/Dev/Haskell-Projects/Haskell-Programming-From-First-Principles/ch22\n"
2022-07-07T19:48:23.138 helix_lsp::transport [ERROR] err <- "Cradle type: Default\n"
2022-07-07T19:48:23.294 helix_lsp::transport [ERROR] err <- "\n"
2022-07-07T19:48:23.294 helix_lsp::transport [ERROR] err <- "Tool versions found on the $PATH\n"
2022-07-07T19:48:23.295 helix_lsp::transport [ERROR] err <- "cabal:\t\t3.6.2.0\n"
2022-07-07T19:48:23.296 helix_lsp::transport [ERROR] err <- "stack:\t\t2.7.5\n"
2022-07-07T19:48:23.296 helix_lsp::transport [ERROR] err <- "ghc:\t\t8.10.7\n"
2022-07-07T19:48:23.296 helix_lsp::transport [ERROR] err <- "\n"
2022-07-07T19:48:23.296 helix_lsp::transport [ERROR] err <- "\n"
2022-07-07T19:48:23.296 helix_lsp::transport [ERROR] err <- "Consulting the cradle to get project GHC version...\n"
2022-07-07T19:48:23.337 helix_lsp::transport [ERROR] err <- "Project GHC version: 8.10.7\n"
2022-07-07T19:48:23.337 helix_lsp::transport [ERROR] err <- "haskell-language-server exe candidates: [\"haskell-language-server-8.10.7\",\"haskell-language-server\"]\n"
2022-07-07T19:48:23.338 helix_lsp::transport [ERROR] err <- "Launching haskell-language-server exe at:/Users/roger/.ghcup/bin/haskell-language-server-8.10.7\n"
2022-07-07T19:48:25.301 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.301493Z | Info | No log file specified; using stderr.\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.301745Z | Info | haskell-language-server version: 1.7.0.0 (GHC: 8.10.7) (PATH: /Users/roger/.ghcup/hls/1.7.0.0/lib/haskell-language-server-1.7.0.0/bin/haskell-language-server-8.10.7)\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.302120Z | Info | Directory: /Users/roger/Documents/Dev/Haskell-Projects/Haskell-Programming-From-First-Principles/ch22\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.302325Z | Info | Starting (haskell-language-server) LSP server...\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " GhcideArguments {argsCommand = LSP, argsCwd = Nothing, argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " PluginIds: [ pragmas\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " , floskell\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " , fourmolu\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " , tactics\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " , ormolu\n"
2022-07-07T19:48:25.302 helix_lsp::transport [ERROR] err <- " , stylish-haskell\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , rename\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , retrie\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , brittany\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , callHierarchy\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , class\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , haddockComments\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , eval\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , importLens\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , qualifyImportedNames\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , refineImports\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , moduleName\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , hlint\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , splice\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , alternateNumberFormat\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , selectionRange\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , changeTypeSignature\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-hover-and-symbols\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-code-actions-imports-exports\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-code-actions-type-signatures\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-code-actions-bindings\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-code-actions-fill-holes\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-completions\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-type-lenses\n"
2022-07-07T19:48:25.303 helix_lsp::transport [ERROR] err <- " , ghcide-core\n"
2022-07-07T19:48:25.304 helix_lsp::transport [ERROR] err <- " , LSPRecorderCallback ]\n"
2022-07-07T19:48:25.304 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.304040Z | Info | Logging heap statistics every 60.00s\n"
2022-07-07T19:48:25.348 helix_lsp::transport [ERROR] err <- " 2022-07-08T00:48:25.348748Z | Info | Staring LSP server...\n"
2022-07-07T19:48:25.349 helix_lsp::transport [ERROR] err <- "If you are seeing this in a terminal, you probably should have run WITHOUT the --lsp option!\n"
2022-07-07T19:48:25.349 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.349686Z | Info | Started LSP server in 0.00s\n"
2022-07-07T19:48:25.403 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.401452Z | Info | Registering IDE configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 6042087041491829206 \"file:///Users/roger/Documents/Dev/Haskell-Projects/Haskell-Programming-From-First-Principles\"], clientSettings = hashed Nothing}\n"
2022-07-07T19:48:25.405 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.405412Z | Info | Cradle path: ch22/ch22.hs\n"
2022-07-07T19:48:25.405 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.405499Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for ch22/ch22.hs.\n"
2022-07-07T19:48:25.405 helix_lsp::transport [ERROR] err <- "Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).\n"
2022-07-07T19:48:25.405 helix_lsp::transport [ERROR] err <- "You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.\n"
2022-07-07T19:48:25.523 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.518586Z | Info | Interface files cache directory: /Users/roger/.cache/ghcide/main-1a596a151463f2c53ee4feb14ecd276a1ccebfda\n"
2022-07-07T19:48:25.523 helix_lsp::transport [ERROR] err <- "2022-07-08T00:48:25.523667Z | Info | Making new HscEnv. In-place unit ids: [main]\n"
2022-07-07T19:49:03.128 helix_lsp::transport [ERROR] err <- "2022-07-08T00:49:03.127787Z | Info | Reactor thread stopped\n"
Platform
macOS
Terminal Emulator
iTerm2 Build 3.4.16
Helix Version
helix 22.05 (27609f5)
gruhn, runiq, chtenb, Esnos33 and cumber
Metadata
Metadata
Assignees
Labels
A-language-serverArea: Language server clientArea: Language server clientC-bugCategory: This is a bugCategory: This is a bug