From ee7b4aa4e1dc51b222ce75c321c21635d8c46705 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Tue, 11 Nov 2025 16:28:52 +0100 Subject: Remove unused vim statusline piece based on LSP, broken on nvim 10.4 --- vim/.config/nvim/lua/lsp/init.lua | 61 --------------------------------------- 1 file changed, 61 deletions(-) (limited to 'vim/.config/nvim/lua/lsp') diff --git a/vim/.config/nvim/lua/lsp/init.lua b/vim/.config/nvim/lua/lsp/init.lua index 474f649..1739cee 100644 --- a/vim/.config/nvim/lua/lsp/init.lua +++ b/vim/.config/nvim/lua/lsp/init.lua @@ -1,64 +1,3 @@ -local first_hover_code_i = 0 -local first_hover_code_line = -1 -local first_hover_code_col = -1 -local first_hover_code_prev = '' - --- Returns the first code block from the markdown returned for the LSP request --- textDocument/hover. Multiple lines are joined with a space. -function _G.lsp_first_hover_code() - --[[ NB: there is a bug that causes statusline to be reloaded continuously; - see https://github.com/neovim/neovim/issues/14303. It is not good to do a - sync request every time. Instead, keep track of line & col and only - update when either has changed. This should be fixed in nvim 0.5, after - which the first_hover_code_* variables and this logic can be removed. ]] - - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - if line == first_hover_code_line and col == first_hover_code_col then - return first_hover_code_prev - end - first_hover_code_line = line - first_hover_code_col = col - - --[[ To check whether the bug has been fixed: - vim.api.nvim_echo({{'request '},{tostring(first_hover_code_i)},{tostring(line)}},false,{}) - first_hover_code_i = first_hover_code_i + 1 - --]] - - if not vim.lsp.buf.server_ready() then return '' end - - local responses = vim.lsp.buf_request_sync( - 0, - 'textDocument/hover', - vim.lsp.util.make_position_params(), - 1000 - ) - - if not responses then return '' end - - local full_result = '' - local markdown_started = false - - for _, response in ipairs(responses) do - if response.result and response.result.contents.value then - for line in response.result.contents.value:gmatch '[^\n]+' do - if line:sub(0,3) == '```' then - if markdown_started then - first_hover_code_prev = full_result - return full_result - else - markdown_started = true - end - else - full_result = full_result .. ' ' .. line - end - end - end - end - - first_hover_code_prev = full_result - return full_result -end - local function on_attach (client, bufnr) local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end -- cgit v1.2.3