CodeMirror

Software Screenshot:
CodeMirror
Software Details:
Version: 5.7 updated
Upload Date: 28 Sep 15
Developer: Marijn Haverbeke
Distribution Type: Freeware
Downloads: 167
Size: 1093 Kb

Rating: 3.0/5 (Total Votes: 2)

If a parser is available for the programming language of the edited code, CodeMirror will handle syntax highlighting and indentation.

Usage:

To use CodeMirror in a document, a script tag to load codemirror.js must be added.
This adds two objects to the environment, CodeMirror and CodeMirrorConfig.
The first is the interface to the editor, the second can be used to configure it.

What is new in this release:

  • Fix bug where you could paste into a readOnly editor
  • Show a cursor at the drop location when dragging over the editor
  • The Rust mode was rewritten to handle modern Rust
  • The editor and theme CSS was cleaned up. Some selectors are now less specific than before
  • New theme: abcdef
  • Lines longer than maxHighlightLength are now less likely to mess up indentation
  • New addons: autorefresh for refreshing an editor the first time it becomes visible, and html-lint for using HTMLHint
  • The search addon now recognizes \r and \n in pattern and replacement input

What is new in version 5.4:

  • New modes: Twig, Elm, Factor, Swift
  • Prefer clipboard API (if available) when pasting
  • Refined definition highlighting in clike mode

What is new in version 5.2:

  • Fix several race conditions in show-hint's asynchronous mode
  • Fix backspace binding in Sublime bindings
  • Change the way IME is handled in the "textarea" input style
  • New modes: MUMPS, Handlebars
  • Rewritten modes: Django, Z80
  • New theme: Liquibyte
  • New option: lineWiseCopyCut
  • The Vim mode now supports buffer-local options and the filetype setting

What is new in version 5.1:

  • New modes: ASCII armor (PGP data), Troff, and CMake.
  • Remove SmartyMixed mode, rewrite Smarty mode to supersede it.
  • New commands in the merge addon: goNextDiff and goPrevDiff.
  • The closebrackets addon can now be configured per mode.

What is new in version 5.0:

  • Experimental mobile support (tested on iOS, Android Chrome, stock Android browser).
  • New option inputStyle to switch between hidden textarea and contentEditable input.
  • The getInputField method is no longer guaranteed to return a textarea.

What is new in version 4.12:

  • The closetag addon now defines a "closeTag" command.
  • Adds a findModeByFileName to the mode metadata addon.
  • Simple mode rules can now contain a sol property to only match at the start of a line.
  • New addon: selection-pointer to style the mouse cursor over the selection.
  • Improvements to the Sass mode's indentation.
  • The Vim keymap's search functionality now supports scrollbar annotation.

What is new in version 4.11:

  • Unfortunately, 4.10 did not take care of the Firefox scrolling issue entirely. This release adds two more patches to address that.

What is new in version 4.10:

  • Fixes Firefox-specific problem where the cursor could end up behind the horizontal scrollbar.

What is new in version 4.9:

  • Overhauled scroll bar handling. Add pluggable scrollbar implementations.
  • Tweaked behavior for the completion addons to not take text after cursor into account.
  • Two new optional features in the merge addon: aligning editors, and folding unchanged text.
  • New modes: Dart, EBNF, spreadsheet, and Soy.
  • New addon to show persistent panels below/above an editor.
  • New themes: zenburn and tomorrow night bright.
  • Allow ctrl-click to clear existing cursors.
  • Full list of patches.

What is new in version 4.8:

  • Built-in support for multi-stroke key bindings.
  • New method: getLineTokens.
  • New modes: dockerfile, IDL, Objective C (crude).
  • Support styling of gutter backgrounds, allow "gutter" styles in addLineClass.
  • Many improvements to the Vim mode, rewritten visual mode.
  • Improvements to modes: gfm (strikethrough), SPARQL (version 1.1 support), and sTeX (no more runaway math mode).

What is new in version 4.7:

  • Improved handling of unicode identifiers in modes for languages that support them.
  • More mode improvements: CoffeeScript (indentation), Verilog (indentation), Scala (indentation, triple-quoted strings), and PHP (interpolated variables in heredoc strings).
  • New modes: Textile and Tornado templates.
  • Experimental new way to define modes.
  • Improvements to the Vim bindings: Arbitrary insert mode key mappings are now possible, and text objects are supported in visual mode.
  • The mode meta-information file now includes information about file extensions, and helper functions findModeByMIME and findModeByExtension.

What is new in version 4.6:

  • New mode: Modelica
  • New method: findWordAt
  • Make it easier to use text background styling

What is new in version 4.5:

  • Fix several serious bugs with horizontal scrolling
  • New mode: Slim
  • New command: goLineLeftSmart
  • More fixes and extensions for the Vim visual block mode

What is new in version 4.4:

  • Some events might now fire in slightly different order ("change" is still guaranteed to fire before "cursorActivity")
  • Nested operations in multiple editors are now synced (complete at same time, reducing DOM reflows)
  • Visual block mode for vim (<C-v>) is nearly complete
  • New mode: Kotlin
  • Better multi-selection paste for text copied from multiple CodeMirror selections

What is new in version 4.3:

  • Several vim bindings improvements: search and exCommand history, global flag for :substitute, :global command.
  • Allow hiding the cursor by setting cursorBlinkRate to a negative value.
  • Make gutter markers themeable, use this in foldgutter.

What is new in version 4.2:

  • Fixed problem where some modes were broken by the fact that empty tokens were forbidden.
  • Several fixes to context menu handling.
  • On undo, scroll change, not cursor, into view.
  • Rewritten Jade mode.
  • Various improvements to Shell (support for more syntax) and Python (better indentation) modes.
  • New mode: Cypher.
  • New theme: Neo.
  • Support direct styling options (color, line style, width) in the rulers addon.
  • Recognize per-editor configuration for the show-hint and foldcode addons.
  • More intelligent scanning for existing close tags in closetag addon.
  • In the Vim bindings: Fix bracket matching, support case conversion in visual mode, visual paste, append action.

What is new in version 4.1:

  • New command: insertSoftTab.
  • New mode: Django.
  • Improved modes: Verilog (rewritten), Jinja2, Haxe, PHP (string interpolation highlighted), JavaScript (indentation of trailing else, template strings), LiveScript (multi-line strings).
  • Many small issues from the 3.x->4.x transition were found and fixed.

What is new in version 4.0:

  • Multiple selections (ctrl-click, alt-drag, API).
  • Sublime Text bindings.
  • Module loader shims wrapped around all modules.
  • Selection undo/redo.
  • Improved character measuring (faster, handles wrapped lines more robustly).
  • Full list of patches.

What is new in version 3.22:

  • Adds the findMarks method.
  • New addons: rulers, markdown-fold, yaml-lint.
  • New theme: mdn-like.
  • New mode: Sold.
  • Full list of patches.

What is new in version 3.21:

  • Auto-indenting a block will no longer add trailing whitespace to blank lines.
  • Marking text has a new option clearWhenEmpty to control auto-removal.
  • Several bugfixes in the handling of bidirectional text.
  • The XML and CSS modes were largely rewritten. LESS support was added to the CSS mode.
  • The OCaml mode was moved to an mllike mode, F# support added.
  • Make it possible to fetch multiple applicable helper values with getHelpers, and to register helpers matched on predicates with registerGlobalHelper.
  • New theme pastel-on-dark.
  • Better ECMAScript 6 support in JavaScript mode.
  • Full list of patches.

What is new in version 3.20:

  • New modes: Julia and PEG.js.
  • Support ECMAScript 6 in the JavaScript mode.
  • Improved indentation for the CoffeeScript mode.
  • Make non-printable-character representation configurable.
  • Add ‘notification' functionality to dialog addon.

What is new in version 3.19:

  • New modes: Eiffel, Gherkin, MSSQL dialect.
  • New addons: hardwrap, sql-hint.
  • New theme: MBO.
  • Add support for line-level styling from mode tokenizers.

What is new in version 3.18:

  • Emergency release to fix a problem in 3.17 where .setOption("lineNumbers", false) would raise an error.

What is new in version 3.17:

  • New modes: Fortran, Octave (Matlab), TOML, and DTD.
  • New addons: css-lint, css-hint.
  • Improve resilience to CSS 'frameworks' that globally mess up box-sizing.

What is new in version 3.16:

  • The whole codebase is now under a single license file.
  • The project page was overhauled and redesigned.
  • New themes: Paraiso (light), The Matrix.
  • Improved interaction between themes and active-line/matchbrackets addons.
  • New folding function CodeMirror.fold.comment.
  • Added fullscreen addon.
  • Full list of patches.

What is new in version 3.15:

  • New modes: Jade, Nginx.
  • New addons: Tern, matchtags, and foldgutter.
  • Introduced helper concept (context).
  • New method: getModeAt.
  • New themes: base16 dark/light, 3024 dark/light, tomorrow-night.
  • Full list of patches.

What is new in version 3.14:

  • New addons: trailing space highlight, XML completion (rewritten), and diff merging.
  • markText and addLineWidget now take a handleMouseEvents option.
  • New methods: lineAtHeight, getTokenTypeAt.
  • More precise cleanness-tracking using changeGeneration and isClean.
  • Many extensions to Emacs mode (prefixes, more navigation units, and more).
  • New events "keyHandled" and "inputRead".
  • Various improvements to Ruby, Smarty, SQL, and Vim modes.

What is new in version 3.13:

  • New modes: COBOL and HAML.
  • New options: cursorScrollMargin and coverGutterNextToScrollbar.
  • New addon: commenting.
  • More features added to the Vim keymap.
  • Full list of patches.

What is new in version 3.12:

  • New mode: GNU assembler.
  • New options: maxHighlightLength and historyEventDelay.
  • Added addToHistory option for markText.
  • Various fixes to JavaScript tokenization and indentation corner cases.
  • Further improvements to the vim mode.
  • Full list of patches.

What is new in version 3.11:

  • Removed code: collapserange, formatting, and simple-hint addons. plsql and mysql modes (use sql mode).
  • Moved code: the range-finding functions for folding now have their own files.
  • Changed interface: the continuecomment addon now exposes an option, rather than a command.
  • New modes: SCSS, Tcl, LiveScript, and mIRC.
  • New addons: placeholder, HTML completion.
  • New methods: hasFocus, defaultCharWidth.
  • New events: beforeCursorEnter, renderLine.
  • Many improvements to the show-hint completion dialog addon.
  • Tweak behavior of by-word cursor motion.

What is new in version 3.1:

  • Incompatible: key handlers may now return, rather than throw CodeMirror.Pass to signal they didn't handle the key.
  • Make documents a first-class construct, support split views and subviews.
  • Add a new module for showing completion hints. Deprecate simple-hint.js.
  • Extend htmlmixed mode to allow custom handling of script types.
  • Support an insertLeft option to setBookmark.
  • Add an eachLine method to iterate over a document.
  • New addon modules: selection marking, linting, and automatic bracket closing.
  • Add "beforeChange" and "beforeSelectionChange" events.
  • Add "hide" and "unhide" events to marked ranges.
  • Fix coordsChar's interpretation of its argument to match the documentation.
  • New modes: Turtle and Q.
  • Further improvements to the vim mode.

What is new in version 3.02:

  • Fixes a problem that prevents CodeMirror instances from being garbage-collected after they become unused.

What is new in version 3.01:

  • Move all add-ons into an organized directory structure under /addon. You might have to adjust your paths.
  • New modes: D, Sass, APL, SQL (configurable), and Asterisk.
  • Several bugfixes in right-to-left text support.
  • Add rtlMoveVisually option.
  • Improvements to vim keymap.
  • Add built-in (lightweight) overlay mode support.
  • Support showIfHidden option for line widgets.
  • Add simple Python hinter.
  • Bring back the fixedGutter option.

What is new in version 2.37:

  • New mode: SQL (will replace plsql and mysql modes).
  • Further work on the new VIM mode.
  • Fix Cmd/Ctrl keys on recent Operas on OS X.
  • Full list of patches.

What is new in version 3.0:

  • Rewritten VIM mode.
  • Fixed a few minor scrolling and sizing issues.
  • Work around Safari segfault when dragging.

What is new in version 2.36:

  • New mode: Z80 assembly.
  • New theme: Twilight.
  • Add command-line compression helper.
  • Make scrollIntoView public.
  • Add defaultTextHeight method.
  • Various extensions to the vim keymap.
  • Make PHP mode build on mixed HTML mode.
  • Add comment-continuing add-on.

What is new in version 2.35:

  • New (sub) mode: TypeScript.
  • Don't overwrite (insert key) when pasing.
  • Fixed several bugs in markText/undo interaction.
  • Better indentation of JavaScript code without semicolons.
  • defineInitHook function.
  • Full list of patches.

What is new in version 2.34:

  • New mode: Common Lisp.
  • Fix right-click select-all on most browsers.
  • Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.
  • Add a CodeMirror.version property.
  • More robust handling of nested modes in formatting and closetag plug-ins.
  • Un/redo now preserves marked text and bookmarks.

What is new in version 2.33:

  • New mode: Sieve.
  • New getViewPort and onViewportChange API.
  • Configurable cursor blink rate.
  • Make binding a key to false disabling handling (again).
  • Show non-printing characters as red dots.
  • More tweaks to the scrolling model.
  • Expanded testsuite. Basic linter added.
  • Remove most uses of innerHTML. Remove CodeMirror.htmlEscape.

What is new in version 2.32:

  • Emergency fix for a bug where an editor with line wrapping on IE will break when there is no scrollbar.

What is new in version 2.3:

  • New scrollbar implementation. Should flicker less. Changes DOM structure of the editor.
  • New theme: vibrant-ink.
  • Many extensions to the VIM keymap (including text objects).
  • Add mode-multiplexing utility script.
  • Fix bug where right-click paste works in read-only mode.
  • Add a getScrollInfo method.
  • Lots of other fixes.

What is new in version 2.25:

  • Remove xmlpure mode (use xml.js).
  • Fix line-wrapping in Opera.
  • Fix X Windows middle-click paste in Chrome.
  • Fix bug that broke pasting of huge documents.
  • Fix backspace and tab key repeat in Opera.

What is new in version 2.24:

  • Drop support for Internet Explorer 6.
  • New modes: Shell, Tiki wiki, Pig Latin.
  • New themes: Ambiance, Blackboard.
  • More control over drag/drop with dragDrop and onDragEvent options.
  • Make HTML mode a bit less pedantic.
  • Add compoundChange API method.
  • Several fixes in undo history and line hiding.
  • Remove (broken) support for catchall in key maps, add nofallthrough boolean field instead.

What is new in version 2.23:

  • Change default binding for tab.
  • New modes: XQuery and VBScript.
  • Two new themes: lesser-dark and xq-dark.
  • Differentiate between background and text styles in setLineClass.
  • Fix drag-and-drop in IE9+.
  • Extend charCoords and cursorCoords with a mode argument.
  • Add autofocus option.
  • Add findMarksAt method.

What is new in version 2.22:

  • Allow key handlers to pass up events, allow binding characters.
  • autoClearEmptyLines option.
  • Properly use tab stops when rendering tabs.
  • Make PHP mode more robust.
  • Support indentation blocks in code folder
  • Add a script for highlighting instances of the selection
  • New .properties mode.
  • Fix many bugs.

What is new in version 2.21:

  • Added LESS, MySQL, Go, and Verilog modes.
  • Add smartIndent option.
  • Support a cursor in readOnly-mode.
  • Support assigning multiple styles to a token.
  • Use a new approach to drawing the selection.
  • Add scrollTo method.
  • Allow undo/redo events to span non-adjacent lines.
  • Lots and lots of bugfixes.

What is new in version 2.2:

  • Slightly incompatible API changes.
  • New approach to binding keys, support for custom bindings.
  • Support for overwrite (insert).
  • Custom-width and stylable tabs.
  • Moved more code into add-on scripts.
  • Support for sane vertical cursor movement in wrapped lines.
  • More reliable handling of editing marked text.
  • Add minimal emacs and vim bindings.
  • Rename coordsFromIndex to posFromIndex, add indexFromPos method.

What is new in version 2.18:

  • Fixes TextMarker.clear, which is broken in 2.17.

What is new in version 2.15:

  • Clicking the character that currently has the cursor didn't re-focus the editor.

What is new in version 2.12:

  • Add a SPARQL mode.
  • Fix bug with cursor jumping around in an unfocused editor in IE.
  • Allow key and mouse events to bubble out of the editor. Ignore widget clicks.
  • Solve cursor flakiness after undo/redo.
  • Fix block-reindent ignoring the last few lines.
  • Fix parsing of multi-line attrs in XML mode.
  • Use innerHTML for HTML-escaping.
  • Some fixes to indentation in C-like mode.
  • Shrink horiz scrollbars when long lines removed.
  • Fix width feedback loop bug that caused the width of an inner DIV to shrink.

What is new in version 2.11:

  • Scheme mode.
  • Add a replace method to search cursors, for cursor-preserving replacements.
  • Make the C-like mode mode more customizeable.
  • Update XML mode to spot mismatched tags.
  • Add getStateAfter API and compareState mode API methods for finer-grained mode magic.
  • Add a getScrollerElement API method to manipulate the scrolling DIV.
  • Fix drag-and-drop for Firefox.
  • Add a C# configuration for the C-like mode.
  • Add full-screen editing and mode-changing demos.

What is new in version 2.1:

  • Added a theme system.

What is new in version 2.01:

  • Smalltalk mode
  • reStructuredText mode
  • Add a Python mode.
  • Add a PL/SQL mode.
  • coordsChar now works
  • Fix a problem where interfered with onChange.
  • Fix a number of scrolling and mouse-click-position glitches.
  • Pass information about the changed lines to onChange.
  • Support cmd-up/down on OS X.
  • Add triple-click line selection.
  • Don't handle shift when changing the selection through the API.
  • Support "nocursor" mode for readOnly option.
  • Add an onHighlightComplete option.
  • Fix the context menu for Firefox.

What is new in version 1.0:

  • Fix error when debug history overflows.
  • Refine handling of C# verbatim strings.
  • Fix some issues with JavaScript indentation.

What is new in version 0.94:

  • tabMode: "spaces" was modified slightly (now indents when something is selected).
  • Fixes a bug that would cause the selection code to break on some IE versions.
  • Disabling spell-check on WebKit browsers now works.

What is new in version 0.93:

  • Added a Regular Expression parser.
  • Fixes to the PHP parser.
  • Support for regular expression in search/replace.
  • Add save method to instances created with fromTextArea.
  • Add support for MS T-SQL in the SQL parser.
  • Support use of CSS classes for highlighting brackets.
  • Fix yet another hang with line-numbering in hidden editors.

What is new in version 0.64:

  • Solves some issues introduced by the paste-handling changes from the previous release.
  • Adds setSpellcheck, setTextWrapping, setIndentUnit, setUndoDepth, setTabMode, and setLineNumbers to customise a running editor.
  • Introduces an SQL parser.
  • Fixes a few small problems in the Python parser.
  • And, as usual, add workarounds for various newly discovered browser incompatibilities.

What is new in version 0.63:

  • Overhaul of paste-handling (less fragile).
  • Fixes for several serious IE8 issues (cursor jumping, end-of-document bugs) and a number of small problems.

What is new in version 0.62:

  • Introduces Python and Lua parsers.
  • Add setParser (on-the-fly mode changing) and clearHistory methods.
  • Make parsing passes time-based instead of lines-based.

What is new in version 0.61:

  • Add line numbers support.
  • Support a mode where tab 'shifts' indentation instead of resetting it.
  • Add indentUnit option to configure indentation depths.
  • Make it possible to grab the editor's keyboard input, which is useful when popping up dialogs.
  • Fix a lot of small bugs, among which the various issues related to pasting in Internet Explorer.

What is new in version 0.60:

  • More robust selection-preservation on IE, allowing styles with different font sizes.
  • New activeTokens and cursorActivity callbacks, and a more powerful, line-based interface for inspecting and manipulating the content of the editor.
  • Fixes the replaceSelection problem in IE, and a lot of other, smaller issues.

What is new in version 0.58:

  • Add parsers for SPARQL and HTML-mixed-mode (nests CSS and JS parsers). Also bracket highlighting, a 'dumb tabs' mode, an onChange callback, and heaps of bugfixes.

Requirements:

  • JavaScript enabled on client side

Similar Software

Medium.js
Medium.js

23 Feb 15

Markdown Note
Markdown Note

6 Jun 15

ACE
ACE

9 Feb 16

Other Software of Developer Marijn Haverbeke

Acorn.js
Acorn.js

10 Feb 16

Mold
Mold

10 Feb 16

CL-JavaScript
CL-JavaScript

6 Jun 15

Comments to CodeMirror

Comments not found
Add Comment
Turn on images!