mirror of
https://github.com/LazyVim/LazyVim.git
synced 2025-07-16 20:34:39 +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
|
-- for detecting the LSP root
|
||||||
vim.g.root_lsp_ignore = { "copilot" }
|
vim.g.root_lsp_ignore = { "copilot" }
|
||||||
|
|
||||||
|
-- Filetypes to ignore LSP keymaps
|
||||||
|
vim.g.keymaps_lsp_ignore_ft = {}
|
||||||
|
|
||||||
-- Hide deprecation warnings
|
-- Hide deprecation warnings
|
||||||
vim.g.deprecation_warnings = false
|
vim.g.deprecation_warnings = false
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,13 @@ M._keys = nil
|
||||||
---@alias LazyKeysLspSpec LazyKeysSpec|{has?:string|string[], cond?:fun():boolean}
|
---@alias LazyKeysLspSpec LazyKeysSpec|{has?:string|string[], cond?:fun():boolean}
|
||||||
---@alias LazyKeysLsp LazyKeys|{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[]
|
---@return LazyKeysLspSpec[]
|
||||||
function M.get()
|
function M.get()
|
||||||
if M._keys then
|
if M._keys then
|
||||||
|
@ -64,7 +71,7 @@ end
|
||||||
---@return LazyKeysLsp[]
|
---@return LazyKeysLsp[]
|
||||||
function M.resolve(buffer)
|
function M.resolve(buffer)
|
||||||
local Keys = require("lazy.core.handler.keys")
|
local Keys = require("lazy.core.handler.keys")
|
||||||
if not Keys.resolve then
|
if M.is_ignored(buffer) or not Keys.resolve then
|
||||||
return {}
|
return {}
|
||||||
end
|
end
|
||||||
local spec = vim.tbl_extend("force", {}, M.get())
|
local spec = vim.tbl_extend("force", {}, M.get())
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue