CodeMirror
Developer(s) | Marijn Haverbeke |
---|---|
Stable release | 5.33.0
/ December 21, 2017[1] |
Repository | |
Written in | JavaScript |
Platform | Web |
Type | Source code editor |
License | MIT |
Website | codemirror |
CodeMirror is a JavaScript component that provides a code editor in the browser. It has a rich programming API and a focus on extensibility.
History
The first version of the editor was written early 2007, for the console in the Eloquent JavaScript website. The code was first packaged up and released under the name CodeMirror in May 2007. This version was based on the contentEditable
feature of browsers.[2]
In late 2010, the Ace project, another JavaScript-based code editor, pioneered new implementation techniques and demonstrated that it is possible, even in JavaScript, to handle documents with many thousands of lines without degraded performance. This prompted a rewrite of CodeMirror [3] along the same principles. The result was version 2, which no longer relied on contentEditable
and significantly improved performance.
Features
- Syntax highlighting.
- Auto indentation and outdent.
- Handles huge documents (hundreds of thousands of lines) without trouble.
- Customizable key bindings including Vi and Emacs modes.
- A wide range of language modes.[4]
- Add-ons for autocompletion, code folding, integrated linting.
- A broad programming API.
- support for some mobile operating systems
Projects using CodeMirror
- Brackets (code editor)
- Codeanywhere
- Codenvy
- Gerrit Code Review
- Google Chrome DevTools
- ICECoder
- Light Table (experimental IDE)
- Mozilla Firefox web console
- SAP Screen Personas (Script editor)
- uBlock Origin