From bac27b5539a6307e1d82baa51c708bf8a8ae6ccb Mon Sep 17 00:00:00 2001 From: He4eT Date: Thu, 4 Apr 2024 00:47:07 +0200 Subject: [PATCH] nvim: inline fzf config --- nvim/init.lua | 170 +++++++++++++++++++++++++------------------------- 1 file changed, 85 insertions(+), 85 deletions(-) diff --git a/nvim/init.lua b/nvim/init.lua index e914161..4220851 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -209,6 +209,91 @@ require('lazy').setup({ build = './install --bin', }, }, + config = function () + local fzf = require 'fzf-lua' + + fzf.setup { + winopts = { + border = 'single', + fullscreen = true, + previewers = { + builtin = { + syntax = true, + syntax_limit_b = 1024 * 64, -- syntax limit (bytes), 0=nolimit + }, + }, + }, + grep = { + rg_opts = '--vimgrep --smart-case --max-columns=512' + .. ' --color=ansi' + .. ' --colors path:fg:yellow' + .. ' --colors line:fg:green' + .. ' --colors column:fg:blue' + .. ' --colors match:fg:red', + file_ignore_patterns = { + '^node_modules/', + '/node_modules/', + '^.git/', + '^.yarn/', + }, + }, + fzf_opts = { + ['--border'] = 'none', + ['--preview-window'] = 'border-sharp', + }, + fzf_colors = { + ['fg'] = { 'fg', 'CursorLine' }, + ['bg'] = { 'bg', 'Normal' }, + ['hl'] = { 'fg', 'Comment' }, + ['fg+'] = { 'fg', 'Normal' }, + ['bg+'] = { 'bg', 'CursorLine' }, + ['hl+'] = { 'fg', 'Statement' }, + ['info'] = { 'fg', 'Normal' }, + ['prompt'] = { 'fg', 'Conditional' }, + ['pointer'] = { 'fg', 'Exception' }, + ['marker'] = { 'fg', 'Keyword' }, + ['spinner'] = { 'fg', 'Label' }, + ['header'] = { 'fg', 'Comment' }, + ['gutter'] = { 'bg', 'Normal' }, + }, + } + + local fzf_files = function() + fzf.files { fd_opts = '--no-ignore --hidden' } + end + + local fzf_grep_filename = function() + fzf.grep { search = vim.fn.expand '%:t' } + end + + local fzf_git_history = function() + fzf.files { cmd = "git log --name-only --pretty=\"\" | sed -e '/^\\s*$/d' | awk '!seen[$0]++'" } + end + + -- fzf keymaps + vim.keymap.set({ 'n' }, 'gr', fzf.lsp_references, { desc = 'LSP: [G]o to fzf [R]eference list' }) + vim.keymap.set({ 'n' }, 'fu', fzf_grep_filename, { desc = '[F]zf: current file [U]sages' }) + + vim.keymap.set({ 'n' }, 'fp', fzf.builtin, { desc = '[F]zf: [p]allete' }) + vim.keymap.set({ 'n' }, 'f.', fzf.resume, { desc = '[F]zf: Resume' }) + + vim.keymap.set({ 'n' }, 'b', fzf.buffers, { desc = '[F]zf: [B]uffers' }) + + vim.keymap.set({ 'n' }, 'fF', fzf_files, { desc = '[F]zf: all [F]iles' }) + vim.keymap.set({ 'n' }, 'ff', fzf.git_files, { desc = '[F]zf: git [f]iles' }) + vim.keymap.set({ 'n' }, 'fd', fzf.git_status, { desc = '[F]zf: git [d]iff' }) + vim.keymap.set({ 'n' }, 'fh', fzf_git_history, { desc = '[F]zf: git [h]istory' }) + + vim.keymap.set({ 'n' }, 'fg', fzf.live_grep, { desc = '[F]zf: [g]rep' }) + vim.keymap.set({ 'n' }, 'fw', fzf.grep_cword, { desc = '[F]zf: grep [w]' }) + vim.keymap.set({ 'n' }, 'fW', fzf.grep_cWORD, { desc = '[F]zf: grep [W]' }) + + vim.keymap.set({ 'n' }, 'p', fzf.registers, { desc = '[F]zf: [p]aste' }) + vim.keymap.set({ 'n' }, '/', fzf.blines, { desc = '[F]zf: buffer lines' }) + vim.keymap.set({ 'n' }, 'f?', fzf.keymaps, { desc = '[F]zf: keymaps' }) + vim.keymap.set({ 'n' }, 'f/', fzf.search_history, { desc = '[F]zf: search history' }) + vim.keymap.set({ 'n' }, 'f:', fzf.command_history, { desc = '[F]zf: command history' }) + end }, { -- LSP Configuration & Plugins 'neovim/nvim-lspconfig', @@ -329,91 +414,6 @@ require('lazy').setup({ }, }) --- [[ Configure fzf-lua ]] -local fzf = require 'fzf-lua' - -fzf.setup { - winopts = { - border = 'single', - fullscreen = true, - previewers = { - builtin = { - syntax = true, - syntax_limit_b = 1024 * 64, -- syntax limit (bytes), 0=nolimit - }, - }, - }, - grep = { - rg_opts = '--vimgrep --smart-case --max-columns=512' - .. ' --color=ansi' - .. ' --colors path:fg:yellow' - .. ' --colors line:fg:green' - .. ' --colors column:fg:blue' - .. ' --colors match:fg:red', - file_ignore_patterns = { - '^node_modules/', - '/node_modules/', - '^.git/', - '^.yarn/', - }, - }, - fzf_opts = { - ['--border'] = 'none', - ['--preview-window'] = 'border-sharp', - }, - fzf_colors = { - ['fg'] = { 'fg', 'CursorLine' }, - ['bg'] = { 'bg', 'Normal' }, - ['hl'] = { 'fg', 'Comment' }, - ['fg+'] = { 'fg', 'Normal' }, - ['bg+'] = { 'bg', 'CursorLine' }, - ['hl+'] = { 'fg', 'Statement' }, - ['info'] = { 'fg', 'Normal' }, - ['prompt'] = { 'fg', 'Conditional' }, - ['pointer'] = { 'fg', 'Exception' }, - ['marker'] = { 'fg', 'Keyword' }, - ['spinner'] = { 'fg', 'Label' }, - ['header'] = { 'fg', 'Comment' }, - ['gutter'] = { 'bg', 'Normal' }, - }, -} - -local fzf_files = function() - fzf.files { fd_opts = '--no-ignore --hidden' } -end - -local fzf_grep_filename = function() - fzf.grep { search = vim.fn.expand '%:t' } -end - -local fzf_git_history = function() - fzf.files { cmd = "git log --name-only --pretty=\"\" | sed -e '/^\\s*$/d' | awk '!seen[$0]++'" } -end - --- fzf keymaps -vim.keymap.set({ 'n' }, 'gr', fzf.lsp_references, { desc = 'LSP: [G]o to fzf [R]eference list' }) -vim.keymap.set({ 'n' }, 'fu', fzf_grep_filename, { desc = '[F]zf: current file [U]sages' }) - -vim.keymap.set({ 'n' }, 'fp', fzf.builtin, { desc = '[F]zf: [p]allete' }) -vim.keymap.set({ 'n' }, 'f.', fzf.resume, { desc = '[F]zf: Resume' }) - -vim.keymap.set({ 'n' }, 'b', fzf.buffers, { desc = '[F]zf: [B]uffers' }) - -vim.keymap.set({ 'n' }, 'fF', fzf_files, { desc = '[F]zf: all [F]iles' }) -vim.keymap.set({ 'n' }, 'ff', fzf.git_files, { desc = '[F]zf: git [f]iles' }) -vim.keymap.set({ 'n' }, 'fd', fzf.git_status, { desc = '[F]zf: git [d]iff' }) -vim.keymap.set({ 'n' }, 'fh', fzf_git_history, { desc = '[F]zf: git [h]istory' }) - -vim.keymap.set({ 'n' }, 'fg', fzf.live_grep, { desc = '[F]zf: [g]rep' }) -vim.keymap.set({ 'n' }, 'fw', fzf.grep_cword, { desc = '[F]zf: grep [w]' }) -vim.keymap.set({ 'n' }, 'fW', fzf.grep_cWORD, { desc = '[F]zf: grep [W]' }) - -vim.keymap.set({ 'n' }, 'p', fzf.registers, { desc = '[F]zf: [p]aste' }) -vim.keymap.set({ 'n' }, '/', fzf.blines, { desc = '[F]zf: buffer lines' }) -vim.keymap.set({ 'n' }, 'f?', fzf.keymaps, { desc = '[F]zf: keymaps' }) -vim.keymap.set({ 'n' }, 'f/', fzf.search_history, { desc = '[F]zf: search history' }) -vim.keymap.set({ 'n' }, 'f:', fzf.command_history, { desc = '[F]zf: command history' }) - -- [[ Configure Treesitter ]] -- See `:help nvim-treesitter` require('nvim-treesitter.configs').setup {