Yet more hacking. This sort of makes it work for rust
This commit is contained in:
parent
20045b2941
commit
65e2a50d28
6 changed files with 66 additions and 9 deletions
|
|
@ -59,10 +59,13 @@ class CodeView( object ):
|
|||
if not frame or not frame.get( 'source' ):
|
||||
return False
|
||||
|
||||
if 'path' not in frame[ 'source' ]:
|
||||
return False
|
||||
|
||||
vim.current.window = self._window
|
||||
|
||||
buffer_number = int( vim.eval( 'bufnr( "{0}", 1 )'.format(
|
||||
frame[ 'source' ].get( 'path', '???' ) ) ) )
|
||||
frame[ 'source' ][ 'path' ] ) ) )
|
||||
|
||||
try:
|
||||
vim.command( 'bu {0}'.format( buffer_number ) )
|
||||
|
|
@ -149,6 +152,9 @@ class CodeView( object ):
|
|||
|
||||
for file_name, breakpoints in self._breakpoints.items():
|
||||
for breakpoint in breakpoints:
|
||||
if 'line' not in breakpoint:
|
||||
continue
|
||||
|
||||
sign_id = self._next_sign_id
|
||||
self._next_sign_id += 1
|
||||
self._signs[ 'breakpoints' ].append( sign_id )
|
||||
|
|
|
|||
|
|
@ -138,11 +138,15 @@ class DebugAdapterConnection( object ):
|
|||
if handler:
|
||||
handler( message )
|
||||
else:
|
||||
self._logger.error(
|
||||
'Request failed: {0}'.format(
|
||||
message.get( 'message' ) or '<silence>' ) )
|
||||
utils.UserMessage( 'Request failed: {0}'.format( message[ 'message' ] ),
|
||||
reason = (
|
||||
message.get( 'body', {} ).get( 'error', {} ).get( 'format' ) or
|
||||
message.get( 'message' ) or
|
||||
'no reason' )
|
||||
|
||||
self._logger.error( 'Request failed: {0}'.format( reason ) )
|
||||
utils.UserMessage( 'Request failed: {0}'.format( reason ),
|
||||
persist = True )
|
||||
|
||||
elif message[ 'type' ] == 'event':
|
||||
method = 'OnEvent_' + message[ 'event' ]
|
||||
if method in dir( self._handler ):
|
||||
|
|
|
|||
|
|
@ -525,6 +525,6 @@ class DebugSession( object ):
|
|||
|
||||
utils.UserMessage( 'Paused in thread {0} due to {1}'.format(
|
||||
event.get( 'threadId', '<unknown>' ),
|
||||
event.get( 'description', event[ 'reason' ] ) ) )
|
||||
event.get( 'description', event.get( 'reason', '' ) ) ) )
|
||||
|
||||
self._stackTraceView.OnStopped( event )
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ class StackTraceView( object ):
|
|||
stackFrames = thread[ '_frames' ]
|
||||
|
||||
for frame in stackFrames:
|
||||
if frame[ 'source' ]:
|
||||
if frame.get( 'source' ):
|
||||
source = frame[ 'source' ]
|
||||
else:
|
||||
source = { 'name': '<unknown>' }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue