in generators/app/generate-language.js [142:187]
function convertGrammar(location, extensionConfig) {
extensionConfig.languageId = '';
extensionConfig.languageName = '';
extensionConfig.languageScopeName = '';
extensionConfig.languageExtensions = [];
if (!location) {
extensionConfig.languageContent = '';
return Promise.resolve();
}
if (location.match(/\w*:\/\//)) {
// load from url
return request.xhr({ url: location }).then(r => {
if (r.status == 200) {
var contentDisposition = r.headers && r.headers['content-disposition'];
var fileName = '';
if (contentDisposition) {
var fileNameMatch = contentDisposition.match(/filename="([^"]*)/);
if (fileNameMatch) {
fileName = fileNameMatch[1];
}
}
return processContent(extensionConfig, fileName, r.responseText);
} else {
return Promise.reject("Problems loading language definition file: " + r.responseText);
}
});
} else {
// load from disk
var body = null;
// trim the spaces of the location path
location = location.trim()
try {
body = fs.readFileSync(location);
} catch (error) {
return Promise.reject("Problems loading language definition file: " + error.message);
}
if (body) {
return processContent(extensionConfig, path.basename(location), body.toString());
} else {
return Promise.reject("Problems loading language definition file: Not found");
}
}
}