summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2017-12-18 11:29:45 +0000
committerSam McCall <sam.mccall@gmail.com>2017-12-18 11:29:45 +0000
commit9273ad9cdfc8f854530e046232e21ab79169a4fb (patch)
tree7faac30588e34fcf9eeea89d115433ae35f6612f
parent43d6a1c27721aaabf38e7f78fa368aec001430bf (diff)
[clangd] in VSCode client, filter extensions properly and only accept file: URIs
Summary: The filtering wasn't previously working as intended - the string list is interpreted as a list of editor modes, not file extensions. (It happens to mostly work as "c" and "cpp" are the names of modes, but we're missing objective-c) The file: restriction is new - clangd needs to be able to convert URI<->path in order to determine how to build. Reviewers: hokein Subscribers: klimek, ilya-biryukov, cfe-commits Differential Revision: https://reviews.llvm.org/D41343 git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@320972 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--clangd/clients/clangd-vscode/src/extension.ts8
1 files changed, 4 insertions, 4 deletions
diff --git a/clangd/clients/clangd-vscode/src/extension.ts b/clangd/clients/clangd-vscode/src/extension.ts
index 47c13a18..65f3d455 100644
--- a/clangd/clients/clangd-vscode/src/extension.ts
+++ b/clangd/clients/clangd-vscode/src/extension.ts
@@ -22,11 +22,11 @@ export function activate(context: vscode.ExtensionContext) {
const serverOptions: vscodelc.ServerOptions = { command: clangdPath, args: clangdArgs };
- const cppFileExtensions: string[] = ['cpp', 'c', 'cc', 'cxx', 'c++', 'm', 'mm', 'h', 'hh', 'hpp', 'hxx', 'inc'];
- const cppFileExtensionsPattern = cppFileExtensions.join();
+ const filePattern: string = '**/*.{' +
+ ['cpp', 'c', 'cc', 'cxx', 'c++', 'm', 'mm', 'h', 'hh', 'hpp', 'hxx', 'inc'].join() + '}';
const clientOptions: vscodelc.LanguageClientOptions = {
// Register the server for C/C++ files
- documentSelector: cppFileExtensions,
+ documentSelector: [{scheme: 'file', pattern: filePattern}],
uriConverters: {
// FIXME: by default the URI sent over the protocol will be percent encoded (see rfc3986#section-2.1)
// the "workaround" below disables temporarily the encoding until decoding
@@ -35,7 +35,7 @@ export function activate(context: vscode.ExtensionContext) {
protocol2Code: (uri: string) : vscode.Uri => vscode.Uri.parse(uri)
},
synchronize: !syncFileEvents ? undefined : {
- fileEvents: vscode.workspace.createFileSystemWatcher('**/*.{' + cppFileExtensionsPattern + '}')
+ fileEvents: vscode.workspace.createFileSystemWatcher(filePattern)
}
};