From 18dafca94f120abc545836cdfa1445e6c3aab2b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Pankowski?= Date: Sun, 1 Mar 2026 19:42:46 +0100 Subject: [PATCH] nvim: add fzf-lua, remove telescope, remove snacks keys covered by fzf-lua --- nvim/.config/nvim/init.lua | 2 +- nvim/.config/nvim/lua/config/lsp.lua | 1 - .../.config/nvim/lua/plugins/auto-session.lua | 2 +- nvim/.config/nvim/lua/plugins/fzf-lua.lua | 114 +++++++++++++++ nvim/.config/nvim/lua/plugins/snacks.lua | 36 +---- nvim/.config/nvim/lua/plugins/telescope.lua | 135 ------------------ nvim/.config/nvim/nvim-pack-lock.json | 30 ++-- 7 files changed, 125 insertions(+), 195 deletions(-) create mode 100644 nvim/.config/nvim/lua/plugins/fzf-lua.lua delete mode 100644 nvim/.config/nvim/lua/plugins/telescope.lua diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index a977695..dc7ad4a 100644 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -7,6 +7,7 @@ require("plugins.auto-session") require("plugins.colorscheme") require("plugins.conform") require("plugins.flash") +require("plugins.fzf-lua") require("plugins.guess-indent") require("plugins.luasnip") require("plugins.multicursor") @@ -14,7 +15,6 @@ require("plugins.nvim-various-textobjs") require("plugins.oil") require("plugins.slimline") require("plugins.snacks") -require("plugins.telescope") require("plugins.surround") require("plugins.treesitter") require("plugins.which-key") diff --git a/nvim/.config/nvim/lua/config/lsp.lua b/nvim/.config/nvim/lua/config/lsp.lua index aae08fa..caac32f 100644 --- a/nvim/.config/nvim/lua/config/lsp.lua +++ b/nvim/.config/nvim/lua/config/lsp.lua @@ -15,7 +15,6 @@ vim.api.nvim_create_autocmd("LspAttach", { return { abbr = item.label:gsub("%b()", "") } end, }) - vim.keymap.set("n", "ca", vim.lsp.buf.code_action) vim.keymap.set("i", "", vim.lsp.completion.get) vim.keymap.set("n", "k", function() vim.diagnostic.jump({ float = true, count = -1 }) diff --git a/nvim/.config/nvim/lua/plugins/auto-session.lua b/nvim/.config/nvim/lua/plugins/auto-session.lua index d5d81fb..e108445 100644 --- a/nvim/.config/nvim/lua/plugins/auto-session.lua +++ b/nvim/.config/nvim/lua/plugins/auto-session.lua @@ -1,6 +1,6 @@ vim.pack.add({ "https://github.com/rmagatti/auto-session" }) -vim.keymap.set("n", "wa", "AutoSession search") +vim.keymap.set("n", "wp", "AutoSession search") local ok, sess = pcall(require, "auto-session") if ok then diff --git a/nvim/.config/nvim/lua/plugins/fzf-lua.lua b/nvim/.config/nvim/lua/plugins/fzf-lua.lua new file mode 100644 index 0000000..e38d316 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/fzf-lua.lua @@ -0,0 +1,114 @@ +vim.pack.add({ + "https://github.com/ibhagwan/fzf-lua", + "https://github.com/elanmed/fzf-lua-frecency.nvim", +}) + +local ok, fzf = pcall(require, "fzf-lua") +local ok2, frecency = pcall(require, "fzf-lua-frecency") +if ok then + fzf.setup({ + keymap = { + builtin = { + true, + [""] = "toggle-fullscreen", + }, + } + }) + fzf.register_ui_select() + local set = vim.keymap.set + set("n", "ba", fzf.buffers, { desc = "FzfLua buffers" }) + set("n", "bh", fzf.history, { desc = "FzfLua history" }) + set("n", "bj", fzf.jumps, { desc = "FzfLua jumps" }) + set("n", "ca", fzf.lsp_code_actions, { desc = "FzfLua LSP code actions" }) + set("n", "cb", fzf.complete_bline, { desc = "FzfLua complete buffer line" }) + set("n", "cc", fzf.commands, { desc = "FzfLua commands" }) + set("n", "cf", fzf.complete_file, { desc = "FzfLua complete file" }) + set("n", "cF", fzf.complete_path, { desc = "FzfLua complete path" }) + set("n", "ch", fzf.command_history, { desc = "FzfLua command history" }) + set("n", "cH", fzf.highlights, { desc = "FzfLua highlights" }) + set("n", "cl", fzf.complete_line, { desc = "FzfLua complete line" }) + set("n", "co", fzf.nvim_options, { desc = "FzfLua nvim options" }) + set("n", "cr", fzf.profiles, { desc = "FzfLua fzf profiles" }) + set("n", "cs", fzf.colorschemes, { desc = "FzfLua color schemes" }) + set("n", "ct", fzf.tabs, { desc = "FzfLua tabs" }) + set("n", "da", fzf.diagnostics_document, { desc = "FzfLua document diagnostics" }) + set("n", "dw", fzf.diagnostics_workspace, { desc = "FzfLua workspace diagnostics" }) + set("n", "ec", function() + fzf.files({ cwd = vim.fn.stdpath("config") }) + end, { desc = "FzfLua nvim config files" }) + set("n", "ep", function() + fzf.files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") }) + end, { desc = "FzfLua find files" }) + set("n", "es", function() + fzf.files({ cwd = '~/.config/kitty/sessions' }) + end, { desc = "FzfLua kitty sessions" }) + set("n", "eS", "Oil ~/.config/kitty/sessions", { desc = "Kitty sessions (dir)" }) + set("n", "fa", fzf.git_files, { desc = "FzfLua git files" }) + set("n", "ff", fzf.files, { desc = "FzfLua find files" }) + set("n", "fg", fzf.global, { desc = "FzfLua global" }) + set("n", "fo", frecency.frecency, { desc = "FzfLua frecency oldfiles" }) + set("n", "ft", fzf.filetypes, { desc = "FzfLua file types" }) + set("n", ";", function() + frecency.frecency({ cwd_only = true }) + end, { desc = "FzfLua frecency files" }) + set("n", "gb", fzf.git_branches, { desc = "FzfLua git branches" }) + set("n", "gB", fzf.git_blame, { desc = "FzfLua git blame" }) + set("n", "gc", fzf.git_bcommits, { desc = "FzfLua git buffer commits" }) + set("n", "gC", fzf.git_commits, { desc = "FzfLua git commits" }) + set("n", "gd", fzf.git_diff, { desc = "FzfLua git diff" }) + set("n", "gh", fzf.git_hunks, { desc = "FzfLua git hunks" }) + set("n", "gC", fzf.git_commits, { desc = "FzfLua git commits" }) + set("n", "gs", fzf.git_status, { desc = "FzfLua git status" }) + set("n", "gS", fzf.git_stash, { desc = "FzfLua git stash" }) + set("n", "gt", fzf.git_tags, { desc = "FzfLua git tags" }) + set("n", "gw", fzf.git_worktrees, { desc = "FzfLua git worktrees" }) + set("n", "ha", fzf.helptags, { desc = "FzfLua help tags" }) + set("n", "hk", fzf.keymaps, { desc = "FzfLua keymaps" }) + set("n", "ma", fzf.marks, { desc = "FzfLua marks" }) + set("n", "mp", fzf.manpages, { desc = "FzfLua man pages" }) + set("n", "qa", fzf.quickfix, { desc = "FzfLua quickfix" }) + set("n", "qs", fzf.quickfix_stack, { desc = "FzfLua quickfix stack" }) + set("n", "ql", fzf.loclist, { desc = "FzfLua loclist" }) + set("n", "qh", fzf.loclist_stack, { desc = "FzfLua loclist stack" }) + set("n", "ra", fzf.resume, { desc = "FzfLua resume" }) + set("n", "rr", fzf.registers, { desc = "FzfLua registers" }) + set("n", "ta", fzf.treesitter, { desc = "FzfLua treesitter symbols" }) + set("n", "sa", fzf.live_grep, { desc = "FzfLua live grep" }) + set("n", "sb", fzf.blines, { desc = "FzfLua buffer lines" }) + set("n", "sB", fzf.grep_curbuf, { desc = "FzfLua grep current buffer" }) + set("n", "sg", fzf.grep, { desc = "FzfLua grep" }) + set("n", "sh", fzf.search_history, { desc = "FzfLua search history" }) + set("n", "sl", fzf.grep_loclist, { desc = "FzfLua grep loclist" }) + set("n", "sn", fzf.live_grep_native, { desc = "FzfLua live grep native" }) + set("n", "so", fzf.lines, { desc = "FzfLua open buffers lines" }) + set("n", "sp", fzf.grep_project, { desc = "FzfLua grep project" }) + set("n", "sq", fzf.grep_quickfix, { desc = "FzfLua grep quickfix" }) + set("n", "sr", function() fzf.grep({ resume = true }) end, { desc = "FzfLua grep resume" }) + set("n", "sc", fzf.spellcheck, { desc = "FzfLua spell check" }) + set("n", "ss", fzf.spell_suggest, { desc = "FzfLua spell suggest" }) + set({ "n", "v" }, "sv", fzf.grep_visual, { desc = "FzfLua grep visual" }) + set("n", "sw", fzf.grep_cword, { desc = "FzfLua grep cword" }) + set("n", "sW", fzf.grep_cWORD, { desc = "FzfLua grep cword" }) + set("n", "U", fzf.undotree, { desc = "FzfLua undo tree" }) + set("n", "wa", fzf.lsp_live_workspace_symbols, { desc = "FzfLua document symbols" }) + set("n", "wd", fzf.lsp_document_symbols, { desc = "FzfLua document symbols" }) + set("n", "wf", fzf.lsp_finder, { desc = "FzfLua LSP finder" }) + set("n", "wp", fzf.lsp_workspace_symbols, { desc = "FzfLua workspace symbols" }) + set("n", "wz", fzf.zoxide, { desc = "FzfLua zoxide" }) + set("n", "gd", fzf.lsp_definitions, { desc = "Goto Definition" }) + set("n", "gD", fzf.lsp_declarations, { desc = "Goto Declarations" }) + set("n", "grr", fzf.lsp_references, { desc = "References" }) + set("n", "gri", fzf.lsp_implementations, { desc = "Goto Implementation" }) + set("n", "grI", fzf.lsp_incoming_calls, { desc = "Incomming calls" }) + set("n", "grO", fzf.lsp_outgoing_calls, { desc = "Outgouing calls" }) + set("n", "grs", fzf.lsp_type_sub, { desc = "Outgouing calls" }) + set("n", "grp", fzf.lsp_type_super, { desc = "Outgouing calls" }) + set("n", "grt", fzf.lsp_typedefs, { desc = "Goto Type Definition" }) +else + print("plugin fzf-lua missing") +end +if not ok2 then + print("plugin fzf-lua-frecency missing") +end + +--vim.keymap.set("n", "-", "Oil", { desc = "Oil file manager" }) diff --git a/nvim/.config/nvim/lua/plugins/snacks.lua b/nvim/.config/nvim/lua/plugins/snacks.lua index 702d4f7..0b0ff56 100644 --- a/nvim/.config/nvim/lua/plugins/snacks.lua +++ b/nvim/.config/nvim/lua/plugins/snacks.lua @@ -3,7 +3,7 @@ vim.pack.add({ "https://github.com/folke/snacks.nvim" }) local ok, snacks = pcall(require, "snacks") if ok then snacks.setup({ - picker = { enabled = true }, + picker = { enabled = false }, }) else print("plugin snacks missing") @@ -15,46 +15,18 @@ set("n", "ea", function() Snacks.explorer() end, { desc = "File Explorer" }) -set("n", "gh", function() - Snacks.picker.git_diff() -end, { desc = "Git Diff (Hunks)" }) - set("n", "gl", function() Snacks.picker.git_log_line() end, { desc = "Git Log Line" }) -set("n", "gL", function() - Snacks.picker.git_log() -end, { desc = "Git Log" }) - -set("n", "gr", function() - Snacks.lazygit.log_file() -end, { desc = "Git Log File (reflog)" }) - -set({ "n", "v" }, "gw", function() - Snacks.picker.grep_word() -end, { desc = "Grep Visual Selection or Word" }) - set({ "n", "v" }, "gx", function() Snacks.gitbrowse() end, { desc = "Git Browse" }) -set("n", "xr", function() - Snacks.picker.recent() -end, { desc = "Recent files" }) - set("n", "xR", function() Snacks.picker.resume() end, { desc = "Resume" }) -set("n", "U", function() - Snacks.picker.undo() -end, { desc = "Undo History" }) - -set("n", "xC", function() - Snacks.picker.colorschemes() -end, { desc = "Colorschemes" }) - set("n", "n", function() Snacks.notifier.show_history() end, { desc = "Notification History" }) @@ -79,12 +51,6 @@ set("n", "x.", function() Snacks.scratch.select() end, { desc = "Select Scratch Buffer" }) --- LSP - -set("n", "gD", function() - Snacks.picker.lsp_declarations() -end, { desc = "Goto Declaration" }) - -- Terminal set({ "n", "t" }, "", function() diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 95b9fa6..0000000 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,135 +0,0 @@ -vim.api.nvim_create_autocmd("PackChanged", { - group = vim.api.nvim_create_augroup("telescope-fzf-native-update", { clear = true }), - callback = function(ev) - local name, kind = ev.data.spec.name, ev.data.kind - if name == "telescope-fzf-native.nvim" and (kind == "install" or kind == "update") then - vim.system({ "make" }, { cwd = ev.data.path }):wait() - print("telescope-fzf-native make done.") - end - end, -}) - -vim.pack.add({ - { src = "https://github.com/nvim-telescope/telescope.nvim", version = "v0.2.1" }, - "https://github.com/nvim-lua/plenary.nvim", - "https://github.com/nvim-telescope/telescope-fzf-native.nvim", - "https://gitlab.com/davvid/telescope-git-grep.nvim", - { src = "https://github.com/nvim-telescope/telescope-frecency.nvim", version = vim.version.range("^1.0.0") }, -}) - -local ok, builtin = pcall(require, "telescope.builtin") -if ok then - local defaults = require("telescope.themes").get_dropdown() - defaults["path_display"] = { - filename_first = { - reverse_directories = true, - }, - } - defaults["mappings"] = { - i = { - [""] = "move_selection_previous", - [""] = "move_selection_next", - }, - n = { - [""] = "move_selection_previous", - [""] = "move_selection_next", - ["q"] = "close", - }, - } - require("telescope").setup({ - defaults = defaults, - pickers = { - diagnostics = { - theme = "ivy", - }, - buffers = { - mappings = { - n = { - ["d"] = "delete_buffer", - }, - }, - }, - }, - }) - local set = vim.keymap.set - - require("telescope").load_extension("fzf") - require("telescope").load_extension("git_grep") - require("telescope").load_extension("frecency") - set("n", ";", function() - require("telescope-frecency").start() - end, { desc = "Telescope frecency" }) - set("n", "", function() - require("telescope-frecency").start({ workspace = "CWD" }) - end, { desc = "Telescope frecency" }) - set("n", "b", function() builtin.buffers({ sort_mru = true, sort_lastused = true }) end, - { desc = "Telescope buffers" }) - set("n", "cc", builtin.commands, { desc = "Telescope commands" }) - set("n", "ch", builtin.command_history, { desc = "Telescope command history" }) - set("n", "cH", builtin.highlights, { desc = "Telescope highlights" }) - set("n", "da", builtin.diagnostics, { desc = "Telescope diagnostics" }) - set("n", "ec", function() - builtin.find_files({ cwd = vim.fn.stdpath("config") }) - end, { desc = "Telescope nvim config files" }) - set("n", "ep", function() - builtin.find_files({ cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site") }) - end, { desc = "Telescope find files" }) - set("n", "es", function() - builtin.find_files({ cwd = vim.fs.normalize('~/.config/kitty/sessions') }) - end, { desc = "Telescope kitty sessions" }) - set("n", "eS", function() - vim.cmd("Oil " .. vim.fs.normalize('~/.config/kitty/sessions')) - end, { desc = "Telescope kitty sessions (dir)" }) - set("n", "fa", builtin.git_files, { desc = "Telescope nvim package files" }) - set("n", "F", builtin.find_files, { desc = "Telescope find files" }) - set("n", "fh", function() - builtin.find_files({ hidden = true }) - end, { desc = "Telescope find files (hidden)" }) - set("n", "gB", builtin.git_branches, { desc = "Telescope git branches" }) - set("n", "gc", builtin.git_bcommits, { desc = "Telescope git buffer commits" }) - set("n", "gC", builtin.git_commits, { desc = "Telescope git commits" }) - set("n", "gs", builtin.git_status, { desc = "Telescope git status" }) - set("n", "gS", builtin.git_stash, { desc = "Telescope git stash" }) - set("n", "ha", builtin.help_tags, { desc = "Telescope help tags" }) - set("n", "hk", builtin.keymaps, { desc = "Telescope keymaps" }) - set("n", "m", builtin.marks, { desc = "Telescope marks" }) - set("n", "M", builtin.man_pages, { desc = "Telescope man pages" }) - set("n", "o", builtin.oldfiles, { desc = "Telescope oldfiles" }) - set("n", "qa", builtin.quickfix, { desc = "Telescope quickfix" }) - set("n", "qh", builtin.quickfixhistory, { desc = "Telescope quickfix history" }) - set("n", "ql", builtin.loclist, { desc = "Telescope loclist" }) - set("n", "r", builtin.resume, { desc = "Telescope resume" }) - set("n", "t", builtin.treesitter, { desc = "Telescope treesitter symbols" }) - set("n", "R", builtin.registers, { desc = "Telescope registers" }) - set("n", "sa", function() - require("git_grep").live_grep() - end, { desc = "Telescope git live grep" }) - set("n", "S", builtin.live_grep, { desc = "Telescope live grep" }) - set("n", "sh", builtin.search_history, { desc = "Telescope search history" }) - set("n", "sl", builtin.current_buffer_fuzzy_find, { desc = "Telescope current buffer fuzzy find" }) - set("n", "so", function() - builtin.grep_string({ grep_open_files = true }) - end, { desc = "Telescope grep open files" }) - set("n", "su", function() - builtin.live_grep({ grep_open_files = true }) - end, { desc = "Telescope live grep open files" }) - set({ "n", "v" }, "sw", function() - require("git_grep").grep() - end, { desc = "Telescope git grep word" }) - set("n", "wd", builtin.lsp_document_symbols, { desc = "Telescope document symbols" }) - set("n", "wp", builtin.lsp_workspace_symbols, { desc = "Telescope workspace symbols" }) - set("n", "ws", function() - require("git_grep").workspace_live_grep() - end, { desc = "Telescope workspace git live grep" }) - set("n", "wy", function() - require("git_grep").workspace_grep() - end, { desc = "Telescope workspace git grep word" }) - set("n", ":", builtin.builtin, { desc = "Telescope builtin" }) - - set("n", "gd", builtin.lsp_definitions, { desc = "Goto Definition" }) - set("n", "grr", builtin.lsp_references, { desc = "References" }) - set("n", "grI", builtin.lsp_implementations, { desc = "Goto Implementation" }) - set("n", "gy", builtin.lsp_type_definitions, { desc = "Goto T[y]pe Definition" }) -else - print("plugin builtin missing") -end diff --git a/nvim/.config/nvim/nvim-pack-lock.json b/nvim/.config/nvim/nvim-pack-lock.json index 1f393c8..6722b22 100644 --- a/nvim/.config/nvim/nvim-pack-lock.json +++ b/nvim/.config/nvim/nvim-pack-lock.json @@ -25,6 +25,14 @@ "rev": "c3e2251e813d29d885a7cbbe9808a7af234d845d", "src": "https://github.com/kepano/flexoki-neovim" }, + "fzf-lua": { + "rev": "d9908fd0a5474994f00526ed17f0b77339dc0152", + "src": "https://github.com/ibhagwan/fzf-lua" + }, + "fzf-lua-frecency.nvim": { + "rev": "5726403e132fe8699d670c7ef8d59dbed887b4e6", + "src": "https://github.com/elanmed/fzf-lua-frecency.nvim" + }, "guess-indent.nvim": { "rev": "84a4987ff36798c2fc1169cbaff67960aed9776f", "src": "https://github.com/NMAC427/guess-indent.nvim" @@ -65,10 +73,6 @@ "rev": "f55b25e493a7df76371cfadd0ded5004cb9cd48a", "src": "https://github.com/stevearc/oil.nvim" }, - "plenary.nvim": { - "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", - "src": "https://github.com/nvim-lua/plenary.nvim" - }, "slimline.nvim": { "rev": "6b1f20780a26813ba3c2f248c6c6f61e7281bb7b", "src": "https://github.com/sschleemilch/slimline.nvim" @@ -77,24 +81,6 @@ "rev": "fe7cfe9800a182274d0f868a74b7263b8c0c020b", "src": "https://github.com/folke/snacks.nvim" }, - "telescope-frecency.nvim": { - "rev": "d4f1bb2a939cc02720bceb635095246751db144f", - "src": "https://github.com/nvim-telescope/telescope-frecency.nvim", - "version": "1.0.0 - 2.0.0" - }, - "telescope-fzf-native.nvim": { - "rev": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c", - "src": "https://github.com/nvim-telescope/telescope-fzf-native.nvim" - }, - "telescope-git-grep.nvim": { - "rev": "0936967941a6e7b3875d1b1bfff41b8bcd75bdf5", - "src": "https://gitlab.com/davvid/telescope-git-grep.nvim" - }, - "telescope.nvim": { - "rev": "3333a52ff548ba0a68af6d8da1e54f9cd96e9179", - "src": "https://github.com/nvim-telescope/telescope.nvim", - "version": "'v0.2.1'" - }, "which-key.nvim": { "rev": "3aab2147e74890957785941f0c1ad87d0a44c15a", "src": "https://github.com/folke/which-key.nvim"