Commit d879f36690fc750f2f4ab6c2b2868c3d647f34b7

Golmote 2017-10-22T14:29:15

Dart: Regexp optimisation

diff --git a/components/prism-dart.js b/components/prism-dart.js
index b3d232a..9b2b2e0 100644
--- a/components/prism-dart.js
+++ b/components/prism-dart.js
@@ -5,7 +5,7 @@ Prism.languages.dart = Prism.languages.extend('clike', {
 			greedy: true
 		},
 		{
-			pattern: /r?("|')(\\?.)*?\1/,
+			pattern: /r?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
 			greedy: true
 		}
 	],
diff --git a/components/prism-dart.min.js b/components/prism-dart.min.js
index 9781bb4..e038386 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/,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|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