From abd9bd6e2be609c269fa094cfb44192aa1f01ac9 Mon Sep 17 00:00:00 2001 From: Marcus Ramberg Date: Tue, 2 May 2023 14:41:53 +0200 Subject: feat: Add support for the other nim language server (#2581) * feat: add support for the other nim language server * feat: windows support for nimlsp --- .../server_configurations/nim_langserver.lua | 29 ++++++++++++++++++++++ lua/lspconfig/server_configurations/nimls.lua | 8 +++++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 lua/lspconfig/server_configurations/nim_langserver.lua (limited to 'lua/lspconfig') 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) -- cgit v1.2.3-70-g09d2