aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-13 18:31:52 -0800
committerAshkan Kiani <ashkan.k.kiani@gmail.com>2019-11-13 18:31:52 -0800
commitf5cdde6f8334f125c5b251abdb3e6600459ab888 (patch)
treeee24c6ff56e767194c48c1109949b84df4284ac0 /lua
parentAdd more instructions for contributions. (diff)
downloadnvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.tar
nvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.tar.gz
nvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.tar.bz2
nvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.tar.lz
nvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.tar.xz
nvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.tar.zst
nvim-lspconfig-f5cdde6f8334f125c5b251abdb3e6600459ab888.zip
Bugfix and indentation
Diffstat (limited to 'lua')
-rw-r--r--lua/common_lsp/gopls.lua96
-rw-r--r--lua/common_lsp/util.lua26
2 files changed, 62 insertions, 60 deletions
diff --git a/lua/common_lsp/gopls.lua b/lua/common_lsp/gopls.lua
index c43f4c38..96e9df76 100644
--- a/lua/common_lsp/gopls.lua
+++ b/lua/common_lsp/gopls.lua
@@ -91,66 +91,68 @@ end
-- This is a table, and the keys are case sensitive.
-- Example: `settings = { }`
function M.setup(config)
- validate {
- root_dir = {config.root_dir, 'f'};
- filetype = {config.filetype, 't', true};
- }
+ validate {
+ root_dir = {config.root_dir, 'f'};
+ filetype = {config.filetype, 't', true};
+ }
- if config.filetype then
+ local filetype = config.filetype or default_config.filetype
+
+ if filetype then
local filetypes
- if type(config.filetype) == 'string' then
- filetypes = { config.filetype }
+ if type(filetype) == 'string' then
+ filetypes = { filetype }
else
- filetypes = config.filetype
+ filetypes = filetype
end
- api.nvim_command(string.format(
- "autocmd FileType %s lua require'common_lsp/%s'.manager.try_add()"
- , table.concat(filetypes, ',')
- , M.name
- ))
- else
- api.nvim_command(string.format(
- "autocmd BufReadPost * lua require'common_lsp/%s'.manager.try_add()"
- , M.name
- ))
- end
+ api.nvim_command(string.format(
+ "autocmd FileType %s lua require'common_lsp'[%q].manager.try_add()"
+ , table.concat(filetypes, ',')
+ , M.name
+ ))
+ else
+ api.nvim_command(string.format(
+ "autocmd BufReadPost * lua require'common_lsp'[%q].manager.try_add()"
+ , M.name
+ ))
+ end
- local get_root_dir = config.root_dir
+ local get_root_dir = config.root_dir or default_config.root_dir
- M.manager = util.server_per_root_dir_manager(function(_root_dir)
- local new_config = vim.tbl_extend("keep", config, default_config)
- -- Deepcopy anything that is >1 level nested.
- new_config.settings = vim.deepcopy(new_config.settings)
- util.tbl_deep_extend(new_config.settings, default_config.settings)
+ M.manager = util.server_per_root_dir_manager(function(_root_dir)
+ local new_config = vim.tbl_extend("keep", config, default_config)
+ -- Deepcopy anything that is >1 level nested.
+ new_config.settings = vim.deepcopy(new_config.settings)
+ util.tbl_deep_extend(new_config.settings, default_config.settings)
- new_config.capabilities = new_config.capabilities or lsp.protocol.make_client_capabilities()
- util.tbl_deep_extend(new_config.capabilities, {
- workspace = {
- configuration = true;
- }
- })
+ new_config.capabilities = new_config.capabilities or lsp.protocol.make_client_capabilities()
+ util.tbl_deep_extend(new_config.capabilities, {
+ workspace = {
+ configuration = true;
+ }
+ })
- setup_callbacks(new_config)
+ setup_callbacks(new_config)
- new_config.on_attach = util.add_hook_after(new_config.on_attach, function(client, bufnr)
- if bufnr == api.nvim_get_current_buf() then
- M._setup_buffer()
- else
- api.nvim_command(string.format(
- "autocmd BufEnter <buffer=%d> ++once lua require'common_lsp/%s'._setup_buffer()",
- M.name,
- bufnr))
- end
- end)
- return new_config
- end)
+ new_config.on_attach = util.add_hook_after(new_config.on_attach, function(client, bufnr)
+ if bufnr == api.nvim_get_current_buf() then
+ M._setup_buffer()
+ else
+ api.nvim_command(string.format(
+ "autocmd BufEnter <buffer=%d> ++once lua require'common_lsp/%s'._setup_buffer()",
+ M.name,
+ bufnr))
+ end
+ end)
+ return new_config
+ end)
- function M.manager.try_add()
+ function M.manager.try_add()
local root_dir = get_root_dir(api.nvim_buf_get_name(0), api.nvim_get_current_buf())
print(api.nvim_get_current_buf(), root_dir)
- local id = M.manager.add(root_dir)
+ local id = M.manager.add(root_dir)
lsp.buf_attach_client(0, id)
- end
+ end
end
-- Declare any commands here. You can use additional modifiers like "-range"
diff --git a/lua/common_lsp/util.lua b/lua/common_lsp/util.lua
index b821854a..9aed25fe 100644
--- a/lua/common_lsp/util.lua
+++ b/lua/common_lsp/util.lua
@@ -124,10 +124,10 @@ M.path = (function()
local strip_sep_pat = path_sep.."$"
dirname = function(path)
local result = path:gsub(strip_sep_pat, ""):gsub(strip_dir_pat, "")
- if #result == 0 then
- return "/"
- end
- return result
+ if #result == 0 then
+ return "/"
+ end
+ return result
end
end
@@ -142,24 +142,24 @@ M.path = (function()
-- Just in case our algo is buggy, don't infinite loop.
for _ = 1, 100 do
dir = dirname(dir)
- -- If we can't ascend further, then stop looking.
+ -- If we can't ascend further, then stop looking.
if cb(dir, path) then
return dir, path
end
- if is_fs_root(dir) then
- break
- end
+ if is_fs_root(dir) then
+ break
+ end
end
end
-- Iterate the path until we find the rootdir.
local function iterate_parents(path)
path = uv.fs_realpath(path)
- local function it(s, v)
- if is_fs_root(v) then return end
- return dirname(v), path
- end
- return it, path, path
+ local function it(s, v)
+ if is_fs_root(v) then return end
+ return dirname(v), path
+ end
+ return it, path, path
end
return {