Commit 7410377118a82fdfdbd36f82ae9fc63851e26ad6

Marc Durdin 2015-06-27T21:52:20

Added Keyman language (http://help.keyman.com/developer)

diff --git a/components.js b/components.js
index a700572..997960c 100644
--- a/components.js
+++ b/components.js
@@ -185,6 +185,10 @@ var components = {
 			"title": "Julia",
 			"owner": "cdagnino"
 		},
+		"keyman": {
+			"title": "Keyman",
+			"owner": "mcdurdin"
+		},
 		"latex": {
 			"title": "LaTeX",
 			"owner": "japborst"
diff --git a/components/prism-keyman.js b/components/prism-keyman.js
new file mode 100644
index 0000000..1a0c975
--- /dev/null
+++ b/components/prism-keyman.js
@@ -0,0 +1,14 @@
+Prism.languages.keyman = {
+	'comment': /\b[cC]\s.*?(\r?\n|$)/,
+	'function': /\[\s*((CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT)\s+)*(([T|K|U]_[a-z0-9_]+)|(".+")|('.+'))\s*\]/i,  // virtual key
+	'string': /("|')((?!\1).)*\1/,
+	'keyword': /\b(any|beep|call|context|deadkey|dk|if|index|notany|nul|outs|return|reset|save|set|store|use)\b/i,  // rule keywords
+	'atrule': /\b(ansi|begin|unicode|group|(using keys))\b/i,   // structural keywords
+	'bold': [   // header statements
+		/\&(baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embdjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i,
+		/\b(bitmap|bitmaps|(caps on only)|(caps always off)|(shift frees caps)|copyright|hotkey|language|layout|message|name|version)\b/i
+	],
+	'number': /\b(([uU]\+[\dA-Fa-f]+)|([dD]\d+)|([xX][\dA-Fa-f]+)|([0-7]+))\b/, // U+####, x###, d### characters and numbers
+	'operator': /[+>\\,\(\)]/,
+	'tag': /\$(keyman|kmfl|silkey|keymanweb|keymanonly):/i   // prefixes
+};
\ No newline at end of file