nvim: update telescope

This commit is contained in:
Primrose 2025-07-08 13:37:10 +02:00
parent b2fbc695cc
commit 3f5e236fe5
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA

View file

@ -29,7 +29,7 @@ telescope.setup {
["<Down>"] = actions.cycle_history_next,
},
},
layout_config = { height = 0.4 },
layout_config = { height = 0.5 },
borderchars = { "", "", "", "", "", "", "", "" },
},
pickers = {
@ -37,7 +37,6 @@ telescope.setup {
find_command = { "rg", "--files", "--hidden", "--glob", "!**/.git/*" },
},
current_buffer_fuzzy_find = {
layout_config = { height = 0.6 },
mappings = {
n = {
["n"] = actions.move_selection_next,
@ -46,11 +45,14 @@ telescope.setup {
},
},
lsp_references = {
layout_config = { height = 0.6 },
layout_config = { height = 0.7 },
initial_mode = "normal",
},
live_grep = {
layout_config = { height = 0.6 },
layout_config = { height = 0.7 },
},
buffers = {
initial_mode = "normal",
},
resume = {
initial_mode = "normal",
@ -61,30 +63,25 @@ telescope.setup {
-- Enable telescope fzf native, if installed
pcall(require("telescope").load_extension, "fzf")
-- Waiting for better state management upstream
-- Currently we have to wire the state ourselves
local buffer_picker = nil
local init_buffer_picker = function()
builtin["current_buffer_fuzzy_find"]()
local cached_pickers = state.get_global_key("cached_pickers") or {}
buffer_picker = cached_pickers[1]
local function find_undercursor_in_buffer()
builtin["current_buffer_fuzzy_find"] {
layout_config = { height = 0.8 }, -- Already have word, no need to think
default_text = vim.fn.expand("<cword>"),
initial_mode = "normal",
}
end
local cached_buffer_picker = function()
if buffer_picker == nil then
init_buffer_picker()
else
builtin.resume { picker = buffer_picker }
end
end
vim.keymap.set("n", "/", init_buffer_picker)
vim.keymap.set("n", "?", init_buffer_picker)
vim.keymap.set("n", "n", cached_buffer_picker)
vim.keymap.set("n", "N", cached_buffer_picker)
vim.keymap.set("n", "<leader>/", builtin["find_files"])
vim.keymap.set("n", "<leader>?", builtin["help_tags"])
vim.keymap.set("n", "<leader>g/", builtin["live_grep"])
vim.keymap.set("n", "<leader>G/", function() builtin["live_grep"] { default_text = vim.fn.expand("<cword>") } end)
vim.keymap.set("n", "<leader>d", builtin["diagnostics"])
vim.keymap.set("n", "<leader>b", builtin["buffers"])
vim.keymap.set("n", "<leader>sp", builtin["spell_suggest"])
-- Better than builtin /
vim.keymap.set("n", "/", builtin["current_buffer_fuzzy_find"])
vim.keymap.set("n", "<leader>w", find_undercursor_in_buffer)
-- Use / as prefix to avoid collision in bindings
vim.keymap.set("n", "<leader>/f", builtin["find_files"])
vim.keymap.set("n", "<leader>/?", builtin["help_tags"])
vim.keymap.set("n", "<leader>/g", builtin["live_grep"])
vim.keymap.set("n", "<leader>/d", builtin["diagnostics"])
vim.keymap.set("n", "<leader>/b", builtin["buffers"])
vim.keymap.set("n", "<leader>/p", builtin["spell_suggest"])
-- for GHC
-- grep -> refine for `.hs:` files