Releases: ccampbell/rainbow
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
- Fixed issue where passing null or false for a match name would result in a runtime error
- Fixed issue where strings were not correctly highlighted following a comma
- Fixed issue where javascript selector
$
was not correctly highlighted all the time - Fixed crash if you do not include an inherited language in your build/page
- Fixed issue where html boolean attributes with dashes were not correctly highlighted
- Fixed issue where comments following certain strings did not highlight correctly
- Updated keyword matching to not match function calls
- Updated language grammars for golang to use proper scopes and added tests
- Added SQL language grammar
- Added async and await keywords to C# grammar
- Added ability to remove languages dynamically using
Rainbow.remove
- Refactored the regex matching code to no longer process matches recursively (see #197 for more information). Should also make everything a bit faster.
2.0.0
Rainbow 2.0 is basically a complete rewrite from the ground up. Here is a summary of most of the changes
Changes
-
Updated code highlighting to use webworkers to prevent the main thread from being blocked while processing code blocks
-
Added support for Node.js
-
Added
Rainbow.colorSync
method for synchronous highlighting (only for node.js) -
Refactored source code into ES6 modules (using buble + rollup for compilation)
-
Updated unit tests to run via Karma
-
Added ES6 support to the JavaScript language grammars
-
Updated themes to use SASS to share common logic
-
Added SASS mixin to make it easy to add custom rules to specific languages
-
Updated themes to wait until code is highlighted before displaying it to prevent a flash of unstyled content (FOUC)
-
Added a preload animation for when the code takes some time to highlight
-
Updated code highlighting for each block to be self contained. Previously there was a global state that led to some obscure bugs.
-
Fixed race condition where calling
Rainbow.color
while anotherRainbow.color
call is running could cause some strange behavior -
Added ability for a language to extend any other language.
For example you could add a language grammar for
jsx
that inherits all the rules fromjavascript
whilejavascript
inherits all the rules fromgeneric.
. -
Updated build process to run using gulp to simplify creating custom packages
-
Updated build to use Uglify instead of closure compiler
-
Added ability to defer highlighting so it does not happen immediately on page load
Backwards incompatible changes
-
Removed
Rainbow.addClass
method -
Updated
Rainbow.extend
to no longer extendgeneric
patterns by defaultThis means that passing
true
as the second argument is no longer needed. Instead if you pass a language as the second argument the rules will extend that language. -
Dropped support for older versions of Chrome/Firefox/IE.
Check README.md for list of supported browsers.