提交 7c1c26a3 编写于 作者: A Alex Dima

Fixes #4942: Tweak typescript bundling definitions

上级 2395a89a
......@@ -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/**'
];
......
......@@ -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');
common.define('vs/languages/typescript/common/typescript', 'vs/languages/typescript/common/lib/typescriptServices');
result.push({
name: 'vs/languages/typescript/common/lib/typescriptServices',
exclude: ['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);
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']
});
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;
};
\ No newline at end of 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);
languageServiceMode = client;
disposables.push(client);
const registration = register(
modelService,
markerService,
modeId,
defaults,
(first, ...more) => client.getLanguageServiceWorker(...[first].concat(more))
);
disposables.push(registration);
const registration = register(
modelService,
markerService,
modeId,
defaults,
(first, ...more) => client.getLanguageServiceWorker(...[first].concat(more))
);
disposables.push(registration);
}, err => {
console.error(err);
});
disposables.push(modeService.registerRichEditSupport(modeId, richEditConfiguration));
modeService.registerRichEditSupport(modeId, richEditConfiguration);
modeService.registerTokenizationSupport(modeId, (mode) => {
disposables.push(modeService.registerTokenizationSupport(modeId, (mode) => {
return createTokenizationSupport(mode, language);
});
}));
}
const richEditConfiguration:IRichEditConfiguration = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册