Ben Jackson
2cfd5afacb
Add first-pass testing framework based on vim's runtest.vim
2019-02-17 19:36:21 +00:00
Ben Jackson
3092c06cd7
Rudimentary support for listing breakpoints using the quickfix window
2019-02-12 22:41:10 +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
Ben Jackson
3a898edd34
Untested: properly expand lists of dictionaries
2018-12-19 00:44:50 +00:00
Ben Jackson
87db1e3478
Properly responsd to server reverse-request
2018-12-19 00:44:33 +00:00
Ben Jackson
73fe403a19
Per the spec, write the data as json the consoles
2018-12-16 19:15:13 +00:00
Ben Jackson
912cd047b1
Fix flake8 errors
2018-12-16 19:14:44 +00:00
Ben Jackson
83ecbe1aed
Improve cleanup by forcefully closing the tab. This could leave unsaved buffers hidden, but it's not easy to know what better to do. Mainly issues happen due to our own buffers being marked as modified for some rason. TODO: fix that instead
2018-12-16 19:14:26 +00:00
Ben Jackson
62e9335a10
Support runInTerminal (sort of)
2018-12-16 19:13:10 +00:00
Ben Jackson
3416070b95
Remove debug
2018-06-10 23:56:05 +01:00
Ben Jackson
08eed4ff15
Update the test/example config file with vars
2018-06-10 23:35:33 +01:00
Ben Jackson
79b25c0860
Allow for variable expansion in configuration
...
We expand environment variables, ~ and workspaceRoot. The latter is to
match vscode and typical launch configs. As we don't know what the
workspeace root might be, we use the location of the .vimspector.json.
2018-06-10 23:31:20 +01:00
Ben Jackson
3f9bc6f921
Re-add user-requested-breakpoints when resetting
...
This adds the markers back to any buffers that were open beforehand and
used to request line breakpoints.
2018-06-10 18:34:37 +01:00
Ben Jackson
b72bc7dfbf
Use prompt buffer for Console
...
Like VSCode does, compbine console and stdout, and allow you to enter
commands in the console. It's all a bit janky right now and the
insertion point isn't ideal (as not all output is interactive) and some
output is asynchronous via a somewhat different channel.
2018-06-10 18:32:16 +01:00
Ben Jackson
6d709d551c
Use a prompt that matches the buffer output, so that it is more obvious
2018-06-10 00:06:18 +01:00
Ben Jackson
920db068c6
Use a prompt buffer for adding watches
...
This very new feature makes it kind of nice to add new watches in the
place where they will appear, keeping the eye in the same screen
location.
2018-06-09 22:33:22 +01:00
Ben Jackson
b9ceb5e8ec
Fix the restart button. You can't choose another configuration, but that appears impossible
2018-06-05 23:13:39 +01:00