isagalaev/highlight.js
### [`v10.7.3`](https://togithub.com/highlightjs/highlight.js/releases/tag/10.7.3)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.7.2...10.7.3)
- fix(parser) Resolves issue with missing TypeScript property [Jacob Swanner][]
No other changes.
[Jacob Swanner]: https://togithub.com/jswanner
### [`v10.7.2`](https://togithub.com/highlightjs/highlight.js/releases/tag/10.7.2)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.7.1...10.7.2)
This is a patch release. The only change is that deprecation messages
are throttled and shown only once.
- (chore) throttle deprecation messages ([#3092](https://togithub.com/isagalaev/highlight.js/issues/3092)) [Mihkel Eidast][]
[Mihkel Eidast]: https://togithub.com/mihkeleidast
### [`v10.7.1`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1071)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.7.0...10.7.1)
- fix(parser) Resolves issues with TypeScript types [Josh Goebel][]
##### Version 10.7.0
Parser:
- keywords now have a maximum # of times they provide relevance ([#3129](https://togithub.com/isagalaev/highlight.js/issues/3129)) [Josh Goebel][]
- enh(api) add `unregisterLanguage` method ([#3009](https://togithub.com/isagalaev/highlight.js/issues/3009)) [Antoine du Hamel][]
- enh: Make alias registration case insensitive ([#3026](https://togithub.com/isagalaev/highlight.js/issues/3026)) [David Ostrovsky][]
- fix(parser) `highlightAll()` now works if the library is lazy loaded [Josh Goebel][]
New Languages:
- Added 3rd party RiScript grammar to SUPPORTED_LANGUAGES ([#2988](https://togithub.com/isagalaev/highlight.js/issues/2988)) \[John C]\[]
- Added 3rd party HLSL grammar to SUPPORTED_LANGUAGES ([#3002](https://togithub.com/isagalaev/highlight.js/issues/3002)) [Stef Levesque][]
- Added 3rd party Q# grammar to SUPPORTED_LANGUAGES([#3006](https://togithub.com/isagalaev/highlight.js/issues/3006)) [Vyron Vasileiadis][]
Language grammar improvements:
- enh(js/ts) class references (CamelCase) are highlighted ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(js/ts) constants (ALL_CAPS) are highlighted ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(js/ts) highlights function invokation ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(js/ts) functions assigned to variables are now highlighted `title.function` ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(parser) smarter detection of comments ([#2827](https://togithub.com/isagalaev/highlight.js/issues/2827)) [Josh Goebel][]
- fix(python) allow keywords immediately following numbers ([#2985](https://togithub.com/isagalaev/highlight.js/issues/2985)) [Josh Goebel][]
- fix(xml) char immediately following tag close mis-highlighted ([#3044](https://togithub.com/isagalaev/highlight.js/issues/3044)) [Josh Goebel][]
- fix(ruby) fix `defined?()` mis-highlighted as `def` ([#3025](https://togithub.com/isagalaev/highlight.js/issues/3025)) [Josh Goebel][]
- fix(c) comments after `#include ` blocks ([#3041](https://togithub.com/isagalaev/highlight.js/issues/3041)) [Josh Goebel][]
- fix(cpp) comments after `#include ` blocks ([#3041](https://togithub.com/isagalaev/highlight.js/issues/3041)) [Josh Goebel][]
- enh(cpp) Highlight all function dispatches ([#3005](https://togithub.com/isagalaev/highlight.js/issues/3005)) [Josh Goebel][]
- enh(python) support type hints and better type support ([#2972](https://togithub.com/isagalaev/highlight.js/issues/2972)) [Josh Goebel][]
- enh(gml) Add additional GML 2.3 keywords ([#2984](https://togithub.com/isagalaev/highlight.js/issues/2984)) [xDGameStudios][]
- fix(cpp) constructor support for initializers ([#3001](https://togithub.com/isagalaev/highlight.js/issues/3001)) [Josh Goebel][]
- enh(php) Add `trait` to class-like naming patterns ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add `Stringable`, `UnhandledMatchError`, and `WeakMap` classes/interfaces ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add `mixed` to list of keywords ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add support binary, octal, hex and scientific numerals with underscore separator support ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add support for Enums ([#3004](https://togithub.com/isagalaev/highlight.js/issues/3004)) [Ayesh][]
- enh(ecmascript) Add built-in types [Vaibhav Chanana][]
- enh(kotlin) Add `kts` as an alias for Kotlin ([#3021](https://togithub.com/isagalaev/highlight.js/issues/3021)) [Vaibhav Chanana][]
- enh(css) Add `font-smoothing` to attributes list for CSS ([#3027](https://togithub.com/isagalaev/highlight.js/issues/3027)) [AndyKIron][]
- fix(python) Highlight `print` and `exec` as a builtin ([#1468](https://togithub.com/isagalaev/highlight.js/issues/1468)) [Samuel Colvin][]
- fix(csharp) Fix unit being highlighted instead of uint ([#3046](https://togithub.com/isagalaev/highlight.js/issues/3046)) \[Spacehamster]\[]
- enh(swift) add async/await keywords ([#3048](https://togithub.com/isagalaev/highlight.js/issues/3048)) \[Bradley Mackey]\[]
Deprecations:
- `highlight(languageName, code, ignoreIllegals, continuation)` deprecated as of 10.7
- Please use the newer API which takes `code` and then accepts options as an object
- IE: `highlight(code, {language, ignoreIllegals})`
- `continuation` is for internal use only and no longer supported
- `highlightBlock(el)` deprecated as of 10.7.
- Please use `highlightElement(el)` instead.
- Plugin callbacks renamed `before/after:highlightBlock` => `before/after:highlightElement`
- Plugin callback now takes `el` vs `block` attribute
- The old API and callbacks will be supported until v12.
[Stef Levesque]: https://togithub.com/stef-levesque
[Josh Goebel]: https://togithub.com/joshgoebel
[John Cheung]: https://togithub.com/Real-John-Cheung
[xDGameStudios]: https://togithub.com/xDGameStudios
[Ayesh]: https://togithub.com/Ayesh
[Vyron Vasileiadis]: https://togithub.com/fedonman
[Antoine du Hamel]: https://togithub.com/aduh95
[Vaibhav Chanana]: https://togithub.com/il3ven
[David Ostrovsky]: https://togithub.com/davido
[AndyKIron]: https://togithub.com/AndyKIron
[Samuel Colvin]: https://togithub.com/samuelcolvin
### [`v10.7.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1070)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.6.0...10.7.0)
Parser:
- keywords now have a maximum # of times they provide relevance ([#3129](https://togithub.com/isagalaev/highlight.js/issues/3129)) [Josh Goebel][]
- enh(api) add `unregisterLanguage` method ([#3009](https://togithub.com/isagalaev/highlight.js/issues/3009)) [Antoine du Hamel][]
- enh: Make alias registration case insensitive ([#3026](https://togithub.com/isagalaev/highlight.js/issues/3026)) [David Ostrovsky][]
- fix(parser) `highlightAll()` now works if the library is lazy loaded [Josh Goebel][]
New Languages:
- Added 3rd party RiScript grammar to SUPPORTED_LANGUAGES ([#2988](https://togithub.com/isagalaev/highlight.js/issues/2988)) \[John C]\[]
- Added 3rd party HLSL grammar to SUPPORTED_LANGUAGES ([#3002](https://togithub.com/isagalaev/highlight.js/issues/3002)) [Stef Levesque][]
- Added 3rd party Q# grammar to SUPPORTED_LANGUAGES([#3006](https://togithub.com/isagalaev/highlight.js/issues/3006)) [Vyron Vasileiadis][]
Language grammar improvements:
- enh(js/ts) class references (CamelCase) are highlighted ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(js/ts) constants (ALL_CAPS) are highlighted ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(js/ts) highlights function invokation ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(js/ts) functions assigned to variables are now highlighted `title.function` ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][]
- enh(parser) smarter detection of comments ([#2827](https://togithub.com/isagalaev/highlight.js/issues/2827)) [Josh Goebel][]
- fix(python) allow keywords immediately following numbers ([#2985](https://togithub.com/isagalaev/highlight.js/issues/2985)) [Josh Goebel][]
- fix(xml) char immediately following tag close mis-highlighted ([#3044](https://togithub.com/isagalaev/highlight.js/issues/3044)) [Josh Goebel][]
- fix(ruby) fix `defined?()` mis-highlighted as `def` ([#3025](https://togithub.com/isagalaev/highlight.js/issues/3025)) [Josh Goebel][]
- fix(c) comments after `#include ` blocks ([#3041](https://togithub.com/isagalaev/highlight.js/issues/3041)) [Josh Goebel][]
- fix(cpp) comments after `#include ` blocks ([#3041](https://togithub.com/isagalaev/highlight.js/issues/3041)) [Josh Goebel][]
- enh(cpp) Highlight all function dispatches ([#3005](https://togithub.com/isagalaev/highlight.js/issues/3005)) [Josh Goebel][]
- enh(python) support type hints and better type support ([#2972](https://togithub.com/isagalaev/highlight.js/issues/2972)) [Josh Goebel][]
- enh(gml) Add additional GML 2.3 keywords ([#2984](https://togithub.com/isagalaev/highlight.js/issues/2984)) [xDGameStudios][]
- fix(cpp) constructor support for initializers ([#3001](https://togithub.com/isagalaev/highlight.js/issues/3001)) [Josh Goebel][]
- enh(php) Add `trait` to class-like naming patterns ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add `Stringable`, `UnhandledMatchError`, and `WeakMap` classes/interfaces ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add `mixed` to list of keywords ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add support binary, octal, hex and scientific numerals with underscore separator support ([#2997](https://togithub.com/isagalaev/highlight.js/issues/2997)) [Ayesh][]
- enh(php) Add support for Enums ([#3004](https://togithub.com/isagalaev/highlight.js/issues/3004)) [Ayesh][]
- enh(ecmascript) Add built-in types [Vaibhav Chanana][]
- enh(kotlin) Add `kts` as an alias for Kotlin ([#3021](https://togithub.com/isagalaev/highlight.js/issues/3021)) [Vaibhav Chanana][]
- enh(css) Add `font-smoothing` to attributes list for CSS ([#3027](https://togithub.com/isagalaev/highlight.js/issues/3027)) [AndyKIron][]
- fix(python) Highlight `print` and `exec` as a builtin ([#1468](https://togithub.com/isagalaev/highlight.js/issues/1468)) [Samuel Colvin][]
- fix(csharp) Fix unit being highlighted instead of uint ([#3046](https://togithub.com/isagalaev/highlight.js/issues/3046)) \[Spacehamster]\[]
- enh(swift) add async/await keywords ([#3048](https://togithub.com/isagalaev/highlight.js/issues/3048)) \[Bradley Mackey]\[]
Deprecations:
- `highlight(languageName, code, ignoreIllegals, continuation)` deprecated as of 10.7
- Please use the newer API which takes `code` and then accepts options as an object
- IE: `highlight(code, {language, ignoreIllegals})`
- `continuation` is for internal use only and no longer supported
- `highlightBlock(el)` deprecated as of 10.7.
- Please use `highlightElement(el)` instead.
- Plugin callbacks renamed `before/after:highlightBlock` => `before/after:highlightElement`
- Plugin callback now takes `el` vs `block` attribute
- The old API and callbacks will be supported until v12.
[Stef Levesque]: https://togithub.com/stef-levesque
[Josh Goebel]: https://togithub.com/joshgoebel
[John Cheung]: https://togithub.com/Real-John-Cheung
[xDGameStudios]: https://togithub.com/xDGameStudios
[Ayesh]: https://togithub.com/Ayesh
[Vyron Vasileiadis]: https://togithub.com/fedonman
[Antoine du Hamel]: https://togithub.com/aduh95
[Vaibhav Chanana]: https://togithub.com/il3ven
[David Ostrovsky]: https://togithub.com/davido
[AndyKIron]: https://togithub.com/AndyKIron
[Samuel Colvin]: https://togithub.com/samuelcolvin
### [`v10.6.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1060)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.5.0...10.6.0)
New Languages:
- Added 3rd party Laravel Blade grammar to SUPPORTED_LANGUAGES ([#2944](https://togithub.com/isagalaev/highlight.js/issues/2944)) [Michael Newton][]
Language grammar improvements:
- enh(scala) fix triple quoted strings ([#2987](https://togithub.com/isagalaev/highlight.js/issues/2987)) [Josh Goebel][]
- enh(perl) Much improved regex detection ([#2960](https://togithub.com/isagalaev/highlight.js/issues/2960)) [Josh Goebel][]
- enh(swift) Improved highlighting for operator and precedencegroup declarations. ([#2938](https://togithub.com/isagalaev/highlight.js/issues/2938)) [Steven Van Impe][]
- fix(xml) Support single-character namespaces. ([#2957](https://togithub.com/isagalaev/highlight.js/issues/2957)) [Jan Pilzer][]
- enh(ruby) Support for character literals ([#2950](https://togithub.com/isagalaev/highlight.js/issues/2950)) [Vaibhav Chanana][]
- enh(powershell) Add three VALID_VERBS and update the reference link ([#2981](https://togithub.com/isagalaev/highlight.js/issues/2981)) [davidhcefx][]
- fix(php) Highlighting of anonymous functions without {} block [Vaibhav Chanana][]
Grammar Deprecations:
- Deprecate `c-like`, though you should not be using it directly anyways.
- will be removed in v11.
- `c` and `cpp` are now wholly unique grammars that will diverge over time
Parser:
- new simpler `highlightAll()` API ([#2962](https://togithub.com/isagalaev/highlight.js/issues/2962)) [Josh Goebel][]
- this should be a drop-in replacement for both `initHighlighting()` and `initHighlightingOnLoad()`
- note: it does not prevent itself from being called multiple times (as the previous API did)
- `beginKeyword` no longer bestows double relevance ([#2953](https://togithub.com/isagalaev/highlight.js/issues/2953)) [Josh Goebel][]
- allow `keywords` to be an array of strings [Josh Goebel][]
- add `modes.MATCH_NOTHING_RE` that will never match
- This can be used with `end` to hold a mode open (it must then be ended with `endsParent` in one of it's children modes) [Josh Goebel][]
Deprecations:
- `initHighlighting()` and `initHighlightingOnLoad()` deprecated.
- Please use the new `highlightAll()` API instead.
- Deprecated as of 10.6.
- These will both be aliases to `highlightAll` in v11.
[Michael Newton]: https://togithub.com/miken32
[Steven Van Impe]: https://togithub.com/svanimpe/
[Josh Goebel]: https://togithub.com/joshgoebel
[Vaibhav Chanana]: https://togithub.com/il3ven
[davidhcefx]: https://togithub.com/davidhcefx
[Jan Pilzer]: https://togithub.com/Hirse
### [`v10.5.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1050)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.4.1...10.5.0)
Build:
- Add Subresource Integrity digest lists to `cdn-assets` [Josh Goebel][]
- R and VB.net grammars now ship in our default build (`:common`) [Josh Goebel][]
Parser:
- add `match` as sugar for simple `begin` only matches ([#2834](https://togithub.com/isagalaev/highlight.js/issues/2834)) [Josh Goebel][]
- allow `illegal` to also be an array of regex ([#2834](https://togithub.com/isagalaev/highlight.js/issues/2834)) [Josh Goebel][]
- add `compilerExtensions` allows grammers to influence mode compilation ([#2834](https://togithub.com/isagalaev/highlight.js/issues/2834)) [Josh Goebel][]
- some internal pieces are now simple compiler extensions
New Languages:
- Added 3rd party Red & Rebol grammar to SUPPORTED_LANGUAGES ([#2872](https://togithub.com/isagalaev/highlight.js/issues/2872)) [Oldes Huhuman][]
Language grammar improvements:
- enh: CSS grammars now share common foundation, keywords, etc. ([#2937](https://togithub.com/isagalaev/highlight.js/issues/2937)) [Josh Goebel][]
- enh(css): many consistency improvements
- enh(scss): many consistency improvements
- enh(stylus): many consistency improvements
- enh(less): many consistency improvements
- enh(cpp): Support C++ pack expansion in function arguments [Martin Dørum][]
- enh(makefile): Add `make` as an alias ([#2883](https://togithub.com/isagalaev/highlight.js/issues/2883)) [tripleee][]
- enh(swift) Improved grammar for strings ([#2819](https://togithub.com/isagalaev/highlight.js/issues/2819)) [Steven Van Impe][]
- enh(swift) Grammar improvements ([#2908](https://togithub.com/isagalaev/highlight.js/issues/2908)) [Steven Van Impe][]
- New grammar for keywords and built-ins
- Added support for operator highlighting
- New grammar for attributes
- Added support for quoted identifiers, implicit parameters, and property wrapper projections
- Support for more complex expressions in string interpolation
- enh(swift) Improved highlighting for types and generic arguments ([#2920](https://togithub.com/isagalaev/highlight.js/issues/2920)) [Steven Van Impe][]
- enh(swift) Improved highlighting for functions, initializers, and subscripts ([#2930](https://togithub.com/isagalaev/highlight.js/issues/2930)) [Steven Van Impe][]
- fix(http) avoid recursive sublanguage and tighten rules ([#2893](https://togithub.com/isagalaev/highlight.js/issues/2893)) [Josh Goebel][]
- fix(asciidoc): Handle section titles level 5 ([#2868](https://togithub.com/isagalaev/highlight.js/issues/2868)) [Vaibhav Chanana][]
- fix(asciidoc): Support unconstrained emphasis syntax ([#2869](https://togithub.com/isagalaev/highlight.js/issues/2869)) [Guillaume Grossetie][]
- enh(scheme) Allow `[]` for argument lists ([#2913](https://togithub.com/isagalaev/highlight.js/issues/2913)) [Josh Goebel][]
- enh(vb) Large rework of VB.net grammar ([#2808](https://togithub.com/isagalaev/highlight.js/issues/2808)) [Jan Pilzer][]
- Adds support for Date data types, see ([#2775](https://togithub.com/isagalaev/highlight.js/issues/2775))
- Adds support for `REM` comments and fixes `'''` doctags ([#2875](https://togithub.com/isagalaev/highlight.js/issues/2875)) ([#2851](https://togithub.com/isagalaev/highlight.js/issues/2851))
- Custom number mode to support VB.net specific number flags
- Hex (\&H), Oct (\&O), and binary (\&B) prefixes
- Separating digits with underscores: 90\_946
- Type suffixes: 123UI (unsigned integer)
- Improves directives detection and adds support for `Enable`, `Disable`, and `Then` keywords
- Adds more markup tests
- fix(javascript) Empty block-comments break highlighting ([#2896](https://togithub.com/isagalaev/highlight.js/issues/2896)) [Jan Pilzer][]
- enh(dart) Fix empty block-comments from breaking highlighting ([#2898](https://togithub.com/isagalaev/highlight.js/issues/2898)) [Jan Pilzer][]
- enh(dart) Fix empty doc-comment eating next line [Jan Pilzer][]
- enh(asciidoc) Adds support for unconstrained bold syntax ([#2869](https://togithub.com/isagalaev/highlight.js/issues/2869)) [Guillaume Grossetie][]
- enh(c-like) Incorrect highlighting for interger suffix ([#2919](https://togithub.com/isagalaev/highlight.js/issues/2919)) [Vaibhav Chanana][]
- enh(properties) Correctly handle trailing backslash ([#2922](https://togithub.com/isagalaev/highlight.js/issues/2922)) [Vaibhav Chanana][]
Recent Deprecations:
- HTML "merging" is deprecated. ([#2873](https://togithub.com/isagalaev/highlight.js/issues/2873)) [Josh Goebel][]
- HTML inside `
` blocks will no longer be magically merged back into the
highlighted code's HTML result - it will instead be silently removed.
- Consider [using a plugin][htmlPlugin] if you truly need this functionality
- Deprecated as of 10.5.0 - will be removed in v11.
- `tabReplace` option deprecated. ([#2873](https://togithub.com/isagalaev/highlight.js/issues/2873)) [Josh Goebel][]
- **Consider:** Use the CSS `tab-size` property, or simply pre-process the
text yourself before rendering the initial HTML
- otherwise, [use a plugin][tabPlugin]
- Deprecated as of 10.5.0 - will be removed in v11.
- `useBR` option deprecated. ([#2559](https://togithub.com/isagalaev/highlight.js/issues/2559)) [Josh Goebel][]
- **Recommended:** You really should just use the HTML `
` tag
- or perhaps try CSS `white-space: pre;`
- otherwise, [use a plugin][brPlugin]
- Deprecated as of 10.3.0 - will be removed in v11.
- `requireLanguage` API is deprecated, will be removed in v11.0.
- **Consider:** Use `getLanguage` (with custom error handling) or built-time dependencies.
- See [Library API](https://highlightjs.readthedocs.io/en/latest/api.html#requirelanguage-name) for more information.
- Deprecated as of 10.4.0 - will be removed in v11.
[htmlPlugin]: https://togithub.com/highlightjs/highlight.js/issues/2889
[tabPlugin]: https://togithub.com/highlightjs/highlight.js/issues/2874
[brPlugin]: https://togithub.com/highlightjs/highlight.js/issues/2559
[Martin Dørum]: https://togithub.com/mortie
[Jan Pilzer]: https://togithub.com/Hirse
[Oldes Huhuman]: https://togithub.com/Oldes
[Josh Goebel]: https://togithub.com/joshgoebel
[tripleee]: https://togithub.com/tripleee
[Steven Van Impe]: https://togithub.com/svanimpe/
[Vaibhav Chanana]: https://togithub.com/il3ven
[Guillaume Grossetie]: https://togithub.com/mogztter
### [`v10.4.1`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1041-tentative)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.4.0...10.4.1)
Security
- (fix) Exponential backtracking fixes for: [Josh Goebel][]
- cpp
- handlebars
- gams
- perl
- jboss-cli
- r
- erlang-repl
- powershell
- routeros
- (fix) Polynomial backtracking fixes for: [Josh Goebel][]
- asciidoc
- reasonml
- latex
- kotlin
- gcode
- d
- aspectj
- moonscript
- coffeescript/livescript
- csharp
- scilab
- crystal
- elixir
- basic
- ebnf
- ruby
- fortran/irpf90
- livecodeserver
- yaml
- x86asm
- dsconfig
- markdown
- ruleslanguage
- xquery
- sqf
Very grateful to [Michael Schmidt][] for all the help.
[Michael Schmidt]: https://togithub.com/RunDevelopment
[Josh Goebel]: https://togithub.com/joshgoebel
### [`v10.4.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1040)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.3.2...10.4.0)
A largish release with many improvements and fixes from quite a few different contributors. Enjoy!
Deprecations:
- (chore) `requireLanguage` is deprecated.
- Prefer `getLanguage` (with custom error handling) or built-time dependencies.
- See [Library API](https://highlightjs.readthedocs.io/en/latest/api.html#requirelanguage-name) for more information.
Parser:
- enh(parser) use negative look-ahead for `beginKeywords` support ([#2813](https://togithub.com/isagalaev/highlight.js/issues/2813)) [Josh Goebel][]
- enh(grammars) allow `classNameAliases` for more complex grammars [Josh Goebel][]
- fix(vue): Language name now appears in CSS class ([#2807](https://togithub.com/isagalaev/highlight.js/issues/2807)) [Michael Rush][]
- (chore) Clean up all regexs to be UTF-8 compliant/ready ([#2759](https://togithub.com/isagalaev/highlight.js/issues/2759)) [Josh Goebel][]
- enh(grammars) allow `classNameAliases` for more complex grammars [Josh Goebel][]
New Languages:
- Added 3rd party Chapel grammar to SUPPORTED_LANGUAGES ([#2806](https://togithub.com/isagalaev/highlight.js/issues/2806)) [Brad Chamberlain][]
- Added BBCode grammar to SUPPORTED_LANGUAGES ([#2867](https://togithub.com/isagalaev/highlight.js/issues/2867)) [Paul Reid][]
- enh(javascript) Added `node-repl` for Node.js REPL sessions ([#2792](https://togithub.com/isagalaev/highlight.js/issues/2792)) [Marat Nagayev][]
Language Improvements:
- enh(shell) Recognize prompts which contain tilde `~` ([#2859](https://togithub.com/isagalaev/highlight.js/issues/2859)) [Guillaume Grossetie][]
- enh(shell) Add support for multiline commands with line continuation `\` ([#2861](https://togithub.com/isagalaev/highlight.js/issues/2861)) [Guillaume Grossetie][]
- enh(autodetect) Over 30+ improvements to auto-detect ([#2745](https://togithub.com/isagalaev/highlight.js/issues/2745)) [Josh Goebel][]
- 4-5% improvement in auto-detect against large sample set
- properties, angelscript, lsl, javascript, n1ql, ocaml, ruby
- protobuf, hy, scheme, crystal, yaml, r, vbscript, groovy
- python, java, php, lisp, matlab, clojure, csharp, css
- fix(r) fixed keywords not properly spaced ([#2852](https://togithub.com/isagalaev/highlight.js/issues/2852)) [Josh Goebel][]
- fix(javascript) fix potential catastrophic backtracking ([#2852](https://togithub.com/isagalaev/highlight.js/issues/2852)) [Josh Goebel][]
- fix(livescript) fix potential catastrophic backtracking ([#2852](https://togithub.com/isagalaev/highlight.js/issues/2852)) [Josh Goebel][]
- bug(xml) XML grammar was far too imprecise/fuzzy [Josh Goebel][]
- enh(xml) Improve precision to prevent false auto-detect positives [Josh Goebel][]
- fix(js/ts) Prevent for/while/if/switch from falsly matching as functions ([#2803](https://togithub.com/isagalaev/highlight.js/issues/2803)) [Josh Goebel][]
- enh(julia) Update keyword lists for Julia 1.x ([#2781](https://togithub.com/isagalaev/highlight.js/issues/2781)) [Fredrik Ekre][]
- enh(python) Match numeric literals per the language reference [Richard Gibson][]
- enh(ruby) Match numeric literals per language documentation [Richard Gibson][]
- enh(javascript) Match numeric literals per ECMA-262 spec [Richard Gibson][]
- enh(java) Match numeric literals per Java Language Specification [Richard Gibson][]
- enh(swift) Match numeric literals per language reference [Richard Gibson][]
- enh(php) highlight variables ([#2785](https://togithub.com/isagalaev/highlight.js/issues/2785)) [Taufik Nurrohman][]
- fix(python) Handle comments on decorators ([#2804](https://togithub.com/isagalaev/highlight.js/issues/2804)) [Jonathan Sharpe][]
- enh(diff) improve highlighting of diff for git patches \[Florian Bezdeka]\[]
- fix(llvm) lots of small improvements and fixes ([#2830](https://togithub.com/isagalaev/highlight.js/issues/2830)) [Josh Goebel][]
- enh(mathematica) Rework entire implementation [Patrick Scheibe][]
- Correct matching of the many variations of Mathematica's numbers
- Matching of named-characters aka special symbols like `\[Gamma]`
- Updated list of version 12.1 built-in symbols
- Matching of patterns, slots, message-names and braces
- fix(swift) Handle keywords that start with `#` [Marcus Ortiz][]
- enh(swift) Match `some` keyword [Marcus Ortiz][]
- enh(swift) Match `@main` attribute [Marcus Ortiz][]
Dev Improvements:
- chore(dev) add theme picker to the tools/developer tool ([#2770](https://togithub.com/isagalaev/highlight.js/issues/2770)) [Josh Goebel][]
- fix(dev) the Vue.js plugin no longer throws an exception when hljs is not in the global namespace [Kyle Brown][]
New themes:
- *StackOverflow Dark* by [Jan Pilzer][]
- *StackOverflow Light* by [Jan Pilzer][]
[Guillaume Grossetie]: https://togithub.com/mogztter
[Brad Chamberlain]: https://togithub.com/bradcray
[Marat Nagayev]: https://togithub.com/nagayev
[Fredrik Ekre]: https://togithub.com/fredrikekre
[Richard Gibson]: https://togithub.com/gibson042
[Josh Goebel]: https://togithub.com/joshgoebel
[Taufik Nurrohman]: https://togithub.com/taufik-nurrohman
[Jan Pilzer]: https://togithub.com/Hirse
[Jonathan Sharpe]: https://togithub.com/textbook
[Michael Rush]: https://togithub.com/rushimusmaximus
[Patrick Scheibe]: https://togithub.com/halirutan
[Kyle Brown]: https://togithub.com/kylebrown9
[Marcus Ortiz]: https://togithub.com/mportiz08
[Paul Reid]: https://togithub.com/RedGuy12
### [`v10.3.2`](https://togithub.com/highlightjs/highlight.js/releases/tag/10.3.2)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.3.1...10.3.2)
Tiny tiny release, just to fix the website incorrectly not listing Javascript
in the list of languages you could choose for a custom build. NPM and CDN
build should not have been affected so 10.3.1 is effectively the same as
10.3.2 for those builds.
If you made a custom build from the website with 10.3 or 10.3.1 you may
want to check and make sure it includes Javascript, and if not, build it again.
### [`v10.3.1`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1031)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.3.0...10.3.1)
Prior version let some look-behind regex sneak in, which does not work
yet on Safari. This release removes those incompatible regexes.
Fix:
- fix(Safari) Remove currently unsupported look-behind regex ([fix][187e7cfc]) [Josh Goebel][]
[Josh Goebel]: https://togithub.com/joshgoebel
[187e7cfc]: https://togithub.com/highlightjs/highlight.js/commit/187e7cfcb06277ce13b5f35fb6c37ab7a7b46de9
### [`v10.3.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1030)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.2.1...10.3.0)
Language Improvements:
- enh(latex) Complete ground up rewrite of LaTex grammar [schtandard][]
- fix(cpp) implement backslash line continuation in comments ([#2757](https://togithub.com/isagalaev/highlight.js/issues/2757)) [Konrad Rudolph][]
- fix(cpp) improve parsing issues with templates ([#2752](https://togithub.com/isagalaev/highlight.js/issues/2752)) \[Josh Goebel]\[]
- enh(cpp) add support for `enum (struct|class)` and `union` ([#2752](https://togithub.com/isagalaev/highlight.js/issues/2752)) \[Josh Goebel]\[]
- fix(js/ts) Fix nesting of `{}` inside template literals SUBST expression ([#2748](https://togithub.com/isagalaev/highlight.js/issues/2748)) \[Josh Goebel]\[]
- enh(js/ts) Highlight class methods as functions ([#2727](https://togithub.com/isagalaev/highlight.js/issues/2727)) \[Josh Goebel]\[]
- fix(js/ts) `constructor` is now highlighted as a function title (not keyword) ([#2727](https://togithub.com/isagalaev/highlight.js/issues/2727)) \[Josh Goebel]\[]
- fix(c-like) preprocessor directives not detected after else ([#2738](https://togithub.com/isagalaev/highlight.js/issues/2738)) \[Josh Goebel]\[]
- enh(javascript) allow `#` for private class fields ([#2701](https://togithub.com/isagalaev/highlight.js/issues/2701)) [Chris Krycho][]
- fix(js) prevent runaway regex ([#2746](https://togithub.com/isagalaev/highlight.js/issues/2746)) \[Josh Goebel]\[]
- fix(bash) enh(bash) allow nested params ([#2731](https://togithub.com/isagalaev/highlight.js/issues/2731)) \[Josh Goebel]\[]
- fix(python) Fix highlighting of keywords and strings ([#2713](https://togithub.com/isagalaev/highlight.js/issues/2713), [#2715](https://togithub.com/isagalaev/highlight.js/issues/2715)) [Konrad Rudolph][]
- fix(fsharp) Prevent `(*)` from being detected as a multi-line comment \[Josh Goebel]\[]
- enh(bash) add support for heredocs ([#2684](https://togithub.com/isagalaev/highlight.js/issues/2684)) \[Josh Goebel]\[]
- enh(r) major overhaul of the R language grammar (and fix a few bugs) ([#2680](https://togithub.com/isagalaev/highlight.js/issues/2680)) [Konrad Rudolph][]
- enh(csharp) Add all C# 9 keywords, and other missing keywords ([#2679](https://togithub.com/isagalaev/highlight.js/issues/2679)) [David Pine][]
- enh(objectivec) Add `objective-c++` and `obj-c++` aliases for Objective-C \[Josh Goebel]\[]
- enh(java) Add support for `record` ([#2685](https://togithub.com/isagalaev/highlight.js/issues/2685)) \[Josh Goebel]\[]
- fix(csharp) prevent modifier keywords wrongly flagged as `title` ([#2683](https://togithub.com/isagalaev/highlight.js/issues/2683)) \[Josh Goebel]\[]
- enh(axapta) Update keyword list for Axapta (X++) ([#2686](https://togithub.com/isagalaev/highlight.js/issues/2686)) [Ryan Jonasson][]
- fix(fortran) FORTRAN 77-style comments ([#2677](https://togithub.com/isagalaev/highlight.js/issues/2677)) [Philipp Engel][]
- fix(javascript) Comments inside params should be highlighted ([#2702](https://togithub.com/isagalaev/highlight.js/issues/2702)) \[Josh Goebel]\[]
- fix(scala) Comments inside class header should be highlighted ([#1559](https://togithub.com/isagalaev/highlight.js/issues/1559)) \[Josh Goebel]\[]
- fix(c-like) Correctly highlight modifiers (`final`) in class declaration ([#2696](https://togithub.com/isagalaev/highlight.js/issues/2696)) \[Josh Goebel]\[]
- enh(angelscript) Improve heredocs, numbers, metadata blocks ([#2724](https://togithub.com/isagalaev/highlight.js/issues/2724)) [Melissa Geels][]
- enh(javascript) Implement Numeric Separators ([#2617](https://togithub.com/isagalaev/highlight.js/issues/2617)) [Antoine du Hamel][]
- enh(typescript) TypeScript also gains support for numeric separators ([#2617](https://togithub.com/isagalaev/highlight.js/issues/2617)) [Antoine du Hamel][]
- enh(php) Add support for PHP 8 `match` keyword and add `php8` as an alias ([#2733](https://togithub.com/isagalaev/highlight.js/issues/2733)) [Ayesh Karunaratne][]
- fix(handlebars) Support if else keyboards ([#2659](https://togithub.com/isagalaev/highlight.js/issues/2659)) [Tom Wallace][]
Deprecations:
- `useBR` option deprecated and will be removed in v11.0. ([#2559](https://togithub.com/isagalaev/highlight.js/issues/2559)) \[Josh Goebel]\[]
[Chris Krycho]: https://togithub.com/chriskrycho
[David Pine]: https://togithub.com/IEvangelist
[Ryan Jonasson]: https://togithub.com/ryanjonasson
[Philipp Engel]: https://togithub.com/interkosmos
[Konrad Rudolph]: https://togithub.com/klmr
[Melissa Geels]: https://togithub.com/codecat
[Antoine du Hamel]: https://togithub.com/aduh95
[Ayesh Karunaratne]: https://togithub.com/Ayesh
[Tom Wallace]: https://togithub.com/thomasmichaelwallace
[schtandard]: https://togithub.com/schtandard
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
10.2.1
->10.7.3
Release Notes
isagalaev/highlight.js
### [`v10.7.3`](https://togithub.com/highlightjs/highlight.js/releases/tag/10.7.3) [Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.7.2...10.7.3) - fix(parser) Resolves issue with missing TypeScript property [Jacob Swanner][] No other changes. [Jacob Swanner]: https://togithub.com/jswanner ### [`v10.7.2`](https://togithub.com/highlightjs/highlight.js/releases/tag/10.7.2) [Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.7.1...10.7.2) This is a patch release. The only change is that deprecation messages are throttled and shown only once. - (chore) throttle deprecation messages ([#3092](https://togithub.com/isagalaev/highlight.js/issues/3092)) [Mihkel Eidast][] [Mihkel Eidast]: https://togithub.com/mihkeleidast ### [`v10.7.1`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1071) [Compare Source](https://togithub.com/isagalaev/highlight.js/compare/10.7.0...10.7.1) - fix(parser) Resolves issues with TypeScript types [Josh Goebel][] ##### Version 10.7.0 Parser: - keywords now have a maximum # of times they provide relevance ([#3129](https://togithub.com/isagalaev/highlight.js/issues/3129)) [Josh Goebel][] - enh(api) add `unregisterLanguage` method ([#3009](https://togithub.com/isagalaev/highlight.js/issues/3009)) [Antoine du Hamel][] - enh: Make alias registration case insensitive ([#3026](https://togithub.com/isagalaev/highlight.js/issues/3026)) [David Ostrovsky][] - fix(parser) `highlightAll()` now works if the library is lazy loaded [Josh Goebel][] New Languages: - Added 3rd party RiScript grammar to SUPPORTED_LANGUAGES ([#2988](https://togithub.com/isagalaev/highlight.js/issues/2988)) \[John C]\[] - Added 3rd party HLSL grammar to SUPPORTED_LANGUAGES ([#3002](https://togithub.com/isagalaev/highlight.js/issues/3002)) [Stef Levesque][] - Added 3rd party Q# grammar to SUPPORTED_LANGUAGES([#3006](https://togithub.com/isagalaev/highlight.js/issues/3006)) [Vyron Vasileiadis][] Language grammar improvements: - enh(js/ts) class references (CamelCase) are highlighted ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][] - enh(js/ts) constants (ALL_CAPS) are highlighted ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][] - enh(js/ts) highlights function invokation ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][] - enh(js/ts) functions assigned to variables are now highlighted `title.function` ([#3169](https://togithub.com/isagalaev/highlight.js/issues/3169)) [Josh Goebel][] - enh(parser) smarter detection of comments ([#2827](https://togithub.com/isagalaev/highlight.js/issues/2827)) [Josh Goebel][] - fix(python) allow keywords immediately following numbers ([#2985](https://togithub.com/isagalaev/highlight.js/issues/2985)) [Josh Goebel][] - fix(xml) char immediately following tag close mis-highlighted ([#3044](https://togithub.com/isagalaev/highlight.js/issues/3044)) [Josh Goebel][] - fix(ruby) fix `defined?()` mis-highlighted as `def` ([#3025](https://togithub.com/isagalaev/highlight.js/issues/3025)) [Josh Goebel][] - fix(c) comments after `#includeConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.