rust_hdl
rust_hdl copied to clipboard
Panic when (seemingly) completing a port name
Hello. It seems that the LSP is panicking and exiting with exit code 101
when I try to complete a port name.
Minimal example:
vhdl_ls
version v0.80.0
Client: Neovim with latest nvim-lspconfig
, LSP installed with mason
. Using the default configuration in nvim-lspconfig
, but here is my config for the LSP.
vhdl_ls.toml
[libraries]
defaultlib.files = [
"./*.vhd"
]
VHDL File
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity test1 is
port (
i_clk : in std_logic;
i_rstn : in std_logic;
i_d : in std_logic;
o_q : out std_logic;
o_qn : out std_logic
);
end entity test1;
architecture behav of test1 is
begin
o_q_proc : process (i_clk) is
begin
if rising_edge(i_clk) then
if (i_rstn = '0') then
o_q <= '0';
else
o_q <= i_d;
end if;
end if;
end process o_q_proc;
end architecture behav;
If I try to add o_qn <= not o_q
, by typing out o_
and then selecting the autocomplete candidate from the LSP, I get the crash. Seems to be a rust panic. I have attached the log for the whole LSP session. The only related line seems to be the last one, however I figured I'd include it all
[START][2024-05-02 15:48:41] LSP logging initiated
[INFO][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:662 "Starting RPC client" { args = {}, cmd = "/home/sgower/.local/share/nvim/mason/bin/vhdl_ls", extra = { cwd = "/home/sgower/Documents/Development/test/vhdl" }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 1, jsonrpc = "2.0", method = "initialize", params = { capabilities = { textDocument = { callHierarchy = { dynamicRegistration = false }, codeAction = { codeActionLiteralSupport = { codeActionKind = { valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" } } }, dataSupport = true, dynamicRegistration = false, isPreferredSupport = true, resolveSupport = { properties = { "edit" } } }, completion = { completionItem = { commitCharactersSupport = false, deprecatedSupport = false, documentationFormat = { "markdown", "plaintext" }, preselectSupport = false, resolveSupport = { properties = { "documentation", "detail", "additionalTextEdits" } }, snippetSupport = true }, 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 } }, contextSupport = false, dynamicRegistration = false }, declaration = { linkSupport = true }, definition = { linkSupport = true }, documentHighlight = { dynamicRegistration = false }, 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 } } }, hover = { contentFormat = { "markdown", "plaintext" }, dynamicRegistration = false }, implementation = { linkSupport = true }, publishDiagnostics = { relatedInformation = true, tagSupport = { valueSet = { 1, 2 } } }, references = { dynamicRegistration = false }, rename = { dynamicRegistration = false, prepareSupport = true }, semanticTokens = { augmentsSyntaxTokens = true, dynamicRegistration = false, formats = { "relative" }, multilineTokenSupport = false, overlappingTokenSupport = true, requests = { full = { delta = true }, range = false }, serverCancelSupport = false, tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" }, tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" } }, signatureHelp = { dynamicRegistration = false, signatureInformation = { activeParameterSupport = true, documentationFormat = { "markdown", "plaintext" }, parameterInformation = { labelOffsetSupport = true } } }, synchronization = { didSave = true, dynamicRegistration = false, willSave = true, willSaveWaitUntil = true }, typeDefinition = { linkSupport = true } }, window = { showDocument = { support = true }, showMessage = { messageActionItem = { additionalPropertiesSupport = false } }, workDoneProgress = true }, workspace = { applyEdit = true, configuration = true, didChangeWatchedFiles = { dynamicRegistration = false, relativePatternSupport = true }, semanticTokens = { refreshSupport = 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 } } }, workspaceEdit = { resourceOperations = { "rename", "create", "delete" } }, workspaceFolders = true } }, clientInfo = { name = "Neovim", version = "0.9.5" }, initializationOptions = vim.empty_dict(), processId = 2692421, rootPath = "/home/sgower/Documents/Development/test/vhdl", rootUri = "file:///home/sgower/Documents/Development/test/vhdl", trace = "off", workspaceFolders = { { name = "/home/sgower/Documents/Development/test/vhdl", uri = "file:///home/sgower/Documents/Development/test/vhdl" } } }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "window/logMessage", params = { message = "Loaded Installation configuration file: /home/sgower/.local/share/nvim/mason/packages/rust_hdl/vhdl_ls-x86_64-unknown-linux-musl/bin/../vhdl_libraries/vhdl_ls.toml", type = 4 }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "window/logMessage", params = { message = "Loaded HOME folder configuration file: /home/sgower/.vhdl_ls.toml", type = 4 }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "window/logMessage", params = { message = "Loaded workspace root configuration file: /home/sgower/Documents/Development/test/vhdl/vhdl_ls.toml", type = 4 }}
[INFO][2024-05-02 15:48:41] ...lsp/handlers.lua:539 "Loaded Installation configuration file: /home/sgower/.local/share/nvim/mason/packages/rust_hdl/vhdl_ls-x86_64-unknown-linux-musl/bin/../vhdl_libraries/vhdl_ls.toml"
[INFO][2024-05-02 15:48:41] ...lsp/handlers.lua:539 "Loaded HOME folder configuration file: /home/sgower/.vhdl_ls.toml"
[INFO][2024-05-02 15:48:41] ...lsp/handlers.lua:539 "Loaded workspace root configuration file: /home/sgower/Documents/Development/test/vhdl/vhdl_ls.toml"
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:387 "rpc.receive" { id = 1, jsonrpc = "2.0", result = { capabilities = { completionProvider = { completionItem = { labelDetailsSupport = true }, resolveProvider = true, triggerCharacters = { "." } }, declarationProvider = true, definitionProvider = true, documentSymbolProvider = true, hoverProvider = true, implementationProvider = true, referencesProvider = true, renameProvider = { prepareProvider = true }, textDocumentSync = 2, workspaceSymbolProvider = true } }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "initialized", params = vim.empty_dict()}
[INFO][2024-05-02 15:48:41] .../lua/vim/lsp.lua:1344 "LSP[vhdl_ls]" "server_capabilities" { server_capabilities = { completionProvider = { completionItem = { labelDetailsSupport = true }, resolveProvider = true, triggerCharacters = { "." } }, declarationProvider = true, definitionProvider = true, documentSymbolProvider = true, hoverProvider = true, implementationProvider = true, referencesProvider = true, renameProvider = { prepareProvider = true }, textDocumentSync = { change = 2, openClose = true, save = { includeText = false }, willSave = false, willSaveWaitUntil = false }, workspaceSymbolProvider = true }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didOpen", params = { textDocument = { languageId = "vhdl", text = "library ieee;\n use ieee.std_logic_1164.all;\n use ieee.numeric_std.all;\n\nentity test1 is\n port (\n i_clk : in std_logic;\n i_rstn : in std_logic;\n i_d : in std_logic;\n o_q : out std_logic;\n o_qn : out std_logic\n );\nend entity test1;\n\narchitecture behav of test1 is\n\nbegin\n\n o_q_proc : process (i_clk) is\n begin\n\n if rising_edge(i_clk) then\n if (i_rstn = '0') then\n o_q <= '0';\n else\n o_q <= i_d;\n end if;\n end if;\n\n end process o_q_proc;\n\n o_qn <= not o_q;\n\nend architecture behav;\n", uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 0 } }}
[DEBUG][2024-05-02 15:48:41] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "workspace/didChangeConfiguration", params = { settings = vim.empty_dict() }}
[DEBUG][2024-05-02 15:48:42] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:42] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:49] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 0, line = 32 }, start = { character = 0, line = 30 } }, rangeLength = 22, text = "" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 5 } }}
[DEBUG][2024-05-02 15:48:49] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:49] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:50] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didSave", params = { textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" } }}
[DEBUG][2024-05-02 15:48:54] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 0, line = 30 }, start = { character = 25, line = 29 } }, rangeLength = 1, text = "\n \n" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 7 } }}
[DEBUG][2024-05-02 15:48:54] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:54] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 4, line = 30 }, start = { character = 0, line = 30 } }, rangeLength = 4, text = "\n " } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 8 } }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 4, line = 31 }, start = { character = 4, line = 31 } }, rangeLength = 0, text = "o" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 9 } }}
[DEBUG][2024-05-02 15:48:55] .../lua/vim/lsp.lua:1391 "LSP[vhdl_ls]" "client.request" 1 "textDocument/completion" { context = { triggerKind = 1 }, position = { character = 5, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }} <function 1> 1
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 2, jsonrpc = "2.0", method = "textDocument/completion", params = { context = { triggerKind = 1 }, position = { character = 5, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" } }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 5, line = 31 }, start = { character = 5, line = 31 } }, severity = 1, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { id = 2, jsonrpc = "2.0", result = { isIncomplete = true, items = { { data = 253403070465, detail = "port 'i_clk' : in", insertText = "i_clk", kind = 23, label = "i_clk" }, { data = 253403070467, detail = "port 'i_d' : in", insertText = "i_d", kind = 23, label = "i_d" }, { data = 253403070466, detail = "port 'i_rstn' : in", insertText = "i_rstn", kind = 23, label = "i_rstn" }, { data = 253403070468, detail = "port 'o_q' : out", insertText = "o_q", kind = 23, label = "o_q" }, { data = 253403070469, detail = "port 'o_qn' : out", insertText = "o_qn", kind = 23, label = "o_qn" }, { insertText = "${1:test_inst}: entity ${2|work,defaultlib|}.test\n generic map(\n G_WIDTH => ${4:G_WIDTH}\n)\n port map(\n i_clk => ${5:i_clk},\n i_a => ${6:i_a},\n i_b => ${7:i_b},\n i_c => ${8:i_c},\n i_d => ${9:i_d},\n o_x => ${10:o_x},\n o_sig => ${11:o_sig}\n);", insertTextFormat = 2, kind = 9, label = "test instantiation" } } }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 5, line = 31 }, start = { character = 5, line = 31 } }, rangeLength = 0, text = "_" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 10 } }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 6, line = 31 }, start = { character = 6, line = 31 } }, severity = 1, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:55] .../lua/vim/lsp.lua:1391 "LSP[vhdl_ls]" "client.request" 1 "textDocument/completion" { context = { triggerKind = 3 }, position = { character = 6, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }} <function 1> 1
[DEBUG][2024-05-02 15:48:55] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 3, jsonrpc = "2.0", method = "textDocument/completion", params = { context = { triggerKind = 3 }, position = { character = 6, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { id = 3, jsonrpc = "2.0", result = { isIncomplete = true, items = { { data = 261993005057, detail = "port 'i_clk' : in", insertText = "i_clk", kind = 23, label = "i_clk" }, { data = 261993005059, detail = "port 'i_d' : in", insertText = "i_d", kind = 23, label = "i_d" }, { data = 261993005058, detail = "port 'i_rstn' : in", insertText = "i_rstn", kind = 23, label = "i_rstn" }, { data = 261993005060, detail = "port 'o_q' : out", insertText = "o_q", kind = 23, label = "o_q" }, { data = 261993005061, detail = "port 'o_qn' : out", insertText = "o_qn", kind = 23, label = "o_qn" }, { insertText = "${1:test_inst}: entity ${2|work,defaultlib|}.test\n generic map(\n G_WIDTH => ${4:G_WIDTH}\n)\n port map(\n i_clk => ${5:i_clk},\n i_a => ${6:i_a},\n i_b => ${7:i_b},\n i_c => ${8:i_c},\n i_d => ${9:i_d},\n o_x => ${10:o_x},\n o_sig => ${11:o_sig}\n);", insertTextFormat = 2, kind = 9, label = "test instantiation" } } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 6, line = 31 }, start = { character = 6, line = 31 } }, rangeLength = 0, text = "q" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 11 } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 31 }, start = { character = 7, line = 31 } }, severity = 1, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:56] .../lua/vim/lsp.lua:1391 "LSP[vhdl_ls]" "client.request" 1 "textDocument/completion" { context = { triggerKind = 3 }, position = { character = 7, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }} <function 1> 1
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 4, jsonrpc = "2.0", method = "textDocument/completion", params = { context = { triggerKind = 3 }, position = { character = 7, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { id = 4, jsonrpc = "2.0", result = { isIncomplete = true, items = { { data = 270582939649, detail = "port 'i_clk' : in", insertText = "i_clk", kind = 23, label = "i_clk" }, { data = 270582939651, detail = "port 'i_d' : in", insertText = "i_d", kind = 23, label = "i_d" }, { data = 270582939650, detail = "port 'i_rstn' : in", insertText = "i_rstn", kind = 23, label = "i_rstn" }, { data = 270582939652, detail = "port 'o_q' : out", insertText = "o_q", kind = 23, label = "o_q" }, { data = 270582939653, detail = "port 'o_qn' : out", insertText = "o_qn", kind = 23, label = "o_qn" }, { insertText = "${1:test_inst}: entity ${2|work,defaultlib|}.test\n generic map(\n G_WIDTH => ${4:G_WIDTH}\n)\n port map(\n i_clk => ${5:i_clk},\n i_a => ${6:i_a},\n i_b => ${7:i_b},\n i_c => ${8:i_c},\n i_d => ${9:i_d},\n o_x => ${10:o_x},\n o_sig => ${11:o_sig}\n);", insertTextFormat = 2, kind = 9, label = "test instantiation" } } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 7, line = 31 }, start = { character = 7, line = 31 } }, rangeLength = 0, text = "n" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 12 } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 8, line = 31 }, start = { character = 8, line = 31 } }, severity = 1, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:56] .../lua/vim/lsp.lua:1391 "LSP[vhdl_ls]" "client.request" 1 "textDocument/completion" { context = { triggerKind = 3 }, position = { character = 8, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }} <function 1> 1
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 5, jsonrpc = "2.0", method = "textDocument/completion", params = { context = { triggerKind = 3 }, position = { character = 8, line = 31 }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" } }}
[DEBUG][2024-05-02 15:48:56] .../vim/lsp/rpc.lua:387 "rpc.receive" { id = 5, jsonrpc = "2.0", result = { isIncomplete = true, items = { { data = 279172874241, detail = "port 'i_clk' : in", insertText = "i_clk", kind = 23, label = "i_clk" }, { data = 279172874243, detail = "port 'i_d' : in", insertText = "i_d", kind = 23, label = "i_d" }, { data = 279172874242, detail = "port 'i_rstn' : in", insertText = "i_rstn", kind = 23, label = "i_rstn" }, { data = 279172874244, detail = "port 'o_q' : out", insertText = "o_q", kind = 23, label = "o_q" }, { data = 279172874245, detail = "port 'o_qn' : out", insertText = "o_qn", kind = 23, label = "o_qn" }, { insertText = "${1:test_inst}: entity ${2|work,defaultlib|}.test\n generic map(\n G_WIDTH => ${4:G_WIDTH}\n)\n port map(\n i_clk => ${5:i_clk},\n i_a => ${6:i_a},\n i_b => ${7:i_b},\n i_c => ${8:i_c},\n i_d => ${9:i_d},\n o_x => ${10:o_x},\n o_sig => ${11:o_sig}\n);", insertTextFormat = 2, kind = 9, label = "test instantiation" } } }}
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 8, line = 31 }, start = { character = 7, line = 31 } }, rangeLength = 1, text = "" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 13 } }}
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 31 }, start = { character = 7, line = 31 } }, severity = 1, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:284 "rpc.send" { jsonrpc = "2.0", method = "textDocument/didChange", params = { contentChanges = { { range = { ["end"] = { character = 7, line = 31 }, start = { character = 6, line = 31 } }, rangeLength = 1, text = "" }, { range = { ["end"] = { character = 6, line = 31 }, start = { character = 5, line = 31 } }, rangeLength = 1, text = "" }, { range = { ["end"] = { character = 5, line = 31 }, start = { character = 4, line = 31 } }, rangeLength = 1, text = "" }, { range = { ["end"] = { character = 4, line = 31 }, start = { character = 4, line = 31 } }, rangeLength = 0, text = "o" }, { range = { ["end"] = { character = 5, line = 31 }, start = { character = 5, line = 31 } }, rangeLength = 0, text = "_" }, { range = { ["end"] = { character = 6, line = 31 }, start = { character = 6, line = 31 } }, rangeLength = 0, text = "q" }, { range = { ["end"] = { character = 7, line = 31 }, start = { character = 7, line = 31 } }, rangeLength = 0, text = "n" } }, textDocument = { uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd", version = 20 } }}
[DEBUG][2024-05-02 15:48:57] .../lua/vim/lsp.lua:1391 "LSP[vhdl_ls]" "client.request" 1 "completionItem/resolve" { data = 279172874245, detail = "port 'o_qn' : out", insertText = "o_qn", kind = 23, label = "o_qn"} <function 1> 1
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:284 "rpc.send" { id = 6, jsonrpc = "2.0", method = "completionItem/resolve", params = { data = 279172874245, detail = "port 'o_qn' : out", insertText = "o_qn", kind = 23, label = "o_qn" }}
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 7, line = 119 }, start = { character = 7, line = 119 } }, severity = 1, source = "vhdl ls" }, { code = "unnecessary_work_library", message = "Library clause not necessary for current working library", range = { ["end"] = { character = 12, line = 27 }, start = { character = 8, line = 27 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_d' : in", range = { ["end"] = { character = 11, line = 56 }, start = { character = 8, line = 56 } }, severity = 2, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'i_c' : in", range = { ["end"] = { character = 11, line = 43 }, start = { character = 8, line = 43 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test.vhd" }}
[DEBUG][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:387 "rpc.receive" { jsonrpc = "2.0", method = "textDocument/publishDiagnostics", params = { diagnostics = { { code = "syntax_error", message = "Expected '<=' or ';'", range = { ["end"] = { character = 8, line = 31 }, start = { character = 8, line = 31 } }, severity = 1, source = "vhdl ls" }, { code = "unused", message = "Unused declaration of port 'o_qn' : out", range = { ["end"] = { character = 12, line = 10 }, start = { character = 8, line = 10 } }, severity = 2, source = "vhdl ls" } }, uri = "file:///home/sgower/Documents/Development/test/vhdl/test1.vhd" }}
[ERROR][2024-05-02 15:48:57] .../vim/lsp/rpc.lua:734 "rpc" "/home/sgower/.local/share/nvim/mason/bin/vhdl_ls" "stderr" "thread 'main' panicked at vhdl_lang/src/named_entity/arena.rs:113:32:\nno entry found for key\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n"
Seems to be pointing to an error related the the dict not having a key here https://github.com/VHDL-LS/rust_hdl/blob/56f17db69a56b0e094667a9da83fb17cd20922c2/vhdl_lang/src/named_entity/arena.rs#L113