File tree Expand file tree Collapse file tree 2 files changed +28
-4
lines changed Expand file tree Collapse file tree 2 files changed +28
-4
lines changed Original file line number Diff line number Diff line change @@ -477,7 +477,9 @@ def g:LspOmniFunc(findstart: number, base: string): any
477
477
478
478
var [triggerKind, triggerChar] = GetTriggerAttributes (lspserver)
479
479
if triggerKind < 0
480
- return -1
480
+ # previous character is not a keyword character or a trigger character ,
481
+ # so cancel omni completion.
482
+ return -2
481
483
endif
482
484
483
485
# first send all the changes in the current buffer to the LSP server
@@ -509,7 +511,7 @@ def g:LspOmniFunc(findstart: number, base: string): any
509
511
return v: none
510
512
endif
511
513
512
- var res : list <dict<any> > = lspserver- > get ( ' completeItems' , [])
514
+ var res : list <dict<any> > = lspserver. completeItems
513
515
var prefix = lspserver.omniCompleteKeyword
514
516
515
517
# Don't attempt to filter on the items , when " isIncomplete" is set
Original file line number Diff line number Diff line change @@ -1471,7 +1471,7 @@ def g:Test_OmniComplete_FirstColumn()
1471
1471
:% bw !
1472
1472
enddef
1473
1473
1474
- # Test for doing omni completion from the first column
1474
+ # Test for doing omni completion with a multibyte character
1475
1475
def g: Test_OmniComplete_Multibyte ()
1476
1476
:silent ! edit XOmniCompleteMultibyte.c
1477
1477
sleep 200 m
@@ -1493,7 +1493,7 @@ def g:Test_OmniComplete_Multibyte()
1493
1493
:% bw !
1494
1494
enddef
1495
1495
1496
- # Test for doing omni completion from the first column
1496
+ # Test for doing omni completion for a struct field
1497
1497
def g: Test_OmniComplete_Struct ()
1498
1498
:silent ! edit XOmniCompleteStruct.c
1499
1499
sleep 200 m
@@ -1524,6 +1524,28 @@ def g:Test_OmniComplete_Struct()
1524
1524
:% bw !
1525
1525
enddef
1526
1526
1527
+ # Test for doing omni completion after an opening parenthesis.
1528
+ # This used to result in an error message.
1529
+ def g: Test_OmniComplete_AfterParen ()
1530
+ :silent ! edit XOmniCompleteAfterParen.c
1531
+ sleep 200 m
1532
+ var lines : list <string> = << trim END
1533
+ #include <stdio.h>
1534
+ void Fn (void)
1535
+ {
1536
+ printf (
1537
+ }
1538
+ END
1539
+ setline (1 , lines )
1540
+ g: WaitForServerFileLoad (2 )
1541
+ redraw !
1542
+
1543
+ cursor (4 , 1 )
1544
+ feedkeys (" A\<C-X>\<C-O>\<C-Y> " , ' xt' )
1545
+ assert_equal (' printf(' , getline (' .' ))
1546
+ :% bw !
1547
+ enddef
1548
+
1527
1549
# Test for inlay hints
1528
1550
def g: Test_InlayHints ()
1529
1551
:silent ! edit XinlayHints.c
You can’t perform that action at this time.
0 commit comments