Merge pull request #208 from puremourning/eval-cursorpos
Put the cursor at the end of the buffer after evaluations
This commit is contained in:
commit
db5073aec1
3 changed files with 51 additions and 13 deletions
|
|
@ -126,20 +126,13 @@ class OutputView( object ):
|
||||||
self._ShowOutput( category )
|
self._ShowOutput( category )
|
||||||
|
|
||||||
def Evaluate( self, frame, expression ):
|
def Evaluate( self, frame, expression ):
|
||||||
console = self._buffers[ 'Console' ].buf
|
self._Print( 'Console', [ 'Evaluating: ' + expression ] )
|
||||||
with utils.ModifiableScratchBuffer( console ):
|
|
||||||
utils.AppendToBuffer( console, 'Evaluating: ' + expression )
|
|
||||||
|
|
||||||
def print_result( message ):
|
def print_result( message ):
|
||||||
with utils.ModifiableScratchBuffer( console ):
|
result = message[ 'body' ][ 'result' ]
|
||||||
utils.AppendToBuffer( console,
|
if result is None:
|
||||||
'Evaluated: ' + expression )
|
result = '<no result>'
|
||||||
|
self._Print( 'Console', f' Result: { result }' )
|
||||||
result = message[ 'body' ][ 'result' ]
|
|
||||||
if result is None:
|
|
||||||
result = 'null'
|
|
||||||
|
|
||||||
utils.AppendToBuffer( console, ' Result: ' + result )
|
|
||||||
|
|
||||||
request = {
|
request = {
|
||||||
'command': 'evaluate',
|
'command': 'evaluate',
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,9 @@ function! vimspector#test#signs#AssertCursorIsAtLineInBuffer( buffer,
|
||||||
call WaitForAssert( {->
|
call WaitForAssert( {->
|
||||||
\ assert_equal( a:line, line( '.' ), 'Current line' )
|
\ assert_equal( a:line, line( '.' ), 'Current line' )
|
||||||
\ }, 10000 )
|
\ }, 10000 )
|
||||||
call assert_equal( a:column, col( '.' ), 'Current column' )
|
if a:column isnot v:null
|
||||||
|
call assert_equal( a:column, col( '.' ), 'Current column' )
|
||||||
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! vimspector#test#signs#AssertPCIsAtLineInBuffer( buffer, line ) abort
|
function! vimspector#test#signs#AssertPCIsAtLineInBuffer( buffer, line ) abort
|
||||||
|
|
|
||||||
|
|
@ -479,3 +479,46 @@ function! Test_ExpandWatch()
|
||||||
call vimspector#test#setup#Reset()
|
call vimspector#test#setup#Reset()
|
||||||
%bwipe!
|
%bwipe!
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
function Test_EvaluateConsole()
|
||||||
|
let fn = 'testdata/cpp/simple/struct.cpp'
|
||||||
|
call s:StartDebugging( #{ fn: fn, line: 24, col: 1, launch: #{
|
||||||
|
\ configuration: 'run-to-breakpoint'
|
||||||
|
\ } } )
|
||||||
|
|
||||||
|
" Make sure the Test t is initialised
|
||||||
|
call vimspector#StepOver()
|
||||||
|
call vimspector#test#signs#AssertCursorIsAtLineInBuffer( fn, 26, 1 )
|
||||||
|
call vimspector#StepOver()
|
||||||
|
call vimspector#test#signs#AssertCursorIsAtLineInBuffer( fn, 27, 1 )
|
||||||
|
|
||||||
|
VimspectorEval t.i
|
||||||
|
call assert_equal( bufnr( 'vimspector.Console' ),
|
||||||
|
\ winbufnr( g:vimspector_session_windows.output ) )
|
||||||
|
call WaitForAssert( {->
|
||||||
|
\ assert_equal(
|
||||||
|
\ [
|
||||||
|
\ ' Result: 1'
|
||||||
|
\ ],
|
||||||
|
\ getbufline( bufnr( 'vimspector.Console' ), '$', '$' )
|
||||||
|
\ )
|
||||||
|
\ } )
|
||||||
|
|
||||||
|
let len = getbufinfo( 'vimspector.Console' )[ 0 ].linecount
|
||||||
|
|
||||||
|
call WaitForAssert( {->
|
||||||
|
\ assert_equal(
|
||||||
|
\ [
|
||||||
|
\ 'Evaluating: t.i',
|
||||||
|
\ ' Result: 1'
|
||||||
|
\ ],
|
||||||
|
\ getbufline( bufnr( 'vimspector.Console' ), len-1, '$' )
|
||||||
|
\ )
|
||||||
|
\ } )
|
||||||
|
call vimspector#test#signs#AssertCursorIsAtLineInBuffer(
|
||||||
|
\ 'vimspector.Console', len, v:null )
|
||||||
|
|
||||||
|
call vimspector#test#setup#Reset()
|
||||||
|
%bwipe!
|
||||||
|
endfunction
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue