Skip to content

Commit 2c4f080

Browse files
committed
propagate snippet support status from client capabilities
1 parent 184ac8f commit 2c4f080

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

server/src/server.ts

+12-4
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ interface extensionConfiguration {
4646
// work in one client, like VSCode, but perhaps not in others, like vim.
4747
export interface extensionClientCapabilities {
4848
supportsMarkdownLinks?: boolean | null;
49+
supportsSnippetSyntax?: boolean | null;
4950
}
5051
let extensionClientCapabilities: extensionClientCapabilities = {};
5152

@@ -680,7 +681,7 @@ function completion(msg: p.RequestMessage) {
680681
params.position.line,
681682
params.position.character,
682683
tmpname,
683-
"true",
684+
Boolean(extensionClientCapabilities.supportsSnippetSyntax),
684685
],
685686
msg
686687
);
@@ -947,7 +948,7 @@ function createInterface(msg: p.RequestMessage): p.Message {
947948
jsonrpc: c.jsonrpcVersion,
948949
id: msg.id,
949950
result: {
950-
uri: utils.pathToURI(resiPath)
951+
uri: utils.pathToURI(resiPath),
951952
},
952953
};
953954
return response;
@@ -1014,7 +1015,7 @@ function openCompiledFile(msg: p.RequestMessage): p.Message {
10141015
id: msg.id,
10151016
result: {
10161017
uri: utils.pathToURI(compiledFilePath.result),
1017-
}
1018+
},
10181019
};
10191020

10201021
return response;
@@ -1096,6 +1097,11 @@ function onMessage(msg: p.Message) {
10961097
extensionClientCapabilities = extensionClientCapabilitiesFromClient;
10971098
}
10981099

1100+
extensionClientCapabilities.supportsSnippetSyntax = Boolean(
1101+
initParams.capabilities.textDocument?.completion?.completionItem
1102+
?.snippetSupport
1103+
);
1104+
10991105
// send the list of features we support
11001106
let result: p.InitializeResult = {
11011107
// This tells the client: "hey, we support the following operations".
@@ -1112,7 +1118,9 @@ function onMessage(msg: p.Message) {
11121118
codeActionProvider: true,
11131119
renameProvider: { prepareProvider: true },
11141120
documentSymbolProvider: true,
1115-
completionProvider: { triggerCharacters: [".", ">", "@", "~", '"', "="] },
1121+
completionProvider: {
1122+
triggerCharacters: [".", ">", "@", "~", '"', "="],
1123+
},
11161124
semanticTokensProvider: {
11171125
legend: {
11181126
tokenTypes: [

0 commit comments

Comments
 (0)