administrate-field-simple_mde_markdown 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (419) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +72 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.gitignore +11 -0
  5. data/.rspec +3 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +8 -0
  8. data/Gemfile.lock +196 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +44 -0
  11. data/Rakefile +8 -0
  12. data/administrate-field-simple_mde_markdown.gemspec +31 -0
  13. data/app/assets/javascripts/administrate-field-simple_mde_markdown/application.js +6 -0
  14. data/app/assets/stylesheets/administrate-field-simple_mde_markdown/application.css +3 -0
  15. data/app/views/fields/simple_mde_markdown/_form.html.erb +6 -0
  16. data/app/views/fields/simple_mde_markdown/_index.html.erb +1 -0
  17. data/app/views/fields/simple_mde_markdown/_show.html.erb +1 -0
  18. data/lib/administrate/field/simple_mde_markdown.rb +31 -0
  19. data/node_modules/.bin/marked +1 -0
  20. data/node_modules/codemirror-spell-checker/.eslintrc +23 -0
  21. data/node_modules/codemirror-spell-checker/.npmignore +2 -0
  22. data/node_modules/codemirror-spell-checker/.travis.yml +18 -0
  23. data/node_modules/codemirror-spell-checker/CONTRIBUTING 2.md +10 -0
  24. data/node_modules/codemirror-spell-checker/CONTRIBUTING.md +10 -0
  25. data/node_modules/codemirror-spell-checker/LICENSE +22 -0
  26. data/node_modules/codemirror-spell-checker/README.md +50 -0
  27. data/node_modules/codemirror-spell-checker/bower.json +27 -0
  28. data/node_modules/codemirror-spell-checker/debug/.spell-checker 2.css.icloud +0 -0
  29. data/node_modules/codemirror-spell-checker/debug/spell-checker.css +9 -0
  30. data/node_modules/codemirror-spell-checker/debug/spell-checker.debug.js +2844 -0
  31. data/node_modules/codemirror-spell-checker/debug/spell-checker.js +2841 -0
  32. data/node_modules/codemirror-spell-checker/dist/.spell-checker.min 2.css.icloud +0 -0
  33. data/node_modules/codemirror-spell-checker/dist/en_US.aff +201 -0
  34. data/node_modules/codemirror-spell-checker/dist/en_US.dic +62120 -0
  35. data/node_modules/codemirror-spell-checker/dist/spell-checker.min 2.js +7 -0
  36. data/node_modules/codemirror-spell-checker/dist/spell-checker.min.css +7 -0
  37. data/node_modules/codemirror-spell-checker/dist/spell-checker.min.js +7 -0
  38. data/node_modules/codemirror-spell-checker/gulpfile.js +94 -0
  39. data/node_modules/codemirror-spell-checker/package.json +75 -0
  40. data/node_modules/codemirror-spell-checker/src/css/spell-checker.css +3 -0
  41. data/node_modules/codemirror-spell-checker/src/data/en_US.aff +201 -0
  42. data/node_modules/codemirror-spell-checker/src/data/en_US.dic +62120 -0
  43. data/node_modules/codemirror-spell-checker/src/js/spell-checker.js +119 -0
  44. data/node_modules/codemirror/.package 2.json.icloud +0 -0
  45. data/node_modules/codemirror/AUTHORS +773 -0
  46. data/node_modules/codemirror/CHANGELOG.md +1486 -0
  47. data/node_modules/codemirror/CONTRIBUTING.md +92 -0
  48. data/node_modules/codemirror/LICENSE +21 -0
  49. data/node_modules/codemirror/README.md +49 -0
  50. data/node_modules/codemirror/addon/comment/comment.js +209 -0
  51. data/node_modules/codemirror/addon/comment/continuecomment.js +78 -0
  52. data/node_modules/codemirror/addon/dialog/dialog.css +32 -0
  53. data/node_modules/codemirror/addon/dialog/dialog.js +161 -0
  54. data/node_modules/codemirror/addon/display/autorefresh.js +47 -0
  55. data/node_modules/codemirror/addon/display/fullscreen.css +6 -0
  56. data/node_modules/codemirror/addon/display/fullscreen.js +41 -0
  57. data/node_modules/codemirror/addon/display/panel.js +127 -0
  58. data/node_modules/codemirror/addon/display/placeholder.js +63 -0
  59. data/node_modules/codemirror/addon/display/rulers.js +51 -0
  60. data/node_modules/codemirror/addon/edit/closebrackets.js +187 -0
  61. data/node_modules/codemirror/addon/edit/closetag.js +175 -0
  62. data/node_modules/codemirror/addon/edit/continuelist.js +89 -0
  63. data/node_modules/codemirror/addon/edit/matchbrackets.js +145 -0
  64. data/node_modules/codemirror/addon/edit/matchtags.js +66 -0
  65. data/node_modules/codemirror/addon/edit/trailingspace.js +27 -0
  66. data/node_modules/codemirror/addon/fold/brace-fold.js +105 -0
  67. data/node_modules/codemirror/addon/fold/comment-fold.js +59 -0
  68. data/node_modules/codemirror/addon/fold/foldcode.js +152 -0
  69. data/node_modules/codemirror/addon/fold/foldgutter.css +20 -0
  70. data/node_modules/codemirror/addon/fold/foldgutter.js +146 -0
  71. data/node_modules/codemirror/addon/fold/indent-fold.js +48 -0
  72. data/node_modules/codemirror/addon/fold/markdown-fold.js +49 -0
  73. data/node_modules/codemirror/addon/fold/xml-fold.js +184 -0
  74. data/node_modules/codemirror/addon/hint/anyword-hint.js +41 -0
  75. data/node_modules/codemirror/addon/hint/css-hint.js +60 -0
  76. data/node_modules/codemirror/addon/hint/html-hint.js +348 -0
  77. data/node_modules/codemirror/addon/hint/javascript-hint.js +157 -0
  78. data/node_modules/codemirror/addon/hint/show-hint.css +36 -0
  79. data/node_modules/codemirror/addon/hint/show-hint.js +434 -0
  80. data/node_modules/codemirror/addon/hint/sql-hint.js +299 -0
  81. data/node_modules/codemirror/addon/hint/xml-hint.js +110 -0
  82. data/node_modules/codemirror/addon/lint/coffeescript-lint.js +47 -0
  83. data/node_modules/codemirror/addon/lint/css-lint.js +40 -0
  84. data/node_modules/codemirror/addon/lint/html-lint.js +53 -0
  85. data/node_modules/codemirror/addon/lint/javascript-lint.js +63 -0
  86. data/node_modules/codemirror/addon/lint/json-lint.js +40 -0
  87. data/node_modules/codemirror/addon/lint/lint.css +73 -0
  88. data/node_modules/codemirror/addon/lint/lint.js +252 -0
  89. data/node_modules/codemirror/addon/lint/yaml-lint.js +41 -0
  90. data/node_modules/codemirror/addon/merge/merge.css +119 -0
  91. data/node_modules/codemirror/addon/merge/merge.js +1002 -0
  92. data/node_modules/codemirror/addon/mode/loadmode.js +64 -0
  93. data/node_modules/codemirror/addon/mode/multiplex.js +131 -0
  94. data/node_modules/codemirror/addon/mode/multiplex_test.js +33 -0
  95. data/node_modules/codemirror/addon/mode/overlay.js +90 -0
  96. data/node_modules/codemirror/addon/mode/simple.js +216 -0
  97. data/node_modules/codemirror/addon/runmode/colorize.js +40 -0
  98. data/node_modules/codemirror/addon/runmode/runmode-standalone.js +158 -0
  99. data/node_modules/codemirror/addon/runmode/runmode.js +72 -0
  100. data/node_modules/codemirror/addon/runmode/runmode.node.js +197 -0
  101. data/node_modules/codemirror/addon/scroll/annotatescrollbar.js +122 -0
  102. data/node_modules/codemirror/addon/scroll/scrollpastend.js +48 -0
  103. data/node_modules/codemirror/addon/scroll/simplescrollbars.css +66 -0
  104. data/node_modules/codemirror/addon/scroll/simplescrollbars.js +152 -0
  105. data/node_modules/codemirror/addon/search/jump-to-line.js +50 -0
  106. data/node_modules/codemirror/addon/search/match-highlighter.js +165 -0
  107. data/node_modules/codemirror/addon/search/matchesonscrollbar.css +8 -0
  108. data/node_modules/codemirror/addon/search/matchesonscrollbar.js +97 -0
  109. data/node_modules/codemirror/addon/search/search.js +258 -0
  110. data/node_modules/codemirror/addon/search/searchcursor.js +293 -0
  111. data/node_modules/codemirror/addon/selection/active-line.js +72 -0
  112. data/node_modules/codemirror/addon/selection/mark-selection.js +119 -0
  113. data/node_modules/codemirror/addon/selection/selection-pointer.js +98 -0
  114. data/node_modules/codemirror/addon/tern/tern.css +87 -0
  115. data/node_modules/codemirror/addon/tern/tern.js +718 -0
  116. data/node_modules/codemirror/addon/tern/worker.js +44 -0
  117. data/node_modules/codemirror/addon/wrap/hardwrap.js +145 -0
  118. data/node_modules/codemirror/bin/source-highlight +48 -0
  119. data/node_modules/codemirror/keymap/emacs.js +417 -0
  120. data/node_modules/codemirror/keymap/sublime.js +691 -0
  121. data/node_modules/codemirror/keymap/vim.js +5467 -0
  122. data/node_modules/codemirror/lib/codemirror.css +346 -0
  123. data/node_modules/codemirror/lib/codemirror.js +9698 -0
  124. data/node_modules/codemirror/mode/apl/apl.js +174 -0
  125. data/node_modules/codemirror/mode/asciiarmor/asciiarmor.js +74 -0
  126. data/node_modules/codemirror/mode/asn.1/asn.1.js +204 -0
  127. data/node_modules/codemirror/mode/asterisk/asterisk.js +196 -0
  128. data/node_modules/codemirror/mode/brainfuck/brainfuck.js +85 -0
  129. data/node_modules/codemirror/mode/clike/clike.js +879 -0
  130. data/node_modules/codemirror/mode/clojure/clojure.js +292 -0
  131. data/node_modules/codemirror/mode/cmake/cmake.js +97 -0
  132. data/node_modules/codemirror/mode/cobol/cobol.js +255 -0
  133. data/node_modules/codemirror/mode/coffeescript/coffeescript.js +359 -0
  134. data/node_modules/codemirror/mode/commonlisp/commonlisp.js +124 -0
  135. data/node_modules/codemirror/mode/crystal/crystal.js +433 -0
  136. data/node_modules/codemirror/mode/css/css.js +832 -0
  137. data/node_modules/codemirror/mode/cypher/cypher.js +150 -0
  138. data/node_modules/codemirror/mode/d/d.js +223 -0
  139. data/node_modules/codemirror/mode/dart/dart.js +157 -0
  140. data/node_modules/codemirror/mode/diff/diff.js +47 -0
  141. data/node_modules/codemirror/mode/django/django.js +356 -0
  142. data/node_modules/codemirror/mode/dockerfile/dockerfile.js +211 -0
  143. data/node_modules/codemirror/mode/dtd/dtd.js +142 -0
  144. data/node_modules/codemirror/mode/dylan/dylan.js +352 -0
  145. data/node_modules/codemirror/mode/ebnf/ebnf.js +195 -0
  146. data/node_modules/codemirror/mode/ecl/ecl.js +206 -0
  147. data/node_modules/codemirror/mode/eiffel/eiffel.js +160 -0
  148. data/node_modules/codemirror/mode/elm/elm.js +205 -0
  149. data/node_modules/codemirror/mode/erlang/erlang.js +619 -0
  150. data/node_modules/codemirror/mode/factor/factor.js +85 -0
  151. data/node_modules/codemirror/mode/fcl/fcl.js +173 -0
  152. data/node_modules/codemirror/mode/forth/forth.js +180 -0
  153. data/node_modules/codemirror/mode/fortran/fortran.js +188 -0
  154. data/node_modules/codemirror/mode/gas/gas.js +345 -0
  155. data/node_modules/codemirror/mode/gfm/gfm.js +129 -0
  156. data/node_modules/codemirror/mode/gherkin/gherkin.js +178 -0
  157. data/node_modules/codemirror/mode/go/go.js +187 -0
  158. data/node_modules/codemirror/mode/groovy/groovy.js +230 -0
  159. data/node_modules/codemirror/mode/haml/haml.js +161 -0
  160. data/node_modules/codemirror/mode/handlebars/handlebars.js +66 -0
  161. data/node_modules/codemirror/mode/haskell-literate/haskell-literate.js +43 -0
  162. data/node_modules/codemirror/mode/haskell/haskell.js +268 -0
  163. data/node_modules/codemirror/mode/haxe/haxe.js +515 -0
  164. data/node_modules/codemirror/mode/htmlembedded/htmlembedded.js +37 -0
  165. data/node_modules/codemirror/mode/htmlmixed/htmlmixed.js +152 -0
  166. data/node_modules/codemirror/mode/http/http.js +113 -0
  167. data/node_modules/codemirror/mode/idl/idl.js +290 -0
  168. data/node_modules/codemirror/mode/javascript/javascript.js +899 -0
  169. data/node_modules/codemirror/mode/jinja2/jinja2.js +144 -0
  170. data/node_modules/codemirror/mode/jsx/jsx.js +148 -0
  171. data/node_modules/codemirror/mode/julia/julia.js +433 -0
  172. data/node_modules/codemirror/mode/livescript/livescript.js +280 -0
  173. data/node_modules/codemirror/mode/lua/lua.js +159 -0
  174. data/node_modules/codemirror/mode/markdown/markdown.js +884 -0
  175. data/node_modules/codemirror/mode/mathematica/mathematica.js +176 -0
  176. data/node_modules/codemirror/mode/mbox/mbox.js +129 -0
  177. data/node_modules/codemirror/mode/meta.js +217 -0
  178. data/node_modules/codemirror/mode/mirc/mirc.js +193 -0
  179. data/node_modules/codemirror/mode/mllike/mllike.js +359 -0
  180. data/node_modules/codemirror/mode/modelica/modelica.js +245 -0
  181. data/node_modules/codemirror/mode/mscgen/mscgen.js +175 -0
  182. data/node_modules/codemirror/mode/mumps/mumps.js +148 -0
  183. data/node_modules/codemirror/mode/nginx/nginx.js +178 -0
  184. data/node_modules/codemirror/mode/nsis/nsis.js +95 -0
  185. data/node_modules/codemirror/mode/ntriples/ntriples.js +195 -0
  186. data/node_modules/codemirror/mode/octave/octave.js +139 -0
  187. data/node_modules/codemirror/mode/oz/oz.js +252 -0
  188. data/node_modules/codemirror/mode/pascal/pascal.js +121 -0
  189. data/node_modules/codemirror/mode/pegjs/pegjs.js +114 -0
  190. data/node_modules/codemirror/mode/perl/perl.js +837 -0
  191. data/node_modules/codemirror/mode/php/php.js +234 -0
  192. data/node_modules/codemirror/mode/pig/pig.js +178 -0
  193. data/node_modules/codemirror/mode/powershell/powershell.js +398 -0
  194. data/node_modules/codemirror/mode/properties/properties 2.js +78 -0
  195. data/node_modules/codemirror/mode/properties/properties.js +78 -0
  196. data/node_modules/codemirror/mode/protobuf/protobuf.js +69 -0
  197. data/node_modules/codemirror/mode/pug/pug.js +591 -0
  198. data/node_modules/codemirror/mode/puppet/puppet.js +220 -0
  199. data/node_modules/codemirror/mode/python/python.js +409 -0
  200. data/node_modules/codemirror/mode/q/q.js +139 -0
  201. data/node_modules/codemirror/mode/r/r.js +190 -0
  202. data/node_modules/codemirror/mode/rpm/changes/index.html +66 -0
  203. data/node_modules/codemirror/mode/rpm/rpm.js +109 -0
  204. data/node_modules/codemirror/mode/rst/rst.js +557 -0
  205. data/node_modules/codemirror/mode/ruby/ruby.js +296 -0
  206. data/node_modules/codemirror/mode/rust/rust.js +72 -0
  207. data/node_modules/codemirror/mode/sas/sas.js +303 -0
  208. data/node_modules/codemirror/mode/sass/sass.js +454 -0
  209. data/node_modules/codemirror/mode/scheme/scheme.js +265 -0
  210. data/node_modules/codemirror/mode/shell/shell.js +152 -0
  211. data/node_modules/codemirror/mode/sieve/sieve.js +193 -0
  212. data/node_modules/codemirror/mode/slim/slim.js +575 -0
  213. data/node_modules/codemirror/mode/smalltalk/smalltalk.js +168 -0
  214. data/node_modules/codemirror/mode/smarty/smarty.js +225 -0
  215. data/node_modules/codemirror/mode/solr/solr.js +104 -0
  216. data/node_modules/codemirror/mode/soy/soy 2.js +359 -0
  217. data/node_modules/codemirror/mode/soy/soy.js +235 -0
  218. data/node_modules/codemirror/mode/sparql/sparql.js +180 -0
  219. data/node_modules/codemirror/mode/spreadsheet/spreadsheet.js +112 -0
  220. data/node_modules/codemirror/mode/sql/sql.js +499 -0
  221. data/node_modules/codemirror/mode/stex/stex.js +264 -0
  222. data/node_modules/codemirror/mode/stylus/stylus.js +771 -0
  223. data/node_modules/codemirror/mode/swift/swift.js +219 -0
  224. data/node_modules/codemirror/mode/tcl/tcl.js +139 -0
  225. data/node_modules/codemirror/mode/textile/textile.js +469 -0
  226. data/node_modules/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  227. data/node_modules/codemirror/mode/tiddlywiki/tiddlywiki.js +308 -0
  228. data/node_modules/codemirror/mode/tiki/tiki.css +26 -0
  229. data/node_modules/codemirror/mode/tiki/tiki.js +312 -0
  230. data/node_modules/codemirror/mode/toml/toml.js +88 -0
  231. data/node_modules/codemirror/mode/tornado/tornado.js +68 -0
  232. data/node_modules/codemirror/mode/troff/troff.js +84 -0
  233. data/node_modules/codemirror/mode/ttcn-cfg/ttcn-cfg.js +214 -0
  234. data/node_modules/codemirror/mode/ttcn/ttcn.js +283 -0
  235. data/node_modules/codemirror/mode/turtle/turtle.js +162 -0
  236. data/node_modules/codemirror/mode/twig/twig.js +141 -0
  237. data/node_modules/codemirror/mode/vb/vb.js +275 -0
  238. data/node_modules/codemirror/mode/vbscript/vbscript.js +350 -0
  239. data/node_modules/codemirror/mode/velocity/velocity.js +201 -0
  240. data/node_modules/codemirror/mode/verilog/verilog.js +675 -0
  241. data/node_modules/codemirror/mode/vhdl/vhdl.js +189 -0
  242. data/node_modules/codemirror/mode/vue/vue.js +77 -0
  243. data/node_modules/codemirror/mode/webidl/webidl.js +195 -0
  244. data/node_modules/codemirror/mode/xml/xml.js +402 -0
  245. data/node_modules/codemirror/mode/xquery/xquery.js +448 -0
  246. data/node_modules/codemirror/mode/yacas/yacas.js +204 -0
  247. data/node_modules/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +68 -0
  248. data/node_modules/codemirror/mode/yaml/yaml.js +120 -0
  249. data/node_modules/codemirror/mode/z80/z80.js +116 -0
  250. data/node_modules/codemirror/package.json +2395 -0
  251. data/node_modules/codemirror/rollup.config.js +20 -0
  252. data/node_modules/codemirror/src/codemirror.js +3 -0
  253. data/node_modules/codemirror/src/display/Display.js +106 -0
  254. data/node_modules/codemirror/src/display/focus.js +47 -0
  255. data/node_modules/codemirror/src/display/gutters.js +34 -0
  256. data/node_modules/codemirror/src/display/highlight_worker.js +55 -0
  257. data/node_modules/codemirror/src/display/line_numbers.js +48 -0
  258. data/node_modules/codemirror/src/display/mode_state.js +22 -0
  259. data/node_modules/codemirror/src/display/operations.js +205 -0
  260. data/node_modules/codemirror/src/display/scroll_events.js +115 -0
  261. data/node_modules/codemirror/src/display/scrollbars.js +193 -0
  262. data/node_modules/codemirror/src/display/scrolling.js +184 -0
  263. data/node_modules/codemirror/src/display/selection.js +158 -0
  264. data/node_modules/codemirror/src/display/update_display.js +260 -0
  265. data/node_modules/codemirror/src/display/update_line.js +188 -0
  266. data/node_modules/codemirror/src/display/update_lines.js +64 -0
  267. data/node_modules/codemirror/src/display/view_tracking.js +153 -0
  268. data/node_modules/codemirror/src/edit/CodeMirror.js +215 -0
  269. data/node_modules/codemirror/src/edit/commands.js +178 -0
  270. data/node_modules/codemirror/src/edit/deleteNearSelection.js +30 -0
  271. data/node_modules/codemirror/src/edit/drop_events.js +119 -0
  272. data/node_modules/codemirror/src/edit/fromTextArea.js +61 -0
  273. data/node_modules/codemirror/src/edit/global_events.js +42 -0
  274. data/node_modules/codemirror/src/edit/key_events.js +159 -0
  275. data/node_modules/codemirror/src/edit/legacy.js +62 -0
  276. data/node_modules/codemirror/src/edit/main.js +69 -0
  277. data/node_modules/codemirror/src/edit/methods.js +544 -0
  278. data/node_modules/codemirror/src/edit/mouse_events.js +407 -0
  279. data/node_modules/codemirror/src/edit/options.js +193 -0
  280. data/node_modules/codemirror/src/edit/utils.js +7 -0
  281. data/node_modules/codemirror/src/input/ContentEditableInput.js +527 -0
  282. data/node_modules/codemirror/src/input/TextareaInput.js +355 -0
  283. data/node_modules/codemirror/src/input/indent.js +71 -0
  284. data/node_modules/codemirror/src/input/input.js +135 -0
  285. data/node_modules/codemirror/src/input/keymap.js +148 -0
  286. data/node_modules/codemirror/src/input/keynames.js +17 -0
  287. data/node_modules/codemirror/src/input/movement.js +110 -0
  288. data/node_modules/codemirror/src/line/highlight.js +284 -0
  289. data/node_modules/codemirror/src/line/line_data.js +339 -0
  290. data/node_modules/codemirror/src/line/pos.js +40 -0
  291. data/node_modules/codemirror/src/line/saw_special_spans.js +10 -0
  292. data/node_modules/codemirror/src/line/spans.js +382 -0
  293. data/node_modules/codemirror/src/line/utils_line.js +85 -0
  294. data/node_modules/codemirror/src/measurement/position_measurement.js +699 -0
  295. data/node_modules/codemirror/src/measurement/widgets.js +26 -0
  296. data/node_modules/codemirror/src/model/Doc.js +432 -0
  297. data/node_modules/codemirror/src/model/change_measurement.js +61 -0
  298. data/node_modules/codemirror/src/model/changes.js +333 -0
  299. data/node_modules/codemirror/src/model/chunk.js +167 -0
  300. data/node_modules/codemirror/src/model/document_data.js +111 -0
  301. data/node_modules/codemirror/src/model/history.js +228 -0
  302. data/node_modules/codemirror/src/model/line_widget.js +78 -0
  303. data/node_modules/codemirror/src/model/mark_text.js +292 -0
  304. data/node_modules/codemirror/src/model/selection.js +84 -0
  305. data/node_modules/codemirror/src/model/selection_updates.js +208 -0
  306. data/node_modules/codemirror/src/modes.js +96 -0
  307. data/node_modules/codemirror/src/util/StringStream.js +90 -0
  308. data/node_modules/codemirror/src/util/bidi.js +214 -0
  309. data/node_modules/codemirror/src/util/browser.js +33 -0
  310. data/node_modules/codemirror/src/util/dom.js +97 -0
  311. data/node_modules/codemirror/src/util/event.js +103 -0
  312. data/node_modules/codemirror/src/util/feature_detection.js +84 -0
  313. data/node_modules/codemirror/src/util/misc.js +150 -0
  314. data/node_modules/codemirror/src/util/operation_group.js +72 -0
  315. data/node_modules/codemirror/theme/3024-day.css +41 -0
  316. data/node_modules/codemirror/theme/3024-night.css +39 -0
  317. data/node_modules/codemirror/theme/abcdef.css +32 -0
  318. data/node_modules/codemirror/theme/ambiance-mobile.css +5 -0
  319. data/node_modules/codemirror/theme/ambiance.css +74 -0
  320. data/node_modules/codemirror/theme/base16-dark.css +38 -0
  321. data/node_modules/codemirror/theme/base16-light.css +38 -0
  322. data/node_modules/codemirror/theme/bespin.css +34 -0
  323. data/node_modules/codemirror/theme/blackboard.css +32 -0
  324. data/node_modules/codemirror/theme/cobalt.css +25 -0
  325. data/node_modules/codemirror/theme/colorforth.css +33 -0
  326. data/node_modules/codemirror/theme/darcula.css +46 -0
  327. data/node_modules/codemirror/theme/dracula.css +40 -0
  328. data/node_modules/codemirror/theme/duotone-dark.css +35 -0
  329. data/node_modules/codemirror/theme/duotone-light.css +36 -0
  330. data/node_modules/codemirror/theme/eclipse.css +23 -0
  331. data/node_modules/codemirror/theme/elegant.css +13 -0
  332. data/node_modules/codemirror/theme/erlang-dark.css +34 -0
  333. data/node_modules/codemirror/theme/gruvbox-dark.css +37 -0
  334. data/node_modules/codemirror/theme/hopscotch.css +34 -0
  335. data/node_modules/codemirror/theme/icecoder.css +43 -0
  336. data/node_modules/codemirror/theme/idea.css +42 -0
  337. data/node_modules/codemirror/theme/isotope.css +34 -0
  338. data/node_modules/codemirror/theme/lesser-dark.css +47 -0
  339. data/node_modules/codemirror/theme/liquibyte.css +95 -0
  340. data/node_modules/codemirror/theme/lucario.css +37 -0
  341. data/node_modules/codemirror/theme/material.css +53 -0
  342. data/node_modules/codemirror/theme/mbo.css +37 -0
  343. data/node_modules/codemirror/theme/mdn-like.css +46 -0
  344. data/node_modules/codemirror/theme/midnight.css +43 -0
  345. data/node_modules/codemirror/theme/monokai.css +41 -0
  346. data/node_modules/codemirror/theme/neat.css +12 -0
  347. data/node_modules/codemirror/theme/neo.css +43 -0
  348. data/node_modules/codemirror/theme/night.css +27 -0
  349. data/node_modules/codemirror/theme/oceanic-next.css +44 -0
  350. data/node_modules/codemirror/theme/panda-syntax.css +85 -0
  351. data/node_modules/codemirror/theme/paraiso-dark.css +38 -0
  352. data/node_modules/codemirror/theme/paraiso-light.css +38 -0
  353. data/node_modules/codemirror/theme/pastel-on-dark.css +52 -0
  354. data/node_modules/codemirror/theme/railscasts.css +34 -0
  355. data/node_modules/codemirror/theme/rubyblue.css +25 -0
  356. data/node_modules/codemirror/theme/seti.css +44 -0
  357. data/node_modules/codemirror/theme/shadowfox.css +52 -0
  358. data/node_modules/codemirror/theme/solarized.css +168 -0
  359. data/node_modules/codemirror/theme/ssms.css +16 -0
  360. data/node_modules/codemirror/theme/the-matrix.css +30 -0
  361. data/node_modules/codemirror/theme/tomorrow-night-bright.css +35 -0
  362. data/node_modules/codemirror/theme/tomorrow-night-eighties.css +38 -0
  363. data/node_modules/codemirror/theme/ttcn.css +64 -0
  364. data/node_modules/codemirror/theme/twilight.css +32 -0
  365. data/node_modules/codemirror/theme/vibrant-ink.css +34 -0
  366. data/node_modules/codemirror/theme/xq-dark.css +53 -0
  367. data/node_modules/codemirror/theme/xq-light.css +43 -0
  368. data/node_modules/codemirror/theme/yeti.css +44 -0
  369. data/node_modules/codemirror/theme/zenburn.css +37 -0
  370. data/node_modules/marked/.editorconfig +16 -0
  371. data/node_modules/marked/.eslintignore +1 -0
  372. data/node_modules/marked/.eslintrc.json +28 -0
  373. data/node_modules/marked/.package 2.json.icloud +0 -0
  374. data/node_modules/marked/.travis.yml +47 -0
  375. data/node_modules/marked/Makefile +15 -0
  376. data/node_modules/marked/Makefile 2 +15 -0
  377. data/node_modules/marked/README 2.md +75 -0
  378. data/node_modules/marked/README.md +75 -0
  379. data/node_modules/marked/bin/marked +199 -0
  380. data/node_modules/marked/bower.json +23 -0
  381. data/node_modules/marked/component.json +10 -0
  382. data/node_modules/marked/index.js +1 -0
  383. data/node_modules/marked/jasmine.json +11 -0
  384. data/node_modules/marked/lib/marked 2.js +1604 -0
  385. data/node_modules/marked/lib/marked.js +1604 -0
  386. data/node_modules/marked/man/marked.1 +91 -0
  387. data/node_modules/marked/man/marked.1.txt +96 -0
  388. data/node_modules/marked/marked.min.js +6 -0
  389. data/node_modules/marked/package.json +95 -0
  390. data/node_modules/simplemde/.eslintrc +23 -0
  391. data/node_modules/simplemde/.npmignore +9 -0
  392. data/node_modules/simplemde/.travis.yml +18 -0
  393. data/node_modules/simplemde/CONTRIBUTING 2.md +10 -0
  394. data/node_modules/simplemde/CONTRIBUTING.md +10 -0
  395. data/node_modules/simplemde/LICENSE +22 -0
  396. data/node_modules/simplemde/README.md +331 -0
  397. data/node_modules/simplemde/bower.json +23 -0
  398. data/node_modules/simplemde/debug/.simplemde 2.css.icloud +0 -0
  399. data/node_modules/simplemde/debug/simplemde.css +676 -0
  400. data/node_modules/simplemde/debug/simplemde.debug.js +17023 -0
  401. data/node_modules/simplemde/debug/simplemde.js +17019 -0
  402. data/node_modules/simplemde/dist/simplemde.min.css +7 -0
  403. data/node_modules/simplemde/dist/simplemde.min.js +15 -0
  404. data/node_modules/simplemde/gulpfile.js +96 -0
  405. data/node_modules/simplemde/package.json +73 -0
  406. data/node_modules/simplemde/src/css/simplemde.css +328 -0
  407. data/node_modules/simplemde/src/js/codemirror/tablist 2.js +44 -0
  408. data/node_modules/simplemde/src/js/codemirror/tablist.js +44 -0
  409. data/node_modules/simplemde/src/js/simplemde.js +2028 -0
  410. data/node_modules/typo-js/README.md +45 -0
  411. data/node_modules/typo-js/dictionaries/en_US/.en_US 2.dic.icloud +0 -0
  412. data/node_modules/typo-js/dictionaries/en_US/README.md +7 -0
  413. data/node_modules/typo-js/dictionaries/en_US/en_US.aff +201 -0
  414. data/node_modules/typo-js/dictionaries/en_US/en_US.dic +62120 -0
  415. data/node_modules/typo-js/package.json +56 -0
  416. data/node_modules/typo-js/typo.js +931 -0
  417. data/package-lock.json +40 -0
  418. data/package.json +7 -0
  419. metadata +557 -0
@@ -0,0 +1,1486 @@
1
+ ## 5.41.0 (2018-10-25)
2
+
3
+ ### Bug fixes
4
+
5
+ Fix firing of [`"gutterContextMenu"`](https://codemirror.net/doc/manual.html#event_gutterContextMenu) event on Firefox.
6
+
7
+ Solve an issue where copying multiple selections might mess with subsequent typing.
8
+
9
+ Don't crash when [`endOperation`](https://codemirror.net/doc/manual.html#endOperation) is called with no operation active.
10
+
11
+ [vim bindings](https://codemirror.net/demo/vim.html): Fix insert mode repeat after visualBlock edits.
12
+
13
+ [scheme mode](https://codemirror.net/mode/scheme/index.html): Improve highlighting of quoted expressions.
14
+
15
+ [soy mode](https://codemirror.net/mode/soy/): Support injected data and `@param` in comments.
16
+
17
+ [objective c mode](https://codemirror.net/mode/clike/): Improve conformance to the actual language.
18
+
19
+ ### New features
20
+
21
+ A new [`selectionsMayTouch`](https://codemirror.net/doc/manual.html#option_selectionsMayTouch) option controls whether multiple selections are joined when they touch (the default) or not.
22
+
23
+ [vim bindings](https://codemirror.net/demo/vim.html): Add `noremap` binding command.
24
+
25
+ ## 5.40.2 (2018-09-20)
26
+
27
+ ### Bug fixes
28
+
29
+ Fix firing of `gutterContextMenu` event on Firefox.
30
+
31
+ Add `hintWords` (basic completion) helper to [clojure](https://codemirror.net/mode/clojure/index.html), [mllike](https://codemirror.net/mode/mllike/index.html), [julia](https://codemirror.net/mode/julia/), [shell](https://codemirror.net/mode/shell/), and [r](https://codemirror.net/mode/r/) modes.
32
+
33
+ [clojure mode](https://codemirror.net/mode/clojure/index.html): Clean up and improve.
34
+
35
+ ## 5.40.0 (2018-08-25)
36
+
37
+ ### Bug fixes
38
+
39
+ [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets): Fix issue where bracket-closing wouldn't work before punctuation.
40
+
41
+ [panel addon](https://codemirror.net/doc/manual.html#addon_panel): Fix problem where replacing the last remaining panel dropped the newly added panel.
42
+
43
+ [hardwrap addon](https://codemirror.net/doc/manual.html#addon_hardwrap): Fix an infinite loop when the indention is greater than the target column.
44
+
45
+ [jinja2](https://codemirror.net/mode/jinja2/) and [markdown](https://codemirror.net/mode/markdown/) modes: Add comment metadata.
46
+
47
+ ### New features
48
+
49
+ New method [`phrase`](https://codemirror.net/doc/manual.html#phrase) and option [`phrases`](https://codemirror.net/doc/manual.html#option_phrases) to make translating UI text in addons easier.
50
+
51
+ ## 5.39.2 (2018-07-20)
52
+
53
+ ### Bug fixes
54
+
55
+ Fix issue where when you pass the document as a `Doc` instance to the `CodeMirror` constructor, the `mode` option was ignored.
56
+
57
+ Fix bug where line height could be computed wrong with a line widget below a collapsed line.
58
+
59
+ Fix overeager `.npmignore` dropping the `bin/source-highlight` utility from the distribution.
60
+
61
+ [show-hint addon](https://codemirror.net/doc/manual.html#addon_show-hint): Fix behavior when backspacing to the start of the line with completions open.
62
+
63
+ ## 5.39.0 (2018-06-20)
64
+
65
+ ### Bug fixes
66
+
67
+ Fix issue that in some circumstances caused content to be clipped off at the bottom after a resize.
68
+
69
+ [markdown mode](https://codemirror.net/mode/markdown/): Improve handling of blank lines in HTML tags.
70
+
71
+ ### New features
72
+
73
+ [stex mode](https://codemirror.net/mode/stex/): Add an `inMathMode` option to start the mode in math mode.
74
+
75
+ ## 5.38.0 (2018-05-21)
76
+
77
+ ### Bug fixes
78
+
79
+ Improve reliability of noticing a missing mouseup event during dragging.
80
+
81
+ Make sure `getSelection` is always called on the correct document.
82
+
83
+ Fix interpretation of line breaks and non-breaking spaces inserted by renderer in contentEditable mode.
84
+
85
+ Work around some browsers inexplicably making the fake scrollbars focusable.
86
+
87
+ Make sure `coordsChar` doesn't return positions inside collapsed ranges.
88
+
89
+ [javascript mode](https://codemirror.net/mode/javascript/): Support block scopes, bindingless catch, bignum suffix, `s` regexp flag.
90
+
91
+ [markdown mode](https://codemirror.net/mode/markdown/): Adjust a wasteful regexp.
92
+
93
+ [show-hint addon](https://codemirror.net/doc/manual.html#addon_show-hint): Allow opening the control without any item selected.
94
+
95
+ ### New features
96
+
97
+ New theme: [darcula](https://codemirror.net/demo/theme.html#darcula).
98
+
99
+ [dialog addon](https://codemirror.net/doc/manual.html#addon_dialog): Add a CSS class (`dialog-opened`) to the editor when a dialog is open.
100
+
101
+ ## 5.37.0 (2018-04-20)
102
+
103
+ ### Bug fixes
104
+
105
+ Suppress keypress events during composition, for platforms that don't properly do this themselves.
106
+
107
+ [xml-fold addon](https://codemirror.net/demo/folding.html): Improve handling of line-wrapped opening tags.
108
+
109
+ [javascript mode](https://codemirror.net/mode/javascript/): Improve TypeScript support.
110
+
111
+ [python mode](https://codemirror.net/mode/python/): Highlight expressions inside format strings.
112
+
113
+ ### New features
114
+
115
+ [vim bindings](https://codemirror.net/demo/vim.html): Add support for '(' and ')' movement.
116
+
117
+ New themes: [idea](https://codemirror.net/demo/theme.html#idea), [ssms](https://codemirror.net/demo/theme.html#ssms), [gruvbox-dark](https://codemirror.net/demo/theme.html#gruvbox-dark).
118
+
119
+ ## 5.36.0 (2018-03-20)
120
+
121
+ ### Bug fixes
122
+
123
+ Make sure all document-level event handlers are registered on the document that the editor is part of.
124
+
125
+ Fix issue that prevented edits whose origin starts with `+` from being combined in history events for an editor-less document.
126
+
127
+ [multiplex addon](https://codemirror.net/demo/multiplex.html): Improve handling of indentation.
128
+
129
+ [merge addon](https://codemirror.net/doc/manual.html#addon_merge): Use CSS `:after` element to style the scroll-lock icon.
130
+
131
+ [javascript-hint addon](https://codemirror.net/doc/manual.html#addon_javascript-hint): Don't provide completions in JSON mode.
132
+
133
+ [continuelist addon](https://codemirror.net/doc/manual.html#addon_continuelist): Fix numbering error.
134
+
135
+ [show-hint addon](https://codemirror.net/doc/manual.html#addon_show-hint): Make `fromList` completion strategy act on the current token up to the cursor, rather than the entire token.
136
+
137
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix a regexp with potentially exponental complexity.
138
+
139
+ ### New features
140
+
141
+ New theme: [lucario](https://codemirror.net/demo/theme.html#lucario).
142
+
143
+ ## 5.35.0 (2018-02-20)
144
+
145
+ ### Bug fixes
146
+
147
+ Fix problem where selection undo might change read-only documents.
148
+
149
+ Fix crash when calling `addLineWidget` on a document that has no attached editor.
150
+
151
+ [searchcursor addon](https://codemirror.net/doc/manual.html#addon_searchcursor): Fix behavior of `^` in multiline regexp mode.
152
+
153
+ [match-highlighter addon](https://codemirror.net/doc/manual.html#addon_match-highlighter): Fix problem with matching words that have regexp special syntax in them.
154
+
155
+ [sublime bindings](https://codemirror.net/demo/sublime.html): Fix `addCursorToSelection` for short lines.
156
+
157
+ [javascript mode](https://codemirror.net/mode/javascript/): Support TypeScript intersection types, dynamic `import`.
158
+
159
+ [stex mode](https://codemirror.net/mode/stex/): Fix parsing of `\(` `\)` delimiters, recognize more atom arguments.
160
+
161
+ [haskell mode](https://codemirror.net/mode/haskell/): Highlight more builtins, support `<*` and `*>`.
162
+
163
+ [sql mode](https://codemirror.net/mode/sql/): Make it possible to disable backslash escapes in strings for dialects that don't have them, do this for MS SQL.
164
+
165
+ [dockerfile mode](https://codemirror.net/mode/dockerfile/): Highlight strings and ports, recognize more instructions.
166
+
167
+ ### New features
168
+
169
+ [vim bindings](https://codemirror.net/demo/vim.html): Support alternative delimiters in replace command.
170
+
171
+ ## 5.34.0 (2018-01-29)
172
+
173
+ ### Bug fixes
174
+
175
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix a problem where inline styles would persist across list items.
176
+
177
+ [sublime bindings](https://codemirror.net/demo/sublime.html): Fix the `toggleBookmark` command.
178
+
179
+ [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets): Improve behavior when closing triple quotes.
180
+
181
+ [xml-fold addon](https://codemirror.net/demo/folding.html): Fix folding of line-broken XML tags.
182
+
183
+ [shell mode](https://codemirror.net/mode/shell/): Better handling of nested quoting.
184
+
185
+ [javascript-lint addon](https://codemirror.net/demo/lint.html): Clean up and simplify.
186
+
187
+ [matchbrackets addon](https://codemirror.net/doc/manual.html#addon_matchbrackets): Fix support for multiple editors at the same time.
188
+
189
+ ### New features
190
+
191
+ New themes: [oceanic-next](https://codemirror.net/demo/theme.html#oceanic-next) and [shadowfox](https://codemirror.net/demo/theme.html#shadowfox).
192
+
193
+ ## 5.33.0 (2017-12-21)
194
+
195
+ ### Bug fixes
196
+
197
+ [lint addon](https://codemirror.net/doc/manual.html#addon_lint): Make updates more efficient.
198
+
199
+ [css mode](https://codemirror.net/mode/css/): The mode is now properly case-insensitive.
200
+
201
+ [continuelist addon](https://codemirror.net/doc/manual.html#addon_continuelist): Fix broken handling of unordered lists introduced in previous release.
202
+
203
+ [swift](https://codemirror.net/mode/swift) and [scala](https://codemirror.net/mode/clike/) modes: Support nested block comments.
204
+
205
+ [mllike mode](https://codemirror.net/mode/mllike/index.html): Improve OCaml support.
206
+
207
+ [sublime bindings](https://codemirror.net/demo/sublime.html): Use the proper key bindings for `addCursorToNextLine` and `addCursorToPrevLine`.
208
+
209
+ ### New features
210
+
211
+ [jsx mode](https://codemirror.net/mode/jsx/index.html): Support JSX fragments.
212
+
213
+ [closetag addon](https://codemirror.net/demo/closetag.html): Add an option to disable auto-indenting.
214
+
215
+ ## 5.32.0 (2017-11-22)
216
+
217
+ ### Bug fixes
218
+
219
+ Increase contrast on default bracket-matching colors.
220
+
221
+ [javascript mode](https://codemirror.net/mode/javascript/): Recognize TypeScript type parameters for calls, type guards, and type parameter defaults. Improve handling of `enum` and `module` keywords.
222
+
223
+ [comment addon](https://codemirror.net/doc/manual.html#addon_comment): Fix bug when uncommenting a comment that spans all but the last selected line.
224
+
225
+ [searchcursor addon](https://codemirror.net/doc/manual.html#addon_searchcursor): Fix bug in case folding.
226
+
227
+ [emacs bindings](https://codemirror.net/demo/emacs.html): Prevent single-character deletions from resetting the kill ring.
228
+
229
+ [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets): Tweak quote matching behavior.
230
+
231
+ ### New features
232
+
233
+ [continuelist addon](https://codemirror.net/doc/manual.html#addon_continuelist): Increment ordered list numbers when adding one.
234
+
235
+ ## 5.31.0 (2017-10-20)
236
+
237
+ ### Bug fixes
238
+
239
+ Further improve selection drawing and cursor motion in right-to-left documents.
240
+
241
+ [vim bindings](https://codemirror.net/demo/vim.html): Fix ctrl-w behavior, support quote-dot and backtick-dot marks, make the wide cursor visible in contentEditable [input mode](https://codemirror.net/doc/manual.html#option_contentEditable).
242
+
243
+ [continuecomment addon](https://codemirror.net/doc/manual.html#addon_continuecomment): Fix bug when pressing enter after a single-line block comment.
244
+
245
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix issue with leaving indented fenced code blocks.
246
+
247
+ [javascript mode](https://codemirror.net/mode/javascript/): Fix bad parsing of operators without spaces between them. Fix some corner cases around semicolon insertion and regexps.
248
+
249
+ ### New features
250
+
251
+ Modes added with [`addOverlay`](https://codemirror.net/doc/manual.html#addOverlay) now have access to a [`baseToken`](https://codemirror.net/doc/manual.html#baseToken) method on their input stream, giving access to the tokens of the underlying mode.
252
+
253
+ ## 5.30.0 (2017-09-20)
254
+
255
+ ### Bug fixes
256
+
257
+ Fixed a number of issues with drawing right-to-left selections and mouse selection in bidirectional text.
258
+
259
+ [search addon](https://codemirror.net/demo/search/): Fix crash when restarting search after doing empty search.
260
+
261
+ [mark-selection addon](http://cm/doc/manual.html#addon_mark-selection): Fix off-by-one bug.
262
+
263
+ [tern addon](https://codemirror.net/demo/tern.html): Fix bad request made when editing at the bottom of a large document.
264
+
265
+ [javascript mode](https://codemirror.net/mode/javascript/): Improve parsing in a number of corner cases.
266
+
267
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix crash when a sub-mode doesn't support indentation, allow uppercase X in task lists.
268
+
269
+ [gfm mode](https://codemirror.net/mode/gfm/): Don't highlight SHA1 'hashes' without numbers to avoid false positives.
270
+
271
+ [soy mode](https://codemirror.net/mode/soy/): Support injected data and `@param` in comments.
272
+
273
+ ### New features
274
+
275
+ [simple mode addon](https://codemirror.net/demo/simplemode.html): Allow groups in regexps when `token` isn't an array.
276
+
277
+ ## 5.29.0 (2017-08-24)
278
+
279
+ ### Bug fixes
280
+
281
+ Fix crash in contentEditable input style when editing near a bookmark.
282
+
283
+ Make sure change origins are preserved when splitting changes on [read-only marks](https://codemirror.net/doc/manual.html#mark_readOnly).
284
+
285
+ [javascript mode](https://codemirror.net/mode/javascript/): More support for TypeScript syntax.
286
+
287
+ [d mode](https://codemirror.net/mode/d/): Support nested comments.
288
+
289
+ [python mode](https://codemirror.net/mode/python/): Improve tokenizing of operators.
290
+
291
+ [markdown mode](https://codemirror.net/mode/markdown/): Further improve CommonMark conformance.
292
+
293
+ [css mode](https://codemirror.net/mode/css/): Don't run comment tokens through the mode's state machine.
294
+
295
+ [shell mode](https://codemirror.net/mode/shell/): Allow strings to span lines.
296
+
297
+ [search addon](https://codemirror.net/demo/search/): Fix crash in persistent search when `extraKeys` is null.
298
+
299
+ ## 5.28.0 (2017-07-21)
300
+
301
+ ### Bug fixes
302
+
303
+ Fix copying of, or replacing editor content with, a single dash character when copying a big selection in some corner cases.
304
+
305
+ Make [`"goLineLeft"`](https://codemirror.net/doc/manual.html#command_goLineLeft)/`"goLineRight"` behave better on wrapped lines.
306
+
307
+ [sql mode](https://codemirror.net/mode/sql/): Fix tokenizing of multi-dot operator and allow digits in subfield names.
308
+
309
+ [searchcursor addon](https://codemirror.net/doc/manual.html#addon_searchcursor): Fix infinite loop on some composed character inputs.
310
+
311
+ [markdown mode](https://codemirror.net/mode/markdown/): Make list parsing more CommonMark-compliant.
312
+
313
+ [gfm mode](https://codemirror.net/mode/gfm/): Highlight colon syntax for emoji.
314
+
315
+ ### New features
316
+
317
+ Expose [`startOperation`](https://codemirror.net/doc/manual.html#startOperation) and `endOperation` for explicit operation management.
318
+
319
+ [sublime bindings](https://codemirror.net/demo/sublime.html): Add extend-selection (Ctrl-Alt- or Cmd-Shift-Up/Down).
320
+
321
+ ## 5.27.4 (2017-06-29)
322
+
323
+ ### Bug fixes
324
+
325
+ Fix crash when using mode lookahead.
326
+
327
+ [markdown mode](https://codemirror.net/mode/markdown/): Don't block inner mode's indentation support.
328
+
329
+ ## 5.27.2 (2017-06-22)
330
+
331
+ ### Bug fixes
332
+
333
+ Fix crash in the [simple mode](https://codemirror.net/demo/simplemode.html)< addon.
334
+
335
+ ## 5.27.0 (2017-06-22)
336
+
337
+ ### Bug fixes
338
+
339
+ Fix infinite loop in forced display update.
340
+
341
+ Properly disable the hidden textarea when `readOnly` is `"nocursor"`.
342
+
343
+ Calling the `Doc` constructor without `new` works again.
344
+
345
+ [sql mode](https://codemirror.net/mode/sql/): Handle nested comments.
346
+
347
+ [javascript mode](https://codemirror.net/mode/javascript/): Improve support for TypeScript syntax.
348
+
349
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix bug where markup was ignored on indented paragraph lines.
350
+
351
+ [vim bindings](https://codemirror.net/demo/vim.html): Referencing invalid registers no longer causes an uncaught exception.
352
+
353
+ [rust mode](https://codemirror.net/mode/rust/): Add the correct MIME type.
354
+
355
+ [matchbrackets addon](https://codemirror.net/doc/manual.html#addon_matchbrackets): Document options.
356
+
357
+ ### New features
358
+
359
+ Mouse button clicks can now be bound in keymaps by using names like `"LeftClick"` or `"Ctrl-Alt-MiddleTripleClick"`. When bound to a function, that function will be passed the position of the click as second argument.
360
+
361
+ The behavior of mouse selection and dragging can now be customized with the [`configureMouse`](https://codemirror.net/doc/manual.html#option_configureMouse) option.
362
+
363
+ Modes can now look ahead across line boundaries with the [`StringStream`](https://codemirror.net/doc/manual.html#StringStream)`.lookahead` method.
364
+
365
+ Introduces a `"type"` token type, makes modes that recognize types output it, and add styling for it to the themes.
366
+
367
+ New [`pasteLinesPerSelection`](https://codemirror.net/doc/manual.html#option_pasteLinesPerSelection) option to control the behavior of pasting multiple lines into multiple selections.
368
+
369
+ [searchcursor addon](https://codemirror.net/doc/manual.html#addon_searchcursor): Support multi-line regular expression matches, and normalize strings when matching.
370
+
371
+ ## 5.26.0 (2017-05-22)
372
+
373
+ ### Bug fixes
374
+
375
+ In textarea-mode, don't reset the input field during composition.
376
+
377
+ More careful restoration of selections in widgets, during editor redraw.
378
+
379
+ [javascript mode](https://codemirror.net/mode/javascript/): More TypeScript parsing fixes.
380
+
381
+ [julia mode](https://codemirror.net/mode/julia/): Fix issue where the mode gets stuck.
382
+
383
+ [markdown mode](https://codemirror.net/mode/markdown/): Understand cross-line links, parse all bracketed things as links.
384
+
385
+ [soy mode](https://codemirror.net/mode/soy/): Support single-quoted strings.
386
+
387
+ [go mode](https://codemirror.net/mode/go/): Don't try to indent inside strings or comments.
388
+
389
+ ### New features
390
+
391
+ [vim bindings](https://codemirror.net/demo/vim.html): Parse line offsets in line or range specs.
392
+
393
+ ## 5.25.2 (2017-04-20)
394
+
395
+ ### Bug fixes
396
+
397
+ Better handling of selections that cover the whole viewport in contentEditable-mode.
398
+
399
+ No longer accidentally scroll the editor into view when calling `setValue`.
400
+
401
+ Work around Chrome Android bug when converting screen coordinates to editor positions.
402
+
403
+ Make sure long-clicking a selection sets a cursor and doesn't show the editor losing focus.
404
+
405
+ Fix issue where pointer events were incorrectly disabled on Chrome's overlay scrollbars.
406
+
407
+ [javascript mode](https://codemirror.net/mode/javascript/): Recognize annotations and TypeScript-style type parameters.
408
+
409
+ [shell mode](https://codemirror.net/mode/shell/): Handle nested braces.
410
+
411
+ [markdown mode](https://codemirror.net/mode/markdown/): Make parsing of strong/em delimiters CommonMark-compliant.
412
+
413
+ ## 5.25.0 (2017-03-20)
414
+
415
+ ### Bug fixes
416
+
417
+ In contentEditable-mode, properly locate changes that repeat a character when inserted with IME.
418
+
419
+ Fix handling of selections bigger than the viewport in contentEditable mode.
420
+
421
+ Improve handling of changes that insert or delete lines in contentEditable mode.
422
+
423
+ Count Unicode control characters 0x80 to 0x9F as special (non-printing) chars.
424
+
425
+ Fix handling of shadow DOM roots when finding the active element.
426
+
427
+ Add `role=presentation` to more DOM elements to improve screen reader support.
428
+
429
+ [merge addon](https://codemirror.net/doc/manual.html#addon_merge): Make aligning of unchanged chunks more robust.
430
+
431
+ [comment addon](https://codemirror.net/doc/manual.html#addon_comment): Fix comment-toggling on a block of text that starts and ends in a (differnet) block comment.
432
+
433
+ [javascript mode](https://codemirror.net/mode/javascript/): Improve support for TypeScript syntax.
434
+
435
+ [r mode](https://codemirror.net/mode/r/): Fix indentation after semicolon-less statements.
436
+
437
+ [shell mode](https://codemirror.net/mode/shell/): Properly handle escaped parentheses in parenthesized expressions.
438
+
439
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix a few bugs around leaving fenced code blocks.
440
+
441
+ [soy mode](https://codemirror.net/mode/soy/): Improve indentation.
442
+
443
+ ### New features
444
+
445
+ [lint addon](https://codemirror.net/doc/manual.html#addon_lint): Support asynchronous linters that return promises.
446
+
447
+ [continuelist addon](https://codemirror.net/doc/manual.html#addon_continuelist): Support continuing task lists.
448
+
449
+ [vim bindings](https://codemirror.net/demo/vim.html): Make Y behave like yy.
450
+
451
+ [sql mode](https://codemirror.net/mode/sql/): Support sqlite dialect.
452
+
453
+ ## 5.24.2 (2017-02-22)
454
+
455
+ ### Bug fixes
456
+
457
+ [javascript mode](https://codemirror.net/mode/javascript/): Support computed class method names.
458
+
459
+ [merge addon](https://codemirror.net/doc/manual.html#addon_merge): Improve aligning of unchanged code in the presence of marks and line widgets.
460
+
461
+ ## 5.24.0 (2017-02-20)
462
+
463
+ ### Bug fixes
464
+
465
+ A cursor directly before a line-wrapping break is now drawn before or after the line break depending on which direction you arrived from.
466
+
467
+ Visual cursor motion in line-wrapped right-to-left text should be much more correct.
468
+
469
+ Fix bug in handling of read-only marked text.
470
+
471
+ [shell mode](https://codemirror.net/mode/shell/): Properly tokenize nested parentheses.
472
+
473
+ [python mode](https://codemirror.net/mode/python/): Support underscores in number literals.
474
+
475
+ [sass mode](https://codemirror.net/mode/sass/): Uses the full list of CSS properties and keywords from the CSS mode, rather than defining its own incomplete subset.
476
+
477
+ [css mode](https://codemirror.net/mode/css/): Expose `lineComment` property for LESS and SCSS dialects. Recognize vendor prefixes on pseudo-elements.
478
+
479
+ [julia mode](https://codemirror.net/mode/julia/): Properly indent `elseif` lines.
480
+
481
+ [markdown mode](https://codemirror.net/mode/markdown/): Properly recognize the end of fenced code blocks when inside other markup.
482
+
483
+ [scala mode](https://codemirror.net/mode/clike/): Improve handling of operators containing <code>#</code>, <code>@</code>, and <code>:</code> chars.
484
+
485
+ [xml mode](https://codemirror.net/mode/xml/): Allow dashes in HTML tag names.
486
+
487
+ [javascript mode](https://codemirror.net/mode/javascript/): Improve parsing of async methods, TypeScript-style comma-separated superclass lists.
488
+
489
+ [indent-fold addon](https://codemirror.net/demo/folding.html): Ignore comment lines.
490
+
491
+ ### New features
492
+
493
+ Positions now support a `sticky` property which determines whether they should be associated with the character before (value `"before"`) or after (value `"after"`) them.
494
+
495
+ [vim bindings](https://codemirror.net/demo/vim.html): Make it possible to remove built-in bindings through the API.
496
+
497
+ [comment addon](https://codemirror.net/doc/manual.html#addon_comment): Support a per-mode <code>useInnerComments</code> option to optionally suppress descending to the inner modes to get comment strings.
498
+
499
+ ### Breaking changes
500
+
501
+ The [sass mode](https://codemirror.net/mode/sass/) now depends on the [css mode](https://codemirror.net/mode/css/).
502
+
503
+ ## 5.23.0 (2017-01-19)
504
+
505
+ ### Bug fixes
506
+
507
+ Presentation-related elements DOM elements are now marked as such to help screen readers.
508
+
509
+ [markdown mode](https://codemirror.net/mode/markdown/): Be more picky about what HTML tags look like to avoid false positives.
510
+
511
+ ### New features
512
+
513
+ `findModeByMIME` now understands `+json` and `+xml` MIME suffixes.
514
+
515
+ [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets): Add support for an `override` option to ignore language-specific defaults.
516
+
517
+ [panel addon](https://codemirror.net/doc/manual.html#addon_panel): Add a `stable` option that auto-scrolls the content to keep it in the same place when inserting/removing a panel.
518
+
519
+ ## 5.22.2 (2017-01-12)
520
+
521
+ ### Bug fixes
522
+
523
+ Include rollup.config.js in NPM package, so that it can be used to build from source.
524
+
525
+ ## 5.22.0 (2016-12-20)
526
+
527
+ ### Bug fixes
528
+
529
+ [sublime bindings](https://codemirror.net/demo/sublime.html): Make `selectBetweenBrackets` work with multiple cursors.
530
+
531
+ [javascript mode](https://codemirror.net/mode/javascript/): Fix issues with parsing complex TypeScript types, imports, and exports.
532
+
533
+ A contentEditable editor instance with autofocus enabled no longer crashes during initializing.
534
+
535
+ ### New features
536
+
537
+ [emacs bindings](https://codemirror.net/demo/emacs.html): Export `CodeMirror.emacs` to allow other addons to hook into Emacs-style functionality.
538
+
539
+ [active-line addon](https://codemirror.net/doc/manual.html#addon_active-line): Add `nonEmpty` option.
540
+
541
+ New event: [`optionChange`](https://codemirror.net/doc/manual.html#event_optionChange).
542
+
543
+ ## 5.21.0 (2016-11-21)
544
+
545
+ ### Bug fixes
546
+
547
+ Tapping/clicking the editor in [contentEditable mode](https://codemirror.net/doc/manual.html#option_inputStyle) on Chrome now puts the cursor at the tapped position.
548
+
549
+ Fix various crashes and misbehaviors when reading composition events in [contentEditable mode](https://codemirror.net/doc/manual.html#option_inputStyle).
550
+
551
+ Catches and ignores an IE 'Unspecified Error' when creating an editor in an iframe before there is a `<body>`.
552
+
553
+ [merge addon](https://codemirror.net/doc/manual.html#addon_merge): Fix several issues in the chunk-aligning feature.
554
+
555
+ [verilog mode](https://codemirror.net/mode/verilog): Rewritten to address various issues.
556
+
557
+ [julia mode](https://codemirror.net/mode/julia): Recognize Julia 0.5 syntax.
558
+
559
+ [swift mode](https://codemirror.net/mode/swift): Various fixes and adjustments to current syntax.
560
+
561
+ [markdown mode](https://codemirror.net/mode/markdown): Allow lists without a blank line above them.
562
+
563
+ ### New features
564
+
565
+ The [`setGutterMarker`](https://codemirror.net/doc/manual.html#setGutterMarker), [`clearGutter`](https://codemirror.net/doc/manual.html#clearGutter), and [`lineInfo`](https://codemirror.net/doc/manual.html#lineInfo) methods are now available on `Doc` objects.
566
+
567
+ The [`heightAtLine`](https://codemirror.net/doc/manual.html#heightAtLine) method now takes an extra argument to allow finding the height at the top of the line's line widgets.
568
+
569
+ [ruby mode](https://codemirror.net/mode/ruby): `else` and `elsif` are now immediately indented.
570
+
571
+ [vim bindings](https://codemirror.net/demo/vim.html): Bind Ctrl-T and Ctrl-D to in- and dedent in insert mode.
572
+
573
+ ## 5.20.2 (2016-10-21)
574
+
575
+ ### Bug fixes
576
+
577
+ Fix `CodeMirror.version` returning the wrong version number.
578
+
579
+ ## 5.20.0 (2016-10-20)
580
+
581
+ ### Bug fixes
582
+
583
+ Make `newlineAndIndent` command work with multiple cursors on the same line.
584
+
585
+ Make sure keypress events for backspace are ignored.
586
+
587
+ Tokens styled with overlays no longer get a nonsense `cm-cm-overlay` class.
588
+
589
+ Line endings for pasted content are now normalized to the editor's [preferred ending](https://codemirror.net/doc/manual.html#option_lineSeparator).
590
+
591
+ [javascript mode](https://codemirror.net/mode/javascript): Improve support for class expressions. Support TypeScript optional class properties, the `abstract` keyword, and return type declarations for arrow functions.
592
+
593
+ [css mode](https://codemirror.net/mode/css): Fix highlighting of mixed-case keywords.
594
+
595
+ [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets): Improve behavior when typing a quote before a string.
596
+
597
+ ### New features
598
+
599
+ The core is now maintained as a number of small files, using ES6 syntax and modules, under the `src/` directory. A git checkout no longer contains a working `codemirror.js` until you `npm build` (but when installing from NPM, it is included).
600
+
601
+ The [`refresh`](https://codemirror.net/doc/manual.html#event_refresh) event is now documented and stable.
602
+
603
+ ## 5.19.0 (2016-09-20)
604
+
605
+ ### Bugfixes
606
+
607
+ [erlang mode](https://codemirror.net/mode/erlang): Fix mode crash when trying to read an empty context.
608
+
609
+ [comment addon](https://codemirror.net/doc/manual.html#addon_comment): Fix broken behavior when toggling comments inside a comment.
610
+
611
+ xml-fold addon: Fix a null-dereference bug.
612
+
613
+ Page up and page down now do something even in single-line documents.
614
+
615
+ Fix an issue where the cursor position could be off in really long (~8000 character) tokens.
616
+
617
+ ### New features
618
+
619
+ [javascript mode](https://codemirror.net/mode/javascript): Better indentation when semicolons are missing. Better support for TypeScript classes, optional parameters, and the `type` keyword.
620
+
621
+ The [`blur`](https://codemirror.net/doc/manual.html#event_blur) and [`focus`](https://codemirror.net/doc/manual.html#event_focus) events now pass the DOM event to their handlers.
622
+
623
+ ## 5.18.2 (2016-08-23)
624
+
625
+ ### Bugfixes
626
+
627
+ [vue mode](https://codemirror.net/mode/vue): Fix outdated references to renamed Pug mode dependency.
628
+
629
+ ## 5.18.0 (2016-08-22)
630
+
631
+ ### Bugfixes
632
+
633
+ Make sure [gutter backgrounds](https://codemirror.net/doc/manual.html#addLineClass) stick to the rest of the gutter during horizontal scrolling.
634
+
635
+ The contenteditable [`inputStyle`](https://codemirror.net/doc/manual.html#option_inputStyle) now properly supports pasting on pre-Edge IE versions.
636
+
637
+ [javascript mode](https://codemirror.net/mode/javascript): Fix some small parsing bugs and improve TypeScript support.
638
+
639
+ [matchbrackets addon](https://codemirror.net/doc/manual.html#addon_matchbrackets): Fix bug where active highlighting was left in editor when the addon was disabled.
640
+
641
+ [match-highlighter addon](https://codemirror.net/doc/manual.html#addon_match-highlighter): Only start highlighting things when the editor gains focus.
642
+
643
+ [javascript-hint addon](https://codemirror.net/doc/manual.html#addon_javascript-hint): Also complete non-enumerable properties.
644
+
645
+ ### New features
646
+
647
+ The [`addOverlay`](https://codemirror.net/doc/manual.html#addOverlay) method now supports a `priority` option to control the order in which overlays are applied.
648
+
649
+ MIME types that end in `+json` now default to the JSON mode when the MIME itself is not defined.
650
+
651
+ ### Breaking changes
652
+
653
+ The mode formerly known as Jade was renamed to [Pug](https://codemirror.net/mode/pug).
654
+
655
+ The [Python mode](https://codemirror.net/mode/python) now defaults to Python 3 (rather than 2) syntax.
656
+
657
+ ## 5.17.0 (2016-07-19)
658
+
659
+ ### Bugfixes
660
+
661
+ Fix problem with wrapped trailing whitespace displaying incorrectly.
662
+
663
+ Prevent IME dialog from overlapping typed content in Chrome.
664
+
665
+ Improve measuring of characters near a line wrap.
666
+
667
+ [javascript mode](https://codemirror.net/mode/javascript): Improve support for `async`, allow trailing commas in `import` lists.
668
+
669
+ [vim bindings](https://codemirror.net/demo/vim.html): Fix backspace in replace mode.
670
+
671
+ [sublime bindings](https://codemirror.net/demo/sublime.html): Fix some key bindings on OS X to match Sublime Text.
672
+
673
+ ### New features
674
+
675
+ [markdown mode](https://codemirror.net/mode/markdown): Add more classes to image links in highlight-formatting mode.
676
+
677
+ ## 5.16.0 (2016-06-20)
678
+
679
+ ### Bugfixes
680
+
681
+ Fix glitches when dragging content caused by the drop indicator receiving mouse events.
682
+
683
+ Make Control-drag work on Firefox.
684
+
685
+ Make clicking or selection-dragging at the end of a wrapped line select the right position.
686
+
687
+ [show-hint addon](https://codemirror.net/doc/manual.html#addon_show-hint): Prevent widget scrollbar from hiding part of the hint text.
688
+
689
+ [rulers addon](https://codemirror.net/doc/manual.html#addon_rulers): Prevent rulers from forcing a horizontal editor scrollbar.
690
+
691
+ ### New features
692
+
693
+ [search addon](https://codemirror.net/doc/manual.html#addon_search): Automatically bind search-related keys in persistent dialog.
694
+
695
+ [sublime keymap](https://codemirror.net/demo/sublime.html): Add a multi-cursor aware smart backspace binding.
696
+
697
+ ## 5.15.2 (2016-05-20)
698
+
699
+ ### Bugfixes
700
+
701
+ Fix a critical document corruption bug that occurs when a document is gradually grown.
702
+
703
+ ## 5.15.0 (2016-05-20)
704
+
705
+ ### Bugfixes
706
+
707
+ Fix bug that caused the selection to reset when focusing the editor in contentEditable input mode.
708
+
709
+ Fix issue where not all ASCII control characters were being replaced by placeholders.
710
+
711
+ Remove the assumption that all modes have a `startState` method from several wrapping modes.
712
+
713
+ Fix issue where the editor would complain about overlapping collapsed ranges when there weren't any.
714
+
715
+ Optimize document tree building when loading or pasting huge chunks of content.
716
+
717
+ [markdown mode](https://codemirror.net/mode/markdown/): Fix several issues in matching link targets.
718
+
719
+ [clike mode](https://codemirror.net/mode/clike/): Improve indentation of C++ template declarations.
720
+
721
+ ### New features
722
+
723
+ Explicitly bind Ctrl-O on OS X to make that binding (“open line”) act as expected.
724
+
725
+ Pasting [linewise-copied](https://codemirror.net/doc/manual.html#option_lineWiseCopyCut) content when there is no selection now inserts the lines above the current line.
726
+
727
+ [javascript mode](https://codemirror.net/mode/javascript/): Support `async`/`await` and improve support for TypeScript type syntax.
728
+
729
+ ## 5.14.2 (2016-04-20)
730
+
731
+ ### Bugfixes
732
+
733
+ Push a new package to NPM due to an [NPM bug](https://github.com/npm/npm/issues/5082) omitting the LICENSE file in 5.14.0.
734
+
735
+ Set `dataTransfer.effectAllowed` in `dragstart` handler to help browsers use the right drag icon.
736
+
737
+ Add the [mbox mode](https://codemirror.net/mode/mbox/index.html) to `mode/meta.js`.
738
+
739
+ ## 5.14.0 (2016-04-20)
740
+
741
+ ### Bugfixes
742
+
743
+ [`posFromIndex`](https://codemirror.net/doc/manual.html#posFromIndex) and [`indexFromPos`](https://codemirror.net/doc/manual.html#indexFromPos) now take [`lineSeparator`](https://codemirror.net/doc/manual.html#option_lineSeparator) into account.
744
+
745
+ [vim bindings](https://codemirror.net/demo/vim.html): Only call `.save()` when it is actually available.
746
+
747
+ [comment addon](https://codemirror.net/doc/manual.html#addon_comment): Be careful not to mangle multi-line strings.
748
+
749
+ [Python mode](https://codemirror.net/mode/python/index.html): Improve distinguishing of decorators from `@` operators.
750
+
751
+ [`findMarks`](https://codemirror.net/doc/manual.html#findMarks): No longer return marks that touch but don't overlap given range.
752
+
753
+ ### New features
754
+
755
+ [vim bindings](https://codemirror.net/demo/vim.html): Add yank command.
756
+
757
+ [match-highlighter addon](https://codemirror.net/doc/manual.html#addon_match-highlighter): Add `trim` option to disable ignoring of whitespace.
758
+
759
+ [PowerShell mode](https://codemirror.net/mode/powershell/index.html): Added.
760
+
761
+ [Yacas mode](https://codemirror.net/mode/yacas/index.html): Added.
762
+
763
+ [Web IDL mode](https://codemirror.net/mode/webidl/index.html): Added.
764
+
765
+ [SAS mode](https://codemirror.net/mode/sas/index.html): Added.
766
+
767
+ [mbox mode](https://codemirror.net/mode/mbox/index.html): Added.
768
+
769
+ ## 5.13.2 (2016-03-23)
770
+
771
+ ### Bugfixes
772
+
773
+ Solves a problem where the gutter would sometimes not extend all the way to the end of the document.
774
+
775
+ ## 5.13.0 (2016-03-21)
776
+
777
+ ### New features
778
+
779
+ New DOM event forwarded: [`"dragleave"`](https://codemirror.net/doc/manual.html#event_dom).
780
+
781
+ [protobuf mode](https://codemirror.net/mode/protobuf/index.html): Newly added.
782
+
783
+ ### Bugfixes
784
+
785
+ Fix problem where [`findMarks`](https://codemirror.net/doc/manual.html#findMarks) sometimes failed to find multi-line marks.
786
+
787
+ Fix crash that showed up when atomic ranges and bidi text were combined.
788
+
789
+ [show-hint addon](https://codemirror.net/demo/complete.html): Completion widgets no longer close when the line indented or dedented.
790
+
791
+ [merge addon](https://codemirror.net/demo/merge.html): Fix bug when merging chunks at the end of the file.
792
+
793
+ [placeholder addon](https://codemirror.net/doc/manual.html#addon_placeholder): No longer gets confused by [`swapDoc`](https://codemirror.net/doc/manual.html#swapDoc).
794
+
795
+ [simplescrollbars addon](https://codemirror.net/doc/manual.html#addon_simplescrollbars): Fix invalid state when deleting at end of document.
796
+
797
+ [clike mode](https://codemirror.net/mode/clike/index.html): No longer gets confused when a comment starts after an operator.
798
+
799
+ [markdown mode](https://codemirror.net/mode/markdown/index.html): Now supports CommonMark-style flexible list indentation.
800
+
801
+ [dylan mode](https://codemirror.net/mode/dylan/index.html): Several improvements and fixes.
802
+
803
+ ## 5.12.0 (2016-02-19)
804
+
805
+ ### New features
806
+
807
+ [Vim bindings](https://codemirror.net/demo/vim.html): Ctrl-Q is now an alias for Ctrl-V.
808
+
809
+ [Vim bindings](https://codemirror.net/demo/vim.html): The Vim API now exposes an `unmap` method to unmap bindings.
810
+
811
+ [active-line addon](https://codemirror.net/demo/activeline.html): This addon can now style the active line's gutter.
812
+
813
+ [FCL mode](https://codemirror.net/mode/fcl/): Newly added.
814
+
815
+ [SQL mode](https://codemirror.net/mode/sql/): Now has a Postgresql dialect.
816
+
817
+ ### Bugfixes
818
+
819
+ Fix [issue](https://github.com/codemirror/CodeMirror/issues/3781) where trying to scroll to a horizontal position outside of the document's width could cause the gutter to be positioned incorrectly.
820
+
821
+ Use absolute, rather than fixed positioning in the context-menu intercept hack, to work around a [problem](https://github.com/codemirror/CodeMirror/issues/3238) when the editor is inside a transformed parent container.
822
+
823
+ Solve a [problem](https://github.com/codemirror/CodeMirror/issues/3821) where the horizontal scrollbar could hide text in Firefox.
824
+
825
+ Fix a [bug](https://github.com/codemirror/CodeMirror/issues/3834) that caused phantom scroll space under the text in some situations.
826
+
827
+ [Sublime Text bindings](https://codemirror.net/demo/sublime.html): Bind delete-line to Shift-Ctrl-K on OS X.
828
+
829
+ [Markdown mode](https://codemirror.net/mode/markdown/): Fix [issue](https://github.com/codemirror/CodeMirror/issues/3787) where the mode would keep state related to fenced code blocks in an unsafe way, leading to occasional corrupted parses.
830
+
831
+ [Markdown mode](https://codemirror.net/mode/markdown/): Ignore backslashes in code fragments.
832
+
833
+ [Markdown mode](https://codemirror.net/mode/markdown/): Use whichever mode is registered as `text/html` to parse HTML.
834
+
835
+ [Clike mode](https://codemirror.net/mode/clike/): Improve indentation of Scala `=>` functions.
836
+
837
+ [Python mode](https://codemirror.net/mode/python/): Improve indentation of bracketed code.
838
+
839
+ [HTMLMixed mode](https://codemirror.net/mode/htmlmixed/): Support multi-line opening tags for sub-languages (`<script>`, `<style>`, etc).
840
+
841
+ [Spreadsheet mode](https://codemirror.net/mode/spreadsheet/): Fix bug where the mode did not advance the stream when finding a backslash.
842
+
843
+ [XML mode](https://codemirror.net/mode/xml/): The mode now takes a `matchClosing` option to configure whether mismatched closing tags should be highlighted as errors.
844
+
845
+ ## 5.11.0 (2016-01-20)
846
+
847
+ * New modes: [JSX](https://codemirror.net/mode/jsx/index.html), [literate Haskell](https://codemirror.net/mode/haskell-literate/index.html)
848
+ * The editor now forwards more [DOM events](https://codemirror.net/doc/manual.html#event_dom): `cut`, `copy`, `paste`, and `touchstart`. It will also forward `mousedown` for drag events
849
+ * Fixes a bug where bookmarks next to collapsed spans were not rendered
850
+ * The [Swift](https://codemirror.net/mode/swift/index.html) mode now supports auto-indentation
851
+ * Frontmatters in the [YAML frontmatter](https://codemirror.net/mode/yaml-frontmatter/index.html) mode are now optional as intended
852
+
853
+ ## 5.10.0 (2015-12-21)
854
+
855
+ * Modify the way [atomic ranges](https://codemirror.net/doc/manual.html#mark_atomic) are skipped by selection to try and make it less surprising.
856
+ * The [Swift mode](https://codemirror.net/mode/swift/index.html) was rewritten.
857
+ * New addon: [jump-to-line](https://codemirror.net/doc/manual.html#addon_jump-to-line).
858
+ * New method: [`isReadOnly`](https://codemirror.net/doc/manual.html#isReadOnly).
859
+ * The [show-hint addon](https://codemirror.net/doc/manual.html#addon_show-hint) now defaults to picking completions on single click.
860
+ * The object passed to [`"beforeSelectionChange"`](https://codemirror.net/doc/manual.html#event_beforeSelectionChange) events now has an `origin` property.
861
+ * New mode: [Crystal](https://codemirror.net/mode/crystal/index.html).
862
+
863
+ ## 5.9.0 (2015-11-23)
864
+
865
+ * Improve the way overlay (OS X-style) scrollbars are handled
866
+ * Make [annotatescrollbar](https://codemirror.net/doc/manual.html#addon_annotatescrollbar) and scrollpastend addons work properly together
867
+ * Make [show-hint](https://codemirror.net/doc/manual.html#addon_show-hint) addon select options on single click by default, move selection to hovered item
868
+ * Properly fold comments that include block-comment-start markers
869
+ * Many small language mode fixes
870
+
871
+ ## 5.8.0 (2015-10-20)
872
+
873
+ * Fixes an infinite loop in the [hardwrap addon](https://codemirror.net/doc/manual.html#addon_hardwrap)
874
+ * New modes: [NSIS](https://codemirror.net/mode/nsis/index.html), [Ceylon](https://codemirror.net/mode/clike/index.html)
875
+ * The Kotlin mode is now a [clike](https://codemirror.net/mode/clike/index.html) dialect, rather than a stand-alone mode
876
+ * New option: [`allowDropFileTypes`](https://codemirror.net/doc/manual.html#option_allowDropFileTypes). Binary files can no longer be dropped into CodeMirror
877
+ * New themes: [bespin](https://codemirror.net/demo/theme.html#bespin), [hopscotch](https://codemirror.net/demo/theme.html#hopscotch), [isotope](https://codemirror.net/demo/theme.html#isotope), [railscasts](https://codemirror.net/demo/theme.html#railscasts)
878
+
879
+ ## 5.7.0 (2015-09-21)
880
+
881
+ * New modes: [Vue](https://codemirror.net/mode/vue/index.html), [Oz](https://codemirror.net/mode/oz/index.html), [MscGen](https://codemirror.net/mode/mscgen/index.html) (and dialects), [Closure Stylesheets](https://codemirror.net/mode/css/gss.html)
882
+ * Implement [CommonMark](http://commonmark.org)-style flexible list indent and cross-line code spans in [Markdown](https://codemirror.net/mode/markdown/index.html) mode
883
+ * Add a replace-all button to the [search addon](https://codemirror.net/doc/manual.html#addon_search), and make the persistent search dialog transparent when it obscures the match
884
+ * Handle `acync`/`await` and ocal and binary numbers in [JavaScript mode](https://codemirror.net/mode/javascript/index.html)
885
+ * Fix various issues with the [Haxe mode](https://codemirror.net/mode/haxe/index.html)
886
+ * Make the [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets) select only the wrapped text when wrapping selection in brackets
887
+ * Tokenize properties as properties in the [CoffeeScript mode](https://codemirror.net/mode/coffeescript/index.html)
888
+ * The [placeholder addon](https://codemirror.net/doc/manual.html#addon_placeholder) now accepts a DOM node as well as a string placeholder
889
+
890
+ ## 5.6.0 (2015-08-20)
891
+
892
+ * Fix bug where you could paste into a `readOnly` editor
893
+ * Show a cursor at the drop location when dragging over the editor
894
+ * The [Rust mode](https://codemirror.net/mode/rust/index.html) was rewritten to handle modern Rust
895
+ * The editor and theme CSS was cleaned up. Some selectors are now less specific than before
896
+ * New theme: [abcdef](https://codemirror.net/demo/theme.html#abcdef)
897
+ * Lines longer than [`maxHighlightLength`](https://codemirror.net/doc/manual.html#option_maxHighlightLength) are now less likely to mess up indentation
898
+ * New addons: [`autorefresh`](https://codemirror.net/doc/manual.html#addon_autorefresh) for refreshing an editor the first time it becomes visible, and `html-lint` for using [HTMLHint](http://htmlhint.com/)
899
+ * The [`search`](https://codemirror.net/doc/manual.html#addon_search) addon now recognizes `\r` and `\n` in pattern and replacement input
900
+
901
+ ## 5.5.0 (2015-07-20)
902
+
903
+ * New option: [`lineSeparator`](https://codemirror.net/doc/manual.html#option_lineSeparator) (with corresponding [method](https://codemirror.net/doc/manual.html#lineSeparator))
904
+ * New themes: [dracula](https://codemirror.net/demo/theme.html#dracula), [seti](https://codemirror.net/demo/theme.html#seti), [yeti](https://codemirror.net/demo/theme.html#yeti), [material](https://codemirror.net/demo/theme.html#material), and [icecoder](https://codemirror.net/demo/theme.html#icecoder)
905
+ * New modes: [Brainfuck](https://codemirror.net/mode/brainfuck/index.html), [VHDL](https://codemirror.net/mode/vhdl/index.html), Squirrel ([clike](https://codemirror.net/mode/clike/index.html) dialect)
906
+ * Define a `findPersistent` command in the [search](https://codemirror.net/demo/search.html) addon, for a dialog that stays open as you cycle through matches
907
+ * From this release on, the NPM module doesn't include documentation and demos
908
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/5.4.0...5.5.0)
909
+
910
+ ## 5.4.0 (2015-06-25)
911
+
912
+ * New modes: [Twig](https://codemirror.net/mode/twig/index.html), [Elm](https://codemirror.net/mode/elm/index.html), [Factor](https://codemirror.net/mode/factor/index.html), [Swift](https://codemirror.net/mode/swift/index.html)
913
+ * Prefer clipboard API (if available) when pasting
914
+ * Refined definition highlighting in [clike](https://codemirror.net/mode/clike/index.html) mode
915
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/5.3.0...5.4.0)
916
+
917
+ ## 5.3.0 (2015-05-20)
918
+
919
+ * Fix several regressions in the [`show-hint`](https://codemirror.net/doc/manual.html#addon_show-hint) addon (`completeSingle` option, `"shown"` and `"close"` events)
920
+ * The [vim mode](https://codemirror.net/demo/vim.html) API was [documented](https://codemirror.net/doc/manual.html#vimapi)
921
+ * New modes: [ASN.1](https://codemirror.net/mode/asn.1/index.html), [TTCN](https://codemirror.net/mode/ttcn/index.html), and [TTCN-CFG](https://codemirror.net/mode/ttcn-cfg/index.html)
922
+ * The [clike](https://codemirror.net/mode/clike/index.html) mode can now deep-indent `switch` statements, and roughly recognizes types and defined identifiers
923
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/5.2.0...5.3.0)
924
+
925
+ ## 5.2.0 (2015-04-20)
926
+
927
+ * Fix several race conditions in [`show-hint`](https://codemirror.net/doc/manual.html#addon_show-hint)'s asynchronous mode
928
+ * Fix backspace binding in [Sublime bindings](https://codemirror.net/demo/sublime.html)
929
+ * Change the way IME is handled in the `"textarea"` [input style](https://codemirror.net/doc/manual.html#option_inputStyle)
930
+ * New modes: [MUMPS](https://codemirror.net/mode/mumps/index.html), [Handlebars](https://codemirror.net/mode/handlebars/index.html)
931
+ * Rewritten modes: [Django](https://codemirror.net/mode/django/index.html), [Z80](https://codemirror.net/mode/z80/index.html)
932
+ * New theme: [Liquibyte](https://codemirror.net/demo/theme.html#liquibyte)
933
+ * New option: [`lineWiseCopyCut`](https://codemirror.net/doc/manual.html#option_lineWiseCopyCut)
934
+ * The [Vim mode](https://codemirror.net/demo/vim.html) now supports buffer-local options and the `filetype` setting
935
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/5.1.0...5.2.0)
936
+
937
+ ## 5.1.0 (2015-03-23)
938
+
939
+ * New modes: [ASCII armor](https://codemirror.net/mode/asciiarmor/index.html) (PGP data), [Troff](https://codemirror.net/mode/troff/index.html), and [CMake](https://codemirror.net/mode/cmake/index.html).
940
+ * Remove SmartyMixed mode, rewrite [Smarty](https://codemirror.net/mode/smarty/index.html) mode to supersede it.
941
+ * New commands in the [merge addon](https://codemirror.net/doc/manual.html#addon_merge): `goNextDiff` and `goPrevDiff`.
942
+ * The [closebrackets addon](https://codemirror.net/doc/manual.html#addon_closebrackets) can now be configured per mode.
943
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/5.0.0...5.1.0).
944
+
945
+ ## 5.0.0 (2015-02-20)
946
+
947
+ * Experimental mobile support (tested on iOS, Android Chrome, stock Android browser)
948
+ * New option [`inputStyle`](https://codemirror.net/doc/manual.html#option_inputStyle) to switch between hidden textarea and contenteditable input.
949
+ * The [`getInputField`](https://codemirror.net/doc/manual.html#getInputField) method is no longer guaranteed to return a textarea.
950
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.13.0...5.0.0).
951
+
952
+ ## 4.13.0 (2015-02-20)
953
+
954
+ * Fix the way the [`closetag`](https://codemirror.net/demo/closetag.html) demo handles the slash character.
955
+ * New modes: [Forth](https://codemirror.net/mode/forth/index.html), [Stylus](https://codemirror.net/mode/stylus/index.html).
956
+ * Make the [CSS mode](https://codemirror.net/mode/css/index.html) understand some modern CSS extensions.
957
+ * Have the [Scala mode](https://codemirror.net/mode/clike/index.html) handle symbols and triple-quoted strings.
958
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.12.0...4.13.0).
959
+
960
+ ## 4.12.0 (2015-01-22)
961
+
962
+ * The [`closetag`](https://codemirror.net/doc/manual.html#addon_closetag) addon now defines a `"closeTag"` command.
963
+ * Adds a `findModeByFileName` to the [mode metadata](https://codemirror.net/doc/manual.html#addon_meta) addon.
964
+ * [Simple mode](https://codemirror.net/demo/simplemode.html) rules can now contain a `sol` property to only match at the start of a line.
965
+ * New addon: [`selection-pointer`](https://codemirror.net/doc/manual.html#addon_selection-pointer) to style the mouse cursor over the selection.
966
+ * Improvements to the [Sass mode](https://codemirror.net/mode/sass/index.html)'s indentation.
967
+ * The [Vim keymap](https://codemirror.net/demo/vim.html)'s search functionality now supports [scrollbar annotation](https://codemirror.net/doc/manual.html#addon_matchesonscrollbar).
968
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.11.0...4.12.0).
969
+
970
+ ## 4.11.0 (2015-01-09)
971
+
972
+ Unfortunately, 4.10 did not take care of the Firefox scrolling issue entirely. This release adds two more patches to address that.
973
+
974
+ ## 4.10.0 (2014-12-29)
975
+
976
+ Emergency single-patch update to 4.9\. Fixes Firefox-specific problem where the cursor could end up behind the horizontal scrollbar.
977
+
978
+ ## 4.9.0 (2014-12-23)
979
+
980
+ * Overhauled scroll bar handling. Add pluggable [scrollbar implementations](https://codemirror.net/demo/simplescrollbars.html).
981
+ * Tweaked behavior for the [completion addons](https://codemirror.net/doc/manual.html#addon_show-hint) to not take text after cursor into account.
982
+ * Two new optional features in the [merge addon](https://codemirror.net/doc/manual.html#addon_merge): aligning editors, and folding unchanged text.
983
+ * New modes: [Dart](https://codemirror.net/mode/dart/index.html), [EBNF](https://codemirror.net/mode/ebnf/index.html), [spreadsheet](https://codemirror.net/mode/spreadsheet/index.html), and [Soy](https://codemirror.net/mode/soy/index.html).
984
+ * New [addon](https://codemirror.net/demo/panel.html) to show persistent panels below/above an editor.
985
+ * New themes: [zenburn](https://codemirror.net/demo/theme.html#zenburn) and [tomorrow night bright](https://codemirror.net/demo/theme.html#tomorrow-night-bright).
986
+ * Allow ctrl-click to clear existing cursors.
987
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.8.0...4.9.0).
988
+
989
+ ## 4.8.0 (2014-11-22)
990
+
991
+ * Built-in support for [multi-stroke key bindings](https://codemirror.net/doc/manual.html#normalizeKeyMap).
992
+ * New method: [`getLineTokens`](https://codemirror.net/doc/manual.html#getLineTokens).
993
+ * New modes: [dockerfile](https://codemirror.net/mode/dockerfile/index.html), [IDL](https://codemirror.net/mode/idl/index.html), [Objective C](https://codemirror.net/mode/clike/index.html) (crude).
994
+ * Support styling of gutter backgrounds, allow `"gutter"` styles in [`addLineClass`](https://codemirror.net/doc/manual.html#addLineClass).
995
+ * Many improvements to the [Vim mode](https://codemirror.net/demo/vim.html), rewritten visual mode.
996
+ * Improvements to modes: [gfm](https://codemirror.net/mode/gfm/index.html) (strikethrough), [SPARQL](https://codemirror.net/mode/sparql/index.html) (version 1.1 support), and [sTeX](https://codemirror.net/mode/stex/index.html) (no more runaway math mode).
997
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.7.0...4.8.0).
998
+
999
+ ## 4.7.0 (2014-10-20)
1000
+
1001
+ * **Incompatible**: The [lint addon](https://codemirror.net/demo/lint.html) now passes the editor's value as first argument to asynchronous lint functions, for consistency. The editor is still passed, as fourth argument.
1002
+ * Improved handling of unicode identifiers in modes for languages that support them.
1003
+ * More mode improvements: [CoffeeScript](https://codemirror.net/mode/coffeescript/index.html) (indentation), [Verilog](https://codemirror.net/mode/verilog/index.html) (indentation), [Scala](https://codemirror.net/mode/clike/index.html) (indentation, triple-quoted strings), and [PHP](https://codemirror.net/mode/php/index.html) (interpolated variables in heredoc strings).
1004
+ * New modes: [Textile](https://codemirror.net/mode/textile/index.html) and [Tornado templates](https://codemirror.net/mode/tornado/index.html).
1005
+ * Experimental new [way to define modes](https://codemirror.net/demo/simplemode.html).
1006
+ * Improvements to the [Vim bindings](https://codemirror.net/demo/vim.html): Arbitrary insert mode key mappings are now possible, and text objects are supported in visual mode.
1007
+ * The mode [meta-information file](https://codemirror.net/mode/meta.js) now includes information about file extensions, and [helper functions](https://codemirror.net/doc/manual.html#addon_meta) `findModeByMIME` and `findModeByExtension`.
1008
+ * New logo!
1009
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.6.0...4.7.0).
1010
+
1011
+ ## 4.6.0 (2014-09-19)
1012
+
1013
+ * New mode: [Modelica](https://codemirror.net/mode/modelica/index.html)
1014
+ * New method: [`findWordAt`](https://codemirror.net/doc/manual.html#findWordAt)
1015
+ * Make it easier to [use text background styling](https://codemirror.net/demo/markselection.html)
1016
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.5.0...4.6.0).
1017
+
1018
+ ## 4.5.0 (2014-08-21)
1019
+
1020
+ * Fix several serious bugs with horizontal scrolling
1021
+ * New mode: [Slim](https://codemirror.net/mode/slim/index.html)
1022
+ * New command: [`goLineLeftSmart`](https://codemirror.net/doc/manual.html#command_goLineLeftSmart)
1023
+ * More fixes and extensions for the [Vim](https://codemirror.net/demo/vim.html) visual block mode
1024
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.4.0...4.5.0).
1025
+
1026
+ ## 4.4.0 (2014-07-21)
1027
+
1028
+ * **Note:** Some events might now fire in slightly different order (`"change"` is still guaranteed to fire before `"cursorActivity"`)
1029
+ * Nested operations in multiple editors are now synced (complete at same time, reducing DOM reflows)
1030
+ * Visual block mode for [vim](https://codemirror.net/demo/vim.html) (<C-v>) is nearly complete
1031
+ * New mode: [Kotlin](https://codemirror.net/mode/kotlin/index.html)
1032
+ * Better multi-selection paste for text copied from multiple CodeMirror selections
1033
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.3.0...4.4.0).
1034
+
1035
+ ## 4.3.0 (2014-06-23)
1036
+
1037
+ * Several [vim bindings](https://codemirror.net/demo/vim.html) improvements: search and exCommand history, global flag for `:substitute`, `:global` command.
1038
+ * Allow hiding the cursor by setting [`cursorBlinkRate`](https://codemirror.net/doc/manual.html#option_cursorBlinkRate) to a negative value.
1039
+ * Make gutter markers themeable, use this in foldgutter.
1040
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.2.0...4.3.0).
1041
+
1042
+ ## 4.2.0 (2014-05-19)
1043
+
1044
+ * Fix problem where some modes were broken by the fact that empty tokens were forbidden.
1045
+ * Several fixes to context menu handling.
1046
+ * On undo, scroll _change_, not cursor, into view.
1047
+ * Rewritten [Jade](https://codemirror.net/mode/jade/index.html) mode.
1048
+ * Various improvements to [Shell](https://codemirror.net/mode/shell/index.html) (support for more syntax) and [Python](https://codemirror.net/mode/python/index.html) (better indentation) modes.
1049
+ * New mode: [Cypher](https://codemirror.net/mode/cypher/index.html).
1050
+ * New theme: [Neo](https://codemirror.net/demo/theme.html#neo).
1051
+ * Support direct styling options (color, line style, width) in the [rulers](https://codemirror.net/doc/manual.html#addon_rulers) addon.
1052
+ * Recognize per-editor configuration for the [show-hint](https://codemirror.net/doc/manual.html#addon_show-hint) and [foldcode](https://codemirror.net/doc/manual.html#addon_foldcode) addons.
1053
+ * More intelligent scanning for existing close tags in [closetag](https://codemirror.net/doc/manual.html#addon_closetag) addon.
1054
+ * In the [Vim bindings](https://codemirror.net/demo/vim.html): Fix bracket matching, support case conversion in visual mode, visual paste, append action.
1055
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.1.0...4.2.0).
1056
+
1057
+ ## 4.1.0 (2014-04-22)
1058
+
1059
+ * _Slightly incompatible_: The [`"cursorActivity"`](https://codemirror.net/doc/manual.html#event_cursorActivity) event now fires after all other events for the operation (and only for handlers that were actually registered at the time the activity happened).
1060
+ * New command: [`insertSoftTab`](https://codemirror.net/doc/manual.html#command_insertSoftTab).
1061
+ * New mode: [Django](https://codemirror.net/mode/django/index.html).
1062
+ * Improved modes: [Verilog](https://codemirror.net/mode/verilog/index.html) (rewritten), [Jinja2](https://codemirror.net/mode/jinja2/index.html), [Haxe](https://codemirror.net/mode/haxe/index.html), [PHP](https://codemirror.net/mode/php/index.html) (string interpolation highlighted), [JavaScript](https://codemirror.net/mode/javascript/index.html) (indentation of trailing else, template strings), [LiveScript](https://codemirror.net/mode/livescript/index.html) (multi-line strings).
1063
+ * Many small issues from the 3.x→4.x transition were found and fixed.
1064
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/4.0.3...4.1.0).
1065
+
1066
+ ## 3.24.0 (2014-04-22)
1067
+
1068
+ Merges the improvements from 4.1 that could easily be applied to the 3.x code. Also improves the way the editor size is updated when line widgets change.
1069
+
1070
+ ## 3.23.0 (2014-03-20)
1071
+
1072
+ * In the [XML mode](https://codemirror.net/mode/xml/index.html), add `brackets` style to angle brackets, fix case-sensitivity of tags for HTML.
1073
+ * New mode: [Dylan](https://codemirror.net/mode/dylan/index.html).
1074
+ * Many improvements to the [Vim bindings](https://codemirror.net/demo/vim.html).
1075
+
1076
+ ## 3.22.0 (2014-02-21)
1077
+
1078
+ * Adds the [`findMarks`](https://codemirror.net/doc/manual.html#findMarks) method.
1079
+ * New addons: [rulers](https://codemirror.net/doc/manual.html#addon_rulers), markdown-fold, yaml-lint.
1080
+ * New theme: [mdn-like](https://codemirror.net/demo/theme.html#mdn-like).
1081
+ * New mode: [Solr](https://codemirror.net/mode/solr/index.html).
1082
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.21.0...3.22.0).
1083
+
1084
+ ## 3.21.0 (2014-01-16)
1085
+
1086
+ * Auto-indenting a block will no longer add trailing whitespace to blank lines.
1087
+ * Marking text has a new option [`clearWhenEmpty`](https://codemirror.net/doc/manual.html#markText) to control auto-removal.
1088
+ * Several bugfixes in the handling of bidirectional text.
1089
+ * The [XML](https://codemirror.net/mode/xml/index.html) and [CSS](https://codemirror.net/mode/css/index.html) modes were largely rewritten. [LESS](https://codemirror.net/mode/css/less.html) support was added to the CSS mode.
1090
+ * The OCaml mode was moved to an [mllike](https://codemirror.net/mode/mllike/index.html) mode, F# support added.
1091
+ * Make it possible to fetch multiple applicable helper values with [`getHelpers`](https://codemirror.net/doc/manual.html#getHelpers), and to register helpers matched on predicates with [`registerGlobalHelper`](https://codemirror.net/doc/manual.html#registerGlobalHelper).
1092
+ * New theme [pastel-on-dark](https://codemirror.net/demo/theme.html#pastel-on-dark).
1093
+ * Better ECMAScript 6 support in [JavaScript](https://codemirror.net/mode/javascript/index.html) mode.
1094
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.20.0...3.21.0).
1095
+
1096
+ ## 3.20.0 (2013-11-21)
1097
+
1098
+ * New modes: [Julia](https://codemirror.net/mode/julia/index.html) and [PEG.js](https://codemirror.net/mode/pegjs/index.html).
1099
+ * Support ECMAScript 6 in the [JavaScript mode](https://codemirror.net/mode/javascript/index.html).
1100
+ * Improved indentation for the [CoffeeScript mode](https://codemirror.net/mode/coffeescript/index.html).
1101
+ * Make non-printable-character representation [configurable](https://codemirror.net/doc/manual.html#option_specialChars).
1102
+ * Add ‘notification’ functionality to [dialog](https://codemirror.net/doc/manual.html#addon_dialog) addon.
1103
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.19.0...3.20.0).
1104
+
1105
+ ## 3.19.0 (2013-10-21)
1106
+
1107
+ * New modes: [Eiffel](https://codemirror.net/mode/eiffel/index.html), [Gherkin](https://codemirror.net/mode/gherkin/index.html), [MSSQL dialect](https://codemirror.net/mode/sql/?mime=text/x-mssql).
1108
+ * New addons: [hardwrap](https://codemirror.net/doc/manual.html#addon_hardwrap), [sql-hint](https://codemirror.net/doc/manual.html#addon_sql-hint).
1109
+ * New theme: [MBO](https://codemirror.net/demo/theme.html#mbo).
1110
+ * Add [support](https://codemirror.net/doc/manual.html#token_style_line) for line-level styling from mode tokenizers.
1111
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.18.0...3.19.0).
1112
+
1113
+ ## 3.18.0 (2013-09-23)
1114
+
1115
+ Emergency release to fix a problem in 3.17 where `.setOption("lineNumbers", false)` would raise an error.
1116
+
1117
+ ## 3.17.0 (2013-09-23)
1118
+
1119
+ * New modes: [Fortran](https://codemirror.net/mode/fortran/index.html), [Octave](https://codemirror.net/mode/octave/index.html) (Matlab), [TOML](https://codemirror.net/mode/toml/index.html), and [DTD](https://codemirror.net/mode/dtd/index.html).
1120
+ * New addons: [`css-lint`](https://codemirror.net/addon/lint/css-lint.js), [`css-hint`](https://codemirror.net/doc/manual.html#addon_css-hint).
1121
+ * Improve resilience to CSS 'frameworks' that globally mess up `box-sizing`.
1122
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.16.0...3.17.0).
1123
+
1124
+ ## 3.16.0 (2013-08-21)
1125
+
1126
+ * The whole codebase is now under a single [license](https://codemirror.net/LICENSE) file.
1127
+ * The project page was overhauled and redesigned.
1128
+ * New themes: [Paraiso](https://codemirror.net/demo/theme.html#paraiso-dark) ([light](https://codemirror.net/demo/theme.html#paraiso-light)), [The Matrix](https://codemirror.net/demo/theme.html#the-matrix).
1129
+ * Improved interaction between themes and [active-line](https://codemirror.net/doc/manual.html#addon_active-line)/[matchbrackets](https://codemirror.net/doc/manual.html#addon_matchbrackets) addons.
1130
+ * New [folding](https://codemirror.net/doc/manual.html#addon_foldcode) function `CodeMirror.fold.comment`.
1131
+ * Added [fullscreen](https://codemirror.net/doc/manual.html#addon_fullscreen) addon.
1132
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.15.0...3.16.0).
1133
+
1134
+ ## 3.15.0 (2013-07-29)
1135
+
1136
+ * New modes: [Jade](https://codemirror.net/mode/jade/index.html), [Nginx](https://codemirror.net/mode/nginx/index.html).
1137
+ * New addons: [Tern](https://codemirror.net/demo/tern.html), [matchtags](https://codemirror.net/doc/manual.html#addon_matchtags), and [foldgutter](https://codemirror.net/doc/manual.html#addon_foldgutter).
1138
+ * Introduced [_helper_](https://codemirror.net/doc/manual.html#getHelper) concept ([context](https://groups.google.com/forum/#!msg/codemirror/cOc0xvUUEUU/nLrX1-qnidgJ)).
1139
+ * New method: [`getModeAt`](https://codemirror.net/doc/manual.html#getModeAt).
1140
+ * New themes: base16 [dark](https://codemirror.net/demo/theme.html#base16-dark)/[light](https://codemirror.net/demo/theme.html#base16-light), 3024 [dark](https://codemirror.net/demo/theme.html#3024-night)/[light](https://codemirror.net/demo/theme.html#3024-day), [tomorrow-night](https://codemirror.net/demo/theme.html#tomorrow-night-eighties).
1141
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.14.0...3.15.0).
1142
+
1143
+ ## 3.14.0 (2013-06-20)
1144
+
1145
+ * New addons: [trailing space highlight](https://codemirror.net/doc/manual.html#addon_trailingspace), [XML completion](https://codemirror.net/doc/manual.html#addon_xml-hint) (rewritten), and [diff merging](https://codemirror.net/doc/manual.html#addon_merge).
1146
+ * [`markText`](https://codemirror.net/doc/manual.html#markText) and [`addLineWidget`](https://codemirror.net/doc/manual.html#addLineWidget) now take a `handleMouseEvents` option.
1147
+ * New methods: [`lineAtHeight`](https://codemirror.net/doc/manual.html#lineAtHeight), [`getTokenTypeAt`](https://codemirror.net/doc/manual.html#getTokenTypeAt).
1148
+ * More precise cleanness-tracking using [`changeGeneration`](https://codemirror.net/doc/manual.html#changeGeneration) and [`isClean`](https://codemirror.net/doc/manual.html#isClean).
1149
+ * Many extensions to [Emacs](https://codemirror.net/demo/emacs.html) mode (prefixes, more navigation units, and more).
1150
+ * New events [`"keyHandled"`](https://codemirror.net/doc/manual.html#event_keyHandled) and [`"inputRead"`](https://codemirror.net/doc/manual.html#event_inputRead).
1151
+ * Various improvements to [Ruby](https://codemirror.net/mode/ruby/index.html), [Smarty](https://codemirror.net/mode/smarty/index.html), [SQL](https://codemirror.net/mode/sql/index.html), and [Vim](https://codemirror.net/demo/vim.html) modes.
1152
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/3.13.0...3.14.0).
1153
+
1154
+ ## 3.13.0 (2013-05-20)
1155
+
1156
+ * New modes: [COBOL](https://codemirror.net/mode/cobol/index.html) and [HAML](https://codemirror.net/mode/haml/index.html).
1157
+ * New options: [`cursorScrollMargin`](https://codemirror.net/doc/manual.html#option_cursorScrollMargin) and [`coverGutterNextToScrollbar`](https://codemirror.net/doc/manual.html#option_coverGutterNextToScrollbar).
1158
+ * New addon: [commenting](https://codemirror.net/doc/manual.html#addon_comment).
1159
+ * More features added to the [Vim keymap](https://codemirror.net/demo/vim.html).
1160
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v3.12...3.13.0).
1161
+
1162
+ ## 3.12.0 (2013-04-19)
1163
+
1164
+ * New mode: [GNU assembler](https://codemirror.net/mode/gas/index.html).
1165
+ * New options: [`maxHighlightLength`](https://codemirror.net/doc/manual.html#option_maxHighlightLength) and [`historyEventDelay`](https://codemirror.net/doc/manual.html#option_historyEventDelay).
1166
+ * Added [`addToHistory`](https://codemirror.net/doc/manual.html#mark_addToHistory) option for `markText`.
1167
+ * Various fixes to JavaScript tokenization and indentation corner cases.
1168
+ * Further improvements to the vim mode.
1169
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v3.11...v3.12).
1170
+
1171
+ ## 3.11.0 (2013-03-20)
1172
+
1173
+ * **Removed code:** `collapserange`, `formatting`, and `simple-hint` addons. `plsql` and `mysql` modes (use [`sql`](https://codemirror.net/mode/sql/index.html) mode).
1174
+ * **Moved code:** the range-finding functions for folding now have [their own files](https://codemirror.net/addon/fold/).
1175
+ * **Changed interface:** the [`continuecomment`](https://codemirror.net/doc/manual.html#addon_continuecomment) addon now exposes an option, rather than a command.
1176
+ * New modes: [SCSS](https://codemirror.net/mode/css/scss.html), [Tcl](https://codemirror.net/mode/tcl/index.html), [LiveScript](https://codemirror.net/mode/livescript/index.html), and [mIRC](https://codemirror.net/mode/mirc/index.html).
1177
+ * New addons: [`placeholder`](https://codemirror.net/demo/placeholder.html), [HTML completion](https://codemirror.net/demo/html5complete.html).
1178
+ * New methods: [`hasFocus`](https://codemirror.net/doc/manual.html#hasFocus), [`defaultCharWidth`](https://codemirror.net/doc/manual.html#defaultCharWidth).
1179
+ * New events: [`beforeCursorEnter`](https://codemirror.net/doc/manual.html#event_beforeCursorEnter), [`renderLine`](https://codemirror.net/doc/manual.html#event_renderLine).
1180
+ * Many improvements to the [`show-hint`](https://codemirror.net/doc/manual.html#addon_show-hint) completion dialog addon.
1181
+ * Tweak behavior of by-word cursor motion.
1182
+ * Further improvements to the [vim mode](https://codemirror.net/demo/vim.html).
1183
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v3.1...v3.11).
1184
+
1185
+ ## 3.02.0 (2013-01-25)
1186
+
1187
+ Single-bugfix release. Fixes a problem that prevents CodeMirror instances from being garbage-collected after they become unused.
1188
+
1189
+ ## 3.01.0 (2013-01-21)
1190
+
1191
+ * Move all add-ons into an organized directory structure under [`/addon`](https://codemirror.net/addon/). **You might have to adjust your paths.**
1192
+ * New modes: [D](https://codemirror.net/mode/d/index.html), [Sass](https://codemirror.net/mode/sass/index.html), [APL](https://codemirror.net/mode/apl/index.html), [SQL](https://codemirror.net/mode/sql/index.html) (configurable), and [Asterisk](https://codemirror.net/mode/asterisk/index.html).
1193
+ * Several bugfixes in right-to-left text support.
1194
+ * Add [`rtlMoveVisually`](https://codemirror.net/doc/manual.html#option_rtlMoveVisually) option.
1195
+ * Improvements to vim keymap.
1196
+ * Add built-in (lightweight) [overlay mode](https://codemirror.net/doc/manual.html#addOverlay) support.
1197
+ * Support `showIfHidden` option for [line widgets](https://codemirror.net/doc/manual.html#addLineWidget).
1198
+ * Add simple [Python hinter](https://codemirror.net/doc/manual.html#addon_python-hint).
1199
+ * Bring back the [`fixedGutter`](https://codemirror.net/doc/manual.html#option_fixedGutter) option.
1200
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v3.0...v3.01).
1201
+
1202
+ ## 3.1.0 (2013-02-21)
1203
+
1204
+ * **Incompatible:** key handlers may now _return_, rather than _throw_ `CodeMirror.Pass` to signal they didn't handle the key.
1205
+ * Make documents a [first-class construct](https://codemirror.net/doc/manual.html#api_doc), support split views and subviews.
1206
+ * Add a [new module](https://codemirror.net/doc/manual.html#addon_show-hint) for showing completion hints. Deprecate `simple-hint.js`.
1207
+ * Extend [htmlmixed mode](https://codemirror.net/mode/htmlmixed/index.html) to allow custom handling of script types.
1208
+ * Support an `insertLeft` option to [`setBookmark`](https://codemirror.net/doc/manual.html#setBookmark).
1209
+ * Add an [`eachLine`](https://codemirror.net/doc/manual.html#eachLine) method to iterate over a document.
1210
+ * New addon modules: [selection marking](https://codemirror.net/demo/markselection.html), [linting](https://codemirror.net/demo/lint.html), and [automatic bracket closing](https://codemirror.net/demo/closebrackets.html).
1211
+ * Add [`"beforeChange"`](https://codemirror.net/doc/manual.html#event_beforeChange) and [`"beforeSelectionChange"`](https://codemirror.net/doc/manual.html#event_beforeSelectionChange) events.
1212
+ * Add [`"hide"`](https://codemirror.net/doc/manual.html#event_hide) and [`"unhide"`](https://codemirror.net/doc/manual.html#event_unhide) events to marked ranges.
1213
+ * Fix [`coordsChar`](https://codemirror.net/doc/manual.html#coordsChar)'s interpretation of its argument to match the documentation.
1214
+ * New modes: [Turtle](https://codemirror.net/mode/turtle/index.html) and [Q](https://codemirror.net/mode/q/index.html).
1215
+ * Further improvements to the [vim mode](https://codemirror.net/demo/vim.html).
1216
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v3.01...v3.1).
1217
+
1218
+ ## 3.0.0 (2012-12-10)
1219
+
1220
+ **New major version**. Only partially backwards-compatible. See the [upgrading guide](https://codemirror.net/doc/upgrade_v3.html) for more information. Changes since release candidate 2:
1221
+
1222
+ * Rewritten VIM mode.
1223
+ * Fix a few minor scrolling and sizing issues.
1224
+ * Work around Safari segfault when dragging.
1225
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v3.0rc2...v3.0).
1226
+
1227
+ ## 2.38.0 (2013-01-21)
1228
+
1229
+ Integrate some bugfixes, enhancements to the vim keymap, and new modes ([D](https://codemirror.net/mode/d/index.html), [Sass](https://codemirror.net/mode/sass/index.html), [APL](https://codemirror.net/mode/apl/index.html)) from the v3 branch.
1230
+
1231
+ ## 2.37.0 (2012-12-20)
1232
+
1233
+ * New mode: [SQL](https://codemirror.net/mode/sql/index.html) (will replace [plsql](https://codemirror.net/mode/plsql/index.html) and [mysql](https://codemirror.net/mode/mysql/index.html) modes).
1234
+ * Further work on the new VIM mode.
1235
+ * Fix Cmd/Ctrl keys on recent Operas on OS X.
1236
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v2.36...v2.37).
1237
+
1238
+ ## 2.36.0 (2012-11-20)
1239
+
1240
+ * New mode: [Z80 assembly](https://codemirror.net/mode/z80/index.html).
1241
+ * New theme: [Twilight](https://codemirror.net/demo/theme.html#twilight).
1242
+ * Add command-line compression helper.
1243
+ * Make [`scrollIntoView`](https://codemirror.net/doc/manual.html#scrollIntoView) public.
1244
+ * Add [`defaultTextHeight`](https://codemirror.net/doc/manual.html#defaultTextHeight) method.
1245
+ * Various extensions to the vim keymap.
1246
+ * Make [PHP mode](https://codemirror.net/mode/php/index.html) build on [mixed HTML mode](https://codemirror.net/mode/htmlmixed/index.html).
1247
+ * Add [comment-continuing](https://codemirror.net/doc/manual.html#addon_continuecomment) add-on.
1248
+ * Full [list of patches](https://codemirror.net/https://github.com/codemirror/CodeMirror/compare/v2.35...v2.36).
1249
+
1250
+ ## 2.35.0 (2012-10-22)
1251
+
1252
+ * New (sub) mode: [TypeScript](https://codemirror.net/mode/javascript/typescript.html).
1253
+ * Don't overwrite (insert key) when pasting.
1254
+ * Fix several bugs in [`markText`](https://codemirror.net/doc/manual.html#markText)/undo interaction.
1255
+ * Better indentation of JavaScript code without semicolons.
1256
+ * Add [`defineInitHook`](https://codemirror.net/doc/manual.html#defineInitHook) function.
1257
+ * Full [list of patches](https://github.com/codemirror/CodeMirror/compare/v2.34...v2.35).
1258
+
1259
+ ## 2.34.0 (2012-09-19)
1260
+
1261
+ * New mode: [Common Lisp](https://codemirror.net/mode/commonlisp/index.html).
1262
+ * Fix right-click select-all on most browsers.
1263
+ * Change the way highlighting happens:
1264
+ Saves memory and CPU cycles.
1265
+ `compareStates` is no longer needed.
1266
+ `onHighlightComplete` no longer works.
1267
+ * Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.
1268
+ * Add a [`CodeMirror.version`](https://codemirror.net/doc/manual.html#version) property.
1269
+ * More robust handling of nested modes in [formatting](https://codemirror.net/demo/formatting.html) and [closetag](https://codemirror.net/demo/closetag.html) plug-ins.
1270
+ * Un/redo now preserves [marked text](https://codemirror.net/doc/manual.html#markText) and bookmarks.
1271
+ * [Full list](https://github.com/codemirror/CodeMirror/compare/v2.33...v2.34) of patches.
1272
+
1273
+ ## 2.33.0 (2012-08-23)
1274
+
1275
+ * New mode: [Sieve](https://codemirror.net/mode/sieve/index.html).
1276
+ * New [`getViewPort`](https://codemirror.net/doc/manual.html#getViewport) and [`onViewportChange`](https://codemirror.net/doc/manual.html#option_onViewportChange) API.
1277
+ * [Configurable](https://codemirror.net/doc/manual.html#option_cursorBlinkRate) cursor blink rate.
1278
+ * Make binding a key to `false` disabling handling (again).
1279
+ * Show non-printing characters as red dots.
1280
+ * More tweaks to the scrolling model.
1281
+ * Expanded testsuite. Basic linter added.
1282
+ * Remove most uses of `innerHTML`. Remove `CodeMirror.htmlEscape`.
1283
+ * [Full list](https://github.com/codemirror/CodeMirror/compare/v2.32...v2.33) of patches.
1284
+
1285
+ ## 2.32.0 (2012-07-23)
1286
+
1287
+ Emergency fix for a bug where an editor with line wrapping on IE will break when there is _no_ scrollbar.
1288
+
1289
+ ## 2.31.0 (2012-07-20)
1290
+
1291
+ * New modes: [OCaml](https://codemirror.net/mode/ocaml/index.html), [Haxe](https://codemirror.net/mode/haxe/index.html), and [VB.NET](https://codemirror.net/mode/vb/index.html).
1292
+ * Several fixes to the new scrolling model.
1293
+ * Add a [`setSize`](https://codemirror.net/doc/manual.html#setSize) method for programmatic resizing.
1294
+ * Add [`getHistory`](https://codemirror.net/doc/manual.html#getHistory) and [`setHistory`](https://codemirror.net/doc/manual.html#setHistory) methods.
1295
+ * Allow custom line separator string in [`getValue`](https://codemirror.net/doc/manual.html#getValue) and [`getRange`](https://codemirror.net/doc/manual.html#getRange).
1296
+ * Support double- and triple-click drag, double-clicking whitespace.
1297
+ * And more... [(all patches)](https://github.com/codemirror/CodeMirror/compare/v2.3...v2.31)
1298
+
1299
+ ## 2.30.0 (2012-06-22)
1300
+
1301
+ * **New scrollbar implementation**. Should flicker less. Changes DOM structure of the editor.
1302
+ * New theme: [vibrant-ink](https://codemirror.net/demo/theme.html#vibrant-ink).
1303
+ * Many extensions to the VIM keymap (including text objects).
1304
+ * Add [mode-multiplexing](https://codemirror.net/demo/multiplex.html) utility script.
1305
+ * Fix bug where right-click paste works in read-only mode.
1306
+ * Add a [`getScrollInfo`](https://codemirror.net/doc/manual.html#getScrollInfo) method.
1307
+ * Lots of other [fixes](https://github.com/codemirror/CodeMirror/compare/v2.25...v2.3).
1308
+
1309
+ ## 2.25.0 (2012-05-23)
1310
+
1311
+ * New mode: [Erlang](https://codemirror.net/mode/erlang/index.html).
1312
+ * **Remove xmlpure mode** (use [xml.js](https://codemirror.net/mode/xml/index.html)).
1313
+ * Fix line-wrapping in Opera.
1314
+ * Fix X Windows middle-click paste in Chrome.
1315
+ * Fix bug that broke pasting of huge documents.
1316
+ * Fix backspace and tab key repeat in Opera.
1317
+
1318
+ ## 2.24.0 (2012-04-23)
1319
+
1320
+ * **Drop support for Internet Explorer 6**.
1321
+ * New modes: [Shell](https://codemirror.net/mode/shell/index.html), [Tiki wiki](https://codemirror.net/mode/tiki/index.html), [Pig Latin](https://codemirror.net/mode/pig/index.html).
1322
+ * New themes: [Ambiance](https://codemirror.net/demo/theme.html#ambiance), [Blackboard](https://codemirror.net/demo/theme.html#blackboard).
1323
+ * More control over drag/drop with [`dragDrop`](https://codemirror.net/doc/manual.html#option_dragDrop) and [`onDragEvent`](https://codemirror.net/doc/manual.html#option_onDragEvent) options.
1324
+ * Make HTML mode a bit less pedantic.
1325
+ * Add [`compoundChange`](https://codemirror.net/doc/manual.html#compoundChange) API method.
1326
+ * Several fixes in undo history and line hiding.
1327
+ * Remove (broken) support for `catchall` in key maps, add `nofallthrough` boolean field instead.
1328
+
1329
+ ## 2.23.0 (2012-03-26)
1330
+
1331
+ * Change **default binding for tab**. Starting in 2.23, these bindings are default:
1332
+ * Tab: Insert tab character
1333
+ * Shift-tab: Reset line indentation to default
1334
+ * Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)
1335
+ * Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)
1336
+ * New modes: [XQuery](https://codemirror.net/mode/xquery/index.html) and [VBScript](https://codemirror.net/mode/vbscript/index.html).
1337
+ * Two new themes: [lesser-dark](https://codemirror.net/mode/less/index.html) and [xq-dark](https://codemirror.net/mode/xquery/index.html).
1338
+ * Differentiate between background and text styles in [`setLineClass`](https://codemirror.net/doc/manual.html#setLineClass).
1339
+ * Fix drag-and-drop in IE9+.
1340
+ * Extend [`charCoords`](https://codemirror.net/doc/manual.html#charCoords) and [`cursorCoords`](https://codemirror.net/doc/manual.html#cursorCoords) with a `mode` argument.
1341
+ * Add [`autofocus`](https://codemirror.net/doc/manual.html#option_autofocus) option.
1342
+ * Add [`findMarksAt`](https://codemirror.net/doc/manual.html#findMarksAt) method.
1343
+
1344
+ ## 2.22.0 (2012-02-27)
1345
+
1346
+ * Allow [key handlers](https://codemirror.net/doc/manual.html#keymaps) to pass up events, allow binding characters.
1347
+ * Add [`autoClearEmptyLines`](https://codemirror.net/doc/manual.html#option_autoClearEmptyLines) option.
1348
+ * Properly use tab stops when rendering tabs.
1349
+ * Make PHP mode more robust.
1350
+ * Support indentation blocks in [code folder](https://codemirror.net/doc/manual.html#addon_foldcode).
1351
+ * Add a script for [highlighting instances of the selection](https://codemirror.net/doc/manual.html#addon_match-highlighter).
1352
+ * New [.properties](https://codemirror.net/mode/properties/index.html) mode.
1353
+ * Fix many bugs.
1354
+
1355
+ ## 2.21.0 (2012-01-27)
1356
+
1357
+ * Added [LESS](https://codemirror.net/mode/less/index.html), [MySQL](https://codemirror.net/mode/mysql/index.html), [Go](https://codemirror.net/mode/go/index.html), and [Verilog](https://codemirror.net/mode/verilog/index.html) modes.
1358
+ * Add [`smartIndent`](https://codemirror.net/doc/manual.html#option_smartIndent) option.
1359
+ * Support a cursor in [`readOnly`](https://codemirror.net/doc/manual.html#option_readOnly)-mode.
1360
+ * Support assigning multiple styles to a token.
1361
+ * Use a new approach to drawing the selection.
1362
+ * Add [`scrollTo`](https://codemirror.net/doc/manual.html#scrollTo) method.
1363
+ * Allow undo/redo events to span non-adjacent lines.
1364
+ * Lots and lots of bugfixes.
1365
+
1366
+ ## 2.20.0 (2011-12-20)
1367
+
1368
+ * Slightly incompatible API changes. Read [this](https://codemirror.net/doc/upgrade_v2.2.html).
1369
+ * New approach to [binding](https://codemirror.net/doc/manual.html#option_extraKeys) keys, support for [custom bindings](https://codemirror.net/doc/manual.html#option_keyMap).
1370
+ * Support for overwrite (insert).
1371
+ * [Custom-width](https://codemirror.net/doc/manual.html#option_tabSize) and [stylable](https://codemirror.net/demo/visibletabs.html) tabs.
1372
+ * Moved more code into [add-on scripts](https://codemirror.net/doc/manual.html#addons).
1373
+ * Support for sane vertical cursor movement in wrapped lines.
1374
+ * More reliable handling of editing [marked text](https://codemirror.net/doc/manual.html#markText).
1375
+ * Add minimal [emacs](https://codemirror.net/demo/emacs.html) and [vim](https://codemirror.net/demo/vim.html) bindings.
1376
+ * Rename `coordsFromIndex` to [`posFromIndex`](https://codemirror.net/doc/manual.html#posFromIndex), add [`indexFromPos`](https://codemirror.net/doc/manual.html#indexFromPos) method.
1377
+
1378
+ ## 2.18.0 (2011-11-21)
1379
+
1380
+ Fixes `TextMarker.clear`, which is broken in 2.17.
1381
+
1382
+ ## 2.17.0 (2011-11-21)
1383
+
1384
+ * Add support for [line wrapping](https://codemirror.net/doc/manual.html#option_lineWrapping) and [code folding](https://codemirror.net/doc/manual.html#hideLine).
1385
+ * Add [Github-style Markdown](https://codemirror.net/mode/gfm/index.html) mode.
1386
+ * Add [Monokai](https://codemirror.net/theme/monokai.css) and [Rubyblue](https://codemirror.net/theme/rubyblue.css) themes.
1387
+ * Add [`setBookmark`](https://codemirror.net/doc/manual.html#setBookmark) method.
1388
+ * Move some of the demo code into reusable components under [`lib/util`](https://codemirror.net/addon/).
1389
+ * Make screen-coord-finding code faster and more reliable.
1390
+ * Fix drag-and-drop in Firefox.
1391
+ * Improve support for IME.
1392
+ * Speed up content rendering.
1393
+ * Fix browser's built-in search in Webkit.
1394
+ * Make double- and triple-click work in IE.
1395
+ * Various fixes to modes.
1396
+
1397
+ ## 2.16.0 (2011-10-27)
1398
+
1399
+ * Add [Perl](https://codemirror.net/mode/perl/index.html), [Rust](https://codemirror.net/mode/rust/index.html), [TiddlyWiki](https://codemirror.net/mode/tiddlywiki/index.html), and [Groovy](https://codemirror.net/mode/groovy/index.html) modes.
1400
+ * Dragging text inside the editor now moves, rather than copies.
1401
+ * Add a [`coordsFromIndex`](https://codemirror.net/doc/manual.html#coordsFromIndex) method.
1402
+ * **API change**: `setValue` now no longer clears history. Use [`clearHistory`](https://codemirror.net/doc/manual.html#clearHistory) for that.
1403
+ * **API change**: [`markText`](https://codemirror.net/doc/manual.html#markText) now returns an object with `clear` and `find` methods. Marked text is now more robust when edited.
1404
+ * Fix editing code with tabs in Internet Explorer.
1405
+
1406
+ ## 2.15.0 (2011-09-26)
1407
+
1408
+ Fix bug that snuck into 2.14: Clicking the character that currently has the cursor didn't re-focus the editor.
1409
+
1410
+ ## 2.14.0 (2011-09-26)
1411
+
1412
+ * Add [Clojure](https://codemirror.net/mode/clojure/index.html), [Pascal](https://codemirror.net/mode/pascal/index.html), [NTriples](https://codemirror.net/mode/ntriples/index.html), [Jinja2](https://codemirror.net/mode/jinja2/index.html), and [Markdown](https://codemirror.net/mode/markdown/index.html) modes.
1413
+ * Add [Cobalt](https://codemirror.net/theme/cobalt.css) and [Eclipse](https://codemirror.net/theme/eclipse.css) themes.
1414
+ * Add a [`fixedGutter`](https://codemirror.net/doc/manual.html#option_fixedGutter) option.
1415
+ * Fix bug with `setValue` breaking cursor movement.
1416
+ * Make gutter updates much more efficient.
1417
+ * Allow dragging of text out of the editor (on modern browsers).
1418
+
1419
+ ## 2.13.0 (2011-08-23)
1420
+
1421
+ * Add [Ruby](https://codemirror.net/mode/ruby/index.html), [R](https://codemirror.net/mode/r/index.html), [CoffeeScript](https://codemirror.net/mode/coffeescript/index.html), and [Velocity](https://codemirror.net/mode/velocity/index.html) modes.
1422
+ * Add [`getGutterElement`](https://codemirror.net/doc/manual.html#getGutterElement) to API.
1423
+ * Several fixes to scrolling and positioning.
1424
+ * Add [`smartHome`](https://codemirror.net/doc/manual.html#option_smartHome) option.
1425
+ * Add an experimental [pure XML](https://codemirror.net/mode/xmlpure/index.html) mode.
1426
+
1427
+ ## 2.12.0 (2011-07-25)
1428
+
1429
+ * Add a [SPARQL](https://codemirror.net/mode/sparql/index.html) mode.
1430
+ * Fix bug with cursor jumping around in an unfocused editor in IE.
1431
+ * Allow key and mouse events to bubble out of the editor. Ignore widget clicks.
1432
+ * Solve cursor flakiness after undo/redo.
1433
+ * Fix block-reindent ignoring the last few lines.
1434
+ * Fix parsing of multi-line attrs in XML mode.
1435
+ * Use `innerHTML` for HTML-escaping.
1436
+ * Some fixes to indentation in C-like mode.
1437
+ * Shrink horiz scrollbars when long lines removed.
1438
+ * Fix width feedback loop bug that caused the width of an inner DIV to shrink.
1439
+
1440
+ ## 2.11.0 (2011-07-04)
1441
+
1442
+ * Add a [Scheme mode](https://codemirror.net/mode/scheme/index.html).
1443
+ * Add a `replace` method to search cursors, for cursor-preserving replacements.
1444
+ * Make the [C-like mode](https://codemirror.net/mode/clike/index.html) mode more customizable.
1445
+ * Update XML mode to spot mismatched tags.
1446
+ * Add `getStateAfter` API and `compareState` mode API methods for finer-grained mode magic.
1447
+ * Add a `getScrollerElement` API method to manipulate the scrolling DIV.
1448
+ * Fix drag-and-drop for Firefox.
1449
+ * Add a C# configuration for the [C-like mode](https://codemirror.net/mode/clike/index.html).
1450
+ * Add [full-screen editing](https://codemirror.net/demo/fullscreen.html) and [mode-changing](https://codemirror.net/demo/changemode.html) demos.
1451
+
1452
+ ## 2.10.0 (2011-06-07)
1453
+
1454
+ Add a [theme](https://codemirror.net/doc/manual.html#option_theme) system ([demo](https://codemirror.net/demo/theme.html)). Note that this is not backwards-compatible—you'll have to update your styles and modes!
1455
+
1456
+ ## 2.2.0 (2011-06-07)
1457
+
1458
+ * Add a [Lua mode](https://codemirror.net/mode/lua/index.html).
1459
+ * Fix reverse-searching for a regexp.
1460
+ * Empty lines can no longer break highlighting.
1461
+ * Rework scrolling model (the outer wrapper no longer does the scrolling).
1462
+ * Solve horizontal jittering on long lines.
1463
+ * Add [runmode.js](https://codemirror.net/demo/runmode.html).
1464
+ * Immediately re-highlight text when typing.
1465
+ * Fix problem with 'sticking' horizontal scrollbar.
1466
+
1467
+ ## 2.1.0 (2011-05-26)
1468
+
1469
+ * Add a [Smalltalk mode](https://codemirror.net/mode/smalltalk/index.html).
1470
+ * Add a [reStructuredText mode](https://codemirror.net/mode/rst/index.html).
1471
+ * Add a [Python mode](https://codemirror.net/mode/python/index.html).
1472
+ * Add a [PL/SQL mode](https://codemirror.net/mode/plsql/index.html).
1473
+ * `coordsChar` now works
1474
+ * Fix a problem where `onCursorActivity` interfered with `onChange`.
1475
+ * Fix a number of scrolling and mouse-click-position glitches.
1476
+ * Pass information about the changed lines to `onChange`.
1477
+ * Support cmd-up/down on OS X.
1478
+ * Add triple-click line selection.
1479
+ * Don't handle shift when changing the selection through the API.
1480
+ * Support `"nocursor"` mode for `readOnly` option.
1481
+ * Add an `onHighlightComplete` option.
1482
+ * Fix the context menu for Firefox.
1483
+
1484
+ ## 2.0.0 (2011-03-28)
1485
+
1486
+ CodeMirror 2 is a complete rewrite that's faster, smaller, simpler to use, and less dependent on browser quirks. See [this](https://codemirror.net/doc/internals.html) and [this](http://groups.google.com/group/codemirror/browse_thread/thread/5a8e894024a9f580) for more information.