From 84d76c1b08dce676f0d2c543ba20d0d6995bf88c Mon Sep 17 00:00:00 2001 From: kossLAN Date: Sat, 22 Mar 2025 17:06:34 -0400 Subject: [PATCH] nvim/telescope: added file browser mode --- nix/neovim-overlay.nix | 3 ++- nvim/init.lua | 7 +++++-- nvim/plugin/telescope.lua | 21 +++++++++++++++++++++ 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/nix/neovim-overlay.nix b/nix/neovim-overlay.nix index a600974..062704c 100644 --- a/nix/neovim-overlay.nix +++ b/nix/neovim-overlay.nix @@ -51,6 +51,7 @@ with final.pkgs.lib; let # telescope and extensions telescope-nvim # https://github.com/nvim-telescope/telescope.nvim/ telescope-fzy-native-nvim # https://github.com/nvim-telescope/telescope-fzy-native.nvim + telescope-file-browser-nvim # telescope-smart-history-nvim # https://github.com/nvim-telescope/telescope-smart-history.nvim # ^ telescope and extensions # UI @@ -82,7 +83,7 @@ with final.pkgs.lib; let # Autoformatting conform-nvim # Theme for neovim - everforest + catppuccin-nvim # QOL Plugin for visuals mostly mini-nvim # https://github.com/echasnovski/mini.nvim/ # Debugging diff --git a/nvim/init.lua b/nvim/init.lua index 4c6ee93..15120db 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -108,5 +108,8 @@ cmd.packadd('cfilter') -- Allows filtering the quickfix list with :cfdo vim.g.sqlite_clib_path = require('luv').os_getenv('LIBSQLITE') -- Vim Theme -vim.g.everforest_background = 'hard' -vim.cmd.colorscheme('everforest') +require('catppuccin').setup { + flavour = 'macchiato', +} + +vim.cmd.colorscheme('catppuccin') diff --git a/nvim/plugin/telescope.lua b/nvim/plugin/telescope.lua index f8769d6..490dd75 100644 --- a/nvim/plugin/telescope.lua +++ b/nvim/plugin/telescope.lua @@ -29,6 +29,12 @@ vim.keymap.set('n', 'sw', builtin.grep_string, { desc = '[S]earch curren vim.keymap.set('n', 'sg', builtin.live_grep, { desc = '[S]earch by [G]rep' }) vim.keymap.set('n', 'sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' }) vim.keymap.set('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' }) +vim.keymap.set( + 'n', + 'fb', + ':Telescope file_browser', + { desc = '[F]ile [B]rowser', noremap = true, silent = true } +) telescope.setup { defaults = { @@ -90,8 +96,23 @@ telescope.setup { override_generic_sorter = false, override_file_sorter = true, }, + file_browser = { + hijack_netrw = true, + hidden = true, + respect_gitignore = false, + mappings = { + ['n'] = { + ['a'] = require('telescope._extensions.file_browser.actions').create, + ['r'] = require('telescope._extensions.file_browser.actions').rename, + ['d'] = require('telescope._extensions.file_browser.actions').remove, + ['h'] = require('telescope._extensions.file_browser.actions').goto_parent_dir, + ['N'] = require('telescope._extensions.file_browser.actions').create, + }, + }, + }, }, } telescope.load_extension('fzy_native') +telescope.load_extension('file_browser') -- telescope.load_extension('smart_history')