From 54b2f550683dd4064e6b8741164f50780cbf0ed8 Mon Sep 17 00:00:00 2001 From: flin16 Date: Fri, 13 Jun 2025 15:19:05 -0500 Subject: [PATCH] refactor(keymaps): update DAP keybindings to use localleader --- lazy-lock.json | 48 ++++++++++++++++++++--------------------- lazyvim.json | 1 + lua/config/keymaps.lua | 47 ++++++++++++++++++++++++++-------------- lua/plugins/example.lua | 26 ++++++++++++++++------ 4 files changed, 74 insertions(+), 48 deletions(-) diff --git a/lazy-lock.json b/lazy-lock.json index d7aad03..84332a4 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -1,58 +1,56 @@ { "CopilotChat.nvim": { "branch": "main", "commit": "16d897fd43d07e3b54478ccdb2f8a16e4df4f45a" }, "LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" }, - "avante.nvim": { "branch": "main", "commit": "b7a51842191d9a2b9df6d1c38a3e924244dd0a54" }, + "SchemaStore.nvim": { "branch": "main", "commit": "60aa5b633fca5407e95315eaab70fcc102ac4cc8" }, "blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" }, "bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" }, - "catppuccin": { "branch": "main", "commit": "a0c769bc7cd04bbbf258b3d5f01e2bdce744108d" }, - "coc.nvim": { "branch": "release", "commit": "9f7f280194f70229ec667721373a74d238618220" }, - "conform.nvim": { "branch": "master", "commit": "0e93e0d12d2f7ebdea9e3e444dfaff0050cefbe6" }, - "copilot.lua": { "branch": "master", "commit": "a620a5a97b73faba009a8160bab2885316e1451c" }, + "catppuccin": { "branch": "main", "commit": "fa42eb5e26819ef58884257d5ae95dd0552b9a66" }, + "coc.nvim": { "branch": "release", "commit": "4fee4938afa69843a3c147f9fdb453de67a1a7a2" }, + "conform.nvim": { "branch": "master", "commit": "8132ec733eed3bf415b97b76797ca41b59f51d7d" }, "copilot.vim": { "branch": "release", "commit": "3955014c503b0cd7b30bc56c86c56c0736ca0951" }, - "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, "flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "fzf-lua": { "branch": "main", "commit": "6d1d81a5c7936d82a47a41a521958e482e499fde" }, - "gitsigns.nvim": { "branch": "main", "commit": "d0f90ef51d4be86b824b012ec52ed715b5622e51" }, - "grug-far.nvim": { "branch": "main", "commit": "6fd719634c529bfbfe031a03b7af9d728d849dc7" }, - "img-clip.nvim": { "branch": "main", "commit": "08a02e14c8c0d42fa7a92c30a98fd04d6993b35d" }, + "fzf-lua": { "branch": "main", "commit": "d155cc9648ba391f64876888ea0ae09a7aff469d" }, + "gitsigns.nvim": { "branch": "main", "commit": "731b581428ec6c1ccb451b95190ebbc6d7006db7" }, + "grug-far.nvim": { "branch": "main", "commit": "1a85fba510c6086b396be5a3c7c77ab32829d7df" }, + "img-clip.nvim": { "branch": "main", "commit": "d8b6b030672f9f551a0e3526347699985a779d93" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, - "lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" }, + "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" }, "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, - "mini.ai": { "branch": "main", "commit": "5225f16eacf4dce2cb7204ca345123ef54e209d6" }, - "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, - "mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" }, - "mini.pick": { "branch": "main", "commit": "c272dc61cd0326b344761cd9d031bfcdef1978c7" }, - "mini.surround": { "branch": "main", "commit": "0d278217ca98ffa5b768701fb57f52a88b1e1f93" }, + "mini.ai": { "branch": "main", "commit": "d172ada7b0281044a06cb9a625a862553c457b6f" }, + "mini.icons": { "branch": "main", "commit": "94848dad1589a199f876539bd79befb0c5e3abf0" }, + "mini.pairs": { "branch": "main", "commit": "42407ccb80ec59c84e7c91d815f42ed90a8cc093" }, + "mini.surround": { "branch": "main", "commit": "1a2b59c77a0c4713a5bd8972da322f842f4821b1" }, "molokai": { "branch": "master", "commit": "c67bdfcdb31415aa0ade7f8c003261700a885476" }, "neotest": { "branch": "master", "commit": "ef492755730e59e1d8122c461abbd086bee4c76b" }, "neotest-python": { "branch": "master", "commit": "34c9f6f3dc53fc462ea658b5071238037f95f7aa" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, - "nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" }, - "nvim-dap": { "branch": "master", "commit": "ea82027c3447dc1a022be9a9884de276c05cd33a" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, + "nvim-dap": { "branch": "master", "commit": "40a8189b8a57664a1850b0823fdcb3ac95b9f635" }, "nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" }, "nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, - "nvim-lint": { "branch": "master", "commit": "0d2650564ce5a8bf8d5a4a4dd05b004936b03215" }, - "nvim-lspconfig": { "branch": "master", "commit": "036885e8e5456d3907626b634693234f628afef6" }, + "nvim-lint": { "branch": "master", "commit": "2b0039b8be9583704591a13129c600891ac2c596" }, + "nvim-lspconfig": { "branch": "master", "commit": "583a1d555c8e407868ce00c57e37eca4b7ff960e" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, + "nvim-scrollbar": { "branch": "main", "commit": "5b103ef0fd2e8b9b4be3878ed38d224522192c6c" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-context": { "branch": "master", "commit": "464a443b5a6657f39772b20baa95d02ffe97b268" }, + "nvim-treesitter-context": { "branch": "master", "commit": "b5ef8e3b8cb40b76975cfbcd2f590654eeb6ff00" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" }, "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, - "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, "refactoring.nvim": { "branch": "master", "commit": "9cd0186ffe76fe6abc64c0aafb775c8f776ab5ee" }, "remote-nvim.nvim": { "branch": "main", "commit": "bc39422f544e6f7b6b6cdeb0cc0e9aaa20398f5a" }, - "render-markdown.nvim": { "branch": "main", "commit": "dd620561843d5a62c917fffe77f2923c965d12c7" }, + "render-markdown.nvim": { "branch": "main", "commit": "a706be739257a6203524741da2da540bc190bbe2" }, "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, - "texlab": { "branch": "master", "commit": "731bd890cd7d23614cae3d2148665a5f59b941ad" }, + "texlab": { "branch": "master", "commit": "70435c4bd8035e6677aae4f654bbdf4e92265bfe" }, + "tiny-code-action.nvim": { "branch": "main", "commit": "747a42be79be802bbe882cc22c2a8d00a6e6a2fd" }, "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, "tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" }, "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, @@ -60,7 +58,7 @@ "undotree": { "branch": "master", "commit": "b951b87b46c34356d44aa71886aecf9dd7f5788a" }, "venv-selector.nvim": { "branch": "regexp", "commit": "c677caa1030808a9f90092e522de7cc20c1390dd" }, "vim-overleaf": { "branch": "main", "commit": "4a173667a4edcaa595711dcaeb424b775506af8a" }, - "vimtex": { "branch": "master", "commit": "f20b11458e97250d690ce0dc8670759b838cace9" }, + "vimtex": { "branch": "master", "commit": "4b4f18b1b181cdea35fdc418e5eb511f20e1f0fb" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, "yanky.nvim": { "branch": "main", "commit": "04775cc6e10ef038c397c407bc17f00a2f52b378" } } diff --git a/lazyvim.json b/lazyvim.json index 297d7c5..ee3a2e5 100644 --- a/lazyvim.json +++ b/lazyvim.json @@ -8,6 +8,7 @@ "lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.python", "lazyvim.plugins.extras.lang.tex", + "lazyvim.plugins.extras.lang.toml", "lazyvim.plugins.extras.test.core", "lazyvim.plugins.extras.ui.treesitter-context" ], diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index fdf93a9..1f946d3 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -16,11 +16,24 @@ end -- Very fundamnetal changes for basic vanila Vim. Each change in this section need explanation. -- Making c key less disruptive to normal coppying and pasting map_nv("c", '"1c', { desc = "Change and put the deleted part into secondary clipboard" }) --- Do the same for x key +map_nv("C", '"1C', { desc = "Change and put the deleted part into secondary clipboard" }) +-- Commented otherwise we could not use xp to interchange map_nv("x", '"1x', { desc = "Delete and put the deleted part into secondary clipboard" }) --- TODO: This is working now, but only for normal mode. For other mods, please use x key instead. +map_nv("X", '"1X', { desc = "Delete and put the deleted part into secondary clipboard" }) +map_nv("", '"1d', { desc = "Delete and put the deleted part into secondary clipboard" }) keyset("n", "", '"1d', { noremap = true, desc = "Backspace in normal mode" }) -keyset("v", "x", '"_x', { noremap = true, desc = "Delete without saving to clipboard" }) +keyset("o", "", 'd', { noremap = true, desc = "Backspace in normal mode" }) +--TODO: This does not work due to which-key +keyset({ "x", "v" }, "", '"1x', { noremap = true, desc = "Backspace in normal mode" }) +-- keyset("v", "x", '"_x', { noremap = true, desc = "Delete without saving to clipboard" }) +--Config lsp vimtex keymaps +-- TODO: make this workqq +-- vim.keymap.set("n", "ls", function() +-- vim.b.vimtex_main = vim.fn.expand("%:p") +-- vim.cmd("VimtexReloadState") +-- end, { noremap = true, desc = "Set current buffer as vimtex main" }) + +-- Config Dap keymaps map_all_mode("", function() require("dap").continue() end, { desc = "Dap: Continue" }) @@ -39,27 +52,29 @@ end, { desc = "Dap: Step Out" }) keyset("n", "dv", function() vim.cmd("DapVirtualTextToggle") end, { desc = "Toggle virtual text of dap" }) -keyset("n", "\\b", function() +keyset("n", "b", function() require("dap").toggle_breakpoint() end, { desc = "Dap: Toggle Breakpoint" }) -keyset("n", "\\dr", function() +keyset("n", "dr", function() require("dap").repl.open() end, { desc = "Dap: Open REPL" }) -keyset({ "n", "v" }, "\\dh", function() +keyset({ "n", "v" }, "dh", function() require("dap.ui.widgets").hover() end, { desc = "Print variable (Hover Mode)" }) -keyset({ "n", "v" }, "\\dp", function() +keyset({ "n", "v" }, "dp", function() require("dap.ui.widgets").preview() end, { desc = "Print variable (Preview Mode)" }) -- Configure Coc.nvim keymaps -keyset("n", "rn", "(coc-rename)", { desc = "Coc: Rename" }) +keyset("n", "r", "(coc-rename)", { desc = "Rename (Coc)" }) +keyset("v", "r", "(coc-codeaction-refactor-selected)", { desc = "Refactor Selected (Coc)" }) +keyset("n", "cl", "(coc-codelens-action)", { desc = "CodeLens Action (Coc)" }) +keyset("n", "ca", "(coc-codeaction)", { desc = "Code Action (Coc)" }) +keyset("v", "ca", "(coc-codeaction-selected)", { desc = "Code Action (Coc)" }) -keyset("v", "\\r", "(coc-codeaction-refactor-selected)", { desc = "Coc: Refactor Selected" }) -keyset("n", "\\cl", "(coc-codelens-action)", { desc = "Coc: CodeLens Action" }) -- Resolve Coc conflicting keymaps --- TODO: recover this -keyset("i", "", "$", { desc = "Goto end" }) +keyset({ "i", "c" }, "", "^", { desc = "Goto beginning" }) +keyset({ "i", "c" }, "", "$", { desc = "Goto end" }) -- Now configure shortcuts for MacOS -- if vim.g.neovide then @@ -80,10 +95,10 @@ end) keyset("i", "", '"+P') keyset("c", "", "+") keyset("n", "", '"+p', { desc = "Paste from clipboard" }) -keyset("v", "", '"_d"+gP', { desc = "Remove the selected part and paste from system clipboard." }) +keyset("v", "", '"1d"+gP', { desc = "Remove the selected part and paste from system clipboard." }) keyset("v", "", '"+y', { desc = "Copy to clipboard in visual mode" }) keyset("v", "", '"+d', { desc = "Cut to clipboard" }) map_nv("", "ggG", { desc = "Select all" }) -if vim.fn.has("gui_running") == 0 then - keyset("v", "y", '"+y', { desc = "Terminal: copy to system clipboard in visual mode" }) -end +--integrate coc with lsp +--TODO:make this work +-- local function code_action_merge() diff --git a/lua/plugins/example.lua b/lua/plugins/example.lua index 75d1f31..c2dceaa 100644 --- a/lua/plugins/example.lua +++ b/lua/plugins/example.lua @@ -50,13 +50,13 @@ return { }, } -- Ensuring custom matchers are used - vim.g.vimtex_toc_custom_matchers = { - { title = "Theorem", re = [[\v^\s*\\begin\{theorem\}]] }, - { title = "Lemma", re = [[\v^\s*\\begin\{lemma\}]] }, - { title = "Corollary", re = [[\v^\s*\\begin\{corollary\}]] }, - { title = "Definition", re = [[\v^\s*\\begin\{definition\}]] }, - } - vim.g.vimtex_toc_matchers = vim.g.vimtex_toc_custom_matchers + -- vim.g.vimtex_toc_custom_matchers = { + -- { title = "Theorem", re = [[\v^\s*\\begin\{theorem\}]] }, + -- { title = "Lemma", re = [[\v^\s*\\begin\{lemma\}]] }, + -- { title = "Corollary", re = [[\v^\s*\\begin\{corollary\}]] }, + -- { title = "Definition", re = [[\v^\s*\\begin\{definition\}]] }, + -- } + -- vim.g.vimtex_toc_matchers = vim.g.vimtex_toc_custom_matchers end, }, { @@ -204,7 +204,19 @@ return { -- end end, }, + -- TODO: reduce annoying notifications { "HakonHarnes/img-clip.nvim" }, + -- TODO: test this + { "petertriho/nvim-scrollbar" }, + { + "rachartier/tiny-code-action.nvim", + dependencies = { + { "ibhagwan/fzf-lua" }, + -- .. or via snacks + }, + event = "LspAttach", + opts = {}, + }, -- { -- "yetone/avante.nvim", -- event = "VeryLazy",