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, +} |