Ported config from nixvim.

Made some changes to taste along the way,
though there are some still to come.
This commit is contained in:
Gabe Venberg 2025-07-03 02:18:39 +02:00
parent 9a78fd2d53
commit 3bd72ab98f
13 changed files with 601 additions and 740 deletions

View file

@ -57,7 +57,7 @@ end
return {
{
"telescope.nvim",
for_cat = 'general.telescope',
for_cat = 'telescope',
cmd = { "Telescope", "LiveGrepGitRoot" },
-- NOTE: our on attach function defines keybinds that call telescope.
-- so, the on_require handler will load telescope when we use those.
@ -65,49 +65,37 @@ return {
-- event = "",
-- ft = "",
keys = {
{ "<leader>sM", '<cmd>Telescope notify<CR>', mode = {"n"}, desc = '[S]earch [M]essage', },
{ "<leader>sp",live_grep_git_root, mode = {"n"}, desc = '[S]earch git [P]roject root', },
{ "<leader>/", function()
-- Slightly advanced example of overriding default behavior and theme
-- You can pass additional configuration to telescope to change theme, layout, etc.
require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
winblend = 10,
previewer = false,
})
end, mode = {"n"}, desc = '[/] Fuzzily search in current buffer', },
{ "<leader>s/", function()
{ "<leader>fM", '<cmd>Telescope notify<CR>', mode = {"n"}, desc = '[F]ind [M]essage', },
{ "<leader>fp",live_grep_git_root, mode = {"n"}, desc = '[F]ind git [P]roject root', },
{ "<leader>f/", function()
require('telescope.builtin').live_grep {
grep_open_files = true,
prompt_title = 'Live Grep in Open Files',
}
end, mode = {"n"}, desc = '[S]earch [/] in Open Files' },
{ "<leader><leader>s", function() return require('telescope.builtin').buffers() end, mode = {"n"}, desc = '[ ] Find existing buffers', },
{ "<leader>s.", function() return require('telescope.builtin').oldfiles() end, mode = {"n"}, desc = '[S]earch Recent Files ("." for repeat)', },
{ "<leader>sr", function() return require('telescope.builtin').resume() end, mode = {"n"}, desc = '[S]earch [R]esume', },
{ "<leader>sd", function() return require('telescope.builtin').diagnostics() end, mode = {"n"}, desc = '[S]earch [D]iagnostics', },
{ "<leader>sg", function() return require('telescope.builtin').live_grep() end, mode = {"n"}, desc = '[S]earch by [G]rep', },
{ "<leader>sw", function() return require('telescope.builtin').grep_string() end, mode = {"n"}, desc = '[S]earch current [W]ord', },
{ "<leader>ss", function() return require('telescope.builtin').builtin() end, mode = {"n"}, desc = '[S]earch [S]elect Telescope', },
{ "<leader>sf", function() return require('telescope.builtin').find_files() end, mode = {"n"}, desc = '[S]earch [F]iles', },
{ "<leader>sk", function() return require('telescope.builtin').keymaps() end, mode = {"n"}, desc = '[S]earch [K]eymaps', },
{ "<leader>sh", function() return require('telescope.builtin').help_tags() end, mode = {"n"}, desc = '[S]earch [H]elp', },
end, mode = {"n"}, desc = '[F]ind [/] in Open Files' },
{ "<leader>fb", function() return require('telescope.builtin').buffers() end, mode = {"n"}, desc = '[F]ind [B]uffers', },
{ "<leader>fr", function() return require('telescope.builtin').resume() end, mode = {"n"}, desc = '[F]ind [R]esume', },
{ "<leader>fd", function() return require('telescope.builtin').diagnostics() end, mode = {"n"}, desc = '[F]ind [D]iagnostics', },
{ "<leader>fg", function() return require('telescope.builtin').live_grep() end, mode = {"n"}, desc = '[F]ind by [G]rep', },
{ "<leader>fs", function() return require('telescope.builtin').builtin() end, mode = {"n"}, desc = '[F]ind [S]elect Telescope', },
{ "<leader>ff", function() return require('telescope.builtin').find_files() end, mode = {"n"}, desc = '[F]ind [F]iles', },
{ "<leader>fk", function() return require('telescope.builtin').keymaps() end, mode = {"n"}, desc = '[F]ind [K]eymaps', },
{ "<leader>fh", function() return require('telescope.builtin').help_tags() end, mode = {"n"}, desc = '[F]ind [H]elp', },
{ "<leader>fz", function() require("telescope").extensions.zoxide.list() end, mode = {"n"}, desc = '[F]ind [Z]oxide',},
{ "<leader>fi", function() require("telescope").extensions.file_browser.file_browser() end, mode={"n"}, desc = '[F]ind [I]nteractive file browser',},
},
-- colorscheme = "",
load = function (name)
vim.cmd.packadd(name)
vim.cmd.packadd("telescope-fzf-native.nvim")
vim.cmd.packadd("telescope-ui-select.nvim")
vim.cmd.packadd("telescope-file-browser.nvim")
vim.cmd.packadd("telescope-zoxide")
end,
after = function (plugin)
require('telescope').setup {
local telescope = require("telescope")
telescope.setup {
-- You can put your default mappings / updates / etc. in here
-- All the info you're looking for is in `:help telescope.setup()`
--
defaults = {
mappings = {
i = { ['<c-enter>'] = 'to_fuzzy_refine' },
},
},
-- pickers = {}
extensions = {
['ui-select'] = {
@ -117,8 +105,9 @@ return {
}
-- Enable telescope extensions, if they are installed
pcall(require('telescope').load_extension, 'fzf')
pcall(require('telescope').load_extension, 'ui-select')
telescope.load_extension('ui-select')
telescope.load_extension('zoxide')
telescope.load_extension('file_browser')
vim.api.nvim_create_user_command('LiveGrepGitRoot', live_grep_git_root, {})
end,