gabrielgio.lua @ b4e54e30af06739a08428024aaa36938e79ba95b

 1local dap = require("dap")
 2local key = require("gabrielgio.key")
 3local dapui = require("dapui")
 4local dapgo = require("dap-go")
 5
 6dapgo.setup()
 7
 8key.nnoremap("<F5>", ":lua require'dap'.continue()<CR>")
 9key.nnoremap("<F10>", ":lua require'dap'.step_over()<CR>")
10key.nnoremap("<F11>", ":lua require'dap'.step_into()<CR>")
11key.nnoremap("<F12>", ":lua require'dap'.step_out()<CR>")
12key.nnoremap("<leader>b", ":lua require'dap'.toggle_breakpoint()<CR>")
13key.nnoremap("<leader>B", ":lua require'dap'.set_breakpoint(vim.fn.input('Condition: '))<CR>")
14key.nnoremap("<leader>dr", ":lua require'dap'.repl.open()<CR>")
15key.nnoremap("<Alt-k>", "<Cmd>lua require'dapui'.eval()<CR>")
16
17dap.adapters.delve = {
18	type = "server",
19	host = "127.0.0.1",
20	port = 2345,
21}
22
23dap.adapters.gdb = {
24	id = "gdb",
25	type = "executable",
26	command = "gdb",
27	args = { "--interpreter=dap", "--eval-command", "set print pretty on" },
28}
29
30dap.adapters.lldb = {
31	type = "executable",
32	command = "lldb-vscode", -- adjust as needed, must be absolute path
33	name = "lldb",
34}
35
36dap.configurations.go = {
37	{
38		type = "delve",
39		name = "remote",
40		mode = "remote",
41		request = "attach",
42		connect = {
43			host = "127.0.0.1",
44			port = "2345",
45		},
46	},
47}
48dap.configurations.zig = {
49	{
50		name = "Launch",
51		type = "gdb",
52		request = "launch",
53		program = function()
54			return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
55		end,
56		cwd = "${workspaceFolder}",
57		stopAtBeginningOfMainSubprogram = false,
58		args = function()
59			local args_str = vim.fn.input({
60				prompt = "Arguments: ",
61			})
62			return vim.split(args_str, " +")
63		end,
64	},
65	{
66		name = "Launch",
67		type = "lldb",
68		request = "launch",
69		program = function()
70			return vim.fn.input("Path to executable: ", vim.fn.getcwd() .. "/", "file")
71		end,
72		cwd = "${workspaceFolder}",
73		stopAtBeginningOfMainSubprogram = false,
74		args = function()
75			local args_str = vim.fn.input({
76				prompt = "Arguments: ",
77			})
78			return vim.split(args_str, " +")
79		end,
80	},
81}
82
83dapui.setup({
84	layouts = {
85		{
86			elements = {
87				{
88					id = "watches",
89					size = 1,
90				},
91			},
92			position = "bottom",
93			size = 10,
94		},
95	},
96})