aboutsummaryrefslogtreecommitdiffstats
path: root/lsp/nim_langserver.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lsp/nim_langserver.lua')
-rw-r--r--lsp/nim_langserver.lua21
1 files changed, 21 insertions, 0 deletions
diff --git a/lsp/nim_langserver.lua b/lsp/nim_langserver.lua
new file mode 100644
index 00000000..c910c82b
--- /dev/null
+++ b/lsp/nim_langserver.lua
@@ -0,0 +1,21 @@
+local util = require 'lspconfig.util'
+
+---@brief
+---
+---https://github.com/nim-lang/langserver
+--
+--
+-- `nim-langserver` can be installed via the `nimble` package manager:
+-- ```sh
+-- nimble install nimlangserver
+-- ```
+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,
+}