Commit graph

23 commits

Author SHA1 Message Date
Ben Jackson
8c4112cd1f breakpoints list: fix listing while debugging
Also, open the quickfix list when listing breakpoints, and add a test
2020-05-17 21:40:51 +01:00
Ben Jackson
7a70519b03 Add basic support for conditional breakpoints
This is the minimal required for a user to use conditional breakpoint -
we add an options dict to each breakpoint (line and function) and allow
the condition to be supplied. We add a plug mapping and a default
shortcut (<leader><F9>) to add one where we ask the user to enter the
condition and hit expression. This isn't great but it works.

We don't check the capabilities, so they would just be ignored if used
on a server that doesn't support them. We also ask for a hit expression
which most users won't understand so this isn't ideal either.

No tests yet.
2020-04-25 19:57:42 +01:00
Ben Jackson
de04598bc6 Clear exception breakpoints when calling ClearBreakpoints 2020-03-09 21:31:14 +00:00
Ben Jackson
a56bee7b0a Switch to debugpy over vscode-python
This is just better in every way, and the vscode-python typescript
adapter is being phased out.
2020-02-08 21:15:27 +00:00
Ben Jackson
b8d2b548d8 Add customisation of signs 2020-01-26 23:02:26 +00:00
Ben Jackson
8bb7017a49 Handle failed breakpoint messages 2020-01-10 09:28:02 +00:00
Ben Jackson
7d046574cb Add tests for toggling breakpoint and inserting line 2019-12-14 18:03:34 +00:00
Ben Jackson
16c3b65cae If signs are moved by user actions, use the current lnum of the sign for the breakpoint. 2019-12-14 15:51:04 +00:00
Ben Jackson
5586d9e694 Allow setting exception breakpoints in debug config 2019-11-05 18:35:36 +00:00
Ben Jackson
a04dfcb4db Update vscode-python and document the startup sequence, which is clearly broken in vscode-python 2019-10-13 18:40:31 +01:00
Ben Jackson
b64946e34c Remember user choices
There are 2 things we ask for input for:

- input variables
- exception breakpoints

It's irritating to have to repeat yourself when going through the
edit/debug loop.

Howver, cacheing has some quirks and disadvantages - they key one being
when to clear the cache. To resolve this we take two slightly different
approaches:

1. For input variables, we remember the choice of the user, but present
that only as the default, so they can just hit enter to accept it. We
already rememeber the choices for the length of the debug session (i.e.
across 'restart' calls).

2. For exception breakpoints, we remember the choices for as long as the
current session is running.

This allows users to hit the 'restart' button without being prompted at
all.

Meanwhile, we also remove the (broken) support for exception breakpoint
matchers and state the server default for exception breakpoint filters.
2019-10-05 22:20:33 +01:00
Ben Jackson
553eb3cc98 Appease flake8 2019-07-31 19:19:14 +01:00
Ben Jackson
b6a2e3df9e Delay configurationDone until we have received _responses_ to the breakpoint requests, as go server seems to require this 2019-07-31 19:02:09 +01:00
Ben Jackson
1e54e457d4 Finally fix breakpoint bugs 2019-07-27 10:57:50 +01:00
Ben Jackson
9fc0a16912 Tidy up clearing breakpoints 2019-07-27 10:57:50 +01:00
Ben Jackson
a7f5b46e00 Add some debug to breakpoints 2019-07-27 10:57:50 +01:00
Ben Jackson
942e04ef4d Update the UI when the connection dies 2019-07-27 10:57:50 +01:00
Ben Jackson
470c64603a Add ClearBreakpoints API
Add a test which actually triggers the mappings and fires up vimspector
with the cpptools debugger.
2019-04-28 10:51:15 +01:00
Ben Jackson
4f31c95aa4 Fix flake8 errors 2019-04-27 14:21:26 +01:00
Ben Jackson
67f7402581 Fix flake8 errors 2019-04-02 16:26:52 +01:00
Ben Jackson
88bac786ba Merge branch 'breakpoints-list' into remote-bp 2019-03-30 10:13:26 +00:00
Ben Jackson
8528d80510 Fix breakpoints 2019-02-24 19:41:41 +00:00
Ben Jackson
2cfd5afacb Add first-pass testing framework based on vim's runtest.vim 2019-02-17 19:36:21 +00:00