diff options
author | Michal Liszcz <liszcz.michal@gmail.com> | 2023-04-05 14:02:08 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-05 14:02:08 +0200 |
commit | 999cb36c2bb64d1f93bb6f8e607e0eb26eadcd63 (patch) | |
tree | c2ce50f74c88205b14a5fd0ab1a3a940549e2805 /runtime/lua/vim | |
parent | 9d5cbd1b15e9e4da50a7295f6d104fcdbe477f88 (diff) | |
download | rneovim-999cb36c2bb64d1f93bb6f8e607e0eb26eadcd63.tar.gz rneovim-999cb36c2bb64d1f93bb6f8e607e0eb26eadcd63.tar.bz2 rneovim-999cb36c2bb64d1f93bb6f8e607e0eb26eadcd63.zip |
refactor(lsp): do not parse verbose output when overwriting options (#22810)
Diffstat (limited to 'runtime/lua/vim')
-rw-r--r-- | runtime/lua/vim/lsp.lua | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua index 7e8c73ddb6..2d39f2d45d 100644 --- a/runtime/lua/vim/lsp.lua +++ b/runtime/lua/vim/lsp.lua @@ -1101,21 +1101,16 @@ function lsp.start_client(config) return true end - local last_set_from = vim.fn.gettext('\n\tLast set from ') - local line = vim.fn.gettext(' line ') - local scriptname - - vim.api.nvim_buf_call(bufnr, function() - scriptname = vim.fn - .execute('verbose set ' .. option .. '?') - :match(last_set_from .. '(.*)' .. line .. '%d+') - end) + local info = vim.api.nvim_get_option_info2(option, { buf = bufnr }) + local scriptinfo = vim.tbl_filter(function(e) + return e.sid == info.last_set_sid + end, vim.fn.getscriptinfo()) - if not scriptname then + if #scriptinfo ~= 1 then return false end - return vim.startswith(vim.fn.expand(scriptname), vim.fn.expand('$VIMRUNTIME')) + return vim.startswith(scriptinfo[1].name, vim.fn.expand('$VIMRUNTIME')) end ---@private |