Skip to content

Commit

Permalink
output: disable monarch mode and "language" configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
bpasero committed Jun 8, 2016
1 parent 0387162 commit 9a57fba
Showing 1 changed file with 4 additions and 50 deletions.
54 changes: 4 additions & 50 deletions src/vs/workbench/parts/output/common/outputMode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
*--------------------------------------------------------------------------------------------*/
'use strict';

import types = require('vs/editor/common/modes/monarch/monarchTypes');
import {compile} from 'vs/editor/common/modes/monarch/monarchCompile';
import {IModeDescriptor} from 'vs/editor/common/modes';
import {IInstantiationService} from 'vs/platform/instantiation/common/instantiation';
import {IModelService} from 'vs/editor/common/services/modelService';
Expand All @@ -17,79 +15,35 @@ import URI from 'vs/base/common/uri';
import * as modes from 'vs/editor/common/modes';
import {IEditorWorkerService} from 'vs/editor/common/services/editorWorkerService';
import {AbstractMode, ModeWorkerManager} from 'vs/editor/common/modes/abstractMode';
import {createTokenizationSupport} from 'vs/editor/common/modes/monarch/monarchLexer';
import {LanguageConfigurationRegistry, IRichLanguageConfiguration} from 'vs/editor/common/modes/languageConfigurationRegistry';
import {wireCancellationToken} from 'vs/base/common/async';

export const language: types.IMonarchLanguage = {
defaultToken: '',
tokenPostfix: '.log',
ignoreCase: true,

tokenizer: {
root: [

// Log levels
[/^\[trace.*?\]|trace:?/, 'debug-token.output'],
[/^\[http.*?\]|http:?/, 'debug-token.output'],
[/^\[debug.*?\]|debug:?/, 'debug-token.output'],
[/^\[verbose.*?\]|verbose:?/, 'debug-token.output'],
[/^\[information.*?\]|information:?/, 'info-token.output'],
[/^\[info.*?\]|info:?/, 'info-token.output'],
[/^\[warning.*?\]|warning:?/, 'warn-token.output'],
[/^\[warn.*?\]|warn:?/, 'warn-token.output'],
[/^\[error.*?\]|error:?/, 'error-token.output'],
[/^\[fatal.*?\]|fatal:?/, 'error-token.output']
]
}
};

export class OutputMode extends AbstractMode {

public static LANG_CONFIG:IRichLanguageConfiguration = {
brackets: [['{','}'], ['[',']'], ['(',')'], ['<','>']],
autoClosingPairs: [
{ open: '"', close: '"', notIn: ['string', 'comment'] },
{ open: '\'', close: '\'', notIn: ['string', 'comment'] },
{ open: '{', close: '}', notIn: ['string', 'comment'] },
{ open: '[', close: ']', notIn: ['string', 'comment'] },
{ open: '(', close: ')', notIn: ['string', 'comment'] },
{ open: '<', close: '>', notIn: ['string', 'comment'] },
]
};

public tokenizationSupport: modes.ITokenizationSupport;

private _modeWorkerManager: ModeWorkerManager<OutputWorker>;

constructor(
descriptor:IModeDescriptor,
descriptor: IModeDescriptor,
@IInstantiationService instantiationService: IInstantiationService,
@IModeService modeService: IModeService,
@IModelService modelService: IModelService,
@IEditorWorkerService editorWorkerService: IEditorWorkerService
) {
super(descriptor.id);
let lexer = compile(descriptor.id, language);
this._modeWorkerManager = new ModeWorkerManager<OutputWorker>(descriptor, 'vs/workbench/parts/output/common/outputWorker', 'OutputWorker', null, instantiationService);

this.tokenizationSupport = createTokenizationSupport(modeService, this, lexer);

LanguageConfigurationRegistry.register(this.getId(), OutputMode.LANG_CONFIG);

modes.LinkProviderRegistry.register(this.getId(), {
provideLinks: (model, token): Thenable<modes.ILink[]> => {
return wireCancellationToken(token, this._provideLinks(model.uri));
}
});
}

private _worker<T>(runner:(worker:OutputWorker)=>winjs.TPromise<T>): winjs.TPromise<T> {
private _worker<T>(runner: (worker: OutputWorker) => winjs.TPromise<T>): winjs.TPromise<T> {
return this._modeWorkerManager.worker(runner);
}

static $_provideLinks = OneWorkerAttr(OutputMode, OutputMode.prototype._provideLinks);
private _provideLinks(resource:URI):winjs.TPromise<modes.ILink[]> {
private _provideLinks(resource: URI): winjs.TPromise<modes.ILink[]> {
return this._worker((w) => w.provideLinks(resource));
}
}
}

0 comments on commit 9a57fba

Please sign in to comment.