Thanks for the great project.
While experimenting with builtin LSP in nvim I found that goto definition do not work with anakinls
as language server (it doesn't work with jedi-language-server
either).
Unfotunately anakinls
do not work with LanguageClient
either with the following error message:
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp.lua:670 ] "LSP[anakin_language_server]" "client.request" 1 "textDocument/definition" { position = { character = 13, line = 622 }, textDocument = { uri = "file:///home/xxxx/codes/mycode/mycode/base.py" }} <function 1> 1
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp/rpc.lua:376 ] "rpc.send.payload" { id = 2, jsonrpc = "2.0", method = "textDocument/definition", params = { position = { character = 13, line = 622 }, textDocument = { uri = "file:///home/xxxx/codes/mycode/mycode[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp.lua:670 ] "LSP[anakin_language_server]" "client.request" 1 "textDocument/definition" { position = { character = 13, line = 622 }, textDocument = { uri = "file:///home/xxxx/codes/mycode/mycode/base.py" }} <function 1> 1
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp/rpc.lua:376 ] "rpc.send.payload" { id = 2, jsonrpc = "2.0", method = "textDocument/definition", params = { position = { character = 13, line = 622 }, textDocument = { uri = "file:///home/xxxx/codes/mycode/mycode/base.py" } }}
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp/rpc.lua:477 ] "decoded" { id = 2, jsonrpc = "2.0", result = { { range = { end = { character = 12, line = 635 }, start = { character = 4, line = 635 } }, uri = vim.NIL } }}
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp/handlers.lua:297 ] "default_handler" "textDocument/definition" { bufnr = 1, client_id = 1, params = { { range = { end = { character = 12, line = 635 }, start = { character = 4, line = 635 } } } }}
[ INFO ] 2020-11-24T10:03:01+0100 ] /usr/share/nvim/runtime/lua/vim/lsp.lua:974 ] "exit_handler" { { _on_attach = <function 1>, callbacks = <1>{ ["window/logMessage"] = <function 2>, ["window/showMessage"] = <function 3>, ["workspace/configuration"] = <function 4> }, cancel_request = <function 5>, config = { _on_attach = <function 6>, capabilities = { callHierarchy = { dynamicRegistration = false, <metatable> = <2>{ __tostring = <function 7> } }, textDocument = { codeAction = { codeActionLiteralSupport = { codeActionKind = { valueSet = { "", "RefactorInline", "source.organizeImports", "quickfix", "QuickFix", "Refactor", "Source", "RefactorRewrite", "refactor.inline", "RefactorExtract", "source", "SourceOrganizeImports", "refactor", "Empty", "refactor.rewrite", "refactor.extract" }, <metatable> = <table 2> }, <metatable> = <table 2> }, dynamicRegistration = false, <metatable> = <table 2> }, completion = { completionItem = { commitCharactersSupport = false, deprecatedSupport = false, documentationFormat = { "markdown", "plaintext" }, preselectSupport = false, snippetSupport = false, <metatable> = <table 2> }, completionItemKind = { valueSet = { 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 }, <metatable> = <table 2> }, contextSupport = false, dynamicRegistration = false, <metatable> = <table 2> }, declaration = { linkSupport = true, <metatable> = <table 2> }, definition = { linkSupport = true, <metatable> = <table 2> }, documentHighlight = { dynamicRegistration = false, <metatable> = <table 2> }, documentSymbol = { dynamicRegistration = false, hierarchicalDocumentSymbolSupport = true, symbolKind = { valueSet = { 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 }, <metatable> = <table 2> }, <metatable> = <table 2> }, hover = { contentFormat = { "markdown", "plaintext" }, dynamicRegistration = false, <metatable> = <table 2> }, implementation = { linkSupport = true, <metatable> = <table 2> }, references = { dynamicRegistration = false, <metatable> = <table 2> }, rename = { dynamicRegistration = false, prepareSupport = true, <metatable> = <table 2> }, signatureHelp = { dynamicRegistration = false, signatureInformation = { documentationFormat = { "markdown", "plaintext" }, <metatable> = <table 2> }, <metatable> = <table 2> }, synchronization = { didSave = true, dynamicRegistration = false, willSave = false, willSaveWaitUntil = false, <metatable> = <table 2> }, typeDefinition = { linkSupport = true, <metatable> = <table 2> }, <metatable> = <table 2> }, workspace = { applyEdit = true, configuration = true, symbol = { dynamicRegistration = false, hierarchicalWorkspaceSymbolSupport = true, symbolKind = { valueSet = { 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 }, <metatable> = <table 2> }, <metatable> = <table 2> }, <metatable> = <table 2> } }, cmd = { "anakinls" }, filetypes = { "python" }, handlers = <table 1>, init_options = vim.empty_dict(), log_level = 2, message_level = 2, name = "anakin_language_server", on_attach = <function 8>, on_exit = <function 9>, on_init = <function 10>, root_dir = "/home/xxxx/codes/mycode/mycode", settings = vim.empty_dict(), <metatable> = <table 2> }, handlers = <table 1>, id = 1, initialized = true, is_stopped = <function 11>, name = "anakin_language_server", notify = <function 12>, offset_encoding = "utf-16", request = <function 13>, resolved_capabilities = { call_hierarchy = false, code_action = <3>{ codeActionKinds = { "refactor.inline", "refactor.extract" } }, completion = true, declaration = false, document_formatting = true, document_highlight = true, document_range_formatting = true, document_symbol = true, execute_command = true, find_references = true, goto_definition = true, hover = true, implementation = false, rename = true, signature_help = true, signature_help_trigger_characters = <4>{ "(", "," }, text_document_did_change = 2, text_document_open_close = true, text_document_save = <5>{ includeText = false }, text_document_save_include_text = false, text_document_will_save = false, text_document_will_save_wait_until = false, type_definition = false, workspace_symbol = false }, rpc = { handle = <userdata 1>, notify = <function 14>, pid = 547204, request = <function 15> }, server_capabilities = { codeActionProvider = <table 3>, completionProvider = { resolveProvider = false, triggerCharacters = { "." } }, definitionProvider = true, documentFormattingProvider = true, documentHighlightProvider = true, documentOnTypeFormattingProvider = { firstTriggerCharacter = "", moreTriggerCharacter = {} }, documentRangeFormattingProvider = true, documentSymbolProvider = true, executeCommandProvider = { commands = {} }, hoverProvider = true, referencesProvider = true, renameProvider = true, signatureHelpProvider = { triggerCharacters = <table 4> }, textDocumentSync = { change = 2, openClose = true, save = <table 5>, willSave = false, willSaveWaitUntil = false }, workspace = { workspaceFolders = { changeNotifications = true, supported = true } }, workspaceSymbolProvider = false }, stop = <function 16>, supports_method = <function 17>, workspace_did_change_configuration = <function 18> } }
/base.py" } }}
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp/rpc.lua:477 ] "decoded" { id = 2, jsonrpc = "2.0", result = { { range = { end = { character = 12, line = 635 }, start = { character = 4, line = 635 } }, uri = vim.NIL } }}
[ DEBUG ] 2020-11-24T10:02:57+0100 ] /usr/share/nvim/runtime/lua/vim/lsp/handlers.lua:297 ] "default_handler" "textDocument/definition" { bufnr = 1, client_id = 1, params = { { range = { end = { character = 12, line = 635 }, start = { character = 4, line = 635 } } } }}
[ INFO ] 2020-11-24T10:03:01+0100 ] /usr/share/nvim/runtime/lua/vim/lsp.lua:974 ] "exit_handler" { { _on_attach = <function 1>, callbacks = <1>{ ["window/logMessage"] = <function 2>, ["window/showMessage"] = <function 3>, ["workspace/configuration"] = <function 4> }, cancel_request = <function 5>, config = { _on_attach = <function 6>, capabilities = { callHierarchy = { dynamicRegistration = false, <metatable> = <2>{ __tostring = <function 7> } }, textDocument = { codeAction = { codeActionLiteralSupport = { codeActionKind = { valueSet = { "", "RefactorInline", "source.organizeImports", "quickfix", "QuickFix", "Refactor", "Source", "RefactorRewrite", "refactor.inline", "RefactorExtract", "source", "SourceOrganizeImports", "refactor", "Empty", "refactor.rewrite", "refactor.extract" }, <metatable> = <table 2> }, <metatable> = <table 2> }, dynamicRegistration = false, <metatable> = <table 2> }, completion = { completionItem = { commitCharactersSupport = false, deprecatedSupport = false, documentationFormat = { "markdown", "plaintext" }, preselectSupport = false, snippetSupport = false, <metatable> = <table 2> }, completionItemKind = { valueSet = { 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 }, <metatable> = <table 2> }, contextSupport = false, dynamicRegistration = false, <metatable> = <table 2> }, declaration = { linkSupport = true, <metatable> = <table 2> }, definition = { linkSupport = true, <metatable> = <table 2> }, documentHighlight = { dynamicRegistration = false, <metatable> = <table 2> }, documentSymbol = { dynamicRegistration = false, hierarchicalDocumentSymbolSupport = true, symbolKind = { valueSet = { 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 }, <metatable> = <table 2> }, <metatable> = <table 2> }, hover = { contentFormat = { "markdown", "plaintext" }, dynamicRegistration = false, <metatable> = <table 2> }, implementation = { linkSupport = true, <metatable> = <table 2> }, references = { dynamicRegistration = false, <metatable> = <table 2> }, rename = { dynamicRegistration = false, prepareSupport = true, <metatable> = <table 2> }, signatureHelp = { dynamicRegistration = false, signatureInformation = { documentationFormat = { "markdown", "plaintext" }, <metatable> = <table 2> }, <metatable> = <table 2> }, synchronization = { didSave = true, dynamicRegistration = false, willSave = false, willSaveWaitUntil = false, <metatable> = <table 2> }, typeDefinition = { linkSupport = true, <metatable> = <table 2> }, <metatable> = <table 2> }, workspace = { applyEdit = true, configuration = true, symbol = { dynamicRegistration = false, hierarchicalWorkspaceSymbolSupport = true, symbolKind = { valueSet = { 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 }, <metatable> = <table 2> }, <metatable> = <table 2> }, <metatable> = <table 2> } }, cmd = { "anakinls" }, filetypes = { "python" }, handlers = <table 1>, init_options = vim.empty_dict(), log_level = 2, message_level = 2, name = "anakin_language_server", on_attach = <function 8>, on_exit = <function 9>, on_init = <function 10>, root_dir = "/home/xxxx/codes/mycode/mycode", settings = vim.empty_dict(), <metatable> = <table 2> }, handlers = <table 1>, id = 1, initialized = true, is_stopped = <function 11>, name = "anakin_language_server", notify = <function 12>, offset_encoding = "utf-16", request = <function 13>, resolved_capabilities = { call_hierarchy = false, code_action = <3>{ codeActionKinds = { "refactor.inline", "refactor.extract" } }, completion = true, declaration = false, document_formatting = true, document_highlight = true, document_range_formatting = true, document_symbol = true, execute_command = true, find_references = true, goto_definition = true, hover = true, implementation = false, rename = true, signature_help = true, signature_help_trigger_characters = <4>{ "(", "," }, text_document_did_change = 2, text_document_open_close = true, text_document_save = <5>{ includeText = false }, text_document_save_include_text = false, text_document_will_save = false, text_document_will_save_wait_until = false, type_definition = false, workspace_symbol = false }, rpc = { handle = <userdata 1>, notify = <function 14>, pid = 547204, request = <function 15> }, server_capabilities = { codeActionProvider = <table 3>, completionProvider = { resolveProvider = false, triggerCharacters = { "." } }, definitionProvider = true, documentFormattingProvider = true, documentHighlightProvider = true, documentOnTypeFormattingProvider = { firstTriggerCharacter = "", moreTriggerCharacter = {} }, documentRangeFormattingProvider = true, documentSymbolProvider = true, executeCommandProvider = { commands = {} }, hoverProvider = true, referencesProvider = true, renameProvider = true, signatureHelpProvider = { triggerCharacters = <table 4> }, textDocumentSync = { change = 2, openClose = true, save = <table 5>, willSave = false, willSaveWaitUntil = false }, workspace = { workspaceFolders = { changeNotifications = true, supported = true } }, workspaceSymbolProvider = false }, stop = <function 16>, supports_method = <function 17>, workspace_did_change_configuration = <function 18> } }