481 lines
25 KiB
HTML
481 lines
25 KiB
HTML
|
<!doctype html>
|
||
|
<html>
|
||
|
<head>
|
||
|
<meta charset="utf-8"/>
|
||
|
<title>CodeMirror</title>
|
||
|
<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans:bold"/>
|
||
|
<link rel="stylesheet" type="text/css" href="doc/docs.css"/>
|
||
|
<link rel="alternate" href="https://groups.google.com/group/codemirror-announce/feed/atom_v1_0_topics.xml" type="application/atom+xml"/>
|
||
|
</head>
|
||
|
<body>
|
||
|
|
||
|
<h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
|
||
|
|
||
|
<div class="grey">
|
||
|
<img src="doc/baboon.png" class="logo" alt="logo"/>
|
||
|
<pre>
|
||
|
/* In-browser code editing
|
||
|
made bearable */
|
||
|
</pre>
|
||
|
</div>
|
||
|
|
||
|
<div class="clear"><div class="left blk">
|
||
|
|
||
|
<p style="margin-top: 0">CodeMirror is a JavaScript component that
|
||
|
provides a code editor in the browser. When a mode is available for
|
||
|
the language you are coding in, it will color your code, and
|
||
|
optionally help with indentation.</p>
|
||
|
|
||
|
<p>A <a href="doc/manual.html">rich programming API</a> and a CSS
|
||
|
theming system are available for customizing CodeMirror to fit your
|
||
|
application, and extending it with new functionality.</p>
|
||
|
|
||
|
<div class="clear"><div class="left1 blk">
|
||
|
|
||
|
<h2 style="margin-top: 0">Supported modes:</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li><a href="mode/clike/index.html">C, C++, C#</a></li>
|
||
|
<li><a href="mode/clojure/index.html">Clojure</a></li>
|
||
|
<li><a href="mode/coffeescript/index.html">CoffeeScript</a></li>
|
||
|
<li><a href="mode/commonlisp/index.html">Common Lisp</a></li>
|
||
|
<li><a href="mode/css/index.html">CSS</a></li>
|
||
|
<li><a href="mode/diff/index.html">diff</a></li>
|
||
|
<li><a href="mode/ecl/index.html">ECL</a></li>
|
||
|
<li><a href="mode/erlang/index.html">Erlang</a></li>
|
||
|
<li><a href="mode/go/index.html">Go</a></li>
|
||
|
<li><a href="mode/groovy/index.html">Groovy</a></li>
|
||
|
<li><a href="mode/haskell/index.html">Haskell</a></li>
|
||
|
<li><a href="mode/haxe/index.html">Haxe</a></li>
|
||
|
<li><a href="mode/htmlembedded/index.html">HTML embedded scripts</a></li>
|
||
|
<li><a href="mode/htmlmixed/index.html">HTML mixed-mode</a></li>
|
||
|
<li><a href="mode/clike/index.html">Java</a></li>
|
||
|
<li><a href="mode/javascript/index.html">JavaScript</a></li>
|
||
|
<li><a href="mode/jinja2/index.html">Jinja2</a></li>
|
||
|
<li><a href="mode/less/index.html">LESS</a></li>
|
||
|
<li><a href="mode/lua/index.html">Lua</a></li>
|
||
|
<li><a href="mode/markdown/index.html">Markdown</a> (<a href="mode/gfm/index.html">GitHub-flavour</a>)</li>
|
||
|
<li><a href="mode/mysql/index.html">MySQL</a></li>
|
||
|
<li><a href="mode/ntriples/index.html">NTriples</a></li>
|
||
|
<li><a href="mode/ocaml/index.html">OCaml</a></li>
|
||
|
<li><a href="mode/pascal/index.html">Pascal</a></li>
|
||
|
<li><a href="mode/perl/index.html">Perl</a></li>
|
||
|
<li><a href="mode/php/index.html">PHP</a></li>
|
||
|
<li><a href="mode/pig/index.html">Pig Latin</a></li>
|
||
|
<li><a href="mode/plsql/index.html">PL/SQL</a></li>
|
||
|
<li><a href="mode/properties/index.html">Properties files</a></li>
|
||
|
<li><a href="mode/python/index.html">Python</a></li>
|
||
|
<li><a href="mode/r/index.html">R</a></li>
|
||
|
<li>RPM <a href="mode/rpm/spec/index.html">spec</a> and <a href="mode/rpm/changes/index.html">changelog</a></li>
|
||
|
<li><a href="mode/rst/index.html">reStructuredText</a></li>
|
||
|
<li><a href="mode/ruby/index.html">Ruby</a></li>
|
||
|
<li><a href="mode/rust/index.html">Rust</a></li>
|
||
|
<li><a href="mode/clike/scala.html">Scala</a></li>
|
||
|
<li><a href="mode/scheme/index.html">Scheme</a></li>
|
||
|
<li><a href="mode/shell/index.html">Shell</a></li>
|
||
|
<li><a href="mode/sieve/index.html">Sieve</a></li>
|
||
|
<li><a href="mode/smalltalk/index.html">Smalltalk</a></li>
|
||
|
<li><a href="mode/smarty/index.html">Smarty</a></li>
|
||
|
<li><a href="mode/sparql/index.html">SPARQL</a></li>
|
||
|
<li><a href="mode/stex/index.html">sTeX, LaTeX</a></li>
|
||
|
<li><a href="mode/tiddlywiki/index.html">Tiddlywiki</a></li>
|
||
|
<li><a href="mode/tiki/index.html">Tiki wiki</a></li>
|
||
|
<li><a href="mode/vb/index.html">VB.NET</a></li>
|
||
|
<li><a href="mode/vbscript/index.html">VBScript</a></li>
|
||
|
<li><a href="mode/velocity/index.html">Velocity</a></li>
|
||
|
<li><a href="mode/verilog/index.html">Verilog</a></li>
|
||
|
<li><a href="mode/xml/index.html">XML/HTML</a></li>
|
||
|
<li><a href="mode/xquery/index.html">XQuery</a></li>
|
||
|
<li><a href="mode/yaml/index.html">YAML</a></li>
|
||
|
<li><a href="mode/z80/index.html">Z80</a></li>
|
||
|
</ul>
|
||
|
|
||
|
</div><div class="left2 blk">
|
||
|
|
||
|
<h2 style="margin-top: 0">Usage demos:</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li><a href="demo/complete.html">Autocompletion</a> (<a href="demo/xmlcomplete.html">XML</a>)</li>
|
||
|
<li><a href="demo/search.html">Search/replace</a></li>
|
||
|
<li><a href="demo/folding.html">Code folding</a></li>
|
||
|
<li><a href="demo/mustache.html">Mode overlays</a></li>
|
||
|
<li><a href="demo/multiplex.html">Mode multiplexer</a></li>
|
||
|
<li><a href="demo/preview.html">HTML editor with preview</a></li>
|
||
|
<li><a href="demo/resize.html">Auto-resizing editor</a></li>
|
||
|
<li><a href="demo/marker.html">Setting breakpoints</a></li>
|
||
|
<li><a href="demo/activeline.html">Highlighting the current line</a></li>
|
||
|
<li><a href="demo/matchhighlighter.html">Highlighting selection matches</a></li>
|
||
|
<li><a href="demo/theme.html">Theming</a></li>
|
||
|
<li><a href="demo/runmode.html">Stand-alone highlighting</a></li>
|
||
|
<li><a href="demo/fullscreen.html">Full-screen editing</a></li>
|
||
|
<li><a href="demo/changemode.html">Mode auto-changing</a></li>
|
||
|
<li><a href="demo/visibletabs.html">Visible tabs</a></li>
|
||
|
<li><a href="demo/formatting.html">Autoformatting of code</a></li>
|
||
|
<li><a href="demo/emacs.html">Emacs keybindings</a></li>
|
||
|
<li><a href="demo/vim.html">Vim keybindings</a></li>
|
||
|
<li><a href="demo/closetag.html">Automatic xml tag closing</a></li>
|
||
|
<li><a href="demo/loadmode.html">Lazy mode loading</a></li>
|
||
|
</ul>
|
||
|
|
||
|
<h2>Real-world uses:</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li><a href="http://jsbin.com">jsbin.com</a> (JS playground)</li>
|
||
|
<li><a href="http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/">Light Table</a> (experimental IDE)</li>
|
||
|
<li><a href="http://brackets.io">Adobe Brackets</a> (code editor)</li>
|
||
|
<li><a href="http://www.mergely.com/">Mergely</a> (interactive diffing)</li>
|
||
|
<li><a href="https://script.google.com/">Google Apps Script</a></li>
|
||
|
<li><a href="https://github.com/github/android">GitHub's Android app</a></li>
|
||
|
<li><a href="http://eloquentjavascript.net/chapter1.html">Eloquent JavaScript</a> (book)</li>
|
||
|
<li><a href="http://media.chikuyonok.ru/codemirror2/">Zen Coding</a> (fast XML editing)</li>
|
||
|
<li><a href="http://paperjs.org/">Paper.js</a> (graphics scripting)</li>
|
||
|
<li><a href="http://tour.golang.org">Go language tour</a></li>
|
||
|
<li><a href="http://codev.it/">Codev</a> (collaborative IDE)</li>
|
||
|
<li><a href="http://enjalot.com/tributary/2636296/sinwaves.js">Tributary</a> (augmented editing)</li>
|
||
|
<li><a href="http://prose.io/">Prose.io</a> (github content editor)</li>
|
||
|
<li><a href="http://www.wescheme.org/">WeScheme</a> (learning tool)</li>
|
||
|
<li><a href="http://webglplayground.net/">WebGL playground</a></li>
|
||
|
<li><a href="http://ql.io/">ql.io</a> (http API query helper)</li>
|
||
|
<li><a href="http://elm-lang.org/Examples.elm">Elm language examples</a></li>
|
||
|
<li><a href="https://thefiletree.com">The File Tree</a> (collab editor)</li>
|
||
|
<li><a href="http://www.jshint.com/">JSHint</a> (JS linter)</li>
|
||
|
<li><a href="http://kl1p.com/cmtest/1">kl1p</a> (paste service)</li>
|
||
|
<li><a href="http://sqlfiddle.com">SQLFiddle</a> (SQL playground)</li>
|
||
|
<li><a href="http://try.haxe.org">Try Haxe</a> (Haxe Playground) </li>
|
||
|
<li><a href="http://cssdeck.com/">CSSDeck</a> (CSS showcase)</li>
|
||
|
<li><a href="http://www.sketchpatch.net/labs/livecodelabIntro.html">sketchPatch Livecodelab</a></li>
|
||
|
<li><a href="https://notex.ch">NoTex</a> (rST authoring)</li>
|
||
|
<li><a href="doc/realworld.html">More...</a></li>
|
||
|
</ul>
|
||
|
|
||
|
</div></div>
|
||
|
|
||
|
<h2 id="code">Getting the code</h2>
|
||
|
|
||
|
<p>All of CodeMirror is released under a <a
|
||
|
href="LICENSE">MIT-style</a> license. To get it, you can download
|
||
|
the <a href="http://codemirror.net/codemirror.zip">latest
|
||
|
release</a> or the current <a
|
||
|
href="http://codemirror.net/codemirror-latest.zip">development
|
||
|
snapshot</a> as zip files. To create a custom minified script file,
|
||
|
you can use the <a href="doc/compress.html">compression API</a>.</p>
|
||
|
|
||
|
<p>We use <a href="http://git-scm.com/">git</a> for version control.
|
||
|
The main repository can be fetched in this way:</p>
|
||
|
|
||
|
<pre class="code">git clone http://marijnhaverbeke.nl/git/codemirror</pre>
|
||
|
|
||
|
<p>CodeMirror can also be found on GitHub at <a
|
||
|
href="http://github.com/marijnh/CodeMirror">marijnh/CodeMirror</a>.
|
||
|
If you plan to hack on the code and contribute patches, the best way
|
||
|
to do it is to create a GitHub fork, and send pull requests.</p>
|
||
|
|
||
|
<h2 id="documention">Documentation</h2>
|
||
|
|
||
|
<p>The <a href="doc/manual.html">manual</a> is your first stop for
|
||
|
learning how to use this library. It starts with a quick explanation
|
||
|
of how to use the editor, and then describes the API in detail.</p>
|
||
|
|
||
|
<p>For those who want to learn more about the code, there is
|
||
|
an <a href="doc/internals.html">overview of the internals</a> available.
|
||
|
The <a href="http://github.com/marijnh/CodeMirror">source code</a>
|
||
|
itself is, for the most part, also well commented.</p>
|
||
|
|
||
|
<h2 id="support">Support and bug reports</h2>
|
||
|
|
||
|
<p>Community discussion, questions, and informal bug reporting is
|
||
|
done on
|
||
|
the <a href="http://groups.google.com/group/codemirror">CodeMirror
|
||
|
Google group</a>. There is a separate
|
||
|
group, <a href="http://groups.google.com/group/codemirror-announce">CodeMirror-announce</a>,
|
||
|
which is lower-volume, and is only used for major announcements—new
|
||
|
versions and such. These will be cross-posted to both groups, so you
|
||
|
don't need to subscribe to both.</p>
|
||
|
|
||
|
<p>Though bug reports through e-mail are responded to, the preferred
|
||
|
way to report bugs is to use
|
||
|
the <a href="http://github.com/marijnh/CodeMirror/issues">GitHub
|
||
|
issue tracker</a>. Before reporting a
|
||
|
bug, <a href="doc/reporting.html">read these pointers</a>. Also,
|
||
|
the issue tracker is for <em>bugs</em>, not requests for help.</p>
|
||
|
|
||
|
<p>When none of these seem fitting, you can
|
||
|
simply <a href="mailto:marijnh@gmail.com">e-mail the maintainer</a>
|
||
|
directly.</p>
|
||
|
|
||
|
<h2 id="supported">Supported browsers</h2>
|
||
|
|
||
|
<p>The following <em>desktop</em> browsers are able to run CodeMirror:</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>Firefox 2 or higher</li>
|
||
|
<li>Chrome, any version</li>
|
||
|
<li>Safari 3 or higher</li>
|
||
|
<li>Opera 9 or higher (with some key-handling problems on OS X)</li>
|
||
|
<li>Internet Explorer 7 or higher in standards mode<br>
|
||
|
<em>(So not quirks mode. But quasi-standards mode with a
|
||
|
transitional doctype is also flaky. <code><!doctype
|
||
|
html></code> is recommended.)</em></li>
|
||
|
</ul>
|
||
|
|
||
|
<p>I am not actively testing against every new browser release, and
|
||
|
vendors have a habit of introducing bugs all the time, so I am
|
||
|
relying on the community to tell me when something breaks.
|
||
|
See <a href="#support">here</a> for information on how to contact
|
||
|
me.</p>
|
||
|
|
||
|
<p>Mobile browsers mostly kind of work, but, because of limitations
|
||
|
and their fundamentally different UI assumptions, show a lot of
|
||
|
quirks that are hard to work around.</p>
|
||
|
|
||
|
<h2 id="commercial">Commercial support</h2>
|
||
|
|
||
|
<p>CodeMirror is developed and maintained by me, Marijn Haverbeke,
|
||
|
in my own time. If your company is getting value out of CodeMirror,
|
||
|
please consider purchasing a support contract.</p>
|
||
|
|
||
|
<ul>
|
||
|
<li>You'll be funding further work on CodeMirror.</li>
|
||
|
<li>You ensure that you get a quick response when you have a
|
||
|
problem, even when I am otherwise busy.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>CodeMirror support contracts exist in two
|
||
|
forms—<strong>basic</strong> at €100 per month,
|
||
|
and <strong>premium</strong> at €500 per
|
||
|
month. <a href="mailto:marijnh@gmail.com">Contact me</a> for further
|
||
|
information.</p>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<div class="right blk">
|
||
|
|
||
|
<a href="http://codemirror.net/codemirror.zip" class="download">Download the latest release</a>
|
||
|
|
||
|
<h2>Support CodeMirror</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li>Donate
|
||
|
(<span onclick="document.getElementById('paypal').submit();"
|
||
|
class="quasilink">Paypal</span>,
|
||
|
<span onclick="document.getElementById('bankinfo').style.display = 'block';"
|
||
|
class="quasilink">bank</span>, or
|
||
|
<a href="https://www.gittip.com/marijnh">Gittip</a>)</li>
|
||
|
<li>Purchase <a href="#commercial">commercial support</a></li>
|
||
|
</ul>
|
||
|
|
||
|
<p id="bankinfo" style="display: none;">
|
||
|
Bank: <i>Rabobank</i><br/>
|
||
|
Country: <i>Netherlands</i><br/>
|
||
|
SWIFT: <i>RABONL2U</i><br/>
|
||
|
Account: <i>147850770</i><br/>
|
||
|
Name: <i>Marijn Haverbeke</i><br/>
|
||
|
IBAN: <i>NL26 RABO 0147 8507 70</i>
|
||
|
</p>
|
||
|
|
||
|
<h2>Reading material</h2>
|
||
|
|
||
|
<ul>
|
||
|
<li><a href="doc/manual.html">User manual</a></li>
|
||
|
<li><a href="http://github.com/marijnh/CodeMirror">Browse the code</a></li>
|
||
|
</ul>
|
||
|
|
||
|
<h2 id=releases>Releases</h2>
|
||
|
|
||
|
<p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-2.36.zip">Version 2.36</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New mode: <a href="mode/z80/index.html">Z80 assembly</a>.</li>
|
||
|
<li>New theme: <a href="demo/theme.html?twilight">Twilight</a>.</li>
|
||
|
<li>Add command-line compression helper.</li>
|
||
|
<li>Make <a href="doc/manual.html#scrollIntoView"><code>scrollIntoView</code></a> public.</li>
|
||
|
<li>Add <a href="doc/manual.html#defaultTextHeight"><code>defaultTextHeight</code></a> method.</li>
|
||
|
<li>Various extensions to the vim keymap.</li>
|
||
|
<li>Make <a href="mode/php/index.html">PHP mode</a> build on <a href="mode/htmlmixed/index.html">mixed HTML mode</a>.</li>
|
||
|
<li>Add <a href="doc/manual.html#util_continuecomment">comment-continuing</a> add-on.</li>
|
||
|
<li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v2.35...v2.36">list of patches</a>.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">20-11-2012: <a href="http://codemirror.net/codemirror-3.0rc1.zip">Version 3.0, release candidate 1</a>:</p>
|
||
|
|
||
|
<p class="rel-note"><strong>New major version</strong>. Only partially
|
||
|
backwards-compatible. See
|
||
|
the <a href="http://codemirror.net/3/doc/upgrade_v3.html">upgrading
|
||
|
guide</a> for more information. Changes since beta 2:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New theme: <a href="http://codemirror.net/3/demo/theme.html?solarized%20light">Solarized</a>.</li>
|
||
|
<li>Introduce <a href="http://codemirror.net/3/doc/manual.html#addLineClass"><code>addLineClass</code></a>
|
||
|
and <a href="http://codemirror.net/3/doc/manual.html#removeLineClass"><code>removeLineClass</code></a>,
|
||
|
drop <code>setLineClass</code>.</li>
|
||
|
<li>Add a <em>lot</em> of
|
||
|
new <a href="http://codemirror.net/3/doc/manual.html#markText">options for marked text</a>
|
||
|
(read-only, atomic, collapsed, widget replacement).</li>
|
||
|
<li>Remove the old code folding interface in favour of these new ranges.</li>
|
||
|
<li>Add <a href="http://codemirror.net/3/doc/manual.html#isClean"><code>isClean</code></a>/<a href="http://codemirror.net/3/doc/manual.html#markClean"><code>markClean</code></a> methods.</li>
|
||
|
<li>Remove <code>compoundChange</code> method, use better undo-event-combining heuristic.</li>
|
||
|
<li>Improve scrolling performance smoothness.</li>
|
||
|
<li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0beta2...v3.0rc1">list of patches</a>.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">22-10-2012: <a href="http://codemirror.net/codemirror-2.35.zip">Version 2.35</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New (sub) mode: <a href="mode/javascript/typescript.html">TypeScript</a>.</li>
|
||
|
<li>Don't overwrite (insert key) when pasting.</li>
|
||
|
<li>Fix several bugs in <a href="doc/manual.html#markText"><code>markText</code></a>/undo interaction.</li>
|
||
|
<li>Better indentation of JavaScript code without semicolons.</li>
|
||
|
<li>Add <a href="doc/manual.html#defineInitHook"><code>defineInitHook</code></a> function.</li>
|
||
|
<li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v2.34...v2.35">list of patches</a>.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">22-10-2012: <a href="http://codemirror.net/codemirror-3.0beta2.zip">Version 3.0, beta 2</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>Fix page-based coordinate computation.</li>
|
||
|
<li>Fix firing of <a href="http://codemirror.net/3/doc/manual.html#event_gutterClick"><code>gutterClick</code></a> event.</li>
|
||
|
<li>Add <a href="http://codemirror.net/3/doc/manual.html#option_cursorHeight"><code>cursorHeight</code></a> option.</li>
|
||
|
<li>Fix bi-directional text regression.</li>
|
||
|
<li>Add <a href="http://codemirror.net/3/doc/manual.html#option_viewportMargin"><code>viewportMargin</code></a> option.</li>
|
||
|
<li>Directly handle mousewheel events (again, hopefully better).</li>
|
||
|
<li>Make vertical cursor movement more robust (through widgets, big line gaps).</li>
|
||
|
<li>Add <a href="http://codemirror.net/3/doc/manual.html#option_flattenSpans"><code>flattenSpans</code></a> option.</li>
|
||
|
<li>Initialization in hidden state works again.</li>
|
||
|
<li>Many optimizations. Poor responsiveness should be fixed.</li>
|
||
|
<li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0beta1...v3.0beta2">list of patches</a>.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">19-09-2012: <a href="http://codemirror.net/codemirror-2.34.zip">Version 2.34</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New mode: <a href="mode/commonlisp/index.html">Common Lisp</a>.</li>
|
||
|
<li>Fix right-click select-all on most browsers.</li>
|
||
|
<li>Change the way highlighting happens:<br> Saves memory and CPU cycles.<br> <code>compareStates</code> is no longer needed.<br> <code>onHighlightComplete</code> no longer works.</li>
|
||
|
<li>Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.</li>
|
||
|
<li>Add a <a href="doc/manual.html#version"><code>CodeMirror.version</code></a> property.</li>
|
||
|
<li>More robust handling of nested modes in <a href="demo/formatting.html">formatting</a> and <a href="demo/closetag.html">closetag</a> plug-ins.</li>
|
||
|
<li>Un/redo now preserves <a href="doc/manual.html#markText">marked text</a> and bookmarks.</li>
|
||
|
<li><a href="https://github.com/marijnh/CodeMirror/compare/v2.33...v2.34">Full list</a> of patches.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">19-09-2012: <a href="http://codemirror.net/codemirror-3.0beta1.zip">Version 3.0, beta 1</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>Bi-directional text support.</li>
|
||
|
<li>More powerful gutter model.</li>
|
||
|
<li>Support for arbitrary text/widget height.</li>
|
||
|
<li>In-line widgets.</li>
|
||
|
<li>Generalized event handling.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">23-08-2012: <a href="http://codemirror.net/codemirror-2.33.zip">Version 2.33</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New mode: <a href="mode/sieve/index.html">Sieve</a>.</li>
|
||
|
<li>New <a href="doc/manual.html#getViewport"><code>getViewPort</code></a> and <a href="doc/manual.html#option_onViewportChange"><code>onViewportChange</code></a> API.</li>
|
||
|
<li><a href="doc/manual.html#option_cursorBlinkRate">Configurable</a> cursor blink rate.</li>
|
||
|
<li>Make binding a key to <code>false</code> disabling handling (again).</li>
|
||
|
<li>Show non-printing characters as red dots.</li>
|
||
|
<li>More tweaks to the scrolling model.</li>
|
||
|
<li>Expanded testsuite. Basic linter added.</li>
|
||
|
<li>Remove most uses of <code>innerHTML</code>. Remove <code>CodeMirror.htmlEscape</code>.</li>
|
||
|
<li><a href="https://github.com/marijnh/CodeMirror/compare/v2.32...v2.33">Full list</a> of patches.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">23-07-2012: <a href="http://codemirror.net/codemirror-2.32.zip">Version 2.32</a>:</p>
|
||
|
|
||
|
<p class="rel-note">Emergency fix for a bug where an editor with
|
||
|
line wrapping on IE will break when there is <em>no</em>
|
||
|
scrollbar.</p>
|
||
|
|
||
|
<p class="rel">20-07-2012: <a href="http://codemirror.net/codemirror-2.31.zip">Version 2.31</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New modes: <a href="mode/ocaml/index.html">OCaml</a>, <a href="mode/haxe/index.html">Haxe</a>, and <a href="mode/vb/index.html">VB.NET</a>.</li>
|
||
|
<li>Several fixes to the new scrolling model.</li>
|
||
|
<li>Add a <a href="doc/manual.html#setSize"><code>setSize</code></a> method for programmatic resizing.</li>
|
||
|
<li>Add <a href="doc/manual.html#getHistory"><code>getHistory</code></a> and <a href="doc/manual.html#setHistory"><code>setHistory</code></a> methods.</li>
|
||
|
<li>Allow custom line separator string in <a href="doc/manual.html#getValue"><code>getValue</code></a> and <a href="doc/manual.html#getRange"><code>getRange</code></a>.</li>
|
||
|
<li>Support double- and triple-click drag, double-clicking whitespace.</li>
|
||
|
<li>And more... <a href="https://github.com/marijnh/CodeMirror/compare/v2.3...v2.31">(all patches)</a></li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">22-06-2012: <a href="http://codemirror.net/codemirror-2.3.zip">Version 2.3</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li><strong>New scrollbar implementation</strong>. Should flicker less. Changes DOM structure of the editor.</li>
|
||
|
<li>New theme: <a href="demo/theme.html?vibrant-ink">vibrant-ink</a>.</li>
|
||
|
<li>Many extensions to the VIM keymap (including text objects).</li>
|
||
|
<li>Add <a href="demo/multiplex.html">mode-multiplexing</a> utility script.</li>
|
||
|
<li>Fix bug where right-click paste works in read-only mode.</li>
|
||
|
<li>Add a <a href="doc/manual.html#getScrollInfo"><code>getScrollInfo</code></a> method.</li>
|
||
|
<li>Lots of other <a href="https://github.com/marijnh/CodeMirror/compare/v2.25...v2.3">fixes</a>.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">23-05-2012: <a href="http://codemirror.net/codemirror-2.25.zip">Version 2.25</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>New mode: <a href="mode/erlang/index.html">Erlang</a>.</li>
|
||
|
<li><strong>Remove xmlpure mode</strong> (use <a href="mode/xml/index.html">xml.js</a>).</li>
|
||
|
<li>Fix line-wrapping in Opera.</li>
|
||
|
<li>Fix X Windows middle-click paste in Chrome.</li>
|
||
|
<li>Fix bug that broke pasting of huge documents.</li>
|
||
|
<li>Fix backspace and tab key repeat in Opera.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">23-04-2012: <a href="http://codemirror.net/codemirror-2.24.zip">Version 2.24</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li><strong>Drop support for Internet Explorer 6</strong>.</li>
|
||
|
<li>New
|
||
|
modes: <a href="mode/shell/index.html">Shell</a>, <a href="mode/tiki/index.html">Tiki
|
||
|
wiki</a>, <a href="mode/pig/index.html">Pig Latin</a>.</li>
|
||
|
<li>New themes: <a href="demo/theme.html?ambiance">Ambiance</a>, <a href="demo/theme.html?blackboard">Blackboard</a>.</li>
|
||
|
<li>More control over drag/drop
|
||
|
with <a href="doc/manual.html#option_dragDrop"><code>dragDrop</code></a>
|
||
|
and <a href="doc/manual.html#option_onDragEvent"><code>onDragEvent</code></a>
|
||
|
options.</li>
|
||
|
<li>Make HTML mode a bit less pedantic.</li>
|
||
|
<li>Add <a href="doc/manual.html#compoundChange"><code>compoundChange</code></a> API method.</li>
|
||
|
<li>Several fixes in undo history and line hiding.</li>
|
||
|
<li>Remove (broken) support for <code>catchall</code> in key maps,
|
||
|
add <code>nofallthrough</code> boolean field instead.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p class="rel">26-03-2012: <a href="http://codemirror.net/codemirror-2.23.zip">Version 2.23</a>:</p>
|
||
|
|
||
|
<ul class="rel-note">
|
||
|
<li>Change <strong>default binding for tab</strong> <a href="javascript:void(document.getElementById('tabbinding').style.display='')">[more]</a>
|
||
|
<div style="display: none" id=tabbinding>
|
||
|
Starting in 2.23, these bindings are default:
|
||
|
<ul><li>Tab: Insert tab character</li>
|
||
|
<li>Shift-tab: Reset line indentation to default</li>
|
||
|
<li>Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)</li>
|
||
|
<li>Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
</li>
|
||
|
<li>New modes: <a href="mode/xquery/index.html">XQuery</a> and <a href="mode/vbscript/index.html">VBScript</a>.</li>
|
||
|
<li>Two new themes: <a href="mode/less/index.html">lesser-dark</a> and <a href="mode/xquery/index.html">xq-dark</a>.</li>
|
||
|
<li>Differentiate between background and text styles in <a href="doc/manual.html#setLineClass"><code>setLineClass</code></a>.</li>
|
||
|
<li>Fix drag-and-drop in IE9+.</li>
|
||
|
<li>Extend <a href="doc/manual.html#charCoords"><code>charCoords</code></a>
|
||
|
and <a href="doc/manual.html#cursorCoords"><code>cursorCoords</code></a> with a <code>mode</code> argument.</li>
|
||
|
<li>Add <a href="doc/manual.html#option_autofocus"><code>autofocus</code></a> option.</li>
|
||
|
<li>Add <a href="doc/manual.html#findMarksAt"><code>findMarksAt</code></a> method.</li>
|
||
|
</ul>
|
||
|
|
||
|
<p><a href="doc/oldrelease.html">Older releases...</a></p>
|
||
|
|
||
|
</div></div>
|
||
|
|
||
|
<div style="height: 2em"> </div>
|
||
|
|
||
|
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
|
||
|
<input type="hidden" name="cmd" value="_s-xclick"/>
|
||
|
<input type="hidden" name="hosted_button_id" value="3FVHS5FGUY7CC"/>
|
||
|
</form>
|
||
|
|
||
|
</body>
|
||
|
</html>
|