-
Notifications
You must be signed in to change notification settings - Fork 462
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
refactor: make debug functionality better. #777
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
I think that's a gd idea, to save some newcomers from confusing. |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The DAP implementation LGTM. I used to use DAP a lot, not anymore. Still cc others to take a look
LGTM. It works good for me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I only tested on python
Sorry for the delay. Will test on C++, Objective-C, and Swift. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, currently working on several cleanups like #458 (comment)
A small change in wording: Executables with LSP-like capabilities are called "servers", while executables having DAP implementations are called "clients".
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for codelldb
and lldb
👍
1d9381c implemented a dirty workaround for return setmetatable({}, {
__index = function(_, key)
return function()
return function()
return M[key]()
end
end
end,
}) Not sure if this is the best way to do so 😢 |
We use |
You are right. Previous implementation has the bug about multi-times prompts asking for exe path. |
|
I think it can be merged now. |
* fix: make dap for c/cpp/rust/python works. * refactor: use cpptools to debug c/cpp/rust. * refactor: make dap servers configurable. * refactor: move dap servers config to subdir. * refactor: use mason-nvim-dap.nvim to manage dap servers. * perf: add note for each dap server. * fixup! refactor: make debug functionality better * fixup! fixup! refactor: make debug functionality better * fix typo * re-format code * feat: simplify `utils/dap.lua` * fixup! add checks for Windows NT (`codelldb`) * fixup! fixup! remove redundant comment * fixup! fix path expansion * fix: expand current file path to exe prompt. --------- Co-authored-by: Jint-lzxy <[email protected]>
* fix: make dap for c/cpp/rust/python works. * refactor: use cpptools to debug c/cpp/rust. * refactor: make dap servers configurable. * refactor: move dap servers config to subdir. * refactor: use mason-nvim-dap.nvim to manage dap servers. * perf: add note for each dap server. * fixup! refactor: make debug functionality better * fixup! fixup! refactor: make debug functionality better * fix typo * re-format code * feat: simplify `utils/dap.lua` * fixup! add checks for Windows NT (`codelldb`) * fixup! fixup! remove redundant comment * fixup! fix path expansion * fix: expand current file path to exe prompt. --------- Co-authored-by: Jint-lzxy <[email protected]>
Dap for c/cpp/rust:
We use
lldb-vscode
to debug, but I found that it doesn't work on my arch wsl2 although I have set thelldb-vscode
's path to absolute path, ref: https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation#ccrust-via-lldb-vscodeIt needs more test on other platforms.
Dap for python:
It works now but needs user install
debugpy
manually.ref: https://github.com/mfussenegger/nvim-dap/wiki/Debug-Adapter-installation#Python