Merge pull request #432 from Golmote/prism-actionscript Add ActionScript 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 50 51
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