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: /#!?\[.+?\]/, 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"] ]