Skip to content

Commit a562edc

Browse files
committed
Revert "Revert "Fix inlay-hint not shown issue (#341)""
This reverts commit fc750f1. It's now (presumed) safe to bump languageclient to 8.x after suppressing commit characters.
1 parent eba6a27 commit a562edc

File tree

8 files changed

+1395
-1121
lines changed

8 files changed

+1395
-1121
lines changed

package-lock.json

Lines changed: 1373 additions & 1110 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"dependencies": {
4949
"@clangd/install": "0.1.4",
5050
"abort-controller": "^3.0.0",
51-
"vscode-languageclient": "7.1.0-next.1"
51+
"vscode-languageclient": "8.0.1"
5252
},
5353
"devDependencies": {
5454
"@types/glob": "^7.1.1",
@@ -60,7 +60,7 @@
6060
"glob": "^7.1.4",
6161
"mocha": "^9.2.0",
6262
"ovsx": "^0.3.0",
63-
"typescript": "^3.8.3",
63+
"typescript": "^4.5.5",
6464
"vsce": "^2.7.0",
6565
"vscode-test": "^1.3.0"
6666
},
@@ -243,7 +243,8 @@
243243
{
244244
"command": "clangd.inlayHints.toggle",
245245
"category": "clangd",
246-
"title": "Toggle inlay hints"
246+
"title": "Toggle inlay hints",
247+
"enablement": "clangd.inlayHints.supported"
247248
}
248249
],
249250
"keybindings": [

src/ast.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ class ASTFeature implements vscodelc.StaticFeature {
7979
vscode.commands.executeCommand('setContext', 'clangd.ast.supported',
8080
'astProvider' in capabilities);
8181
}
82+
getState(): vscodelc.FeatureState { return {kind: 'static'}; }
8283
dispose() {}
8384
}
8485

src/clangd-context.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class EnableEditsNearCursorFeature implements vscodelc.StaticFeature {
5151
capabilities.textDocument?.completion;
5252
extendedCompletionCapabilities.editsNearCursor = true;
5353
}
54+
getState(): vscodelc.FeatureState { return {kind: 'static'}; }
5455
dispose() {}
5556
}
5657

@@ -162,7 +163,7 @@ export class ClangdContext implements vscode.Disposable {
162163
memoryUsage.activate(this);
163164
ast.activate(this);
164165
openConfig.activate(this);
165-
this.subscriptions.push(this.client.start());
166+
await this.client.start();
166167
console.log('Clang Language Server is now active!');
167168
fileStatus.activate(this);
168169
switchSourceHeader.activate(this);
@@ -176,6 +177,7 @@ export class ClangdContext implements vscode.Disposable {
176177

177178
dispose() {
178179
this.subscriptions.forEach((d) => { d.dispose(); });
180+
this.client.stop();
179181
this.subscriptions = []
180182
}
181183
}

src/config-file-watcher.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class ConfigFileWatcherFeature implements vscodelc.StaticFeature {
2626
return;
2727
this.context.subscriptions.push(new ConfigFileWatcher(this.context));
2828
}
29+
getState(): vscodelc.FeatureState { return {kind: 'static'}; }
2930
dispose() {}
3031
}
3132

src/inlay-hints.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,10 @@ class InlayHintsFeature implements vscodelc.StaticFeature {
5353
const serverCapabilities: vscodelc.ServerCapabilities&
5454
{clangdInlayHintsProvider?: boolean, inlayHintProvider?: any} =
5555
capabilities;
56-
// If the clangd server supports LSP 3.17 inlay hints, these are handled by
57-
// the vscode-languageclient library - don't send custom requests too!
58-
if (!serverCapabilities.clangdInlayHintsProvider ||
59-
serverCapabilities.inlayHintProvider)
60-
return;
56+
vscode.commands.executeCommand(
57+
'setContext', 'clangd.inlayHints.supported',
58+
serverCapabilities.clangdInlayHintsProvider ||
59+
serverCapabilities.inlayHintProvider);
6160
if (!this.commandRegistered) {
6261
// The command provides a quick way to toggle inlay hints
6362
// (key-bindable).
@@ -74,10 +73,15 @@ class InlayHintsFeature implements vscodelc.StaticFeature {
7473
enabledSetting, !current, vscode.ConfigurationTarget.Global);
7574
}));
7675
}
76+
// If the clangd server supports LSP 3.17 inlay hints, these are handled by
77+
// the vscode-languageclient library - don't send custom requests too!
78+
if (!serverCapabilities.clangdInlayHintsProvider ||
79+
serverCapabilities.inlayHintProvider)
80+
return;
7781
this.context.subscriptions.push(vscode.languages.registerInlayHintsProvider(
7882
clangdDocumentSelector, new Provider(this.context)));
7983
}
80-
84+
getState(): vscodelc.FeatureState { return {kind: 'static'}; }
8185
dispose() {}
8286
}
8387

src/memory-usage.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ class MemoryUsageFeature implements vscodelc.StaticFeature {
7474
vscode.commands.executeCommand('setContext', 'clangd.memoryUsage.supported',
7575
'memoryUsageProvider' in capabilities);
7676
}
77+
getState(): vscodelc.FeatureState { return {kind: 'static'}; }
7778
dispose() {}
7879
}
7980

src/type-hierarchy.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,13 @@ class TypeHierarchyFeature implements vscodelc.StaticFeature {
116116
initialize(capabilities: vscodelc.ServerCapabilities,
117117
documentSelector: vscodelc.DocumentSelector|undefined) {
118118
const serverCapabilities: vscodelc.ServerCapabilities&
119-
{typeHierarchyProvider?: boolean} = capabilities;
119+
{typeHierarchyProvider?: any} = capabilities;
120120
if (serverCapabilities.typeHierarchyProvider) {
121121
this.serverSupportsTypeHierarchy = true;
122122
this.recomputeEnableTypeHierarchy();
123123
}
124124
}
125+
getState(): vscodelc.FeatureState { return {kind: 'static'}; }
125126
dispose() {}
126127

127128
private recomputeEnableTypeHierarchy() {

0 commit comments

Comments
 (0)