Commit graph

350 commits

Author SHA1 Message Date
Ben Jackson
b36f9e893a Work around neovim WinBar rendering bug 2020-11-19 23:29:13 +00:00
Ben Jackson
47c2cef2a1 Use a tag for tclpro to avoid installing every time 2020-11-16 21:17:36 +00:00
Ben Jackson
cd3b5f5baa Update mono debug; even though it doesn't work 2020-11-16 21:17:22 +00:00
Ben Jackson
5b88837919 Print the correct version for a git tag 2020-11-16 20:14:39 +00:00
Eduardo Mezêncio
85865e0012 Add regression tests for lua support
Change Dockerfile to install lua, luajit and love and also to install
nodejs 12 needed to build the lua debug adapter. Create the
love-headless test in support/test/lua to test love without an x server.
2020-11-16 15:08:55 -03:00
Eduardo Mezêncio
2819e224e7 Add lua support through local-lua-debugger-vscode
Add the lua adapter to gadgets.py and installer.py, update the README.md
file and create basic tests using lua, luajit and love.
2020-11-14 19:34:15 -03:00
mergify[bot]
5ae3d9f336
Merge branch 'master' into codelldb-default 2020-11-09 22:41:50 +00:00
Ben Jackson
2225735b80 Recommend CodeLLDB 2020-11-09 22:23:37 +00:00
Ben Jackson
fb86ef924b Update netcoredbg 2020-11-09 21:57:47 +00:00
Emmanuel Thompson
d5b9411256 Add a GetConfigurations function 2020-11-06 12:05:14 -05:00
Ben Jackson
80985148e7 Add "run to cursor" support
We add a 'temporary' option to line breakpionts and try and clear any
temporary breakpionts on the line we end up stopping on. This might not
be art, but _probably_ works in almost all cases that matter.

it's a bit hacky the way we have to push the reason around, but we don't
know where we stopped until we actually get the stack trace response and
SetCurrentFrame

Move temporary breakpionts to match server response

Also delete any existing ones when adding a new one and add tests for
run-to-cursor.

Only continue after we successfully set the breakpoints. This makes it
work in go
2020-10-23 22:53:04 +01:00
Ben Jackson
0d112d70a0 Add SetLineBreakpoint and ClaerLineBreakpoint APIs
These are useful for running tests (i.e. ensure there's a breakpiont at
the start of the test) and/or other programmatic usages.

They will also be needed for setting temporary breakpionts.
2020-10-17 22:40:08 +01:00
Camilo Schoeningh
ea36b60a07
vscode-go: Update version and use new repository.
As of June 2020, the vscode-go repository has moved to https://github.com/golang/vscode-go.
2020-10-14 21:21:11 +02:00
Ben Jackson
f3c5944dd2 Java: Set cwd by default 2020-10-14 15:26:54 +01:00
Ben Jackson
1b9763a4fc Minor improvements to console usage
Display failures and stop adding random text which makes the (very
useful) CodeLLDB interface look messy
2020-10-10 16:20:55 +01:00
Ben Jackson
16f22b396f Fix breakpoint event
Few problems:
 - we were passing a dict instead of a list of breakpoints
 - if the breakpoint had a source which was {} we crashed
 - we didn't support the 'removed' event
2020-10-10 16:04:46 +01:00
Ben Jackson
bd09206caf While debugging, use the correct path for breakpoints 2020-09-27 22:47:22 +01:00
Ben Jackson
b2f41643f4 Add double-click to expand/collapse 2020-09-27 13:14:09 +01:00
Ben Jackson
b34ccd679d Fix ambiwidth=double again and make sure it doesn't break again 2020-09-25 16:36:19 +01:00
Ben Jackson
069224e28d Allow defaults for variables with multiple underscore characters 2020-09-25 16:36:19 +01:00
Ben Jackson
6fd4724189 Launch remote commands in a termianl
This allows stdin and mans you don't need the output window visible to
see the useful process output when debugging a remote-Launch.
2020-09-25 16:36:19 +01:00
Ben Jackson
2ad1a3e502 Display a different sign when there's a breakpoint on the PC line
Vim only renders a single sign-per-line. If we have the PC _and_ a
breakpoint, we should make that clear. Do this using a vimspectorPCBP
sign which combines both vimspectorPC and vimspectorBP (sort of).

We can't (unfortuantely) render the breakpoint blob in a different
colour, but it's at least obvious when we toggle on the PC line.
2020-09-19 15:18:05 +01:00
Ben.Jackson
4424969028 Fix installation issues on windows - find npm.cmd 2020-09-18 20:59:21 +01:00
Ben Jackson
3aa949431e Upgrade chrome debugger to 4.12.10 2020-09-03 22:11:57 +01:00
Ben Jackson
97bdb0d0cc Show launch failure reason in the splash 2020-09-03 22:09:22 +01:00
Ben Jackson
733843a6d4 Support completion for console and watches.
Add omnifunc for prompt buffers

This synchronous completion can be used with any completion system
including built-in CTRL-X CTRL-O.

The filetype of the prompt buffers is set to VimspectorPrompt so that it
can be identified by completion systems. For example, this works well
with YCM:

let g:ycm_semantic_triggers =  {
  \   'VimspectorPrompt': [ '.', '->', ':', '<' ]
  \ }
2020-09-03 17:48:46 +01:00
Ben Jackson
dffd65f241 Use CursorLine highlihgt to highlight current PC line 2020-09-01 16:31:25 +01:00
Ben Jackson
b2456b587f Centralise the default settings 2020-09-01 16:31:04 +01:00
Ben Jackson
f538102d33 Don't leak buffers when creating output view 2020-09-01 15:40:16 +01:00
Ben Jackson
c1b544fb3c Allow customisation of the signs
Too many plugins use the default priority of 10 so they race/chase.
Allow uses to configure the priorities and make sure that the defaults
are documented.
2020-09-01 13:56:12 +01:00
tamago324
8b488d479d To enable the Windows GUI to display the balloon correctly
Refer https://github.com/vim/vim/issues/1512#issuecomment-492070685
2020-08-29 22:19:46 +09:00
tamago324
9b7540fbf6 Format flake8 2020-08-29 15:22:19 +09:00
tamago324
95fa0c5105 Fix balloon display ... 2020-08-29 15:17:24 +09:00
Ben Jackson
51cc6c4d3a Add VimspectorToggleLog 2020-08-28 14:32:17 +01:00
Ben Jackson
ef94b1bc49 Fix neovim (again) - incompatible exception behabiour
Neovim does not raise:

* KeyError when accessing a vim dict
* KeyboardInterrupt when ctrl-c at a prompt

Instead it raises some internal subclass of vim.errro which cannot
easily be identified, so we just catch any vim.error.
2020-08-24 18:31:47 +01:00
Ben Jackson
dae5760900 Ensure signs are only padded when 1 display cell 2020-08-23 13:42:40 +01:00
Ben Jackson
ca63c08d6a Add a way to force a str in case #json is really required in a key 2020-08-05 22:24:35 +01:00
Ben Jackson
be44a22903 Allow coercing a type in vimspector config
Initially I considered using #i, #s, etc. to coerce to specific types,
but then it wasn't clear of the semantics (particularly for bool, where
JSON bool true/false, Python bool True/False).

But it turns out that we can just coerce any key from a JSON string.
Users can _probably_ type JSON strings for most things, or use variables
to run scripts to generate them, this allows essentially complete
flexibility to define the data types needed to populate the launch spec.

The purpose of this is to allow some level of automated setup by
requesting data from the user and then (subsequently) saving the
flattneed config to the vimspector config file.
2020-08-05 22:19:38 +01:00
Ben Jackson
3a160aa77a Fix: Crash when deleting a watch that never got a result 2020-07-31 22:19:10 +01:00
Ben Jackson
10e9a75fc7 Tidy UI - use some unicode symbols and organise winbar 2020-07-31 22:19:10 +01:00
Ben Jackson
6593f383cf Use any python for debugpy 2020-07-31 22:19:10 +01:00
Ben Jackson
aa26d4bc1a Add ability to specify defaults for variables 2020-07-31 22:19:10 +01:00
Ben Jackson
1e43cd4870 Use a junction, as symlinks require escalated priviledges on some windows 2020-07-24 21:27:47 +01:00
Ben Jackson
f9d20b9537 Upgrade gadgets when they change
This adds a --upgrade option to install_gadget.py and makes
VimspectorUpdate only update things which have changed.

To do this, we record the gadget spec in a manfiest file and compare it
with the current spec when in upgrade mode.

'Changed' in this case means that the gadget spec has changed from the
last time the installer was run. It does _not_ actually check the
presence of the gadget.
2020-07-24 17:12:07 +01:00
Ben Jackson
8f5b928e4b Allow a statically configured list of gadgets
Useful for storing config in source control
2020-07-23 16:37:03 +01:00
Ben Jackson
29cb5c914b Add bang versions of install commands to leave the output open 2020-07-22 22:18:19 +01:00
Ben Jackson
26d7e95adc Fix windows installer issues - use symlinks not junctions and fix dumb use of PIPE with check_call 2020-07-22 19:27:42 +01:00
Ben Jackson
c50c99ef34 Don't spam echo when jobs finish, revert sudo exit 2020-07-22 16:01:44 +01:00
Ben Jackson
000f7a9232 Prettify the output with some syntax and quiet option 2020-07-22 14:40:23 +01:00
Ben Jackson
4144631d03 Add :VimspectorUpdate 2020-07-22 12:50:44 +01:00