-
Notifications
You must be signed in to change notification settings - Fork 92
Closed
Labels
Description
After arriving at an auto-complete setup that I'm far more satisfied with, I decided to revisit nvim integration with LanguageServer.jl.
Unfortunately any time I load much more than fairly minimal code I always seem to hit an error at some point.
"MethodError: "
"no method matching "
"LanguageServer.ProgressParams("
"::"
"Nothing, ::LanguageServer.WorkDoneProgressBegin)"
"\nClosest candidates are:\n LanguageServer.ProgressParams(!Matched::Union{Int64, String}, ::T) where T at /home/expandingman/.julia/packages/LanguageServer/y1ebo/src/protocol/basic.jl:8\nStacktrace:\n"
" [1] "
"create_symserver_progress_ui("
"server::"
"LanguageServerInstance"
")\n @ "
"LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/"
"languageserverinstance.jl:"
"143\n [2] initialized_notification(params::LanguageServer.InitializedParams, server::LanguageServerInstance, conn::"
"JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint})\n @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/init.jl:176\n [3] "
'(::LanguageServer.var"#112#144"{LanguageServerInstance})(conn::'
"JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, params::LanguageServer.InitializedParams)\n @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:284\n [4] "
"dispatch_msg(x::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::JSONRPC.MsgDispatcher, msg::"
"Dict{String, Any})\n @ JSONRPC "
"~/.julia/packages/JSONRPC/xbAlZ/src/typed.jl:66\n [5] run"
"(server::LanguageServerInstance)\n @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:"
"308\n [6] top-level scope\n @ none:12\n"
"┌ Warning: JuliaInterpreter not stored on disc\n└ @ SymbolServer ~/.julia/packages/SymbolServer/2m6sg/src/SymbolServer.jl:190\n"
"┌ Warning: DocStringExtensions not stored on disc\n└ @ SymbolServer ~/.julia/packages/SymbolServer/2m6sg/src/SymbolServer.jl:190\n"
"┌ Warning: CodeTracking not stored on disc\n└ @ SymbolServer ~/.julia/packages/SymbolServer/2m6sg/src/SymbolServer.jl:190\n"
"ERROR: "
"MethodError: "
"no method matching "
"LanguageServer.ProgressParams("
"::"
"Nothing, ::LanguageServer.WorkDoneProgressBegin"
")"
"\nClosest candidates are:\n LanguageServer.ProgressParams(!Matched::Union{Int64, String}, ::T) where T at /home/expandingman/.julia/packages/LanguageServer/y1ebo/src/protocol/basic.jl:8\nStacktrace:\n"
" [1] "
"create_symserver_progress_ui("
"server::"
"LanguageServerInstance)\n @ "
"LanguageServer "
"~/.julia/packages/LanguageServer/y1ebo/src/"
"languageserverinstance.jl:143\n"
" [2] initialized_notification(params::LanguageServer.InitializedParams, server::LanguageServerInstance, conn::"
"JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint})\n @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/requests/init.jl:"
"176\n [3] "
'(::LanguageServer.var"#112#144"{LanguageServerInstance})(conn::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}'
", params::LanguageServer.InitializedParams)\n @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:284\n [4] dispatch_msg("
"x::JSONRPC.JSONRPCEndpoint{Base.PipeEndpoint, Base.PipeEndpoint}, dispatcher::JSONRPC.MsgDispatcher, msg::"
"Dict{String, Any})\n @ JSONRPC ~/.julia/packages/JSONRPC/xbAlZ/src/typed.jl:66"
"\n [5] run(server::LanguageServerInstance)\n"
" @ LanguageServer ~/.julia/packages/LanguageServer/y1ebo/src/languageserverinstance.jl:308\n [6]"
" top-level scope\n @ none:12\n"
I apologize for the awful formatting, it is the fault of the logger. I tried to clean it up a bit.
It seems that some functions, in particular WorkDoneProgressBegin and ProgressParams are getting null values for their first argument where they expect something non-null (I'm guessing probably an empty string).
If I'm right, it suggests we need to either
- Add these fields to whatever JSON dict as empty strings (requires a lot of knowledge of this package and LSP in general)
- Add methods that convert null values to empty strings or whatever they are supposed to be. I'm guessing this is pretty easy, but more likely to cause side effects.
Reactions are currently unavailable