diff options
| author | Justin M. Keyes <justinkz@gmail.com> | 2024-10-02 02:50:41 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-02 02:50:41 -0700 |
| commit | ae7698f4fe9a054c2427a8f5612422c9d6426b74 (patch) | |
| tree | 26d5c6495f78f0800f2c58f4011dbe7630e0ef39 /lua/lspconfig/configs.lua | |
| parent | docs: update configs.md (diff) | |
| download | nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.tar nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.tar.gz nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.tar.bz2 nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.tar.lz nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.tar.xz nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.tar.zst nvim-lspconfig-ae7698f4fe9a054c2427a8f5612422c9d6426b74.zip | |
feat: expose config definition as `config_def` #3335
Problem:
Users/plugins may want to use the config definition without actually
activating the config via setup().
Solution:
- Expose `config_def` field and document it.
- Also undeprecate some stuff that doesn't yet have a documented
alternative.
TODO: configs.lua sets `M.filetypes = config.filetypes` and other fields
in ad-hoc fashion "for :LspInfo" but it's not clear when those fields
are actually populated, and they don't source from `config_def`...
Diffstat (limited to 'lua/lspconfig/configs.lua')
| -rw-r--r-- | lua/lspconfig/configs.lua | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lua/lspconfig/configs.lua b/lua/lspconfig/configs.lua index 5a5fc2e5..e8271636 100644 --- a/lua/lspconfig/configs.lua +++ b/lua/lspconfig/configs.lua @@ -26,6 +26,9 @@ local function sanitize_cmd(cmd) end end +---@param t table +---@param config_name string +---@param config_def table Config definition read from `lspconfig.configs.<name>`. function configs.__newindex(t, config_name, config_def) validate { name = { config_name, 's' }, @@ -178,7 +181,7 @@ function configs.__newindex(t, config_name, config_def) end) end - -- Used by :LspInfo + -- Used by :LspInfo (evil, mutable aliases?) M.get_root_dir = get_root_dir M.filetypes = config.filetypes M.handlers = config.handlers @@ -290,7 +293,9 @@ function configs.__newindex(t, config_name, config_def) M.commands = config_def.commands M.name = config_name - M.document_config = config_def + -- Expose the (original?) values of a config (non-active, or before `setup()`). + M.config_def = config_def + M.document_config = config_def -- For back-compat. rawset(t, config_name, M) end |
