229 lines
6.6 KiB
Lua
229 lines
6.6 KiB
Lua
local util = require("lazyvim.functions")
|
|
|
|
return {
|
|
{
|
|
"kyazdani42/nvim-tree.lua",
|
|
cmd = "NvimTreeToggle",
|
|
config = function()
|
|
local nvim_tree = require("nvim-tree")
|
|
local nvim_tree_config = require("nvim-tree.config")
|
|
local icons = require("lazyvim.config.icons")
|
|
|
|
local tree_cb = nvim_tree_config.nvim_tree_callback
|
|
|
|
nvim_tree.setup({
|
|
hijack_directories = {
|
|
enable = false,
|
|
},
|
|
ignore_ft_on_setup = {
|
|
"alpha",
|
|
},
|
|
filters = {
|
|
custom = { ".git" },
|
|
exclude = { ".gitignore" },
|
|
},
|
|
hijack_cursor = false,
|
|
update_cwd = true,
|
|
renderer = {
|
|
add_trailing = false,
|
|
group_empty = false,
|
|
highlight_git = false,
|
|
highlight_opened_files = "none",
|
|
root_folder_modifier = ":t",
|
|
indent_markers = {
|
|
enable = false,
|
|
icons = {
|
|
corner = "└ ",
|
|
edge = "│ ",
|
|
none = " ",
|
|
},
|
|
},
|
|
icons = {
|
|
webdev_colors = true,
|
|
git_placement = "before",
|
|
padding = " ",
|
|
symlink_arrow = " ➛ ",
|
|
show = {
|
|
file = true,
|
|
folder = true,
|
|
folder_arrow = true,
|
|
git = true,
|
|
},
|
|
glyphs = {
|
|
default = "",
|
|
symlink = "",
|
|
folder = {
|
|
arrow_open = icons.ui.ArrowOpen,
|
|
arrow_closed = icons.ui.ArrowClosed,
|
|
default = "",
|
|
open = "",
|
|
empty = "",
|
|
empty_open = "",
|
|
symlink = "",
|
|
symlink_open = "",
|
|
},
|
|
git = {
|
|
unstaged = "",
|
|
staged = "S",
|
|
unmerged = "",
|
|
renamed = "➜",
|
|
untracked = "U",
|
|
deleted = "",
|
|
ignored = "◌",
|
|
},
|
|
},
|
|
},
|
|
},
|
|
diagnostics = {
|
|
enable = true,
|
|
icons = {
|
|
hint = icons.diagnostics.Hint,
|
|
info = icons.diagnostics.Information,
|
|
warning = icons.diagnostics.Warning,
|
|
error = icons.diagnostics.Error,
|
|
},
|
|
},
|
|
update_focused_file = {
|
|
enable = true,
|
|
update_cwd = true,
|
|
ignore_list = {},
|
|
},
|
|
git = {
|
|
enable = true,
|
|
ignore = true,
|
|
timeout = 500,
|
|
},
|
|
view = {
|
|
width = 30,
|
|
hide_root_folder = false,
|
|
side = "left",
|
|
mappings = {
|
|
custom_only = false,
|
|
list = {
|
|
{ key = { "l", "<CR>", "o" }, cb = tree_cb("edit") },
|
|
{ key = "h", cb = tree_cb("close_node") },
|
|
{ key = "v", cb = tree_cb("vsplit") },
|
|
},
|
|
},
|
|
number = false,
|
|
relativenumber = false,
|
|
},
|
|
actions = {
|
|
open_file = {
|
|
quit_on_open = true,
|
|
},
|
|
},
|
|
})
|
|
end,
|
|
},
|
|
{
|
|
"windwp/nvim-spectre",
|
|
-- stylua: ignore
|
|
keys = {
|
|
{ "<leader>sr", function() require("spectre").open() end, desc = "Replace in files (Spectre)" },
|
|
},
|
|
},
|
|
{
|
|
"nvim-telescope/telescope.nvim",
|
|
cmd = "Telescope",
|
|
keys = {
|
|
{ "<leader>/", util.telescope("live_grep"), desc = "Find in Files (Grep)" },
|
|
{ "<leader><space>", util.telescope("find_files"), desc = "Find Files (root dir)" },
|
|
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Buffers" },
|
|
{ "<leader>ff", util.telescope("find_files"), desc = "Find Files (root dir)" },
|
|
{ "<leader>fF", util.telescope("find_files", { cwd = false }), desc = "Find Files (cwd)" },
|
|
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Recent" },
|
|
{ "<leader>gc", "<cmd>Telescope git_commits<CR>", desc = "commits" },
|
|
{ "<leader>gs", "<cmd>Telescope git_status<CR>", desc = "status" },
|
|
{ "<leader>ha", "<cmd>Telescope autocommands<cr>", desc = "Auto Commands" },
|
|
{ "<leader>hc", "<cmd>Telescope commands<cr>", desc = "Commands" },
|
|
{ "<leader>hf", "<cmd>Telescope filetypes<cr>", desc = "File Types" },
|
|
{ "<leader>hh", "<cmd>Telescope help_tags<cr>", desc = "Help Pages" },
|
|
{ "<leader>hk", "<cmd>Telescope keymaps<cr>", desc = "Key Maps" },
|
|
{ "<leader>hm", "<cmd>Telescope man_pages<cr>", desc = "Man Pages" },
|
|
{ "<leader>ho", "<cmd>Telescope vim_options<cr>", desc = "Options" },
|
|
{ "<leader>hs", "<cmd>Telescope highlights<cr>", desc = "Search Highlight Groups" },
|
|
{ "<leader>ht", "<cmd>Telescope builtin<cr>", desc = "Telescope" },
|
|
{ "<leader>sb", "<cmd>Telescope current_buffer_fuzzy_find<cr>", desc = "Buffer" },
|
|
{ "<leader>sc", "<cmd>Telescope command_history<cr>", desc = "Command History" },
|
|
{ "<leader>sg", util.telescope("live_grep"), desc = "Grep (root dir)" },
|
|
{ "<leader>sG", util.telescope("live_grep", { cwd = false }), desc = "Grep (cwd)" },
|
|
{ "<leader>sm", "<cmd>Telescope marks<cr>", desc = "Jump to Mark" },
|
|
{ "<leader>,", "<cmd>Telescope buffers show_all_buffers=true<cr>", desc = "Switch Buffer" },
|
|
{ "<leader>:", "<cmd>Telescope command_history<cr>", desc = "Command History" },
|
|
{
|
|
"<leader>ss",
|
|
util.telescope("lsp_document_symbols", {
|
|
symbols = {
|
|
"Class",
|
|
"Function",
|
|
"Method",
|
|
"Constructor",
|
|
"Interface",
|
|
"Module",
|
|
"Struct",
|
|
"Trait",
|
|
"Field",
|
|
"Property",
|
|
},
|
|
}),
|
|
desc = "Goto Symbol",
|
|
},
|
|
},
|
|
config = {
|
|
defaults = {
|
|
prompt_prefix = " ",
|
|
selection_caret = " ",
|
|
mappings = {
|
|
i = {
|
|
["<c-t>"] = function(...)
|
|
return require("trouble.providers.telescope").open_with_trouble(...)
|
|
end,
|
|
["<C-i>"] = function()
|
|
util.telescope("find_files", { no_ignore = true })()
|
|
end,
|
|
["<C-h>"] = function()
|
|
util.telescope("find_files", { hidden = true })()
|
|
end,
|
|
["<C-Down>"] = function(...)
|
|
return require("telescope.actions").cycle_history_next(...)
|
|
end,
|
|
["<C-Up>"] = function(...)
|
|
return require("telescope.actions").cycle_history_prev(...)
|
|
end,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"folke/trouble.nvim",
|
|
cmd = { "TroubleToggle", "Trouble" },
|
|
config = { use_diagnostic_signs = true },
|
|
keys = {
|
|
{ "<leader>xx", "<cmd>TroubleToggle document_diagnostics<cr>", desc = "Document Diagnostics (Trouble)" },
|
|
{ "<leader>xX", "<cmd>TroubleToggle workspace_diagnostics<cr>", desc = "Workspace Diagnostics (Trouble)" },
|
|
},
|
|
},
|
|
{
|
|
"folke/todo-comments.nvim",
|
|
cmd = { "TodoTrouble", "TodoTelescope" },
|
|
event = "BufReadPost",
|
|
config = true,
|
|
-- stylua: ignore
|
|
keys = {
|
|
{ "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" },
|
|
{ "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" },
|
|
{ "<leader>xt", "<cmd>TodoTrouble<cr>", desc = "Todo Trouble" },
|
|
{ "<leader>xtt", "<cmd>TodoTrouble keywords=TODO,FIX,FIXME<cr>", desc = "Todo Trouble" },
|
|
{ "<leader>xT", "<cmd>TodoTelescope<cr>", desc = "Todo Telescope" },
|
|
},
|
|
},
|
|
{
|
|
"numToStr/Comment.nvim",
|
|
config = function()
|
|
require("Comment").setup({})
|
|
end,
|
|
},
|
|
}
|