From d7cc098c481059f63d51ce3753975c8ca8ab6030 Mon Sep 17 00:00:00 2001 From: Alex Dima Date: Tue, 8 Sep 2020 13:40:42 +0200 Subject: [PATCH] Use the global `monaco` only in the AMD case (see microsoft/monaco-editor#1974) --- .gitignore | 1 + .npmignore | 3 ++ .prettierignore | 2 + package-lock.json | 36 +++++++------- package.json | 12 ++--- scripts/bundle.js | 63 +++++++++++++++--------- scripts/release.js | 17 +++++++ src/_.contribution.ts | 18 +++---- src/abap/abap.ts | 7 ++- src/apex/apex.ts | 7 ++- src/azcli/azcli.ts | 7 ++- src/bat/bat.ts | 7 ++- src/cameligo/cameligo.ts | 7 ++- src/clojure/clojure.ts | 7 ++- src/coffee/coffee.ts | 7 ++- src/cpp/cpp.ts | 7 ++- src/csharp/csharp.ts | 7 ++- src/csp/csp.ts | 7 ++- src/css/css.ts | 7 ++- src/dart/dart.ts | 7 ++- src/dockerfile/dockerfile.ts | 7 ++- src/fillers/monaco-editor-core-amd.ts | 12 +++++ src/fillers/monaco-editor-core.ts | 6 +++ src/fsharp/fsharp.ts | 7 ++- src/go/go.ts | 7 ++- src/graphql/graphql.ts | 7 ++- src/handlebars/handlebars.ts | 15 ++---- src/hcl/hcl.ts | 7 ++- src/html/html.ts | 15 ++---- src/ini/ini.ts | 7 ++- src/java/java.ts | 7 ++- src/javascript/javascript.ts | 11 ++--- src/julia/julia.ts | 7 ++- src/kotlin/kotlin.ts | 7 ++- src/less/less.ts | 7 ++- src/lexon/lexon.ts | 7 ++- src/lua/lua.ts | 7 ++- src/markdown/markdown.ts | 7 ++- src/mips/mips.ts | 7 ++- src/msdax/msdax.ts | 7 ++- src/mysql/mysql.ts | 7 ++- src/objective-c/objective-c.ts | 7 ++- src/pascal/pascal.ts | 7 ++- src/pascaligo/pascaligo.ts | 7 ++- src/perl/perl.ts | 7 ++- src/pgsql/pgsql.ts | 7 ++- src/php/php.ts | 7 ++- src/postiats/postiats.ts | 7 ++- src/powerquery/powerquery.ts | 7 ++- src/powershell/powershell.ts | 7 ++- src/pug/pug.ts | 7 ++- src/python/python.ts | 13 ++--- src/r/r.ts | 7 ++- src/razor/razor.ts | 15 ++---- src/redis/redis.ts | 7 ++- src/redshift/redshift.ts | 7 ++- src/restructuredtext/restructuredtext.ts | 7 ++- src/ruby/ruby.ts | 7 ++- src/rust/rust.ts | 7 ++- src/sb/sb.ts | 7 ++- src/scala/scala.ts | 7 ++- src/scheme/scheme.ts | 7 ++- src/scss/scss.ts | 7 ++- src/shell/shell.ts | 7 ++- src/solidity/solidity.ts | 7 ++- src/sophia/sophia.ts | 7 ++- src/sql/sql.ts | 7 ++- src/st/st.ts | 7 ++- src/swift/swift.ts | 7 ++- src/systemverilog/systemverilog.ts | 7 ++- src/tcl/tcl.ts | 7 ++- src/test/testRunner.ts | 7 +-- src/tsconfig.esm.json | 7 ++- src/tsconfig.json | 7 ++- src/twig/twig.ts | 7 ++- src/typescript/typescript.ts | 17 +++---- src/vb/vb.ts | 7 ++- src/xml/xml.ts | 7 ++- src/yaml/yaml.ts | 7 ++- test/all.js | 37 +++++++------- 80 files changed, 347 insertions(+), 387 deletions(-) create mode 100644 .prettierignore create mode 100644 scripts/release.js create mode 100644 src/fillers/monaco-editor-core-amd.ts create mode 100644 src/fillers/monaco-editor-core.ts diff --git a/.gitignore b/.gitignore index 64fd3c52..e6fdec5e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ /.idea/ /*.iml /node_modules/ +/out/ /release/ diff --git a/.npmignore b/.npmignore index 143a8d42..9f8410b6 100644 --- a/.npmignore +++ b/.npmignore @@ -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 diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..3c58ccd1 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +/out/ +/release/ diff --git a/package-lock.json b/package-lock.json index 19381eb3..bbcef933 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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": { diff --git a/package.json b/package.json index 44cb9e1c..e4a3ee6d 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/scripts/bundle.js b/scripts/bundle.js index b5a3883c..0d8aa9e8 100644 --- a/scripts/bundle.js +++ b/scripts/bundle.js @@ -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) { - if (err) { - console.log(err); - return; - } - files.forEach(function (file) { - file = file.replace(/\.contribution\.js$/, ''); - file = file.replace(/release[/\\]dev[/\\]/, ''); - bundleOne(file); - }); +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(/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); } ); } diff --git a/scripts/release.js b/scripts/release.js new file mode 100644 index 00000000..1b681166 --- /dev/null +++ b/scripts/release.js @@ -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'] +}); diff --git a/src/_.contribution.ts b/src/_.contribution.ts index 792119b9..1593a990 100644 --- a/src/_.contribution.ts +++ b/src/_.contribution.ts @@ -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' ? (self).monaco : monaco; +import { languages } from './fillers/monaco-editor-core'; -interface ILang extends monaco.languages.ILanguageExtensionPoint { +interface ILang extends languages.ILanguageExtensionPoint { loader: () => Promise; } 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); }); }); } diff --git a/src/abap/abap.ts b/src/abap/abap.ts index 7afe3172..83687940 100644 --- a/src/abap/abap.ts +++ b/src/abap/abap.ts @@ -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 = { +export const language = { defaultToken: 'invalid', ignoreCase: true, tokenPostfix: '.abap', diff --git a/src/apex/apex.ts b/src/apex/apex.ts index b0024108..546f188e 100644 --- a/src/apex/apex.ts +++ b/src/apex/apex.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.apex', diff --git a/src/azcli/azcli.ts b/src/azcli/azcli.ts index 3445dcc3..b527a411 100644 --- a/src/azcli/azcli.ts +++ b/src/azcli/azcli.ts @@ -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 = { +export const language = { defaultToken: 'keyword', ignoreCase: true, tokenPostfix: '.azcli', diff --git a/src/bat/bat.ts b/src/bat/bat.ts index fa3c6d15..0d8e5421 100644 --- a/src/bat/bat.ts +++ b/src/bat/bat.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: true, tokenPostfix: '.bat', diff --git a/src/cameligo/cameligo.ts b/src/cameligo/cameligo.ts index 3bd8195a..aba58ce5 100644 --- a/src/cameligo/cameligo.ts +++ b/src/cameligo/cameligo.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.cameligo', ignoreCase: true, diff --git a/src/clojure/clojure.ts b/src/clojure/clojure.ts index 87ec8017..33671a66 100644 --- a/src/clojure/clojure.ts +++ b/src/clojure/clojure.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: true, tokenPostfix: '.clj', diff --git a/src/coffee/coffee.ts b/src/coffee/coffee.ts index a46ec762..cf6c0843 100644 --- a/src/coffee/coffee.ts +++ b/src/coffee/coffee.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: true, tokenPostfix: '.coffee', diff --git a/src/cpp/cpp.ts b/src/cpp/cpp.ts index 7497d36f..013f033b 100644 --- a/src/cpp/cpp.ts +++ b/src/cpp/cpp.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.cpp', diff --git a/src/csharp/csharp.ts b/src/csharp/csharp.ts index 0dd1b2e0..5f4a2985 100644 --- a/src/csharp/csharp.ts +++ b/src/csharp/csharp.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.cs', diff --git a/src/csp/csp.ts b/src/csp/csp.ts index b23eacbf..e93be69d 100644 --- a/src/csp/csp.ts +++ b/src/csp/csp.ts @@ -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 = { +export const language = { // Set defaultToken to invalid to see what you do not tokenize yet // defaultToken: 'invalid', keywords: [], diff --git a/src/css/css.ts b/src/css/css.ts index 4d85eaf7..a2d32916 100644 --- a/src/css/css.ts +++ b/src/css/css.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.css', diff --git a/src/dart/dart.ts b/src/dart/dart.ts index 00c79c93..bf62aa0e 100644 --- a/src/dart/dart.ts +++ b/src/dart/dart.ts @@ -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 = { +export const language = { defaultToken: 'invalid', tokenPostfix: '.dart', diff --git a/src/dockerfile/dockerfile.ts b/src/dockerfile/dockerfile.ts index 3b466ffb..0e8f35f6 100644 --- a/src/dockerfile/dockerfile.ts +++ b/src/dockerfile/dockerfile.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.dockerfile', diff --git a/src/fillers/monaco-editor-core-amd.ts b/src/fillers/monaco-editor-core-amd.ts new file mode 100644 index 00000000..6af108be --- /dev/null +++ b/src/fillers/monaco-editor-core-amd.ts @@ -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 (self).monaco; +}); diff --git a/src/fillers/monaco-editor-core.ts b/src/fillers/monaco-editor-core.ts new file mode 100644 index 00000000..cd996aa7 --- /dev/null +++ b/src/fillers/monaco-editor-core.ts @@ -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'; diff --git a/src/fsharp/fsharp.ts b/src/fsharp/fsharp.ts index 4392ce8f..bac126b9 100644 --- a/src/fsharp/fsharp.ts +++ b/src/fsharp/fsharp.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.fs', diff --git a/src/go/go.ts b/src/go/go.ts index 1e9605f0..6e3bbab5 100644 --- a/src/go/go.ts +++ b/src/go/go.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.go', diff --git a/src/graphql/graphql.ts b/src/graphql/graphql.ts index fe6aa5ba..93d662fa 100644 --- a/src/graphql/graphql.ts +++ b/src/graphql/graphql.ts @@ -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 = { +export const language = { // Set defaultToken to invalid to see what you do not tokenize yet defaultToken: 'invalid', tokenPostfix: '.gql', diff --git a/src/handlebars/handlebars.ts b/src/handlebars/handlebars.ts index 96e2c8f8..ff0a630d 100644 --- a/src/handlebars/handlebars.ts +++ b/src/handlebars/handlebars.ts @@ -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' ? (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 = { +export const language = { defaultToken: '', tokenPostfix: '', // ignoreCase: true, diff --git a/src/hcl/hcl.ts b/src/hcl/hcl.ts index 2417fc43..b768714e 100644 --- a/src/hcl/hcl.ts +++ b/src/hcl/hcl.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.hcl', diff --git a/src/html/html.ts b/src/html/html.ts index e25ece69..e7ff1d3a 100644 --- a/src/html/html.ts +++ b/src/html/html.ts @@ -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' ? (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 = { +export const language = { defaultToken: '', tokenPostfix: '.html', ignoreCase: true, diff --git a/src/ini/ini.ts b/src/ini/ini.ts index 285f0213..7a68557d 100644 --- a/src/ini/ini.ts +++ b/src/ini/ini.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.ini', diff --git a/src/java/java.ts b/src/java/java.ts index 0d3b4408..0dc714eb 100644 --- a/src/java/java.ts +++ b/src/java/java.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.java', diff --git a/src/javascript/javascript.ts b/src/javascript/javascript.ts index ba147504..39a19f02 100644 --- a/src/javascript/javascript.ts +++ b/src/javascript/javascript.ts @@ -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' ? (self).monaco : monaco; +export const conf: languages.LanguageConfiguration = tsConf; -export const conf: IRichLanguageConfiguration = tsConf; - -export const language = { +export const language = { // Set defaultToken to invalid to see what you do not tokenize yet defaultToken: 'invalid', tokenPostfix: '.js', diff --git a/src/julia/julia.ts b/src/julia/julia.ts index 7505f4fd..de7b46a1 100644 --- a/src/julia/julia.ts +++ b/src/julia/julia.ts @@ -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 = { +export const language = { tokenPostfix: '.julia', keywords: [ diff --git a/src/kotlin/kotlin.ts b/src/kotlin/kotlin.ts index 62f77aac..40ac7575 100644 --- a/src/kotlin/kotlin.ts +++ b/src/kotlin/kotlin.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.kt', diff --git a/src/less/less.ts b/src/less/less.ts index 4fb6e5b0..3736382b 100644 --- a/src/less/less.ts +++ b/src/less/less.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.less', diff --git a/src/lexon/lexon.ts b/src/lexon/lexon.ts index 88d4443d..86133525 100644 --- a/src/lexon/lexon.ts +++ b/src/lexon/lexon.ts @@ -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 = { +export const language = { // Set defaultToken to invalid to see what you do not tokenize yet // defaultToken: 'invalid', tokenPostfix: '.lexon', diff --git a/src/lua/lua.ts b/src/lua/lua.ts index 6584d411..7e32ed3a 100644 --- a/src/lua/lua.ts +++ b/src/lua/lua.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.lua', diff --git a/src/markdown/markdown.ts b/src/markdown/markdown.ts index 80e0ad21..a9cd672e 100644 --- a/src/markdown/markdown.ts +++ b/src/markdown/markdown.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.md', diff --git a/src/mips/mips.ts b/src/mips/mips.ts index 21d91062..987c9aef 100644 --- a/src/mips/mips.ts +++ b/src/mips/mips.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: false, tokenPostfix: '.mips', diff --git a/src/msdax/msdax.ts b/src/msdax/msdax.ts index a6a97b85..45124d34 100644 --- a/src/msdax/msdax.ts +++ b/src/msdax/msdax.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.msdax', ignoreCase: true, diff --git a/src/mysql/mysql.ts b/src/mysql/mysql.ts index 36d7ceb0..a1b0a689 100644 --- a/src/mysql/mysql.ts +++ b/src/mysql/mysql.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sql', ignoreCase: true, diff --git a/src/objective-c/objective-c.ts b/src/objective-c/objective-c.ts index ed6a8c84..04ebdc62 100644 --- a/src/objective-c/objective-c.ts +++ b/src/objective-c/objective-c.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.objective-c', diff --git a/src/pascal/pascal.ts b/src/pascal/pascal.ts index 997d013a..1f3914c9 100644 --- a/src/pascal/pascal.ts +++ b/src/pascal/pascal.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.pascal', ignoreCase: true, diff --git a/src/pascaligo/pascaligo.ts b/src/pascaligo/pascaligo.ts index 37292866..24b75844 100644 --- a/src/pascaligo/pascaligo.ts +++ b/src/pascaligo/pascaligo.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.pascaligo', ignoreCase: true, diff --git a/src/perl/perl.ts b/src/perl/perl.ts index bb7a3199..0db15135 100644 --- a/src/perl/perl.ts +++ b/src/perl/perl.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.perl', diff --git a/src/pgsql/pgsql.ts b/src/pgsql/pgsql.ts index 886f1796..de165d31 100644 --- a/src/pgsql/pgsql.ts +++ b/src/pgsql/pgsql.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sql', ignoreCase: true, diff --git a/src/php/php.ts b/src/php/php.ts index e924b9f3..e633a544 100644 --- a/src/php/php.ts +++ b/src/php/php.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '', // ignoreCase: true, diff --git a/src/postiats/postiats.ts b/src/postiats/postiats.ts index 79bc9b0b..8eddd268 100644 --- a/src/postiats/postiats.ts +++ b/src/postiats/postiats.ts @@ -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 = { +export const language = { tokenPostfix: '.pats', // TODO: staload and dynload are followed by a special kind of string literals diff --git a/src/powerquery/powerquery.ts b/src/powerquery/powerquery.ts index f7c1e766..2e1eee88 100644 --- a/src/powerquery/powerquery.ts +++ b/src/powerquery/powerquery.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.pq', ignoreCase: false, diff --git a/src/powershell/powershell.ts b/src/powershell/powershell.ts index 27c45f2a..17cc7f5e 100644 --- a/src/powershell/powershell.ts +++ b/src/powershell/powershell.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: true, tokenPostfix: '.ps1', diff --git a/src/pug/pug.ts b/src/pug/pug.ts index 7054b2a2..48ceecb8 100644 --- a/src/pug/pug.ts +++ b/src/pug/pug.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.pug', diff --git a/src/python/python.ts b/src/python/python.ts index 822e91ee..816cdb50 100644 --- a/src/python/python.ts +++ b/src/python/python.ts @@ -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' ? (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 = { +export const language = { defaultToken: '', tokenPostfix: '.python', diff --git a/src/r/r.ts b/src/r/r.ts index 2b591849..3cb72b33 100644 --- a/src/r/r.ts +++ b/src/r/r.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.r', diff --git a/src/razor/razor.ts b/src/razor/razor.ts index fcd2363a..6b7ee043 100644 --- a/src/razor/razor.ts +++ b/src/razor/razor.ts @@ -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' ? (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 = { +export const language = { defaultToken: '', tokenPostfix: '', // ignoreCase: true, diff --git a/src/redis/redis.ts b/src/redis/redis.ts index cb3f09d4..535dbe3f 100644 --- a/src/redis/redis.ts +++ b/src/redis/redis.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.redis', ignoreCase: true, diff --git a/src/redshift/redshift.ts b/src/redshift/redshift.ts index f5fc7428..2018caa6 100644 --- a/src/redshift/redshift.ts +++ b/src/redshift/redshift.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sql', ignoreCase: true, diff --git a/src/restructuredtext/restructuredtext.ts b/src/restructuredtext/restructuredtext.ts index e4b7cbc5..4262ea53 100644 --- a/src/restructuredtext/restructuredtext.ts +++ b/src/restructuredtext/restructuredtext.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.rst', diff --git a/src/ruby/ruby.ts b/src/ruby/ruby.ts index e5d6be2c..5b7aec17 100644 --- a/src/ruby/ruby.ts +++ b/src/ruby/ruby.ts @@ -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 = { +export const language = { tokenPostfix: '.ruby', keywords: [ diff --git a/src/rust/rust.ts b/src/rust/rust.ts index c819e3a9..34918410 100644 --- a/src/rust/rust.ts +++ b/src/rust/rust.ts @@ -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 = { +export const language = { tokenPostfix: '.rust', defaultToken: 'invalid', keywords: [ diff --git a/src/sb/sb.ts b/src/sb/sb.ts index 74cc3e1b..2462b42e 100644 --- a/src/sb/sb.ts +++ b/src/sb/sb.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sb', ignoreCase: true, diff --git a/src/scala/scala.ts b/src/scala/scala.ts index 9935993d..3bc838f9 100644 --- a/src/scala/scala.ts +++ b/src/scala/scala.ts @@ -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 = { +export const language = { tokenPostfix: '.scala', // We can't easily add everything from Dotty, but we can at least add some of its keywords diff --git a/src/scheme/scheme.ts b/src/scheme/scheme.ts index 68d3c658..8cc8571f 100644 --- a/src/scheme/scheme.ts +++ b/src/scheme/scheme.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: true, tokenPostfix: '.scheme', diff --git a/src/scss/scss.ts b/src/scss/scss.ts index 6d68f847..7170f695 100644 --- a/src/scss/scss.ts +++ b/src/scss/scss.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.scss', diff --git a/src/shell/shell.ts b/src/shell/shell.ts index 1078b7e1..f7b6a6c3 100644 --- a/src/shell/shell.ts +++ b/src/shell/shell.ts @@ -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 = { +export const language = { defaultToken: '', ignoreCase: true, tokenPostfix: '.shell', diff --git a/src/solidity/solidity.ts b/src/solidity/solidity.ts index d9a780b9..a69a646b 100644 --- a/src/solidity/solidity.ts +++ b/src/solidity/solidity.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sol', diff --git a/src/sophia/sophia.ts b/src/sophia/sophia.ts index ee4dd683..2273a730 100644 --- a/src/sophia/sophia.ts +++ b/src/sophia/sophia.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.aes', diff --git a/src/sql/sql.ts b/src/sql/sql.ts index 87e0fa58..1624ca8a 100644 --- a/src/sql/sql.ts +++ b/src/sql/sql.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sql', ignoreCase: true, diff --git a/src/st/st.ts b/src/st/st.ts index cc072ae3..7635a0a9 100644 --- a/src/st/st.ts +++ b/src/st/st.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.st', ignoreCase: true, diff --git a/src/swift/swift.ts b/src/swift/swift.ts index 19f0d46d..64ab48a3 100644 --- a/src/swift/swift.ts +++ b/src/swift/swift.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.swift', diff --git a/src/systemverilog/systemverilog.ts b/src/systemverilog/systemverilog.ts index 2a4790d6..91a1e231 100644 --- a/src/systemverilog/systemverilog.ts +++ b/src/systemverilog/systemverilog.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.sv', diff --git a/src/tcl/tcl.ts b/src/tcl/tcl.ts index 8bd86168..4ab4bc81 100644 --- a/src/tcl/tcl.ts +++ b/src/tcl/tcl.ts @@ -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 = { +export const language = { tokenPostfix: '.tcl', specialFunctions: [ diff --git a/src/test/testRunner.ts b/src/test/testRunner.ts index b79cae27..9e1e45ae 100644 --- a/src/test/testRunner.ts +++ b/src/test/testRunner.ts @@ -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' ? (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, diff --git a/src/tsconfig.esm.json b/src/tsconfig.esm.json index 8e86cd3e..d57e9f75 100644 --- a/src/tsconfig.esm.json +++ b/src/tsconfig.esm.json @@ -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"] + } } diff --git a/src/tsconfig.json b/src/tsconfig.json index 5f21a07e..b2d21bae 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -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"] + } } diff --git a/src/twig/twig.ts b/src/twig/twig.ts index 31822f68..8f00ea7f 100644 --- a/src/twig/twig.ts +++ b/src/twig/twig.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '', ignoreCase: true, diff --git a/src/typescript/typescript.ts b/src/typescript/typescript.ts index bbb430ab..99f19b52 100644 --- a/src/typescript/typescript.ts +++ b/src/typescript/typescript.ts @@ -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' ? (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 } } diff --git a/src/vb/vb.ts b/src/vb/vb.ts index bda8720b..f6e8a7c9 100644 --- a/src/vb/vb.ts +++ b/src/vb/vb.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.vb', ignoreCase: true, diff --git a/src/xml/xml.ts b/src/xml/xml.ts index 84198a6f..b84a7734 100644 --- a/src/xml/xml.ts +++ b/src/xml/xml.ts @@ -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 = { +export const language = { defaultToken: '', tokenPostfix: '.xml', diff --git a/src/yaml/yaml.ts b/src/yaml/yaml.ts index 719d4524..005f108d 100644 --- a/src/yaml/yaml.ts +++ b/src/yaml/yaml.ts @@ -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 = { +export const language = { tokenPostfix: '.yaml', brackets: [ diff --git a/test/all.js b/test/all.js index 5cba4f0e..69fe86df 100644 --- a/test/all.js +++ b/test/all.js @@ -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,25 +27,24 @@ global.window = { location: {}, navigator: tmp.window.navigator }; requirejs( ['./test/setup'], function () { - glob( - 'release/dev/*/*.test.js', - { cwd: path.dirname(__dirname) }, - function (err, files) { - if (err) { - console.log(err); - return; - } - requirejs( - files.map((f) => f.replace(/\.js$/, '')), - function () { - // We can launch the tests! - }, - function (err) { - console.log(err); - } - ); + glob('out/amd/*/*.test.js', { cwd: path.dirname(__dirname) }, function ( + err, + files + ) { + if (err) { + console.log(err); + return; } - ); + requirejs( + files.map((f) => f.replace(/\.js$/, '')), + function () { + // We can launch the tests! + }, + function (err) { + console.log(err); + } + ); + }); }, function (err) { console.log(err);