Commit graph

286 commits

Author SHA1 Message Date
Ben Jackson
80afb153b9 FixUp: Closing the output window causes errors on output 2020-07-18 13:21:17 +01:00
Ben Jackson
f8cbb7c5b6 Add options to control window sizes
This adds the following options, allowing the default sizes to be
overridden:

- g:vimspector_sidebar_width: Controls the width of the left utility
  windows (variables, watches, stack trace)
- g:vimspector_bottombar_height: Controls the height of the output
  window below the code window

The terminal is typically created as a vertical split of the code
window.  The following control the sizing of the terminal window used
for debuggee input/output when using Vim's built-in terminal.

- g:vimspector_code_minwidth: Minimum number of columns to try and
  maintain for the code window.
- g:vimspector_terminal_maxwidth: Maximum number of columns to use for
  th terminal, when vertically splitting the code window.
- g:vimspector_terminal_minwidth: Minimum number of columns to use when
  it is not possible to fit g:vimspector_terminal_maxwidth columns next
  to the code window with g:vimspector_code_minwidth columns.
2020-07-17 16:52:41 +01:00
Ben Jackson
7a9f75a06e Don't change the value of equalalways
We were trying to avoid equalalways from changing the UI layout by
unsetting it and resetting it after changes. However, re-setting
equalalways actually resizes all the windows, so this never worked.

Instead we judiciously use rightbelow, leftabove, etc. and specify the
exact window sizes we want.

As a side-effect we make the terminal sizing a little more pleasant by
default, ensuring that it is no wider than 80 chars, and tries to use
any remianing vertical space after reserving 80 chars for the code
window.
2020-07-16 16:05:04 +01:00
Ben Jackson
9df680089b Allow default configuraiton to be specified; document selection 2020-07-16 08:33:49 +01:00
Ben Jackson
3beb25f949 Raise an autocommand for the terminal too 2020-07-16 08:33:49 +01:00
Ben Jackson
727214c599 Add a bunch of tests for the ui customisation 2020-07-16 08:33:49 +01:00
Ben Jackson
2c5937c2c1 Support basic UI customisation via a User autocommand 2020-07-16 08:33:49 +01:00
Ben Jackson
de2a924c38 use simpler UI setup commands 2020-07-16 08:33:49 +01:00
Ben Jackson
c6e8e8038f Remove hard-coded terminal width which doesn't work on smaller width screens 2020-07-16 08:14:54 +01:00
Ben Jackson
a4f3fd9c5e Disable relativenumber in utility windows; disable textwidth in neovim too 2020-07-16 08:13:27 +01:00
Ben Jackson
2440a987b2 Tidy unknwon types and values 2020-07-16 08:10:49 +01:00
Ben Jackson
434a6f41d4 Only expand one cheap scope by default - don't keep others expanded from previous frames 2020-07-16 08:10:23 +01:00
Ben Jackson
fc7725fefb Only expand one inexpensive scope; codeLLDB lies about how expensive things are 2020-07-16 08:10:04 +01:00
Ben Jackson
0938d72a8c Re-use a window if we can, as it's more efficient; don't wipe out the generated code buffers in case the code window gets used for temporary buffer switch 2020-07-16 08:09:53 +01:00
Ben Jackson
8d2ea44cb9 Make Restart and Stop work properly (and together) 2020-07-16 08:09:13 +01:00
Wayne Bowie
f81cc126c3 Format fix 2020-07-14 14:04:31 -05:00
Wayne Bowie
f9f0d5a83e No longer throws a KeyError when checking for non expensive scope 2020-07-14 12:23:09 -05:00
Ben Jackson
0de023e3c4 Re-raise errors that aren't expectd 2020-07-11 14:42:35 +01:00
Ben Jackson
7c943c2ed7 Fix the terminal window to 80 columns 2020-07-11 14:08:45 +01:00
Ben Jackson
036c9b9605 Fix neovim not having the same classes as vim 2020-07-11 14:08:29 +01:00
Ben Jackson
193196cc03 Allow users to close the code window and not crash 2020-07-11 14:08:12 +01:00
Ben Jackson
b0d41eb347 Scratch buffer still makes sense for the code window buffer where we ask for it from the sevrer 2020-07-11 11:53:39 +01:00
Ben Jackson
cb39e2b511 Allow closing of the UI windows; check valid flags and set buffers to be hidden. delete them on Reset 2020-07-11 11:44:15 +01:00
Ben Jackson
5ce4147361 Manipulate buffers for variables, watches and stack trace 2020-07-11 10:13:45 +01:00
Ben Jackson
6cfc313234 Do a better job of tidying up on test failure; note: We can still receive data callbacks after _OnExit, so just ignore that data 2020-07-10 22:49:30 +01:00
Ben Jackson
8e286be6ee Fix shutting down jobs when resetting - use the correct category for CleanUpCommand 2020-07-09 21:18:27 +01:00
Ben Jackson
9f6caadc40 Pre-calculate the gadgetDir, as this is likely used every time 2020-07-09 18:57:28 +01:00
Ben Jackson
81712b124f Fix traceback when (sometimes?) using the watch window 2020-07-09 13:08:15 +01:00
Ben Jackson
044804ca20 Calculate variables on-demand; add an unused-local-port variable-function 2020-07-09 13:07:38 +01:00
Ben Jackson
50b8b0103c Fix sequence of scopes/vars to match the server 2020-07-08 16:13:15 +01:00
Ben Jackson
e24d0a4659 Simplify extracting the result from a WatchResult 2020-07-08 11:45:20 +01:00
Ben Jackson
8143992345 Restore spacing (don't waste a whole column); re-use one of the indent columns for the marker 2020-07-08 11:37:24 +01:00
Ben Jackson
c43f16e288 FixUp: remove elements in reverse order to avoid invalidating indices 2020-07-07 22:45:12 +01:00
Ben Jackson
4b7fc83ce3 Add a marker when a variable value changes 2020-07-07 22:44:47 +01:00
Ben Jackson
39212f4ffc Add some type hints (requires python 3.6) and update flake8 2020-07-07 22:18:43 +01:00
Ben Jackson
2117a0515d Remove hacky use of dicts and magic keys for variables 2020-07-07 20:22:01 +01:00
Ben Jackson
99faf76dcc Fix traceback when a request is rejected 2020-07-06 10:38:53 +01:00
Ben Jackson
7705d6020c Fix traceback in neovim: vim.vars returns str 2020-05-24 13:17:36 +01:00
Aaron Walker
ae2ba01c5b lint 2020-05-21 23:43:37 -04:00
Aaron Walker
3d113eaec4 comments 2020-05-21 23:43:37 -04:00
Aaron Walker
cd1b304d30 relint 2020-05-21 23:43:37 -04:00
Aaron Walker
5e64b07e8d flake and update docker exec command 2020-05-21 23:43:37 -04:00
Aaron Walker
62b3070c50 lint 2020-05-21 23:43:37 -04:00
Aaron Walker
c9b1456759 add docker exec as an attach command 2020-05-21 23:43:37 -04:00
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
6a1c9a6b52 Enable embedded vim python debugging
This allows us to use vimspector to debug vimspector. The idea is that
in Vim you call 'py3 from vimspector.developer import SetUpDebugpy;
SetUpDebugpy()' and then just attach to localhost:5678 using the new
multi-session mode support. Oof.
2020-05-17 19:17:09 +01:00
Ben Jackson
dd13c7d543 Move directories if they cannot be deleted 2020-05-16 22:55:01 +01:00
Ben Jackson
ae0ba29d5e
Merge branch 'master' into basedir 2020-05-12 19:48:46 +01:00
Ben Jackson
5837135fee Allow moving the gadget/configuration dirs to arbitrary location 2020-05-12 19:39:32 +01:00
Ben Jackson
c103e2adf5 Make sure we can still request threads if one threads request fails 2020-05-12 19:30:00 +01:00