[PATCH] D63323: [clangd] Don't maintain a list of c-family extensions in vscode extension.

Haojian Wu via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 14 02:16:56 PDT 2019


hokein created this revision.
hokein added a reviewer: kadircet.
Herald added subscribers: arphaman, jkorous, MaskRay, ilya-biryukov.
Herald added a project: clang.

There is no need to maintain this list by ourself, vscode already
provides this feature.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D63323

Files:
  clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts


Index: clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
===================================================================
--- clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
+++ clang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
@@ -72,18 +72,19 @@
     // 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. When any of the files
-    // with other extensions are open, clangd will load itself and will also
-    // work on '.cu' files.
-    const filePattern: string = '**/*.{' +
-        ['cpp', 'c', 'cc', 'cu', 'cxx', 'c++', 'm', 'mm',
-            'h', 'hh', 'hpp', 'hxx', 'inc'].join()
-        + '}';
+    // *not* load itself automatically on '.cu' files.
+    const cudaFilePattern: string = '**/*.{' +['cu'].join()+ '}';
     const clientOptions: vscodelc.LanguageClientOptions = {
-        // Register the server for C/C++ files
-        documentSelector: [{ scheme: 'file', pattern: filePattern }],
+        // Register the server for c-family and cuda files.
+        documentSelector: [
+            { scheme: 'file', language: 'c' },
+            { scheme: 'file', language: 'cpp' },
+            { scheme: 'file', language: 'objective-c'},
+            { scheme: 'file', language: 'objective-cpp'},
+            { scheme: 'file', pattern: cudaFilePattern },
+        ],
         synchronize: !syncFileEvents ? undefined : {
-            fileEvents: vscode.workspace.createFileSystemWatcher(filePattern)
+        // FIXME: send sync file events when clangd provides implemenatations.
         },
         initializationOptions: { clangdFileStatus: true },
         // Do not switch to output window when clangd returns output


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D63323.204726.patch
Type: text/x-patch
Size: 1926 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20190614/9f983136/attachment.bin>


More information about the cfe-commits mailing list