From 2b3fbe7925a24ac4569ea4bd2d5c4069feb6f81f Mon Sep 17 00:00:00 2001 From: David Luevano Alvarado Date: Tue, 26 Dec 2023 19:37:33 -0600 Subject: feat: add debug capabilities, remove rest of kickstart --- lua/kickstart/plugins/autoformat.lua | 64 ------------------------------------ lua/kickstart/plugins/debug.lua | 54 ------------------------------ lua/plugins/debug.lua | 57 ++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 118 deletions(-) delete mode 100644 lua/kickstart/plugins/autoformat.lua delete mode 100644 lua/kickstart/plugins/debug.lua create mode 100644 lua/plugins/debug.lua diff --git a/lua/kickstart/plugins/autoformat.lua b/lua/kickstart/plugins/autoformat.lua deleted file mode 100644 index 88bbd57..0000000 --- a/lua/kickstart/plugins/autoformat.lua +++ /dev/null @@ -1,64 +0,0 @@ --- autoformat.lua --- --- Use your language server to automatically format your code on save. --- Adds additional commands as well to manage the behavior - -return { - 'neovim/nvim-lspconfig', - config = function() - -- Switch for controlling whether you want autoformatting. - -- Use :KickstartFormatToggle to toggle autoformatting on or off - local format_is_enabled = true - vim.api.nvim_create_user_command('KickstartFormatToggle', function() - format_is_enabled = not format_is_enabled - print('Setting autoformatting to: ' .. tostring(format_is_enabled)) - end, {}) - - -- Create an augroup that is used for managing our formatting autocmds. - -- We need one augroup per client to make sure that multiple clients - -- can attach to the same buffer without interfering with each other. - local _augroups = {} - local get_augroup = function(client) - if not _augroups[client.id] then - local group_name = 'kickstart-lsp-format-' .. client.name - local id = vim.api.nvim_create_augroup(group_name, { clear = true }) - _augroups[client.id] = id - end - - return _augroups[client.id] - end - - vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('kickstart-lsp-attach-format', { clear = true }), - -- This is where we attach the autoformatting for reasonable clients - callback = function(args) - local client_id = args.data.client_id - local client = vim.lsp.get_client_by_id(client_id) - local bufnr = args.buf - - -- Only attach to clients that support document formatting - if not client.server_capabilities.documentFormattingProvider then - return - end - - -- Tsserver usually works poorly. Sorry you work with bad languages - -- You can remove this line if you know what you're doing :) - if client.name == 'tsserver' then - return - end - - vim.api.nvim_create_autocmd('BufWritePre', { - group = get_augroup(client), - buffer = bufnr, - callback = function() - if not format_is_enabled then - return - end - - vim.lsp.buf.format({ async = false }) - end, - }) - end, - }) - end, -} diff --git a/lua/kickstart/plugins/debug.lua b/lua/kickstart/plugins/debug.lua deleted file mode 100644 index 0150db8..0000000 --- a/lua/kickstart/plugins/debug.lua +++ /dev/null @@ -1,54 +0,0 @@ -return { - 'mfussenegger/nvim-dap', - dependencies = { - 'rcarriga/nvim-dap-ui', - '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 { - automatic_setup = true, - handlers = {}, - ensure_installed = { - 'delve', - }, - } - vim.keymap.set('n', '', dap.continue) - vim.keymap.set('n', '', dap.step_into) - vim.keymap.set('n', '', dap.step_over) - vim.keymap.set('n', '', dap.step_out) - vim.keymap.set('n', 'b', dap.toggle_breakpoint) - vim.keymap.set('n', 'B', function() - dap.set_breakpoint(vim.fn.input 'Breakpoint condition: ') - end) - - dapui.setup { - icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, - controls = { - icons = { - pause = '⏸', - play = '▶', - step_into = '⏎', - step_over = '⏭', - step_out = '⏮', - step_back = 'b', - run_last = '▶▶', - terminate = '⏹', - disconnect = "⏏", - }, - }, - } - vim.keymap.set("n", "", dapui.toggle) - - 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 - - require('dap-go').setup() - end, -} diff --git a/lua/plugins/debug.lua b/lua/plugins/debug.lua new file mode 100644 index 0000000..b4b7783 --- /dev/null +++ b/lua/plugins/debug.lua @@ -0,0 +1,57 @@ +return { + 'mfussenegger/nvim-dap', + dependencies = { + 'rcarriga/nvim-dap-ui', + 'williamboman/mason.nvim', + 'jay-babu/mason-nvim-dap.nvim', + 'leoluz/nvim-dap-go', + }, + config = function() + local dap = require('dap') + local dapui = require('dapui') + + require('mason-nvim-dap').setup { + automatic_setup = true, + handlers = {}, + ensure_installed = { + 'delve', + }, + } + + local nmap = function(keys, func, desc) + if desc then + desc = 'DAP: ' .. desc + end + vim.keymap.set('n', keys, func, { desc = desc }) + end + nmap('', dap.continue) + nmap('', dap.step_into) + nmap('', dap.step_over) + nmap('', dap.step_out) + nmap("du", dapui.toggle, "Toggle [u]i") + nmap('db', dap.toggle_breakpoint, "Toggle [b]reakpoint") + + dapui.setup({ + icons = { expanded = '▾', collapsed = '▸', current_frame = '*' }, + controls = { + icons = { + pause = '⏸', + play = '▶', + step_into = '⏎', + step_over = '⏭', + step_out = '⏮', + step_back = 'b', + run_last = '▶▶', + terminate = '⏹', + disconnect = "⏏", + }, + }, + }) + + 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 + + require('dap-go').setup({}) + end, +} -- cgit v1.2.3-70-g09d2