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.