Versatile text editor implemented in JavaScript for the browser. It is specialized for editing code, and comes with a number of language modes and addons that implement more advanced editing functionality.
Features over 100 languages out of the box support, composable language mode system, autocompletion , code folding, configurable keybindings (including Vim, Emacs, and Sublime Text defaults), search and replace, bracket and tag matching, split views, linter, ,ixing font sizes and styles, themes, resizability, widgets, programmable gutters, ranges of text styled, read-only, or atomic, bi-directional text support
CodeMirror is a code-editor component that can be embedded in Web pages. The core library provides only the editor component, no accompanying buttons, auto-completion, or other IDE functionality. It does provide a rich API on top of which such functionality can be straightforwardly implemented. See the addons included in the distribution, and 3rd party packages on npm, for reusable implementations of extra features.
CodeMirror works with language-specific modes. Modes are JavaScript programs that help color (and optionally indent) text written in a given language. The distribution comes with a number of modes (see the mode/ directory), and it isn't hard to write new ones for other languages.