Skip to content

lsp-mode and julia 1.4 not working #631

Description

@gdkrmr

I am trying to get julia 1.4 in emacs' lsp-julia to run with the LanguagesServer.jl and other packages bundled with julia-vscode v0.15.21 and get the same error as in #578 .

My best guess is that this is a communications problem between emacs' lsp-mode and the LanguageServer.jl julia process. Maybe you can give me a hint what is wrong here, I am out of my depth there.

I am trying to debug it and the dict received by the julia LanguageServer process is:

Dict{String,Any}(
    "clientInfo" => Dict{String,Any}(
        "name" => "emacs",
        "version" => "GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.18.9)\n of
2019-08-30"),
    "capabilities" => Dict{String,Any}(
        "window" => Dict{String,Any}("workDoneProgress" => true),
        "workspace" => Dict{String,Any}(
            "didChangeWatchedFiles" => Dict{String,Any}(
                "dynamicRegistration" => true),
            "workspaceEdit" => Dict{String,Any}(
                "resourceOperations" => Any["create", "rename", "delete"],
                "documentChanges" => true),
            "applyEdit" => true,
            "symbol" => Dict{String,Any}(
                "symbolKind" => Dict{String,Any}(
                    "valueSet" => Any[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
                                      13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
                                      23, 24, 25, 26])),
            "executeCommand" => Dict{String,Any}(
                "dynamicRegistration" => false),
            "workspaceFolders" => true,
            "configuration" => true),
        "textDocument" => Dict{String,Any}(
            "publishDiagnostics" => Dict{String,Any}(
                "relatedInformation" => true,
                "tagSupport" => Dict{String,Any}(
                    "valueSet" => Any[1, 2]),
                "versionSupport" => true),
            "documentLink" => Dict{String,Any}(
                "tooltipSupport" => true,
                "dynamicRegistration" => true),
            "callHierarchy" => Dict{String,Any}(
                "dynamicRegistration" => false),
            "semanticHighlightingCapabilities" => Dict{String,Any}(
                "semanticHighlighting" => false),
            "signatureHelp" => Dict{String,Any}(
                "signatureInformation" => Dict{String,Any}(
                    "parameterInformation" => Dict{String,Any}(
                        "labelOffsetSupport" => true))),
            "rename" => Dict{String,Any}(
                "prepareSupport" =>
                true,"dynamicRegistration" => true),
            "declaration" =>
            Dict{String,Any}(
                "linkSupport" => true),
            "hover" =>
            Dict{String,Any}(
                "contentFormat" => Any["markdown", "plaintext"]),
            "implementation" => Dict{String,Any}(
                "linkSupport" => true),
            "synchronization" => Dict{String,Any}(
                "didSave" => true,"willSaveWaitUntil" => true,"willSave" => true),
            "foldingRange" => Dict{String,Any}(
                "lineFoldingOnly" => false,"rangeLimit" =>
                nothing,"dynamicRegistration" => true),
            "definition" => Dict{String,Any}(
                "linkSupport" => true),
            "documentSymbol" => Dict{String,Any}(
                "hierarchicalDocumentSymbolSupport" => true,
                "symbolKind" => Dict{String,Any}(
                    "valueSet" => Any[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
                                      14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26])),
            "codeAction" => Dict{String,Any}(
                "codeActionLiteralSupport" => Dict{String,Any}(
                    "codeActionKind" => Dict{String,Any}(
                        "valueSet" => Any["", "quickfix", "refactor",
                                          "refactor.extract", "refactor.inline",
                                          "refactor.rewrite", "source",
                                          "source.organizeImports"])),
                "isPreferredSupport" => true,
                "dynamicRegistration" => true),
            "completion" => Dict{String,Any}(
                "completionItem" => Dict{String,Any}(
                    "documentationFormat" => Any["markdown"],
                    "snippetSupport" => true),
                "contextSupport" => true),
            "formatting" => Dict{String,Any}(
                "dynamicRegistration" => true),
            "typeDefinition" => Dict{String,Any}(
                "linkSupport" => true),
            "rangeFormatting" => Dict{String,Any}(
                "dynamicRegistration" => true))),
    "rootUri" => "file:///home/gkraemer/.julia/dev/Base58",
    "workDoneToken" => "1",
    "processId" => nothing,
    "initializationOptions" => nothing,
    "rootPath" => "/home/gkraemer/.julia/dev/Base58")

and the traceback:

ERROR: MethodError: no method matching Int64(::Nothing)
Closest candidates are:
  Int64(!Matched::Union{Bool, Int32, Int64, UInt32, UInt64, UInt8, Int128, Int16, Int8, UInt128, UInt16}) at boot.jl:707
  Int64(!Matched::Ptr) at boot.jl:717
  Int64(!Matched::Float32) at float.jl:707
  ...
Stacktrace:
 [1] LanguageServer.FoldingRangeCapabilities(::Dict{String,Any}) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/protocol/protocol.jl:37
 [2] LanguageServer.TextDocumentClientCapabilities(::Dict{String,Any}) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/protocol/protocol.jl:37
 [3] LanguageServer.ClientCapabilities(::Dict{String,Any}) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/protocol/protocol.jl:37
 [4] LanguageServer.InitializeParams(::Dict{String,Any}) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/protocol/initialize.jl:183
 [5] parse_params(::Type{Val{:initialize}}, ::Dict{String,Any}) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/requests/init.jl:127
 [6] parse(::Type{LanguageServer.JSONRPC.Request}, ::Dict{String,Any}) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/jsonrpc.jl:46
 [7] run(::LanguageServerInstance) at /home/gkraemer/progs/julia/lsp-julia/languageserver/LanguageServer/src/languageserverinstance.jl:234
 [8] top-level scope at none:1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions