{
	"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.43"
	},
	"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
		}
	},
	"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",
				"legacy/ext.CodeMirror.less"
			],
			"messages": [
				"codemirror-toggle-label"
			]
		},
		"ext.CodeMirror.v6": {
			"class": "MediaWiki\\ResourceLoader\\CodexModule",
			"dependencies": [
				"mediawiki.api",
				"mediawiki.user",
				"user.options",
				"ext.CodeMirror.v6.lib"
			],
			"packageFiles": [
				"codemirror.js",
				"codemirror.textSelection.js",
				"codemirror.search.js",
				"codemirror.gotoLine.js",
				"codemirror.panel.js",
				{
					"name": "ext.CodeMirror.data.js",
					"callback": "MediaWiki\\Extension\\CodeMirror\\DataScript::makeScript"
				}
			],
			"styles": [
				"codemirror.less"
			],
			"codexStyleOnly": true,
			"codexComponents": [
				"CdxButton",
				"CdxCheckbox",
				"CdxLabel",
				"CdxTextInput",
				"CdxToggleButton",
				"CdxToggleButtonGroup"
			],
			"messages": [
				"codemirror-all",
				"codemirror-all-tooltip",
				"codemirror-by-word",
				"codemirror-control-character",
				"codemirror-done",
				"codemirror-find",
				"codemirror-fold-template",
				"codemirror-folded-code",
				"codemirror-goto-line",
				"codemirror-goto-line-go",
				"codemirror-match-case",
				"codemirror-next",
				"codemirror-previous",
				"codemirror-regexp",
				"codemirror-replace",
				"codemirror-replace-all",
				"codemirror-replace-placeholder",
				"codemirror-special-char-backspace",
				"codemirror-special-char-bell",
				"codemirror-special-char-carriage-return",
				"codemirror-special-char-escape",
				"codemirror-special-char-left-to-right-isolate",
				"codemirror-special-char-left-to-right-mark",
				"codemirror-special-char-left-to-right-override",
				"codemirror-special-char-line-separator",
				"codemirror-special-char-narrow-nbsp",
				"codemirror-special-char-nbsp",
				"codemirror-special-char-newline",
				"codemirror-special-char-null",
				"codemirror-special-char-object-replacement",
				"codemirror-special-char-paragraph-separator",
				"codemirror-special-char-pop-directional-isolate",
				"codemirror-special-char-right-to-left-isolate",
				"codemirror-special-char-right-to-left-mark",
				"codemirror-special-char-right-to-left-override",
				"codemirror-special-char-vertical-tab",
				"codemirror-special-char-zero-width-joiner",
				"codemirror-special-char-zero-width-no-break-space",
				"codemirror-special-char-zero-width-non-joiner",
				"codemirror-special-char-zero-width-space",
				"codemirror-unfold"
			]
		},
		"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"
			],
			"styles": [
				"codemirror.wikieditor.less"
			],
			"messages": [
				"codemirror-toggle-label",
				"codemirror-toggle-label-short"
			]
		},
		"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
}