From 1eec783a20abd0f5a169129956f9c4aec1f49866 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Mon, 29 Jul 2024 19:39:28 +0530 Subject: [PATCH] nvim: lsp: Do not attach LSP if file is opened via git We might use Gedit to view older git revision of the file to which we do not want to attach LSP. --- nvim/.config/nvim/lua/lsp.lua | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/nvim/.config/nvim/lua/lsp.lua b/nvim/.config/nvim/lua/lsp.lua index 5c41351..15cb272 100644 --- a/nvim/.config/nvim/lua/lsp.lua +++ b/nvim/.config/nvim/lua/lsp.lua @@ -252,9 +252,14 @@ end vim.api.nvim_create_autocmd("LspAttach", { group = lsp_augroup_id, callback = function(args) - local bufnr = args.buf - local client = vim.lsp.get_client_by_id(args.data.client_id) - local opts = { noremap=true, silent=true } + local bufnr = args.buf + local client = vim.lsp.get_client_by_id(args.data.client_id) + local file_name = vim.api.nvim_buf_get_name(bufnr) + local opts = { noremap=true, silent=true } + + if string.find(file_name, ".git/") then + return + end for _, mappings in pairs(lsp_key_mappings) do local capability, mode, lhs, rhs = unpack(mappings) @@ -270,8 +275,13 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.api.nvim_create_autocmd("LspDetach", { group = lsp_augroup_id, callback = function(args) - local bufnr = args.buf - local client = vim.lsp.get_client_by_id(args.data.client_id) + local bufnr = args.buf + local client = vim.lsp.get_client_by_id(args.data.client_id) + local file_name = vim.api.nvim_buf_get_name(bufnr) + + if string.find(file_name, ".git/") then + return + end for _, mappings in pairs(lsp_key_mappings) do local capability, mode, lhs, _ = unpack(mappings)