Commit graph

293 commits

Author SHA1 Message Date
Ben Jackson
f945dbcfdd Move gadget config file writing too 2020-07-22 10:48:12 +01:00
Ben Jackson
6b89df173f Remove pointless calls to GetOS() everywhere 2020-07-22 10:48:12 +01:00
Ben Jackson
d3fd0a38f0 Refactor installer fully into installer module 2020-07-22 10:48:12 +01:00
Ben Jackson
e885c95daa Put the cursor at the end of the buffer after evaluations 2020-07-18 18:14:39 +01:00
Ben Jackson
99b582378a Allow ctrl-c to cancel when asked for a variable 2020-07-18 14:39:54 +01:00
Ben Jackson
47ace82364 FixUp: output window should set the global win id 2020-07-18 13:55:00 +01:00
Ben Jackson
3726766694 Documentation for the UI customisation 2020-07-18 13:41:22 +01:00
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