move a few things away in to-be-integrated/
[myslice.git] / to-be-integrated / third-party / codemirror-3.15 / index.html
1 <!doctype html>
2 <html>
3   <head>
4     <meta charset="utf-8"/>
5     <title>CodeMirror</title>
6     <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Droid+Sans|Droid+Sans:bold"/>
7     <link rel="stylesheet" type="text/css" href="doc/docs.css"/>
8     <link rel="alternate" href="https://groups.google.com/group/codemirror-announce/feed/atom_v1_0_topics.xml" type="application/atom+xml"/>
9   </head>
10   <body>
11
12 <h1><span class="logo-braces">{ }</span> <a href="http://codemirror.net/">CodeMirror</a></h1>
13
14 <div class="grey">
15 <img src="doc/baboon.png" class="logo" alt="logo"/>
16 <pre>
17 /* In-browser code editing
18    made bearable */
19 </pre>
20 </div>
21
22 <div class="clear"><div class="left blk">
23
24   <p style="margin-top: 0">CodeMirror is a JavaScript component that
25   provides a code editor in the browser. When a mode is available for
26   the language you are coding in, it will color your code, and
27   optionally help with indentation.</p>
28
29   <p>A <a href="doc/manual.html">rich programming API</a> and a CSS
30   theming system are available for customizing CodeMirror to fit your
31   application, and extending it with new functionality.</p>
32
33   <div class="clear"><div class="left1 blk">
34
35     <h2 style="margin-top: 0">Supported modes:</h2>
36
37     <ul>
38       <li><a href="mode/clike/index.html">C, C++, C#</a></li>
39       <li><a href="mode/clojure/index.html">Clojure</a></li>
40       <li><a href="mode/coffeescript/index.html">CoffeeScript</a></li>
41       <li><a href="mode/commonlisp/index.html">Common Lisp</a></li>
42       <li><a href="mode/css/index.html">CSS</a></li>
43       <li><a href="mode/python/index.html">Cython</a></li>
44       <li><a href="mode/d/index.html">D</a></li>
45       <li><a href="mode/diff/index.html">diff</a></li>
46       <li><a href="mode/ecl/index.html">ECL</a></li>
47       <li><a href="mode/erlang/index.html">Erlang</a></li>
48       <li><a href="mode/go/index.html">Go</a></li>
49       <li><a href="mode/groovy/index.html">Groovy</a></li>
50       <li><a href="mode/haskell/index.html">Haskell</a></li>
51       <li><a href="mode/haxe/index.html">Haxe</a></li>
52       <li><a href="mode/htmlmixed/index.html">HTML mixed-mode</a></li>
53       <li><a href="mode/http/index.html">HTTP</a></li>
54       <li><a href="mode/clike/index.html">Java</a></li>
55       <li><a href="mode/javascript/index.html">JavaScript</a></li>
56       <li><a href="mode/less/index.html">LESS</a></li>
57       <li><a href="mode/lua/index.html">Lua</a></li>
58       <li><a href="mode/markdown/index.html">Markdown</a> (<a href="mode/gfm/index.html">GitHub-flavour</a>)</li>
59       <li><a href="mode/ntriples/index.html">NTriples</a></li>
60       <li><a href="mode/ocaml/index.html">OCaml</a></li>
61       <li><a href="mode/pascal/index.html">Pascal</a></li>
62       <li><a href="mode/perl/index.html">Perl</a></li>
63       <li><a href="mode/php/index.html">PHP</a></li>
64       <li><a href="mode/properties/index.html">Properties files</a></li>
65       <li><a href="mode/python/index.html">Python</a></li>
66       <li><a href="mode/r/index.html">R</a></li>
67       <li><a href="mode/rst/index.html">reStructuredText</a></li>
68       <li><a href="mode/ruby/index.html">Ruby</a></li>
69       <li><a href="mode/rust/index.html">Rust</a></li>
70       <li><a href="mode/sass/index.html">Sass</a></li>
71       <li><a href="mode/clike/scala.html">Scala</a></li>
72       <li><a href="mode/scheme/index.html">Scheme</a></li>
73       <li><a href="mode/shell/index.html">Shell</a></li>
74       <li><a href="mode/smalltalk/index.html">Smalltalk</a></li>
75       <li><a href="mode/smarty/index.html">Smarty</a></li>
76       <li><a href="mode/sql/index.html">SQL</a> (several dialects)</li>
77       <li><a href="mode/sparql/index.html">SPARQL</a></li>
78       <li><a href="mode/stex/index.html">sTeX, LaTeX</a></li>
79       <li><a href="mode/tcl/index.html">Tcl</a></li>
80       <li><a href="mode/vb/index.html">VB.NET</a></li>
81       <li><a href="mode/vbscript/index.html">VBScript</a></li>
82       <li><a href="mode/velocity/index.html">Velocity</a></li>
83       <li><a href="mode/xml/index.html">XML/HTML</a></li>
84       <li><a href="mode/xquery/index.html">XQuery</a></li>
85       <li><a href="mode/yaml/index.html">YAML</a></li>
86       <li><a href="mode/z80/index.html">Z80</a></li>
87       <li><a href="doc/modes.html">Full list...</a></li>
88     </ul>
89
90   </div><div class="left2 blk">
91
92     <h2 style="margin-top: 0">Usage demos:</h2>
93
94     <ul>
95       <li><a href="demo/complete.html">Autocompletion</a> (<a href="demo/xmlcomplete.html">XML</a>)</li>
96       <li><a href="demo/search.html">Search/replace</a></li>
97       <li><a href="demo/folding.html">Code folding</a></li>
98       <li><a href="demo/bidi.html">Bi-directional text</a></li>
99       <li><a href="demo/widget.html">Line widgets</a> (via JSHint)</li>
100       <li><a href="demo/buffers.html">Split view</a></li>
101       <li><a href="demo/mustache.html">Mode overlays</a></li>
102       <li><a href="demo/multiplex.html">Mode multiplexer</a></li>
103       <li><a href="demo/preview.html">HTML editor with preview</a></li>
104       <li><a href="demo/resize.html">Auto-resizing editor</a></li>
105       <li><a href="demo/marker.html">Setting breakpoints</a></li>
106       <li><a href="demo/activeline.html">Highlighting the current line</a></li>
107       <li><a href="demo/matchhighlighter.html">Highlighting selection matches</a></li>
108       <li><a href="demo/theme.html">Theming</a></li>
109       <li><a href="demo/variableheight.html">Mixed font sizes</a></li>
110       <li><a href="demo/runmode.html">Stand-alone highlighting</a></li>
111       <li><a href="demo/fullscreen.html">Full-screen editing</a></li>
112       <li><a href="demo/changemode.html">Mode auto-changing</a></li>
113       <li><a href="demo/visibletabs.html">Visible tabs</a></li>
114       <li><a href="demo/emacs.html">Emacs keybindings</a></li>
115       <li><a href="demo/vim.html">Vim keybindings</a></li>
116       <li><a href="demo/closetag.html">Automatic xml tag closing</a></li>
117       <li><a href="demo/loadmode.html">Lazy mode loading</a></li>
118       <li><a href="demo/btree.html">Document tree visualization</a></li>
119     </ul>
120
121     <h2>Real-world uses:</h2>
122
123     <ul>
124       <li><a href="http://www.chris-granger.com/2012/04/12/light-table---a-new-ide-concept/">Light Table</a></li>
125       <li><a href="http://brackets.io">Adobe Brackets</a></li>
126       <li><a href="https://www.webkit.org/blog/2518/state-of-web-inspector/#source-code">WebKit Web inspector</a></li>
127       <li><a href="http://jsbin.com">jsbin.com</a></li>
128       <li><a href="http://jsfiddle.net">jsfiddle.net</a></li>
129       <li><a href="http://blog.bitbucket.org/2013/05/14/edit-your-code-in-the-cloud-with-bitbucket/">Bitbucket</a></li>
130       <li><a href="https://script.google.com/">Google Apps Script</a></li>
131       <li><a href="http://eloquentjavascript.net/chapter1.html">Eloquent JavaScript</a></li>
132       <li><a href="http://emmet.io">Emmet</a></li>
133       <li><a href="http://prose.io/">Prose.io</a></li>
134       <li><a href="https://upsource.jetbrains.com/#idea/view/923f30395f2603cd9f42a32bcafd13b6c28de0ff/plugins/groovy/src/org/jetbrains/plugins/groovy/intentions/style/ReplaceAbstractClassInstanceByMapIntention.java">Upsource</a></li>
135       <li><a href="http://paperjs.org/">Paper.js</a></li>
136       <li><a href="http://codev.it/">Codev</a></li>
137       <li><a href="http://enjalot.com/tributary/2636296/sinwaves.js">Tributary</a></li>
138       <li><a href="http://www.wescheme.org/">WeScheme</a></li>
139       <li><a href="http://www.mergely.com/">Mergely</a></li>
140       <li><a href="http://webglplayground.net/">WebGL playground</a></li>
141       <li><a href="https://thefiletree.com">The File Tree</a></li>
142       <li><a href="http://www.jshint.com/">JSHint</a></li>
143       <li><a href="http://sqlfiddle.com">SQLFiddle</a></li>
144       <li><a href="http://cssdeck.com/">CSSDeck</a></li>
145       <li><a href="http://www.sketchpatch.net/labs/livecodelabIntro.html">sketchPatch Livecodelab</a></li>
146       <li><a href="https://notex.ch">NoTex</a></li>
147       <li><a href="https://github.com/github/android">GitHub's Android app</a></li>
148       <li><a href="doc/realworld.html">More...</a></li>
149     </ul>
150
151   </div></div>
152
153   <h2 id="code">Getting the code</h2>
154
155   <p>All of CodeMirror is released under a <a
156   href="LICENSE">MIT-style</a> license. To get it, you can download
157   the <a href="http://codemirror.net/codemirror.zip">latest
158   release</a> or the current <a
159   href="http://codemirror.net/codemirror-latest.zip">development
160   snapshot</a> as zip files. To create a custom minified script file,
161   you can use the <a href="doc/compress.html">compression API</a>.</p>
162
163   <p>We use <a href="http://git-scm.com/">git</a> for version control.
164   The main repository can be fetched in this way:</p>
165
166   <pre class="code">git clone http://marijnhaverbeke.nl/git/codemirror</pre>
167
168   <p>CodeMirror can also be found on GitHub at <a
169   href="http://github.com/marijnh/CodeMirror">marijnh/CodeMirror</a>.
170   If you plan to hack on the code and contribute patches, the best way
171   to do it is to create a GitHub fork, and send pull requests.</p>
172
173   <h2 id="documention">Documentation</h2>
174
175   <p>The <a href="doc/manual.html">manual</a> is your first stop for
176   learning how to use this library. It starts with a quick explanation
177   of how to use the editor, and then describes the API in detail.</p>
178
179   <p>For those who want to learn more about the code, there is
180   a <a href="http://marijnhaverbeke.nl/blog/#cm-internals">series of
181   posts</a> on CodeMirror on my blog, and the
182   old <a href="doc/internals.html">overview of the editor
183   internals</a>.
184   The <a href="http://github.com/marijnh/CodeMirror">source code</a>
185   itself is, for the most part, also very readable.</p>
186
187   <h2 id="support">Support and bug reports</h2>
188
189   <p>Community discussion, questions, and informal bug reporting is
190   done on
191   the <a href="http://groups.google.com/group/codemirror">CodeMirror
192   Google group</a>. There is a separate
193   group, <a href="http://groups.google.com/group/codemirror-announce">CodeMirror-announce</a>,
194   which is lower-volume, and is only used for major announcements—new
195   versions and such. These will be cross-posted to both groups, so you
196   don't need to subscribe to both.</p>
197
198   <p>Though bug reports through e-mail are responded to, the preferred
199   way to report bugs is to use
200   the <a href="http://github.com/marijnh/CodeMirror/issues">GitHub
201   issue tracker</a>. Before reporting a
202   bug, <a href="doc/reporting.html">read these pointers</a>. Also,
203   the issue tracker is for <em>bugs</em>, not requests for help.</p>
204
205   <p>When none of these seem fitting, you can
206   simply <a href="mailto:marijnh@gmail.com">e-mail the maintainer</a>
207   directly.</p>
208
209   <h2 id="supported">Supported browsers</h2>
210
211   <p>The following <em>desktop</em> browsers are able to run CodeMirror:</p>
212
213   <ul>
214     <li>Firefox 3 or higher</li>
215     <li>Chrome, any version</li>
216     <li>Safari 5.2 or higher</li>
217     <li>Opera 9 or higher (with some key-handling problems on OS X)</li>
218     <li>Internet Explorer 8 or higher<br>
219     <li>Internet Explorer 7 (standards mode) is usable, but buggy. It
220     has a <a href="http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html">z-index
221     bug</a> that prevents CodeMirror from working properly.</li>
222   </ul>
223
224   <p>Note that CodeMirror is only supported in
225   <strong>standards</strong> mode. So not quirks mode,
226   but <em>also</em> not the quasi-standards mode that IE gives you
227   when you specify a transitional doctype. Simply using the
228   HTML5-style <code>&lt;!doctype html></code> is recommended.</li>
229
230   <p>Mobile browsers mostly kind of work, but, because of limitations
231   and their fundamentally different UI assumptions, show a lot of
232   quirks that are hard to work around.</p>
233
234   <h2 id="commercial">Commercial support</h2>
235
236   <p>CodeMirror is developed and maintained by me, Marijn Haverbeke,
237   in my own time. If your company is getting value out of CodeMirror,
238   please consider purchasing a support contract.</p>
239
240   <ul>
241     <li>You'll be funding further work on CodeMirror.</li>
242     <li>You ensure that you get a quick response when you have a
243     problem, even when I am otherwise busy.</li>
244   </ul>
245
246   <p>CodeMirror support contracts exist in two
247   forms—<strong>basic</strong> at â‚¬100 per month,
248   and <strong>premium</strong> at â‚¬500 per
249   month. <a href="mailto:marijnh@gmail.com">Contact me</a> for further
250   information.</p>
251
252 </div>
253
254 <div class="right blk">
255
256   <a href="http://codemirror.net/codemirror.zip" class="download">Download the latest release</a>
257
258   <h2>Support CodeMirror</h2>
259
260   <ul>
261     <li>Donate
262     (<span onclick="document.getElementById('paypal').submit();"
263     class="quasilink">Paypal</span>,
264     <span onclick="document.getElementById('bankinfo').style.display = 'block';"
265            class="quasilink">bank</span>,
266     <a href="https://www.gittip.com/marijnh">Gittip</a>, or
267     <a href="https://flattr.com/profile/marijnh">Flattr</a>)</li>
268     <li>Purchase <a href="#commercial">commercial support</a></li>
269   </ul>
270
271   <p id="bankinfo" style="display: none;">
272     Bank: <i>Rabobank</i><br/>
273     Country: <i>Netherlands</i><br/>
274     SWIFT: <i>RABONL2U</i><br/>
275     Account: <i>147850770</i><br/>
276     Name: <i>Marijn Haverbeke</i><br/>
277     IBAN: <i>NL26 RABO 0147 8507 70</i>
278   </p>
279
280   <h2>Reading material</h2>
281
282   <ul>
283     <li><a href="doc/manual.html">User manual</a></li>
284     <li><a href="http://github.com/marijnh/CodeMirror">Browse the code</a></li>
285   </ul>
286
287   <h2 id=releases>Releases</h2>
288
289   <p class="rel">29-07-2013: <a href="http://codemirror.net/codemirror-3.15.zip">Version 3.15</a>:</p>
290
291   <ul class="rel-note">
292     <li>New modes: <a href="mode/jade/index.html">Jade</a>, <a href="mode/nginx/index.html">Nginx</a>.</li>
293     <li>New addons: <a href="demo/tern.html">Tern</a>, <a href="doc/manual.html#addon_matchtags">matchtags</a>, and <a href="doc/manual.html#addon_foldgutter">foldgutter</a>.</li>
294     <li>Introduced <a href="doc/manual.html#getHelper"><em>helper</em></a> concept (<a href="https://groups.google.com/forum/#!msg/codemirror/cOc0xvUUEUU/nLrX1-qnidgJ">context</a>).</li>
295     <li>New method: <a href="doc/manual.html#getModeAt"><code>getModeAt</code></a>.</li>
296     <li>New themes: base16 <a href="demo/theme.html?base16-dark">dark</a>/<a href="demo/theme.html?base16-light">light</a>, 3024 <a href="demo/theme.html?3024-night">dark</a>/<a href="demo/theme.html?3024-day">light</a>, <a href="demo/theme.html?tomorrow-night-eighties">tomorrow-night</a>.</li>
297     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.14.0...3.15.0">list of patches</a>.</li>
298   </ul>
299
300   <p class="rel">20-06-2013: <a href="http://codemirror.net/codemirror-3.14.zip">Version 3.14</a>:</p>
301
302   <ul class="rel-note">
303     <li>New
304     addons: <a href="doc/manual.html#addon_trailingspace">trailing
305     space highlight</a>, <a href="doc/manual.html#addon_xml-hint">XML
306     completion</a> (rewritten),
307     and <a href="doc/manual.html#addon_merge">diff merging</a>.</li>
308     <li><a href="doc/manual.html#markText"><code>markText</code></a>
309     and <a href="doc/manual.html#addLineWidget"><code>addLineWidget</code></a>
310     now take a <code>handleMouseEvents</code> option.</li>
311     <li>New methods: <a href="doc/manual.html#lineAtHeight"><code>lineAtHeight</code></a>,
312     <a href="doc/manual.html#getTokenTypeAt"><code>getTokenTypeAt</code></a>.</li>
313     <li>More precise cleanness-tracking
314     using <a href="doc/manual.html#changeGeneration"><code>changeGeneration</code></a>
315     and <a href="doc/manual.html#isClean"><code>isClean</code></a>.</li>
316     <li>Many extensions to <a href="demo/emacs.html">Emacs</a> mode
317     (prefixes, more navigation units, and more).</li>
318     <li>New
319     events <a href="doc/manual.html#event_keyHandled"><code>"keyHandled"</code></a>
320     and <a href="doc/manual.html#event_inputRead"><code>"inputRead"</code></a>.</li>
321     <li>Various improvements to <a href="mode/ruby/index.html">Ruby</a>,
322     <a href="mode/smarty/index.html">Smarty</a>, <a href="mode/sql/index.html">SQL</a>,
323     and <a href="demo/vim.html">Vim</a> modes.</li>
324     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/3.13.0...3.14.0">list of patches</a>.</li>
325   </ul>
326
327   <p class="rel">20-05-2013: <a href="http://codemirror.net/codemirror-3.13.zip">Version 3.13</a>:</p>
328
329   <ul class="rel-note">
330     <li>New modes: <a href="mode/cobol/index.html">COBOL</a> and <a href="mode/haml/index.html">HAML</a>.</li>
331     <li>New options: <a href="doc/manual.html#option_cursorScrollMargin"><code>cursorScrollMargin</code></a> and <a href="doc/manual.html#option_coverGutterNextToScrollbar"><code>coverGutterNextToScrollbar</code></a>.</li>
332     <li>New addon: <a href="doc/manual.html#addon_comment">commenting</a>.</li>
333     <li>More features added to the <a href="demo/vim.html">Vim keymap</a>.</li>
334     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.12...3.13.0">list of patches</a>.</li>
335   </ul>
336
337   <p class="rel">19-04-2013: <a href="http://codemirror.net/codemirror-3.12.zip">Version 3.12</a>:</p>
338
339   <ul class="rel-note">
340     <li>New mode: <a href="mode/gas/index.html">GNU assembler</a>.</li>
341     <li>New
342     options: <a href="doc/manual.html#option_maxHighlightLength"><code>maxHighlightLength</code></a>
343     and <a href="doc/manual.html#option_historyEventDelay"><code>historyEventDelay</code></a>.</li>
344     <li>Added <a href="doc/manual.html#mark_addToHistory"><code>addToHistory</code></a>
345     option for <code>markText</code>.</li>
346     <li>Various fixes to JavaScript tokenization and indentation corner cases.</li>
347     <li>Further improvements to the vim mode.</li>
348     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.11...v3.12">list of patches</a>.</li>
349   </ul>
350
351   <p class="rel">20-03-2013: <a href="http://codemirror.net/codemirror-3.11.zip">Version 3.11</a>:</p>
352
353   <ul class="rel-note">
354     <li><strong>Removed code:</strong> <code>collapserange</code>,
355     <code>formatting</code>, and <code>simple-hint</code>
356     addons. <code>plsql</code> and <code>mysql</code> modes
357     (use <a href="mode/sql/index.html"><code>sql</code></a> mode).</li>
358     <li><strong>Moved code:</strong> the range-finding functions for folding now have <a href="addon/fold/">their own files</a>.</li>
359     <li><strong>Changed interface:</strong>
360     the <a href="doc/manual.html#addon_continuecomment"><code>continuecomment</code></a>
361     addon now exposes an option, rather than a command.</li>
362     <li>New
363     modes: <a href="mode/css/scss.html">SCSS</a>, <a href="mode/tcl/index.html">Tcl</a>, <a href="mode/livescript/index.html">LiveScript</a>,
364     and <a href="mode/mirc/index.html">mIRC</a>.</li>
365     <li>New addons: <a href="demo/placeholder.html"><code>placeholder</code></a>, <a href="demo/html5complete.html">HTML completion</a>.</li>
366     <li>New
367     methods: <a href="doc/manual.html#hasFocus"><code>hasFocus</code></a>, <a href="doc/manual.html#defaultCharWidth"><code>defaultCharWidth</code></a>.</li>
368     <li>New events: <a href="doc/manual.html#event_beforeCursorEnter"><code>beforeCursorEnter</code></a>, <a href="doc/manual.html#event_renderLine"><code>renderLine</code></a>.</li>
369     <li>Many improvements to the <a href="doc/manual.html#addon_show-hint"><code>show-hint</code></a> completion
370     dialog addon.</li>
371     <li>Tweak behavior of by-word cursor motion.</li>
372     <li>Further improvements to the <a href="demo/vim.html">vim mode</a>.</li>
373     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.1...v3.11">list of patches</a>.</li>
374   </ul>
375
376   <p class="rel">21-02-2013: <a href="http://codemirror.net/codemirror-3.1.zip">Version 3.1</a>:</p>
377
378   <ul class="rel-note">
379     <li><strong>Incompatible:</strong> key handlers may
380     now <em>return</em>, rather
381     than <em>throw</em> <code>CodeMirror.Pass</code> to signal they
382     didn't handle the key.</li>
383     <li>Make documents a <a href="doc/manual.html#api_doc">first-class
384     construct</a>, support split views and subviews.</li>
385     <li>Add a <a href="doc/manual.html#addon_show-hint">new module</a>
386     for showing completion hints.
387     Deprecate <code>simple-hint.js</code>.</li>
388     <li>Extend <a href="mode/htmlmixed/index.html">htmlmixed mode</a>
389     to allow custom handling of script types.</li>
390     <li>Support an <code>insertLeft</code> option
391     to <a href="doc/manual.html#setBookmark"><code>setBookmark</code></a>.</li>
392     <li>Add an <a href="doc/manual.html#eachLine"><code>eachLine</code></a>
393     method to iterate over a document.</li>
394     <li>New addon modules: <a href="demo/markselection.html">selection
395     marking</a>, <a href="demo/lint.html">linting</a>,
396     and <a href="demo/closebrackets.html">automatic bracket
397     closing</a>.</li>
398     <li>Add <a href="doc/manual.html#event_beforeChange"><code>"beforeChange"</code></a>
399     and <a href="doc/manual.html#event_beforeSelectionChange"><code>"beforeSelectionChange"</code></a>
400     events.</li>
401     <li>Add <a href="doc/manual.html#event_hide"><code>"hide"</code></a>
402     and <a href="doc/manual.html#event_unhide"><code>"unhide"</code></a>
403     events to marked ranges.</li>
404     <li>Fix <a href="doc/manual.html#coordsChar"><code>coordsChar</code></a>'s
405     interpretation of its argument to match the documentation.</li>
406     <li>New modes: <a href="mode/turtle/index.html">Turtle</a>
407     and <a href="mode/q/index.html">Q</a>.</li>
408     <li>Further improvements to the <a href="demo/vim.html">vim mode</a>.</li>
409     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.01...v3.1">list of patches</a>.</li>
410   </ul>
411   
412
413   <p class="rel">25-01-2013: <a href="http://codemirror.net/codemirror-3.02.zip">Version 3.02</a>:</p>
414
415   <p class="rel-note">Single-bugfix release. Fixes a problem that
416   prevents CodeMirror instances from being garbage-collected after
417   they become unused.</p>
418
419   <p class="rel">21-01-2013: <a href="http://codemirror.net/codemirror-3.01.zip">Version 3.01</a>:</p>
420
421   <ul class="rel-note">
422     <li>Move all add-ons into an organized directory structure
423     under <a href="addon/"><code>/addon</code></a>. <strong>You might have to adjust your
424     paths.</strong></li>
425     <li>New
426     modes: <a href="mode/d/index.html">D</a>, <a href="mode/sass/index.html">Sass</a>, <a href="mode/apl/index.html">APL</a>, <a href="mode/sql/index.html">SQL</a>
427     (configurable), and <a href="mode/asterisk/index.html">Asterisk</a>.</li>
428     <li>Several bugfixes in right-to-left text support.</li>
429     <li>Add <a href="doc/manual.html#option_rtlMoveVisually"><code>rtlMoveVisually</code></a> option.</li>
430     <li>Improvements to vim keymap.</li>
431     <li>Add built-in (lightweight) <a href="doc/manual.html#addOverlay">overlay mode</a> support.</li>
432     <li>Support <code>showIfHidden</code> option for <a href="doc/manual.html#addLineWidget">line widgets</a>.</li>
433     <li>Add simple <a href="doc/manual.html#addon_python-hint">Python hinter</a>.</li>
434     <li>Bring back the <a href="doc/manual.html#option_fixedGutter"><code>fixedGutter</code></a> option.</li>
435     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0...v3.01">list of patches</a>.</li>
436   </ul>
437
438   <p class="rel">21-01-2013: <a href="http://codemirror.net/codemirror-2.38.zip">Version 2.38</a>:</p>
439
440   <p class="rel-note">Integrate some bugfixes, enhancements to the vim keymap, and new
441   modes
442   (<a href="mode/d/index.html">D</a>, <a href="mode/sass/index.html">Sass</a>, <a href="mode/apl/index.html">APL</a>)
443   from the v3 branch.</p>
444
445   <p class="rel">20-12-2012: <a href="http://codemirror.net/codemirror-2.37.zip">Version 2.37</a>:</p>
446
447   <ul class="rel-note">
448     <li>New mode: <a href="mode/sql/index.html">SQL</a> (will replace <a href="mode/plsql/index.html">plsql</a> and <a href="mode/mysql/index.html">mysql</a> modes).</li>
449     <li>Further work on the new VIM mode.</li>
450     <li>Fix Cmd/Ctrl keys on recent Operas on OS X.</li>
451     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v2.36...v2.37">list of patches</a>.</li>
452   </ul>
453
454   <p class="rel">10-12-2012: <a href="http://codemirror.net/codemirror-3.0.zip">Version 3.0</a>:</p>
455
456   <p class="rel-note"><strong>New major version</strong>. Only
457   partially backwards-compatible. See
458   the <a href="doc/upgrade_v3.html">upgrading guide</a> for more
459   information. Changes since release candidate 2:</p>
460
461   <ul class="rel-note">
462     <li>Rewritten VIM mode.</li>
463     <li>Fix a few minor scrolling and sizing issues.</li>
464     <li>Work around Safari segfault when dragging.</li>
465     <li>Full <a href="https://github.com/marijnh/CodeMirror/compare/v3.0rc2...v3.0">list of patches</a>.</li>
466   </ul>
467   
468   <p><a href="doc/oldrelease.html">Older releases...</a></p>
469
470 </div></div>
471
472 <div style="height: 2em">&nbsp;</div>
473
474   <form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
475     <input type="hidden" name="cmd" value="_s-xclick"/>
476     <input type="hidden" name="hosted_button_id" value="3FVHS5FGUY7CC"/>
477   </form>
478
479   </body>
480 </html>