@21epub/epub-thirdparty
Version:
epub-thirdparty
90 lines (89 loc) • 3.34 kB
JavaScript
import '../../editor/editor.api.js';
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { Emitter, languages } from './fillers/monaco-editor-core.js';
var LanguageServiceDefaultsImpl = /** @class */ (function () {
function LanguageServiceDefaultsImpl(languageId, diagnosticsOptions, modeConfiguration) {
this._onDidChange = new Emitter();
this._languageId = languageId;
this.setDiagnosticsOptions(diagnosticsOptions);
this.setModeConfiguration(modeConfiguration);
}
Object.defineProperty(LanguageServiceDefaultsImpl.prototype, "onDidChange", {
get: function () {
return this._onDidChange.event;
},
enumerable: false,
configurable: true
});
Object.defineProperty(LanguageServiceDefaultsImpl.prototype, "languageId", {
get: function () {
return this._languageId;
},
enumerable: false,
configurable: true
});
Object.defineProperty(LanguageServiceDefaultsImpl.prototype, "modeConfiguration", {
get: function () {
return this._modeConfiguration;
},
enumerable: false,
configurable: true
});
Object.defineProperty(LanguageServiceDefaultsImpl.prototype, "diagnosticsOptions", {
get: function () {
return this._diagnosticsOptions;
},
enumerable: false,
configurable: true
});
LanguageServiceDefaultsImpl.prototype.setDiagnosticsOptions = function (options) {
this._diagnosticsOptions = options || Object.create(null);
this._onDidChange.fire(this);
};
LanguageServiceDefaultsImpl.prototype.setModeConfiguration = function (modeConfiguration) {
this._modeConfiguration = modeConfiguration || Object.create(null);
this._onDidChange.fire(this);
};
return LanguageServiceDefaultsImpl;
}());
var diagnosticDefault = {
validate: true,
allowComments: true,
schemas: [],
enableSchemaRequest: false,
schemaRequest: 'warning',
schemaValidation: 'warning',
comments: 'error',
trailingCommas: 'error'
};
var modeConfigurationDefault = {
documentFormattingEdits: true,
documentRangeFormattingEdits: true,
completionItems: true,
hovers: true,
documentSymbols: true,
tokens: true,
colors: true,
foldingRanges: true,
diagnostics: true,
selectionRanges: true
};
export var jsonDefaults = new LanguageServiceDefaultsImpl('json', diagnosticDefault, modeConfigurationDefault);
// export to the global based API
languages.json = { jsonDefaults: jsonDefaults };
// --- Registration to monaco editor ---
function getMode() {
return import('./jsonMode.js');
}
languages.register({
id: 'json',
extensions: ['.json', '.bowerrc', '.jshintrc', '.jscsrc', '.eslintrc', '.babelrc', '.har'],
aliases: ['JSON', 'json'],
mimetypes: ['application/json']
});
languages.onLanguage('json', function () {
getMode().then(function (mode) { return mode.setupMode(jsonDefaults); });
});