Extensible Code Editor
CodeMirror 6 is an in-progress rewrite of
the CodeMirror code editor. The
new system aims to provide solid accessibility, touchscreen support,
better content analysis, and a modern programming interface, while
matching the existing code in features and performance. It will not be
API-compatible with the old code.
The project is at a point where the core code is in good shape, but
the documentation is incomplete and several essential extensions have
not been implemented yet.
The recommended way to write language integration for
CodeMirror 6 involves
a full parse tree,
which makes code analysis easier and more powerful.
This version leaves more to the browser, instead of “faking”
to screen readers and other accessibility tools.
Using a native editable control allows you to use the editor on
a phone or tablet with the platform's native selection and editing
A more structured extension interface allows you to implement
complicated extensions in a robust way, without the race
conditions and complexity they would involve in the old
The system's core is extremely generic, and even basic features
like syntax highlighting and line number gutters are implemented
as extensions, allowing you to omit or replace them if you need
By carefully doing only the work that needs to be done, the
library manages to be fast even with gigantic documents and
ridiculously long lines.
CodeMirror is open source
It is being developed
Contributions are welcome.
Discussing the project, or asking questions, is best done on
the forum. Bugs should
be reported through
tracker. We aim to be an inclusive, welcoming community. To make
that explicit, we have
a code of
conduct that applies to communication around the project.
These wonderful companies and organizations helped fund the work on CodeMirror 6.