2
0

index.html 23 KB

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