(nvim) reconfigure telescope
better now
This commit is contained in:
parent
d96dac4458
commit
a82cb3d8a5
2 changed files with 146 additions and 117 deletions
|
|
@ -4,8 +4,6 @@
|
||||||
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
|
||||||
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
|
||||||
"conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" },
|
"conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" },
|
||||||
"fzf": { "branch": "master", "commit": "56fef7c8df2713261fbdbd396aa81ed23d9a945a" },
|
|
||||||
"fzf-lua": { "branch": "main", "commit": "6f7249741168c0751356e3b6c5c1e3bade833b6b" },
|
|
||||||
"git.nvim": { "branch": "main", "commit": "164daed4eff61bd6bee6f1c97cb78144b9374022" },
|
"git.nvim": { "branch": "main", "commit": "164daed4eff61bd6bee6f1c97cb78144b9374022" },
|
||||||
"gitsigns.nvim": { "branch": "main", "commit": "76d88f3b584e1f83b2aa51663a32cc6ee8d97eff" },
|
"gitsigns.nvim": { "branch": "main", "commit": "76d88f3b584e1f83b2aa51663a32cc6ee8d97eff" },
|
||||||
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
||||||
|
|
@ -36,7 +34,7 @@
|
||||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" },
|
"telescope-file-browser.nvim": { "branch": "master", "commit": "626998e5c1b71c130d8bc6cf7abb6709b98287bb" },
|
||||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
|
||||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||||
"telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" },
|
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
|
||||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||||
"tokyonight.nvim": { "branch": "main", "commit": "775f82f08a3d1fb55a37fc6d3a4ab10cd7ed8a10" },
|
"tokyonight.nvim": { "branch": "main", "commit": "775f82f08a3d1fb55a37fc6d3a4ab10cd7ed8a10" },
|
||||||
"undotree": { "branch": "master", "commit": "2556c6800b210b2096b55b66e74b4cc1d9ebbe4f" },
|
"undotree": { "branch": "master", "commit": "2556c6800b210b2096b55b66e74b4cc1d9ebbe4f" },
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
return {
|
return {
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
version = "0.1.2",
|
version = "0.1.8",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
{
|
{
|
||||||
'nvim-telescope/telescope-fzf-native.nvim',
|
'nvim-telescope/telescope-fzf-native.nvim',
|
||||||
|
|
@ -12,124 +12,155 @@ return {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope-file-browser.nvim",
|
"nvim-telescope/telescope-file-browser.nvim",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
enabled = true,
|
enabled = true,
|
||||||
},
|
},
|
||||||
{ 'nvim-telescope/telescope-ui-select.nvim'},
|
{ 'nvim-telescope/telescope-ui-select.nvim' },
|
||||||
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
|
{ 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font },
|
||||||
},
|
},
|
||||||
config = function()
|
config = function()
|
||||||
local telescope = require("telescope")
|
local telescope = require("telescope")
|
||||||
local actions = require("telescope.actions")
|
local actions = require("telescope.actions")
|
||||||
local builtin = require("telescope.builtin")
|
local builtin = require("telescope.builtin")
|
||||||
local fb_actions = require("telescope").extensions.file_browser.actions
|
local fb_actions = require("telescope").extensions.file_browser.actions
|
||||||
|
|
||||||
local function telescope_buffer_dir()
|
local function telescope_buffer_dir()
|
||||||
return vim.fn.expand("%:p:h")
|
return vim.fn.expand("%:p:h")
|
||||||
end
|
end
|
||||||
|
|
||||||
telescope.setup({
|
telescope.setup({
|
||||||
defaults = {
|
defaults = {
|
||||||
mappings = {
|
mappings = {
|
||||||
n = {
|
n = {
|
||||||
["q"] = actions.close,
|
["q"] = actions.close,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
extensions = {
|
extensions = {
|
||||||
file_browser = {
|
['ui-select'] = {
|
||||||
theme = "dropdown",
|
require('telescope.themes').get_dropdown(),
|
||||||
hijack_netrw = false,
|
},
|
||||||
hidden = true,
|
file_browser = {
|
||||||
mappings = {
|
theme = "dropdown",
|
||||||
["i"] = {
|
hijack_netrw = false,
|
||||||
["<C-w>"] = function()
|
hidden = true,
|
||||||
vim.cmd("normal vbd")
|
mappings = {
|
||||||
end,
|
["i"] = {
|
||||||
["<C-j>"] = function(bufnr)
|
["<C-w>"] = function()
|
||||||
actions.move_selection_next(bufnr)
|
vim.cmd("normal vbd")
|
||||||
end,
|
end,
|
||||||
["<C-k>"] = function(bufnr)
|
["<C-j>"] = function(bufnr)
|
||||||
actions.move_selection_previous(bufnr)
|
actions.move_selection_next(bufnr)
|
||||||
end,
|
end,
|
||||||
["<C-s>"] = function(bufnr)
|
["<C-k>"] = function(bufnr)
|
||||||
actions.select_vertical(bufnr)
|
actions.move_selection_previous(bufnr)
|
||||||
end,
|
end,
|
||||||
},
|
["<C-s>"] = function(bufnr)
|
||||||
["n"] = {
|
actions.select_vertical(bufnr)
|
||||||
["a"] = fb_actions.create,
|
end,
|
||||||
["h"] = fb_actions.goto_parent_dir,
|
},
|
||||||
["/"] = function()
|
["n"] = {
|
||||||
vim.cmd("startinsert")
|
["a"] = fb_actions.create,
|
||||||
end,
|
["h"] = fb_actions.goto_parent_dir,
|
||||||
["d"] = fb_actions.remove,
|
["/"] = function()
|
||||||
["e"] = fb_actions.change_cwd,
|
vim.cmd("startinsert")
|
||||||
["<C-s>"] = function(bufnr)
|
end,
|
||||||
actions.select_vertical(bufnr)
|
["d"] = fb_actions.remove,
|
||||||
end,
|
["e"] = fb_actions.change_cwd,
|
||||||
["<C-a>"] = function(bufnr)
|
["<C-s>"] = function(bufnr)
|
||||||
actions.toggle_all(bufnr)
|
actions.select_vertical(bufnr)
|
||||||
end,
|
end,
|
||||||
["<C-d>"] = function(bufnr)
|
["<C-a>"] = function(bufnr)
|
||||||
actions.move_selection_next(bufnr)
|
actions.toggle_all(bufnr)
|
||||||
end,
|
end,
|
||||||
["<C-u>"] = function(bufnr)
|
["<C-d>"] = function(bufnr)
|
||||||
actions.move_selection_previous(bufnr)
|
actions.move_selection_next(bufnr)
|
||||||
end,
|
end,
|
||||||
},
|
["<C-u>"] = function(bufnr)
|
||||||
},
|
actions.move_selection_previous(bufnr)
|
||||||
},
|
end,
|
||||||
},
|
},
|
||||||
})
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
pcall(telescope.load_extension, "file_browser")
|
pcall(telescope.load_extension, "file_browser")
|
||||||
pcall(telescope.load_extension, "fzf")
|
pcall(telescope.load_extension, "fzf")
|
||||||
pcall(telescope.load_extension, "dap")
|
pcall(telescope.load_extension, "ui-select")
|
||||||
|
|
||||||
-- Builtin pickers
|
-- Builtin pickers
|
||||||
vim.keymap.set("n", "<leader>sf", function()
|
vim.keymap.set("n", "<leader>sf", function()
|
||||||
builtin.find_files({ no_ignore = false, hidden = true })
|
builtin.find_files({
|
||||||
end, { desc = "[S]earch [F]iles" })
|
hidden = true,
|
||||||
vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp Tags" })
|
file_ignore_patterns = {
|
||||||
vim.keymap.set("n", "<leader>sb", builtin.buffers, { desc = "[S]earch [B]uffers" })
|
"node%_modules/.*",
|
||||||
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch [W]ord" })
|
"%.git/.*",
|
||||||
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
},
|
||||||
vim.keymap.set("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
|
find_command = {
|
||||||
vim.keymap.set("n", "gr", builtin.lsp_references, { desc = "[G]o to [R]eferences", noremap = true })
|
"fd",
|
||||||
vim.keymap.set("n", "gd", builtin.lsp_definitions, { desc = "[G]o to [D]efinitions" })
|
"--type",
|
||||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "[G]o to [D]eclaration" })
|
"f",
|
||||||
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "[R]e[N]ame" })
|
"--color",
|
||||||
|
"never",
|
||||||
|
"--hidden",
|
||||||
|
"--no-ignore",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end, { desc = "[S]earch [F]iles" })
|
||||||
|
vim.keymap.set("n", "<leader>sh", builtin.help_tags, { desc = "[S]earch [H]elp Tags" })
|
||||||
|
vim.keymap.set("n", "<leader>sb", builtin.buffers, { desc = "[S]earch [B]uffers" })
|
||||||
|
vim.keymap.set("n", "<leader>sw", builtin.grep_string, { desc = "[S]earch current [W]ord" })
|
||||||
|
vim.keymap.set("n", "<leader>sg", builtin.live_grep, { desc = "[S]earch by [G]rep" })
|
||||||
|
vim.keymap.set("n", "<leader>sd", builtin.diagnostics, { desc = "[S]earch [D]iagnostics" })
|
||||||
|
vim.keymap.set("n", "gr", builtin.lsp_references, { desc = "[G]o to [R]eferences", noremap = true })
|
||||||
|
vim.keymap.set("n", "gd", builtin.lsp_definitions, { desc = "[G]o to [D]efinitions" })
|
||||||
|
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { desc = "[G]o to [D]eclaration" })
|
||||||
|
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "[R]e[N]ame" })
|
||||||
|
|
||||||
-- Git pickers
|
-- Git pickers
|
||||||
vim.keymap.set("n", "<leader>gf", builtin.git_files, { desc = "Search [G]it [F]iles" })
|
vim.keymap.set("n", "<leader>gf", builtin.git_files, { desc = "Search [G]it [F]iles" })
|
||||||
vim.keymap.set("n", "<leader>gs", builtin.git_status, { desc = "List [G]it [S]tatus" })
|
vim.keymap.set("n", "<leader>gs", builtin.git_status, { desc = "List [G]it [S]tatus" })
|
||||||
vim.keymap.set("n", "<leader>gh", builtin.git_stash, { desc = "List [G]it [S]tash" })
|
vim.keymap.set("n", "<leader>gh", builtin.git_stash, { desc = "List [G]it [S]tash" })
|
||||||
vim.keymap.set("n", "<leader>gbb", builtin.git_branches, { desc = "List [G]it [B]ranches" })
|
vim.keymap.set("n", "<leader>gbb", builtin.git_branches, { desc = "List [G]it [B]ranches" })
|
||||||
vim.keymap.set("n", "<leader>gc", builtin.git_bcommits, { desc = "List Buffer [G]it [C]ommits" })
|
vim.keymap.set("n", "<leader>gc", builtin.git_bcommits, { desc = "List Buffer [G]it [C]ommits" })
|
||||||
|
|
||||||
-- File Browser Ext
|
-- File Browser Ext
|
||||||
vim.keymap.set("n", "<leader>fs", function()
|
vim.keymap.set("n", "<leader>fs", function()
|
||||||
telescope.extensions.file_browser.file_browser({
|
telescope.extensions.file_browser.file_browser({
|
||||||
path = "%:p:h",
|
path = "%:p:h",
|
||||||
cwd = telescope_buffer_dir(),
|
cwd = telescope_buffer_dir(),
|
||||||
respect_gitignore = false,
|
respect_gitignore = false,
|
||||||
hidden = true,
|
hidden = true,
|
||||||
grouped = true,
|
grouped = true,
|
||||||
previewer = false,
|
previewer = false,
|
||||||
initial_mode = "normal",
|
initial_mode = "normal",
|
||||||
layout_config = { height = 40 },
|
layout_config = { height = 40 },
|
||||||
})
|
})
|
||||||
end, { desc = "Open [F]ile [S]ystem Menu" })
|
end, { desc = "Open [F]ile [S]ystem Menu" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>/", function()
|
vim.keymap.set("n", "<leader>/", function()
|
||||||
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
|
builtin.current_buffer_fuzzy_find(require("telescope.themes").get_dropdown({
|
||||||
winblend = 10,
|
winblend = 10,
|
||||||
previewer = false,
|
previewer = false,
|
||||||
}))
|
}))
|
||||||
end, { desc = "[/] Fuzzily serach in current buffer" })
|
end, { desc = "[/] Fuzzily serach in current buffer" })
|
||||||
end,
|
|
||||||
|
-- live grep in open files only
|
||||||
|
vim.keymap.set("n", "<leader>s/", function()
|
||||||
|
builtin.live_grep {
|
||||||
|
grep_open_files = true,
|
||||||
|
prompt_title = "Live Grep in Open Files",
|
||||||
|
}
|
||||||
|
end, { desc = "[S]search [/] in Open Files" })
|
||||||
|
|
||||||
|
-- shortcut for searching neovim config files
|
||||||
|
vim.keymap.set("n", "<leader>sn", function()
|
||||||
|
builtin.find_files { cwd = vim.fn.stdpath 'config' }
|
||||||
|
end, { desc = "[S]earch [N]eovim files" })
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue