diff --git a/lazy-lock.json b/lazy-lock.json index 096c0ba..e498dfb 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -11,18 +11,18 @@ "cmp-treesitter": { "branch": "master", "commit": "958fcfa0d8ce46d215e19cc3992c542f576c4123" }, "cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" }, "conform.nvim": { "branch": "master", "commit": "a4bb5d6c4ae6f32ab13114e62e70669fa67745b9" }, - "copilot.lua": { "branch": "master", "commit": "0929c92097a49b6ae3565aab157fa2bce398d953" }, + "copilot.lua": { "branch": "master", "commit": "96e1bb1963f351700bf6737ef3695e8a0b90b12a" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, - "gitsigns.nvim": { "branch": "main", "commit": "39e0d1cd44eafed5f30c372e377ab1cb1781ec9f" }, + "gitsigns.nvim": { "branch": "main", "commit": "ee0606259ee5d5dd40398be26755048e8965086e" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, "lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" }, "lspkind.nvim": { "branch": "master", "commit": "d79a1c3299ad0ef94e255d045bed9fa26025dab6" }, - "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2cb844268288ccc06b8d0f368ef3c2b195e8278c" }, + "lualine.nvim": { "branch": "master", "commit": "5a7cabf8e4a174c22351cbbdbe50310ee2172243" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "ce0e87c0be12e7c48296a7513e90430e3eac7f24" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "75d60a8f928decd8b38897f80849768b7c540a5b" }, - "mason.nvim": { "branch": "main", "commit": "1aceba8bc158b5aaf90649077cad06744bc23ac4" }, + "mason.nvim": { "branch": "main", "commit": "9eaedb864cdadc29c6eb7d761a6c0d8aee26c91b" }, "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, "neotest": { "branch": "master", "commit": "862afb2a2219d9ca565f67416fb7003cc0f22c4f" }, "neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" }, @@ -53,6 +53,6 @@ "trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" }, "venv-selector.nvim": { "branch": "regexp", "commit": "c677caa1030808a9f90092e522de7cc20c1390dd" }, "vim-go": { "branch": "master", "commit": "2a6b7c56194501a9190238dd31eb9952f0dbe517" }, - "vim-tmux-navigator": { "branch": "master", "commit": "64803fdd19a36211eba5e39f86c4cbceae8e1d06" }, + "vim-tmux-navigator": { "branch": "master", "commit": "0274dac508c62cd57efc8976c58646dbf62e2945" }, "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" } } diff --git a/lua/dkelly/plugins/dap.lua b/lua/dkelly/plugins/dap.lua index 00bc3f2..2415e3b 100644 --- a/lua/dkelly/plugins/dap.lua +++ b/lua/dkelly/plugins/dap.lua @@ -1,12 +1,7 @@ return { { "mfussenegger/nvim-dap", - dependencies = { - "rcarriga/nvim-dap-ui", - "theHamsta/nvim-dap-virtual-text", - "nvim-neotest/nvim-nio", - "williamboman/mason.nvim", - }, + dependencies = {}, config = function() local dap = require("dap") dap.adapters.dart = { @@ -14,11 +9,33 @@ return { command = "flutter", args = { "debug_adapter" }, } - local ui = require("dapui") - require("dapui").setup() require("nvim-dap-virtual-text").setup() - vim.keymap.set("n", "bb", dap.toggle_breakpoint, { desc = "Toggle breakpoint" }) + vim.keymap.set("n", "b1", dap.continue, { desc = "Continue" }) + vim.keymap.set("n", "b2", dap.step_into, { desc = "Step into" }) + vim.keymap.set("n", "b3", dap.step_over, { desc = "Step over" }) + vim.keymap.set("n", "b4", dap.step_out, { desc = "Step out" }) + vim.keymap.set("n", "b5", dap.step_back, { desc = "Step back" }) + vim.keymap.set("n", "b6", dap.restart, { desc = "Restart" }) + dap.configurations.go = {} + end, + }, + { + "rcarriga/nvim-dap-ui", + dependencies = { + "mfussenegger/nvim-dap", + "nvim-neotest/nvim-nio", + }, + config = function() + local dap = require("dap") + local ui = require("dapui") + ui.setup() + dap.listeners.before.attach.dapui_config = function() + ui.open() + end + dap.listeners.before.launch.dapui_config = function() + ui.open() + end vim.keymap.set("n", "be", function() require("dapui").eval(nil, { enter = true }) end, { desc = "Evaluate variable under cursor" }) @@ -26,21 +43,77 @@ return { require("dap").terminate() require("dapui").close() end, { desc = "Quit DAP" }) - - vim.keymap.set("n", "b1", dap.continue, { desc = "Continue" }) - vim.keymap.set("n", "b2", dap.step_into, { desc = "Step into" }) - vim.keymap.set("n", "b3", dap.step_over, { desc = "Step over" }) - vim.keymap.set("n", "b4", dap.step_out, { desc = "Step out" }) - vim.keymap.set("n", "b5", dap.step_back, { desc = "Step back" }) - vim.keymap.set("n", "b6", dap.restart, { desc = "Restart" }) - - dap.configurations.go = {} - dap.listeners.before.attach.dapui_config = function() - ui.open() - end - dap.listeners.before.launch.dapui_config = function() - ui.open() - end end, }, + { + "theHamsta/nvim-dap-virtual-text", + dependencies = { + "mfussenegger/nvim-dap", + }, + config = function() + require("nvim-dap-virtual-text").setup({ + enabled = true, + enabled_commands = true, + highlight_changed_variables = true, + highlight_new_as_changed = true, + show_stop_reason = true, + commented = false, + all_references = false, + virt_text_pos = "eol", + all_frames = false, + virt_lines = false, + }) + end, + }, + { + "jay-babu/mason-nvim-dap.nvim", + dependencies = { + "mason.nvim", + "mfussenegger/nvim-dap", + }, + config = function() + require("mason-nvim-dap").setup({ + ensure_installed = { "delve", "dart" }, + automatic_installation = true, + automatic_setup = true, + handlers = { + function(config) + require("mason-nvim-dap").default_setup(config) + end, + }, + }) + end, + }, + { + "mfussenegger/nvim-dap-python", + dependencies = "mfussenegger/nvim-dap", + config = function() + -- use the system python as a default; venv-selector will + -- overwrite this when you pick a venv + require("dap-python").setup("python3") -- or an absolute path + end, + }, + { + "linux-cultist/venv-selector.nvim", + dependencies = { + "neovim/nvim-lspconfig", + { "nvim-telescope/telescope.nvim", branch = "0.1.x", dependencies = { "nvim-lua/plenary.nvim" } }, + "mfussenegger/nvim-dap-python", -- tiny wrapper that registers the debugpy adapter + "mfussenegger/nvim-dap", + }, + lazy = false, + branch = "regexp", + keys = { + { "v", "VenvSelect" }, + }, + opts = { + dap_enabled = true, + search = { + anaconda_base = { + command = "fd /python$ /opt/homebrew/anaconda3/envs --full-path --color never -E /proc", + type = "anaconda", + }, + }, + }, + }, } diff --git a/lua/dkelly/plugins/mason.lua b/lua/dkelly/plugins/mason.lua index d45709b..e87e0b7 100644 --- a/lua/dkelly/plugins/mason.lua +++ b/lua/dkelly/plugins/mason.lua @@ -4,7 +4,6 @@ return { "williamboman/mason-lspconfig.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim", "mfussenegger/nvim-dap", - "jay-babu/mason-nvim-dap.nvim", }, config = function() -- import mason @@ -22,11 +21,6 @@ return { }, }) - require("mason-nvim-dap").setup({ - ensure_installed = { "python", "delve", "dart" }, - automatic_installation = true, - }) - require("mason-lspconfig").setup({ ensure_installed = { -- LSP server names only @@ -45,13 +39,11 @@ return { "dockerls", -- Docker "graphql", -- GraphQL "sqlls", -- SQL (or try "sqls") - "powershell_es", -- PowerShell "perlnavigator", -- Perl "vimls", -- Vim "lemminx", -- XML "cmake", -- CMake "zls", -- Zig - -- Add others you use! }, automatic_installation = true, }) @@ -66,6 +58,7 @@ return { "pylint", -- python linter "eslint_d", -- js linter "golangci-lint", -- golang linter + "debugpy", }, }) end, diff --git a/lua/dkelly/plugins/venv-selector.lua b/lua/dkelly/plugins/venv-selector.lua deleted file mode 100644 index 079b905..0000000 --- a/lua/dkelly/plugins/venv-selector.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - "linux-cultist/venv-selector.nvim", - dependencies = { - "neovim/nvim-lspconfig", - "mfussenegger/nvim-dap", - "mfussenegger/nvim-dap-python", --optional - { "nvim-telescope/telescope.nvim", branch = "0.1.x", dependencies = { "nvim-lua/plenary.nvim" } }, - }, - lazy = false, - branch = "regexp", -- This is the regexp branch, use this for the new version - keys = { - { "v", "VenvSelect" }, - }, - ---@type venv-selector.Config - opts = { - -- Your settings go here - }, -}