in language-server/src/server.ts [283:324]
function updateConfiguration() {
let languageSettings: LanguageSettings = {
validate: true,
schemas: [],
customTags: customTags
};
if (schemaAssociations) {
for (var pattern in schemaAssociations) {
let association = schemaAssociations[pattern];
if (Array.isArray(association)) {
association.forEach(uri => {
languageSettings = configureSchemas(uri, [pattern], null, languageSettings);
});
}
}
}
if (schemaConfigurationSettings) {
schemaConfigurationSettings.forEach(schema => {
let uri = schema.url;
if (!uri && schema.schema) {
uri = schema.schema.id;
}
if (!uri && schema.fileMatch) {
uri = 'vscode://schemas/custom/' + encodeURIComponent(schema.fileMatch.join('&'));
}
if (uri) {
if (uri[0] === '.' && workspaceRoot && !hasWorkspaceFolderCapability) {
// workspace relative path
uri = URI.file(path.normalize(path.join(workspaceRoot.fsPath, uri))).toString();
}
languageSettings = configureSchemas(uri, schema.fileMatch, schema.schema, languageSettings);
}
});
}
if(schemaStoreSettings){
languageSettings.schemas = languageSettings.schemas.concat(schemaStoreSettings);
}
customLanguageService.configure(languageSettings);
// Revalidate any open text documents
documents.all().forEach(triggerValidation);
}