Version 5.27.0 ### Bug fixes Fix infinite loop in forced display update. Properly disable the hidden textarea when `readOnly` is `"nocursor"`. Calling the `Doc` constructor without `new` works again. [sql mode](http://codemirror.net/mode/sql/): Handle nested comments. [javascript mode](http://codemirror.net/mode/javascript/): Improve support for TypeScript syntax. [markdown mode](http://codemirror.net/mode/markdown/): Fix bug where markup was ignored on indented paragraph lines. [vim bindings](http://codemirror.net/mode/demo/vim.html): Referencing invalid registers no longer causes an uncaught exception. [rust mode](http://codemirror.net/mode/rust/): Add the correct MIME type. [matchbrackets addon](http://codemirror.net/doc/manual.html#addon_matchbrackets): Document options. ### New features 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. The behavior of mouse selection and dragging can now be customized with the [`configureMouse`](http://codemirror.net/doc/manual.html#option_configureMouse) option. Modes can now look ahead across line boundaries with the [`StringStream`](http://codemirror.net/doc/manual.html#StringStream)`.lookahead` method. Introduces a `"type"` token type, makes modes that recognize types output it, and add styling for it to the themes. New [`pasteLinesPerSelection`](http://codemirror.net/doc/manual.html#option_pasteLinesPerSelection) option to control the behavior of pasting multiple lines into multiple selections. [searchcursor addon](http://codemirror.net/doc/manual.html#addon_searchcursor): Support multi-line regular expression matches, and normalize strings when matching.