Skip to content

Commit 4cc00c7

Browse files
committed
config debugger
1 parent fced520 commit 4cc00c7

3 files changed

Lines changed: 82 additions & 4 deletions

File tree

fnl/mods/dev/dap.fnl

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
(module :mods.dev.dap
2+
{autoload {dap dap
3+
dapui dapui
4+
dappy dap-python
5+
mason-dap mason-nvim-dap}})
6+
7+
(mason-dap.setup {:ensure_installed [:python]
8+
:handlers {}})
9+
10+
(dappy.setup (.. (vim.fn.stdpath :data) "/mason/packages/debugpy/venv/bin/python"))
11+
12+
(dapui.setup)
13+
14+
(local dap-keys-group (vim.api.nvim_create_augroup :dap-keys {:clear true}))
15+
16+
(tset dap.listeners.after.event_initialized :dapui_config
17+
(fn []
18+
(dapui.open)
19+
(vim.api.nvim_create_autocmd :BufEnter
20+
{:group dap-keys-group
21+
:callback (fn []
22+
(map [:n] :c dap.continue {:desc "Continue [DAP]" :buffer true})
23+
(map [:n] :n dap.step_over {:desc "Step over [DAP]" :buffer true})
24+
(map [:n] :s dap.step_into {:desc "Step into [DAP]" :buffer true})
25+
(map [:n] :o dap.step_out {:desc "Step out [DAP]" :buffer true}))})))
26+
27+
(tset dap.listeners.before.event_terminated :dapui_config
28+
(fn []
29+
(dapui.close)
30+
(vim.api.nvim_clear_autocmds {:group dap-keys-group})))
31+
32+
(tset dap.listeners.before.event_exited :dapui_config
33+
(fn []
34+
(dapui.close)
35+
(vim.api.nvim_clear_autocmds {:group dap-keys-group})))
36+
37+
;; server-type adapter for attaching to a running debugpy process
38+
(tset dap.adapters :python-attach
39+
{:type :server
40+
:host "127.0.0.1"
41+
:port 5678})
42+
43+
(tset dap.configurations :python
44+
[{:type :python-attach
45+
:request :attach
46+
:name "Attach (debugpy @ 5678)"
47+
:justMyCode false
48+
:pathMappings [{:localRoot (vim.fn.getcwd)
49+
:remoteRoot (vim.fn.getcwd)}]}])
50+
51+
(map [:n] :<leader>db dap.toggle_breakpoint {:desc "Toggle breakpoint [DAP]"})
52+
(map [:n] :<leader>dB
53+
(fn [] (dap.set_breakpoint (vim.fn.input "Breakpoint condition: ")))
54+
{:desc "Conditional breakpoint [DAP]"})
55+
(map [:n] :<leader>dc dap.continue {:desc "Continue [DAP]"})
56+
(map [:n] :<leader>dn dap.step_over {:desc "Step over [DAP]"})
57+
(map [:n] :<leader>di dap.step_into {:desc "Step into [DAP]"})
58+
(map [:n] :<leader>do dap.step_out {:desc "Step out [DAP]"})
59+
(map [:n] :<leader>dr (fn [] (dapui.open)) {:desc "Open DAP UI [DAP]"})
60+
(map [:n] :<leader>dq dap.terminate {:desc "Terminate session [DAP]"})
61+
(map [:n] :<leader>dR dap.repl.open {:desc "Open REPL [DAP]"})
62+
(map [:n] :<leader>dt dappy.test_method {:desc "Debug test method [DAP]"})
63+
(map [:n] :<leader>dT dappy.test_class {:desc "Debug test class [DAP]"})

fnl/plugins.fnl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,14 @@
128128
[:onsails/lspkind.nvim]
129129
[:nvimtools/none-ls.nvim]]
130130
:mod :lsp.lsp}
131+
;; dap
132+
:mfussenegger/nvim-dap {}
133+
:mfussenegger/nvim-dap-python {:requires [[:mfussenegger/nvim-dap]]}
134+
:rcarriga/nvim-dap-ui {:requires [[:mfussenegger/nvim-dap]
135+
[:nvim-neotest/nvim-nio]]}
136+
:jay-babu/mason-nvim-dap.nvim {:requires [[:williamboman/mason.nvim]
137+
[:mfussenegger/nvim-dap]]
138+
:mod :dev.dap}
131139
;; misc
132140
:gruvw/strudel.nvim {:run "npm install" :mod :misc.strudel})
133141

lazy-lock.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"cmp-nvim-lua": { "branch": "main", "commit": "e3a22cb071eb9d6508a156306b102c45cd2d573d" },
1212
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
1313
"copilot-cmp": { "branch": "master", "commit": "15fc12af3d0109fa76b60b5cffa1373697e261d1" },
14-
"copilot.lua": { "branch": "master", "commit": "00446a63cba4cc59bb24fc1e210a555a3e4acdfb" },
14+
"copilot.lua": { "branch": "master", "commit": "3061c49e0e2619915af90fb5a067cac90a20e896" },
1515
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
1616
"focus.nvim": { "branch": "master", "commit": "36ebedeebe82ebea250c9d671769194caa033902" },
1717
"github-nvim-theme": { "branch": "main", "commit": "bfd4b83843e736826374b4694ca4dcdd600f0966" },
@@ -22,7 +22,7 @@
2222
"impatient.nvim": { "branch": "main", "commit": "47302af74be7b79f002773011f0d8e85679a7618" },
2323
"indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" },
2424
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
25-
"lean.nvim": { "branch": "main", "commit": "539facb84f490a0e859d82cebf5974e80a492edc" },
25+
"lean.nvim": { "branch": "main", "commit": "5d662bbeb5b06c9cc2e2d675e78994955a91cdb2" },
2626
"leap.nvim": { "branch": "main", "commit": "b81866399072af08195ebfbcfea9d3dcab970972" },
2727
"lsp-zero.nvim": { "branch": "v4.x", "commit": "d388e2b71834c826e61a3eba48caec53d7602510" },
2828
"lsp_signature.nvim": { "branch": "master", "commit": "af7e4074d85d785cf6614352ba9ad3b28a1f8a56" },
@@ -31,6 +31,7 @@
3131
"lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" },
3232
"mason-lspconfig.nvim": { "branch": "main", "commit": "a324581a3c83fdacdb9804b79de1cbe00ce18550" },
3333
"mason-null-ls.nvim": { "branch": "main", "commit": "8e7806acaa87fae64f0bfde25bb4b87c18bd19b4" },
34+
"mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" },
3435
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
3536
"monokai-pro.nvim": { "branch": "master", "commit": "d8884d4473667c48bd17a68d08383d38839136a3" },
3637
"neoscroll.nvim": { "branch": "master", "commit": "c8d29979cb0cb3a2437a8e0ae683fd82f340d3b8" },
@@ -41,24 +42,30 @@
4142
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
4243
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
4344
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
45+
"nvim-dap": { "branch": "master", "commit": "b516f20b487b0ac6a281e376dfac1d16b5040041" },
46+
"nvim-dap-python": { "branch": "master", "commit": "1808458eba2b18f178f990e01376941a42c7f93b" },
47+
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
4448
"nvim-hlslens": { "branch": "main", "commit": "be2d7b2be01860b5445a007ff2bc72b29896db6b" },
4549
"nvim-lspconfig": { "branch": "master", "commit": "ead0f5f342d8d323441e7d4b88f0fc436a81ad5f" },
4650
"nvim-navic": { "branch": "master", "commit": "f5eba192f39b453675d115351808bd51276d9de5" },
51+
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
4752
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
4853
"nvim-scrollbar": { "branch": "main", "commit": "f8e87b96cd6362ef8579be456afee3b38fd7e2a8" },
49-
"nvim-treesitter": { "branch": "main", "commit": "cb2cb74f3c3cbbcc17e79cada2060165d616d849" },
54+
"nvim-treesitter": { "branch": "main", "commit": "972f378653c794b0ff82282a844732695064b70f" },
5055
"nvim-web-devicons": { "branch": "master", "commit": "737cf6c657898d0c697311d79d361288a1343d50" },
5156
"outline.nvim": { "branch": "main", "commit": "ead1820d49c8e79ce89cab1c2c318981b695c9d2" },
5257
"papercolor-theme": { "branch": "master", "commit": "0cfe64ffb24c21a6101b5f994ca342a74c977aef" },
5358
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
5459
"popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" },
5560
"profile.nvim": { "branch": "master", "commit": "30433d7513f0d14665c1cfcea501c90f8a63e003" },
56-
"render-markdown.nvim": { "branch": "main", "commit": "1c958131c083c8557ea499fdb08c88b8afb05c4e" },
61+
"render-markdown.nvim": { "branch": "main", "commit": "1641b434bda26e0f4e3610985b3357fc213cf834" },
5762
"strudel.nvim": { "branch": "main", "commit": "a6b9752b0084a20c37786b54eef2095bb31daff7" },
5863
"targets.vim": { "branch": "master", "commit": "6325416da8f89992b005db3e4517aaef0242602e" },
5964
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" },
6065
"telescope-makefile": { "branch": "master", "commit": "f35425d7d53d92a04215c3714a5819811d2842c3" },
66+
"telescope-media-files.nvim": { "branch": "master", "commit": "0826c7a730bc4d36068f7c85cf4c5b3fd9fb570a" },
6167
"telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" },
68+
"todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" },
6269
"toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" },
6370
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
6471
"vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" },

0 commit comments

Comments
 (0)