Commit graph

1,083 commits

Author SHA1 Message Date
Ben Jackson
2f05a7f66a WIP: Make multi-session debugging sort of work
This passes the session id around everywhere and ensures that things
like buffer names are all unique.

We now have the _vimspector_session update to point to the active (or
last accessed tab). This feels fairly natural and mostly seems to work.

NOTE: in vscode there is no "multiple tabs" - they actually add the
subprocesses to the stack trace somehow and when you click on a frame in
that it switches to the session for that process. Each process PC is
visible in the editor. It's kind of confusing.

Things still broken:
 - vimspector_session_windows
 - breakpoints need to be project-wide
 - PC display (how to show "all" PCs, or just show the current one for
   the current tab ?)
 - it would be nice for the tterminal buffers to be visible on all tabs.
   not sure how to do that.
2021-03-31 21:55:33 +01:00
Ben Jackson
0cdab6be4e React to the debugpyAttach event and try and start a new session; this gets tripped up by the _vimspector.Variables (etc) buffers already existing. Probably need to add the sesssion ID to the buffer name 2021-03-25 22:08:31 +00:00
Ben Jackson
099431ba55 Start to create session manager
Kind of works, but there's still a single global _vimspector_session
2021-03-24 21:42:15 +00:00
Ben Jackson
fb2bad216f Add a session ID to debug_session - vim only for now 2021-03-24 20:15:34 +00:00
Ben Jackson
054ea35428 Add a way to test with dlv directly. Currrently not ready for the big time 676493977 2021-03-22 15:13:58 +00:00
Ben Jackson
244d7d8fdf Add the reference material to the vim doc too 676408626 2021-03-22 14:45:21 +00:00
Ben Jackson
35e5b3d56e Add vim doc based on README 671139511
Use the following to recrate the doc:

* clone https://github.com/ycm-core/vim-tools
* create a venv and pip install the requierments
* cd to vimspector dir
* /path/to/vim-tools/html2vimdoc.py -f vimspector README.md > doc/vimspector.txt
2021-03-20 15:56:41 +00:00
Ben Jackson
842d9fbc2d Config for pyright language server 2021-03-20 15:56:41 +00:00
mergify[bot]
6a24a17f2e
Merge pull request #371 from aqez/master 669541475
Update netcoredbg to 1.2.0-738 to support async/await
2021-03-19 23:33:58 +00:00
Ben Jackson
91e0426e88
Merge branch 'master' into master 2021-03-19 23:20:41 +00:00
mergify[bot]
bf24b37190
Merge pull request #372 from puremourning/hot-code-replace 669507245
Hot code replace for java
2021-03-19 23:15:34 +00:00
Ben Jackson
2d589475eb
Merge branch 'master' into master 2021-03-19 23:05:19 +00:00
Ben Jackson
1414f261a1 Documentation for hot code replace 2021-03-19 22:59:27 +00:00
Ben Jackson
a39017dd06 Fix actually sending terminateDebugee, and fix neovim 1-based index reporting 2021-03-19 18:43:45 +00:00
Ben Jackson
c05335c799 Make default option work for terminate debugee 2021-03-19 17:51:59 +00:00
Ben Jackson
efc5c76866 Fix lints 2021-03-19 17:51:59 +00:00
Ben Jackson
154e727b96 Make confirm dialog take arbitrary keys
Confirm now takes the list of options, list of keys to select them and
the default value. Returned values are always a 1-based index into the
list (like SelectFromList) or -1 to mean esc/ctrl-c.

This uses a nice popup dialog in vim and a crappy input on neovim.
2021-03-19 17:51:59 +00:00
Ben Jackson
6b74e584d5 Create a messagebox-like interface in vim 2021-03-19 17:51:59 +00:00
Ben Jackson
85bb8594ab Allow forcing selection from the menu with <leader>F5 2021-03-19 17:51:59 +00:00
Ben Jackson
63fd3165fb Use popup for confirmations (note these have to be async) 2021-03-19 17:51:59 +00:00
Ben Jackson
afb912dd08 Print hotcodereplace messages 2021-03-19 17:51:59 +00:00
Ben Jackson
b92a89f0d4 Add a way to have adapter specific message handlers 2021-03-19 17:51:59 +00:00
Ben Jackson
6f88b400e1 Only disable mappings in the keyboard-version of the popup 664741134 2021-03-18 13:51:32 +00:00
mergify[bot]
af2670ef9a
Merge pull request #373 from puremourning/fix-calculus 647605559
Fix default variable values having substitutions from the calculus
2021-03-12 22:22:51 +00:00
mergify[bot]
2b24611036
Merge branch 'master' into fix-calculus 2021-03-12 22:08:52 +00:00
mergify[bot]
d84ebdd0ee
Merge pull request #375 from puremourning/up-down-stack 647574861
Add commands to navigate up/down the stack in focussed thread.
2021-03-12 22:08:46 +00:00
Ben Jackson
6b67d165b9 Update docs for new mappings 2021-03-12 21:50:37 +00:00
Ben Jackson
a53d68f043 Add up and down frame mappings 2021-03-12 21:27:56 +00:00
Ben Jackson
6d3f3e207b Fix default variable values having substitutions from the calculus 2021-03-12 20:15:45 +00:00
mergify[bot]
5716bbefa9
Merge pull request #369 from puremourning/narrow-mode 644216929
Narrow UI mode
2021-03-11 21:38:40 +00:00
Ben Jackson
2615cff97a If there isn't enough vertical space, we get vim errors (not enough room), so don't do that 2021-03-11 21:14:30 +00:00
Ben Jackson
01ea50cb70 use --clean for minimal vimrc 2021-03-11 21:13:58 +00:00
Ben Jackson
7d2770f3c4 Add vertical (i.e. narrow) layout
This puts the 3 utility windows at the top, horizontally split, with the
code view below.  The terminal window is drawn either vertically split
(if there's room) or horizontally split otherwise.  The output window
remains at tht bottom.

We add equivalent sizing options too, setting some defauts that roughly
work on my macbook pro.

We try to guess the best layout to use. In particular we go into
'narrow' mode if there are not enough horizonal columns to fit the
sidebar, code and at least the minimum terminal size. We also try to
move the terminal to be horizontally spit (i.e. vertically stacked) if
we can fit the max number of lines, but only the min number of columns.

This is all a little heuristic, but when testing it myself, it feels
good and tends to pick a good option by default. Users can always
customise the ui mode (g:vimspector_ui_mode and all the various specific
width options)
2021-03-10 23:44:45 +00:00
Tony Dwire
2a635294d0 Fix wrong version number for macos version. 2021-03-09 20:11:58 -06:00
Tony Dwire
38c843219e Updated file name for netcoredbg to reflect new filename. Overrode
version for macos since there is no new build for it yet.
2021-03-09 19:55:38 -06:00
Tony Dwire
c012f9520e Updated netcoredbg to 1.2.0-738 2021-03-09 19:45:27 -06:00
Ben Jackson
943ae6c7c9 Fix error when nothing to expand 625411291 2021-03-05 19:05:42 +00:00
Ben Jackson
82db32780b Add example of ssh to remote host 621140033 2021-03-04 13:28:04 +00:00
mergify[bot]
4cb4b814a1
Merge pull request #366 from puremourning/fix-stop 613865461
Fix crash using Stop function
2021-03-02 11:28:07 +00:00
Ben Jackson
d2b92b7ce5 Fix crash using STop function 2021-03-02 11:12:01 +00:00
Ben Jackson
5bd83d3e37 Add debugging instruction 606299429 2021-02-27 21:02:21 +00:00
mergify[bot]
f6517892c1
Merge pull request #357 from puremourning/set-variable-value
Set variable value
2021-02-25 22:39:45 +00:00
Ben Jackson
edcb057ead Add <leader><CR> to docs 2021-02-25 22:23:30 +00:00
Ben Jackson
06f9bfc057 Add basic tests for set variable value 2021-02-25 22:15:09 +00:00
Ben Jackson
804b499286 Allow setting the value via the api 2021-02-25 22:15:09 +00:00
Ben Jackson
49a9a4b367 Allow mappings which aren't special chars 2021-02-25 22:15:09 +00:00
Ben Jackson
f2d407256e Use expression completion for watch and set 2021-02-25 22:15:09 +00:00
Ben Jackson
94242fa532 CustomUI: Make buffers non-modifiable when opened for debugging 2021-02-25 22:15:09 +00:00
Ben Jackson
ba83a59e88 TEst overriding the mappings 2021-02-25 22:15:09 +00:00
Ben Jackson
675a68c601 Make it work in neovim too 2021-02-25 22:15:09 +00:00