UNPKG

1.28 kBJavaScriptView Raw
1Prism.languages.keyman = {
2 'comment': {
3 pattern: /\bc .*/i,
4 greedy: true
5 },
6 'string': {
7 pattern: /"[^"\r\n]*"|'[^'\r\n]*'/,
8 greedy: true
9 },
10 'virtual-key': {
11 pattern: /\[\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\s+)*(?:[TKU]_[\w?]+|[A-E]\d\d?|"[^"\r\n]*"|'[^'\r\n]*')\s*\]/i,
12 greedy: true,
13 alias: 'function' // alias for styles
14 },
15
16 // https://help.keyman.com/developer/language/guide/headers
17 'header-keyword': {
18 pattern: /&\w+/,
19 alias: 'bold' // alias for styles
20 },
21 'header-statement': {
22 pattern: /\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\b/i,
23 alias: 'bold' // alias for styles
24 },
25
26 'rule-keyword': {
27 pattern: /\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\b/i,
28 alias: 'keyword'
29 },
30 'structural-keyword': {
31 pattern: /\b(?:ansi|begin|group|match|nomatch|unicode|using keys)\b/i,
32 alias: 'keyword'
33 },
34
35 'compile-target': {
36 pattern: /\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,
37 alias: 'property'
38 },
39
40 // U+####, x###, d### characters and numbers
41 'number': /\b(?:U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,
42 'operator': /[+>\\$]|\.\./,
43 'punctuation': /[()=,]/
44};