mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Remove checked in compiled files (#23277)
This commit is contained in:
@@ -1,359 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
* Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
var _cssPluginGlobal = this;
|
||||
var CSSBuildLoaderPlugin;
|
||||
(function (CSSBuildLoaderPlugin) {
|
||||
var global = (_cssPluginGlobal || {});
|
||||
var BrowserCSSLoader = /** @class */ (function () {
|
||||
function BrowserCSSLoader() {
|
||||
this._pendingLoads = 0;
|
||||
}
|
||||
BrowserCSSLoader.prototype.attachListeners = function (name, linkNode, callback, errorback) {
|
||||
var unbind = function () {
|
||||
linkNode.removeEventListener('load', loadEventListener);
|
||||
linkNode.removeEventListener('error', errorEventListener);
|
||||
};
|
||||
var loadEventListener = function (e) {
|
||||
unbind();
|
||||
callback();
|
||||
};
|
||||
var errorEventListener = function (e) {
|
||||
unbind();
|
||||
errorback(e);
|
||||
};
|
||||
linkNode.addEventListener('load', loadEventListener);
|
||||
linkNode.addEventListener('error', errorEventListener);
|
||||
};
|
||||
BrowserCSSLoader.prototype._onLoad = function (name, callback) {
|
||||
this._pendingLoads--;
|
||||
callback();
|
||||
};
|
||||
BrowserCSSLoader.prototype._onLoadError = function (name, errorback, err) {
|
||||
this._pendingLoads--;
|
||||
errorback(err);
|
||||
};
|
||||
BrowserCSSLoader.prototype._insertLinkNode = function (linkNode) {
|
||||
this._pendingLoads++;
|
||||
var head = document.head || document.getElementsByTagName('head')[0];
|
||||
var other = head.getElementsByTagName('link') || head.getElementsByTagName('script');
|
||||
if (other.length > 0) {
|
||||
head.insertBefore(linkNode, other[other.length - 1]);
|
||||
}
|
||||
else {
|
||||
head.appendChild(linkNode);
|
||||
}
|
||||
};
|
||||
BrowserCSSLoader.prototype.createLinkTag = function (name, cssUrl, externalCallback, externalErrorback) {
|
||||
var _this = this;
|
||||
var linkNode = document.createElement('link');
|
||||
linkNode.setAttribute('rel', 'stylesheet');
|
||||
linkNode.setAttribute('type', 'text/css');
|
||||
linkNode.setAttribute('data-name', name);
|
||||
var callback = function () { return _this._onLoad(name, externalCallback); };
|
||||
var errorback = function (err) { return _this._onLoadError(name, externalErrorback, err); };
|
||||
this.attachListeners(name, linkNode, callback, errorback);
|
||||
linkNode.setAttribute('href', cssUrl);
|
||||
return linkNode;
|
||||
};
|
||||
BrowserCSSLoader.prototype._linkTagExists = function (name, cssUrl) {
|
||||
var i, len, nameAttr, hrefAttr, links = document.getElementsByTagName('link');
|
||||
for (i = 0, len = links.length; i < len; i++) {
|
||||
nameAttr = links[i].getAttribute('data-name');
|
||||
hrefAttr = links[i].getAttribute('href');
|
||||
if (nameAttr === name || hrefAttr === cssUrl) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
BrowserCSSLoader.prototype.load = function (name, cssUrl, externalCallback, externalErrorback) {
|
||||
if (this._linkTagExists(name, cssUrl)) {
|
||||
externalCallback();
|
||||
return;
|
||||
}
|
||||
var linkNode = this.createLinkTag(name, cssUrl, externalCallback, externalErrorback);
|
||||
this._insertLinkNode(linkNode);
|
||||
};
|
||||
return BrowserCSSLoader;
|
||||
}());
|
||||
var NodeCSSLoader = /** @class */ (function () {
|
||||
function NodeCSSLoader() {
|
||||
this.fs = require.nodeRequire('fs');
|
||||
}
|
||||
NodeCSSLoader.prototype.load = function (name, cssUrl, externalCallback, externalErrorback) {
|
||||
var contents = this.fs.readFileSync(cssUrl, 'utf8');
|
||||
// Remove BOM
|
||||
if (contents.charCodeAt(0) === NodeCSSLoader.BOM_CHAR_CODE) {
|
||||
contents = contents.substring(1);
|
||||
}
|
||||
externalCallback(contents);
|
||||
};
|
||||
NodeCSSLoader.BOM_CHAR_CODE = 65279;
|
||||
return NodeCSSLoader;
|
||||
}());
|
||||
// ------------------------------ Finally, the plugin
|
||||
var CSSPlugin = /** @class */ (function () {
|
||||
function CSSPlugin(cssLoader) {
|
||||
this.cssLoader = cssLoader;
|
||||
}
|
||||
CSSPlugin.prototype.load = function (name, req, load, config) {
|
||||
config = config || {};
|
||||
var myConfig = config['vs/css'] || {};
|
||||
global.inlineResources = myConfig.inlineResources;
|
||||
global.inlineResourcesLimit = myConfig.inlineResourcesLimit || 5000;
|
||||
var cssUrl = req.toUrl(name + '.css');
|
||||
this.cssLoader.load(name, cssUrl, function (contents) {
|
||||
// Contents has the CSS file contents if we are in a build
|
||||
if (config.isBuild) {
|
||||
CSSPlugin.BUILD_MAP[name] = contents;
|
||||
CSSPlugin.BUILD_PATH_MAP[name] = cssUrl;
|
||||
}
|
||||
load({});
|
||||
}, function (err) {
|
||||
if (typeof load.error === 'function') {
|
||||
load.error('Could not find ' + cssUrl + ' or it was empty');
|
||||
}
|
||||
});
|
||||
};
|
||||
CSSPlugin.prototype.write = function (pluginName, moduleName, write) {
|
||||
// getEntryPoint is a Monaco extension to r.js
|
||||
var entryPoint = write.getEntryPoint();
|
||||
// r.js destroys the context of this plugin between calling 'write' and 'writeFile'
|
||||
// so the only option at this point is to leak the data to a global
|
||||
global.cssPluginEntryPoints = global.cssPluginEntryPoints || {};
|
||||
global.cssPluginEntryPoints[entryPoint] = global.cssPluginEntryPoints[entryPoint] || [];
|
||||
global.cssPluginEntryPoints[entryPoint].push({
|
||||
moduleName: moduleName,
|
||||
contents: CSSPlugin.BUILD_MAP[moduleName],
|
||||
fsPath: CSSPlugin.BUILD_PATH_MAP[moduleName],
|
||||
});
|
||||
write.asModule(pluginName + '!' + moduleName, 'define([\'vs/css!' + entryPoint + '\'], {});');
|
||||
};
|
||||
CSSPlugin.prototype.writeFile = function (pluginName, moduleName, req, write, config) {
|
||||
if (global.cssPluginEntryPoints && global.cssPluginEntryPoints.hasOwnProperty(moduleName)) {
|
||||
var fileName = req.toUrl(moduleName + '.css');
|
||||
var contents = [
|
||||
'/*---------------------------------------------------------',
|
||||
' * Copyright (c) Microsoft Corporation. All rights reserved.',
|
||||
' *--------------------------------------------------------*/'
|
||||
], entries = global.cssPluginEntryPoints[moduleName];
|
||||
for (var i = 0; i < entries.length; i++) {
|
||||
if (global.inlineResources) {
|
||||
contents.push(Utilities.rewriteOrInlineUrls(entries[i].fsPath, entries[i].moduleName, moduleName, entries[i].contents, global.inlineResources === 'base64', global.inlineResourcesLimit));
|
||||
}
|
||||
else {
|
||||
contents.push(Utilities.rewriteUrls(entries[i].moduleName, moduleName, entries[i].contents));
|
||||
}
|
||||
}
|
||||
write(fileName, contents.join('\r\n'));
|
||||
}
|
||||
};
|
||||
CSSPlugin.prototype.getInlinedResources = function () {
|
||||
return global.cssInlinedResources || [];
|
||||
};
|
||||
CSSPlugin.BUILD_MAP = {};
|
||||
CSSPlugin.BUILD_PATH_MAP = {};
|
||||
return CSSPlugin;
|
||||
}());
|
||||
CSSBuildLoaderPlugin.CSSPlugin = CSSPlugin;
|
||||
var Utilities = /** @class */ (function () {
|
||||
function Utilities() {
|
||||
}
|
||||
Utilities.startsWith = function (haystack, needle) {
|
||||
return haystack.length >= needle.length && haystack.substr(0, needle.length) === needle;
|
||||
};
|
||||
/**
|
||||
* Find the path of a file.
|
||||
*/
|
||||
Utilities.pathOf = function (filename) {
|
||||
var lastSlash = filename.lastIndexOf('/');
|
||||
if (lastSlash !== -1) {
|
||||
return filename.substr(0, lastSlash + 1);
|
||||
}
|
||||
else {
|
||||
return '';
|
||||
}
|
||||
};
|
||||
/**
|
||||
* A conceptual a + b for paths.
|
||||
* Takes into account if `a` contains a protocol.
|
||||
* Also normalizes the result: e.g.: a/b/ + ../c => a/c
|
||||
*/
|
||||
Utilities.joinPaths = function (a, b) {
|
||||
function findSlashIndexAfterPrefix(haystack, prefix) {
|
||||
if (Utilities.startsWith(haystack, prefix)) {
|
||||
return Math.max(prefix.length, haystack.indexOf('/', prefix.length));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
var aPathStartIndex = 0;
|
||||
aPathStartIndex = aPathStartIndex || findSlashIndexAfterPrefix(a, '//');
|
||||
aPathStartIndex = aPathStartIndex || findSlashIndexAfterPrefix(a, 'http://');
|
||||
aPathStartIndex = aPathStartIndex || findSlashIndexAfterPrefix(a, 'https://');
|
||||
function pushPiece(pieces, piece) {
|
||||
if (piece === './') {
|
||||
// Ignore
|
||||
return;
|
||||
}
|
||||
if (piece === '../') {
|
||||
var prevPiece = (pieces.length > 0 ? pieces[pieces.length - 1] : null);
|
||||
if (prevPiece && prevPiece === '/') {
|
||||
// Ignore
|
||||
return;
|
||||
}
|
||||
if (prevPiece && prevPiece !== '../') {
|
||||
// Pop
|
||||
pieces.pop();
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Push
|
||||
pieces.push(piece);
|
||||
}
|
||||
function push(pieces, path) {
|
||||
while (path.length > 0) {
|
||||
var slashIndex = path.indexOf('/');
|
||||
var piece = (slashIndex >= 0 ? path.substring(0, slashIndex + 1) : path);
|
||||
path = (slashIndex >= 0 ? path.substring(slashIndex + 1) : '');
|
||||
pushPiece(pieces, piece);
|
||||
}
|
||||
}
|
||||
var pieces = [];
|
||||
push(pieces, a.substr(aPathStartIndex));
|
||||
if (b.length > 0 && b.charAt(0) === '/') {
|
||||
pieces = [];
|
||||
}
|
||||
push(pieces, b);
|
||||
return a.substring(0, aPathStartIndex) + pieces.join('');
|
||||
};
|
||||
Utilities.commonPrefix = function (str1, str2) {
|
||||
var len = Math.min(str1.length, str2.length);
|
||||
for (var i = 0; i < len; i++) {
|
||||
if (str1.charCodeAt(i) !== str2.charCodeAt(i)) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
return str1.substring(0, i);
|
||||
};
|
||||
Utilities.commonFolderPrefix = function (fromPath, toPath) {
|
||||
var prefix = Utilities.commonPrefix(fromPath, toPath);
|
||||
var slashIndex = prefix.lastIndexOf('/');
|
||||
if (slashIndex === -1) {
|
||||
return '';
|
||||
}
|
||||
return prefix.substring(0, slashIndex + 1);
|
||||
};
|
||||
Utilities.relativePath = function (fromPath, toPath) {
|
||||
if (Utilities.startsWith(toPath, '/') || Utilities.startsWith(toPath, 'http://') || Utilities.startsWith(toPath, 'https://')) {
|
||||
return toPath;
|
||||
}
|
||||
// Ignore common folder prefix
|
||||
var prefix = Utilities.commonFolderPrefix(fromPath, toPath);
|
||||
fromPath = fromPath.substr(prefix.length);
|
||||
toPath = toPath.substr(prefix.length);
|
||||
var upCount = fromPath.split('/').length;
|
||||
var result = '';
|
||||
for (var i = 1; i < upCount; i++) {
|
||||
result += '../';
|
||||
}
|
||||
return result + toPath;
|
||||
};
|
||||
Utilities._replaceURL = function (contents, replacer) {
|
||||
// Use ")" as the terminator as quotes are oftentimes not used at all
|
||||
return contents.replace(/url\(\s*([^\)]+)\s*\)?/g, function (_) {
|
||||
var matches = [];
|
||||
for (var _i = 1; _i < arguments.length; _i++) {
|
||||
matches[_i - 1] = arguments[_i];
|
||||
}
|
||||
var url = matches[0];
|
||||
// Eliminate starting quotes (the initial whitespace is not captured)
|
||||
if (url.charAt(0) === '"' || url.charAt(0) === '\'') {
|
||||
url = url.substring(1);
|
||||
}
|
||||
// The ending whitespace is captured
|
||||
while (url.length > 0 && (url.charAt(url.length - 1) === ' ' || url.charAt(url.length - 1) === '\t')) {
|
||||
url = url.substring(0, url.length - 1);
|
||||
}
|
||||
// Eliminate ending quotes
|
||||
if (url.charAt(url.length - 1) === '"' || url.charAt(url.length - 1) === '\'') {
|
||||
url = url.substring(0, url.length - 1);
|
||||
}
|
||||
if (!Utilities.startsWith(url, 'data:') && !Utilities.startsWith(url, 'http://') && !Utilities.startsWith(url, 'https://')) {
|
||||
url = replacer(url);
|
||||
}
|
||||
return 'url(' + url + ')';
|
||||
});
|
||||
};
|
||||
Utilities.rewriteUrls = function (originalFile, newFile, contents) {
|
||||
return this._replaceURL(contents, function (url) {
|
||||
var absoluteUrl = Utilities.joinPaths(Utilities.pathOf(originalFile), url);
|
||||
return Utilities.relativePath(newFile, absoluteUrl);
|
||||
});
|
||||
};
|
||||
Utilities.rewriteOrInlineUrls = function (originalFileFSPath, originalFile, newFile, contents, forceBase64, inlineByteLimit) {
|
||||
var fs = require.nodeRequire('fs');
|
||||
var path = require.nodeRequire('path');
|
||||
return this._replaceURL(contents, function (url) {
|
||||
if (/\.(svg|png)$/.test(url)) {
|
||||
var fsPath = path.join(path.dirname(originalFileFSPath), url);
|
||||
var fileContents = fs.readFileSync(fsPath);
|
||||
if (fileContents.length < inlineByteLimit) {
|
||||
global.cssInlinedResources = global.cssInlinedResources || [];
|
||||
var normalizedFSPath = fsPath.replace(/\\/g, '/');
|
||||
if (global.cssInlinedResources.indexOf(normalizedFSPath) >= 0) {
|
||||
// console.warn('CSS INLINING IMAGE AT ' + fsPath + ' MORE THAN ONCE. CONSIDER CONSOLIDATING CSS RULES');
|
||||
}
|
||||
global.cssInlinedResources.push(normalizedFSPath);
|
||||
var MIME = /\.svg$/.test(url) ? 'image/svg+xml' : 'image/png';
|
||||
var DATA = ';base64,' + fileContents.toString('base64');
|
||||
if (!forceBase64 && /\.svg$/.test(url)) {
|
||||
// .svg => url encode as explained at https://codepen.io/tigt/post/optimizing-svgs-in-data-uris
|
||||
var newText = fileContents.toString()
|
||||
.replace(/"/g, '\'')
|
||||
.replace(/%/g, '%25')
|
||||
.replace(/</g, '%3C')
|
||||
.replace(/>/g, '%3E')
|
||||
.replace(/&/g, '%26')
|
||||
.replace(/#/g, '%23')
|
||||
.replace(/\s+/g, ' ');
|
||||
var encodedData = ',' + newText;
|
||||
if (encodedData.length < DATA.length) {
|
||||
DATA = encodedData;
|
||||
}
|
||||
}
|
||||
return '"data:' + MIME + DATA + '"';
|
||||
}
|
||||
}
|
||||
var absoluteUrl = Utilities.joinPaths(Utilities.pathOf(originalFile), url);
|
||||
return Utilities.relativePath(newFile, absoluteUrl);
|
||||
});
|
||||
};
|
||||
return Utilities;
|
||||
}());
|
||||
CSSBuildLoaderPlugin.Utilities = Utilities;
|
||||
(function () {
|
||||
var cssLoader = null;
|
||||
var isElectron = (typeof process !== 'undefined' && typeof process.versions !== 'undefined' && typeof process.versions['electron'] !== 'undefined');
|
||||
if (typeof process !== 'undefined' && process.versions && !!process.versions.node && !isElectron) {
|
||||
cssLoader = new NodeCSSLoader();
|
||||
}
|
||||
else {
|
||||
cssLoader = new BrowserCSSLoader();
|
||||
}
|
||||
define('vs/css', new CSSPlugin(cssLoader));
|
||||
})();
|
||||
})(CSSBuildLoaderPlugin || (CSSBuildLoaderPlugin = {}));
|
||||
111
src/vs/css.js
111
src/vs/css.js
@@ -1,111 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
* Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
var CSSLoaderPlugin;
|
||||
(function (CSSLoaderPlugin) {
|
||||
var BrowserCSSLoader = /** @class */ (function () {
|
||||
function BrowserCSSLoader() {
|
||||
this._pendingLoads = 0;
|
||||
}
|
||||
BrowserCSSLoader.prototype.attachListeners = function (name, linkNode, callback, errorback) {
|
||||
var unbind = function () {
|
||||
linkNode.removeEventListener('load', loadEventListener);
|
||||
linkNode.removeEventListener('error', errorEventListener);
|
||||
};
|
||||
var loadEventListener = function (e) {
|
||||
unbind();
|
||||
callback();
|
||||
};
|
||||
var errorEventListener = function (e) {
|
||||
unbind();
|
||||
errorback(e);
|
||||
};
|
||||
linkNode.addEventListener('load', loadEventListener);
|
||||
linkNode.addEventListener('error', errorEventListener);
|
||||
};
|
||||
BrowserCSSLoader.prototype._onLoad = function (name, callback) {
|
||||
this._pendingLoads--;
|
||||
callback();
|
||||
};
|
||||
BrowserCSSLoader.prototype._onLoadError = function (name, errorback, err) {
|
||||
this._pendingLoads--;
|
||||
errorback(err);
|
||||
};
|
||||
BrowserCSSLoader.prototype._insertLinkNode = function (linkNode) {
|
||||
this._pendingLoads++;
|
||||
var head = document.head || document.getElementsByTagName('head')[0];
|
||||
head.appendChild(linkNode);
|
||||
};
|
||||
BrowserCSSLoader.prototype.createLinkTag = function (name, cssUrl, externalCallback, externalErrorback) {
|
||||
var _this = this;
|
||||
var linkNode = document.createElement('link');
|
||||
linkNode.setAttribute('rel', 'stylesheet');
|
||||
linkNode.setAttribute('type', 'text/css');
|
||||
linkNode.setAttribute('data-name', name);
|
||||
var callback = function () { return _this._onLoad(name, externalCallback); };
|
||||
var errorback = function (err) { return _this._onLoadError(name, externalErrorback, err); };
|
||||
this.attachListeners(name, linkNode, callback, errorback);
|
||||
linkNode.setAttribute('href', cssUrl);
|
||||
return linkNode;
|
||||
};
|
||||
BrowserCSSLoader.prototype._linkTagExists = function (name, cssUrl) {
|
||||
var i, len, nameAttr, hrefAttr, links = document.getElementsByTagName('link');
|
||||
for (i = 0, len = links.length; i < len; i++) {
|
||||
nameAttr = links[i].getAttribute('data-name');
|
||||
hrefAttr = links[i].getAttribute('href');
|
||||
if (nameAttr === name || hrefAttr === cssUrl) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
BrowserCSSLoader.prototype.load = function (name, cssUrl, externalCallback, externalErrorback) {
|
||||
if (this._linkTagExists(name, cssUrl)) {
|
||||
externalCallback();
|
||||
return;
|
||||
}
|
||||
var linkNode = this.createLinkTag(name, cssUrl, externalCallback, externalErrorback);
|
||||
this._insertLinkNode(linkNode);
|
||||
};
|
||||
return BrowserCSSLoader;
|
||||
}());
|
||||
// ------------------------------ Finally, the plugin
|
||||
var CSSPlugin = /** @class */ (function () {
|
||||
function CSSPlugin() {
|
||||
this._cssLoader = new BrowserCSSLoader();
|
||||
}
|
||||
CSSPlugin.prototype.load = function (name, req, load, config) {
|
||||
config = config || {};
|
||||
var cssConfig = config['vs/css'] || {};
|
||||
if (cssConfig.disabled) {
|
||||
// the plugin is asked to not create any style sheets
|
||||
load({});
|
||||
return;
|
||||
}
|
||||
var cssUrl = req.toUrl(name + '.css');
|
||||
this._cssLoader.load(name, cssUrl, function (contents) {
|
||||
load({});
|
||||
}, function (err) {
|
||||
if (typeof load.error === 'function') {
|
||||
load.error('Could not find ' + cssUrl + ' or it was empty');
|
||||
}
|
||||
});
|
||||
};
|
||||
return CSSPlugin;
|
||||
}());
|
||||
CSSLoaderPlugin.CSSPlugin = CSSPlugin;
|
||||
define('vs/css', new CSSPlugin());
|
||||
})(CSSLoaderPlugin || (CSSLoaderPlugin = {}));
|
||||
@@ -1,181 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
* Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
var _nlsPluginGlobal = this;
|
||||
var NLSBuildLoaderPlugin;
|
||||
(function (NLSBuildLoaderPlugin) {
|
||||
var global = (_nlsPluginGlobal || {});
|
||||
var Resources = global.Plugin && global.Plugin.Resources ? global.Plugin.Resources : undefined;
|
||||
var IS_PSEUDO = (global && global.document && global.document.location && global.document.location.hash.indexOf('pseudo=true') >= 0);
|
||||
function _format(message, args) {
|
||||
var result;
|
||||
if (args.length === 0) {
|
||||
result = message;
|
||||
}
|
||||
else {
|
||||
result = message.replace(/\{(\d+)\}/g, function (match, rest) {
|
||||
var index = rest[0];
|
||||
return typeof args[index] !== 'undefined' ? args[index] : match;
|
||||
});
|
||||
}
|
||||
if (IS_PSEUDO) {
|
||||
// FF3B and FF3D is the Unicode zenkaku representation for [ and ]
|
||||
result = '\uFF3B' + result.replace(/[aouei]/g, '$&$&') + '\uFF3D';
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function findLanguageForModule(config, name) {
|
||||
var result = config[name];
|
||||
if (result)
|
||||
return result;
|
||||
result = config['*'];
|
||||
if (result)
|
||||
return result;
|
||||
return null;
|
||||
}
|
||||
function localize(data, message) {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < (arguments.length - 2); _i++) {
|
||||
args[_i] = arguments[_i + 2];
|
||||
}
|
||||
return _format(message, args);
|
||||
}
|
||||
function createScopedLocalize(scope) {
|
||||
return function (idx, defaultValue) {
|
||||
var restArgs = Array.prototype.slice.call(arguments, 2);
|
||||
return _format(scope[idx], restArgs);
|
||||
};
|
||||
}
|
||||
var NLSPlugin = /** @class */ (function () {
|
||||
function NLSPlugin() {
|
||||
this.localize = localize;
|
||||
}
|
||||
NLSPlugin.prototype.setPseudoTranslation = function (value) {
|
||||
IS_PSEUDO = value;
|
||||
};
|
||||
NLSPlugin.prototype.create = function (key, data) {
|
||||
return {
|
||||
localize: createScopedLocalize(data[key])
|
||||
};
|
||||
};
|
||||
NLSPlugin.prototype.load = function (name, req, load, config) {
|
||||
config = config || {};
|
||||
if (!name || name.length === 0) {
|
||||
load({
|
||||
localize: localize
|
||||
});
|
||||
}
|
||||
else {
|
||||
var suffix = void 0;
|
||||
if (Resources && Resources.getString) {
|
||||
suffix = '.nls.keys';
|
||||
req([name + suffix], function (keyMap) {
|
||||
load({
|
||||
localize: function (moduleKey, index) {
|
||||
if (!keyMap[moduleKey])
|
||||
return 'NLS error: unknown key ' + moduleKey;
|
||||
var mk = keyMap[moduleKey].keys;
|
||||
if (index >= mk.length)
|
||||
return 'NLS error unknown index ' + index;
|
||||
var subKey = mk[index];
|
||||
var args = [];
|
||||
args[0] = moduleKey + '_' + subKey;
|
||||
for (var _i = 0; _i < (arguments.length - 2); _i++) {
|
||||
args[_i + 1] = arguments[_i + 2];
|
||||
}
|
||||
return Resources.getString.apply(Resources, args);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
else {
|
||||
if (config.isBuild) {
|
||||
req([name + '.nls', name + '.nls.keys'], function (messages, keys) {
|
||||
NLSPlugin.BUILD_MAP[name] = messages;
|
||||
NLSPlugin.BUILD_MAP_KEYS[name] = keys;
|
||||
load(messages);
|
||||
});
|
||||
}
|
||||
else {
|
||||
var pluginConfig = config['vs/nls'] || {};
|
||||
var language = pluginConfig.availableLanguages ? findLanguageForModule(pluginConfig.availableLanguages, name) : null;
|
||||
suffix = '.nls';
|
||||
if (language !== null && language !== NLSPlugin.DEFAULT_TAG) {
|
||||
suffix = suffix + '.' + language;
|
||||
}
|
||||
req([name + suffix], function (messages) {
|
||||
if (Array.isArray(messages)) {
|
||||
messages.localize = createScopedLocalize(messages);
|
||||
}
|
||||
else {
|
||||
messages.localize = createScopedLocalize(messages[name]);
|
||||
}
|
||||
load(messages);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
NLSPlugin.prototype._getEntryPointsMap = function () {
|
||||
global.nlsPluginEntryPoints = global.nlsPluginEntryPoints || {};
|
||||
return global.nlsPluginEntryPoints;
|
||||
};
|
||||
NLSPlugin.prototype.write = function (pluginName, moduleName, write) {
|
||||
// getEntryPoint is a Monaco extension to r.js
|
||||
var entryPoint = write.getEntryPoint();
|
||||
// r.js destroys the context of this plugin between calling 'write' and 'writeFile'
|
||||
// so the only option at this point is to leak the data to a global
|
||||
var entryPointsMap = this._getEntryPointsMap();
|
||||
entryPointsMap[entryPoint] = entryPointsMap[entryPoint] || [];
|
||||
entryPointsMap[entryPoint].push(moduleName);
|
||||
if (moduleName !== entryPoint) {
|
||||
write.asModule(pluginName + '!' + moduleName, 'define([\'vs/nls\', \'vs/nls!' + entryPoint + '\'], function(nls, data) { return nls.create("' + moduleName + '", data); });');
|
||||
}
|
||||
};
|
||||
NLSPlugin.prototype.writeFile = function (pluginName, moduleName, req, write, config) {
|
||||
var entryPointsMap = this._getEntryPointsMap();
|
||||
if (entryPointsMap.hasOwnProperty(moduleName)) {
|
||||
var fileName = req.toUrl(moduleName + '.nls.js');
|
||||
var contents = [
|
||||
'/*---------------------------------------------------------',
|
||||
' * Copyright (c) Microsoft Corporation. All rights reserved.',
|
||||
' *--------------------------------------------------------*/'
|
||||
], entries = entryPointsMap[moduleName];
|
||||
var data = {};
|
||||
for (var i = 0; i < entries.length; i++) {
|
||||
data[entries[i]] = NLSPlugin.BUILD_MAP[entries[i]];
|
||||
}
|
||||
contents.push('define("' + moduleName + '.nls", ' + JSON.stringify(data, null, '\t') + ');');
|
||||
write(fileName, contents.join('\r\n'));
|
||||
}
|
||||
};
|
||||
NLSPlugin.prototype.finishBuild = function (write) {
|
||||
write('nls.metadata.json', JSON.stringify({
|
||||
keys: NLSPlugin.BUILD_MAP_KEYS,
|
||||
messages: NLSPlugin.BUILD_MAP,
|
||||
bundles: this._getEntryPointsMap()
|
||||
}, null, '\t'));
|
||||
};
|
||||
NLSPlugin.DEFAULT_TAG = 'i-default';
|
||||
NLSPlugin.BUILD_MAP = {};
|
||||
NLSPlugin.BUILD_MAP_KEYS = {};
|
||||
return NLSPlugin;
|
||||
}());
|
||||
NLSBuildLoaderPlugin.NLSPlugin = NLSPlugin;
|
||||
(function () {
|
||||
define('vs/nls', new NLSPlugin());
|
||||
})();
|
||||
})(NLSBuildLoaderPlugin || (NLSBuildLoaderPlugin = {}));
|
||||
25
src/vs/nls.d.ts
vendored
25
src/vs/nls.d.ts
vendored
@@ -1,25 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
export interface ILocalizeInfo {
|
||||
key: string;
|
||||
comment: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Localize a message.
|
||||
*
|
||||
* `message` can contain `{n}` notation where it is replaced by the nth value in `...args`
|
||||
* For example, `localize({ key: 'sayHello', comment: ['Welcomes user'] }, 'hello {0}', name)`
|
||||
*/
|
||||
export declare function localize(info: ILocalizeInfo, message: string, ...args: (string | number | boolean | undefined | null)[]): string;
|
||||
|
||||
/**
|
||||
* Localize a message.
|
||||
*
|
||||
* `message` can contain `{n}` notation where it is replaced by the nth value in `...args`
|
||||
* For example, `localize('sayHello', 'hello {0}', name)`
|
||||
*/
|
||||
export declare function localize(key: string, message: string, ...args: (string | number | boolean | undefined | null)[]): string;
|
||||
167
src/vs/nls.js
167
src/vs/nls.js
@@ -1,167 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
* Please make sure to make edits in the .ts file at https://github.com/microsoft/vscode-loader/
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*---------------------------------------------------------------------------------------------
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
var __spreadArrays = (this && this.__spreadArrays) || function () {
|
||||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
|
||||
for (var r = Array(s), k = 0, i = 0; i < il; i++)
|
||||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
|
||||
r[k] = a[j];
|
||||
return r;
|
||||
};
|
||||
var NLSLoaderPlugin;
|
||||
(function (NLSLoaderPlugin) {
|
||||
var Environment = /** @class */ (function () {
|
||||
function Environment() {
|
||||
this._detected = false;
|
||||
this._isPseudo = false;
|
||||
}
|
||||
Object.defineProperty(Environment.prototype, "isPseudo", {
|
||||
get: function () {
|
||||
this._detect();
|
||||
return this._isPseudo;
|
||||
},
|
||||
enumerable: false,
|
||||
configurable: true
|
||||
});
|
||||
Environment.prototype._detect = function () {
|
||||
if (this._detected) {
|
||||
return;
|
||||
}
|
||||
this._detected = true;
|
||||
this._isPseudo = (typeof document !== 'undefined' && document.location && document.location.hash.indexOf('pseudo=true') >= 0);
|
||||
};
|
||||
return Environment;
|
||||
}());
|
||||
function _format(message, args, env) {
|
||||
var result;
|
||||
if (args.length === 0) {
|
||||
result = message;
|
||||
}
|
||||
else {
|
||||
result = message.replace(/\{(\d+)\}/g, function (match, rest) {
|
||||
var index = rest[0];
|
||||
var arg = args[index];
|
||||
var result = match;
|
||||
if (typeof arg === 'string') {
|
||||
result = arg;
|
||||
}
|
||||
else if (typeof arg === 'number' || typeof arg === 'boolean' || arg === void 0 || arg === null) {
|
||||
result = String(arg);
|
||||
}
|
||||
return result;
|
||||
});
|
||||
}
|
||||
if (env.isPseudo) {
|
||||
// FF3B and FF3D is the Unicode zenkaku representation for [ and ]
|
||||
result = '\uFF3B' + result.replace(/[aouei]/g, '$&$&') + '\uFF3D';
|
||||
}
|
||||
return result;
|
||||
}
|
||||
function findLanguageForModule(config, name) {
|
||||
var result = config[name];
|
||||
if (result)
|
||||
return result;
|
||||
result = config['*'];
|
||||
if (result)
|
||||
return result;
|
||||
return null;
|
||||
}
|
||||
function localize(env, data, message) {
|
||||
var args = [];
|
||||
for (var _i = 3; _i < arguments.length; _i++) {
|
||||
args[_i - 3] = arguments[_i];
|
||||
}
|
||||
return _format(message, args, env);
|
||||
}
|
||||
function createScopedLocalize(scope, env) {
|
||||
return function (idx, defaultValue) {
|
||||
var restArgs = Array.prototype.slice.call(arguments, 2);
|
||||
return _format(scope[idx], restArgs, env);
|
||||
};
|
||||
}
|
||||
var NLSPlugin = /** @class */ (function () {
|
||||
function NLSPlugin(env) {
|
||||
var _this = this;
|
||||
this._env = env;
|
||||
this.localize = function (data, message) {
|
||||
var args = [];
|
||||
for (var _i = 2; _i < arguments.length; _i++) {
|
||||
args[_i - 2] = arguments[_i];
|
||||
}
|
||||
return localize.apply(void 0, __spreadArrays([_this._env, data, message], args));
|
||||
};
|
||||
}
|
||||
NLSPlugin.prototype.setPseudoTranslation = function (value) {
|
||||
this._env._isPseudo = value;
|
||||
};
|
||||
NLSPlugin.prototype.create = function (key, data) {
|
||||
return {
|
||||
localize: createScopedLocalize(data[key], this._env)
|
||||
};
|
||||
};
|
||||
NLSPlugin.prototype.load = function (name, req, load, config) {
|
||||
var _this = this;
|
||||
var _a;
|
||||
config = config || {};
|
||||
if (!name || name.length === 0) {
|
||||
load({
|
||||
localize: this.localize
|
||||
});
|
||||
}
|
||||
else {
|
||||
var pluginConfig = config['vs/nls'] || {};
|
||||
var language = pluginConfig.availableLanguages ? findLanguageForModule(pluginConfig.availableLanguages, name) : null;
|
||||
var suffix = '.nls';
|
||||
if (language !== null && language !== NLSPlugin.DEFAULT_TAG) {
|
||||
suffix = suffix + '.' + language;
|
||||
}
|
||||
var messagesLoaded_1 = function (messages) {
|
||||
if (Array.isArray(messages)) {
|
||||
messages.localize = createScopedLocalize(messages, _this._env);
|
||||
}
|
||||
else {
|
||||
messages.localize = createScopedLocalize(messages[name], _this._env);
|
||||
}
|
||||
load(messages);
|
||||
};
|
||||
if (typeof pluginConfig.loadBundle === 'function') {
|
||||
pluginConfig.loadBundle(name, language, function (err, messages) {
|
||||
// We have an error. Load the English default strings to not fail
|
||||
if (err) {
|
||||
req([name + '.nls'], messagesLoaded_1);
|
||||
}
|
||||
else {
|
||||
messagesLoaded_1(messages);
|
||||
}
|
||||
});
|
||||
}
|
||||
else {
|
||||
var base = (_a = pluginConfig.baseUrl) !== null && _a !== void 0 ? _a : '';
|
||||
req([base + name + suffix], messagesLoaded_1, function (err) {
|
||||
var _a;
|
||||
// We have an error. Load the English default strings instead.
|
||||
console.warn("Falling back to default strings. Unable to load translations because of: " + ((_a = err.message) !== null && _a !== void 0 ? _a : err));
|
||||
req([name + '.nls'], messagesLoaded_1);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
NLSPlugin.DEFAULT_TAG = 'i-default';
|
||||
return NLSPlugin;
|
||||
}());
|
||||
NLSLoaderPlugin.NLSPlugin = NLSPlugin;
|
||||
define('vs/nls', new NLSPlugin(new Environment()));
|
||||
})(NLSLoaderPlugin || (NLSLoaderPlugin = {}));
|
||||
Reference in New Issue
Block a user