CodeMirror
Developer(s) | Marijn Haverbeke |
---|---|
Stable release | 5.1 / March 23, 2015[1] |
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
- Light Table (experimental IDE)
- Adobe Brackets (code editor)
- CodeBunk (Collaborative Realtime Editor and Compiler)
- CodePen (Online Code Editor)
- CoderPad (Code Editing and Execution for Interviews)
- Codio (Web IDE)
- jsbin.com (JS playground)
- Google Apps Script
- Google Chrome DevTools
- editor a markdown editor
- Eloquent JavaScript (book)
- Emmet (fast XML editing)
- The File Tree (collaborative editor)
- Mozilla's Firefox web console
- NoTex.ch (online text editor for rST et al.)
- Telerik Icenium (hybrid mobile apps development tool)
- My2ndGeneration (Cloud based code generator)
- LiveGap Editor (online HTMl Editor)
- Wamer (web application builder)