Constructor
new CodeMirror(textarea, [langExtension])
#
Instantiate a new CodeMirror instance.
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
textarea |
HTMLTextAreaElement | jQuery | string | ve.ui.Surface | Textarea to add syntax highlighting to. |
|
langExtension |
LanguageSupport | Extension |
optional |
Language support and its extension(s). |
- Source:
Properties
bracketMatchingExtension :Extension
#
This extension adds bracket matching to the CodeMirror editor.
Type:
- Source:
contentAttributesExtension :Extension
#
This specifies which attributes get added to the .cm-content
and .cm-editor
elements.
Subclasses are safe to override this method, but attributes here are considered vital.
Type:
.cm-content
and .cm-editor
elements.
defaultExtensions :Extension|Array.<Extension>
#
Default extensions used by CodeMirror. Extensions here should be applicable to all theoretical uses of CodeMirror in MediaWiki.
Type:
dirCompartment :Compartment
#
Compartment to control the direction of the editor.
Type:
- Source:
dirExtension :Extension
#
This extension adds the ability to change the direction of the editor.
Type:
- Source:
editRecoveryHandler :function|null
#
null
#
formSubmitEventHandler :function|null
#
null
#
submit
event handler.
heightExtension :Extension
#
This extension sets the height of the CodeMirror editor to match the textarea. Override this method to change the height of the editor.
Type:
- Source:
keymap :CodeMirrorKeymap
#
langExtension :LanguageSupport|Extension
#
Language support and its extension(s).
Type:
- Source:
phrasesExtension :Extension
#
These are all potential messages used in a full-featured CodeMirror setup. We lump them all here and supply it as default extensions because it is only a small cost and we don't want localization to be overlooked by CodeMirror clients and subclasses.
Type:
- Source:
- See:
preferences :CodeMirrorPreferences
#
readOnly :boolean
#
specialCharsExtension :Extension
#
We give a small subset of special characters a tooltip explaining what they are. The messages and for what characters are defined here. Any character that does not have a message will instead use CM6 defaults, which is the localization of 'codemirror-control-character' followed by the Unicode number.
Type:
state :EditorState
#
surface :ve.ui.Surface
#
textSelection :CodeMirrorTextSelection
#
jQuery.textSelection overrides for CodeMirror.
Type:
- Source:
updateExtension :Extension
#
This extension listens for changes in the CodeMirror editor and fires
the ext.CodeMirror.input
hook with the ViewUpdate
object.
Type:
- Source:
Fires:
This extension listens for changes in the CodeMirror editor and fires
the ext.CodeMirror.input
hook with the ViewUpdate
object.
view :EditorView
#
Methods
destroy()
#
Destroy the CodeMirror instance and revert to the original textarea.
- Source:
Fires:
initialize([extensions])
#
setCodeMirrorPreference(prefValue)static
#
Save CodeMirror enabled preference.
Parameters:
Name | Type | Description |
---|---|---|
prefValue |
boolean | True, if CodeMirror should be enabled by default, otherwise false. |
- Source:
Events
'ext.CodeMirror.destroy'($textarea)
#
Called just after CodeMirror is destroyed and the original textarea is restored.
Parameters:
Name | Type | Description |
---|---|---|
$textarea |
jQuery | The original textarea. |
- Source:
'ext.CodeMirror.initialize'($textarea)
#
Called just before CodeMirror is initialized. This can be used to manipulate the DOM to suit CodeMirror (i.e. if you manipulate WikiEditor's DOM, you may need this).
Parameters:
Name | Type | Description |
---|---|---|
$textarea |
jQuery | The textarea that CodeMirror is bound to. |
- Source:
'ext.CodeMirror.input'(update)
#
Called when document changes are made in CodeMirror. The native textarea is not necessarily updated yet.
Parameters:
Name | Type | Description |
---|---|---|
update |
ViewUpdate |
- Source:
'ext.CodeMirror.preferences.change'(name, value)
#
Fired when a CodeMirror preference is changed. The preference may not have been saved to the database yet.
Parameters:
Name | Type | Description |
---|---|---|
name |
string | The name of the preference, and the corresponding key
in the |
value |
boolean | The new value of the preference. |
- Source:
'ext.CodeMirror.preferences.ready'(preferences)
#
Fired just before CodeMirrorPreferences
has been instantiated.
Parameters:
Name | Type | Description |
---|---|---|
preferences |
CodeMirrorPreferences |
- Source:
CodeMirrorPreferences
has been instantiated.
'ext.CodeMirror.ready'($view, cm)
#
Called just after CodeMirror is initialized.
Parameters:
Name | Type | Description |
---|---|---|
$view |
jQuery | The CodeMirror view element. |
cm |
CodeMirror | The CodeMirror instance. |
- Source: