diff --git a/init.lua b/init.lua index 7353448..ad8516f 100644 --- a/init.lua +++ b/init.lua @@ -53,6 +53,7 @@ vim.opt.listchars = { } vim.opt.cursorline = true +----------------------------------------------------------------------------------------- require("lazy").setup({ spec = { { @@ -81,7 +82,8 @@ require("lazy").setup({ build = ":TSUpdate", }, { "ludovicchabant/vim-gutentags" }, - { "ibhagwan/fzf-lua" }, + --{ "ibhagwan/fzf-lua" }, + { "nvim-mini/mini.nvim" }, }, checker = { enabled = true }, }) @@ -96,12 +98,60 @@ vim.api.nvim_create_autocmd("FileType", { vim.g.gutentags_cache_dir = "C:/misc/ctags_cache" --- fzf -local fzf = require("fzf-lua") -vim.keymap.set("n", "f", fzf.files) -vim.keymap.set("n", "g", fzf.live_grep) -vim.keymap.set("n", "t", fzf.tags) -vim.keymap.set("n", "b", fzf.buffers) +--local fzf = require("fzf-lua") +--fzf.setup({ +-- files = { cmd = "rg --files --hidden --glob !.git" }, +-- fzf_opts = { ["--no-scrollbar"] = true }, +-- winopts = { split = "belowright 15new" }, +--}) +--vim.keymap.set("n", "f", fzf.files) +--vim.keymap.set("n", "g", fzf.live_grep) +--vim.keymap.set("n", "t", fzf.tags) +--vim.keymap.set("n", "b", fzf.buffers) +----------------------------------------------------------------------------------------- +-- mini.nvim +local mini_pick = require("mini.pick") +mini_pick.setup() + +local mini_extra = require("mini.extra") +mini_extra.setup() + +vim.keymap.set("n", "f", mini_pick.builtin.files) +vim.keymap.set("n", "b", mini_pick.builtin.buffers) +vim.keymap.set("n", "t", function() + local bufpath = vim.api.nvim_buf_get_name(0) + local items = {} + for _, tag in ipairs(vim.fn.taglist(".*")) do + if vim.fn.fnamemodify(tag.filename, ":p") == bufpath then + table.insert(items, { text = tag.name .. "\t" .. tag.kind, tag = tag }) + end + end + mini_pick.start({ + source = { + items = items, + choose = function(item) + vim.cmd("tjump " .. item.tag.name) + end, + }, + }) +end) +vim.keymap.set("n", "g", function() + mini_pick.builtin.grep_live() +end) + +vim.keymap.set('n', '', function() + local word = vim.fn.expand('') + if word == nil or word == '' then + return + end + + mini_pick.builtin.grep({ + pattern = word, + --pattern = ([[\b%s\b]]):format(vim.pesc(word)), + }) +end, { desc = 'Grep word under cursor' }) +----------------------------------------------------------------------------------------- -- C/cpp language server vim.lsp.config.clangd = { diff --git a/lazy-lock.json b/lazy-lock.json index c9895ab..c593ec7 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,7 +1,7 @@ { "conform.nvim": { "branch": "master", "commit": "086a40dc7ed8242c03be9f47fbcee68699cc2395" }, - "fzf-lua": { "branch": "main", "commit": "8a79ee54d6216d10b2f153921a12b152be0c1a20" }, "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, + "mini.nvim": { "branch": "main", "commit": "af5f75c9ce572a4d1f0c77d6fb4ea764d16c1b3c" }, "nvim-treesitter": { "branch": "main", "commit": "6620ae1c44dfa8623b22d0cbf873a9e8d073b849" }, "vim-gutentags": { "branch": "master", "commit": "aa47c5e29c37c52176c44e61c780032dfacef3dd" } }