mirror of
https://github.com/DefectingCat/nvim
synced 2025-07-16 01:01:34 +00:00
193 lines
7.8 KiB
Lua
193 lines
7.8 KiB
Lua
require("nvchad.mappings")
|
|
|
|
local map = vim.keymap.set
|
|
|
|
-- rust
|
|
map("n", "<leader>rcu", function()
|
|
require("crates").upgrade_all_crates()
|
|
end, { desc = "Update crates" })
|
|
|
|
-- dap
|
|
map("n", "<leader>db", "<cmd> DapToggleBreakpoint <CR>")
|
|
map("n", "<leader>dr", "<cmd> DapContinue <CR>", { desc = "Run or continue the debugger" })
|
|
map("n", "<leader>dus", function()
|
|
local widgets = require("dap.ui.widgets")
|
|
local sidebar = widgets.sidebar(widgets.scopes)
|
|
sidebar.open()
|
|
end, { desc = "Open debugging sidebar" })
|
|
map("n", "<leader>drr", "<cmd> RustLsp debuggables <CR>", { desc = "Run rust debug on current file" })
|
|
map("n", "<leader>dgr", function()
|
|
require("dap-go").debug_test()
|
|
end, { desc = "Open debugging sidebar" })
|
|
map("n", "<leader>dgl", function()
|
|
require("dap-go").debug_last()
|
|
end, { desc = "Debug last go test" })
|
|
|
|
-- golang
|
|
map("n", "<leader>gsj", "<cmd> GoTagAdd json <CR>", { desc = "Add json struct tags" })
|
|
map("n", "<leader>gsy", "<cmd> GoTagAdd yaml <CR>", { desc = "Add yaml struct tags" })
|
|
|
|
-- lsp
|
|
map("n", "gh", function()
|
|
vim.lsp.buf.hover()
|
|
--[[ require("pretty_hover").hover() ]]
|
|
end, { desc = " Hover lsp" })
|
|
map("n", "gr", "<CMD>Telescope lsp_references<CR>", { desc = " Lsp references" })
|
|
map("n", "gr", "<CMD>Telescope lsp_definitions <CR>", { desc = " Lsp definitions" })
|
|
|
|
-- rua
|
|
map("n", "<tab>", "<CMD> tabNext <CR>", { desc = "Goto next tab" })
|
|
map("n", "<S-tab>", "<CMD> tabprevious <CR>", { desc = "Goto prev tab" })
|
|
map("n", "<S-l>", function()
|
|
require("nvchad.tabufline").next()
|
|
end, { desc = "Goto next buffer" })
|
|
map("n", "<S-h>", function()
|
|
require("nvchad.tabufline").prev()
|
|
end, { desc = "Goto prev buffer" })
|
|
map("n", "<leader>pa", "<CMD> %bd|e#|bd# <CR>", { desc = "Close all other buffers" })
|
|
map("n", "<C-a>", "gg<S-v>G")
|
|
map("n", "$", "g_")
|
|
map("v", "$", "g_")
|
|
map("n", "f", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search in current line after cursor" })
|
|
map("n", "F", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search in current line before cursor" })
|
|
map("n", "<leader>w", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_words({ direction = directions.AFTER_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search words after cursor" })
|
|
map("n", "<leader>b", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_words({ direction = directions.BEFORE_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search words before cursor" })
|
|
map("v", "f", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_char1({ direction = directions.AFTER_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search in current line after cursor" })
|
|
map("v", "F", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_char1({ direction = directions.BEFORE_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search in current line before cursor" })
|
|
map("v", "<leader>w", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_words({ direction = directions.AFTER_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search words after cursor" })
|
|
map("v", "<leader>b", function()
|
|
local hop = require("hop")
|
|
local directions = require("hop.hint").HintDirection
|
|
hop.hint_words({ direction = directions.BEFORE_CURSOR, current_line_only = false })
|
|
end, { desc = "Hop motion search words before cursor" })
|
|
--term
|
|
map({ "n", "t" }, "<A-u>", function()
|
|
require("nvchad.term").toggle({ pos = "vsp", id = "vtoggleTerm", size = 0.3 })
|
|
end, { desc = "Terminal Toggleable vertical term" })
|
|
map({ "n", "t" }, "<A-o>", function()
|
|
require("nvchad.term").toggle({ pos = "sp", id = "htoggleTerm", size = 0.3 })
|
|
end, { desc = "Terminal New horizontal term" })
|
|
map({ "n", "t" }, "<A-i>", function()
|
|
require("nvchad.term").toggle({ pos = "float", id = "floatTerm" })
|
|
end, { desc = "Terminal Toggle Floating term" })
|
|
map({ "n", "t" }, "<D-u>", function()
|
|
require("nvchad.term").toggle({ pos = "vsp", id = "vtoggleTerm", size = 0.3 })
|
|
end, { desc = "Terminal Toggleable vertical term" })
|
|
map({ "n", "t" }, "<D-o>", function()
|
|
require("nvchad.term").toggle({ pos = "sp", id = "htoggleTerm", size = 0.3 })
|
|
end, { desc = "Terminal New horizontal term" })
|
|
map({ "n", "t" }, "<D-i>", function()
|
|
require("nvchad.term").toggle({ pos = "float", id = "floatTerm" })
|
|
end, { desc = "Terminal Toggle Floating term" })
|
|
-- arrange buffer
|
|
map("n", "<leader>pl", function()
|
|
require("nvchad.tabufline").move_buf(1)
|
|
end, {
|
|
desc = "Move buffer right",
|
|
})
|
|
map("n", "<leader>ph", function()
|
|
require("nvchad.tabufline").move_buf(-1)
|
|
end, { desc = "Move buffer left" })
|
|
-- notify
|
|
map("n", "<leader>un", function()
|
|
require("notify").dismiss({ silent = true, pending = true })
|
|
end, { desc = "Dismiss all Notifications" })
|
|
-- markdown preview
|
|
map("n", "<leader>pm", "<cmd> MarkdownPreview <CR>", { desc = "Preview Markdown file" })
|
|
-- window split
|
|
map("n", "<leader>|", "<cmd> vs <CR>", { desc = "Split window vertically" })
|
|
map("n", "<leader>_", "<cmd> sp <CR>", { desc = "Split window horizontally" })
|
|
-- spectre search
|
|
map("n", "<leader>ss", '<cmd>lua require("spectre").toggle()<CR>', { desc = "Toggle Spectre" })
|
|
map(
|
|
"n",
|
|
"<leader>sw",
|
|
'<cmd>lua require("spectre").open_visual({select_word=true})<CR>',
|
|
{ desc = "Spectre search current word" }
|
|
)
|
|
map(
|
|
"n",
|
|
"<leader>sp",
|
|
'<cmd>lua require("spectre").open_file_search({select_word=true})<CR>',
|
|
{ desc = "Spectre search on current file" }
|
|
)
|
|
map(
|
|
"v",
|
|
"<leader>sw",
|
|
'<cmd>lua require("spectre").open_visual({select_word=true})<CR>',
|
|
{ desc = "Spectre search current word" }
|
|
)
|
|
map(
|
|
"v",
|
|
"<leader>sp",
|
|
'<cmd>lua require("spectre").open_file_search({select_word=true})<CR>',
|
|
{ desc = "Spectre search on current file" }
|
|
)
|
|
|
|
-- trobule
|
|
map("n", "<leader>tx", "<cmd>TroubleToggle<CR>")
|
|
map("n", "<leader>tw", "<cmd>TroubleToggle workspace_diagnostics<CR>")
|
|
map("n", "<leader>td", "<cmd>TroubleToggle document_diagnostics<CR>")
|
|
map("n", "<leader>tq", "<cmd>TroubleToggle quickfix<CR>")
|
|
map("n", "<leader>tl", "<cmd>TroubleToggle loclist<CR>")
|
|
map("n", "gR", "<cmd>TroubleToggle lsp_references<CR>")
|
|
|
|
-- telescope
|
|
map("n", "<leader>gm", "<cmd> Telescope git_commits <CR>", { desc = "Git commits" })
|
|
map("n", "<leader>gd", "<cmd> DiffviewOpen <CR>", { desc = "Open diff view" })
|
|
map("n", "<leader>gg", "<cmd> LazyGit <CR>", { desc = "Open LazyGit" })
|
|
map("n", "<leader>gf", "<cmd> LazyGitFilterCurrentFile <CR>", { desc = "Open LazyGit fitler current file" })
|
|
map("n", "<leader>gh", "<cmd> DiffviewFileHistory % <CR>", { desc = "Open current file history" })
|
|
map("n", "<leader>gc", "<cmd> DiffviewClose <CR>", { desc = "Close Diffview" })
|
|
map("n", "<leader>fc", function()
|
|
require("telescope.builtin").command_history()
|
|
end, { desc = "Search command history" })
|
|
map("n", "<leader>fr", function()
|
|
require("telescope.builtin").resume()
|
|
end, { desc = "Resume last search" })
|
|
map("n", "<leader>ft", function()
|
|
require("telescope.builtin").filetypes()
|
|
end, { desc = "Set current filetype" })
|
|
map("n", "<leader>fd", function()
|
|
require("telescope.builtin").diagnostics()
|
|
end, { desc = "Find Diagnostics" })
|
|
map("n", "<leader>fn", function()
|
|
require("telescope").extensions.notify.notify()
|
|
end, { desc = "View notify history" })
|
|
|
|
-- lspconfig
|
|
map("n", "<leader>co", "<cmd> OrganizeImports <CR>", { desc = "Organize imports" })
|
|
|
|
-- disable
|
|
local nomap = vim.keymap.del
|
|
|
|
nomap("t", "<ESC>")
|