diff --git a/CHANGES.md b/CHANGES.md index 9ea48d5cc2..8e956b3597 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,7 @@ Grammars: +- fix(rust) highlight types immediately preceeding `::` (#3540) [Josh Goebel][] - Added 3rd party Apex grammar to SUPPORTED_LANGUAGES (#3546) [David Schach][] - fix(rust) recognize `include_bytes!` macro (#3541) [Serial-ATA][] - fix(java) do not intepret `==` as a variable declaration [Mousetail][] diff --git a/src/languages/rust.js b/src/languages/rust.js index 4e65b578dd..3f43aeb478 100644 --- a/src/languages/rust.js +++ b/src/languages/rust.js @@ -288,7 +288,8 @@ export default function(hljs) { begin: hljs.IDENT_RE + '::', keywords: { keyword: "Self", - built_in: BUILTINS + built_in: BUILTINS, + type: TYPES } }, { diff --git a/test/markup/rust/types.expect.txt b/test/markup/rust/types.expect.txt index a84825dff2..185c8f1d92 100644 --- a/test/markup/rust/types.expect.txt +++ b/test/markup/rust/types.expect.txt @@ -2,3 +2,6 @@ type A; type A = B; type R<T> = m::R<T, ConcreteError> + +let vec: Vec<isize> = Vec::new(); +if 100 > i32::MAX {} diff --git a/test/markup/rust/types.txt b/test/markup/rust/types.txt index b8644e4983..c8c5c3749a 100644 --- a/test/markup/rust/types.txt +++ b/test/markup/rust/types.txt @@ -2,3 +2,6 @@ type A: Trait; type A; type A = B; type R = m::R + +let vec: Vec = Vec::new(); +if 100 > i32::MAX {}