Commit 9dd841ef65fcd76335dea819c93a8afd9c37e308

Golmote 2015-01-07T00:31:42

Merge pull request #432 from Golmote/prism-actionscript Add ActionScript language

diff --git a/components.js b/components.js
index 1612878..679e832 100644
--- a/components.js
+++ b/components.js
@@ -272,6 +272,11 @@ var components = {
 		"smarty": {
 			"title": "Smarty",
 			"owner": "Golmote"
+		},
+		"actionscript": {
+			"title": "ActionScript",
+			"require": "javascript",
+			"owner": "Golmote"
 		}
 	},
 	"plugins": {
diff --git a/components/prism-actionscript.js b/components/prism-actionscript.js
new file mode 100644
index 0000000..66b3f72
--- /dev/null
+++ b/components/prism-actionscript.js
@@ -0,0 +1,20 @@
+/* TODO
+	Fix XML highlighting
+ */
+
+Prism.languages.actionscript = Prism.languages.extend('javascript',  {
+	'keyword': /\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,
+	'operator': /(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=)=?|[=~?@]/
+});
+Prism.languages.actionscript['class-name'].alias = 'function';
+
+if (Prism.languages.markup) {
+	Prism.languages.insertBefore('actionscript', 'operator', {
+		'xml': {
+			pattern: /(^|[^.])<[\s\S]*>(?=\s*($|[\r\n,.;\]})<]))/,
+			inside: {
+				rest: Prism.languages.markup
+			}
+		}
+	});
+}
\ No newline at end of file
diff --git a/components/prism-actionscript.min.js b/components/prism-actionscript.min.js
new file mode 100644
index 0000000..cbe958c
--- /dev/null
+++ b/components/prism-actionscript.min.js
@@ -0,0 +1 @@
+Prism.languages.actionscript=Prism.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,operator:/(?:[+\-*\/%^]|&&?|\|\|?|<<?|>>?>?|[!=]=)=?|[=~?@]/}),Prism.languages.actionscript["class-name"].alias="function",Prism.languages.markup&&Prism.languages.insertBefore("actionscript","operator",{xml:{pattern:/(^|[^.])<[\s\S]*>(?=\s*($|[\r\n,.;\]})<]))/,inside:{rest:Prism.languages.markup}}});
\ No newline at end of file