Commit dee0e7936421d5e885b4cd499d2aa86949aa8495

Golmote 2014-12-20T11:48:24

Add Dart language

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