Closed
Description
Summary
See artempyanykh/marksman#54 for details.
Marksman v2022-08-19 doesn't support workspace symbols. It doesn't advertise it in server capabilities. Yet Helix still sends a workspace symbols request to the server upon hitting <space>-S
. Which hits notImplemented
in the server's code and causes it to crash; the crash has since been fixed though.
IIUC, the client should not send a request for an unsupported method.
Reproduction Steps
- Download https://github.com/artempyanykh/marksman/releases/tag/2022-08-19;
- Set up the LSP https://github.com/artempyanykh/marksman#existing-editor-integrations3;
- Open a markdown file and hit
<space>-S
.
Helix log
~/.cache/helix/helix.log
2022-08-25T10:00:34.113 helix_view::theme [WARN] Theme: malformed hexcode: highlight
2022-08-25T10:00:34.359 helix_lsp::transport [ERROR] err <- "[10:00:34 INF] <LSP Entry> Starting Marksman LSP server: {}\n"
2022-08-25T10:00:44.912 helix_lsp::transport [ERROR] err <- "Unhandled exception: System.AggregateException: One or more errors occurred. (Method not found)\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " ---> StreamJsonRpc.LocalRpcException: Method not found\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at Ionide.LanguageServerProtocol.Server.asyncContinuation@43-1.Invoke(FSharpResult`2 lspResult) in /Users/arr/dev/marksman/LanguageServerProtocol/LanguageServerProtocol.fs:line 43\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvokeNoHijackCheck[a,b](AsyncActivation`1 ctxt, b result1, FSharpFunc`2 userCode) in D:\\a\\_work\\1\\s\\src\\fsharp\\FSharp.Core\\async.fs:line 465\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at Ionide.LanguageServerProtocol.ServerUtil.notImplemented@7-2.Invoke(AsyncActivation`1 ctxt)\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) in D:\\a\\_work\\1\\s\\src\\fsharp\\FSharp.Core\\async.fs:line 104\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " --- End of inner exception stack trace ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at Ionide.LanguageServerProtocol.Server.startWithSetup[client](FSharpFunc`2 setupRequestHandlings, Stream input, Stream output, FSharpFunc`2 clientCreator) in /Users/arr/dev/marksman/LanguageServerProtocol/LanguageServerProtocol.fs:line 174\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at Marksman.Program.startLSP(Int32 verbosity, Boolean waitForDebugger) in /Users/arr/dev/marksman/Marksman/Program.fs:line 58\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at [email protected](Tuple`2 tupledArg)\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at FSharp.SystemCommandLine.CommandBuilders.SetHandlerInt@207-2.Invoke(InvocationContext ctx)\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Invocation.AnonymousCommandHandler.Invoke(InvocationContext )\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<<UseParseErrorReporting>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass12_0.<<UseHelp>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass19_0.<<UseTypoCorrections>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__18_0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass16_0.<<UseParseDirective>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__5_0>d.MoveNext()\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- "--- End of stack trace from previous location ---\n"
2022-08-25T10:00:44.913 helix_lsp::transport [ERROR] err <- " at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass8_0.<<UseExceptionHandler>b__0>d.MoveNext()\n"
2022-08-25T10:00:44.920 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-25T10:00:44.920 helix_lsp::transport [ERROR] err: <- StreamClosed
2022-08-25T10:00:45.392 helix_term::application [ERROR] Timed out waiting for language servers to shutdown
Platform
macOS
Terminal Emulator
iTerm2
Helix Version
helix 22.05 (45add73)