mirror of
				https://github.com/WarrenHood/dotfiles.git
				synced 2025-11-04 07:58:41 +00:00 
			
		
		
		
	Add debugging and test runners
This commit is contained in:
		
							parent
							
								
									ed32743a88
								
							
						
					
					
						commit
						78eb9262ec
					
				| 
						 | 
				
			
			@ -45,6 +45,42 @@ map('n', '<leader>sv', ':vsplit<CR>', { desc = 'Split Vertical' })
 | 
			
		|||
map('n', '<leader>sh', ':split<CR>', { desc = 'Split Horizontal' })
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Debugging
 | 
			
		||||
map("n", "<F4>", ":lua require('dapui').toggle()<CR>")
 | 
			
		||||
map("n", "<F5>", ":lua require('dap').toggle_breakpoint()<CR>")
 | 
			
		||||
map("n", "<F9>", ":lua require('dap').continue()<CR>")
 | 
			
		||||
 | 
			
		||||
map("n", "<F1>", ":lua require('dap').step_over()<CR>")
 | 
			
		||||
map("n", "<F2>", ":lua require('dap').step_into()<CR>")
 | 
			
		||||
map("n", "<F3>", ":lua require('dap').step_out()<CR>")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
map("n", "<Leader>dsc", ":lua require('dap').continue()<CR>")
 | 
			
		||||
map("n", "<Leader>dsv", ":lua require('dap').step_over()<CR>")
 | 
			
		||||
map("n", "<Leader>dsi", ":lua require('dap').step_into()<CR>")
 | 
			
		||||
map("n", "<Leader>dso", ":lua require('dap').step_out()<CR>")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
map("n", "<Leader>dhh", ":lua require('dap.ui.variables').hover()<CR>")
 | 
			
		||||
map("v", "<Leader>dhv", ":lua require('dap.ui.variables').visual_hover()<CR>")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
map("n", "<Leader>duh", ":lua require('dap.ui.widgets').hover()<CR>")
 | 
			
		||||
map("n", "<Leader>duf", ":lua local widgets=require('dap.ui.widgets');widgets.centered_float(widgets.scopes)<CR>")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
map("n", "<Leader>dro", ":lua require('dap').repl.open()<CR>")
 | 
			
		||||
map("n", "<Leader>drl", ":lua require('dap').repl.run_last()<CR>")
 | 
			
		||||
 | 
			
		||||
map("n", "<Leader>dbc", ":lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>")
 | 
			
		||||
map("n", "<Leader>dbm", ":lua require('dap').set_breakpoint({ nil, nil, vim.fn.input('Log point message: '))<CR>")
 | 
			
		||||
map("n", "<Leader>dbt", ":lua require('dap').toggle_breakpoint()<CR>")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
map("n", "<Leader>dc", ":lua require('dap.ui.variables').scopes()<CR>")
 | 
			
		||||
map("n", "<Leader>di", ":lua require('dapui').toggle()<CR>")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- luasnip
 | 
			
		||||
vim.cmd[[
 | 
			
		||||
" Use Tab to expand and jump through snippets
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,3 +35,53 @@ require("luasnip").config.set_config({ -- Setting LuaSnip config
 | 
			
		|||
})
 | 
			
		||||
 | 
			
		||||
require("luasnip.loaders.from_lua").load({paths = "~/.config/nvim/LuaSnip/"})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- Which-key config
 | 
			
		||||
require('which-key').setup()
 | 
			
		||||
require('which-key').register({
 | 
			
		||||
	d = {
 | 
			
		||||
		name = "Debug",
 | 
			
		||||
		s = {
 | 
			
		||||
			name = "Step",
 | 
			
		||||
			c = { "<cmd>lua require('dap').continue()<CR>", "Continue" },
 | 
			
		||||
 | 
			
		||||
			v = { "<cmd>lua require('dap').step_over()<CR>", "Step Over" },
 | 
			
		||||
			i = { "<cmd>lua require('dap').step_into()<CR>", "Step Into" },
 | 
			
		||||
			o = { "<cmd>lua require('dap').step_out()<CR>", "Step Out" },
 | 
			
		||||
		},
 | 
			
		||||
		h = {
 | 
			
		||||
			name = "Hover",
 | 
			
		||||
			h = { "<cmd>lua require('dap.ui.variables').hover()<CR>", "Hover" },
 | 
			
		||||
			v = { "<cmd>lua require('dap.ui.variables').visual_hover()<CR>", "Visual Hover" },
 | 
			
		||||
		},
 | 
			
		||||
		u = {
 | 
			
		||||
			name = "UI",
 | 
			
		||||
 | 
			
		||||
			h = { "<cmd>lua require('dap.ui.widgets').hover()<CR>", "Hover" },
 | 
			
		||||
			f = { "local widgets=require('dap.ui.widgets');widgets.centered_float(widgets.scopes)<CR>", "Float" },
 | 
			
		||||
		},
 | 
			
		||||
		r = {
 | 
			
		||||
			name = "Repl",
 | 
			
		||||
			o = { "<cmd>lua require('dap').repl.open()<CR>", "Open" },
 | 
			
		||||
 | 
			
		||||
			l = { "<cmd>lua require('dap').repl.run_last()<CR>", "Run Last" },
 | 
			
		||||
		},
 | 
			
		||||
		b = {
 | 
			
		||||
			name = "Breakpoints",
 | 
			
		||||
			c = {
 | 
			
		||||
 | 
			
		||||
				"<cmd>lua require('dap').set_breakpoint(vim.fn.input('Breakpoint condition: '))<CR>",
 | 
			
		||||
				"Breakpoint Condition",
 | 
			
		||||
			},
 | 
			
		||||
			m = {
 | 
			
		||||
				"<cmd>lua require('dap').set_breakpoint({ nil, nil, vim.fn.input('Log point message: ') })<CR>",
 | 
			
		||||
				"Log Point Message",
 | 
			
		||||
			},
 | 
			
		||||
			t = { "<cmd>lua require('dap').toggle_breakpoint()<CR>", "Create" },
 | 
			
		||||
		},
 | 
			
		||||
		c = { "<cmd>lua require('dap').scopes()<CR>", "Scopes" },
 | 
			
		||||
		i = { "<cmd>lua require('dap').toggle()<CR>", "Toggle" },
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
}, { prefix = "<leader>" })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,9 +66,6 @@ require("packer").startup(function()
 | 
			
		|||
    -- Which key for command suggestions
 | 
			
		||||
    use {
 | 
			
		||||
        "folke/which-key.nvim",
 | 
			
		||||
        config = function()
 | 
			
		||||
            require("which-key").setup()
 | 
			
		||||
        end
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    -- Comments
 | 
			
		||||
| 
						 | 
				
			
			@ -109,6 +106,46 @@ require("packer").startup(function()
 | 
			
		|||
        end
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    -- Test runner Stuff
 | 
			
		||||
    use {
 | 
			
		||||
        "nvim-neotest/neotest",
 | 
			
		||||
        requires = {
 | 
			
		||||
            "nvim-lua/plenary.nvim",
 | 
			
		||||
            "nvim-treesitter/nvim-treesitter",
 | 
			
		||||
            "nvim-neotest/neotest-python",
 | 
			
		||||
        },
 | 
			
		||||
        config = function()
 | 
			
		||||
            require('neotest').setup {
 | 
			
		||||
                adapters = {
 | 
			
		||||
                    require("neotest-python")({
 | 
			
		||||
                        dap = { justMyCode = false },
 | 
			
		||||
                    }),
 | 
			
		||||
                },
 | 
			
		||||
            }
 | 
			
		||||
        end
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    -- Debugging
 | 
			
		||||
    use('mfussenegger/nvim-dap') -- Main debugging plugin
 | 
			
		||||
    use {
 | 
			
		||||
        'rcarriga/nvim-dap-ui',
 | 
			
		||||
        requires = { "mfussenegger/nvim-dap" },
 | 
			
		||||
        config = function()
 | 
			
		||||
            require('dapui').setup()
 | 
			
		||||
        end
 | 
			
		||||
    } -- Better debugging UI
 | 
			
		||||
 | 
			
		||||
    use {
 | 
			
		||||
        'theHamsta/nvim-dap-virtual-text',
 | 
			
		||||
        config = function()
 | 
			
		||||
            require("nvim-dap-virtual-text").setup()
 | 
			
		||||
        end
 | 
			
		||||
    } -- Virtual text for nvim-dap
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    -- Automatically set up configuration after cloning packer.nvim
 | 
			
		||||
    if packer_bootstrap then
 | 
			
		||||
        require("packer").sync()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue