Files
dotfiles/nvim/after/plugin/telescope.lua
2022-12-23 16:20:04 +01:00

183 lines
6.1 KiB
Lua

-- https://github.com/nvim-telescope/telescope.nvim/
local telescope = require("telescope")
local actions = require("telescope.actions")
local opts = { noremap = true, silent = true }
vim.keymap.set("n", "<M-p>", [[<Cmd>Telescope find_files<CR>]], opts)
vim.keymap.set("n", "<C-p>", [[<Cmd>Telescope find_files hidden=true<CR>]], opts)
vim.keymap.set("n", "<leader>C", [[<Cmd>Cheatsheet<CR>]], opts)
vim.keymap.set("n", "<leader>F", [[<Cmd>Telescope live_grep<CR>]], opts)
vim.keymap.set("n", "<leader>H", [[<Cmd>Telescope headings<CR>]], opts)
vim.keymap.set("n", "<leader>S", [[<Cmd>Telescope spell_suggest<CR>]], opts)
vim.keymap.set("n", "<leader>b", [[<Cmd>Telescope buffers<CR>]], opts)
vim.keymap.set("n", "<leader>bm", [[<Cmd>Telescope bookmarks<CR>]], opts)
vim.keymap.set("n", "<leader>f", [[<Cmd>Telescope current_buffer_fuzzy_find<CR>]], opts)
vim.keymap.set("n", "<leader>fa", [[<Cmd>Telescope find_files hidden=true<CR>]], opts)
vim.keymap.set("n", "<leader>fb", [[<Cmd>Telescope file_browser<CR>]], opts)
vim.keymap.set("n", "<leader>fd", [[<Cmd>Telescope dir live_grep<CR>]], opts)
vim.keymap.set("n", "<leader>ff", [[<Cmd>Telescope dir find_files<CR>]], opts)
vim.keymap.set("n", "<leader>gb", [[<Cmd>Telescope git_branches<CR>]], opts)
vim.keymap.set("n", "<leader>gs", [[<Cmd>Telescope git_status<CR>]], opts)
vim.keymap.set("n", "<leader>gwc", [[<Cmd>Telescope git_worktree create_git_worktree<CR>]], opts)
vim.keymap.set("n", "<leader>gww", [[<Cmd>Telescope git_worktree git_worktrees<CR>]], opts)
vim.keymap.set("n", "<leader>ht", [[<Cmd>Telescope help_tags<CR>]], opts)
vim.keymap.set("n", "<leader>km", [[<Cmd>Telescope keymaps<CR>]], opts)
vim.keymap.set("n", "<leader>m", [[<Cmd>Telescope marks<CR>]], opts)
vim.keymap.set("n", "<leader>mru", [[<Cmd>Telescope frecency<CR>]], opts)
vim.keymap.set("n", "<leader>nm", [[<Cmd>Telescope node_modules list<CR>]], opts)
vim.keymap.set("n", "<leader>r", [[<Cmd>Telescope resume<CR>]], opts)
vim.keymap.set("n", "<leader>tg", [[<Cmd>Telescope tags<CR>]], opts)
vim.keymap.set("n", "<leader>ty", [[<Cmd>Telescope symbols<CR>]], opts)
vim.keymap.set("n", "<leader>u", [[<Cmd>Telescope undo<CR>]], opts)
telescope.load_extension("bookmarks")
telescope.load_extension("node_modules")
telescope.load_extension("file_browser")
telescope.load_extension("frecency")
telescope.load_extension("lsp_handlers")
telescope.load_extension("fzy_native")
telescope.load_extension("harpoon")
telescope.load_extension("projects")
telescope.load_extension("heading")
telescope.load_extension("gh")
telescope.load_extension("git_worktree")
telescope.load_extension("dir")
telescope.load_extension("undo")
telescope.setup({
defaults = {
prompt_prefix = "",
selection_caret = "",
path_display = {
"smart",
},
file_ignore_pattern = {
"yarn.lock",
},
mappings = {
-- INSERT Mode
i = {
["<C-n>"] = actions.cycle_history_next,
["<C-p>"] = actions.cycle_history_prev,
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
["<C-c>"] = actions.close,
["<Down>"] = actions.move_selection_next,
["<Up>"] = actions.move_selection_previous,
["<CR>"] = actions.select_default,
["<C-x>"] = actions.select_horizontal,
["<C-v>"] = actions.select_vertical,
["<C-t>"] = actions.select_tab,
["<C-u>"] = actions.preview_scrolling_up,
["<C-d>"] = actions.preview_scrolling_down,
["<PageUp>"] = actions.results_scrolling_up,
["<PageDown>"] = actions.results_scrolling_down,
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
["<C-l>"] = actions.complete_tag,
["<C-_>"] = actions.which_key, -- keys from pressing <C-/>
},
-- NORMAL Mode
n = {
["<esc>"] = actions.close,
["<CR>"] = actions.select_default,
["<C-x>"] = actions.select_horizontal,
["<C-v>"] = actions.select_vertical,
["<C-t>"] = actions.select_tab,
["<Tab>"] = actions.toggle_selection + actions.move_selection_worse,
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_better,
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
["j"] = actions.move_selection_next,
["k"] = actions.move_selection_previous,
["H"] = actions.move_to_top,
["M"] = actions.move_to_middle,
["L"] = actions.move_to_bottom,
["<Down>"] = actions.move_selection_next,
["<Up>"] = actions.move_selection_previous,
["gg"] = actions.move_to_top,
["G"] = actions.move_to_bottom,
["<C-u>"] = actions.preview_scrolling_up,
["<C-d>"] = actions.preview_scrolling_down,
["<PageUp>"] = actions.results_scrolling_up,
["<PageDown>"] = actions.results_scrolling_down,
["?"] = actions.which_key,
},
},
},
pickers = {
buffers = {
theme = "dropdown",
previewer = false,
show_all_buffers = true,
sort_lastused = true,
},
},
extensions = {
fzy_native = {
fuzzy = true,
override_generic_sorter = true,
override_file_sorter = true,
case_mode = "smart_case",
},
fzf = {
fuzzy = true,
override_generic_sorter = true,
override_file_sorter = true,
case_mode = "smart_case",
},
file_browser = {
theme = "ivy",
hijack_netrw = true,
},
frecency = {
show_scores = false,
show_unindexed = true,
ignore_patterns = {
"*.git/*",
"*/tmp/*",
},
disable_devicons = false,
},
bookmarks = {
selected_browser = "brave",
url_open_command = "open",
},
lsp_handlers = {
disable = {},
location = {
telescope = {},
no_results_message = "No references found",
},
symbol = {
telescope = {},
no_results_message = "No symbols found",
},
call_hierarchy = {
telescope = {},
no_results_message = "No calls found",
},
code_action = {
telescope = require("telescope.themes").get_dropdown({}),
no_results_message = "No code actions available",
prefix = "",
},
},
},
})