diff options
| author | Ibrahim Muftee <ibrahim@muftee.net> | 2025-08-04 07:45:42 -0500 |
|---|---|---|
| committer | Ibrahim Muftee <ibrahim@muftee.net> | 2026-07-01 00:23:31 -0400 |
| commit | 23d53b5d7bc2f31eed672c0a8d26dc608fb6d0ba (patch) | |
| tree | 7b23cd20340dd0984bb1a9616744ef81c69d3b4c /dot_config/nvim_new/lsp/svlangserver.lua | |
| parent | 1227ae992f4494d6a3d82d70d0bb9cb01dd50847 (diff) | |
feat(nvim) slim down new config
Diffstat (limited to 'dot_config/nvim_new/lsp/svlangserver.lua')
| -rw-r--r-- | dot_config/nvim_new/lsp/svlangserver.lua | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/dot_config/nvim_new/lsp/svlangserver.lua b/dot_config/nvim_new/lsp/svlangserver.lua new file mode 100644 index 0000000..9e205e2 --- /dev/null +++ b/dot_config/nvim_new/lsp/svlangserver.lua @@ -0,0 +1,45 @@ +---@brief +--- +--- https://github.com/imc-trading/svlangserver +--- +--- Language server for SystemVerilog. +--- +--- `svlangserver` can be installed via `npm`: +--- +--- ```sh +--- $ npm install -g @imc-trading/svlangserver +--- ``` + +local function build_index() + local params = { + command = 'systemverilog.build_index', + } + vim.lsp.buf.execute_command(params) +end + +local function report_hierarchy() + local params = { + command = 'systemverilog.report_hierarchy', + arguments = { vim.fn.expand '<cword>' }, + } + vim.lsp.buf.execute_command(params) +end + +return { + cmd = { 'svlangserver' }, + filetypes = { 'verilog', 'systemverilog' }, + root_markers = { '.svlangserver', '.git' }, + settings = { + systemverilog = { + includeIndexing = { '*.{v,vh,sv,svh}', '**/*.{v,vh,sv,svh}' }, + }, + }, + on_attach = function(_, bufnr) + vim.api.nvim_buf_create_user_command(bufnr, 'LspSvlangserverBuildIndex', build_index, { + desc = 'Instructs language server to rerun indexing', + }) + vim.api.nvim_buf_create_user_command(bufnr, 'LspSvlangserverReportHierarchy', report_hierarchy, { + desc = 'Generates hierarchy for the given module', + }) + end, +} |
