mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-23 01:25:38 -05:00
68 lines
2.0 KiB
JavaScript
68 lines
2.0 KiB
JavaScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
//@ts-check
|
|
'use strict';
|
|
|
|
(function () {
|
|
|
|
function uriFromPath(_path) {
|
|
let pathName = _path.replace(/\\/g, '/');
|
|
if (pathName.length > 0 && pathName.charAt(0) !== '/') {
|
|
pathName = '/' + pathName;
|
|
}
|
|
|
|
let uri;
|
|
if (navigator.userAgent.indexOf('Windows') >= 0 && pathName.startsWith('//')) { // specially handle Windows UNC paths
|
|
uri = encodeURI('file:' + pathName);
|
|
} else {
|
|
uri = encodeURI('file://' + pathName);
|
|
}
|
|
|
|
return uri.replace(/#/g, '%23');
|
|
}
|
|
|
|
function parseURLQueryArgs() {
|
|
const search = window.location.search || '';
|
|
|
|
return search.split(/[?&]/)
|
|
.filter(function (param) { return !!param; })
|
|
.map(function (param) { return param.split('='); })
|
|
.filter(function (param) { return param.length === 2; })
|
|
.reduce(function (r, param) { r[param[0]] = decodeURIComponent(param[1]); return r; }, {});
|
|
}
|
|
|
|
function loadScript(path, callback) {
|
|
let script = document.createElement('script');
|
|
script.onload = callback;
|
|
script.async = true;
|
|
script.type = 'text/javascript';
|
|
script.src = path;
|
|
document.head.appendChild(script);
|
|
}
|
|
|
|
loadScript('../../../../../out/vs/loader.js', function () {
|
|
|
|
const args = parseURLQueryArgs();
|
|
const configuration = JSON.parse(args['config'] || '{}') || {};
|
|
|
|
// @ts-ignore
|
|
require.config({
|
|
baseUrl: uriFromPath(configuration.appRoot) + '/out',
|
|
});
|
|
|
|
// @ts-ignore
|
|
require([
|
|
'vs/workbench/workbench.nodeless.main',
|
|
'vs/nls!vs/workbench/workbench.nodeless.main',
|
|
'vs/css!vs/workbench/workbench.nodeless.main'
|
|
], function () {
|
|
|
|
// @ts-ignore
|
|
require('vs/workbench/browser/nodeless.main').main().then(undefined, console.error);
|
|
});
|
|
});
|
|
})();
|