CodeMirror
# CodeMirror

CodeMirror es un componente de JavaScript que proporciona un editor de código en el navegador. Tiene una API de programación rica y un enfoque en la extensibilidad.

## Historia

La primera versión del editor fue escrita a principios de 2007, para la consola del sitio web de Eloquent JavaScript. El código fue empaquetado por primera vez y publicado bajo el nombre de CodeMirror en mayo de 2007. Esta versión se basaba en la función contentEditable de los navegadores.

A finales de 2010, el proyecto Ace, otro editor de código basado en JavaScript, fue pionero en nuevas técnicas de implementación y demostró que es posible, incluso en JavaScript, manejar documentos con miles de líneas sin un rendimiento degradado. Esto provocó una reescritura de CodeMirror según los mismos principios. El resultado fue la versión 2, que ya no dependía de contentEditable y mejoró significativamente el rendimiento.

## Características

* Resaltado de sintaxis.
* Sangría automática.
* Maneja documentos de gran tamaño (cientos de miles de líneas) sin problemas.
* Atajos de teclado personalizables incluidos en los modos Vi y Emacs.
* Una amplia gama de modos de lenguaje.
* Complementos para auto-completar, plegado de códigos, linter integrado.
* Una amplia API de programación.
* Soporte para algunos sistemas operativos móviles.

## Proyectos con CodeMirror

* Brackets (editor de código)
* Codeanywhere
* Codenvy
* Gerrit (revisión de código)
* Google Chrome (DevTools)
* ICECoder
* Light Table (IDE experimental)
* Mozilla Firefox (consola web)
* SAP Screen Personas (editor de script)
* uBlock Origin
