Commit Graph

144 Commits (master)

Author SHA1 Message Date
Blaž Hrastnik ea59f77a6b Port over parsing improvements from the LSP
We need to terminate if we ever read 0 bytes which indicates closed
stream.
2021-10-17 13:54:47 +09:00
Dmitry Sharshakov 814dcfa8d2
fix lints 2021-09-26 21:54:36 +03:00
Dmitry Sharshakov d943a51e3e
editor: add Node.js debugger 2021-09-26 21:36:06 +03:00
Dmitry Sharshakov 0e51e5fbaf
editor: support setExceptionBreakpoints 2021-09-26 10:24:58 +03:00
Dmitry Sharshakov 413e477dc2 lldb: use stdio transport by default 2021-09-06 13:49:31 +03:00
Dmitry Sharshakov 507a1f8dd6 Get breakpoint reports from debugger 2021-09-06 08:47:54 +03:00
Dmitry Sharshakov df0ea6674a examples: ensure target stopped by waiting for enter from user 2021-09-04 19:36:36 +03:00
Dmitry Sharshakov cf7237d0b9
compat: make thread IDs signed
Delve needs it
2021-09-03 23:11:06 +03:00
Blaž Hrastnik 7b61c63ece Handle stderr 2021-09-03 13:26:30 +09:00
Blaž Hrastnik b997d2cdeb dap: Allow setting breakpoints before starting the adapter 2021-09-03 13:26:30 +09:00
Blaž Hrastnik 289303a30d dap: small TODO 2021-09-03 11:48:55 +09:00
Blaž Hrastnik 42f9718f55 dap: Extract thread_picker, make pause explicitly select a thread 2021-09-03 11:43:11 +09:00
Blaž Hrastnik 27c1b3f98b dap: Extract a thread_states map 2021-09-03 11:30:25 +09:00
Dmitry Sharshakov 6265e196b7
compat: change lldb to lldb-vscode
This should be preferred ID, although now lldb-vscode works with any
2021-08-30 16:09:41 +03:00
Blaž Hrastnik 2c7b75475f dap: refactor frame handling 2021-08-30 11:07:59 +09:00
Blaž Hrastnik 986828e75c dap: Remap keys, match current thread behavior from dap-mode, switch-thread 2021-08-29 23:32:46 +09:00
Dmitry Sharshakov b42631942b
Defaults in completions, better schema 2021-08-29 14:51:47 +03:00
Dmitry Sharshakov 2d42766a71
wip: refactor parameters in UI start 2021-08-29 10:23:36 +03:00
Dmitry Sharshakov 94901b8677
Customized completion for template parameters 2021-08-28 19:11:19 +03:00
Dmitry Sharshakov b001008a69
Support templates in debug configurations 2021-08-24 20:04:14 +03:00
Dmitry Sharshakov 0e779381a8
Format 2021-08-24 12:01:58 +03:00
Dmitry Sharshakov c463142e5e
Create new debugger config format 2021-08-24 11:56:18 +03:00
Dmitry Sharshakov 34c6094604
refactor 2021-08-24 11:32:44 +03:00
Dmitry Sharshakov 2158366b24
Enable variable types in DAP config
We have this feature
2021-08-24 10:51:52 +03:00
Dmitry Sharshakov fdad7d67aa
Check capabilities for breakpoint config 2021-08-24 10:48:47 +03:00
Dmitry Sharshakov c09b15197b
fix freeze with lldb terminated event 2021-08-23 20:38:17 +03:00
Dmitry Sharshakov b5b79e3656
types: make some fields optional as in spec 2021-08-23 20:22:21 +03:00
Dmitry Sharshakov 802ef20dbc
chore: bump helix-dap version to 0.4.1 2021-08-23 17:27:39 +03:00
Dmitry Sharshakov b6b99b2487
config: minor fixes 2021-08-23 17:26:12 +03:00
Dmitry Sharshakov 839d210573
Enable stdio transport via config 2021-08-23 17:18:03 +03:00
Dmitry Sharshakov c5b210df59
Add debug-adapter field to languages.toml 2021-08-23 16:48:06 +03:00
Dmitry Sharshakov dabec2d799
Fix line endings 2021-08-22 15:59:42 +03:00
Dmitry Sharshakov 3197c2536e
Add eval command 2021-08-22 14:44:16 +03:00
Dmitry Sharshakov 74102bfc6d
examples: fix build 2021-08-22 12:13:43 +03:00
Dmitry Sharshakov d93cd2a261
editor: support stepIn, stepOut, next and pause commands 2021-08-22 11:16:11 +03:00
Dmitry Sharshakov dfc70a12f3
dap: support stepIn, stepOut, next and pause commands 2021-08-22 11:02:54 +03:00
Blaž Hrastnik 28658836ee Add more event types, simplify event decoding 2021-08-22 16:05:12 +09:00
Dmitry Sharshakov f3e47bfee4
Disable continuing when running 2021-08-21 20:55:45 +03:00
Dmitry Sharshakov afeaba1113
add rx dispatcher to examples 2021-08-21 20:19:11 +03:00
Dmitry Sharshakov a938f5a87a
refactor: handle DAP events in editor main loop 2021-08-21 17:21:35 +03:00
Dmitry Sharshakov 7087558918
Don't leave debugged programs running 2021-08-21 15:14:29 +03:00
Dmitry Sharshakov 6458edecfd
Add stack pointer display when stopped 2021-08-21 14:15:29 +03:00
Dmitry Sharshakov c4970c617e
make CI green 2021-08-20 16:48:59 +03:00
Blaž Hrastnik a54b09e3fe dap: Split out launch from init 2021-08-20 14:06:55 +09:00
Blaž Hrastnik 94a1951d40 Work towards a breakpoint UI 2021-08-20 13:51:38 +09:00
Blaž Hrastnik 8759dc7e33 Add Default to some structs 2021-08-20 13:48:33 +09:00
Blaž Hrastnik 86102a651f wip 2021-08-20 13:48:33 +09:00
Blaž Hrastnik 2094ff1aaf Silence TCP client messages on stdout, log them in the future 2021-08-20 13:48:33 +09:00
Blaž Hrastnik d39baa3b4e Start integrating into the editor's event loop 2021-08-20 13:48:32 +09:00
Blaž Hrastnik 0300dbdeb3 Avoid cloning a request on send 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 54dc2f8107 Fix example compilation 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 8fbda0abaf fix: Used the wrong type for variables 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 184abdc510 dap: Significantly simplify code using the Request trait 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 3a9e1c305b Refactor types, add a Request trait 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 2d1ae2e44b dap: Split types off into types.rs 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 6225401e84 A request always needs to have a response, per spec (the body can be empty) 2021-08-20 13:43:54 +09:00
Blaž Hrastnik 3f62799656 Get cargo check to pass in the subcrate 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov b9797a7dd2 client: support tcp_process transport 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 6c0f7eafc3 examples: continue handling output events 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 279db98d3c refactor: use tagged enum for handling DAP payloads 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 36fb8d1b1a examples: make examples identical 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov f92fb966c0 working lldb example 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov ae32159247 Revert "compat: don't wait for launch and attach response"
This reverts commit 766e3380622e2c7ddf5051ed672b78ece8d99f1f.

Not required for lldb-vscode
2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 4f2b8fb05a dap-dlv: rename from dap-go 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 2a6210806b dap-lldb: adjust breakpoint position 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov f5b1655eab format 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov e7f543fe66 format 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov eb0605c13d dap: create C example 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 809990a3a4 format 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov d4c215b35d compat: don't wait for launch and attach response
I could not get one from codelldb
2021-08-20 13:43:54 +09:00
Dmitry Sharshakov e388079a0b compat: add all possible debugger caps 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 43c9eba037 compat: remove missing caps
Only report present features now
2021-08-20 13:43:54 +09:00
Dmitry Sharshakov c5492788a2 compat: remove seq from Response and Event 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov cc650c7f4f types: capitalize ID in names
Part of LLDB integration
2021-08-20 13:43:54 +09:00
Dmitry Sharshakov b3be6b269a dap-basic: parse stop event 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 0777948fc0 dap-basic: better output formatting 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 09390be6a5 dap-basic: handle output events 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov c72475bc30 client: handle events multiple times 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov d6de5408b7 dispatch events in client 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 59d6b92e5b refactor response processing 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 9678df1c62 refactor server message handling 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 541f7a0514 Add attach command 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov aac586b546 types: simplify working with client's launch args 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 6bb653f820 dap: move launch request argumets outside of client 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 3d64cf8356 fix: move adapter_id out of DAP client 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov fabee03983 dap: support TCP clients 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 26a55dcefd dap: make transport IO-agnostic 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov e11b67b0db dap: add missing fields to structs 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 0fa127b105 dap: support getting scopes and variables 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 7d2d4ed4a8 dap: implement threads request 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 5f3e806341 dap-basic: pretty-print results 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 5fd0a2ddda format 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov fd709bc56d dap: logging using fern 2021-08-20 13:43:54 +09:00
Dmitry Sharshakov 0f6e81b85b Initial debug adapter protocol implementation 2021-08-20 13:43:54 +09:00