diff options
Diffstat (limited to '.config/nvim/lsp/nim_langserver.lua')
| -rw-r--r-- | .config/nvim/lsp/nim_langserver.lua | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/.config/nvim/lsp/nim_langserver.lua b/.config/nvim/lsp/nim_langserver.lua new file mode 100644 index 0000000..441ee24 --- /dev/null +++ b/.config/nvim/lsp/nim_langserver.lua @@ -0,0 +1,23 @@ +---@brief +--- +--- https://github.com/nim-lang/langserver +--- +--- +--- `nim-langserver` can be installed via the `nimble` package manager: +--- ```sh +--- nimble install nimlangserver +--- ``` + +local util = require 'lspconfig.util' + +---@type vim.lsp.Config +return { +  cmd = { 'nimlangserver' }, +  filetypes = { 'nim' }, +  root_dir = function(bufnr, on_dir) +    local fname = vim.api.nvim_buf_get_name(bufnr) +    on_dir( +      util.root_pattern '*.nimble'(fname) or vim.fs.dirname(vim.fs.find('.git', { path = fname, upward = true })[1]) +    ) +  end, +}  |