Compare commits

...
Sign in to create a new pull request.

28 commits

Author SHA1 Message Date
Joey Yakimowich-Payne
7c12519b9d Modify for mac m1 2021-09-10 10:30:44 -06:00
mergify[bot]
2bb8561eb6
Merge pull request #452 from seezer/readme-gdb-prettyprinter
Readme: pretty printing with vscode-cpptools / gdb
2021-09-09 16:19:52 +00:00
mergify[bot]
a868102b5e
Merge branch 'master' into readme-gdb-prettyprinter 2021-09-09 16:05:28 +00:00
Sebastian Goth
dc862fe565 Readme: pretty printing with vscode-cpptools / gdb 2021-09-09 16:59:01 +02:00
Ben Jackson
b4bcfca932
Merge pull request #450 from puremourning/gha-ubuntu-18.04
Update to ubuntu 18.04 as 16.04 is deprecated
2021-09-08 22:49:22 +01:00
Ben Jackson
3df0602a69
Merge branch 'master' into gha-ubuntu-18.04 2021-09-08 22:30:49 +01:00
mergify[bot]
1c2dda4a6a
Merge pull request #449 from seezer/vscode-cpptools-1.6.0
Update vscode-cpptools from 0.27.0 to 1.6.0
2021-09-08 21:30:08 +00:00
Ben Jackson
db5ed8e802 Update to ubuntu 18.04 as 16.04 is deprecated 2021-09-08 22:20:33 +01:00
Sebastian Goth
17ca1522f8 Use correct spelling of MIMode in tests 2021-09-08 23:16:47 +02:00
Sebastian Goth
561a5b9aa2 Update variables tests to expect register scope
vscode-cpptools 1.6.0 now reports an additional scope 'Registers' after
'Locals'.
2021-09-08 21:58:32 +02:00
Sebastian Goth
46cfdc678d Update vscode-cpptools from 0.27.0 to 1.6.0 2021-09-08 21:58:32 +02:00
Ben Jackson
51d78fce5f
Note on using legacy vscode-dap 2021-09-07 17:00:04 +01:00
mergify[bot]
14f34ea6d1
Merge pull request #442 from roachsinai/master
Fix error: E806: using Float as a String.
2021-08-20 18:09:07 +00:00
roachsinai
a720d0e1d5 Fix error: E806: using Float as a String. 2021-08-21 00:57:27 +08:00
Ben Jackson
7c7e3f9c3f Add config for bash to tests 2021-08-20 11:17:05 +01:00
Ben Jackson
57ce099280 SHow the output in the console, as this is where codelldb puts it 2021-08-03 17:30:42 +01:00
mergify[bot]
27eb464b8e
Merge pull request #436 from puremourning/update-codelldb
Update codelldb
2021-08-02 16:37:04 +00:00
Ben Jackson
f1e2c12e5b Update codelldb
Add a way to checksum downloads and a little guide to updating gadgets
2021-08-02 17:23:32 +01:00
mergify[bot]
26cd7c5c7e
Merge pull request #435 from przepompownia/upgrade-vscode-php-debug-1.17.0
Upgrade vscode-php-debug to 1.17.0
2021-08-02 14:51:01 +00:00
przepompownia
59c9cd10ab Upgrade vscode-php-debug to 1.17.0 2021-08-02 16:11:04 +02:00
mergify[bot]
9c806d2a01
Merge pull request #429 from puremourning/dependabot/bundler/docs/addressable-2.8.0
Bump addressable from 2.7.0 to 2.8.0 in /docs
2021-07-13 15:07:15 +00:00
dependabot[bot]
3af97f1928
Bump addressable from 2.7.0 to 2.8.0 in /docs
Bumps [addressable](https://github.com/sporkmonger/addressable) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/sporkmonger/addressable/releases)
- [Changelog](https://github.com/sporkmonger/addressable/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sporkmonger/addressable/compare/addressable-2.7.0...addressable-2.8.0)

---
updated-dependencies:
- dependency-name: addressable
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-13 05:43:17 +00:00
mergify[bot]
da39c4955c
Merge pull request #422 from przepompownia/upgrade-vscode-php-debug-1.16.1
Upgrade vscode-php-debug to 1.16.1
2021-07-04 21:17:05 +00:00
przepompownia
21ebb22fd4 Upgrade vscode-php-debug to 1.16.1 2021-07-04 23:00:32 +02:00
mergify[bot]
aa0cddc0da
Merge pull request #420 from simondrake/master
Add a runnable Go example
2021-06-24 16:05:30 +00:00
Simon Drake
5075f3a11a Add a runnable Go example 2021-06-24 15:12:20 +01:00
mergify[bot]
bab81953d7
Merge pull request #414 from BaskovicP/patch-1
FIx typo in configuration.md
2021-06-09 18:24:31 +00:00
Paulo
0500e41429
FIx typo in configuration.md
A small typo that wastes time for people that copy and modify the config file
2021-06-09 19:24:37 +02:00
20 changed files with 244 additions and 33 deletions

View file

@ -13,7 +13,7 @@ defaults:
jobs:
PythonLint:
runs-on: ubuntu-16.04
runs-on: ubuntu-18.04
container: 'puremourning/vimspector:test'
steps:
- uses: actions/checkout@v2
@ -22,7 +22,7 @@ jobs:
- name: 'Run flake8'
run: '$HOME/.local/bin/flake8 python3/ *.py'
VimscriptLint:
runs-on: 'ubuntu-16.04'
runs-on: 'ubuntu-18.04'
container: 'puremourning/vimspector:test'
steps:
- uses: actions/checkout@v2
@ -32,7 +32,7 @@ jobs:
run: $HOME/.local/bin/vint autoload/ compiler/ plugin/ tests/ syntax/
Linux:
runs-on: 'ubuntu-16.04'
runs-on: 'ubuntu-18.04'
container:
image: 'puremourning/vimspector:test'
options: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
@ -156,7 +156,7 @@ jobs:
# SSH_PASS: ${{ secrets.SSH_PASS }} # [V]imspector
PublishRelease:
runs-on: 'ubuntu-16.04'
runs-on: 'ubuntu-18.04'
needs:
- Linux
- MacOS

View file

@ -61,9 +61,10 @@ For detailed explanation of the `.vimspector.json` format, see the
* [Closing debugger](#closing-debugger)
* [Terminate debuggee](#terminate-debuggee)
* [Debug profile configuration](#debug-profile-configuration)
* [C, C , Rust, etc.](#c-c-rust-etc)
* [C Remote debugging](#c-remote-debugging)
* [C Remote launch and attach](#c-remote-launch-and-attach)
* [C, C++, Rust, etc.](#c-c-rust-etc)
* [Data visualization / pretty printing](#data-visualization--pretty-printing)
* [C++ Remote debugging](#c-remote-debugging)
* [C++ Remote launch and attach](#c-remote-launch-and-attach)
* [Rust](#rust)
* [Python](#python)
* [Python Remote Debugging](#python-remote-debugging)
@ -290,7 +291,7 @@ If you just want to try out vimspector without changing your vim config, there
are example projects for a number of languages in `support/test`, including:
* Python (`support/test/python/simple_python`)
* Go (`support/test/go/hello_world`)
* Go (`support/test/go/hello_world` and `support/test/go/name-starts-with-vowel`)
* Nodejs (`support/test/node/simple`)
* Chrome (`support/test/chrome/`)
* etc.
@ -1176,6 +1177,38 @@ licensing.
}
```
### Data visualization / pretty printing
Depending on the backend you need to enable pretty printing of complex types manually.
* LLDB: Pretty printing is enabled by default
* GDB: To enable gdb pretty printers, consider the snippet below.
It is not enough to have `set print pretty on` in your .gdbinit!
```
{
"configurations": {
"Launch": {
"adapter": "vscode-cpptools",
"configuration": {
"request": "launch",
"program": "<path to binary>",
...
"MIMode": "gdb"
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
}
}
}
}
```
### C++ Remote debugging
The cpptools documentation describes how to attach cpptools to gdbserver using
@ -1368,6 +1401,8 @@ Requires:
* [Delve][delve-install] installed, e.g. `go get -u github.com/go-delve/delve/cmd/dlv`
* Delve to be in your PATH, or specify the `dlvToolPath` launch option
NOTE: Vimspector uses the ["legacy" vscode-go debug adapter](https://github.com/golang/vscode-go/blob/master/docs/debugging-legacy.md) rather than the "built-in" DAP support in Delve. You can track https://github.com/puremourning/vimspector/issues/186 for that.
```json
{
"configurations": {
@ -1385,7 +1420,7 @@ Requires:
```
See the vscode-go docs for
[troubleshooting information](https://github.com/golang/vscode-go/blob/master/docs/debugging.md#troubleshooting)
[troubleshooting information](https://github.com/golang/vscode-go/blob/master/docs/debugging-legacy.md#troubleshooting)
## PHP

View file

@ -7,7 +7,7 @@ GEM
minitest (~> 5.1)
tzinfo (~> 1.1)
zeitwerk (~> 2.2, >= 2.2.2)
addressable (2.7.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
coffee-script (2.4.1)
coffee-script-source

View file

@ -722,7 +722,7 @@ Vimspector then orchestrates the various tools to set you up.
"variables": {
// Just an example of how to specify a variable manually rather than
// vimspector asking for input from the user
"ServiceName": "${fileBasenameNoExtention}"
"ServiceName": "${fileBasenameNoExtension}"
},
"adapter": "python-remote",

View file

@ -30,12 +30,12 @@ GADGETS = {
root,
gadget ),
'all': {
'version': '0.27.0',
'version': '1.6.0',
"adapters": {
"vscode-cpptools": {
"name": "cppdbg",
"command": [
"${gadgetDir}/vscode-cpptools/debugAdapters/OpenDebugAD7"
"${gadgetDir}/vscode-cpptools/debugAdapters/bin/OpenDebugAD7"
],
"attach": {
"pidProperty": "processId",
@ -53,17 +53,17 @@ GADGETS = {
'linux': {
'file_name': 'cpptools-linux.vsix',
'checksum':
'3695202e1e75a03de18049323b66d868165123f26151f8c974a480eaf0205435',
'c25299bcfb46b22d41aa3f125df7184e6282a35ff9fb69c47def744cb4778f55',
},
'macos': {
'file_name': 'cpptools-osx.vsix',
'file_name': 'cpptools-osx-arm64.vsix',
'checksum':
'cb061e3acd7559a539e5586f8d3f535101c4ec4e8a48195856d1d39380b5cf3c',
'ceb3e8cdaa2b5bb45af50913ddd8402089969748af8d70f5d46480408287ba6f',
},
'windows': {
'file_name': 'cpptools-win32.vsix',
'checksum':
'aa294368ed16d48c59e49c8000e146eae5a19ad07b654efed5db8ec93b24229e',
'ef7ac5831874a3c7dbf0feb826bfda2be579aff9b6d990622fff1d0d4ede00d1',
"adapters": {
"vscode-cpptools": {
"name": "cppdbg",
@ -323,10 +323,10 @@ GADGETS = {
'${version}/${file_name}',
},
'all': {
'version': 'v1.16.0',
'file_name': 'php-debug-1.16.0.vsix',
'version': 'v1.17.0',
'file_name': 'php-debug-1.17.0.vsix',
'checksum':
'62d210f7b87b21315c37ea10a1a5dbae376ff9f963b8f8cf33361e01413731be',
'd0fff272503414b6696cc737bc2e18e060fdd5e5dc4bcaf38ae7373afd8d8bc9',
},
'adapters': {
'vscode-php-debug': {
@ -394,12 +394,12 @@ GADGETS = {
'${version}/${file_name}',
},
'all': {
'version': 'v1.6.1',
'version': 'v1.6.6',
},
'macos': {
'file_name': 'codelldb-x86_64-darwin.vsix',
'file_name': 'codelldb-aarch64-darwin.vsix',
'checksum':
'b1c998e7421beea9f3ba21aa5706210bb2249eba93c99b809247ee831075262f',
'5adc3b9139eabdafd825bd5efc55df4424a203fb2b6087b425cd434956e7ec58',
'make_executable': [
'adapter/codelldb',
'lldb/bin/debugserver',
@ -410,7 +410,7 @@ GADGETS = {
'linux': {
'file_name': 'codelldb-x86_64-linux.vsix',
'checksum':
'f2a36cb6971fd95a467cf1a7620e160914e8f11bf82929932ee0aa5afbf6ae6a',
'eda2cd9b3089dcc0524c273e91ffb5875fe08c930bf643739a2cd1846e1f98d6',
'make_executable': [
'adapter/codelldb',
'lldb/bin/lldb',
@ -421,7 +421,7 @@ GADGETS = {
'windows': {
'file_name': 'codelldb-x86_64-windows.vsix',
'checksum':
'ca6a6525bf7719dc95265dc630b3cc817a8c0393b756fd242b710805ffdfb940',
'8ddebe8381a3d22dc3d95139c3797fda06b5cc34aadf300e13b1c516b9da95fe',
'make_executable': []
},
'adapters': {

View file

@ -358,7 +358,8 @@ def InstallCppTools( name, root, gadget ):
# It's hilarious, but the execute bits aren't set in the vsix. So they
# actually have javascript code which does this. It's just a horrible horrible
# hack that really is not funny.
MakeExecutable( os.path.join( extension, 'debugAdapters', 'OpenDebugAD7' ) )
MakeExecutable(
os.path.join( extension, 'debugAdapters', 'bin', 'OpenDebugAD7' ) )
with open( os.path.join( extension, 'package.json' ) ) as f:
package = json.load( f )
runtime_dependencies = package[ 'runtimeDependencies' ]

View file

@ -32,6 +32,7 @@ class TabBuffer( object ):
BUFFER_MAP = {
'console': 'Console',
'stdout': 'Console',
'output': 'Console',
'stderr': 'stderr',
'telemetry': None,
}

View file

@ -21,7 +21,7 @@ out_fd=1
while [ -n "$1" ]; do
case "$1" in
"--basedir")
"--basedir"|"--base-dir"|"--test-base")
shift
SetBaseDir $1
shift
@ -36,7 +36,7 @@ while [ -n "$1" ]; do
INSTALL=$1
shift
;;
"--update")
"--update"|"--upgrade")
UPDATE=1
shift
;;

View file

@ -54,7 +54,7 @@ function s:SetUpTerminal()
let padding = 4
let cols = max( [ min( [ &columns - left_bar - code - padding, 80 ] ), 10 ] )
call win_gotoid( terminal_win )
execute cols . 'wincmd |'
execute string(cols) . 'wincmd |'
endfunction
function! s:CustomiseWinBar()

View file

@ -0,0 +1,8 @@
# Manually updating shipped gadgets
Download the gadget files manuall from their official source into this dir.
Run `./checksum.py <list of files>` to get the checksums.
Update ../../python3/vimspector/gadgets.py with the new version and the
checksums.

View file

@ -0,0 +1,13 @@
#!/usr/bin/env python3
import hashlib
import sys
def GetChecksumSHA254( file_path ):
with open( file_path, 'rb' ) as existing_file:
return hashlib.sha256( existing_file.read() ).hexdigest()
for arg in sys.argv[ 1: ]:
print( f"{ arg } = { GetChecksumSHA254( arg ) }" )

View file

@ -0,0 +1,15 @@
{
"$schema": "https://puremourning.github.io/vimspector/schema/vimspector.schema.json",
"configurations": {
"Run Current Script": {
"adapter": "vscode-bash",
"autoselect": false,
"configuration": {
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"args": [ "*${args}" ]
}
}
}
}

View file

@ -0,0 +1,29 @@
{
"configurations": {
"run-cmd": {
"adapter": "vscode-go",
"configuration": {
"request": "launch",
"program": "${workspaceRoot}/cmd/namestartswithvowel/main.go",
"mode": "debug",
"dlvToolPath": "$HOME/go/bin/dlv",
"dlvLoadConfig": {
"maxArrayValues": 1000,
"maxStringLen": 1000
}
}
},
"test-current-file": {
"adapter": "vscode-go",
"configuration": {
"request": "launch",
"mode": "test",
"program": "${fileDirname}",
"cwd": "${fileDirname}",
"dlvToolPath": "$GOPATH/bin/dlv",
"env": {},
"args": []
}
}
}
}

View file

@ -0,0 +1,33 @@
# Purpose
This example comes with two example vimspector configs for the Go programming language.
1) `run-cmd` will launch the main programme under `cmd/namestartswithvowel`.
1) `test-current-file` will run the tests in the current file in debug mode.
## Example use-cases
### run-cmd
* Open `cmd/namestartswithvowel/main.go`
* Add a breakpoint somewhere within the programme
* Start the debugger (`:call vimspector#Continue()` or your relevant keymapping)
* Select the first launch configuration (`1: run-cmd`)
### test-current-file
* Open `internal/vowels/vowels_test.go`
* Add a breakpoint somewhere within the test
* Start the debugger (`:call vimspector#Continue()` or your relevant keymapping)
* Select the second launch configuration (`2: test-current-file`)
## Additional Configuration
There are two additional configuration options specified under `run-cmd`; these parameters configure the maximum string/array size to be shown while debugging.
```
"dlvLoadConfig": {
"maxArrayValues": 1000,
"maxStringLen": 1000
}
```

View file

@ -0,0 +1,20 @@
package main
import (
"fmt"
"example.com/internal/vowels"
)
func main() {
names := []string{"Simon", "Bob", "Jennifer", "Amy", "Duke", "Elizabeth"}
for _, n := range names {
if vowels.NameStartsWithVowel(n) {
fmt.Printf("%s starts with a vowel!\n", n)
continue
}
fmt.Printf("%s does not start with a vowel!\n", n)
}
}

View file

@ -0,0 +1,3 @@
module example.com
go 1.16

View file

@ -0,0 +1,9 @@
package vowels
import "strings"
func NameStartsWithVowel(name string) bool {
s := strings.Split(strings.ToLower(name), "")
return s[0] == "a" || s[0] == "e" || s[0] == "i" || s[0] == "o" || s[0] == "u"
}

View file

@ -0,0 +1,30 @@
package vowels
import (
"fmt"
"testing"
)
func TestNameStartsWithVowel(t *testing.T) {
testCases := []struct {
input string
expectedOutput bool
}{
{
input: "Simon",
expectedOutput: false,
},
{
input: "Andy",
expectedOutput: true,
},
}
for _, tt := range testCases {
t.Run(fmt.Sprintf("%s should product %t", tt.input, tt.expectedOutput), func(t *testing.T) {
out := NameStartsWithVowel(tt.input)
if out != tt.expectedOutput {
t.Errorf("%s produced %t, when %t was expected", tt.input, out, tt.expectedOutput)
}
})
}
}

View file

@ -12,7 +12,7 @@
"externalConsole": false,
"stopAtEntry": true,
"stopOnEntry": true,
"MImode": "${VIMSPECTOR_MIMODE}"
"MIMode": "${VIMSPECTOR_MIMODE}"
},
"breakpoints": {
"exception": {
@ -33,7 +33,7 @@
"externalConsole": false,
"stopAtEntry": false,
"stopOnEntry": false,
"MImode": "${VIMSPECTOR_MIMODE}"
"MIMode": "${VIMSPECTOR_MIMODE}"
},
"breakpoints": {
"exception": {
@ -55,7 +55,7 @@
"externalConsole": false,
"stopAtEntry": false,
"stopOnEntry": false,
"MImode": "${VIMSPECTOR_MIMODE}"
"MIMode": "${VIMSPECTOR_MIMODE}"
},
"breakpoints": {
"exception": {
@ -82,7 +82,7 @@
"configuration": {
"request": "launch",
"program": "${workspaceRoot}/${fileBasenameNoExtension}",
"MImode": "${VIMSPECTOR_MIMODE}",
"MIMode": "${VIMSPECTOR_MIMODE}",
"externalConsole": false,
"args": [
"CALCULATED_LIST", "${CALCULATED_LIST}",

View file

@ -194,6 +194,7 @@ function! Test_ExpandVariables()
\ [
\ '- Scope: Locals',
\ ' *+ t (Test): {...}',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -219,6 +220,7 @@ function! Test_ExpandVariables()
\ ' \*- c (char): 0 ''\\0\{1,3}''',
\ ' \*- fffff (float): 0',
\ ' \*+ another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -237,6 +239,7 @@ function! Test_ExpandVariables()
\ ' - c (char): 0 ''\\0\{1,3}''',
\ ' - fffff (float): 0',
\ ' + another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -253,6 +256,7 @@ function! Test_ExpandVariables()
\ [
\ '- Scope: Locals',
\ ' + t (Test): {...}',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -267,6 +271,7 @@ function! Test_ExpandVariables()
\ [
\ '- Scope: Locals',
\ ' + t (Test): {...}',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -286,6 +291,7 @@ function! Test_ExpandVariables()
\ ' \*- c (char): 99 ''c''',
\ ' \*- fffff (float): 0',
\ ' \*+ another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -302,6 +308,7 @@ function! Test_ExpandVariables()
\ assert_equal(
\ [
\ '+ Scope: Locals',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -316,6 +323,7 @@ function! Test_ExpandVariables()
\ assert_equal(
\ [
\ '+ Scope: Locals',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -331,6 +339,7 @@ function! Test_ExpandVariables()
\ assert_equal(
\ [
\ '+ Scope: Locals',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -846,6 +855,7 @@ function! Test_SetVariableValue_Local()
\ [
\ '- Scope: Locals',
\ ' *+ t (Test): {...}',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -871,6 +881,7 @@ function! Test_SetVariableValue_Local()
\ ' \*- c (char): 0 ''\\0\{1,3}''',
\ ' \*- fffff (float): 0',
\ ' \*+ another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -897,6 +908,7 @@ EOF
\ ' \*- c (char): 0 ''\\0\{1,3}''',
\ ' \*- fffff (float): 0',
\ ' \*+ another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -916,6 +928,7 @@ EOF
\ ' \*- c (char): 0 ''\\0\{1,3}''',
\ ' \*- fffff (float): 0',
\ ' \*+ another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,
@ -935,6 +948,7 @@ EOF
\ ' \*- c (char): 0 ''\\0\{1,3}''',
\ ' \*- fffff (float): 0',
\ ' \*+ another_test (AnotherTest):\( {...}\)\?',
\ '+ Scope: Registers',
\ ],
\ getbufline( winbufnr( g:vimspector_session_windows.variables ),
\ 1,