From 0112e1f77983141e1453bd37d124302f1c876c46 Mon Sep 17 00:00:00 2001 From: Dmytro Meleshko Date: Fri, 20 Jun 2025 15:07:25 +0200 Subject: fix: some `on_attach` callbacks may act on the wrong buffer #3916 Problem: If a server is attached to a non-current buffer by `vim.lsp.buf_attach_client`, then the Language Server-related commands may be created in the current (wrong) buffer. Solution: Always use the `bufnr` arg provided to `on_attach`. --- lsp/markdown_oxide.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lsp/markdown_oxide.lua') diff --git a/lsp/markdown_oxide.lua b/lsp/markdown_oxide.lua index 79b11913..8f2697bf 100644 --- a/lsp/markdown_oxide.lua +++ b/lsp/markdown_oxide.lua @@ -12,18 +12,18 @@ return { root_markers = { '.git', '.obsidian', '.moxide.toml' }, filetypes = { 'markdown' }, cmd = { 'markdown-oxide' }, - on_attach = function() - vim.api.nvim_buf_create_user_command(0, 'LspToday', function() + on_attach = function(_, bufnr) + vim.api.nvim_buf_create_user_command(bufnr, 'LspToday', function() vim.lsp.buf.execute_command { command = 'jump', arguments = { 'today' } } end, { desc = "Open today's daily note", }) - vim.api.nvim_buf_create_user_command(0, 'LspTomorrow', function() + vim.api.nvim_buf_create_user_command(bufnr, 'LspTomorrow', function() vim.lsp.buf.execute_command { command = 'jump', arguments = { 'tomorrow' } } end, { desc = "Open tomorrow's daily note", }) - vim.api.nvim_buf_create_user_command(0, 'LspYesterday', function() + vim.api.nvim_buf_create_user_command(bufnr, 'LspYesterday', function() vim.lsp.buf.execute_command { command = 'jump', arguments = { 'yesterday' } } end, { desc = "Open yesterday's daily note", -- cgit v1.2.3-70-g09d2