From 9da38327325f375fe22619ecb10b12df36acf4d9 Mon Sep 17 00:00:00 2001 From: Caijinglong Date: Sat, 2 May 2020 16:30:12 +0800 Subject: [PATCH 1/4] Update for dart keyword. Add some keyword. The document of [dart keyword in website](https://dart.dev/guides/language/language-tour#keywords). --- components/prism-dart.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/prism-dart.js b/components/prism-dart.js index 9b2b2e0924..82eddf402b 100644 --- a/components/prism-dart.js +++ b/components/prism-dart.js @@ -11,7 +11,7 @@ Prism.languages.dart = Prism.languages.extend('clike', { ], 'keyword': [ /\b(?:async|sync|yield)\*/, - /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/ + /\b(?:abstract|as|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|false|final|finally|for|Function|get|hide|if|implements|import|in|interface|is|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|true|try|typedef|var|void|while|with|yield)\b/ ], 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ }); @@ -21,4 +21,4 @@ Prism.languages.insertBefore('dart','function',{ pattern: /@\w+/, alias: 'symbol' } -}); \ No newline at end of file +}); From 609363d7e64adbac77e0d8241a4d71b2d2f98c8d Mon Sep 17 00:00:00 2001 From: Caijinglong Date: Sat, 2 May 2020 16:36:18 +0800 Subject: [PATCH 2/4] Update prism-dart.min.js --- components/prism-dart.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/prism-dart.min.js b/components/prism-dart.min.js index e0383869a5..0695816672 100644 --- a/components/prism-dart.min.js +++ b/components/prism-dart.min.js @@ -1 +1 @@ -Prism.languages.dart=Prism.languages.extend("clike",{string:[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:!0},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|default|deferred|do|dynamic|else|enum|export|external|extends|factory|final|finally|for|get|if|implements|import|in|library|new|null|operator|part|rethrow|return|set|static|super|switch|this|throw|try|typedef|var|void|while|with|yield)\b/],operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}}); \ No newline at end of file +Prism.languages.dart=Prism.languages.extend("clike",{"string":[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:true},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true}],"keyword":[/\b(?:async|sync|yield)\*/,/\b(?:abstract|as|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|false|final|finally|for|Function|get|hide|if|implements|import|in|interface|is|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|true|try|typedef|var|void|while|with|yield)\b/],"operator":/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/});Prism.languages.insertBefore("dart","function",{"metadata":{pattern:/@\w+/,alias:"symbol"}}); From 4d5d0f70686bc61214dc2431e58d0ba9b33770c7 Mon Sep 17 00:00:00 2001 From: Caijinglong Date: Wed, 6 May 2020 09:53:45 +0800 Subject: [PATCH 3/4] Update dart keyword. --- components/prism-dart.js | 2 +- components/prism-dart.min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/prism-dart.js b/components/prism-dart.js index 82eddf402b..db63aa2714 100644 --- a/components/prism-dart.js +++ b/components/prism-dart.js @@ -11,7 +11,7 @@ Prism.languages.dart = Prism.languages.extend('clike', { ], 'keyword': [ /\b(?:async|sync|yield)\*/, - /\b(?:abstract|as|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|false|final|finally|for|Function|get|hide|if|implements|import|in|interface|is|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|true|try|typedef|var|void|while|with|yield)\b/ + /\b(?:abstract|as|assert|await|case|class|const|covariant|default|deferred|dynamic|enum|export|extends|extension|external|factory|final|Function|get|hide|implements|import|interface|is|library|mixin|on|operator|part|rethrow|set|show|static|super|switch|this|typedef|var|void|with|)\b/ ], 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ }); diff --git a/components/prism-dart.min.js b/components/prism-dart.min.js index 0695816672..c6bbb31ef2 100644 --- a/components/prism-dart.min.js +++ b/components/prism-dart.min.js @@ -1 +1 @@ -Prism.languages.dart=Prism.languages.extend("clike",{"string":[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:true},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:true}],"keyword":[/\b(?:async|sync|yield)\*/,/\b(?:abstract|as|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|false|final|finally|for|Function|get|hide|if|implements|import|in|interface|is|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|true|try|typedef|var|void|while|with|yield)\b/],"operator":/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/});Prism.languages.insertBefore("dart","function",{"metadata":{pattern:/@\w+/,alias:"symbol"}}); +Prism.languages.dart=Prism.languages.extend("clike",{string:[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:!0},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:[/\b(?:async|sync|yield)\*/,/\b(?:abstract|as|assert|await|case|class|const|covariant|default|deferred|dynamic|enum|export|extends|extension|external|factory|final|Function|get|hide|implements|import|interface|is|library|mixin|on|operator|part|rethrow|set|show|static|super|switch|this|typedef|var|void|with|)\b/],operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}}); \ No newline at end of file From 3afb168e0891cbc72ca146469da484d9aedb2969 Mon Sep 17 00:00:00 2001 From: Caijinglong Date: Wed, 6 May 2020 11:28:54 +0800 Subject: [PATCH 4/4] Update keyword and test case for dart. --- components/prism-dart.js | 2 +- components/prism-dart.min.js | 2 +- tests/languages/dart/keyword_feature.test | 31 +++++++++++++---------- 3 files changed, 20 insertions(+), 15 deletions(-) diff --git a/components/prism-dart.js b/components/prism-dart.js index db63aa2714..cd4230a40d 100644 --- a/components/prism-dart.js +++ b/components/prism-dart.js @@ -11,7 +11,7 @@ Prism.languages.dart = Prism.languages.extend('clike', { ], 'keyword': [ /\b(?:async|sync|yield)\*/, - /\b(?:abstract|as|assert|await|case|class|const|covariant|default|deferred|dynamic|enum|export|extends|extension|external|factory|final|Function|get|hide|implements|import|interface|is|library|mixin|on|operator|part|rethrow|set|show|static|super|switch|this|typedef|var|void|with|)\b/ + /\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/ ], 'operator': /\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/ }); diff --git a/components/prism-dart.min.js b/components/prism-dart.min.js index c6bbb31ef2..1a6bfbd71f 100644 --- a/components/prism-dart.min.js +++ b/components/prism-dart.min.js @@ -1 +1 @@ -Prism.languages.dart=Prism.languages.extend("clike",{string:[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:!0},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:[/\b(?:async|sync|yield)\*/,/\b(?:abstract|as|assert|await|case|class|const|covariant|default|deferred|dynamic|enum|export|extends|extension|external|factory|final|Function|get|hide|implements|import|interface|is|library|mixin|on|operator|part|rethrow|set|show|static|super|switch|this|typedef|var|void|with|)\b/],operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}}); \ No newline at end of file +Prism.languages.dart=Prism.languages.extend("clike",{string:[{pattern:/r?("""|''')[\s\S]*?\1/,greedy:!0},{pattern:/r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0}],keyword:[/\b(?:async|sync|yield)\*/,/\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extension|external|extends|factory|final|finally|for|Function|get|hide|if|implements|interface|import|in|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\b/],operator:/\bis!|\b(?:as|is)\b|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/}),Prism.languages.insertBefore("dart","function",{metadata:{pattern:/@\w+/,alias:"symbol"}}); \ No newline at end of file diff --git a/tests/languages/dart/keyword_feature.test b/tests/languages/dart/keyword_feature.test index a5e3c6c2da..bc78ce3e11 100644 --- a/tests/languages/dart/keyword_feature.test +++ b/tests/languages/dart/keyword_feature.test @@ -3,19 +3,22 @@ abstract assert async await break case catch class; const -continue default deferred +continue covariant default deferred do dynamic else enum -export external +export extension external extends; -factory final finally for -get if +factory final finally for Function +get hide if implements; +interface; import -in library +in +library +mixin new; null -operator part rethrow return -set static super switch this +on operator part rethrow return +set show static super switch sync this throw try typedef var void while with yield @@ -27,19 +30,21 @@ void while with yield ["keyword", "break"], ["keyword", "case"], ["keyword", "catch"], ["keyword", "class"], ["punctuation", ";"], ["keyword", "const"], - ["keyword", "continue"], ["keyword", "default"], ["keyword", "deferred"], + ["keyword", "continue"], ["keyword", "covariant"], ["keyword", "default"], ["keyword", "deferred"], ["keyword", "do"], ["keyword", "dynamic"], ["keyword", "else"], ["keyword", "enum"], - ["keyword", "export"], ["keyword", "external"], + ["keyword", "export"], ["keyword", "extension"], ["keyword", "external"], ["keyword", "extends"], ["punctuation", ";"], - ["keyword", "factory"], ["keyword", "final"], ["keyword", "finally"], ["keyword", "for"], - ["keyword", "get"], ["keyword", "if"], + ["keyword", "factory"], ["keyword", "final"], ["keyword", "finally"], ["keyword", "for"], ["keyword", "Function"], + ["keyword", "get"], ["keyword", "hide"], ["keyword", "if"], ["keyword", "implements"], ["punctuation", ";"], + ["keyword", "interface"], ["punctuation", ";"], ["keyword", "import"], ["keyword", "in"], ["keyword", "library"], + ["keyword", "mixin"], ["keyword", "new"], ["punctuation", ";"], ["keyword", "null"], - ["keyword", "operator"], ["keyword", "part"], ["keyword", "rethrow"], ["keyword", "return"], - ["keyword", "set"], ["keyword", "static"], ["keyword", "super"], ["keyword", "switch"], ["keyword", "this"], + ["keyword", "on"], ["keyword", "operator"], ["keyword", "part"], ["keyword", "rethrow"], ["keyword", "return"], + ["keyword", "set"], ["keyword", "show"], ["keyword", "static"], ["keyword", "super"], ["keyword", "switch"], ["keyword", "sync"], ["keyword", "this"], ["keyword", "throw"], ["keyword", "try"], ["keyword", "typedef"], ["keyword", "var"], ["keyword", "void"], ["keyword", "while"], ["keyword", "with"], ["keyword", "yield"] ]