mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-07-14 03:14:38 +02:00
feat(lsp): add filetype-based LSP keymap ignore
Add `vim.g.keymaps_lsp_ignore_ft` option to allow disabling LSP keymaps for specific filetypes
This commit is contained in:
parent
3660c52017
commit
636e7b7691
2 changed files with 11 additions and 1 deletions
|
@ -42,6 +42,9 @@ vim.g.root_spec = { "lsp", { ".git", "lua" }, "cwd" }
|
|||
-- for detecting the LSP root
|
||||
vim.g.root_lsp_ignore = { "copilot" }
|
||||
|
||||
-- Filetypes to ignore LSP keymaps
|
||||
vim.g.keymaps_lsp_ignore_ft = {}
|
||||
|
||||
-- Hide deprecation warnings
|
||||
vim.g.deprecation_warnings = false
|
||||
|
||||
|
|
|
@ -6,6 +6,13 @@ M._keys = nil
|
|||
---@alias LazyKeysLspSpec LazyKeysSpec|{has?:string|string[], cond?:fun():boolean}
|
||||
---@alias LazyKeysLsp LazyKeys|{has?:string|string[], cond?:fun():boolean}
|
||||
|
||||
---@param buffer integer
|
||||
---@return boolean
|
||||
function M.is_ignored(buffer)
|
||||
local ft = vim.bo[buffer].filetype
|
||||
return vim.tbl_contains(vim.g.keymaps_lsp_ignore_ft or {}, ft)
|
||||
end
|
||||
|
||||
---@return LazyKeysLspSpec[]
|
||||
function M.get()
|
||||
if M._keys then
|
||||
|
@ -64,7 +71,7 @@ end
|
|||
---@return LazyKeysLsp[]
|
||||
function M.resolve(buffer)
|
||||
local Keys = require("lazy.core.handler.keys")
|
||||
if not Keys.resolve then
|
||||
if M.is_ignored(buffer) or not Keys.resolve then
|
||||
return {}
|
||||
end
|
||||
local spec = vim.tbl_extend("force", {}, M.get())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue