Merge branch 'master' into master
This commit is contained in:
commit
205eb7cdb3
11 changed files with 70 additions and 11 deletions
|
|
@ -62,7 +62,7 @@ function! vimspector#internal#channel#StartDebugSession( config ) abort
|
||||||
\ )
|
\ )
|
||||||
endif
|
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)'
|
echo 'Connecting to ' . l:addr . '... (waiting fo up to 10 seconds)'
|
||||||
let s:ch = ch_open( l:addr,
|
let s:ch = ch_open( l:addr,
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ function! vimspector#internal#neochannel#StartDebugSession( config ) abort
|
||||||
endtry
|
endtry
|
||||||
endif
|
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
|
let attempt = 1
|
||||||
while attempt <= 10
|
while attempt <= 10
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@
|
||||||
"properties": {
|
"properties": {
|
||||||
"host": {
|
"host": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"default": "localhost",
|
"default": "127.0.0.1",
|
||||||
"description": "Connect to this host in multi-session mode"
|
"description": "Connect to this host in multi-session mode"
|
||||||
},
|
},
|
||||||
"port": {
|
"port": {
|
||||||
|
|
|
||||||
|
|
@ -344,11 +344,12 @@ def WriteAdapters( all_adapters, to_file=None ):
|
||||||
|
|
||||||
|
|
||||||
def InstallGeneric( name, root, gadget ):
|
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', [] ):
|
for f in gadget.get( 'make_executable', [] ):
|
||||||
MakeExecutable( os.path.join( extension, f ) )
|
MakeExecutable( os.path.join( extension, f ) )
|
||||||
|
|
||||||
MakeExtensionSymlink( name, root )
|
MakeExtensionSymlink( name, root, extension_path )
|
||||||
|
|
||||||
|
|
||||||
def InstallCppTools( name, root, gadget ):
|
def InstallCppTools( name, root, gadget ):
|
||||||
|
|
@ -703,8 +704,8 @@ def ExtractZipTo( file_path, destination, format ):
|
||||||
CheckCall( [ 'tar', 'zxvf', file_path ] )
|
CheckCall( [ 'tar', 'zxvf', file_path ] )
|
||||||
|
|
||||||
|
|
||||||
def MakeExtensionSymlink( name, root ):
|
def MakeExtensionSymlink( name, root, extension_path = 'extension' ):
|
||||||
MakeSymlink( name, os.path.join( root, 'extension' ) ),
|
MakeSymlink( name, os.path.join( root, extension_path ) ),
|
||||||
|
|
||||||
|
|
||||||
def MakeSymlink( link, pointing_to, in_folder = None ):
|
def MakeSymlink( link, pointing_to, in_folder = None ):
|
||||||
|
|
|
||||||
|
|
@ -188,11 +188,12 @@ class StackTraceView( object ):
|
||||||
return
|
return
|
||||||
|
|
||||||
def consume_threads( message ):
|
def consume_threads( message ):
|
||||||
|
requesting = False
|
||||||
if self._requesting_threads == StackTraceView.ThreadRequestState.PENDING:
|
if self._requesting_threads == StackTraceView.ThreadRequestState.PENDING:
|
||||||
# We may have hit a thread event, so try again.
|
# We may have hit a thread event, so try again.
|
||||||
self._requesting_threads = StackTraceView.ThreadRequestState.NO
|
self._requesting_threads = StackTraceView.ThreadRequestState.NO
|
||||||
self.LoadThreads( *self._pending_thread_request )
|
self.LoadThreads( *self._pending_thread_request )
|
||||||
return
|
requesting = True
|
||||||
|
|
||||||
self._requesting_threads = StackTraceView.ThreadRequestState.NO
|
self._requesting_threads = StackTraceView.ThreadRequestState.NO
|
||||||
self._pending_thread_request = None
|
self._pending_thread_request = None
|
||||||
|
|
@ -211,8 +212,6 @@ class StackTraceView( object ):
|
||||||
stoppedThreadId = stopEvent.get( 'threadId' )
|
stoppedThreadId = stopEvent.get( 'threadId' )
|
||||||
allThreadsStopped = stopEvent.get( 'allThreadsStopped', False )
|
allThreadsStopped = stopEvent.get( 'allThreadsStopped', False )
|
||||||
|
|
||||||
requesting = False
|
|
||||||
|
|
||||||
# FIXME: This is horribly inefficient
|
# FIXME: This is horribly inefficient
|
||||||
for t in message[ 'body' ][ 'threads' ]:
|
for t in message[ 'body' ][ 'threads' ]:
|
||||||
thread = None
|
thread = None
|
||||||
|
|
@ -240,7 +239,10 @@ class StackTraceView( object ):
|
||||||
# If this is a stopped event, load the stack trace for the "current"
|
# 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
|
# thread. Don't do this on other thrads requests because some servers
|
||||||
# just break when that happens.
|
# 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.id == self._current_thread:
|
||||||
if thread.CanExpand():
|
if thread.CanExpand():
|
||||||
self._LoadStackTrace( thread, True, reason )
|
self._LoadStackTrace( thread, True, reason )
|
||||||
|
|
|
||||||
2
support/test/kotlin/.gitignore
vendored
Normal file
2
support/test/kotlin/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
.gradle
|
||||||
|
build
|
||||||
21
support/test/kotlin/.vimspector.json
Normal file
21
support/test/kotlin/.vimspector.json
Normal 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}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
25
support/test/kotlin/build.gradle.kts
Normal file
25
support/test/kotlin/build.gradle.kts
Normal 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"
|
||||||
|
}
|
||||||
|
|
||||||
1
support/test/kotlin/settings.gradle.kts
Normal file
1
support/test/kotlin/settings.gradle.kts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
rootProject.name = "vimspector-test"
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
package vimspector.test
|
||||||
|
|
||||||
|
fun main(args: Array<String>) {
|
||||||
|
println("Hello World!")
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,8 @@
|
||||||
set SCALAR g
|
set SCALAR g
|
||||||
array set ARRAY {key1 value1 key2 value2}
|
array set ARRAY {key1 value1 key2 value2}
|
||||||
|
|
||||||
|
set LIST [list a b c {def} {g h i j} k l m]
|
||||||
|
|
||||||
proc Wrap { body } {
|
proc Wrap { body } {
|
||||||
uplevel 1 $body
|
uplevel 1 $body
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue