Skip to content

Commit 6d99a0c

Browse files
committed
Use navigate#Up/Down callbacks in HTTP mode
1 parent 655c8f0 commit 6d99a0c

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

autoload/OmniSharp/actions/navigate.vim

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ function! s:Navigate(down, Callback) abort
2121
let opts = { 'ResponseHandler': RH }
2222
call OmniSharp#stdio#Request(a:down ? '/navigatedown' : '/navigateup', opts)
2323
else
24-
call OmniSharp#py#Eval(a:down ? 'navigateDown()' : 'navigateUp()')
25-
call OmniSharp#py#CheckForError()
24+
let loc = OmniSharp#py#Eval(a:down ? 'navigateDown()' : 'navigateUp()')
25+
if OmniSharp#py#CheckForError() | return | endif
26+
call a:Callback(loc)
2627
endif
2728
endfunction
2829

python/omnisharp/commands.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,17 +266,25 @@ def findHighlightTypes():
266266

267267
@vimcmd
268268
def navigateUp():
269-
get_navigate_response('/navigateup')
269+
return get_navigate_response('/navigateup')
270270

271271

272272
@vimcmd
273273
def navigateDown():
274-
get_navigate_response('/navigatedown')
274+
return get_navigate_response('/navigatedown')
275275

276276

277277
def get_navigate_response(endpoint):
278278
response = getResponse(ctx, endpoint, json=True)
279-
vim.current.window.cursor = (response['Line'], response['Column'] - 1)
279+
if response.get('Line'):
280+
return {
281+
'filename': formatPathForServer(ctx, ctx.buffer_name),
282+
'text': '',
283+
'lnum': response['Line'],
284+
'col': response['Column'],
285+
'vcol': 0
286+
}
287+
return None
280288

281289

282290
@vimcmd

0 commit comments

Comments
 (0)