aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim
diff options
context:
space:
mode:
authorMichal Liszcz <liszcz.michal@gmail.com>2023-04-05 14:02:08 +0200
committerGitHub <noreply@github.com>2023-04-05 14:02:08 +0200
commit999cb36c2bb64d1f93bb6f8e607e0eb26eadcd63 (patch)
treec2ce50f74c88205b14a5fd0ab1a3a940549e2805 /runtime/lua/vim
parent9d5cbd1b15e9e4da50a7295f6d104fcdbe477f88 (diff)
downloadrneovim-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.lua17
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