Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--editors/code/src/client.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index b27d9f5494..f721fcce76 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -366,6 +366,7 @@ export async function createClient(
// To turn on all proposed features use: client.registerProposedFeatures();
client.registerFeature(new ExperimentalFeatures());
+ client.registerFeature(new OverrideFeatures());
return client;
}
@@ -401,6 +402,25 @@ class ExperimentalFeatures implements lc.StaticFeature {
dispose(): void {}
}
+class OverrideFeatures implements lc.StaticFeature {
+ getState(): lc.FeatureState {
+ return { kind: "static" };
+ }
+ fillClientCapabilities(capabilities: lc.ClientCapabilities): void {
+ // Force disable `augmentsSyntaxTokens`, VSCode's textmate grammar is somewhat incomplete
+ // making the experience generally worse
+ const caps = capabilities.textDocument?.semanticTokens;
+ if (caps) {
+ caps.augmentsSyntaxTokens = false;
+ }
+ }
+ initialize(
+ _capabilities: lc.ServerCapabilities,
+ _documentSelector: lc.DocumentSelector | undefined
+ ): void {}
+ dispose(): void {}
+}
+
function isCodeActionWithoutEditsAndCommands(value: any): boolean {
const candidate: lc.CodeAction = value;
return (