Updated keybinds for which-key integration
This commit is contained in:
@@ -170,8 +170,8 @@ Extensible fuzzy finder for NeoVim
|
|||||||
|---------|---------------|------|
|
|---------|---------------|------|
|
||||||
| `<leader>pf` | Find files | Normal |
|
| `<leader>pf` | Find files | Normal |
|
||||||
| `Ctrl + p` | Find git files | Normal |
|
| `Ctrl + p` | Find git files | Normal |
|
||||||
| `<leader>pws` | Search files for `<cword>` (word the cursor is on) | Normal |
|
| `<leader>pw` | Search files for `<cword>` (word the cursor is on) | Normal |
|
||||||
| `<leader>pWs` | Search files for `<cWORD>` (WORD the cursor is on) | Normal |
|
| `<leader>pW` | Search files for `<cWORD>` (WORD the cursor is on) | Normal |
|
||||||
| `<leader>ps` | Search files with grep | Normal |
|
| `<leader>ps` | Search files with grep | Normal |
|
||||||
| `<leader>vh` | Search builtin documentation | Normal |
|
| `<leader>vh` | Search builtin documentation | Normal |
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
|
||||||
"nvim": { "branch": "main", "commit": "4965db2d6155c25db4e8417465fc2703fdf4c2b7" },
|
"nvim": { "branch": "main", "commit": "4965db2d6155c25db4e8417465fc2703fdf4c2b7" },
|
||||||
"nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" },
|
"nvim-cmp": { "branch": "main", "commit": "12509903a5723a876abd65953109f926f4634c30" },
|
||||||
"nvim-lspconfig": { "branch": "master", "commit": "8c5620b04121864a1b5af134d4c2c23cee68b6ef" },
|
"nvim-lspconfig": { "branch": "master", "commit": "ead2fbc4893fdd062e1dd0842679a48bfb7bac5c" },
|
||||||
"nvim-surround": { "branch": "main", "commit": "ae298105122c87bbe0a36b1ad20b06d417c0433e" },
|
"nvim-surround": { "branch": "main", "commit": "ae298105122c87bbe0a36b1ad20b06d417c0433e" },
|
||||||
"nvim-treesitter": { "branch": "master", "commit": "110bdf91e3fcbc019efbac13026ae4ad9e4ededf" },
|
"nvim-treesitter": { "branch": "master", "commit": "110bdf91e3fcbc019efbac13026ae4ad9e4ededf" },
|
||||||
"nvim-web-devicons": { "branch": "master", "commit": "1c9136332840edee0c593f2f4f89598c8ed97f5f" },
|
"nvim-web-devicons": { "branch": "master", "commit": "1c9136332840edee0c593f2f4f89598c8ed97f5f" },
|
||||||
|
|||||||
@@ -3,29 +3,48 @@ require("haelnorr.remap")
|
|||||||
require("haelnorr.lazy_init")
|
require("haelnorr.lazy_init")
|
||||||
|
|
||||||
local augroup = vim.api.nvim_create_augroup
|
local augroup = vim.api.nvim_create_augroup
|
||||||
local HaelnorrGroup = augroup('Haelnorr', {})
|
local HaelnorrGroup = augroup("Haelnorr", {})
|
||||||
|
|
||||||
local autocmd = vim.api.nvim_create_autocmd
|
local autocmd = vim.api.nvim_create_autocmd
|
||||||
|
|
||||||
function R(name)
|
function R(name)
|
||||||
require("plenary.reload").reload_module(name)
|
require("plenary.reload").reload_module(name)
|
||||||
end
|
end
|
||||||
|
|
||||||
autocmd('LspAttach', {
|
autocmd("LspAttach", {
|
||||||
group = HaelnorrGroup,
|
group = HaelnorrGroup,
|
||||||
callback = function(e)
|
callback = function(e)
|
||||||
local opts = { buffer = e.buf }
|
vim.keymap.set("n", "gd", function()
|
||||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
vim.lsp.buf.definition()
|
||||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
end, { buffer = e.buf, desc = "Goto definition" })
|
||||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
vim.keymap.set("n", "K", function()
|
||||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
vim.lsp.buf.hover()
|
||||||
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
end, { buffer = e.buf, desc = "Display hover" })
|
||||||
vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
|
vim.keymap.set("n", "<leader>vs", function()
|
||||||
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
vim.lsp.buf.workspace_symbol()
|
||||||
vim.keymap.set("i", "<C-h>", function() vim.lsp.buf.signature_help() end, opts)
|
end, { buffer = e.buf, desc = "Find symbol in workspace" })
|
||||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
vim.keymap.set("n", "<leader>vf", function()
|
||||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
vim.diagnostic.open_float()
|
||||||
end
|
end, { buffer = e.buf, desc = "Show diagnostics" })
|
||||||
|
vim.keymap.set("n", "<leader>va", function()
|
||||||
|
vim.lsp.buf.code_action()
|
||||||
|
end, { buffer = e.buf, desc = "Code action" })
|
||||||
|
vim.keymap.set("n", "<leader>vs", function()
|
||||||
|
vim.lsp.buf.references()
|
||||||
|
end, { buffer = e.buf, desc = "List references to symbol" })
|
||||||
|
vim.keymap.set("n", "<leader>vr", function()
|
||||||
|
vim.lsp.buf.rename()
|
||||||
|
end, { buffer = e.buf, desc = "Rename symbol" })
|
||||||
|
vim.keymap.set("i", "<C-h>", function()
|
||||||
|
vim.lsp.buf.signature_help()
|
||||||
|
end, { buffer = e.buf, desc = "Display signature" })
|
||||||
|
vim.keymap.set("n", "[d", function()
|
||||||
|
vim.diagnostic.goto_next()
|
||||||
|
end, { buffer = e.buf, desc = "Next diagnostic" })
|
||||||
|
vim.keymap.set("n", "]d", function()
|
||||||
|
vim.diagnostic.goto_prev()
|
||||||
|
end, { buffer = e.buf, desc = "Prev diagnostic" })
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
vim.g.netrw_browse_split = 0
|
vim.g.netrw_browse_split = 0
|
||||||
|
|||||||
@@ -27,6 +27,6 @@ return {
|
|||||||
"Method",
|
"Method",
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
vim.keymap.set("n", "<leader>pa", "<cmd>AerialToggle!<CR>")
|
vim.keymap.set("n", "<leader>oa", "<cmd>AerialToggle!<CR>", { desc = "Toggle Aerial" })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,48 +1,37 @@
|
|||||||
return {
|
return {
|
||||||
"stevearc/conform.nvim",
|
"stevearc/conform.nvim",
|
||||||
event = { "BufWritePre" },
|
event = { "BufWritePre" },
|
||||||
cmd = { "ConformInfo" },
|
cmd = { "ConformInfo" },
|
||||||
keys = {
|
-- This will provide type hinting with LuaLS
|
||||||
{
|
---@module "conform"
|
||||||
-- Customize or remove this keymap to your liking
|
---@type conform.setupOpts
|
||||||
"<leader>f",
|
opts = {
|
||||||
function()
|
-- Define your formatters
|
||||||
require("conform").format({ async = true })
|
formatters_by_ft = {
|
||||||
end,
|
lua = { "stylua" },
|
||||||
mode = "",
|
python = { "isort", "black" },
|
||||||
desc = "Format buffer",
|
javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
},
|
typescript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
},
|
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
||||||
-- This will provide type hinting with LuaLS
|
json = { "prettierd", "prettier", stop_after_first = true },
|
||||||
---@module "conform"
|
html = { "prettierd", "prettier", stop_after_first = true },
|
||||||
---@type conform.setupOpts
|
css = { "prettierd", "prettier", stop_after_first = true },
|
||||||
opts = {
|
},
|
||||||
-- Define your formatters
|
-- Set default options
|
||||||
formatters_by_ft = {
|
default_format_opts = {
|
||||||
lua = { "stylua" },
|
lsp_format = "fallback",
|
||||||
python = { "isort", "black" },
|
},
|
||||||
javascript = { "prettierd", "prettier", stop_after_first = true },
|
-- Set up format-on-save
|
||||||
typescript = { "prettierd", "prettier", stop_after_first = true },
|
format_on_save = { timeout_ms = 500 },
|
||||||
typescriptreact = { "prettierd", "prettier", stop_after_first = true },
|
-- Customize formatters
|
||||||
json = { "prettierd", "prettier", stop_after_first = true },
|
formatters = {
|
||||||
html = { "prettierd", "prettier", stop_after_first = true },
|
shfmt = {
|
||||||
css = { "prettierd", "prettier", stop_after_first = true },
|
prepend_args = { "-i", "2" },
|
||||||
},
|
},
|
||||||
-- Set default options
|
},
|
||||||
default_format_opts = {
|
},
|
||||||
lsp_format = "fallback",
|
init = function()
|
||||||
},
|
-- If you want the formatexpr, here is the place to set it
|
||||||
-- Set up format-on-save
|
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
|
||||||
format_on_save = { timeout_ms = 500 },
|
end,
|
||||||
-- Customize formatters
|
|
||||||
formatters = {
|
|
||||||
shfmt = {
|
|
||||||
prepend_args = { "-i", "2" },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
init = function()
|
|
||||||
-- If you want the formatexpr, here is the place to set it
|
|
||||||
vim.o.formatexpr = "v:lua.require'conform'.formatexpr()"
|
|
||||||
end,
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,15 @@
|
|||||||
return {
|
return {
|
||||||
"kristijanhusak/vim-dadbod-ui",
|
"kristijanhusak/vim-dadbod-ui",
|
||||||
dependencies = {
|
dependencies = {
|
||||||
{ "tpope/vim-dadbod", lazy = true },
|
{
|
||||||
{ "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true }, -- Optional
|
"tpope/vim-dadbod",
|
||||||
|
lazy = true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kristijanhusak/vim-dadbod-completion",
|
||||||
|
ft = { "sql", "mysql", "plsql" },
|
||||||
|
lazy = true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
cmd = {
|
cmd = {
|
||||||
"DBUI",
|
"DBUI",
|
||||||
@@ -11,7 +18,7 @@ return {
|
|||||||
"DBUIFindBuffer",
|
"DBUIFindBuffer",
|
||||||
},
|
},
|
||||||
init = function()
|
init = function()
|
||||||
-- Your DBUI configuration
|
|
||||||
vim.g.db_ui_use_nerd_fonts = 1
|
vim.g.db_ui_use_nerd_fonts = 1
|
||||||
|
vim.keymap.set("n", "<leader>od", "<cmd>DBUIToggle<CR>", { desc = "Toggle Dadbod UI" })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,44 +1,47 @@
|
|||||||
return {
|
return {
|
||||||
"tpope/vim-fugitive",
|
"tpope/vim-fugitive",
|
||||||
config = function()
|
config = function()
|
||||||
vim.keymap.set("n", "<leader>gs", vim.cmd.Git)
|
vim.keymap.set("n", "<leader>g", vim.cmd.Git, { desc = "Open Git fugitive" })
|
||||||
|
|
||||||
local Haelnorr_Fugitive = vim.api.nvim_create_augroup("Haelnorr_Fugitive", {})
|
local Haelnorr_Fugitive = vim.api.nvim_create_augroup("Haelnorr_Fugitive", {})
|
||||||
|
|
||||||
local autocmd = vim.api.nvim_create_autocmd
|
local autocmd = vim.api.nvim_create_autocmd
|
||||||
autocmd("BufWinEnter", {
|
autocmd("BufWinEnter", {
|
||||||
group = Haelnorr_Fugitive,
|
group = Haelnorr_Fugitive,
|
||||||
pattern = "*",
|
pattern = "*",
|
||||||
callback = function()
|
callback = function()
|
||||||
if vim.bo.ft ~= "fugitive" then
|
if vim.bo.ft ~= "fugitive" then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
local bufnr = vim.api.nvim_get_current_buf()
|
local bufnr = vim.api.nvim_get_current_buf()
|
||||||
local opts = {buffer = bufnr, remap = false}
|
vim.keymap.set("n", "<leader>s", function()
|
||||||
vim.keymap.set("n", "<leader>s", function()
|
vim.cmd.Git("add -A")
|
||||||
vim.cmd.Git('add -A')
|
end, { buffer = bufnr, remap = false, desc = "Stage all files" })
|
||||||
end, opts)
|
vim.keymap.set("n", "<leader>c", function()
|
||||||
vim.keymap.set("n", "<leader>c", function()
|
vim.cmd.Git("commit")
|
||||||
vim.cmd.Git('commit')
|
end, { buffer = bufnr, remap = false, desc = "Commit" })
|
||||||
end, opts)
|
vim.keymap.set("n", "<leader>p", function()
|
||||||
vim.keymap.set("n", "<leader>p", function()
|
vim.cmd.Git("push")
|
||||||
vim.cmd.Git('push')
|
end, { buffer = bufnr, remap = false, desc = "Push" })
|
||||||
end, opts)
|
|
||||||
|
|
||||||
-- rebase always
|
-- rebase always
|
||||||
vim.keymap.set("n", "<leader>P", function()
|
vim.keymap.set("n", "<leader>P", function()
|
||||||
vim.cmd.Git({'pull', '--rebase'})
|
vim.cmd.Git({ "pull", "--rebase" })
|
||||||
end, opts)
|
end, { buffer = bufnr, remap = false, desc = "Pull with rebase" })
|
||||||
|
|
||||||
-- NOTE: It allows me to easily set the branch i am pushing and any tracking
|
-- NOTE: It allows me to easily set the branch i am pushing and any tracking
|
||||||
-- needed if i did not set the branch up correctly
|
-- needed if i did not set the branch up correctly
|
||||||
vim.keymap.set("n", "<leader>t", ":Git push -u origin ", opts);
|
vim.keymap.set(
|
||||||
end,
|
"n",
|
||||||
})
|
"<leader>t",
|
||||||
|
":Git push -u origin ",
|
||||||
|
{ buffer = bufnr, remap = false, desc = "Push and set origin" }
|
||||||
|
)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.keymap.set("n", "gu", "<cmd>diffget //2<CR>")
|
||||||
vim.keymap.set("n", "gu", "<cmd>diffget //2<CR>")
|
vim.keymap.set("n", "gh", "<cmd>diffget //3<CR>")
|
||||||
vim.keymap.set("n", "gh", "<cmd>diffget //3<CR>")
|
end,
|
||||||
end
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,9 @@
|
|||||||
return {
|
return {
|
||||||
"ThePrimeagen/harpoon",
|
"ThePrimeagen/harpoon",
|
||||||
branch = "harpoon2",
|
branch = "harpoon2",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
config = function()
|
config = function()
|
||||||
local harpoon = require("harpoon")
|
local harpoon = require("harpoon")
|
||||||
|
harpoon:setup()
|
||||||
harpoon:setup()
|
end,
|
||||||
vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end)
|
|
||||||
vim.keymap.set("n", "<A-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end)
|
|
||||||
vim.keymap.set("n", "<A-h>", function() harpoon:list():select(1) end)
|
|
||||||
vim.keymap.set("n", "<A-j>", function() harpoon:list():select(2) end)
|
|
||||||
vim.keymap.set("n", "<A-k>", function() harpoon:list():select(3) end)
|
|
||||||
vim.keymap.set("n", "<A-l>", function() harpoon:list():select(4) end)
|
|
||||||
vim.keymap.set("n", "<leader><A-h>", function() harpoon:list():replace_at(1) end)
|
|
||||||
vim.keymap.set("n", "<leader><A-j>", function() harpoon:list():replace_at(2) end)
|
|
||||||
vim.keymap.set("n", "<leader><A-k>", function() harpoon:list():replace_at(3) end)
|
|
||||||
vim.keymap.set("n", "<leader><A-l>", function() harpoon:list():replace_at(4) end)
|
|
||||||
end
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
return {
|
return {
|
||||||
|
|
||||||
{
|
{
|
||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
name = "plenary"
|
name = "plenary",
|
||||||
},
|
},
|
||||||
|
|
||||||
"eandrju/cellular-automaton.nvim",
|
"eandrju/cellular-automaton.nvim",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ return {
|
|||||||
end
|
end
|
||||||
vim.tbl_map(function(type)
|
vim.tbl_map(function(type)
|
||||||
require("luasnip.loaders.from_" .. type).lazy_load()
|
require("luasnip.loaders.from_" .. type).lazy_load()
|
||||||
|
vim.keymap.set("n", "<leader>ts", "<cmd>Telescope luasnip<CR>", { desc = "Search Snippets" })
|
||||||
end, { "vscode", "snipmate", "lua" })
|
end, { "vscode", "snipmate", "lua" })
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
return {
|
return {
|
||||||
"iamcco/markdown-preview.nvim",
|
"iamcco/markdown-preview.nvim",
|
||||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||||
build = "cd app && yarn install",
|
build = "cd app && yarn install",
|
||||||
init = function()
|
init = function()
|
||||||
vim.g.mkdp_filetypes = { "markdown" }
|
vim.g.mkdp_filetypes = { "markdown" }
|
||||||
end,
|
vim.keymap.set("n", "<leader>om", "<cmd>MarkdownPreviewToggle<CR>", { desc = "Toggle MarkdownPreview" })
|
||||||
ft = { "markdown" },
|
end,
|
||||||
|
ft = { "markdown" },
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,16 +7,16 @@ return {
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
config = function()
|
config = function()
|
||||||
require("refactoring").setup()
|
require("refactoring").setup()
|
||||||
vim.keymap.set("x", "<leader>re", ":Refactor extract ")
|
vim.keymap.set("x", "<leader>re", ":Refactor extract ", { desc = "Extract selection" })
|
||||||
vim.keymap.set("x", "<leader>rf", ":Refactor extract_to_file ")
|
vim.keymap.set("x", "<leader>rf", ":Refactor extract_to_file ", { desc = "Extract selection to new file" })
|
||||||
|
|
||||||
vim.keymap.set("x", "<leader>rv", ":Refactor extract_var ")
|
vim.keymap.set("x", "<leader>rv", ":Refactor extract_var ", { desc = "Extract var" })
|
||||||
|
|
||||||
vim.keymap.set({ "n", "x" }, "<leader>ri", ":Refactor inline_var")
|
vim.keymap.set({ "n", "x" }, "<leader>ri", ":Refactor inline_var", { desc = "Inline var" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>rI", ":Refactor inline_func")
|
vim.keymap.set("n", "<leader>rI", ":Refactor inline_func", { desc = "Inline function" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>rb", ":Refactor extract_block")
|
vim.keymap.set("n", "<leader>rb", ":Refactor extract_block", { desc = "Extract block" })
|
||||||
vim.keymap.set("n", "<leader>rbf", ":Refactor extract_block_to_file")
|
vim.keymap.set("n", "<leader>rbf", ":Refactor extract_block_to_file", { desc = "Extract block to new file" })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,19 +13,19 @@ return {
|
|||||||
})
|
})
|
||||||
|
|
||||||
local builtin = require("telescope.builtin")
|
local builtin = require("telescope.builtin")
|
||||||
vim.keymap.set("n", "<leader>pf", builtin.find_files, {})
|
vim.keymap.set("n", "<leader>tf", builtin.find_files, { desc = "Find files" })
|
||||||
vim.keymap.set("n", "<C-p>", builtin.git_files, {})
|
vim.keymap.set("n", "<C-p>", builtin.git_files, { desc = "Find git files" })
|
||||||
vim.keymap.set("n", "<leader>pws", function()
|
vim.keymap.set("n", "<leader>tw", function()
|
||||||
local word = vim.fn.expand("<cword>")
|
local word = vim.fn.expand("<cword>")
|
||||||
builtin.grep_string({ search = word })
|
builtin.grep_string({ search = word })
|
||||||
end)
|
end, { desc = "Search files with <cword>" })
|
||||||
vim.keymap.set("n", "<leader>pWs", function()
|
vim.keymap.set("n", "<leader>tW", function()
|
||||||
local word = vim.fn.expand("<cWORD>")
|
local word = vim.fn.expand("<cWORD>")
|
||||||
builtin.grep_string({ search = word })
|
builtin.grep_string({ search = word })
|
||||||
end)
|
end, { desc = "Search files with <cWORD>" })
|
||||||
vim.keymap.set("n", "<leader>ps", function()
|
vim.keymap.set("n", "<leader>tg", function()
|
||||||
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
builtin.grep_string({ search = vim.fn.input("Grep > ") })
|
||||||
end)
|
end, { desc = "Search files with grep" })
|
||||||
vim.keymap.set("n", "<leader>vh", builtin.help_tags, {})
|
vim.keymap.set("n", "<leader>th", builtin.help_tags, { desc = "Search help tags" })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,6 @@ return {
|
|||||||
opts = {},
|
opts = {},
|
||||||
config = function()
|
config = function()
|
||||||
require("todo-comments").setup()
|
require("todo-comments").setup()
|
||||||
vim.keymap.set("n", "<leader>ts", ":TodoTelescope cwd=")
|
vim.keymap.set("n", "<leader>tt", ":TodoTelescope cwd=", { desc = "Search Todos" })
|
||||||
end,
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
return {
|
return {
|
||||||
{
|
{
|
||||||
"folke/trouble.nvim",
|
"folke/trouble.nvim",
|
||||||
opts = {},
|
opts = {},
|
||||||
cmd = "Trouble",
|
cmd = "Trouble",
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
"<leader>tt",
|
"<leader>ot",
|
||||||
"<cmd>Trouble diagnostics toggle<cr>",
|
"<cmd>Trouble diagnostics toggle<cr>",
|
||||||
desc = "Diagnostics (Trouble)",
|
desc = "Toggle Diagnostics (Trouble)",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"<leader>tq",
|
"<leader>oq",
|
||||||
"<cmd>Trouble qflist toggle<cr>",
|
"<cmd>Trouble qflist toggle<cr>",
|
||||||
desc = "Quickfix List (Trouble)",
|
desc = "Toggle Quickfix List (Trouble)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
"mbbill/undotree",
|
"mbbill/undotree",
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
|
vim.keymap.set("n", "<leader>ou", vim.cmd.UndotreeToggle, { desc = "Toggle Undotree" })
|
||||||
end
|
end,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,4 +11,143 @@ return {
|
|||||||
desc = "Buffer Local Keymaps (which-key)",
|
desc = "Buffer Local Keymaps (which-key)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
config = function()
|
||||||
|
local harpoon = require("harpoon")
|
||||||
|
require("which-key").add({
|
||||||
|
{ "<leader>t", group = "Telescope" },
|
||||||
|
{ "<leader>o", group = "Open plugin", icon = { icon = "", color = "yellow" } },
|
||||||
|
{ "<leader>r", group = "Refactoring", mode = { "n", "x" } },
|
||||||
|
{ "<leader>v", group = "LSP Actions", icon = { icon = "" } },
|
||||||
|
|
||||||
|
-- Harpoon
|
||||||
|
-- Quick jumps and show list
|
||||||
|
{
|
||||||
|
"<A-e>",
|
||||||
|
function()
|
||||||
|
harpoon.ui:toggle_quick_menu(harpoon:list())
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<A-h>",
|
||||||
|
function()
|
||||||
|
harpoon:list():select(1)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<A-j>",
|
||||||
|
function()
|
||||||
|
harpoon:list():select(2)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<A-k>",
|
||||||
|
function()
|
||||||
|
harpoon:list():select(3)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<A-l>",
|
||||||
|
function()
|
||||||
|
harpoon:list():select(4)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Add files
|
||||||
|
{
|
||||||
|
"<leader>a",
|
||||||
|
function()
|
||||||
|
harpoon:list():add()
|
||||||
|
end,
|
||||||
|
desc = "Harpoon current file",
|
||||||
|
mode = "n",
|
||||||
|
icon = { icon = "", color = "blue" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader><A-h>",
|
||||||
|
function()
|
||||||
|
harpoon:list():replace_at(1)
|
||||||
|
end,
|
||||||
|
desc = "Harpoon at file 1",
|
||||||
|
mode = "n",
|
||||||
|
icon = { icon = "", color = "blue" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader><A-j>",
|
||||||
|
function()
|
||||||
|
harpoon:list():replace_at(2)
|
||||||
|
end,
|
||||||
|
desc = "Harpoon at file 2",
|
||||||
|
mode = "n",
|
||||||
|
icon = { icon = "", color = "blue" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader><A-k>",
|
||||||
|
function()
|
||||||
|
harpoon:list():replace_at(3)
|
||||||
|
end,
|
||||||
|
desc = "Harpoon at file 3",
|
||||||
|
mode = "n",
|
||||||
|
icon = { icon = "", color = "blue" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader><A-l>",
|
||||||
|
function()
|
||||||
|
harpoon:list():replace_at(4)
|
||||||
|
end,
|
||||||
|
desc = "Harpoon at file 4",
|
||||||
|
mode = "n",
|
||||||
|
icon = { icon = "", color = "blue" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Custom binds
|
||||||
|
|
||||||
|
{
|
||||||
|
"<leader>y",
|
||||||
|
[["+y]],
|
||||||
|
desc = "Yank to system clipboard",
|
||||||
|
mode = { "n", "v" },
|
||||||
|
icon = { icon = "", color = "yellow" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>Y",
|
||||||
|
[["+Y]],
|
||||||
|
desc = "Yank line to system clipboard",
|
||||||
|
mode = "n",
|
||||||
|
icon = { icon = "", color = "yellow" },
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"<leader>p",
|
||||||
|
[["_dP]],
|
||||||
|
desc = "Paste over selection, preserving buffer",
|
||||||
|
mode = "x",
|
||||||
|
icon = { icon = "", color = "yellow" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>d",
|
||||||
|
[["_d]],
|
||||||
|
desc = "Delete, preserving buffer",
|
||||||
|
mode = { "n", "v" },
|
||||||
|
icon = { icon = "", color = "red" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>x",
|
||||||
|
"<cmd>!chmod +x %<CR>",
|
||||||
|
silent = true,
|
||||||
|
desc = "Make file executable",
|
||||||
|
icon = { icon = "", color = "red" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Conform
|
||||||
|
{
|
||||||
|
"<leader>f",
|
||||||
|
function()
|
||||||
|
require("conform").format({ async = true })
|
||||||
|
end,
|
||||||
|
mode = "n",
|
||||||
|
desc = "Format file",
|
||||||
|
icon = { icon = "", color = "yellow" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,4 @@
|
|||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
-- directory viewer
|
|
||||||
-- has been replaced with Oil.nvim, keybind "-"
|
|
||||||
-- vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
|
|
||||||
|
|
||||||
-- move highlighted lines up and down
|
-- move highlighted lines up and down
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
@@ -13,38 +10,17 @@ vim.keymap.set("n", "<C-u>", "<C-u>zz")
|
|||||||
vim.keymap.set("n", "n", "nzzzv")
|
vim.keymap.set("n", "n", "nzzzv")
|
||||||
vim.keymap.set("n", "N", "Nzzzv")
|
vim.keymap.set("n", "N", "Nzzzv")
|
||||||
|
|
||||||
-- pastes without replacing buffer
|
|
||||||
vim.keymap.set("x", "<leader>p", [["_dP]])
|
|
||||||
|
|
||||||
-- yanks to system clipboard
|
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>y", [["+y]])
|
|
||||||
vim.keymap.set("n", "<leader>Y", [["+Y]])
|
|
||||||
|
|
||||||
-- deletes without replacing buffer
|
|
||||||
vim.keymap.set({ "n", "v" }, "<leader>d", [["_d]])
|
|
||||||
|
|
||||||
-- formats file using LSP
|
|
||||||
-- vim.keymap.set("n", "<leader>f", vim.lsp.buf.format)
|
|
||||||
vim.keymap.set("", "<leader>f", function()
|
|
||||||
require("conform").format({ async = true }, function(err)
|
|
||||||
if not err then
|
|
||||||
local mode = vim.api.nvim_get_mode().mode
|
|
||||||
if vim.startswith(string.lower(mode), "v") then
|
|
||||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>", true, false, true), "n", true)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
end, { desc = "Format code" })
|
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||||
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||||
vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz")
|
vim.keymap.set("n", "<leader>k", "<cmd>lnext<CR>zz", { desc = "Quickfix next" })
|
||||||
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz")
|
vim.keymap.set("n", "<leader>j", "<cmd>lprev<CR>zz", { desc = "Quickfix prev" })
|
||||||
|
|
||||||
vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
vim.keymap.set(
|
||||||
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|
"n",
|
||||||
|
"<leader>s",
|
||||||
vim.keymap.set("n", "<leader>o", "o<Esc>k")
|
[[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]],
|
||||||
|
{ desc = "Find and replace word" }
|
||||||
|
)
|
||||||
|
|
||||||
vim.keymap.set("n", "<C-Q>", function()
|
vim.keymap.set("n", "<C-Q>", function()
|
||||||
if vim.inspect(vim.opt.colorcolumn:get()) == "{}" then
|
if vim.inspect(vim.opt.colorcolumn:get()) == "{}" then
|
||||||
|
|||||||
Reference in New Issue
Block a user