diff --git a/lua/configs/dap.lua b/lua/configs/dap.lua index fe2a15a..88a1de0 100644 --- a/lua/configs/dap.lua +++ b/lua/configs/dap.lua @@ -28,7 +28,6 @@ dap.adapters.cppdbg = { id = 'cppdbg', type = 'executable', command = '/nix/store/gwags66qlqr6qmblwp0v6crkb6ca2qr1-vscode-extension-ms-vscode-cpptools-1.22.2/share/vscode/extensions/ms-vscode.cpptools/debugAdapters/bin/OpenDebugAD7', - -- NIXPKGS_ALLOW_UNFREE=1 nix build --impure --no-link --print-out-paths nixpkgs#vscode-extensions.ms-vscode.cpptools cwd = "${workspaceFolder}", } diff --git a/lua/mappings.lua b/lua/mappings.lua index 5685114..b04d219 100644 --- a/lua/mappings.lua +++ b/lua/mappings.lua @@ -46,17 +46,6 @@ for _, key in ipairs({"A", "Z", "E", "Q", "S", "D"}) do s({ 'n' }, "", "g'" .. key, { desc = "Jump to mark " .. key }) end -function copy_filename_and_line () - local filename = vim.fn.expand("%:t") - local line = vim.fn.line(".") - local text = filename .. ":" .. line - vim.fn.setreg("+", text) - vim.print(text) -end - -s({ 'n' }, "y", copy_filename_and_line, { desc = "Copy filename and line"}) - - function moveCursorToMouse() local mousePos = vim.fn.getmousepos() vim.fn.setpos(".", { 0, mousePos.line, mousePos.column, 0 }) @@ -66,7 +55,7 @@ function hover() if dap.session() then dapui.eval() else - vim.lsp.buf.signature_help() + vim.lsp.buf.hover() end end @@ -80,30 +69,17 @@ vim.api.nvim_create_autocmd('LspAttach', { s('n', 'e', vim.diagnostic.open_float, { buffer = ev.buf, desc = "Show diagnostics" }) s('n', '[[', vim.diagnostic.goto_prev, { buffer = ev.buf, desc = "Previous diagnostic" }) s('n', ']]', vim.diagnostic.goto_next, { buffer = ev.buf, desc = "Next diagnostic" }) - s( 'n', ']e', - function () - vim.diagnostic.goto_next({severity=vim.diagnostic.severity.ERROR, wrap = true}) - end, - { buffer = ev.buf, desc = "Next error" } - ) - s( 'n', '[e', - function () - vim.diagnostic.goto_prev({severity=vim.diagnostic.severity.ERROR, wrap = true}) - end, - { buffer = ev.buf, desc = "Previous error" } - ) s('n', 'q', vim.diagnostic.setloclist, { buffer = ev.buf, desc = "Set location list" }) s('n', 'gD', vim.lsp.buf.declaration, { buffer = ev.buf, desc = "Goto declaration" }) s('n', 'gd', telescope.lsp_definitions, { buffer = ev.buf, desc = "Goto definition" }) - s( {'n', 'v'}, 'K', vim.lsp.buf.hover, { buffer = ev.buf, desc = "lsp Hover" }) - s( {'n', 'v'}, '', hover, { buffer = ev.buf, desc = "dap eval" }) + s( {'n', 'v'}, 'K', hover, { buffer = ev.buf, desc = "Hover" }) s( {'n', 'v'}, '', - function() moveCursorToMouse() vim.lsp.buf.hover() end, + function() moveCursorToMouse() hover() end, { buffer = ev.buf, desc = "Hover" } ) s('n', 'gi', telescope.lsp_implementations, { buffer = ev.buf, desc = "Goto implementation" }) - -- s('n', '', vim.lsp.buf.signature_help, { buffer = ev.buf, desc = "Signature help" }) + s('n', '', vim.lsp.buf.signature_help, { buffer = ev.buf, desc = "Signature help" }) s('n', 'D', vim.lsp.buf.type_definition, { buffer = ev.buf, desc = "Goto type definition" }) s('n', 'ra', vim.lsp.buf.rename, { buffer = ev.buf, desc = "Rename" }) s({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, { buffer = ev.buf, desc = "Code action" }) @@ -127,14 +103,15 @@ function continue() end end -local pb = require('persistent-breakpoints.api') -s('n', 'b', pb.toggle_breakpoint, { desc = "Toggle breakpoint" }) -s('n', 'l', pb.set_log_point, { desc = "Set logpoint" }) -s('n', 'B', pb.set_conditional_breakpoint , { desc = "Add conditional breakpoint" }) +s('n', 'b', dap.toggle_breakpoint, { desc = "Toggle breakpoint" }) +s('n', 'B', function() + local condition = vim.fn.input("Condition: ", "", "customlist,Complete") + dap.set_breakpoint(condition) +end, { desc = "Add conditional breakpoint" }) +-- watchpoint s('n', 'w', dapui.elements.watches.add, { desc = "Add watch" }) s('v', 'w', dapui.elements.watches.add, { desc = "Add watch" }) s('n', '', dapui.toggle, { desc = "Toggle debygger UI" }) -s('n', '', dap.pause, { desc = "Pause" }) s('n', '', continue, { desc = "Continue" }) s('n', '', dap.restart, { desc = "Restart" }) s('n', '', dap.step_into, { desc = "Step into" }) diff --git a/lua/plugins.lua b/lua/plugins.lua index a2d6dea..14286f4 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -224,21 +224,32 @@ local plugins = { dependencies = { 'nvim-treesitter/nvim-treesitter' }, opts = { use_default_keymaps = false, - max_join_length = 36000, + max_join_length = 1200, }, }, { "rmagatti/auto-session", + dependencies = { + "niuiic/dap-utils.nvim", + dependencies = { + "niuiic/core.nvim", + "mfussenegger/nvim-dap", + "rcarriga/nvim-dap-ui", + "nvim-telescope/telescope.nvim", + } + }, config = function() require("auto-session").setup({ log_level = "error", pre_save_cmds = { function() + require("dap-utils").store_breakpoints("./.breakpoints") vim.api.nvim_exec_autocmds('User', {pattern = 'SessionSavePre'}) end }, post_restore_cmds = { function() + require("dap-utils").restore_breakpoints("./.breakpoints") end }, pre_delete_cmds = { @@ -382,12 +393,6 @@ local plugins = { } } }) - vim.api.nvim_create_autocmd("User", { - pattern = "NeogitStatusRefreshed", - callback = function() - vim.cmd("set autoread | checktime") - end - }) end }, { @@ -454,9 +459,7 @@ local plugins = { "theHamsta/nvim-dap-virtual-text", lazy = false, dependencies = { "mfussenegger/nvim-dap", "nvim-treesitter/nvim-treesitter" }, - opts = { - virt_text_pos = 'eol' - } + opts = {} }, { 'echasnovski/mini.align', @@ -492,11 +495,6 @@ local plugins = { uncrustify = { prepend_args = { "-c", "./scripts/uncrustify.cfg" }, }, - ["clang-format"] = { - prepend_args = { - "--style", "file:" .. vim.fn.expand("~/clang-format.yaml") - }, - } }, formatters_by_ft = { @@ -516,20 +514,6 @@ local plugins = { end require("conform").format({ async = true, lsp_format = "fallback", range = range }) end, { range = true }) - - -- vim.api.nvim_create_user_command("FormatClang", function(args) - -- local range = nil - -- if args.count ~= -1 then - -- local end_line = vim.api.nvim_buf_get_lines(0, args.line2 - 1, args.line2, true)[1] - -- range = { - -- start = { args.line1, 0 }, - -- ["end"] = { args.line2, end_line:len() }, - -- } - -- end - -- require("conform").format({ formatters = { "clang-format" }, range = range }) - -- end, { range = true }) - -- - -- vim.keymap.set({"v"}, "fl", ":FormatClang", { desc = "Format with clang"}) end }, {