Commit graph

427 commits

Author SHA1 Message Date
Ben Jackson
131cfcdd33 Don't try and set a value if not supported 2021-02-25 22:15:09 +00:00
Ben Jackson
c2082cffae Support setting from the balloon 2021-02-25 22:15:09 +00:00
Ben Jackson
9e1a1ab4b5 Report failures 2021-02-25 22:15:09 +00:00
Ben Jackson
32f9a6ec43 Use silent for winbar menus 2021-02-25 22:15:09 +00:00
Ben Jackson
d8d6eb2286 Add ability to set a variable value
This works only for things which have known variablesReference, so
particularly currently only for scopes and theoretically for members.

I think this can work for watches too. will need to check.
2021-02-25 22:15:09 +00:00
Ben Jackson
f40ac5db23 Delay launching the python interpreter until needed 2021-02-25 21:24:40 +00:00
mergify[bot]
fdfa8b265b
Merge branch 'master' into terminate-debugee 2021-02-24 18:14:04 +00:00
Ben Jackson
d8eb6a0463 Only prompt in 'interactive' contexts to avoid annoying questions 2021-02-24 18:00:08 +00:00
Ben Jackson
09efcf5e50 hide the controvertial telemetry data; it's not like anyone will ever look at it 2021-02-24 16:49:56 +00:00
Ben Jackson
5201995279 Ask the user about terminating the debuggee
CodeLLDB seems to actually support the terminateDebugee flag, so rather
than just forcefully killing things, ask the user if they want to.
2021-02-24 16:49:03 +00:00
Ben Jackson
0810d7154c Fix syntax occasionally not working in popup, and custom vimrc crashing in neovim 2021-02-23 09:03:45 +00:00
przepompownia
3c54cd268f Send VimspectorDebugEnded event 2021-02-21 19:17:09 +00:00
przepompownia
bcf4120ba4 Do not send event after leave buffer. 2021-02-21 19:17:09 +00:00
__
50dc55e0e8 Fix errors reported by flake8 2021-02-21 19:17:09 +00:00
__
716181e056 fixup! Send an event before leave buffer in window 2021-02-21 19:17:09 +00:00
__
840ee09242 Send an event before leave buffer in window 2021-02-21 19:17:09 +00:00
__
d81bdf30ef Emit User VimspectorFrameWasSet event 2021-02-21 19:17:09 +00:00
Ben Jackson
4958de92d3 Fix flake8 error 2021-02-21 18:05:59 +00:00
Ben Jackson
cc84e15932 Tidy up, refactor and fix some bugs 2021-02-21 17:01:41 +00:00
dsych
7dcb15f11c cleaning up 2021-02-21 17:01:41 +00:00
dsych
44711899cb moving stuff around 2021-02-21 17:01:41 +00:00
dsych
0313efa06f removing redundant check for array bounds 2021-02-21 17:01:41 +00:00
dsych
51d551fe52 replacing function calls with plug command 2021-02-21 17:01:41 +00:00
dsych
ae137ecdd0 removing old balloon code 2021-02-21 17:01:41 +00:00
dsych
e0b0a7f3d2 recording popup win id on the failed evaluation 2021-02-21 17:01:41 +00:00
dsych
789377eab4 adding the first test! 2021-02-21 17:01:41 +00:00
Ben Jackson
e5e13ffcdd Fix typo: Baloon -> Balloon 2021-02-21 17:01:41 +00:00
Ben Jackson
672ac78fef Fix flaky syntax highlighting toggling on/off 2021-02-21 17:01:41 +00:00
Ben Jackson
f3c39e12ab FixUp: Display in watch window, and indent in popup 2021-02-21 17:01:41 +00:00
Ben Jackson
0b4da4c82b Remove more text from the hover popup 2021-02-21 17:01:41 +00:00
Ben Jackson
64e38b57ab Fix crash; enable syntax highlighting in hover popup; use a Watch for the popup and re-use existing drawing code 2021-02-21 17:01:41 +00:00
dsych
e0b1d6ed81 fixing linting errors in python files 2021-02-21 17:01:41 +00:00
dsych
3c857cebf4 dynamically adjusting window size for nvim's floating window based on the buffer size 2021-02-21 17:01:41 +00:00
dsych
2f1c93a2ac only diplaying relevant info like name and value for nested types and value only for simple types 2021-02-21 17:01:41 +00:00
dsych
b9ed7f34b4 removing redundant name for simple types, shortening variable type to 20 char and variable value to 100 chars to avoid overflowing tooltip window if the wrapped line is longer than the max size of the tooltip 2021-02-21 17:01:41 +00:00
dsych
04a5e889f9 making sure that float window is not modifiable inside nvim 2021-02-21 17:01:41 +00:00
dsych
f60b259dbc adding type information for simple types 2021-02-21 17:01:41 +00:00
dsych
d2990d7bae making sure to open popup relative to cursor 2021-02-21 17:01:41 +00:00
dsych
819d6366ac fully implemented the hover function for vim 2021-02-21 17:01:38 +00:00
dsych
4e994968ff added popup support for vim, still need to figure out how to expand variables 2021-02-21 17:00:47 +00:00
dsych
7432be9532 implemented dynamic float windows for nvim 2021-02-21 17:00:47 +00:00
dsych
07858cc250 adding on the fly eval of inside a floating window 2021-02-21 17:00:47 +00:00
dsych
4c0ba92ac6 working on variables view 2021-02-21 17:00:47 +00:00
dsych
7c4eef9096 finally got float window working with variable evaluation 2021-02-21 17:00:47 +00:00
Mark Wu
0cc4322b18 Update vscode-php-debug to 1.14.9, it works for both Xdebug 2/3 2021-02-10 20:01:18 +08:00
Ben Jackson
7f77842ab8 Make sure that tests fail properly; ensure that empty string is a valid default 2021-02-06 22:08:08 +00:00
Ben Jackson
30eec0d93c Fix variable substitution for multiple defaulted vars
The problem was that the python regex engine is strictly left-to-right,
so matching `[^}]|\\}` against \\}} meant that the `\\` was consumed by
the left of the `|`. The solution is to just switch them around.

Also add a way to run python tests from within vim, so we can actually
test this stuff.
2021-02-06 20:55:24 +00:00
Ben Jackson
205eb7cdb3
Merge branch 'master' into master 2021-01-09 10:33:38 +00:00
Ben Jackson
d52eb3a6e9 Fix thread state and PC for starting node app
The problem is the sequence of events sent by the debug adapter.
Vimspector requests threads:

* When the initialisation exchange completes (requests all threads)
* Whenever a thread event is received
* whenever a stopped event is received.

If any of those happens while any other request is in progress, we cache
the request and handle it later. The latest request is processed when
the response to the outstanding request is received.

The problem is if the event is a stopped event, it is the handling of
the threads request that actually sets the thread state internally to
stopped. In a sequence where the first event is a stopped event, we end
up discarding the stopped event. like:

1. Stopped event (thread 1 = stopped) (request threads)
2. Initialisation complete (cache request)
3. threads response received (discard response and process cached request)
4. response received (but forgotten about the stopped event).

The solution is to always process the thread response, even if we send
the cached request. To avoid flicker, we don't draw the screen, or
expand any threads/stacks in the case where we're sending a cached
request.
2021-01-08 11:35:01 +00:00
Ben Jackson
38ed75dda7
Merge branch 'master' into master 2021-01-06 09:56:40 +00:00