diff options
| author | kylo252 <59826753+kylo252@users.noreply.github.com> | 2021-11-08 17:21:24 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-08 08:21:24 -0800 |
| commit | 57ea20d81ffb8afd8b8fa4c674dcab6ad877874a (patch) | |
| tree | 0be5d4bb134c71b2384fe4c9f5e6e3199b12d833 /lua | |
| parent | docs: update CONFIG.md (diff) | |
| download | nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.tar nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.tar.gz nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.tar.bz2 nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.tar.lz nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.tar.xz nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.tar.zst nvim-lspconfig-57ea20d81ffb8afd8b8fa4c674dcab6ad877874a.zip | |
fix: disambiguate autostart option from function name (#1356)
* make `config.autostart` separate from `config.launch()`
* simplify handling of `config.autostart`
* check for `true` instead of `not false`
* replace `trigger` with the conventional `event` and `pattern`
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/lspconfig.lua | 6 | ||||
| -rw-r--r-- | lua/lspconfig/configs.lua | 30 |
2 files changed, 22 insertions, 14 deletions
diff --git a/lua/lspconfig.lua b/lua/lspconfig.lua index fd15f6a0..2e7f848c 100644 --- a/lua/lspconfig.lua +++ b/lua/lspconfig.lua @@ -27,14 +27,14 @@ function M._root._setup() function(server_name) if server_name then if configs[server_name] then - configs[server_name].autostart() + configs[server_name].launch() end else local buffer_filetype = vim.bo.filetype for _, config in pairs(configs) do for _, filetype_match in ipairs(config.filetypes or {}) do if buffer_filetype == filetype_match then - config.autostart() + config.launch() end end end @@ -57,7 +57,7 @@ function M._root._setup() for _, client in ipairs(M.util.get_clients_from_cmd_args(cmd_args)) do client.stop() vim.defer_fn(function() - configs[client.name].autostart() + configs[client.name].launch() end, 500) end end, diff --git a/lua/lspconfig/configs.lua b/lua/lspconfig/configs.lua index 72ab401c..2f4cd0d7 100644 --- a/lua/lspconfig/configs.lua +++ b/lua/lspconfig/configs.lua @@ -54,24 +54,32 @@ function configs.__newindex(t, config_name, config_def) pcall(util.on_setup, config) end - local trigger - if config.filetypes then - trigger = 'FileType ' .. table.concat(config.filetypes, ',') - else - trigger = 'BufReadPost *' - end - if not (config.autostart == false) then + if config.autostart == true then + local event + local pattern + if config.filetypes then + event = 'FileType' + pattern = table.concat(config.filetypes, ',') + else + event = 'BufReadPost' + pattern = '*' + end api.nvim_command( - string.format("autocmd %s unsilent lua require'lspconfig'[%q].manager.try_add()", trigger, config.name) + string.format( + "autocmd %s %s unsilent lua require'lspconfig'[%q].manager.try_add()", + event, + pattern, + config.name + ) ) end local get_root_dir = config.root_dir - function M.autostart() + function M.launch() local root_dir = get_root_dir(api.nvim_buf_get_name(0), api.nvim_get_current_buf()) if not root_dir then - vim.notify(string.format('Autostart for %s failed: matching root directory not detected.', config_name)) + vim.notify(string.format('Launching %s failed: matching root directory not detected.', config_name)) return end api.nvim_command( @@ -94,7 +102,7 @@ function configs.__newindex(t, config_name, config_def) M.filetypes = config.filetypes M.handlers = config.handlers M.cmd = config.cmd - M._autostart = config.autostart + M.autostart = config.autostart -- In the case of a reload, close existing things. local reload = false |
