Files
lux/modules/capabilities/neovim/lua-config/lua/plugins/navigation.lua
T
2026-09-04 19:49:42 +02:00

132 lines
3.3 KiB
Lua

require("oil").setup({})
vim.keymap.set("n", "<leader>e", function()
local name = vim.api.nvim_buf_get_name(0)
require("oil").open(name == "" and vim.fn.getcwd() or vim.fs.dirname(name))
end, { desc = "Open file directory" })
require("lz.n").load({
{ "plenary.nvim" },
{ "telescope-fzf-native.nvim" },
{ "telescope-ui-select.nvim" },
{
"telescope.nvim",
event = "VimEnter",
keys = {
{
"<leader>sf",
function()
require("telescope.builtin").find_files({ cwd = require("project").root() })
end,
desc = "Find project files",
},
{
"<leader>sg",
function()
require("telescope.builtin").live_grep({ cwd = require("project").root() })
end,
desc = "Search project text",
},
{
"<leader>sw",
function()
require("telescope.builtin").grep_string({ cwd = require("project").root() })
end,
desc = "Search cursor word",
},
{
"<leader>sb",
function()
require("telescope.builtin").current_buffer_fuzzy_find()
end,
desc = "Search current buffer",
},
{
"<leader>so",
function()
require("telescope.builtin").oldfiles()
end,
desc = "Find recent files",
},
{
"<leader>ss",
function()
require("telescope.builtin").lsp_dynamic_workspace_symbols()
end,
desc = "Find workspace symbols",
},
{
"<leader>sd",
function()
require("telescope.builtin").diagnostics()
end,
desc = "Find diagnostics",
},
{
"<leader>sh",
function()
require("telescope.builtin").help_tags()
end,
desc = "Find help",
},
{
"<leader>sc",
function()
require("telescope.builtin").commands()
end,
desc = "Find commands",
},
{
"<leader>sk",
function()
require("telescope.builtin").keymaps()
end,
desc = "Find keymaps",
},
{
"<leader>sr",
function()
require("telescope.builtin").resume()
end,
desc = "Resume last search",
},
{
"<leader>bb",
function()
require("telescope.builtin").buffers()
end,
desc = "Find open buffers",
},
},
after = function()
local actions = require("telescope.actions")
local promote = function(prompt_bufnr)
actions.smart_send_to_qflist(prompt_bufnr)
vim.cmd("Trouble qflist open")
end
require("telescope").setup({
defaults = {
mappings = {
i = {
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
["<C-q>"] = promote,
},
n = {
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
["<C-q>"] = promote,
},
},
},
extensions = {
["ui-select"] = require("telescope.themes").get_dropdown(),
},
})
require("telescope").load_extension("fzf")
require("telescope").load_extension("ui-select")
end,
},
})