Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
termdebug supports GDB/MI only. DAP exists.
Describe the solution you'd like
It would be great if the UX around termdebug could be reused for an ambitious plugin writer to support working with DAP debuggers.
Describe alternatives you've considered
vimspector and neovim's nvim-dap
Additional context
nope
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Describe alternatives you've considered
vimspector and neovim's nvim-dap
Do they not count as "ambitious" enough ?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
From the front page DAP looks like a good idea to support. Perhaps start with one debugger that supports it and try make it work with TermDebug? Then plan to expand to support more. I have no idea how much work this would be. I can see a protocol specification, but it doesn't say how the communication is implemented. Using JSON?
It does appear to be very MS-Windows specific, character units are UTF-16 (worst choice ever).
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I can see a protocol specification, but it doesn't say how the communication is implemented. Using JSON?
It uses something like JSON-RPC over stdio. https://microsoft.github.io/debug-adapter-protocol/overview#base-protocol
basically a length header followed by a json payload.
I have no idea how much work this would be.
It's not a small amount of work, in and of itself, but the ecosystem of debug adapters and foibles is a lot of ongoing maintenance. I have been working on vimspector https://github.com/puremourning/vimspector/ for 5 years now and it implements about, say 40% of the spec. Implementing disassembly was weeks of work (elapsed, spare time) on its own.
it's also worth noting there are a number of other DAP plugins for vim that are very good.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
GDB has DAP support now. I'm curious if we can try to give an optional support from termdebug already.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I also support this. Now that termdebug is in Vim9 it should be easier to update. As a first step I would try to separate the frontend to the backend (which now only include gdb). In that way the frontend would be always the same but the backend should be easy to switch i.e. it should be easier to add other debugger support like debugpy, lldb, etc. or for a possible DAP implementation entirely in Vim9.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@jinyius Given that DAP is the main wish, could you edit the title such that such a desire is more explicit? In this way there would be higher chances that someone could pick it up. Or one could also consider a porting of nvim-dap to Vim9 if does not want to change Termdebug.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()