This commit is contained in:
Pine Wu
2019-08-27 09:25:15 -07:00
parent 04d52502b8
commit 739ae7737a
6 changed files with 80 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import * as path from 'path';
import { workspace, WorkspaceFolder, extensions } from 'vscode';
interface ExperimentalConfig {
customData?: string[];
experimental?: {
customData?: string[];
};
@@ -19,6 +20,21 @@ export function getCustomDataPathsInAllWorkspaces(workspaceFolders: WorkspaceFol
return dataPaths;
}
workspaceFolders.forEach(wf => {
const allCssConfig = workspace.getConfiguration(undefined, wf.uri);
const wfCSSConfig = allCssConfig.inspect<ExperimentalConfig>('css');
if (wfCSSConfig && wfCSSConfig.workspaceFolderValue && wfCSSConfig.workspaceFolderValue.customData) {
const customData = wfCSSConfig.workspaceFolderValue.customData;
if (Array.isArray(customData)) {
customData.forEach(t => {
if (typeof t === 'string') {
dataPaths.push(path.resolve(wf.uri.fsPath, t));
}
});
}
}
});
workspaceFolders.forEach(wf => {
const allCssConfig = workspace.getConfiguration(undefined, wf.uri);
const wfCSSConfig = allCssConfig.inspect<ExperimentalConfig>('css');
@@ -48,7 +64,20 @@ export function getCustomDataPathsFromAllExtensions(): string[] {
for (const extension of extensions.all) {
const contributes = extension.packageJSON && extension.packageJSON.contributes;
if (contributes && contributes.css && contributes.css.experimental.customData && Array.isArray(contributes.css.experimental.customData)) {
if (contributes && contributes.css && contributes.css.customData && Array.isArray(contributes.css.customData)) {
const relativePaths: string[] = contributes.css.customData;
relativePaths.forEach(rp => {
dataPaths.push(path.resolve(extension.extensionPath, rp));
});
}
if (
contributes &&
contributes.css &&
contributes.experimental &&
contributes.css.experimental.customData &&
Array.isArray(contributes.css.experimental.customData)
) {
const relativePaths: string[] = contributes.css.experimental.customData;
relativePaths.forEach(rp => {
dataPaths.push(path.resolve(extension.extensionPath, rp));