Fixes #4942: Tweak typescript bundling definitions

This commit is contained in:
Alex Dima
2016-04-08 17:36:30 +02:00
parent 2395a89ab8
commit 7c1c26a31a
3 changed files with 27 additions and 31 deletions

View File

@@ -28,7 +28,6 @@ var editorResources = [
'out-build/vs/{base,editor}/**/*.{svg,png}',
'out-build/vs/base/worker/workerMainCompatibility.html',
'out-build/vs/base/worker/workerMain.{js,js.map}',
'out-build/vs/languages/typescript/common/lib/lib.{d.ts,es6.d.ts}',
'!out-build/vs/workbench/**',
'!**/test/**'
];

View File

@@ -32,6 +32,7 @@ var EntryPoint = (function() {
};
return EntryPoint;
})();
exports.collectModules = function(args) {
var result = [];
@@ -45,17 +46,20 @@ exports.collectModules = function(args) {
// ---- typescript & javascript -----------------
common.define('vs/languages/typescript/common/lib/typescriptServices');
result.push({
name: 'vs/languages/typescript/common/lib/typescriptServices',
exclude: ['vs/css', 'vs/nls', 'vs/text']
});
common.define('vs/languages/typescript/common/typescript', 'vs/languages/typescript/common/lib/typescriptServices');
result.push({
name: 'vs/languages/typescript/common/worker',
exclude: ['vs/base/common/worker/simpleWorker', 'vs/languages/typescript/common/lib/typescriptServices', 'vs/css', 'vs/nls', 'vs/text']
});
var EXCLUDES = ['vs/languages/typescript/common/lib/typescriptServices', 'vs/languages/typescript/common/typescript'];
common.define('vs/languages/typescript/common/mode', EXCLUDES)
.combine(worker)
.define('vs/languages/typescript/common/worker', EXCLUDES);
common.define('vs/languages/typescript/common/workerManager', EXCLUDES);
result.push({
name: 'vs/languages/typescript/common/mode',
exclude: ['vs/editor/editor.main', 'vs/languages/typescript/common/lib/typescriptServices', 'vs/css', 'vs/nls', 'vs/text']
});
return result;
};

View File

@@ -15,36 +15,29 @@ import {IMarkerService} from 'vs/platform/markers/common/markers';
import {LanguageServiceDefaults, typeScriptDefaults, javaScriptDefaults, LanguageServiceMode} from './typescript';
import {register} from './languageFeatures';
import {ServicesAccessor} from 'vs/platform/instantiation/common/instantiation';
import * as workerManager from 'vs/languages/typescript/common/workerManager';
function setupMode(modelService:IModelService, markerService:IMarkerService, modeService:IModeService, defaults:LanguageServiceDefaults, modeId:string, language:Language): void {
let disposables: lifecycle.IDisposable[] = [];
let languageServiceMode: LanguageServiceMode;
require(['vs/languages/typescript/common/workerManager'], workerManager => {
const client = <LanguageServiceMode & lifecycle.IDisposable>workerManager.create(defaults, modelService);
disposables.push(client);
const client = <LanguageServiceMode & lifecycle.IDisposable>workerManager.create(defaults, modelService);
const registration = register(
modelService,
markerService,
modeId,
defaults,
(first, ...more) => client.getLanguageServiceWorker(...[first].concat(more))
);
disposables.push(registration);
languageServiceMode = client;
disposables.push(client);
disposables.push(modeService.registerRichEditSupport(modeId, richEditConfiguration));
const registration = register(
modelService,
markerService,
modeId,
defaults,
(first, ...more) => client.getLanguageServiceWorker(...[first].concat(more))
);
disposables.push(registration);
}, err => {
console.error(err);
});
modeService.registerRichEditSupport(modeId, richEditConfiguration);
modeService.registerTokenizationSupport(modeId, (mode) => {
disposables.push(modeService.registerTokenizationSupport(modeId, (mode) => {
return createTokenizationSupport(mode, language);
});
}));
}
const richEditConfiguration:IRichEditConfiguration = {