Files
nvim-config/lua/modules/navigation.lua

125 lines
3.3 KiB
Lua

require('plugins.filetree')
-- local finder = require('plugins.finder')
-- finder.setup({
-- exclude_patterns = { 'node_modules', 'dist', 'build', '.git', '.cache', '.turbo', '*-lock.json' },
-- use_disk_cache = true,
-- follow_symlinks = true,
-- })
require('fzf-lua').setup({
fzf_colors = {
['fg'] = { 'fg', 'PickerNormal' },
['bg'] = { 'bg', 'PickerNormal' },
['fg+'] = { 'fg', 'PickerSelection' },
['bg+'] = { 'bg', 'PickerSelection' },
['hl'] = { 'fg', 'PickerMatch' },
['hl+'] = { 'fg', 'PickerMatch' },
['info'] = { 'fg', 'PickerMuted' },
['prompt'] = { 'fg', 'PickerPrompt' },
['pointer'] = { 'fg', 'PickerPrompt' },
['marker'] = { 'fg', 'PickerPrompt' },
['spinner'] = { 'fg', 'PickerPrompt' },
['header'] = { 'fg', 'PickerMuted' },
['border'] = { 'fg', 'PickerBorder' },
['separator'] = { 'fg', 'PickerBorder' },
['gutter'] = '-1',
},
hls = {
normal = 'PickerNormal',
border = 'PickerBorder',
title = 'PickerTitle',
title_flags = 'PickerMuted',
preview_normal = 'PickerPreview',
preview_border = 'PickerPreviewBorder',
preview_title = 'PickerTitle',
cursorline = 'PickerSelection',
cursorlinenr = 'PickerMuted',
search = 'PickerMatch',
header_bind = 'PickerMuted',
header_text = 'PickerMuted',
path_colnr = 'PickerMuted',
path_linenr = 'PickerMuted',
},
winopts = {
split = function()
vim.cmd(('botright %dnew +set\\ nobl'):format(math.max(12, math.floor(vim.o.lines * 0.35))))
end,
backdrop = 100,
treesitter = false,
preview = {
default = 'builtin',
delay = 0,
layout = 'flex',
horizontal = 'right:55%',
vertical = 'down:45%',
flip_columns = 120,
},
},
files = {
follow = true,
fd_opts = table.concat({
'--color=never',
'--type f',
'--type l',
'--hidden',
'--follow',
'--exclude .git',
'--exclude .cache',
'--exclude .turbo',
'--exclude node_modules',
'--exclude dist',
'--exclude build',
'--exclude "*-lock.json"',
'--exclude "*-lock.yaml"',
}, ' '),
rg_opts = table.concat({
'--color=never',
'--files',
'--hidden',
'--follow',
'-g "!.git"',
'-g "!.cache"',
'-g "!.turbo"',
'-g "!node_modules"',
'-g "!dist"',
'-g "!build"',
'-g "!*-lock.json"',
'-g "!*-lock.yaml"',
}, ' '),
},
grep = {
rg_opts = table.concat({
'--column',
'--line-number',
'--no-heading',
'--color=always',
'--colors "path:none"',
'--colors "line:none"',
'--colors "column:none"',
'--colors "match:fg:166"',
'--colors "match:style:bold"',
'--smart-case',
'--max-columns=4096',
'--hidden',
'--follow',
'--glob "!.git"',
'--glob "!.cache"',
'--glob "!.turbo"',
'--glob "!node_modules"',
'--glob "!dist"',
'--glob "!build"',
'--glob "!*-lock.json"',
'--glob "!*-lock.yaml"',
'-e',
}, ' '),
},
})
local fzf = require('fzf-lua')
-- vim.keymap.set('n', '<leader>f', finder.files)
-- vim.keymap.set('n', '<leader>g', finder.grep)
-- vim.keymap.set('n', '<leader>fc', finder.clear_cache)
-- vim.keymap.set('n', '<leader>fD', finder.diagnose)
vim.keymap.set('n', '<leader>f', fzf.files)
vim.keymap.set('n', '<leader>g', fzf.live_grep)