[mod] completions

This commit is contained in:
Andy Bunce 2025-10-10 12:17:46 +01:00
parent 732a1c98e3
commit a2fa9cb062
4 changed files with 20 additions and 3 deletions

7
test/completion.xq Normal file
View file

@ -0,0 +1,7 @@
import module namespace comp = 'lsp-completions' at "../webapp/lsp/providers/completions.xqm";
declare variable $src:="sample.docs/parse-pdfbox.xml";
declare variable $parse:=doc($src)/*;
let $context:= {"triggerCharacter":":","triggerKind":2.0e0}
return comp:list($context )

View file

@ -3,4 +3,4 @@ declare variable $src:="sample.docs/parse-pdfbox.xml";
declare variable $parse:=doc($src)/*;
syms:list($parse )
syms:list($parse,string($parse ))

View file

@ -57,7 +57,7 @@ as map(*)?
{
let $doc:=$json?params?textDocument?uri
let $context:=$json?params?context (:{"triggerCharacter":":","triggerKind":2.0e0}:)
let $result:=comp:list($context)=>array:build()
let $result:=comp:dummy($context)=>array:build()
return rpc:result($json,$result)
};

View file

@ -5,5 +5,15 @@ import module namespace lspt = 'lsp-typedefs' at "../lsp-typedefs.xqm";
declare function comp:list($context as map(*))
as lspt:CompletionItem*{
message($context,"context: "),
(1 to 5)!lspt:CompletionItem("item"+.,.)
(1 to 20)!lspt:CompletionItem("item"||.,.)
};
declare function comp:dummy($context as map(*))
as lspt:CompletionItem*{
message($context,"context: "),
map:for-each($lspt:CompletionItemKindMap,
fn($k,$v){
lspt:CompletionItem($k,$v)
})
};