aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations
diff options
context:
space:
mode:
authorMarcus Ramberg <marcus@means.no>2023-05-02 14:41:53 +0200
committerGitHub <noreply@github.com>2023-05-02 20:41:53 +0800
commitabd9bd6e2be609c269fa094cfb44192aa1f01ac9 (patch)
tree1f56021b86f9504aa2ef67530b1dfd407bac4adb /lua/lspconfig/server_configurations
parentdocs: update server_configurations.md (diff)
downloadnvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.tar
nvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.tar.gz
nvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.tar.bz2
nvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.tar.lz
nvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.tar.xz
nvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.tar.zst
nvim-lspconfig-abd9bd6e2be609c269fa094cfb44192aa1f01ac9.zip
feat: Add support for the other nim language server (#2581)
* feat: add support for the other nim language server * feat: windows support for nimlsp
Diffstat (limited to 'lua/lspconfig/server_configurations')
-rw-r--r--lua/lspconfig/server_configurations/nim_langserver.lua29
-rw-r--r--lua/lspconfig/server_configurations/nimls.lua8
2 files changed, 36 insertions, 1 deletions
diff --git a/lua/lspconfig/server_configurations/nim_langserver.lua b/lua/lspconfig/server_configurations/nim_langserver.lua
new file mode 100644
index 00000000..3a9877b3
--- /dev/null
+++ b/lua/lspconfig/server_configurations/nim_langserver.lua
@@ -0,0 +1,29 @@
+local util = require 'lspconfig.util'
+local bin_name = 'nimlangserver'
+local cmd = { bin_name }
+
+if vim.fn.has 'win32' == 1 then
+ cmd = { 'cmd.exe', '/C', bin_name }
+end
+
+return {
+ default_config = {
+ cmd = cmd,
+ filetypes = { 'nim' },
+ root_dir = function(fname)
+ return util.root_pattern '*.nimble'(fname) or util.find_git_ancestor(fname)
+ end,
+ single_file_support = true,
+ },
+ docs = {
+ description = [[
+https://github.com/nim-lang/langserver
+
+
+`nim-langserver` can be installed via the `nimble` package manager:
+```sh
+nimble install nimlangserver
+```
+ ]],
+ },
+}
diff --git a/lua/lspconfig/server_configurations/nimls.lua b/lua/lspconfig/server_configurations/nimls.lua
index 3c1aeb2b..82540afa 100644
--- a/lua/lspconfig/server_configurations/nimls.lua
+++ b/lua/lspconfig/server_configurations/nimls.lua
@@ -1,8 +1,14 @@
local util = require 'lspconfig.util'
+local bin_name = 'nimlsp'
+local cmd = { bin_name }
+
+if vim.fn.has 'win32' == 1 then
+ cmd = { 'cmd.exe', '/C', bin_name }
+end
return {
default_config = {
- cmd = { 'nimlsp' },
+ cmd = cmd,
filetypes = { 'nim' },
root_dir = function(fname)
return util.root_pattern '*.nimble'(fname) or util.find_git_ancestor(fname)