Merge branch 'master' into master

This commit is contained in:
Ben Jackson 2021-01-09 10:33:38 +00:00 committed by GitHub
commit 205eb7cdb3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 70 additions and 11 deletions

View file

@ -62,7 +62,7 @@ function! vimspector#internal#channel#StartDebugSession( config ) abort
\ )
endif
let l:addr = get( a:config, 'host', 'localhost' ) . ':' . a:config[ 'port' ]
let l:addr = get( a:config, 'host', '127.0.0.1' ) . ':' . a:config[ 'port' ]
echo 'Connecting to ' . l:addr . '... (waiting fo up to 10 seconds)'
let s:ch = ch_open( l:addr,

View file

@ -66,7 +66,7 @@ function! vimspector#internal#neochannel#StartDebugSession( config ) abort
endtry
endif
let l:addr = get( a:config, 'host', 'localhost' ) . ':' . a:config[ 'port' ]
let l:addr = get( a:config, 'host', '127.0.0.1' ) . ':' . a:config[ 'port' ]
let attempt = 1
while attempt <= 10

View file

@ -200,7 +200,7 @@
"properties": {
"host": {
"type": "string",
"default": "localhost",
"default": "127.0.0.1",
"description": "Connect to this host in multi-session mode"
},
"port": {

View file

@ -344,11 +344,12 @@ def WriteAdapters( all_adapters, to_file=None ):
def InstallGeneric( name, root, gadget ):
extension = os.path.join( root, 'extension' )
extension_path = gadget.get( 'extension_path', 'extension' )
extension = os.path.join( root, extension_path )
for f in gadget.get( 'make_executable', [] ):
MakeExecutable( os.path.join( extension, f ) )
MakeExtensionSymlink( name, root )
MakeExtensionSymlink( name, root, extension_path )
def InstallCppTools( name, root, gadget ):
@ -703,8 +704,8 @@ def ExtractZipTo( file_path, destination, format ):
CheckCall( [ 'tar', 'zxvf', file_path ] )
def MakeExtensionSymlink( name, root ):
MakeSymlink( name, os.path.join( root, 'extension' ) ),
def MakeExtensionSymlink( name, root, extension_path = 'extension' ):
MakeSymlink( name, os.path.join( root, extension_path ) ),
def MakeSymlink( link, pointing_to, in_folder = None ):

View file

@ -188,11 +188,12 @@ class StackTraceView( object ):
return
def consume_threads( message ):
requesting = False
if self._requesting_threads == StackTraceView.ThreadRequestState.PENDING:
# We may have hit a thread event, so try again.
self._requesting_threads = StackTraceView.ThreadRequestState.NO
self.LoadThreads( *self._pending_thread_request )
return
requesting = True
self._requesting_threads = StackTraceView.ThreadRequestState.NO
self._pending_thread_request = None
@ -211,8 +212,6 @@ class StackTraceView( object ):
stoppedThreadId = stopEvent.get( 'threadId' )
allThreadsStopped = stopEvent.get( 'allThreadsStopped', False )
requesting = False
# FIXME: This is horribly inefficient
for t in message[ 'body' ][ 'threads' ]:
thread = None
@ -240,7 +239,10 @@ class StackTraceView( object ):
# If this is a stopped event, load the stack trace for the "current"
# thread. Don't do this on other thrads requests because some servers
# just break when that happens.
if infer_current_frame:
#
# Don't do this if we're also satisfying a cached request already (we'll
# do it then)
if infer_current_frame and not requesting:
if thread.id == self._current_thread:
if thread.CanExpand():
self._LoadStackTrace( thread, True, reason )

2
support/test/kotlin/.gitignore vendored Normal file
View file

@ -0,0 +1,2 @@
.gradle
build

View file

@ -0,0 +1,21 @@
{
"configurations": {
"kotlin-debug-adapter launch": {
"adapter": "cust_kotlin-debug-adapter",
"configuration": {
"request": "launch",
"projectRoot": "${workspaceFolder}",
"mainClass": "vimspector/test/ApplicationKt"
}
},
"kotlin-debug-adapter attach": {
"adapter": "cust_kotlin-debug-adapter",
"configuration": {
"request": "attach",
"projectRoot": "${workspaceFolder}",
"hostName": "${hostName}",
"port": "${port}"
}
}
}
}

View file

@ -0,0 +1,25 @@
plugins {
kotlin("jvm") version "1.4.0"
application
}
repositories {
// Use jcenter for resolving dependencies.
// You can declare any Maven/Ivy/file repository here.
jcenter()
}
dependencies {
// Align versions of all Kotlin components
implementation(platform("org.jetbrains.kotlin:kotlin-bom"))
// Use the Kotlin JDK 8 standard library.
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
application {
// Define the main class for the application.
mainClassName = "vimspector.test.ApplicationKt"
}

View file

@ -0,0 +1 @@
rootProject.name = "vimspector-test"

View file

@ -0,0 +1,5 @@
package vimspector.test
fun main(args: Array<String>) {
println("Hello World!")
}

View file

@ -3,6 +3,8 @@
set SCALAR g
array set ARRAY {key1 value1 key2 value2}
set LIST [list a b c {def} {g h i j} k l m]
proc Wrap { body } {
uplevel 1 $body
}