Add Dart language
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
diff --git a/components.js b/components.js
index 7bae569..e560b42 100644
--- a/components.js
+++ b/components.js
@@ -206,6 +206,11 @@ var components = {
"handlebars": {
"title": "Handlebars",
"owner": "Golmote"
+ },
+ "dart": {
+ "title": "Dart",
+ "require": "clike",
+ "owner": "Golmote"
}
},
"plugins": {
diff --git a/components/prism-dart.js b/components/prism-dart.js
new file mode 100644
index 0000000..5a6e68a
--- /dev/null
+++ b/components/prism-dart.js
@@ -0,0 +1,18 @@
+Prism.languages.dart = Prism.languages.extend('clike', {
+ 'string': [
+ /r?("""|''')[\s\S]*?\1/,
+ /r?("|')(\\?.)*?\1/
+ ],
+ '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
diff --git a/components/prism-dart.min.js b/components/prism-dart.min.js
new file mode 100644
index 0000000..78dda7f
--- /dev/null
+++ b/components/prism-dart.min.js
@@ -0,0 +1 @@
+Prism.languages.dart=Prism.languages.extend("clike",{string:[/r?("""|''')[\s\S]*?\1/,/r?("|')(\\?.)*?\1/],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