From 0c7be7bcda855d2fbeef51a65e8eb74d0062d05a Mon Sep 17 00:00:00 2001 From: Ralf Biedert Date: Tue, 27 Nov 2018 20:30:37 +0100 Subject: [PATCH 1/2] Added Rust keywords `dyn`, `Self`, `union`. --- components/prism-rust.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/prism-rust.js b/components/prism-rust.js index 1a520c004e..3027fae0f6 100644 --- a/components/prism-rust.js +++ b/components/prism-rust.js @@ -34,7 +34,7 @@ Prism.languages.rust = { pattern: /'[^\s>']+/, alias: 'symbol' }, - 'keyword': /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/, + 'keyword': /\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/, 'attribute': { pattern: /#!?\[.+?\]/, From 233bc2c168489b31ec00bd234192f59ecd072bb8 Mon Sep 17 00:00:00 2001 From: Ralf Biedert Date: Tue, 27 Nov 2018 21:10:26 +0100 Subject: [PATCH 2/2] Minified Rust and added keyword tests. --- components/prism-rust.min.js | 2 +- tests/languages/rust/keyword_feature.test | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/components/prism-rust.min.js b/components/prism-rust.min.js index 62538942c6..c096ab5080 100644 --- a/components/prism-rust.min.js +++ b/components/prism-rust.min.js @@ -1 +1 @@ -Prism.languages.rust={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:[{pattern:/b?r(#*)"(?:\\.|(?!"\1)[^\\\r\n])*"\1/,greedy:!0},{pattern:/b?"(?:\\.|[^\\\r\n"])*"/,greedy:!0}],"char":{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/,alias:"string"},"lifetime-annotation":{pattern:/'[^\s>']+/,alias:"symbol"},keyword:/\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|struct|super|true|trait|type|typeof|unsafe|unsized|use|virtual|where|while|yield)\b/,attribute:{pattern:/#!?\[.+?\]/,greedy:!0,alias:"attr-name"},"function":[/\w+(?=\s*\()/,/\w+!(?=\s*\(|\[)/],"macro-rules":{pattern:/\w+!/,alias:"function"},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/,"closure-params":{pattern:/\|[^|]*\|(?=\s*[{-])/,inside:{punctuation:/[|:,]/,operator:/[&*]/}},punctuation:/[{}[\];(),:]|\.+|->/,operator:/[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<>?=?/}; \ No newline at end of file +Prism.languages.rust={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:[{pattern:/b?r(#*)"(?:\\.|(?!"\1)[^\\\r\n])*"\1/,greedy:!0},{pattern:/b?"(?:\\.|[^\\\r\n"])*"/,greedy:!0}],"char":{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u{(?:[\da-fA-F]_*){1,6}|.)|[^\\\r\n\t'])'/,alias:"string"},"lifetime-annotation":{pattern:/'[^\s>']+/,alias:"symbol"},keyword:/\b(?:abstract|alignof|as|be|box|break|const|continue|crate|do|dyn|else|enum|extern|false|final|fn|for|if|impl|in|let|loop|match|mod|move|mut|offsetof|once|override|priv|pub|pure|ref|return|sizeof|static|self|Self|struct|super|true|trait|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,attribute:{pattern:/#!?\[.+?\]/,greedy:!0,alias:"attr-name"},"function":[/\w+(?=\s*\()/,/\w+!(?=\s*\(|\[)/],"macro-rules":{pattern:/\w+!/,alias:"function"},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(\d(?:_?\d)*)?\.?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64)?|f32|f64))?\b/,"closure-params":{pattern:/\|[^|]*\|(?=\s*[{-])/,inside:{punctuation:/[|:,]/,operator:/[&*]/}},punctuation:/[{}[\];(),:]|\.+|->/,operator:/[-+*\/%!^]=?|=[=>]?|@|&[&=]?|\|[|=]?|<>?=?/}; \ No newline at end of file diff --git a/tests/languages/rust/keyword_feature.test b/tests/languages/rust/keyword_feature.test index 06da8844d2..d7071ec95b 100644 --- a/tests/languages/rust/keyword_feature.test +++ b/tests/languages/rust/keyword_feature.test @@ -1,6 +1,6 @@ abstract alignof as be box break const -continue crate do +continue crate do dyn else enum extern false final fn for if impl in let loop @@ -8,9 +8,9 @@ match mod move mut offsetof once override priv pub pure ref return sizeof static -self struct super +self Self struct super true trait type typeof -unsafe unsized use +union unsafe unsized use virtual where while yield @@ -19,7 +19,7 @@ yield [ ["keyword", "abstract"], ["keyword", "alignof"], ["keyword", "as"], ["keyword", "be"], ["keyword", "box"], ["keyword", "break"], ["keyword", "const"], - ["keyword", "continue"], ["keyword", "crate"], ["keyword", "do"], + ["keyword", "continue"], ["keyword", "crate"], ["keyword", "do"], ["keyword", "dyn"], ["keyword", "else"], ["keyword", "enum"], ["keyword", "extern"], ["keyword", "false"], ["keyword", "final"], ["keyword", "fn"], ["keyword", "for"], ["keyword", "if"], ["keyword", "impl"], ["keyword", "in"], ["keyword", "let"], ["keyword", "loop"], @@ -27,9 +27,9 @@ yield ["keyword", "offsetof"], ["keyword", "once"], ["keyword", "override"], ["keyword", "priv"], ["keyword", "pub"], ["keyword", "pure"], ["keyword", "ref"], ["keyword", "return"], ["keyword", "sizeof"], ["keyword", "static"], - ["keyword", "self"], ["keyword", "struct"], ["keyword", "super"], + ["keyword", "self"], ["keyword", "Self"], ["keyword", "struct"], ["keyword", "super"], ["keyword", "true"], ["keyword", "trait"], ["keyword", "type"], ["keyword", "typeof"], - ["keyword", "unsafe"], ["keyword", "unsized"], ["keyword", "use"], + ["keyword", "union"], ["keyword", "unsafe"], ["keyword", "unsized"], ["keyword", "use"], ["keyword", "virtual"], ["keyword", "where"], ["keyword", "while"], ["keyword", "yield"] ]