refactor config to define all keybinds in a single file
This commit is contained in:
@@ -2,16 +2,6 @@ return {
|
||||
"rmagatti/auto-session",
|
||||
lazy = false,
|
||||
|
||||
-- Configure keybinds
|
||||
keys = {
|
||||
{ "<leader>wa", "<cmd>SessionToggleAutoSave<CR>", desc = "Toggle session autosave" },
|
||||
{ "<leader>wD", "<cmd>Autosession delete<CR>", desc = "Delete a session" },
|
||||
{ "<leader>wd", "<cmd>SessionDelete<CR>", desc = "Delete session for cwd" },
|
||||
{ "<leader>wl", "<cmd>SessionSearch<CR>", desc = "Open session picker" },
|
||||
{ "<leader>wr", "<cmd>SessionRestore<CR>", desc = "Restore session for cwd" },
|
||||
{ "<leader>ws", "<cmd>SessionSave<CR>", desc = "Save session for cwd" },
|
||||
},
|
||||
|
||||
---@module "auto-session"
|
||||
---@type AutoSession.Config
|
||||
opts = {
|
||||
|
||||
@@ -70,39 +70,5 @@ return {
|
||||
row = 0,
|
||||
col = 1,
|
||||
},
|
||||
on_attach = function(bufnr)
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
local function map(mode, l, r, desc)
|
||||
vim.keymap.set(mode, l, r, { buffer = bufnr, desc = desc })
|
||||
end
|
||||
|
||||
map("n", "]h", gs.next_hunk, "Next hunk")
|
||||
map("n", "[h", gs.prev_hunk, "Prev hunk")
|
||||
|
||||
map("n", "<leader>hs", gs.stage_hunk, "Stage Hunk")
|
||||
map("n", "<leader>hr", gs.reset_hunk, "Reset Hunk")
|
||||
map("v", "<leader>hs", function()
|
||||
gs.stage_hunk { vim.fn.line ".", vim.fn.line "v" }
|
||||
end, "Reset Hunk")
|
||||
|
||||
map("n", "<leader>hS", gs.stage_buffer, "Stage buffer")
|
||||
map("n", "<leader>hR", gs.reset_buffer, "Reset buffer")
|
||||
map("n", "<leader>hu", gs.undo_stage_hunk, "Undo stage hunk")
|
||||
map("n", "<leader>hp", gs.preview_hunk, "Preview hunk")
|
||||
|
||||
map("n", "<leader>hb", function()
|
||||
gs.blame_line { full = true }
|
||||
end, "Blame line")
|
||||
|
||||
map("n", "<leader>hB", gs.toggle_current_line_blame, "Toggle line blame")
|
||||
|
||||
map("n", "<leader>hd", gs.diffthis, "Diff this")
|
||||
map("n", "<leader>hD", function()
|
||||
gs.diffthis "~"
|
||||
end, "Diff this ~")
|
||||
|
||||
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", "Gitsigns select hunk")
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -10,7 +10,4 @@ return {
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>lg", "<cmd>LazyGit<cr>", desc = "Open LazyGit" },
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,14 +3,17 @@ return {
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
|
||||
config = function()
|
||||
local lint = require("lint")
|
||||
local lint = require "lint"
|
||||
|
||||
lint.linters_by_ft = {
|
||||
markdown = { "markdownlint" },
|
||||
html = { "htmlhint" },
|
||||
json = { "jsonlint" },
|
||||
bash = { "shellcheck", "shellharden" },
|
||||
javascript = { "eslint_d" },
|
||||
typescript = { "eslint_d" },
|
||||
javascriptreact = { "eslint_d" },
|
||||
typescriptreact = { "eslint_d" },
|
||||
svelte = { "eslint_d" },
|
||||
python = { "pylint" },
|
||||
}
|
||||
|
||||
@@ -22,9 +25,5 @@ return {
|
||||
lint.try_lint()
|
||||
end,
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>l", function()
|
||||
lint.try_lint()
|
||||
end, { desc = "Trigger linting for current file"})
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,60 +1,47 @@
|
||||
return {
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
dependencies = "nvim-tree/nvim-web-devicons",
|
||||
config = function()
|
||||
local nvimtree = require "nvim-tree"
|
||||
opts = {
|
||||
view = {
|
||||
width = 35,
|
||||
relativenumber = true,
|
||||
},
|
||||
renderer = {
|
||||
indent_markers = {
|
||||
enable = true,
|
||||
},
|
||||
icons = {
|
||||
glyphs = {
|
||||
default = "",
|
||||
folder = {
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
arrow_closed = "", -- arrow when folder is closed
|
||||
arrow_open = "", -- arrow when folder is open
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
window_picker = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
custom = { ".DS_Store" },
|
||||
},
|
||||
git = {
|
||||
ignore = false,
|
||||
},
|
||||
},
|
||||
|
||||
vim.g.loaded_netrw = 1
|
||||
config = function(_, opts)
|
||||
vim.g.loaded_netrwPlugin = 1
|
||||
|
||||
nvimtree.setup {
|
||||
view = {
|
||||
width = 35,
|
||||
relativenumber = true,
|
||||
},
|
||||
renderer = {
|
||||
indent_markers = {
|
||||
enable = true,
|
||||
},
|
||||
icons = {
|
||||
glyphs = {
|
||||
default = "",
|
||||
folder = {
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
arrow_closed = "", -- arrow when folder is closed
|
||||
arrow_open = "", -- arrow when folder is open
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
window_picker = {
|
||||
enable = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
filters = {
|
||||
custom = { ".DS_Store" },
|
||||
},
|
||||
git = {
|
||||
ignore = false,
|
||||
},
|
||||
}
|
||||
|
||||
local keymap = vim.keymap
|
||||
|
||||
keymap.set("n", "<leader>ee", "<cmd>NvimTreeToggle<CR>", { desc = "Toggle file explorer" })
|
||||
keymap.set(
|
||||
"n",
|
||||
"<leader>ef",
|
||||
"<cmd>NvimTreeFindFileToggle<CR>",
|
||||
{ desc = "Toggle file explorer on current file" }
|
||||
)
|
||||
keymap.set("n", "<leader>ec", "<cmd>NvimTreeCollapse<CR>", { desc = "Collapse file explorer" })
|
||||
keymap.set("n", "<leader>er", "<cmd>NvimTreeRefresh<CR>", { desc = "Refresh file explorer" })
|
||||
require("nvim-tree").setup(opts)
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
|
||||
config = function()
|
||||
local conform = require "conform"
|
||||
|
||||
@@ -27,13 +28,5 @@ return {
|
||||
timeout_ms = 1000,
|
||||
},
|
||||
}
|
||||
|
||||
vim.keymap.set({ "n", "v" }, "<leader>mp", function()
|
||||
conform.format {
|
||||
lsp_fallback = true,
|
||||
async = false,
|
||||
timeout_ms = 1000,
|
||||
}
|
||||
end, { desc = "Format file or range (in visual mode)" })
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,17 +1,8 @@
|
||||
return {
|
||||
"gbprod/substitute.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
|
||||
|
||||
config = function()
|
||||
local substitute = require("substitute")
|
||||
|
||||
substitute.setup()
|
||||
|
||||
local keymap = vim.keymap
|
||||
|
||||
keymap.set("n", "s", substitute.operator, { desc = "Substitute with motion" })
|
||||
keymap.set("n", "ss", substitute.line, { desc = "Substitute line" })
|
||||
keymap.set("n", "S", substitute.line, { desc = "Substitute to end of line" })
|
||||
keymap.set("x", "s", substitute.visual, { desc = "Substitute in visual mode" })
|
||||
require("substitute").setup()
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -35,14 +35,5 @@ return {
|
||||
}
|
||||
|
||||
telescope.load_extension "fzf"
|
||||
|
||||
-- keymaps
|
||||
local keymap = vim.keymap
|
||||
|
||||
keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Fuzzy find files in cwd" })
|
||||
keymap.set("n", "<leader>fr", "<cmd>Telescope oldfiles<cr>", { desc = "Fuzzy find recent files" })
|
||||
keymap.set("n", "<leader>fs", "<cmd>Telescope live_grep<cr>", { desc = "Find string in cwd" })
|
||||
keymap.set("n", "<leader>fc", "<cmd>Telescope grep_string<cr>", { desc = "Find string under cursor in cwd" })
|
||||
keymap.set("n", "<leader>ft", "<cmd>TodoTelescope<cr>", { desc = "Find todos" })
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -2,19 +2,8 @@ return {
|
||||
"folke/todo-comments.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
|
||||
|
||||
config = function()
|
||||
local todo_comments = require("todo-comments")
|
||||
local keymap = vim.keymap
|
||||
|
||||
keymap.set("n", "]t", function()
|
||||
todo_comments.jump_next()
|
||||
end, { desc = "Next todo comment" })
|
||||
|
||||
keymap.set("n", "[t", function()
|
||||
todo_comments.jump_prev()
|
||||
end, { desc = "Previous todo comment" })
|
||||
|
||||
todo_comments.setup()
|
||||
require("todo-comments").setup()
|
||||
end,
|
||||
}
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons", "folke/todo-comments.nvim", },
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
"folke/todo-comments.nvim",
|
||||
},
|
||||
opts = {
|
||||
focus = true,
|
||||
},
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{ "<leader>xw", "<cmd>Trouble diagnostics toggle<CR>", desc = "Open trouble workspace diagnostics" },
|
||||
{ "<leader>xd", "<cmd>Trouble diagnostics toggle filter.buf=0<CR>", desc = "Open trouble document diagnostics" },
|
||||
{ "<leader>xq", "<cmd>Trouble quickfix toggle<CR>", desc = "Open trouble quickfix list" },
|
||||
{ "<leader>xl", "<cmd>Trouble loclist toggle<CR>", desc = "Open trouble location list" },
|
||||
{ "<leader>xt", "<cmd>Trouble todo toggle<CR>", desc = "Open todos in trouble" },
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user