Dart: Added missing keywords (#2355)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
diff --git a/components/prism-dart.js b/components/prism-dart.js
index 9b2b2e0..cd4230a 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|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|\+\+|--|&&|\|\||<<=?|>>=?|~(?:\/=?)?|[+\-*\/%&^|=!<>]=?|\?/
});
@@ -21,4 +21,4 @@ Prism.languages.insertBefore('dart','function',{
pattern: /@\w+/,
alias: 'symbol'
}
-});
\ No newline at end of file
+});
diff --git a/components/prism-dart.min.js b/components/prism-dart.min.js
index e038386..1a6bfbd 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:!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 a5e3c6c..bc78ce3 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"]
]