diff --git a/modules/home-manager/cli/neovim/default.nix b/modules/home-manager/cli/neovim/default.nix index 1960e4f..1528061 100644 --- a/modules/home-manager/cli/neovim/default.nix +++ b/modules/home-manager/cli/neovim/default.nix @@ -87,6 +87,11 @@ in } ''; } + { + plugin = lsp_lines-nvim; + type = "lua"; + config = (builtins.readFile ./files/lsp-line.lua); + } { plugin = nvim-lspconfig; type = "lua"; diff --git a/modules/home-manager/cli/neovim/files/fzf-lua.lua b/modules/home-manager/cli/neovim/files/fzf-lua.lua index a186a12..7cc193c 100644 --- a/modules/home-manager/cli/neovim/files/fzf-lua.lua +++ b/modules/home-manager/cli/neovim/files/fzf-lua.lua @@ -1 +1,33 @@ -require('fzf-lua').setup() +require('fzf-lua').setup({ + previewers = { + builtin = { + extensions = { + ['png'] = { "chafa" }, + ['jpg'] = { "chafa" }, + ['svg'] = { "chafa" }, + } + } + }, + files = { + cwd_prompt_shorten_len = 20 + } +}) + +vim.keymap.set('n', 'fb', function() require('fzf-lua').buffers() end, {desc='open [b]uffers'}) +vim.keymap.set('n', 'ff', function() require('fzf-lua').files() end, {desc='[r]esume last command'}) +vim.keymap.set('n', 'fr', function() require('fzf-lua').files() end, {desc='[f]iles'}) + +-- git related keymaps +vim.keymap.set('n', 'fgb', function() require('fzf-lua').git_branches() end, {desc='Git [b]ranches'}) +vim.keymap.set('n', 'fgc', function() require('fzf-lua').git_commits() end, {desc='Git [c]ommits'}) +vim.keymap.set('n', 'fgC', function() require('fzf-lua').git_bcommits() end, {desc='Git current buffer [C]ommits'}) +vim.keymap.set('n', 'fgf', function() require('fzf-lua').git_files() end, {desc='Git [f]iles'}) +vim.keymap.set('n', 'fgs', function() require('fzf-lua').git_stash() end, {desc='Git [s]tash'}) +vim.keymap.set('n', 'fgS', function() require('fzf-lua').git_status() end, {desc='Git [S]tash'}) + +-- grep related keymaps +vim.keymap.set('n', 'fGb', function() require('fzf-lua').grep_curbuf() end, {desc='grep in current [b]uffer'}) +vim.keymap.set('n', 'fGc', function() require('fzf-lua').grep_cword() end, {desc='grep word under the [c]ursor'}) +vim.keymap.set('n', 'fGg', function() require('fzf-lua').grep() end, {desc='[g]rep'}) +vim.keymap.set('n', 'fGl', function() require('fzf-lua').live_grep() end, {desc='[l]ive grep'}) +vim.keymap.set('n', 'fGr', function() require('fzf-lua').grep_last() end, {desc='[r]erun last grep'}) diff --git a/modules/home-manager/cli/neovim/files/lsp-line.lua b/modules/home-manager/cli/neovim/files/lsp-line.lua new file mode 100644 index 0000000..d10b0bc --- /dev/null +++ b/modules/home-manager/cli/neovim/files/lsp-line.lua @@ -0,0 +1,2 @@ +require('lsp_lines').setup() +vim.diagnostic.config({ virtual_lines = true }) diff --git a/modules/home-manager/cli/neovim/files/neotree.lua b/modules/home-manager/cli/neovim/files/neotree.lua index da3b336..c252b7f 100644 --- a/modules/home-manager/cli/neovim/files/neotree.lua +++ b/modules/home-manager/cli/neovim/files/neotree.lua @@ -19,7 +19,7 @@ neotree.setup({ } }) -vim.keymap.set('n', 'nc', ':Neotree close', {desc='Neotree [C]lose'}) -vim.keymap.set('n', 'nf', ':Neotree focus filesystem', {desc='Neotree [F]ocus'}) -vim.keymap.set('n', 'nb', ':Neotree focus buffers', {desc='Neotree Nvim [B]uffers'}) -vim.keymap.set('n', 'ng', ':Neotree focus git_status', {desc='Neotree [G]it status'}) +vim.keymap.set('n', 'nc', ':Neotree close', {desc='Neotree [c]lose'}) +vim.keymap.set('n', 'nf', ':Neotree focus filesystem', {desc='Neotree [f]ocus'}) +vim.keymap.set('n', 'nb', ':Neotree focus buffers', {desc='Neotree Nvim [b]uffers'}) +vim.keymap.set('n', 'ng', ':Neotree focus git_status', {desc='Neotree [g]it status'}) diff --git a/modules/home-manager/cli/neovim/files/whichkey.lua b/modules/home-manager/cli/neovim/files/whichkey.lua index a3cf600..0fdd5b8 100644 --- a/modules/home-manager/cli/neovim/files/whichkey.lua +++ b/modules/home-manager/cli/neovim/files/whichkey.lua @@ -1,4 +1,10 @@ -- Which-key -- local wk = require 'which-key' --- wk.register() +wk.add({ + {'n', group = 'NeoTree'}, + {'f', group = 'fzf-lua'}, + {'fg', group = 'fzf-lua Git'}, + {'fG', group = 'fzf-lua Grep'}, + {'g', group = 'Gitsign'}, +})