[clang-tools-extra] 689c114 - [clangd] register cuda language activation event and activate for .cuh files
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 4 06:07:27 PST 2019
Author: ptaylor
Date: 2019-12-04T15:06:21+01:00
New Revision: 689c11486396dbf7815caff3671bdcb1303e5143
URL: https://github.com/llvm/llvm-project/commit/689c11486396dbf7815caff3671bdcb1303e5143
DIFF: https://github.com/llvm/llvm-project/commit/689c11486396dbf7815caff3671bdcb1303e5143.diff
LOG: [clangd] register cuda language activation event and activate for .cuh files
Patch by Paul Taylor!
Reviewers: hokein
Reviewed By: hokein
Subscribers: jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70041
Added:
Modified:
clang-tools-extra/clangd/clients/clangd-vscode/package.json
clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/clients/clangd-vscode/package.json b/clang-tools-extra/clangd/clients/clangd-vscode/package.json
index 05aafeb5f850..8abf7e743e6f 100644
--- a/clang-tools-extra/clangd/clients/clangd-vscode/package.json
+++ b/clang-tools-extra/clangd/clients/clangd-vscode/package.json
@@ -23,6 +23,7 @@
"activationEvents": [
"onLanguage:c",
"onLanguage:cpp",
+ "onLanguage:cuda",
"onLanguage:objective-c",
"onLanguage:objective-cpp",
"onCommand:clangd-vscode.activate"
@@ -64,6 +65,13 @@
"**/MSVC/*/include/**"
],
"firstLine": "^/[/*].*-\\*-\\s*C\\+\\+\\s*-\\*-.*"
+ },
+ {
+ "id": "cuda",
+ "extensions": [
+ ".cu",
+ ".cuh"
+ ]
}
],
"configuration": {
diff --git a/clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts b/clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
index 330cf7ac262e..1f96cffef255 100644
--- a/clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
+++ b/clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
@@ -83,21 +83,15 @@ export function activate(context: vscode.ExtensionContext) {
}
const serverOptions: vscodelc.ServerOptions = clangd;
- // Note that CUDA ('.cu') files are special. When opening files of all other
- // extensions, VSCode would load clangd automatically. This is achieved by
- // having a corresponding 'onLanguage:...' activation event in package.json.
- // However, VSCode does not have CUDA as a supported language yet, so we
- // cannot add a corresponding activationEvent for CUDA files and clangd will
- // *not* load itself automatically on '.cu' files.
- const cudaFilePattern: string = '**/*.{' + [ 'cu' ].join() + '}';
const clientOptions: vscodelc.LanguageClientOptions = {
// Register the server for c-family and cuda files.
documentSelector: [
{ scheme: 'file', language: 'c' },
{ scheme: 'file', language: 'cpp' },
+ // cuda is not supported by vscode, but our extension does.
+ { scheme: 'file', language: 'cuda' },
{ scheme: 'file', language: 'objective-c'},
- { scheme: 'file', language: 'objective-cpp'},
- { scheme: 'file', pattern: cudaFilePattern },
+ { scheme: 'file', language: 'objective-cpp'}
],
synchronize: !syncFileEvents ? undefined : {
// FIXME: send sync file events when clangd provides implemenatations.
@@ -111,10 +105,10 @@ export function activate(context: vscode.ExtensionContext) {
serverOptions, clientOptions);
if (getConfig<boolean>('semanticHighlighting')) {
const semanticHighlightingFeature =
- new semanticHighlighting.SemanticHighlightingFeature(clangdClient,
- context);
+ new semanticHighlighting.SemanticHighlightingFeature(clangdClient,
+ context);
context.subscriptions.push(
- vscode.Disposable.from(semanticHighlightingFeature));
+ vscode.Disposable.from(semanticHighlightingFeature));
clangdClient.registerFeature(semanticHighlightingFeature);
}
console.log('Clang Language Server is now active!');
More information about the cfe-commits
mailing list