return { -- Telescope fuzzy finder { "nvim-telescope/telescope.nvim", tag = "0.1.5", dependencies = { "nvim-lua/plenary.nvim", { "nvim-telescope/telescope-fzf-native.nvim", build = "make", }, }, cmd = "Telescope", keys = { { "ff", "Telescope find_files", desc = "Find files" }, { "fs", function() require("telescope.builtin").find_files({ find_command = { "fd", "--type", "f", "--max-depth", "3", "--strip-cwd-prefix", "--hidden", "--exclude", ".git", "--exclude", "node_modules", "--exclude", ".next", }, }) end, desc = "Shallow find files", }, { "fg", "Telescope live_grep", desc = "Live grep" }, { "fb", "Telescope buffers", desc = "Buffers" }, { "fh", "Telescope help_tags", desc = "Help tags" }, }, config = function() local telescope = require("telescope") telescope.setup({ defaults = { file_ignore_patterns = { "node_modules", ".next", ".git", "dist", "build", "%.lock", }, vimgrep_arguments = { "rg", "--color=never", "--no-heading", "--with-filename", "--line-number", "--column", "--smart-case", "--hidden", "--glob=!.git/", "--glob=!node_modules/", "--glob=!.next/", }, mappings = { i = { [""] = "move_selection_next", [""] = "move_selection_previous", }, }, }, pickers = { find_files = { hidden = true, find_command = { "fd", "--type", "f", "--strip-cwd-prefix", "--hidden", "--exclude", ".git", "--exclude", "node_modules", "--exclude", ".next", }, }, }, extensions = { fzf = { fuzzy = true, override_generic_sorter = true, override_file_sorter = true, case_mode = "smart_case", }, }, }) telescope.load_extension("fzf") end, }, -- Oil file explorer { "stevearc/oil.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, lazy = false, keys = { { "-", "Oil", desc = "Open parent directory" }, }, opts = { default_file_explorer = true, columns = { "icon", }, view_options = { show_hidden = true, }, keymaps = { ["g?"] = "actions.show_help", [""] = "actions.select", [""] = "actions.select_vsplit", [""] = "actions.select_split", [""] = "actions.select_tab", [""] = "actions.preview", [""] = "actions.close", [""] = "actions.refresh", ["-"] = "actions.parent", ["_"] = "actions.open_cwd", ["`"] = "actions.cd", ["~"] = "actions.tcd", ["gs"] = "actions.change_sort", ["gx"] = "actions.open_external", ["g."] = "actions.toggle_hidden", }, }, }, -- Arrow for quick file bookmarks { "otavioschwanck/arrow.nvim", event = "VeryLazy", opts = { show_icons = true, leader_key = ";", }, }, }