1
- if get (g: ," LanguageClient_loaded " , 0 )
1
+ if get (g: , ' LanguageClient_loaded ' )
2
2
finish
3
3
endif
4
4
@@ -371,7 +371,8 @@ function! LanguageClient#textDocument_hover(...) abort
371
371
return LanguageClient#Call (' textDocument/hover' , l: params , l: callback )
372
372
endfunction
373
373
374
- function ! LanguageClient#textDocument_definition (... ) abort
374
+ " Meta methods to go to various places.
375
+ function ! LanguageClient#find_locations (method_name, ... ) abort
375
376
let l: params = {
376
377
\ ' filename' : s: Expand (' %:p' ),
377
378
\ ' text' : s: Text (),
@@ -382,7 +383,33 @@ function! LanguageClient#textDocument_definition(...) abort
382
383
\ }
383
384
call extend (l: params , a: 0 >= 1 ? a: 1 : {})
384
385
let l: callback = a: 0 >= 2 ? a: 2 : v: null
385
- return LanguageClient#Call (' textDocument/definition' , l: params , l: callback )
386
+ return LanguageClient#Call (a: method_name , l: params , l: callback )
387
+ endfunction
388
+
389
+ function ! LanguageClient#textDocument_definition (... ) abort
390
+ return call (' LanguageClient#find_locations' , [' textDocument/definition' ] + a: 000 )
391
+ endfunction
392
+
393
+ function ! LanguageClient#textDocument_typeDefinition (... ) abort
394
+ return call (' LanguageClient#find_locations' , [' textDocument/typeDefinition' ] + a: 000 )
395
+ endfunction
396
+
397
+ function ! LanguageClient#textDocument_implementation (... ) abort
398
+ return call (' LanguageClient#find_locations' , [' textDocument/implementation' ] + a: 000 )
399
+ endfunction
400
+
401
+ function ! LanguageClient#textDocument_references (... ) abort
402
+ let l: callback = get (a: 000 , 1 , v: null )
403
+ let l: params = {
404
+ \ ' filename' : s: Expand (' %:p' ),
405
+ \ ' text' : s: Text (),
406
+ \ ' line' : line (' .' ) - 1 ,
407
+ \ ' character' : col (' .' ) - 1 ,
408
+ \ ' includeDeclaration' : v: true ,
409
+ \ ' handle' : s: IsFalse (l: callback ),
410
+ \ }
411
+ call extend (l: params , get (a: 000 , 0 , {}))
412
+ return LanguageClient#Call (' textDocument/references' , l: params , l: callback )
386
413
endfunction
387
414
388
415
function ! LanguageClient#textDocument_rename (... ) abort
@@ -448,20 +475,6 @@ function! LanguageClient#textDocument_completion(...) abort
448
475
return LanguageClient#Call (' textDocument/completion' , l: params , l: callback )
449
476
endfunction
450
477
451
- function ! LanguageClient#textDocument_references (... ) abort
452
- let l: callback = get (a: 000 , 1 , v: null )
453
- let l: params = {
454
- \ ' filename' : s: Expand (' %:p' ),
455
- \ ' text' : s: Text (),
456
- \ ' line' : line (' .' ) - 1 ,
457
- \ ' character' : col (' .' ) - 1 ,
458
- \ ' includeDeclaration' : v: true ,
459
- \ ' handle' : s: IsFalse (l: callback ),
460
- \ }
461
- call extend (l: params , get (a: 000 , 0 , {}))
462
- return LanguageClient#Call (' textDocument/references' , l: params , l: callback )
463
- endfunction
464
-
465
478
function ! LanguageClient#textDocument_formatting (... ) abort
466
479
let l: params = {
467
480
\ ' filename' : s: Expand (' %:p' ),
@@ -779,51 +792,19 @@ function! LanguageClient#statusLine() abort
779
792
endfunction
780
793
781
794
function ! LanguageClient#cquery_base (... ) abort
782
- let l: params = {
783
- \ ' filename' : s: Expand (' %:p' ),
784
- \ ' line' : line (' .' ) - 1 ,
785
- \ ' character' : col (' .' ) - 1 ,
786
- \ ' handle' : v: true ,
787
- \ }
788
- call extend (l: params , a: 0 >= 1 ? a: 1 : {})
789
- let l: callback = a: 0 >= 2 ? a: 2 : v: null
790
- return LanguageClient#Call (' $cquery/base' , l: params , l: callback )
795
+ return call (' LanguageClient#find_locations' , [' $cquery/base' ] + a: 000 )
791
796
endfunction
792
797
793
798
function ! LanguageClient#cquery_derived (... ) abort
794
- let l: params = {
795
- \ ' filename' : s: Expand (' %:p' ),
796
- \ ' line' : line (' .' ) - 1 ,
797
- \ ' character' : col (' .' ) - 1 ,
798
- \ ' handle' : v: true ,
799
- \ }
800
- call extend (l: params , a: 0 >= 1 ? a: 1 : {})
801
- let l: callback = a: 0 >= 2 ? a: 2 : v: null
802
- return LanguageClient#Call (' $cquery/derived' , l: params , l: callback )
799
+ return call (' LanguageClient#find_locations' , [' $cquery/derived' ] + a: 000 )
803
800
endfunction
804
801
805
802
function ! LanguageClient#cquery_callers (... ) abort
806
- let l: params = {
807
- \ ' filename' : s: Expand (' %:p' ),
808
- \ ' line' : line (' .' ) - 1 ,
809
- \ ' character' : col (' .' ) - 1 ,
810
- \ ' handle' : v: true ,
811
- \ }
812
- call extend (l: params , a: 0 >= 1 ? a: 1 : {})
813
- let l: callback = a: 0 >= 2 ? a: 2 : v: null
814
- return LanguageClient#Call (' $cquery/callers' , l: params , l: callback )
803
+ return call (' LanguageClient#find_locations' , [' $cquery/callers' ] + a: 000 )
815
804
endfunction
816
805
817
806
function ! LanguageClient#cquery_vars (... ) abort
818
- let l: params = {
819
- \ ' filename' : s: Expand (' %:p' ),
820
- \ ' line' : line (' .' ) - 1 ,
821
- \ ' character' : col (' .' ) - 1 ,
822
- \ ' handle' : v: true ,
823
- \ }
824
- call extend (l: params , a: 0 >= 1 ? a: 1 : {})
825
- let l: callback = a: 0 >= 2 ? a: 2 : v: null
826
- return LanguageClient#Call (' $cquery/vars' , l: params , l: callback )
807
+ return call (' LanguageClient#find_locations' , [' $cquery/vars' ] + a: 000 )
827
808
endfunction
828
809
829
810
let g: LanguageClient_loaded = s: Launch ()
0 commit comments