1
0

Added ripgrep based file finder

This commit is contained in:
2025-08-06 13:41:35 +02:00
parent cd6c9e23ce
commit 060fe95fc5

View File

@@ -50,26 +50,54 @@ end, { nargs = 1 })
vim.opt.statusline = ' #%n %f %h%w%m%r %= %y %l:%c %p%% '
-- }}}
-- FilePicker Script {{{
local function get_list_completion(arg_lead, cmdline, cur_pos)
local cmdout = ''
if (arg_lead == '') then
cmdout = vim.trim(io.popen('rg --files'):read('*a'))
else
local tmp = arg_lead:gsub('\\', '\\\\')
cmdout = vim.trim(io.popen('rg --files | rg ' .. tmp):read('*a'))
end
return vim.split(cmdout, '\n')
end
local function cmd_handler(opts)
if vim.tbl_count(opts.fargs) == 0 then
return
end
for _, arg in ipairs(opts.fargs) do
vim.cmd.edit({args = {arg}})
end
end
vim.api.nvim_create_user_command(
'FilePick',
cmd_handler,
{ complete = get_list_completion, nargs = 1, force = true }
)
-- }}}
-- Toggle Terminal Script {{{
local term_buf = nil
local term_winid = nil
local function openTerminal()
if vim.fn.bufexists(term_buf) ~= 1 then
vim.api.nvim_command("autocmd TermOpen * setlocal nonumber norelativenumber signcolumn=no")
vim.api.nvim_command("split | wincmd J | resize 10 | term")
vim.api.nvim_command('autocmd TermOpen * setlocal nonumber norelativenumber signcolumn=no')
vim.api.nvim_command('split | wincmd J | resize 10 | term')
term_winid = vim.fn.win_getid()
term_buf = vim.fn.bufnr('%')
elseif vim.fn.win_gotoid(term_winid) ~= 1 then
vim.api.nvim_command("sbuffer " .. term_buf .. "| wincmd J | resize 10")
vim.api.nvim_command('sbuffer ' .. term_buf .. '| wincmd J | resize 10')
term_winid = vim.fn.win_getid()
end
vim.api.nvim_command("startinsert")
vim.api.nvim_command('startinsert')
end
local function hideTerminal()
if vim.fn.win_gotoid(term_winid) == 1 then
vim.api.nvim_command("hide")
vim.api.nvim_command('hide')
end
end
@@ -93,7 +121,8 @@ vim.api.nvim_create_autocmd({ 'TermOpen' }, {
vim.keymap.set('n', '<F6>', ':b#<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<F7>', ':bprevious<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<F8>', ':bnext<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>f', ':find ', { noremap = true })
--vim.keymap.set('n', '<leader>f', ':find ', { noremap = true })
--vim.keymap.set('n', '<leader>f', ':FilePick ', { noremap = true })
vim.keymap.set('n', '<leader>t', ToggleTerminal)
vim.keymap.set('t', '<Esc>', '<C-\\><C-n>')
vim.keymap.set('n', 'x', '"_x')