I've reproduced the problem in lsp-sample (description of my original post moved below).
The code completion does not work with #
character. How to make it work?
Added CompletionItem
for #1000
:
connection.onCompletion(
(_textDocumentPosition: TextDocumentPositionParams): CompletionItem[] => {
return [
{
label: 'TypeScript',
kind: CompletionItemKind.Text,
data: 1,
},
{
label: 'JavaScript',
kind: CompletionItemKind.Text,
data: 2,
},
{
label: '#1000',
kind: CompletionItemKind.Text,
data: 3,
},
];
}
);
Now typing #
or #1
does not show/filter the completion list. Choosing #1000
from the list does not completes properly, i.e. makes ##1000
.
For filtering tried adding filterText: '#[0-9]+',
or filterText: '#',
to no avail.
For completion tried below but it does not work when there is something before #1
in the same line:
textEdit: InsertReplaceEdit.create(
'#1000',
Range.create(
Position.create(_textDocumentPosition.position.line, 0),
_textDocumentPosition.position
),
Range.create(
Position.create(_textDocumentPosition.position.line, 0),
_textDocumentPosition.position
)
),
=================(My previous post)=======================
I have the following code completion list defined:
[
{
"jsonrpc": "2.0",
"id": 6,
"result": [
{
"label": "G253",
"kind": 15,
"insertTextFormat": 2,
"data": 106
},
{
"label": "G254",
"kind": 15,
"insertTextFormat": 2,
"data": 107
},
{
"label": "G255",
"kind": 15,
"insertTextFormat": 2,
"data": 108
},
{
"label": "#3000",
"kind": 15,
"insertTextFormat": 2,
"data": 215
},
{
"label": "#3001",
"kind": 15,
"insertTextFormat": 2,
"data": 216
},
{
"label": "#3002",
"kind": 15,
"insertTextFormat": 2,
"data": 217
},
{
"label": "#3003",
"kind": 15,
"insertTextFormat": 2,
"data": 218
},
{
"label": "#3004",
"kind": 15,
"insertTextFormat": 2,
"data": 219
}
]
}
]
When typing #
and triggering code completion, further typing #3
does not make the list filtered. Then selecting for example #3002
from the list inserts double hash: ##3002
.
What am I missing here?
However there is no problem if I use other character than #
, for example G
. Then everything works with no problem - proper completion list filtering and inserting, for example G254
.