Compare commits

...

2 Commits

Author SHA1 Message Date
55e28be32c
Handle big files better 2025-06-01 21:46:51 +02:00
320d742b41
Telescope plugins should be loaded _after_ telescope 2025-06-01 21:46:48 +02:00
2 changed files with 131 additions and 108 deletions

View File

@ -9,6 +9,20 @@ return {
--- @module "snacks" --- @module "snacks"
--- @type snacks.Config --- @type snacks.Config
opts = { opts = {
bigfile = {
enabled = true,
---@param ctx {buf: number, ft:string}
setup = function(ctx)
-- Disable treesitter
vim.treesitter.stop(ctx.buf)
vim.schedule(function()
if vim.api.nvim_buf_is_valid(ctx.buf) then
vim.bo[ctx.buf].syntax = ctx.ft
end
end)
end,
},
indent = { indent = {
enabled = true, enabled = true,
indent = { indent = {

View File

@ -3,118 +3,127 @@ local window = require("symbols.window")
--- @module "lazy" --- @module "lazy"
--- @type LazySpec --- @type LazySpec
return { return {
"nvim-telescope/telescope.nvim", {
cmd = { "Telescope" }, "nvim-telescope/telescope.nvim",
dependencies = { cmd = { "Telescope" },
"nvim-lua/plenary.nvim", lazy = false,
{ dependencies = {
"nvim-telescope/telescope-ui-select.nvim", "nvim-lua/plenary.nvim",
config = function()
require("telescope").load_extension("ui-select")
end,
}, },
{ opts = function()
"nvim-telescope/telescope-fzf-native.nvim", return {
build = "make", pickers = {
cond = function() find_files = {
return vim.fn.executable("make") == 1 hidden = true,
end,
config = function()
require("telescope").load_extension("fzf")
end,
},
},
opts = function()
return {
pickers = {
find_files = {
hidden = true,
},
},
defaults = {
file_ignore_patterns = {
".git/",
},
mappings = {
n = {
["<Tab>"] = "move_selection_worse",
["<S-Tab>"] = "move_selection_better",
},
i = {
["<Tab>"] = "move_selection_worse",
["<S-Tab>"] = "move_selection_better",
}, },
}, },
borderchars = window.borderchars, defaults = {
}, file_ignore_patterns = {
extensions = { ".git/",
["ui-select"] = { },
require("telescope.themes").get_dropdown(), mappings = {
n = {
["<Tab>"] = "move_selection_worse",
["<S-Tab>"] = "move_selection_better",
},
i = {
["<Tab>"] = "move_selection_worse",
["<S-Tab>"] = "move_selection_better",
},
},
borderchars = window.borderchars,
}, },
}, extensions = {
} ["ui-select"] = {
end, require("telescope.themes").get_dropdown(),
init = function() },
vim.keymap.set("n", "<leader>.", function() },
require("telescope.builtin").oldfiles() }
end, { desc = "Find recently opened files" }) end,
vim.keymap.set("n", "<leader>sb", function() init = function()
require("telescope.builtin").buffers() vim.keymap.set("n", "<leader>.", function()
end, { desc = "Buffers" }) require("telescope.builtin").oldfiles()
end, { desc = "Find recently opened files" })
vim.keymap.set("n", "<leader>sb", function()
require("telescope.builtin").buffers()
end, { desc = "Buffers" })
vim.keymap.set("n", "<leader>/", function() vim.keymap.set("n", "<leader>/", function()
require("telescope.builtin").current_buffer_fuzzy_find({ require("telescope.builtin").current_buffer_fuzzy_find({
-- Show matches in the order they appear in the document -- Show matches in the order they appear in the document
sorting_strategy = "ascending", sorting_strategy = "ascending",
})
end, { desc = "Fuzzily search in current buffer" })
vim.keymap.set("n", "<leader>s/", function()
require("telescope.builtin").live_grep({
grep_open_files = true,
prompt_title = "Live Grep in Open Files",
})
end, { desc = "Grep in open files" })
vim.keymap.set("n", "<leader><space>", function()
require("telescope.builtin").find_files()
end, { desc = "Find files" })
vim.keymap.set("n", "<leader>sh", function()
require("telescope.builtin").help_tags()
end, { desc = "Help" })
vim.keymap.set("n", "<leader>sw", function()
require("telescope.builtin").grep_string({
-- Show matches in the order they appear in the document
sorting_strategy = "ascending",
})
end, { desc = "Current word" })
vim.keymap.set("n", "<leader>sg", function()
require("telescope.builtin").live_grep()
end, { desc = "Grep" })
vim.keymap.set("n", "<leader>sd", function()
require("telescope.builtin").diagnostics()
end, { desc = "Diagnostics" })
vim.keymap.set("n", "<leader>sr", function()
require("telescope.builtin").resume()
end, { desc = "Resume" })
vim.keymap.set("n", "<leader>sk", function()
require("telescope.builtin").keymaps()
end, { desc = "Keymaps" })
vim.keymap.set("n", "<leader>sn", function()
require("telescope.builtin").find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "Neovim files" })
-- HACK: Workaround until new borders are fixed in telescope
vim.api.nvim_create_autocmd("User", {
pattern = "TelescopeFindPre",
callback = function()
vim.opt_local.winborder = "none"
vim.api.nvim_create_autocmd("WinLeave", {
once = true,
callback = function()
vim.opt_local.winborder = window.border
end,
}) })
end, end, { desc = "Fuzzily search in current buffer" })
}) vim.keymap.set("n", "<leader>s/", function()
end, require("telescope.builtin").live_grep({
grep_open_files = true,
prompt_title = "Live Grep in Open Files",
})
end, { desc = "Grep in open files" })
vim.keymap.set("n", "<leader><space>", function()
require("telescope.builtin").find_files()
end, { desc = "Find files" })
vim.keymap.set("n", "<leader>sh", function()
require("telescope.builtin").help_tags()
end, { desc = "Help" })
vim.keymap.set("n", "<leader>sw", function()
require("telescope.builtin").grep_string({
-- Show matches in the order they appear in the document
sorting_strategy = "ascending",
})
end, { desc = "Current word" })
vim.keymap.set("n", "<leader>sg", function()
require("telescope.builtin").live_grep()
end, { desc = "Grep" })
vim.keymap.set("n", "<leader>sd", function()
require("telescope.builtin").diagnostics()
end, { desc = "Diagnostics" })
vim.keymap.set("n", "<leader>sr", function()
require("telescope.builtin").resume()
end, { desc = "Resume" })
vim.keymap.set("n", "<leader>sk", function()
require("telescope.builtin").keymaps()
end, { desc = "Keymaps" })
vim.keymap.set("n", "<leader>sn", function()
require("telescope.builtin").find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "Neovim files" })
-- HACK: Workaround until new borders are fixed in telescope
vim.api.nvim_create_autocmd("User", {
pattern = "TelescopeFindPre",
callback = function()
vim.opt_local.winborder = "none"
vim.api.nvim_create_autocmd("WinLeave", {
once = true,
callback = function()
vim.opt_local.winborder = window.border
end,
})
end,
})
end,
},
{
"nvim-telescope/telescope-ui-select.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
},
config = function()
require("telescope").load_extension("ui-select")
end,
},
{
"nvim-telescope/telescope-fzf-native.nvim",
dependencies = {
"nvim-telescope/telescope.nvim",
},
build = "make",
cond = function()
return vim.fn.executable("make") == 1
end,
config = function()
require("telescope").load_extension("fzf")
end,
},
} }