Use the global monaco only in the AMD case (see microsoft/monaco-editor#1974)

This commit is contained in:
Alex Dima 2020-09-08 13:40:42 +02:00
parent 1af07d9cdb
commit d7cc098c48
No known key found for this signature in database
GPG key ID: 6E58D7B045760DA0
80 changed files with 347 additions and 387 deletions

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
/.idea/
/*.iml
/node_modules/
/out/
/release/

View file

@ -1,4 +1,5 @@
/.vscode/
/out/
/release/**/*.test.js
/release/**/test/
/scripts/
@ -7,6 +8,8 @@
/gulpfile.js
/tsconfig.json
/.npmignore
/.prettierrc
/.prettierignore
/.travis.yml
/.editorconfig
/azure-pipelines.yml

2
.prettierignore Normal file
View file

@ -0,0 +1,2 @@
/out/
/release/

36
package-lock.json generated
View file

@ -330,16 +330,16 @@
"dev": true
},
"cosmiconfig": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
"integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz",
"integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==",
"dev": true,
"requires": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.1.0",
"import-fresh": "^3.2.1",
"parse-json": "^5.0.0",
"path-type": "^4.0.0",
"yaml": "^1.7.2"
"yaml": "^1.10.0"
}
},
"cross-spawn": {
@ -775,15 +775,15 @@
"dev": true
},
"husky": {
"version": "4.2.5",
"resolved": "https://registry.npmjs.org/husky/-/husky-4.2.5.tgz",
"integrity": "sha512-SYZ95AjKcX7goYVZtVZF2i6XiZcHknw50iXvY7b0MiGoj5RwdgRQNEHdb+gPDPCXKlzwrybjFjkL6FOj8uRhZQ==",
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/husky/-/husky-4.3.0.tgz",
"integrity": "sha512-tTMeLCLqSBqnflBZnlVDhpaIMucSGaYyX6855jM4AguGeWCeSzNdb1mfyWduTZ3pe3SJVvVWGL0jO1iKZVPfTA==",
"dev": true,
"requires": {
"chalk": "^4.0.0",
"ci-info": "^2.0.0",
"compare-versions": "^3.6.0",
"cosmiconfig": "^6.0.0",
"cosmiconfig": "^7.0.0",
"find-versions": "^3.2.0",
"opencollective-postinstall": "^2.0.2",
"pkg-dir": "^4.2.0",
@ -958,9 +958,9 @@
}
},
"json-parse-even-better-errors": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.0.tgz",
"integrity": "sha512-o3aP+RsWDJZayj1SbHNQAI8x0v3T3SKiGoZlNYfbUP1S3omJQ6i9CnqADqkSPaOAxwua4/1YWx5CM7oiChJt2Q==",
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
"json-schema": {
@ -1665,9 +1665,9 @@
}
},
"terser": {
"version": "4.8.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
"integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-5.3.0.tgz",
"integrity": "sha512-XTT3D3AwxC54KywJijmY2mxZ8nJiEjBHVYzq8l9OaYuRFWeQNBwvipuzzYEP4e+/AVcd1hqG/CqgsdIRyT45Fg==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@ -1726,9 +1726,9 @@
}
},
"typescript": {
"version": "3.7.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz",
"integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==",
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz",
"integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==",
"dev": true
},
"uri-js": {

View file

@ -3,11 +3,11 @@
"version": "1.10.0",
"description": "Bundle of many languages for the Monaco Editor.",
"scripts": {
"compile": "mrmdir ./release && tsc -p ./src/tsconfig.json && tsc -p ./src/tsconfig.esm.json",
"compile": "mrmdir ./out && tsc -p ./src/tsconfig.json && tsc -p ./src/tsconfig.esm.json",
"watch": "tsc -p ./src --watch",
"watch-esm": "tsc -p ./src/tsconfig.esm.json --watch",
"test": "tape -r ./test/all.js",
"prepublishOnly": "npm run compile && node ./scripts/bundle",
"prepublishOnly": "mrmdir ./release && npm run compile && node ./scripts/release.js && node ./scripts/bundle",
"prettier": "prettier --write ."
},
"author": "Microsoft Corporation",
@ -22,16 +22,16 @@
"devDependencies": {
"@types/tape": "^4.2.34",
"glob": "^7.1.6",
"husky": "^4.2.5",
"husky": "^4.3.0",
"jsdom": "^16.4.0",
"monaco-editor-core": "0.20.0",
"monaco-plugin-helpers": "^1.0.2",
"monaco-plugin-helpers": "^1.0.3",
"prettier": "^2.1.1",
"pretty-quick": "^3.0.0",
"requirejs": "^2.3.6",
"tape": "^4.13.2",
"terser": "^4.6.6",
"typescript": "3.7.5"
"terser": "^5.3.0",
"typescript": "4.0.2"
},
"husky": {
"hooks": {

View file

@ -22,45 +22,60 @@ const BUNDLED_FILE_HEADER = [
].join('\n');
bundleOne('monaco.contribution');
glob(
'release/dev/*/*.contribution.js',
{ cwd: path.dirname(__dirname) },
function (err, files) {
glob('out/amd/*/*.contribution.js', { cwd: path.dirname(__dirname) }, function (
err,
files
) {
if (err) {
console.log(err);
return;
}
files.forEach(function (file) {
file = file.replace(/\.contribution\.js$/, '');
file = file.replace(/release[/\\]dev[/\\]/, '');
bundleOne(file);
file = file.replace(/out[/\\]amd[/\\]/, '');
bundleOne(file, ['vs/basic-languages/monaco.contribution']);
});
}
);
});
function bundleOne(moduleId, exclude) {
requirejs.optimize(
{
baseUrl: 'release/dev/',
baseUrl: 'out/amd/',
name: 'vs/basic-languages/' + moduleId,
out: 'release/min/' + moduleId + '.js',
out: 'release/dev/' + moduleId + '.js',
exclude: exclude,
paths: {
'vs/basic-languages': REPO_ROOT + '/release/dev'
'vs/basic-languages': REPO_ROOT + '/out/amd',
'vs/basic-languages/fillers/monaco-editor-core':
REPO_ROOT + '/out/amd/fillers/monaco-editor-core-amd'
},
optimize: 'none'
},
function (buildResponse) {
const filePath = path.join(
async function (buildResponse) {
const devFilePath = path.join(
REPO_ROOT,
'release/dev/' + moduleId + '.js'
);
const minFilePath = path.join(
REPO_ROOT,
'release/min/' + moduleId + '.js'
);
const fileContents = fs.readFileSync(filePath).toString();
const fileContents = fs.readFileSync(devFilePath).toString();
console.log();
console.log(`Minifying ${filePath}...`);
const result = terser.minify(fileContents);
console.log(`Done.`);
fs.writeFileSync(filePath, BUNDLED_FILE_HEADER + result.code);
console.log(`Minifying ${devFilePath}...`);
const result = await terser.minify(fileContents, {
output: {
comments: 'some'
}
});
console.log(`Done minifying ${devFilePath}.`);
try {
fs.mkdirSync(path.join(REPO_ROOT, 'release/min'));
} catch (err) {}
try {
fs.mkdirSync(path.dirname(minFilePath));
} catch (err) {}
fs.writeFileSync(minFilePath, BUNDLED_FILE_HEADER + result.code);
}
);
}

17
scripts/release.js Normal file
View file

@ -0,0 +1,17 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
const path = require('path');
const helpers = require('monaco-plugin-helpers');
const REPO_ROOT = path.join(__dirname, '../');
helpers.packageESM({
repoRoot: REPO_ROOT,
esmSource: 'out/esm',
esmDestination: 'release/esm',
entryPoints: ['monaco.contribution.js'],
resolveSkip: ['monaco-editor-core']
});

View file

@ -3,17 +3,15 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
import { languages } from './fillers/monaco-editor-core';
interface ILang extends monaco.languages.ILanguageExtensionPoint {
interface ILang extends languages.ILanguageExtensionPoint {
loader: () => Promise<ILangImpl>;
}
interface ILangImpl {
conf: monaco.languages.LanguageConfiguration;
language: monaco.languages.IMonarchLanguage;
conf: languages.LanguageConfiguration;
language: languages.IMonarchLanguage;
}
const languageDefinitions: { [languageId: string]: ILang } = {};
@ -68,16 +66,16 @@ export function registerLanguage(def: ILang): void {
const languageId = def.id;
languageDefinitions[languageId] = def;
_monaco.languages.register(def);
languages.register(def);
const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);
_monaco.languages.setMonarchTokensProvider(
languages.setMonarchTokensProvider(
languageId,
lazyLanguageLoader.whenLoaded().then((mod) => mod.language)
);
_monaco.languages.onLanguage(languageId, () => {
languages.onLanguage(languageId, () => {
lazyLanguageLoader.load().then((mod) => {
_monaco.languages.setLanguageConfiguration(languageId, mod.conf);
languages.setLanguageConfiguration(languageId, mod.conf);
});
});
}

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '*'
},
@ -423,7 +422,7 @@ const abapKeywords = [
'final'
];
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: 'invalid',
ignoreCase: true,
tokenPostfix: '.abap',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -201,7 +200,7 @@ keywords.forEach((lowercase) => {
keywordsWithCaseVariations.push(uppercaseFirstLetter(lowercase));
});
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.apex',

View file

@ -3,16 +3,15 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: 'keyword',
ignoreCase: true,
tokenPostfix: '.azcli',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: 'REM'
},
@ -34,7 +33,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: true,
tokenPostfix: '.bat',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['(*', '*)']
@ -33,7 +32,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.cameligo',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: ';;'
},
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: true,
tokenPostfix: '.clj',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
blockComment: ['###', '###'],
@ -39,7 +38,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: true,
tokenPostfix: '.coffee',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -38,7 +37,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.cpp',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: '//',
@ -40,7 +39,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.cs',

View file

@ -3,16 +3,15 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
brackets: [],
autoClosingPairs: [],
surroundingPairs: []
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
// Set defaultToken to invalid to see what you do not tokenize yet
// defaultToken: 'invalid',
keywords: [],

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import LanguageConfiguration = monaco.languages.LanguageConfiguration;
import IMonarchLanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: LanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,
comments: {
@ -43,7 +42,7 @@ export const conf: LanguageConfiguration = {
}
};
export const language = <IMonarchLanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.css',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import LanguageConfiguration = monaco.languages.LanguageConfiguration;
import IMonarchLanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: LanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -44,7 +43,7 @@ export const conf: LanguageConfiguration = {
}
};
export const language = <IMonarchLanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: 'invalid',
tokenPostfix: '.dart',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
brackets: [
['{', '}'],
['[', ']'],
@ -28,7 +27,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.dockerfile',

View file

@ -0,0 +1,12 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
// Resolves with the global monaco API
declare const define: any;
define([], function () {
return (<any>self).monaco;
});

View file

@ -0,0 +1,6 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
export * from 'monaco-editor-core';

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['(*', '*)']
@ -41,7 +40,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.fs',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -34,7 +33,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.go',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
},
@ -34,7 +33,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: 'invalid',
tokenPostfix: '.gql',

View file

@ -3,12 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
import { languages } from '../fillers/monaco-editor-core';
const EMPTY_ELEMENTS: string[] = [
'area',
@ -29,7 +24,7 @@ const EMPTY_ELEMENTS: string[] = [
'wbr'
];
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
@ -68,7 +63,7 @@ export const conf: IRichLanguageConfiguration = {
),
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
action: {
indentAction: _monaco.languages.IndentAction.IndentOutdent
indentAction: languages.IndentAction.IndentOutdent
}
},
{
@ -78,12 +73,12 @@ export const conf: IRichLanguageConfiguration = {
)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
'i'
),
action: { indentAction: _monaco.languages.IndentAction.Indent }
action: { indentAction: languages.IndentAction.Indent }
}
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '',
// ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -30,7 +29,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.hcl',

View file

@ -3,12 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
import { languages } from '../fillers/monaco-editor-core';
const EMPTY_ELEMENTS: string[] = [
'area',
@ -29,7 +24,7 @@ const EMPTY_ELEMENTS: string[] = [
'wbr'
];
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
@ -70,7 +65,7 @@ export const conf: IRichLanguageConfiguration = {
),
afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
action: {
indentAction: _monaco.languages.IndentAction.IndentOutdent
indentAction: languages.IndentAction.IndentOutdent
}
},
{
@ -80,7 +75,7 @@ export const conf: IRichLanguageConfiguration = {
)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
'i'
),
action: { indentAction: _monaco.languages.IndentAction.Indent }
action: { indentAction: languages.IndentAction.Indent }
}
],
@ -92,7 +87,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.html',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
},
@ -31,7 +30,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.ini',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -45,7 +44,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.java',

View file

@ -7,16 +7,11 @@ import {
conf as tsConf,
language as tsLanguage
} from '../typescript/typescript';
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
export const conf: languages.LanguageConfiguration = tsConf;
export const conf: IRichLanguageConfiguration = tsConf;
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: 'invalid',
tokenPostfix: '.js',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
brackets: [
['{', '}'],
['[', ']'],
@ -28,7 +27,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.julia',
keywords: [

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -45,7 +44,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.kt',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(#?-?\d*\.\d\w*%?)|([@#!.:]?[\w-?]+%?)|[@#!.]/g,
comments: {
blockComment: ['/*', '*/'],
@ -39,7 +38,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.less',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: 'COMMENT'
// blockComment: ['COMMENT', '.'],
@ -36,7 +35,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
// Set defaultToken to invalid to see what you do not tokenize yet
// defaultToken: 'invalid',
tokenPostfix: '.lexon',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '--',
blockComment: ['--[[', ']]']
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.lua',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
blockComment: ['<!--', '-->']
},
@ -34,7 +33,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.md',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
blockComment: ['###', '###'],
@ -20,7 +19,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: false,
tokenPostfix: '.mips',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -25,7 +24,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.msdax',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '--',
blockComment: ['/*', '*/']
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sql',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.objective-c',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
// the default separators except `@$`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -41,7 +40,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.pascal',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['(*', '*)']
@ -33,7 +32,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.pascaligo',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
},
@ -33,7 +32,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.perl',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '--',
blockComment: ['/*', '*/']
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sql',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -36,7 +35,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '',
// ignoreCase: true,

View file

@ -5,10 +5,9 @@
* Based on the ATS/Postiats lexer by Hongwei Xi.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['(*', '*)']
@ -27,7 +26,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.pats',
// TODO: staload and dynload are followed by a special kind of string literals

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -24,7 +23,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.pq',
ignoreCase: false,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
// the default separators except `$-`
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -40,7 +39,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: true,
tokenPostfix: '.ps1',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//'
},
@ -27,7 +26,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.pug',

View file

@ -3,14 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import { languages } from '../fillers/monaco-editor-core';
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#',
blockComment: ["'''", "'''"]
@ -39,7 +34,7 @@ export const conf: IRichLanguageConfiguration = {
beforeText: new RegExp(
'^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async).*?:\\s*$'
),
action: { indentAction: _monaco.languages.IndentAction.Indent }
action: { indentAction: languages.IndentAction.Indent }
}
],
folding: {
@ -51,7 +46,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.python',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
},
@ -29,7 +28,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.r',

View file

@ -3,12 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
import { languages } from '../fillers/monaco-editor-core';
const EMPTY_ELEMENTS: string[] = [
'area',
@ -29,7 +24,7 @@ const EMPTY_ELEMENTS: string[] = [
'wbr'
];
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
@ -67,7 +62,7 @@ export const conf: IRichLanguageConfiguration = {
),
afterText: /^<\/(\w[\w\d]*)\s*>$/i,
action: {
indentAction: _monaco.languages.IndentAction.IndentOutdent
indentAction: languages.IndentAction.IndentOutdent
}
},
{
@ -77,12 +72,12 @@ export const conf: IRichLanguageConfiguration = {
)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,
'i'
),
action: { indentAction: _monaco.languages.IndentAction.Indent }
action: { indentAction: languages.IndentAction.Indent }
}
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '',
// ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
brackets: [
['{', '}'],
['[', ']'],
@ -28,7 +27,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.redis',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '--',
blockComment: ['/*', '*/']
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sql',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
brackets: [
['{', '}'],
['[', ']'],
@ -31,7 +30,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.rst',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#',
blockComment: ['=begin', '=end']
@ -89,7 +88,7 @@ export const conf: IRichLanguageConfiguration = {
* regular expression can also contain comments.
*/
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.ruby',
keywords: [

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -38,7 +37,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.rust',
defaultToken: 'invalid',
keywords: [

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: "'"
},
@ -25,7 +24,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sb',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
/*
* `...` is allowed as an identifier.
* $ is allowed in identifiers.
@ -49,7 +48,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.scala',
// We can't easily add everything from Dotty, but we can at least add some of its keywords

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: ';',
blockComment: ['#|', '|#']
@ -33,7 +32,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: true,
tokenPostfix: '.scheme',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import LanguageConfiguration = monaco.languages.LanguageConfiguration;
import IMonarchLanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: LanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(#?-?\d*\.\d\w*%?)|([@$#!.:]?[\w-?]+%?)|[@#!.]/g,
comments: {
blockComment: ['/*', '*/'],
@ -39,7 +38,7 @@ export const conf: LanguageConfiguration = {
}
};
export const language = <IMonarchLanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.scss',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
},
@ -33,7 +32,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
ignoreCase: true,
tokenPostfix: '.shell',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -25,7 +24,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sol',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -25,7 +24,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.aes',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '--',
blockComment: ['/*', '*/']
@ -32,7 +31,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sql',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['(*', '*)']
@ -116,7 +115,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.st',
ignoreCase: true,

View file

@ -2,10 +2,9 @@
* Copyright (C) David Owens II, owensd.io. All rights reserved.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -33,7 +32,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.swift',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
@ -64,7 +63,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.sv',

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
brackets: [
['{', '}'],
['[', ']'],
@ -28,7 +27,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.tcl',
specialFunctions: [

View file

@ -6,10 +6,7 @@
import '../monaco.contribution';
import { loadLanguage } from '../_.contribution';
import * as test from 'tape';
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
import { editor } from '../fillers/monaco-editor-core';
export interface IRelaxedToken {
startIndex: number;
@ -56,7 +53,7 @@ function runTests(
function runTest(t: test.Test, languageId: string, test: ITestItem[]): void {
let text = test.map((t) => t.line).join('\n');
let actualTokens = _monaco.editor.tokenize(text, languageId);
let actualTokens = editor.tokenize(text, languageId);
let actual = actualTokens.map((lineTokens, index) => {
return {
line: test[index].line,

View file

@ -1,7 +1,8 @@
{
"compilerOptions": {
"module": "esnext",
"outDir": "../release/esm",
"moduleResolution": "node",
"outDir": "../out/esm",
"target": "es5",
"lib": [
"dom",
@ -10,7 +11,5 @@
"es2015.iterable",
"es2015.promise"
]
},
"include": ["**/*.ts"],
"files": ["../node_modules/monaco-editor-core/monaco.d.ts"]
}
}

View file

@ -1,7 +1,8 @@
{
"compilerOptions": {
"module": "amd",
"outDir": "../release/dev",
"moduleResolution": "node",
"outDir": "../out/amd",
"target": "es5",
"strict": true,
"lib": [
@ -11,7 +12,5 @@
"es2015.iterable",
"es2015.promise"
]
},
"include": ["**/*.ts"],
"files": ["../node_modules/monaco-editor-core/monaco.d.ts"]
}
}

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
comments: {
@ -44,7 +43,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '',
ignoreCase: true,

View file

@ -3,14 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import { languages } from '../fillers/monaco-editor-core';
// Allow for running under nodejs/requirejs in tests
const _monaco: typeof monaco =
typeof monaco === 'undefined' ? (<any>self).monaco : monaco;
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
@ -30,7 +25,7 @@ export const conf: IRichLanguageConfiguration = {
beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,
afterText: /^\s*\*\/$/,
action: {
indentAction: _monaco.languages.IndentAction.IndentOutdent,
indentAction: languages.IndentAction.IndentOutdent,
appendText: ' * '
}
},
@ -38,7 +33,7 @@ export const conf: IRichLanguageConfiguration = {
// e.g. /** ...|
beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,
action: {
indentAction: _monaco.languages.IndentAction.None,
indentAction: languages.IndentAction.None,
appendText: ' * '
}
},
@ -46,7 +41,7 @@ export const conf: IRichLanguageConfiguration = {
// e.g. * ...|
beforeText: /^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,
action: {
indentAction: _monaco.languages.IndentAction.None,
indentAction: languages.IndentAction.None,
appendText: '* '
}
},
@ -54,7 +49,7 @@ export const conf: IRichLanguageConfiguration = {
// e.g. */|
beforeText: /^(\t|(\ \ ))*\ \*\/\s*$/,
action: {
indentAction: _monaco.languages.IndentAction.None,
indentAction: languages.IndentAction.None,
removeText: 1
}
}

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: "'",
blockComment: ['/*', '*/']
@ -57,7 +56,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.vb',
ignoreCase: true,

View file

@ -3,10 +3,9 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
blockComment: ['<!--', '-->']
},
@ -23,7 +22,7 @@ export const conf: IRichLanguageConfiguration = {
]
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
defaultToken: '',
tokenPostfix: '.xml',

View file

@ -1,7 +1,6 @@
import IRichLanguageConfiguration = monaco.languages.LanguageConfiguration;
import ILanguage = monaco.languages.IMonarchLanguage;
import type { languages } from '../fillers/monaco-editor-core';
export const conf: IRichLanguageConfiguration = {
export const conf: languages.LanguageConfiguration = {
comments: {
lineComment: '#'
},
@ -29,7 +28,7 @@ export const conf: IRichLanguageConfiguration = {
}
};
export const language = <ILanguage>{
export const language = <languages.IMonarchLanguage>{
tokenPostfix: '.yaml',
brackets: [

View file

@ -8,6 +8,8 @@ requirejs.config({
paths: {
'vs/css': 'test/css.mock',
'vs/nls': 'test/nls.mock',
'out/amd/fillers/monaco-editor-core':
'out/amd/fillers/monaco-editor-core-amd',
vs: 'node_modules/monaco-editor-core/dev/vs'
},
nodeRequire: require
@ -25,10 +27,10 @@ global.window = { location: {}, navigator: tmp.window.navigator };
requirejs(
['./test/setup'],
function () {
glob(
'release/dev/*/*.test.js',
{ cwd: path.dirname(__dirname) },
function (err, files) {
glob('out/amd/*/*.test.js', { cwd: path.dirname(__dirname) }, function (
err,
files
) {
if (err) {
console.log(err);
return;
@ -42,8 +44,7 @@ requirejs(
console.log(err);
}
);
}
);
});
},
function (err) {
console.log(err);