mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeMirror
synced 2024-11-23 22:03:28 +00:00
925775778a
Add new temporary ext.CodeMirror.visualEditor.init RL module which selects the temporary ext.CodeMirror.visualEditor.v6 or non-v6 based on $wgCodeMirrorV6. This will allow us to deploy CM6 further. As a result of this work, the core CodeMirror class now has knowledge of ve.ui.Surface. Other changes: * Add Compartment for specialCharsExtension so it can be disabled in VE. * Add option to mediaWikiLang() to disable template folding. * Add support for RTL wikis where $wgCodeMirrorRTL is enabled. * Make CodeMirror.logUsage() and setCodeMirrorPreference() static. * Fix unit and linting tests. Some code courtesy of Fandom, GPLv2-or-later; see: https://github.com/Wikia/mediawiki-extensions-CodeMirror/commit/ef297c48c Bug: T357482 Change-Id: I15453b33e77e1c1b4d5e5183e41e53d56ff14c3e
375 lines
9.3 KiB
JSON
375 lines
9.3 KiB
JSON
{
|
|
"name": "CodeMirror",
|
|
"version": "6.0.0",
|
|
"author": [
|
|
"[https://www.mediawiki.org/wiki/User:Pastakhov Pavel Astakhov]",
|
|
"[https://www.mediawiki.org/wiki/User:Florianschmidtwelzow Florian Schmidt]",
|
|
"Marijn Haverbeke",
|
|
"MusikAnimal",
|
|
"Bhsd",
|
|
"[https://raw.githubusercontent.com/codemirror/CodeMirror/master/AUTHORS CodeMirror contributors]"
|
|
],
|
|
"url": "https://www.mediawiki.org/wiki/Extension:CodeMirror",
|
|
"descriptionmsg": "codemirror-desc",
|
|
"type": "editor",
|
|
"license-name": "GPL-2.0-or-later",
|
|
"requires": {
|
|
"MediaWiki": ">= 1.42.0"
|
|
},
|
|
"config": {
|
|
"CodeMirrorV6": {
|
|
"value": false,
|
|
"description": "Temporary feature flag for the CodeMirror 6 upgrade."
|
|
},
|
|
"CodeMirrorConflictingGadgets": {
|
|
"value": [
|
|
"wikEd"
|
|
],
|
|
"description": "An array of gadget names that, if enabled, will prevent CodeMirror from loading on action=edit and action=submit.",
|
|
"public": true
|
|
},
|
|
"CodeMirrorTemplateFoldingNamespaces": {
|
|
"value": null,
|
|
"description": "List of namespace IDs where template folding should be enabled, or `null` to enable for all namespaces. Set to [] to disable everywhere.",
|
|
"public": true
|
|
},
|
|
"CodeMirrorLineNumberingNamespaces": {
|
|
"value": null,
|
|
"description": "List of namespace IDs where line numbering should be enabled, or `null` to enable for all namespaces. Set to [] to disable everywhere.",
|
|
"public": true
|
|
},
|
|
"CodeMirrorRTL": {
|
|
"value": true,
|
|
"description": "Temporary feature flag to control rollout of CodeMirror on RTL wikis."
|
|
}
|
|
},
|
|
"MessagesDirs": {
|
|
"CodeMirror": [
|
|
"i18n"
|
|
]
|
|
},
|
|
"AutoloadNamespaces": {
|
|
"MediaWiki\\Extension\\CodeMirror\\": "includes/"
|
|
},
|
|
"ResourceModules": {
|
|
"ext.CodeMirror": {
|
|
"dependencies": [
|
|
"mediawiki.api",
|
|
"mediawiki.user",
|
|
"user.options"
|
|
],
|
|
"packageFiles": [
|
|
"legacy/ext.CodeMirror.js",
|
|
{
|
|
"name": "legacy/ext.CodeMirror.data.js",
|
|
"callback": "MediaWiki\\Extension\\CodeMirror\\DataScript::makeScript"
|
|
}
|
|
]
|
|
},
|
|
"ext.CodeMirror.WikiEditor": {
|
|
"dependencies": [
|
|
"ext.CodeMirror",
|
|
"jquery.textSelection",
|
|
"mediawiki.user",
|
|
"user.options",
|
|
"oojs-ui.styles.icons-editing-styling"
|
|
],
|
|
"packageFiles": [
|
|
"legacy/ext.CodeMirror.WikiEditor.js"
|
|
],
|
|
"styles": [
|
|
"legacy/ext.CodeMirror.less"
|
|
],
|
|
"messages": [
|
|
"codemirror-toggle-label"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib": {
|
|
"scripts": [
|
|
"lib/codemirror/lib/codemirror.js"
|
|
],
|
|
"styles": [
|
|
"lib/codemirror/lib/codemirror.css",
|
|
"legacy/codemirror-fixes.less"
|
|
]
|
|
},
|
|
"ext.CodeMirror.addons": {
|
|
"scripts": [
|
|
"legacy/addon/matchbrackets-wmde.js"
|
|
],
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.mode.mediawiki": {
|
|
"packageFiles": "legacy/mode/mediawiki/mediawiki.js",
|
|
"styles": [
|
|
"codemirror.mediawiki.less",
|
|
"codemirror.mediawiki.colorblind.less"
|
|
],
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib.mode.css": {
|
|
"scripts": "lib/codemirror/mode/css/css.js",
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib.mode.javascript": {
|
|
"scripts": "lib/codemirror/mode/javascript/javascript.js",
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib.mode.xml": {
|
|
"scripts": "lib/codemirror/mode/xml/xml.js",
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib.mode.htmlmixed": {
|
|
"scripts": "lib/codemirror/mode/htmlmixed/htmlmixed.js",
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib.mode.xml",
|
|
"ext.CodeMirror.lib.mode.javascript",
|
|
"ext.CodeMirror.lib.mode.css",
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib.mode.clike": {
|
|
"scripts": "lib/codemirror/mode/clike/clike.js",
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.lib.mode.php": {
|
|
"scripts": "lib/codemirror/mode/php/php.js",
|
|
"dependencies": [
|
|
"ext.CodeMirror.lib.mode.htmlmixed",
|
|
"ext.CodeMirror.lib.mode.clike",
|
|
"ext.CodeMirror.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.visualEditor": {
|
|
"dependencies": [
|
|
"ext.visualEditor.mwcore",
|
|
"ext.visualEditor.mwmeta",
|
|
"mediawiki.api",
|
|
"user.options",
|
|
"ext.CodeMirror"
|
|
],
|
|
"scripts": [
|
|
"legacy/modules/ve-cm/ve.ui.CodeMirrorAction.js",
|
|
"legacy/modules/ve-cm/ve.ui.CodeMirrorTool.js"
|
|
],
|
|
"styles": [
|
|
"legacy/modules/ve-cm/ve.ui.CodeMirror.less"
|
|
],
|
|
"messages": [
|
|
"codemirror-toggle-label"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6": {
|
|
"dependencies": [
|
|
"mediawiki.api",
|
|
"mediawiki.user",
|
|
"user.options",
|
|
"ext.CodeMirror.v6.lib"
|
|
],
|
|
"packageFiles": [
|
|
"codemirror.js",
|
|
"codemirror.textSelection.js",
|
|
{
|
|
"name": "ext.CodeMirror.data.js",
|
|
"callback": "MediaWiki\\Extension\\CodeMirror\\DataScript::makeScript"
|
|
}
|
|
],
|
|
"styles": [
|
|
"codemirror.less"
|
|
],
|
|
"messages": [
|
|
"codemirror-find",
|
|
"codemirror-next",
|
|
"codemirror-previous",
|
|
"codemirror-all",
|
|
"codemirror-match-case",
|
|
"codemirror-regexp",
|
|
"codemirror-by-word",
|
|
"codemirror-replace",
|
|
"codemirror-replace-placeholder",
|
|
"codemirror-replace-all",
|
|
"codemirror-control-character",
|
|
"codemirror-special-char-null",
|
|
"codemirror-special-char-bell",
|
|
"codemirror-special-char-backspace",
|
|
"codemirror-special-char-newline",
|
|
"codemirror-special-char-vertical-tab",
|
|
"codemirror-special-char-carriage-return",
|
|
"codemirror-special-char-escape",
|
|
"codemirror-special-char-nbsp",
|
|
"codemirror-special-char-zero-width-space",
|
|
"codemirror-special-char-zero-width-non-joiner",
|
|
"codemirror-special-char-zero-width-joiner",
|
|
"codemirror-special-char-left-to-right-mark",
|
|
"codemirror-special-char-right-to-left-mark",
|
|
"codemirror-special-char-line-separator",
|
|
"codemirror-special-char-left-to-right-override",
|
|
"codemirror-special-char-right-to-left-override",
|
|
"codemirror-special-char-narrow-nbsp",
|
|
"codemirror-special-char-left-to-right-isolate",
|
|
"codemirror-special-char-right-to-left-isolate",
|
|
"codemirror-special-char-pop-directional-isolate",
|
|
"codemirror-special-char-paragraph-separator",
|
|
"codemirror-special-char-zero-width-no-break-space",
|
|
"codemirror-special-char-object-replacement",
|
|
"codemirror-fold-template",
|
|
"codemirror-unfold",
|
|
"codemirror-folded-code"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6.init": {
|
|
"dependencies": [
|
|
"ext.CodeMirror.v6",
|
|
"ext.CodeMirror.v6.mode.mediawiki"
|
|
],
|
|
"packageFiles": [
|
|
"codemirror.mediawiki.init.js"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6.lib": {
|
|
"packageFiles": [
|
|
"lib/codemirror6.bundle.dist.js"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6.mode.mediawiki": {
|
|
"packageFiles": [
|
|
"codemirror.mediawiki.js",
|
|
"codemirror.mediawiki.config.js",
|
|
"codemirror.mediawiki.bidiIsolation.js",
|
|
"codemirror.mediawiki.templateFolding.js"
|
|
],
|
|
"styles": [
|
|
"codemirror.mediawiki.less",
|
|
"codemirror.mediawiki.colorblind.less"
|
|
],
|
|
"dependencies": [
|
|
"ext.CodeMirror.v6",
|
|
"ext.CodeMirror.v6.lib"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6.WikiEditor": {
|
|
"dependencies": [
|
|
"ext.wikiEditor"
|
|
],
|
|
"packageFiles": [
|
|
"codemirror.wikieditor.js"
|
|
],
|
|
"messages": [
|
|
"codemirror-toggle-label"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6.WikiEditor.init": {
|
|
"dependencies": [
|
|
"ext.CodeMirror.v6.WikiEditor",
|
|
"ext.CodeMirror.v6.mode.mediawiki"
|
|
],
|
|
"packageFiles": [
|
|
"codemirror.wikieditor.mediawiki.init.js"
|
|
]
|
|
},
|
|
"ext.CodeMirror.v6.visualEditor": {
|
|
"dependencies": [
|
|
"ext.visualEditor.mwcore",
|
|
"ext.visualEditor.mwmeta",
|
|
"mediawiki.api",
|
|
"user.options",
|
|
"ext.CodeMirror.v6"
|
|
],
|
|
"scripts": [
|
|
"ve-cm/ve.ui.CodeMirrorAction.v6.js",
|
|
"ve-cm/ve.ui.CodeMirrorTool.v6.js"
|
|
],
|
|
"styles": [
|
|
"ve-cm/ve.ui.CodeMirror.v6.less"
|
|
],
|
|
"messages": [
|
|
"codemirror-toggle-label"
|
|
]
|
|
},
|
|
"ext.CodeMirror.visualEditor.init": {
|
|
"packageFiles": [
|
|
"ve-cm/ve.ui.CodeMirror.init.js",
|
|
{
|
|
"name": "ext.CodeMirror.data.js",
|
|
"callback": "MediaWiki\\Extension\\CodeMirror\\DataScript::makeScript"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"ResourceFileModulePaths": {
|
|
"localBasePath": "resources",
|
|
"remoteExtPath": "CodeMirror/resources"
|
|
},
|
|
"ForeignResourcesDir": "resources/lib",
|
|
"DefaultUserOptions": {
|
|
"usecodemirror": 0
|
|
},
|
|
"QUnitTestModule": {
|
|
"localBasePath": "resources/legacy/mode/mediawiki/tests",
|
|
"remoteExtPath": "CodeMirror/resources/legacy/mode/mediawiki/tests",
|
|
"packageFiles": [
|
|
"qunit/CodeMirror.mediawiki.test.js"
|
|
],
|
|
"dependencies": [
|
|
"ext.CodeMirror",
|
|
"ext.CodeMirror.lib",
|
|
"ext.CodeMirror.mode.mediawiki"
|
|
]
|
|
},
|
|
"Hooks": {
|
|
"EditPage::showEditForm:initial": "main",
|
|
"EditPage::showReadOnlyForm:initial": "main",
|
|
"GetPreferences": "main",
|
|
"ResourceLoaderGetConfigVars": "main"
|
|
},
|
|
"HookHandlers": {
|
|
"main": {
|
|
"class": "MediaWiki\\Extension\\CodeMirror\\Hooks",
|
|
"services": [
|
|
"UserOptionsLookup",
|
|
"MainConfig"
|
|
],
|
|
"optional_services": [
|
|
"GadgetsRepo"
|
|
]
|
|
}
|
|
},
|
|
"attributes": {
|
|
"CodeMirror": {
|
|
"ContentModels": [
|
|
"wikitext"
|
|
],
|
|
"PluginModules": [
|
|
"ext.CodeMirror.addons"
|
|
],
|
|
"TagModes": {
|
|
"pre": "mw-tag-pre",
|
|
"nowiki": "mw-tag-nowiki"
|
|
}
|
|
},
|
|
"VisualEditor": {
|
|
"PluginModules": [
|
|
"ext.CodeMirror.visualEditor.init"
|
|
]
|
|
},
|
|
"EventLogging": {
|
|
"Schemas": {
|
|
"CodeMirrorUsage": "/analytics/legacy/codemirrorusage/1.0.0"
|
|
}
|
|
}
|
|
},
|
|
"manifest_version": 2
|
|
}
|