-
-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] provide abstractions to allow alternative debugger hookups to use termdebug UX #11605
Comments
Do they not count as "ambitious" enough ? |
vimL only, no lua or python3 requirement
…________________________________
From: Ben Jackson ***@***.***>
Sent: Thursday, November 24, 2022 1:37 AM
To: vim/vim ***@***.***>
Cc: razamatan ***@***.***>; Manual ***@***.***>
Subject: Re: [vim/vim] [Feature Request] provide abstractions to allow alternative debugger hookups to use termdebug UX (Issue #11605)
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<#11605 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAD53TZ77YLCFOQTHPAO4CLWJ4ZMJANCNFSM6AAAAAASJWGP74>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
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 uses something like JSON-RPC over stdio. https://microsoft.github.io/debug-adapter-protocol/overview#base-protocol
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. |
yeah, i took a good look at vimspector (listed in original post as alternatives considered.. tyvm for it, btw), but sometimes i don't have access to a +python3 compiled vim readily. that got me looking around and land on termdebug as a built-in thing.
it would be great if the abstractions existed since vimspector could reuse the same windowing approach and command bindings. i'm not deep enough down the rabbit hole of how vimspector is implemented to appreciate how difficult it would be to make it work at the window/UX layer to interop with the termdebug abstractions (if such things existed). but that's the FR. not suggesting we put a competing DAP client out there, but allow existing DAP clients to use more of the built-in debug experience.
…________________________________
From: Ben Jackson ***@***.***>
Sent: Thursday, November 24, 2022 3:19 AM
To: vim/vim ***@***.***>
Cc: razamatan ***@***.***>; Manual ***@***.***>
Subject: Re: [vim/vim] [Feature Request] provide abstractions to allow alternative debugger hookups to use termdebug UX (Issue #11605)
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<https://github.com/puremourning/vimspector/#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<#11605 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAD53T7RKSQH53CYB6Q2CGTWJ5FMLANCNFSM6AAAAAASJWGP74>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
GDB has DAP support now. I'm curious if we can try to give an optional support from termdebug already. |
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
The text was updated successfully, but these errors were encountered: