diff options
author | TJ DeVries <devries.timothyj@gmail.com> | 2023-02-17 16:31:57 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-17 16:31:57 -0500 |
commit | 3526fbeec9299dad5f7b14894765c34c83cf8324 (patch) | |
tree | 74829f40377c45547adcc6cc3aff4e8576956c5a /lua/kickstart/plugins/debug.lua | |
parent | 32744c3f66ac9e66e4ac5cc9d181db50254c44b3 (diff) |
feat: move to lazy.nvim package manager and add first plugins (#178)
Closes #175
Closes #177
Closes #173
Closes #169
Closes #161
Closes #144
Closes #138
Fixes #136
Closes #137
Closes #131
Closes #117
Closes #130
Closes #115
Closes #86
Closes #105
Closes #70
Fixes #176
Fixes #174
Fixes #160
Fixes #158
Diffstat (limited to 'lua/kickstart/plugins/debug.lua')
-rw-r--r-- | lua/kickstart/plugins/debug.lua | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua new file mode 100644 index 0000000..0b68c43 --- /dev/null +++ b/lua/kickstart/plugins/debug.lua @@ -0,0 +1,85 @@ +-- debug.lua +-- +-- Shows how to use the DAP plugin to debug your code. +-- +-- Primarily focused on configuring the debugger for Go, but can +-- be extended to other languages as well. That's why it's called +-- kickstart.nvim and not kitchen-sink.nvim ;) + +return { + -- NOTE: Yes, you can install new plugins here! + 'mfussenegger/nvim-dap', + + -- NOTE: And you can specify dependencies as well + dependencies = { + -- Creates a beautiful debugger UI + 'rcarriga/nvim-dap-ui', + + -- Installs the debug adapters for you + 'williamboman/mason.nvim', + 'jay-babu/mason-nvim-dap.nvim', + + -- Add your own debuggers here + 'leoluz/nvim-dap-go', + }, + + config = function() + local dap = require 'dap' + local dapui = require 'dapui' + + require('mason-nvim-dap').setup { + -- Makes a best effort to setup the various debuggers with + -- reasonable debug configurations + automatic_setup = true, + + -- You'll need to check that you have the required things installed + -- online, please don't ask me how to install them :) + ensure_installed = { + -- Update this to ensure that you have the debuggers for the langs you want + 'delve', + }, + } + + -- You can provide additional configuration to the handlers, + -- see mason-nvim-dap README for more information + require('mason-nvim-dap').setup_handlers() + + -- Basic debugging keymaps, feel free to change to your liking! + vim.keymap.set('n', '<F5>', dap.continue) + vim.keymap.set('n', '<F1>', dap.step_into) + vim.keymap.set('n', '<F2>', dap.step_over) + vim.keymap.set('n', '<F3>', dap.step_out) + vim.keymap.set('n', '<leader>b', dap.toggle_breakpoint) + vim.keymap.set('n', '<leader>B', function() + dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') + end) + + -- Dap UI setup + -- For more information, see |:help nvim-dap-ui| + dapui.setup { + -- Set icons to characters that are more likely to work in every terminal. + -- Feel free to remove or use ones that you like more! :) + -- Don't feel like these are good choices. + icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, + controls = { + icons = { + pause = '⏸', + play = '▶', + step_into = '⏎', + step_over = '⏭', + step_out = '⏮', + step_back = 'b', + run_last = '▶▶', + terminate = '⏹', + }, + }, + } + + dap.listeners.after.event_initialized['dapui_config'] = dapui.open + dap.listeners.before.event_terminated['dapui_config'] = dapui.close + dap.listeners.before.event_exited['dapui_config'] = dapui.close + + -- Install golang specific config + require('dap-go').setup() + end, +} |