diff --git a/home/modules/nvim/config/lua/plugins/snacks.lua b/home/modules/nvim/config/lua/plugins/snacks.lua index 1a537ec..9bdf761 100644 --- a/home/modules/nvim/config/lua/plugins/snacks.lua +++ b/home/modules/nvim/config/lua/plugins/snacks.lua @@ -1,4 +1,13 @@ ---@module 'snacks' + +local filter_lsp_definitions = function(item) + if item.file:match("/react/ts5.0/") then + return false + end + + return true +end + return { "folke/snacks.nvim", priority = 1000, @@ -8,7 +17,7 @@ return { dashboard = { enabled = false, sections = { - { section = "keys", gap = 1, padding = 1 }, + { section = "keys", gap = 1, padding = 1 }, { section = "startup" }, { section = "terminal", @@ -39,30 +48,30 @@ return { -- stylua: ignore keys = { -- Git - { "gg", function() Snacks.lazygit() end, desc = "Lazygit" }, - { "gb", function() Snacks.git.blame_line() end, desc = "Show git blame for current line" }, - { "gl", function() Snacks.gitbrowse() end, desc = "Open link to line at git remote" }, + { "gg", function() Snacks.lazygit() end, desc = "Lazygit" }, + { "gb", function() Snacks.git.blame_line() end, desc = "Show git blame for current line" }, + { "gl", function() Snacks.gitbrowse() end, desc = "Open link to line at git remote" }, -- Zen Mode - { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, + { "z", function() Snacks.zen() end, desc = "Toggle Zen Mode" }, -- Picker - { "", function() end, desc = "" }, - { ".", function() Snacks.picker.files() end, desc = "" }, - { "", function() Snacks.picker.git_files() end, desc = "Git files" }, + { "", function() end, desc = "" }, + { ".", function() Snacks.picker.files() end, desc = "" }, + { "", function() Snacks.picker.git_files() end, desc = "Git files" }, -- Find - { "fr", function() Snacks.picker.recent() end, desc = "Recent" }, - { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, + { "fr", function() Snacks.picker.recent() end, desc = "Recent" }, + { "fp", function() Snacks.picker.projects() end, desc = "Projects" }, -- Search - { "ss", function() Snacks.picker.grep() end, desc = "Grep" }, - { "sw", function() Snacks.picker.grep_word() end, desc = "Visual selection or word", mode = { "n", "x" } }, - { "su", function() Snacks.picker.undo() end, desc = "Undo History" }, + { "ss", function() Snacks.picker.grep() end, desc = "Grep" }, + { "sw", function() Snacks.picker.grep_word() end, desc = "Visual selection or word", mode = { "n", "x" } }, + { "su", function() Snacks.picker.undo() end, desc = "Undo History" }, -- Diagnostics - { "td", function() Snacks.picker.diagnostics_buffer() end, desc = "Buffer Diagnostics" }, - { "ta", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, + { "td", function() Snacks.picker.diagnostics_buffer() end, desc = "Buffer Diagnostics" }, + { "ta", function() Snacks.picker.diagnostics() end, desc = "Diagnostics" }, -- LSP - { "gd", function() Snacks.picker.lsp_definitions({ filter = { paths = { ["react/ts5.0"] = false } } }) end, desc = "Goto Definition" }, - { "gD", function() Snacks.picker.lsp_declarations() end, desc = "Goto Declaration" }, - { "grr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, - { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, - { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, + { "gd", function() Snacks.picker.lsp_definitions({ filter = { filter = filter_lsp_definitions } }) end, desc = "Goto Definition" }, + { "gD", function() Snacks.picker.lsp_declarations() end, desc = "Goto Declaration" }, + { "grr", function() Snacks.picker.lsp_references() end, nowait = true, desc = "References" }, + { "gI", function() Snacks.picker.lsp_implementations() end, desc = "Goto Implementation" }, + { "gy", function() Snacks.picker.lsp_type_definitions() end, desc = "Goto T[y]pe Definition" }, }, }