Commit graph

136 commits

Author SHA1 Message Date
Ben Jackson
88bac786ba Merge branch 'breakpoints-list' into remote-bp 2019-03-30 10:13:26 +00:00
Ben Jackson
cc7af4b1a4 Make sure that single commands still work 2019-03-01 13:26:05 +00:00
Ben Jackson
9e1cd10c99 When restarting, make sure that we have some configuraiton 2019-03-01 13:25:52 +00:00
Ben Jackson
629d6bf612 Allow variables to come from shell commands 2019-03-01 13:25:36 +00:00
Ben Jackson
174923cbc8 Rudimentary support for exception breakpoint options 2019-03-01 13:25:15 +00:00
Ben Jackson
541686712c Use a list comprehension and try and catch some nasites 2019-02-26 15:24:07 +00:00
Ben Jackson
01c0dca3ad Fix signs 2019-02-24 19:41:49 +00:00
Ben Jackson
8528d80510 Fix breakpoints 2019-02-24 19:41:41 +00:00
Ben Jackson
14f6814ff1 Improve gadget installation; add system wide adapter config 2019-02-24 19:41:20 +00:00
Ben Jackson
e216bc291d Respect (some) server capabilities 2019-02-21 16:14:05 +00:00
Ben Jackson
75851e0652 Move the vimscript into vimscript; it's so much easier. Support multiple commands and jobs 2019-02-21 16:12:58 +00:00
Ben Jackson
2cfd5afacb Add first-pass testing framework based on vim's runtest.vim 2019-02-17 19:36:21 +00:00
Ben Jackson
c684fa0cbb Fix balloons in the GUI 2019-02-15 13:19:13 +00:00
Ben Jackson
3092c06cd7 Rudimentary support for listing breakpoints using the quickfix window 2019-02-12 22:41:10 +00:00
Ben Jackson
09850702cf Print a message if we fail to get a PID 2019-02-12 12:34:17 +00:00
Ben Jackson
305309dcb1 WIP: Don't send many outstanding threads requests 2019-02-12 12:33:40 +00:00
Ben Jackson
ba456e863d Replace the log file each time, as this makes debugging easiser 2019-02-12 09:06:13 +00:00
Ben Jackson
215af1316a Fix runInTerminal when the cwd supplied is (heinously) empty 2019-02-12 09:05:47 +00:00
Ben Jackson
0b40c3e04a Sort the list of configs so they appear consistently to the user 2019-02-12 09:05:19 +00:00
Ben Jackson
bb3909c16f Improve output view; use jobs to display logs and remote commands 2019-02-12 09:04:52 +00:00
Ben Jackson
e006b15100 More improvements to startup and closedown stability. Remove some hack code 2019-02-12 09:01:09 +00:00
Ben Jackson
765a9e4a98 Don't bother with the disconnect on VimLeave. It causes more problems than it solves. Just let vim kill the job 2019-02-04 15:15:53 +00:00
Ben Jackson
df04256cee FixUp: Merge error with launch variables 2019-02-04 15:05:16 +00:00
Ben Jackson
85d2f10f32 Only load threads after _both_ init and launch. Maybe this is the magic that works for all servers 2019-02-04 15:05:00 +00:00
Ben Jackson
463f7a8220 Mark unread output with *; Show vimspector log in output view 2019-02-04 15:04:21 +00:00
Ben Jackson
1ca88ad332 WIP: Support remote startup commands, e.g. gdbserver 2019-02-02 15:49:41 +00:00
Ben Jackson
aed3f459a6 Support variables set in the vimspector.json 2019-02-02 15:49:40 +00:00
Ben Jackson
32e16d9daf WIP: Try and remember that the server quit 2019-02-02 15:49:22 +00:00
Ben Jackson
7a91518542 Improve error reporting 2019-02-02 14:54:49 +00:00
Ben Jackson
728cd2b9c3 Go back to launching after initialize as this is required by some servers. The spec is a little unclear on what the correct behaviour is, but this seems to work with microsoft's own debug adapters 2019-02-02 10:49:00 +00:00
Ben Jackson
1905556edd Allow mappings to specify variables 2019-02-02 10:49:00 +00:00
Ben Jackson
f210d5d150 Print failures to the UI 2019-02-02 10:44:18 +00:00
Ben Jackson
e9d9a8ac42 Don't print raw output anymore 2019-02-02 10:43:12 +00:00
Ben Jackson
ed382a9f90 There is no reason for terminated event 2019-02-01 10:05:59 +00:00
Ben Jackson
82605c80cc Allow Continue to restart if the process isn't running 2019-02-01 10:05:59 +00:00
Ben Jackson
f1859639d7 Alow env and cwd to be specified for the _adapter_ 2019-02-01 10:05:59 +00:00
Ben Jackson
c44e0970a4 Clear PC when resetting 2019-02-01 10:05:58 +00:00
Ben Jackson
dff7f6ad73 Remove annoying debug output 2019-02-01 10:05:58 +00:00
Ben Jackson
b30a9fc870 Per the updated protocol descritpion, delay sending Launch/Attach until we have ConfigurationDone 2019-01-12 15:14:06 +00:00
Ben Jackson
4539ad327f Remove pointless assignment 2019-01-12 15:14:06 +00:00
Ben Jackson
e573c2fd9f Print server stderr to the GUI 2019-01-12 15:14:06 +00:00
Ben Jackson
66d525d298 Add ability to inject arbitrary variables 2019-01-05 10:38:44 +00:00
Ben Jackson
cbff48c959 Work around vim bugs in appending to buffers 2018-12-20 16:55:28 +00:00
Ben Jackson
0cfe1ec99b Work around cppdbg spamming mono errors to stdout 2018-12-20 16:55:14 +00:00
Ben Jackson
ea1962e11b Use a short timeout for closedown 2018-12-20 16:54:55 +00:00
Ben Jackson
af338669f3 Add timeout for requests. 2018-12-20 15:10:24 +00:00
Ben Jackson
361458534c Fix re-use of name result 2018-12-20 15:10:03 +00:00
Ben Jackson
673de95283 Updates for latest Python debug adapter
They moved the location of the main application.

But also:

- ignore multiple responses for the same request
- ignore protocol violations for variablesReference (assume 0)
- ignore protocol violations for missing 'name' (assume basename of
path)
2018-12-20 13:42:58 +00:00
Ben Jackson
14603ae72f Support java debugging
The java architecture is a little different:

- the debugger is a jdt.ls extension bundle.
- to start the server, you send a startDebugSession command to jdt.ls
- this returns a tcl port to connect to for DAP

Loading of jdt.ls and the extension are out of scope for vimspector
currently and instead you can tell it to ask you for a port to connect
to.

After connexting to that port, vimspector works as normal.

To support TCP/IP was pretty simple: we provide the same API from
vimscript as the job-based (stdin/out) comms layer, but instead just
directly use a channel.

The only wrinkle was that the java debug adapter broke the protocol on
runInTerminal and didn't return a 'cwd', so we make one up.
2018-12-20 00:29:45 +00:00
Ben Jackson
256579c4d8 Imrpove console evaluation somewhat. Fix restart bug not resetting connection in the console view 2018-12-19 01:33:21 +00:00