prism-rails 1.5.0 → 1.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/prism-rails/version.rb +1 -1
- data/vendor/assets/javascripts/prism-abap.js +48 -0
- data/vendor/assets/javascripts/prism-actionscript.js +17 -0
- data/vendor/assets/javascripts/prism-apacheconf.js +47 -0
- data/vendor/assets/javascripts/prism-apl.js +29 -0
- data/vendor/assets/javascripts/prism-applescript.js +20 -0
- data/vendor/assets/javascripts/prism-asciidoc.js +271 -0
- data/vendor/assets/javascripts/prism-aspnet.js +36 -0
- data/vendor/assets/javascripts/prism-autohotkey.js +27 -0
- data/vendor/assets/javascripts/prism-autoit.js +33 -0
- data/vendor/assets/javascripts/prism-bash.js +80 -0
- data/vendor/assets/javascripts/prism-basic.js +14 -0
- data/vendor/assets/javascripts/prism-batch.js +99 -0
- data/vendor/assets/javascripts/prism-bison.js +39 -0
- data/vendor/assets/javascripts/prism-brainfuck.js +20 -0
- data/vendor/assets/javascripts/prism-bro.js +50 -0
- data/vendor/assets/javascripts/prism-c.js +33 -0
- data/vendor/assets/javascripts/prism-clike.js +29 -0
- data/vendor/assets/javascripts/prism-coffeescript.js +91 -0
- data/vendor/assets/javascripts/prism-cpp.js +12 -0
- data/vendor/assets/javascripts/prism-crystal.js +53 -0
- data/vendor/assets/javascripts/prism-csharp.js +32 -0
- data/vendor/assets/javascripts/prism-css-extras.js +15 -0
- data/vendor/assets/javascripts/prism-css.js +48 -0
- data/vendor/assets/javascripts/prism-d.js +64 -0
- data/vendor/assets/javascripts/prism-dart.js +18 -0
- data/vendor/assets/javascripts/prism-diff.js +20 -0
- data/vendor/assets/javascripts/prism-docker.js +9 -0
- data/vendor/assets/javascripts/prism-eiffel.js +24 -0
- data/vendor/assets/javascripts/prism-elixir.js +90 -0
- data/vendor/assets/javascripts/prism-erlang.js +41 -0
- data/vendor/assets/javascripts/prism-fortran.js +37 -0
- data/vendor/assets/javascripts/prism-fsharp.js +33 -0
- data/vendor/assets/javascripts/prism-gherkin.js +78 -0
- data/vendor/assets/javascripts/prism-git.js +68 -0
- data/vendor/assets/javascripts/prism-glsl.js +16 -0
- data/vendor/assets/javascripts/prism-go.js +9 -0
- data/vendor/assets/javascripts/prism-groovy.js +65 -0
- data/vendor/assets/javascripts/prism-haml.js +154 -0
- data/vendor/assets/javascripts/prism-handlebars.js +83 -0
- data/vendor/assets/javascripts/prism-haskell.js +35 -0
- data/vendor/assets/javascripts/prism-haxe.js +43 -0
- data/vendor/assets/javascripts/prism-http.js +50 -0
- data/vendor/assets/javascripts/prism-icon.js +17 -0
- data/vendor/assets/javascripts/prism-inform7.js +58 -0
- data/vendor/assets/javascripts/prism-ini.js +11 -0
- data/vendor/assets/javascripts/prism-j.js +22 -0
- data/vendor/assets/javascripts/prism-jade.js +198 -0
- data/vendor/assets/javascripts/prism-java.js +16 -0
- data/vendor/assets/javascripts/prism-javascript.js +47 -0
- data/vendor/assets/javascripts/prism-json.js +11 -0
- data/vendor/assets/javascripts/prism-jsx.js +27 -0
- data/vendor/assets/javascripts/prism-julia.js +12 -0
- data/vendor/assets/javascripts/prism-keyman.js +14 -0
- data/vendor/assets/javascripts/prism-kotlin.js +62 -0
- data/vendor/assets/javascripts/prism-latex.js +61 -0
- data/vendor/assets/javascripts/prism-less.js +60 -0
- data/vendor/assets/javascripts/prism-lolcode.js +54 -0
- data/vendor/assets/javascripts/prism-lua.js +20 -0
- data/vendor/assets/javascripts/prism-makefile.js +31 -0
- data/vendor/assets/javascripts/prism-markdown.js +120 -0
- data/vendor/assets/javascripts/prism-markup.js +46 -0
- data/vendor/assets/javascripts/prism-matlab.js +14 -0
- data/vendor/assets/javascripts/prism-mel.js +39 -0
- data/vendor/assets/javascripts/prism-mizar.js +12 -0
- data/vendor/assets/javascripts/prism-monkey.js +25 -0
- data/vendor/assets/javascripts/prism-nasm.js +24 -0
- data/vendor/assets/javascripts/prism-nginx.js +11 -0
- data/vendor/assets/javascripts/prism-nim.js +30 -0
- data/vendor/assets/javascripts/prism-nix.js +39 -0
- data/vendor/assets/javascripts/prism-normalize-whitespace.js +3 -1
- data/vendor/assets/javascripts/prism-nsis.js +19 -0
- data/vendor/assets/javascripts/prism-objectivec.js +5 -0
- data/vendor/assets/javascripts/prism-ocaml.js +21 -0
- data/vendor/assets/javascripts/prism-oz.js +21 -0
- data/vendor/assets/javascripts/prism-parigp.js +27 -0
- data/vendor/assets/javascripts/prism-parser.js +66 -0
- data/vendor/assets/javascripts/prism-pascal.js +50 -0
- data/vendor/assets/javascripts/prism-perl.js +140 -0
- data/vendor/assets/javascripts/prism-php-extras.js +11 -0
- data/vendor/assets/javascripts/prism-php.js +110 -0
- data/vendor/assets/javascripts/prism-powershell.js +52 -0
- data/vendor/assets/javascripts/prism-processing.js +18 -0
- data/vendor/assets/javascripts/prism-prolog.js +17 -0
- data/vendor/assets/javascripts/prism-protobuf.js +8 -0
- data/vendor/assets/javascripts/prism-puppet.js +131 -0
- data/vendor/assets/javascripts/prism-pure.js +77 -0
- data/vendor/assets/javascripts/prism-python.js +27 -0
- data/vendor/assets/javascripts/prism-q.js +44 -0
- data/vendor/assets/javascripts/prism-qore.js +17 -0
- data/vendor/assets/javascripts/prism-r.js +19 -0
- data/vendor/assets/javascripts/prism-rest.js +205 -0
- data/vendor/assets/javascripts/prism-rip.js +28 -0
- data/vendor/assets/javascripts/prism-roboconf.js +27 -0
- data/vendor/assets/javascripts/prism-ruby.js +110 -0
- data/vendor/assets/javascripts/prism-rust.js +53 -0
- data/vendor/assets/javascripts/prism-sas.js +31 -0
- data/vendor/assets/javascripts/prism-sass.js +73 -0
- data/vendor/assets/javascripts/prism-scala.js +18 -0
- data/vendor/assets/javascripts/prism-scheme.js +26 -0
- data/vendor/assets/javascripts/prism-scss.js +60 -0
- data/vendor/assets/javascripts/prism-smalltalk.js +31 -0
- data/vendor/assets/javascripts/prism-smarty.js +127 -0
- data/vendor/assets/javascripts/prism-sql.js +17 -0
- data/vendor/assets/javascripts/prism-stylus.js +102 -0
- data/vendor/assets/javascripts/prism-swift.js +25 -0
- data/vendor/assets/javascripts/prism-tcl.js +43 -0
- data/vendor/assets/javascripts/prism-textile.js +254 -0
- data/vendor/assets/javascripts/prism-twig.js +46 -0
- data/vendor/assets/javascripts/prism-typescript.js +3 -0
- data/vendor/assets/javascripts/prism-verilog.js +17 -0
- data/vendor/assets/javascripts/prism-vhdl.js +23 -0
- data/vendor/assets/javascripts/prism-vim.js +10 -0
- data/vendor/assets/javascripts/prism-wiki.js +81 -0
- data/vendor/assets/javascripts/prism-yaml.js +44 -0
- data/vendor/assets/javascripts/prism.js +37 -308
- data/vendor/assets/stylesheets/prism-vs.css +139 -0
- metadata +120 -163
- data/vendor/assets/javascripts/prism-abap.min.js +0 -1
- data/vendor/assets/javascripts/prism-actionscript.min.js +0 -1
- data/vendor/assets/javascripts/prism-apacheconf.min.js +0 -1
- data/vendor/assets/javascripts/prism-apl.min.js +0 -1
- data/vendor/assets/javascripts/prism-applescript.min.js +0 -1
- data/vendor/assets/javascripts/prism-asciidoc.min.js +0 -1
- data/vendor/assets/javascripts/prism-aspnet.min.js +0 -1
- data/vendor/assets/javascripts/prism-autohotkey.min.js +0 -1
- data/vendor/assets/javascripts/prism-autoit.min.js +0 -1
- data/vendor/assets/javascripts/prism-bash.min.js +0 -1
- data/vendor/assets/javascripts/prism-basic.min.js +0 -1
- data/vendor/assets/javascripts/prism-batch.min.js +0 -1
- data/vendor/assets/javascripts/prism-bison.min.js +0 -1
- data/vendor/assets/javascripts/prism-brainfuck.min.js +0 -1
- data/vendor/assets/javascripts/prism-bro.min.js +0 -1
- data/vendor/assets/javascripts/prism-c.min.js +0 -1
- data/vendor/assets/javascripts/prism-clike.min.js +0 -1
- data/vendor/assets/javascripts/prism-coffeescript.min.js +0 -1
- data/vendor/assets/javascripts/prism-core.min.js +0 -1
- data/vendor/assets/javascripts/prism-cpp.min.js +0 -1
- data/vendor/assets/javascripts/prism-crystal.min.js +0 -1
- data/vendor/assets/javascripts/prism-csharp.min.js +0 -1
- data/vendor/assets/javascripts/prism-css-extras.min.js +0 -1
- data/vendor/assets/javascripts/prism-css.min.js +0 -1
- data/vendor/assets/javascripts/prism-d.min.js +0 -1
- data/vendor/assets/javascripts/prism-dart.min.js +0 -1
- data/vendor/assets/javascripts/prism-diff.min.js +0 -1
- data/vendor/assets/javascripts/prism-docker.min.js +0 -1
- data/vendor/assets/javascripts/prism-eiffel.min.js +0 -1
- data/vendor/assets/javascripts/prism-elixir.min.js +0 -1
- data/vendor/assets/javascripts/prism-erlang.min.js +0 -1
- data/vendor/assets/javascripts/prism-fortran.min.js +0 -1
- data/vendor/assets/javascripts/prism-fsharp.min.js +0 -1
- data/vendor/assets/javascripts/prism-gherkin.min.js +0 -1
- data/vendor/assets/javascripts/prism-git.min.js +0 -1
- data/vendor/assets/javascripts/prism-glsl.min.js +0 -1
- data/vendor/assets/javascripts/prism-go.min.js +0 -1
- data/vendor/assets/javascripts/prism-groovy.min.js +0 -1
- data/vendor/assets/javascripts/prism-haml.min.js +0 -1
- data/vendor/assets/javascripts/prism-handlebars.min.js +0 -1
- data/vendor/assets/javascripts/prism-haskell.min.js +0 -1
- data/vendor/assets/javascripts/prism-haxe.min.js +0 -1
- data/vendor/assets/javascripts/prism-http.min.js +0 -1
- data/vendor/assets/javascripts/prism-icon.min.js +0 -1
- data/vendor/assets/javascripts/prism-inform7.min.js +0 -1
- data/vendor/assets/javascripts/prism-ini.min.js +0 -1
- data/vendor/assets/javascripts/prism-j.min.js +0 -1
- data/vendor/assets/javascripts/prism-jade.min.js +0 -1
- data/vendor/assets/javascripts/prism-java.min.js +0 -1
- data/vendor/assets/javascripts/prism-javascript.min.js +0 -1
- data/vendor/assets/javascripts/prism-json.min.js +0 -1
- data/vendor/assets/javascripts/prism-jsx.min.js +0 -1
- data/vendor/assets/javascripts/prism-julia.min.js +0 -1
- data/vendor/assets/javascripts/prism-keyman.min.js +0 -1
- data/vendor/assets/javascripts/prism-kotlin.min.js +0 -1
- data/vendor/assets/javascripts/prism-latex.min.js +0 -1
- data/vendor/assets/javascripts/prism-less.min.js +0 -1
- data/vendor/assets/javascripts/prism-lolcode.min.js +0 -1
- data/vendor/assets/javascripts/prism-lua.min.js +0 -1
- data/vendor/assets/javascripts/prism-makefile.min.js +0 -1
- data/vendor/assets/javascripts/prism-markdown.min.js +0 -1
- data/vendor/assets/javascripts/prism-markup.min.js +0 -1
- data/vendor/assets/javascripts/prism-matlab.min.js +0 -1
- data/vendor/assets/javascripts/prism-mel.min.js +0 -1
- data/vendor/assets/javascripts/prism-mizar.min.js +0 -1
- data/vendor/assets/javascripts/prism-monkey.min.js +0 -1
- data/vendor/assets/javascripts/prism-nasm.min.js +0 -1
- data/vendor/assets/javascripts/prism-nginx.min.js +0 -1
- data/vendor/assets/javascripts/prism-nim.min.js +0 -1
- data/vendor/assets/javascripts/prism-nix.min.js +0 -1
- data/vendor/assets/javascripts/prism-nsis.min.js +0 -1
- data/vendor/assets/javascripts/prism-objectivec.min.js +0 -1
- data/vendor/assets/javascripts/prism-ocaml.min.js +0 -1
- data/vendor/assets/javascripts/prism-oz.min.js +0 -1
- data/vendor/assets/javascripts/prism-parigp.min.js +0 -1
- data/vendor/assets/javascripts/prism-parser.min.js +0 -1
- data/vendor/assets/javascripts/prism-pascal.min.js +0 -1
- data/vendor/assets/javascripts/prism-perl.min.js +0 -1
- data/vendor/assets/javascripts/prism-php-extras.min.js +0 -1
- data/vendor/assets/javascripts/prism-php.min.js +0 -1
- data/vendor/assets/javascripts/prism-powershell.min.js +0 -1
- data/vendor/assets/javascripts/prism-processing.min.js +0 -1
- data/vendor/assets/javascripts/prism-prolog.min.js +0 -1
- data/vendor/assets/javascripts/prism-protobuf.min.js +0 -1
- data/vendor/assets/javascripts/prism-puppet.min.js +0 -1
- data/vendor/assets/javascripts/prism-pure.min.js +0 -1
- data/vendor/assets/javascripts/prism-python.min.js +0 -1
- data/vendor/assets/javascripts/prism-q.min.js +0 -1
- data/vendor/assets/javascripts/prism-qore.min.js +0 -1
- data/vendor/assets/javascripts/prism-r.min.js +0 -1
- data/vendor/assets/javascripts/prism-rest.min.js +0 -1
- data/vendor/assets/javascripts/prism-rip.min.js +0 -1
- data/vendor/assets/javascripts/prism-roboconf.min.js +0 -1
- data/vendor/assets/javascripts/prism-ruby.min.js +0 -1
- data/vendor/assets/javascripts/prism-rust.min.js +0 -1
- data/vendor/assets/javascripts/prism-sas.min.js +0 -1
- data/vendor/assets/javascripts/prism-sass.min.js +0 -1
- data/vendor/assets/javascripts/prism-scala.min.js +0 -1
- data/vendor/assets/javascripts/prism-scheme.min.js +0 -1
- data/vendor/assets/javascripts/prism-scss.min.js +0 -1
- data/vendor/assets/javascripts/prism-smalltalk.min.js +0 -1
- data/vendor/assets/javascripts/prism-smarty.min.js +0 -1
- data/vendor/assets/javascripts/prism-sql.min.js +0 -1
- data/vendor/assets/javascripts/prism-stylus.min.js +0 -1
- data/vendor/assets/javascripts/prism-swift.min.js +0 -1
- data/vendor/assets/javascripts/prism-tcl.min.js +0 -1
- data/vendor/assets/javascripts/prism-textile.min.js +0 -1
- data/vendor/assets/javascripts/prism-twig.min.js +0 -1
- data/vendor/assets/javascripts/prism-typescript.min.js +0 -1
- data/vendor/assets/javascripts/prism-verilog.min.js +0 -1
- data/vendor/assets/javascripts/prism-vhdl.min.js +0 -1
- data/vendor/assets/javascripts/prism-vim.min.js +0 -1
- data/vendor/assets/javascripts/prism-wiki.min.js +0 -1
- data/vendor/assets/javascripts/prism-yaml.min.js +0 -1
@@ -0,0 +1,140 @@
|
|
1
|
+
Prism.languages.perl = {
|
2
|
+
'comment': [
|
3
|
+
{
|
4
|
+
// POD
|
5
|
+
pattern: /(^\s*)=\w+[\s\S]*?=cut.*/m,
|
6
|
+
lookbehind: true
|
7
|
+
},
|
8
|
+
{
|
9
|
+
pattern: /(^|[^\\$])#.*/,
|
10
|
+
lookbehind: true
|
11
|
+
}
|
12
|
+
],
|
13
|
+
// TODO Could be nice to handle Heredoc too.
|
14
|
+
'string': [
|
15
|
+
// q/.../
|
16
|
+
/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,
|
17
|
+
|
18
|
+
// q a...a
|
19
|
+
/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(?:[^\\]|\\[\s\S])*?\1/,
|
20
|
+
|
21
|
+
// q(...)
|
22
|
+
/\b(?:q|qq|qx|qw)\s*\((?:[^()\\]|\\[\s\S])*\)/,
|
23
|
+
|
24
|
+
// q{...}
|
25
|
+
/\b(?:q|qq|qx|qw)\s*\{(?:[^{}\\]|\\[\s\S])*\}/,
|
26
|
+
|
27
|
+
// q[...]
|
28
|
+
/\b(?:q|qq|qx|qw)\s*\[(?:[^[\]\\]|\\[\s\S])*\]/,
|
29
|
+
|
30
|
+
// q<...>
|
31
|
+
/\b(?:q|qq|qx|qw)\s*<(?:[^<>\\]|\\[\s\S])*>/,
|
32
|
+
|
33
|
+
// "...", `...`
|
34
|
+
/("|`)(?:[^\\]|\\[\s\S])*?\1/,
|
35
|
+
|
36
|
+
// '...'
|
37
|
+
// FIXME Multi-line single-quoted strings are not supported as they would break variables containing '
|
38
|
+
/'(?:[^'\\\r\n]|\\.)*'/
|
39
|
+
],
|
40
|
+
'regex': [
|
41
|
+
// m/.../
|
42
|
+
/\b(?:m|qr)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[msixpodualngc]*/,
|
43
|
+
|
44
|
+
// m a...a
|
45
|
+
/\b(?:m|qr)\s+([a-zA-Z0-9])(?:[^\\]|\\.)*?\1[msixpodualngc]*/,
|
46
|
+
|
47
|
+
// m(...)
|
48
|
+
/\b(?:m|qr)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngc]*/,
|
49
|
+
|
50
|
+
// m{...}
|
51
|
+
/\b(?:m|qr)\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngc]*/,
|
52
|
+
|
53
|
+
// m[...]
|
54
|
+
/\b(?:m|qr)\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngc]*/,
|
55
|
+
|
56
|
+
// m<...>
|
57
|
+
/\b(?:m|qr)\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngc]*/,
|
58
|
+
|
59
|
+
// The lookbehinds prevent -s from breaking
|
60
|
+
// FIXME We don't handle change of separator like s(...)[...]
|
61
|
+
// s/.../.../
|
62
|
+
{
|
63
|
+
pattern: /(^|[^-]\b)(?:s|tr|y)\s*([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\2(?:[^\\]|\\[\s\S])*?\2[msixpodualngcer]*/,
|
64
|
+
lookbehind: true
|
65
|
+
},
|
66
|
+
|
67
|
+
// s a...a...a
|
68
|
+
{
|
69
|
+
pattern: /(^|[^-]\b)(?:s|tr|y)\s+([a-zA-Z0-9])(?:[^\\]|\\[\s\S])*?\2(?:[^\\]|\\[\s\S])*?\2[msixpodualngcer]*/,
|
70
|
+
lookbehind: true
|
71
|
+
},
|
72
|
+
|
73
|
+
// s(...)(...)
|
74
|
+
{
|
75
|
+
pattern: /(^|[^-]\b)(?:s|tr|y)\s*\((?:[^()\\]|\\[\s\S])*\)\s*\((?:[^()\\]|\\[\s\S])*\)[msixpodualngcer]*/,
|
76
|
+
lookbehind: true
|
77
|
+
},
|
78
|
+
|
79
|
+
// s{...}{...}
|
80
|
+
{
|
81
|
+
pattern: /(^|[^-]\b)(?:s|tr|y)\s*\{(?:[^{}\\]|\\[\s\S])*\}\s*\{(?:[^{}\\]|\\[\s\S])*\}[msixpodualngcer]*/,
|
82
|
+
lookbehind: true
|
83
|
+
},
|
84
|
+
|
85
|
+
// s[...][...]
|
86
|
+
{
|
87
|
+
pattern: /(^|[^-]\b)(?:s|tr|y)\s*\[(?:[^[\]\\]|\\[\s\S])*\]\s*\[(?:[^[\]\\]|\\[\s\S])*\][msixpodualngcer]*/,
|
88
|
+
lookbehind: true
|
89
|
+
},
|
90
|
+
|
91
|
+
// s<...><...>
|
92
|
+
{
|
93
|
+
pattern: /(^|[^-]\b)(?:s|tr|y)\s*<(?:[^<>\\]|\\[\s\S])*>\s*<(?:[^<>\\]|\\[\s\S])*>[msixpodualngcer]*/,
|
94
|
+
lookbehind: true
|
95
|
+
},
|
96
|
+
|
97
|
+
// /.../
|
98
|
+
// The look-ahead tries to prevent two divisions on
|
99
|
+
// the same line from being highlighted as regex.
|
100
|
+
// This does not support multi-line regex.
|
101
|
+
/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/
|
102
|
+
],
|
103
|
+
|
104
|
+
// FIXME Not sure about the handling of ::, ', and #
|
105
|
+
'variable': [
|
106
|
+
// ${^POSTMATCH}
|
107
|
+
/[&*$@%]\{\^[A-Z]+\}/,
|
108
|
+
// $^V
|
109
|
+
/[&*$@%]\^[A-Z_]/,
|
110
|
+
// ${...}
|
111
|
+
/[&*$@%]#?(?=\{)/,
|
112
|
+
// $foo
|
113
|
+
/[&*$@%]#?((::)*'?(?!\d)[\w$]+)+(::)*/i,
|
114
|
+
// $1
|
115
|
+
/[&*$@%]\d+/,
|
116
|
+
// $_, @_, %!
|
117
|
+
// The negative lookahead prevents from breaking the %= operator
|
118
|
+
/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/
|
119
|
+
],
|
120
|
+
'filehandle': {
|
121
|
+
// <>, <FOO>, _
|
122
|
+
pattern: /<(?![<=])\S*>|\b_\b/,
|
123
|
+
alias: 'symbol'
|
124
|
+
},
|
125
|
+
'vstring': {
|
126
|
+
// v1.2, 1.2.3
|
127
|
+
pattern: /v\d+(\.\d+)*|\d+(\.\d+){2,}/,
|
128
|
+
alias: 'string'
|
129
|
+
},
|
130
|
+
'function': {
|
131
|
+
pattern: /sub [a-z0-9_]+/i,
|
132
|
+
inside: {
|
133
|
+
keyword: /sub/
|
134
|
+
}
|
135
|
+
},
|
136
|
+
'keyword': /\b(any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/,
|
137
|
+
'number': /\b-?(0x[\dA-Fa-f](_?[\dA-Fa-f])*|0b[01](_?[01])*|(\d(_?\d)*)?\.?\d(_?\d)*([Ee][+-]?\d+)?)\b/,
|
138
|
+
'operator': /-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor)\b/,
|
139
|
+
'punctuation': /[{}[\];(),:]/
|
140
|
+
};
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Prism.languages.insertBefore('php', 'variable', {
|
2
|
+
'this': /\$this\b/,
|
3
|
+
'global': /\$(?:_(?:SERVER|GET|POST|FILES|REQUEST|SESSION|ENV|COOKIE)|GLOBALS|HTTP_RAW_POST_DATA|argc|argv|php_errormsg|http_response_header)/,
|
4
|
+
'scope': {
|
5
|
+
pattern: /\b[\w\\]+::/,
|
6
|
+
inside: {
|
7
|
+
keyword: /(static|self|parent)/,
|
8
|
+
punctuation: /(::|\\)/
|
9
|
+
}
|
10
|
+
}
|
11
|
+
});
|
@@ -0,0 +1,110 @@
|
|
1
|
+
/**
|
2
|
+
* Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/
|
3
|
+
* Modified by Miles Johnson: http://milesj.me
|
4
|
+
*
|
5
|
+
* Supports the following:
|
6
|
+
* - Extends clike syntax
|
7
|
+
* - Support for PHP 5.3+ (namespaces, traits, generators, etc)
|
8
|
+
* - Smarter constant and function matching
|
9
|
+
*
|
10
|
+
* Adds the following new token classes:
|
11
|
+
* constant, delimiter, variable, function, package
|
12
|
+
*/
|
13
|
+
|
14
|
+
Prism.languages.php = Prism.languages.extend('clike', {
|
15
|
+
'keyword': /\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,
|
16
|
+
'constant': /\b[A-Z0-9_]{2,}\b/,
|
17
|
+
'comment': {
|
18
|
+
pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,
|
19
|
+
lookbehind: true
|
20
|
+
}
|
21
|
+
});
|
22
|
+
|
23
|
+
// Shell-like comments are matched after strings, because they are less
|
24
|
+
// common than strings containing hashes...
|
25
|
+
Prism.languages.insertBefore('php', 'class-name', {
|
26
|
+
'shell-comment': {
|
27
|
+
pattern: /(^|[^\\])#.*/,
|
28
|
+
lookbehind: true,
|
29
|
+
alias: 'comment'
|
30
|
+
}
|
31
|
+
});
|
32
|
+
|
33
|
+
Prism.languages.insertBefore('php', 'keyword', {
|
34
|
+
'delimiter': /\?>|<\?(?:php)?/i,
|
35
|
+
'variable': /\$\w+\b/i,
|
36
|
+
'package': {
|
37
|
+
pattern: /(\\|namespace\s+|use\s+)[\w\\]+/,
|
38
|
+
lookbehind: true,
|
39
|
+
inside: {
|
40
|
+
punctuation: /\\/
|
41
|
+
}
|
42
|
+
}
|
43
|
+
});
|
44
|
+
|
45
|
+
// Must be defined after the function pattern
|
46
|
+
Prism.languages.insertBefore('php', 'operator', {
|
47
|
+
'property': {
|
48
|
+
pattern: /(->)[\w]+/,
|
49
|
+
lookbehind: true
|
50
|
+
}
|
51
|
+
});
|
52
|
+
|
53
|
+
// Add HTML support of the markup language exists
|
54
|
+
if (Prism.languages.markup) {
|
55
|
+
|
56
|
+
// Tokenize all inline PHP blocks that are wrapped in <?php ?>
|
57
|
+
// This allows for easy PHP + markup highlighting
|
58
|
+
Prism.hooks.add('before-highlight', function(env) {
|
59
|
+
if (env.language !== 'php') {
|
60
|
+
return;
|
61
|
+
}
|
62
|
+
|
63
|
+
env.tokenStack = [];
|
64
|
+
|
65
|
+
env.backupCode = env.code;
|
66
|
+
env.code = env.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/ig, function(match) {
|
67
|
+
env.tokenStack.push(match);
|
68
|
+
|
69
|
+
return '{{{PHP' + env.tokenStack.length + '}}}';
|
70
|
+
});
|
71
|
+
});
|
72
|
+
|
73
|
+
// Restore env.code for other plugins (e.g. line-numbers)
|
74
|
+
Prism.hooks.add('before-insert', function(env) {
|
75
|
+
if (env.language === 'php') {
|
76
|
+
env.code = env.backupCode;
|
77
|
+
delete env.backupCode;
|
78
|
+
}
|
79
|
+
});
|
80
|
+
|
81
|
+
// Re-insert the tokens after highlighting
|
82
|
+
Prism.hooks.add('after-highlight', function(env) {
|
83
|
+
if (env.language !== 'php') {
|
84
|
+
return;
|
85
|
+
}
|
86
|
+
|
87
|
+
for (var i = 0, t; t = env.tokenStack[i]; i++) {
|
88
|
+
// The replace prevents $$, $&, $`, $', $n, $nn from being interpreted as special patterns
|
89
|
+
env.highlightedCode = env.highlightedCode.replace('{{{PHP' + (i + 1) + '}}}', Prism.highlight(t, env.grammar, 'php').replace(/\$/g, '$$$$'));
|
90
|
+
}
|
91
|
+
|
92
|
+
env.element.innerHTML = env.highlightedCode;
|
93
|
+
});
|
94
|
+
|
95
|
+
// Wrap tokens in classes that are missing them
|
96
|
+
Prism.hooks.add('wrap', function(env) {
|
97
|
+
if (env.language === 'php' && env.type === 'markup') {
|
98
|
+
env.content = env.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g, "<span class=\"token php\">$1</span>");
|
99
|
+
}
|
100
|
+
});
|
101
|
+
|
102
|
+
// Add the rules before all others
|
103
|
+
Prism.languages.insertBefore('php', 'comment', {
|
104
|
+
'markup': {
|
105
|
+
pattern: /<[^?]\/?(.*?)>/,
|
106
|
+
inside: Prism.languages.markup
|
107
|
+
},
|
108
|
+
'php': /\{\{\{PHP[0-9]+\}\}\}/
|
109
|
+
});
|
110
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
Prism.languages.powershell = {
|
2
|
+
'comment': [
|
3
|
+
{
|
4
|
+
pattern: /(^|[^`])<#[\w\W]*?#>/,
|
5
|
+
lookbehind: true
|
6
|
+
},
|
7
|
+
{
|
8
|
+
pattern: /(^|[^`])#.+/,
|
9
|
+
lookbehind: true
|
10
|
+
}
|
11
|
+
],
|
12
|
+
'string': [
|
13
|
+
{
|
14
|
+
pattern: /"(`?[\w\W])*?"/,
|
15
|
+
greedy: true,
|
16
|
+
inside: {
|
17
|
+
'function': {
|
18
|
+
pattern: /[^`]\$\(.*?\)/,
|
19
|
+
// Populated at end of file
|
20
|
+
inside: {}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
},
|
24
|
+
{
|
25
|
+
pattern: /'([^']|'')*'/,
|
26
|
+
greedy: true
|
27
|
+
}
|
28
|
+
],
|
29
|
+
// Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices
|
30
|
+
'namespace': /\[[a-z][\w\W]*?\]/i,
|
31
|
+
'boolean': /\$(true|false)\b/i,
|
32
|
+
'variable': /\$\w+\b/i,
|
33
|
+
// Cmdlets and aliases. Aliases should come last, otherwise "write" gets preferred over "write-host" for example
|
34
|
+
// Get-Command | ?{ $_.ModuleName -match "Microsoft.PowerShell.(Util|Core|Management)" }
|
35
|
+
// Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match "Microsoft.PowerShell.(Util|Core|Management)" }
|
36
|
+
'function': [
|
37
|
+
/\b(Add-(Computer|Content|History|Member|PSSnapin|Type)|Checkpoint-Computer|Clear-(Content|EventLog|History|Item|ItemProperty|Variable)|Compare-Object|Complete-Transaction|Connect-PSSession|ConvertFrom-(Csv|Json|StringData)|Convert-Path|ConvertTo-(Csv|Html|Json|Xml)|Copy-(Item|ItemProperty)|Debug-Process|Disable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Disconnect-PSSession|Enable-(ComputerRestore|PSBreakpoint|PSRemoting|PSSessionConfiguration)|Enter-PSSession|Exit-PSSession|Export-(Alias|Clixml|Console|Csv|FormatData|ModuleMember|PSSession)|ForEach-Object|Format-(Custom|List|Table|Wide)|Get-(Alias|ChildItem|Command|ComputerRestorePoint|Content|ControlPanelItem|Culture|Date|Event|EventLog|EventSubscriber|FormatData|Help|History|Host|HotFix|Item|ItemProperty|Job|Location|Member|Module|Process|PSBreakpoint|PSCallStack|PSDrive|PSProvider|PSSession|PSSessionConfiguration|PSSnapin|Random|Service|TraceSource|Transaction|TypeData|UICulture|Unique|Variable|WmiObject)|Group-Object|Import-(Alias|Clixml|Csv|LocalizedData|Module|PSSession)|Invoke-(Command|Expression|History|Item|RestMethod|WebRequest|WmiMethod)|Join-Path|Limit-EventLog|Measure-(Command|Object)|Move-(Item|ItemProperty)|New-(Alias|Event|EventLog|Item|ItemProperty|Module|ModuleManifest|Object|PSDrive|PSSession|PSSessionConfigurationFile|PSSessionOption|PSTransportOption|Service|TimeSpan|Variable|WebServiceProxy)|Out-(Default|File|GridView|Host|Null|Printer|String)|Pop-Location|Push-Location|Read-Host|Receive-(Job|PSSession)|Register-(EngineEvent|ObjectEvent|PSSessionConfiguration|WmiEvent)|Remove-(Computer|Event|EventLog|Item|ItemProperty|Job|Module|PSBreakpoint|PSDrive|PSSession|PSSnapin|TypeData|Variable|WmiObject)|Rename-(Computer|Item|ItemProperty)|Reset-ComputerMachinePassword|Resolve-Path|Restart-(Computer|Service)|Restore-Computer|Resume-(Job|Service)|Save-Help|Select-(Object|String|Xml)|Send-MailMessage|Set-(Alias|Content|Date|Item|ItemProperty|Location|PSBreakpoint|PSDebug|PSSessionConfiguration|Service|StrictMode|TraceSource|Variable|WmiInstance)|Show-(Command|ControlPanelItem|EventLog)|Sort-Object|Split-Path|Start-(Job|Process|Service|Sleep|Transaction)|Stop-(Computer|Job|Process|Service)|Suspend-(Job|Service)|Tee-Object|Test-(ComputerSecureChannel|Connection|ModuleManifest|Path|PSSessionConfigurationFile)|Trace-Command|Unblock-File|Undo-Transaction|Unregister-(Event|PSSessionConfiguration)|Update-(FormatData|Help|List|TypeData)|Use-Transaction|Wait-(Event|Job|Process)|Where-Object|Write-(Debug|Error|EventLog|Host|Output|Progress|Verbose|Warning))\b/i,
|
38
|
+
/\b(ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i
|
39
|
+
],
|
40
|
+
// per http://technet.microsoft.com/en-us/library/hh847744.aspx
|
41
|
+
'keyword': /\b(Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,
|
42
|
+
'operator': {
|
43
|
+
pattern: /(\W?)(!|-(eq|ne|gt|ge|lt|le|sh[lr]|not|b?(and|x?or)|(Not)?(Like|Match|Contains|In)|Replace|Join|is(Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,
|
44
|
+
lookbehind: true
|
45
|
+
},
|
46
|
+
'punctuation': /[|{}[\];(),.]/
|
47
|
+
};
|
48
|
+
|
49
|
+
// Variable interpolation inside strings, and nested expressions
|
50
|
+
Prism.languages.powershell.string[0].inside.boolean = Prism.languages.powershell.boolean;
|
51
|
+
Prism.languages.powershell.string[0].inside.variable = Prism.languages.powershell.variable;
|
52
|
+
Prism.languages.powershell.string[0].inside.function.inside = Prism.util.clone(Prism.languages.powershell);
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Prism.languages.processing = Prism.languages.extend('clike', {
|
2
|
+
'keyword': /\b(?:break|catch|case|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\b/,
|
3
|
+
'operator': /<[<=]?|>[>=]?|&&?|\|\|?|[%?]|[!=+\-*\/]=?/
|
4
|
+
});
|
5
|
+
Prism.languages.insertBefore('processing', 'number', {
|
6
|
+
// Special case: XML is a type
|
7
|
+
'constant': /\b(?!XML\b)[A-Z][A-Z\d_]+\b/,
|
8
|
+
'type': {
|
9
|
+
pattern: /\b(?:boolean|byte|char|color|double|float|int|XML|[A-Z][A-Za-z\d_]*)\b/,
|
10
|
+
alias: 'variable'
|
11
|
+
}
|
12
|
+
});
|
13
|
+
|
14
|
+
// Spaces are allowed between function name and parenthesis
|
15
|
+
Prism.languages.processing['function'].pattern = /[a-z0-9_]+(?=\s*\()/i;
|
16
|
+
|
17
|
+
// Class-names is not styled by default
|
18
|
+
Prism.languages.processing['class-name'].alias = 'variable';
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Prism.languages.prolog = {
|
2
|
+
// Syntax depends on the implementation
|
3
|
+
'comment': [
|
4
|
+
/%.+/,
|
5
|
+
/\/\*[\s\S]*?\*\//
|
6
|
+
],
|
7
|
+
// Depending on the implementation, strings may allow escaped newlines and quote-escape
|
8
|
+
'string': /(["'])(?:\1\1|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
|
9
|
+
'builtin': /\b(?:fx|fy|xf[xy]?|yfx?)\b/,
|
10
|
+
'variable': /\b[A-Z_]\w*/,
|
11
|
+
// FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?
|
12
|
+
'function': /\b[a-z]\w*(?:(?=\()|\/\d+)/,
|
13
|
+
'number': /\b\d+\.?\d*/,
|
14
|
+
// Custom operators are allowed
|
15
|
+
'operator': /[:\\=><\-?*@\/;+^|!$.]+|\b(?:is|mod|not|xor)\b/,
|
16
|
+
'punctuation': /[(){}\[\],]/
|
17
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Prism.languages.protobuf = Prism.languages.extend('clike', {
|
2
|
+
keyword: /\b(package|import|message|enum)\b/,
|
3
|
+
builtin: /\b(required|repeated|optional|reserved)\b/,
|
4
|
+
primitive: {
|
5
|
+
pattern: /\b(double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes)\b/,
|
6
|
+
alias: 'symbol'
|
7
|
+
}
|
8
|
+
});
|
@@ -0,0 +1,131 @@
|
|
1
|
+
(function (Prism) {
|
2
|
+
Prism.languages.puppet = {
|
3
|
+
'heredoc': [
|
4
|
+
// Matches the content of a quoted heredoc string (subject to interpolation)
|
5
|
+
{
|
6
|
+
pattern: /(@\("([^"\r\n\/):]+)"(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/,
|
7
|
+
lookbehind: true,
|
8
|
+
alias: 'string',
|
9
|
+
inside: {
|
10
|
+
// Matches the end tag
|
11
|
+
'punctuation': /(?=\S).*\S(?= *$)/
|
12
|
+
// See interpolation below
|
13
|
+
}
|
14
|
+
},
|
15
|
+
// Matches the content of an unquoted heredoc string (no interpolation)
|
16
|
+
{
|
17
|
+
pattern: /(@\(([^"\r\n\/):]+)(?:\/[nrts$uL]*)?\).*(?:\r?\n|\r))(?:.*(?:\r?\n|\r))*?[ \t]*\|?[ \t]*-?[ \t]*\2/,
|
18
|
+
lookbehind: true,
|
19
|
+
alias: 'string',
|
20
|
+
inside: {
|
21
|
+
// Matches the end tag
|
22
|
+
'punctuation': /(?=\S).*\S(?= *$)/
|
23
|
+
}
|
24
|
+
},
|
25
|
+
// Matches the start tag of heredoc strings
|
26
|
+
{
|
27
|
+
pattern: /@\("?(?:[^"\r\n\/):]+)"?(?:\/[nrts$uL]*)?\)/,
|
28
|
+
alias: 'string',
|
29
|
+
inside: {
|
30
|
+
'punctuation': {
|
31
|
+
pattern: /(\().+?(?=\))/,
|
32
|
+
lookbehind: true
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
],
|
37
|
+
'multiline-comment': {
|
38
|
+
pattern: /(^|[^\\])\/\*[\s\S]*?\*\//,
|
39
|
+
lookbehind: true,
|
40
|
+
alias: 'comment'
|
41
|
+
},
|
42
|
+
'regex': {
|
43
|
+
// Must be prefixed with the keyword "node" or a non-word char
|
44
|
+
pattern: /((?:\bnode\s+|[^\s\w\\]\s*))\/(?:[^\/\\]|\\[\s\S])+\/(?:[imx]+\b|\B)/,
|
45
|
+
lookbehind: true,
|
46
|
+
inside: {
|
47
|
+
// Extended regexes must have the x flag. They can contain single-line comments.
|
48
|
+
'extended-regex': {
|
49
|
+
pattern: /^\/(?:[^\/\\]|\\[\s\S])+\/[im]*x[im]*$/,
|
50
|
+
inside: {
|
51
|
+
'comment': /#.*/
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
},
|
56
|
+
'comment': {
|
57
|
+
pattern: /(^|[^\\])#.*/,
|
58
|
+
lookbehind: true
|
59
|
+
},
|
60
|
+
'string': {
|
61
|
+
// Allow for one nested level of double quotes inside interpolation
|
62
|
+
pattern: /(["'])(?:\$\{(?:[^'"}]|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}|(?!\1)[^\\]|\\[\s\S])*\1/,
|
63
|
+
inside: {
|
64
|
+
'double-quoted': {
|
65
|
+
pattern: /^"[\s\S]*"$/,
|
66
|
+
inside: {
|
67
|
+
// See interpolation below
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
71
|
+
},
|
72
|
+
'variable': {
|
73
|
+
pattern: /\$(?:::)?\w+(?:::\w+)*/,
|
74
|
+
inside: {
|
75
|
+
'punctuation': /::/
|
76
|
+
}
|
77
|
+
},
|
78
|
+
'attr-name': /(?:\w+|\*)(?=\s*=>)/,
|
79
|
+
'function': [
|
80
|
+
{
|
81
|
+
pattern: /(\.)(?!\d)\w+/,
|
82
|
+
lookbehind: true
|
83
|
+
},
|
84
|
+
/\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\b|\b(?!\d)\w+(?=\()/
|
85
|
+
],
|
86
|
+
'number': /\b(?:0x[a-f\d]+|\d+(?:\.\d+)?(?:e-?\d+)?)\b/i,
|
87
|
+
'boolean': /\b(?:true|false)\b/,
|
88
|
+
// Includes words reserved for future use
|
89
|
+
'keyword': /\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\b/,
|
90
|
+
'datatype': {
|
91
|
+
pattern: /\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\b/,
|
92
|
+
alias: 'symbol'
|
93
|
+
},
|
94
|
+
'operator': /=[=~>]?|![=~]?|<(?:<\|?|[=~|-])?|>[>=]?|->?|~>|\|>?>?|[*\/%+?]|\b(?:and|in|or)\b/,
|
95
|
+
'punctuation': /[\[\]{}().,;]|:+/
|
96
|
+
};
|
97
|
+
|
98
|
+
var interpolation = [
|
99
|
+
{
|
100
|
+
// Allow for one nested level of braces inside interpolation
|
101
|
+
pattern: /(^|[^\\])\$\{(?:[^'"{}]|\{[^}]*\}|(["'])(?:(?!\2)[^\\]|\\[\s\S])*\2)+\}/,
|
102
|
+
lookbehind: true,
|
103
|
+
inside: {
|
104
|
+
'short-variable': {
|
105
|
+
// Negative look-ahead prevent wrong highlighting of functions
|
106
|
+
pattern: /(^\$\{)(?!\w+\()(?:::)?\w+(?:::\w+)*/,
|
107
|
+
lookbehind: true,
|
108
|
+
alias: 'variable',
|
109
|
+
inside: {
|
110
|
+
'punctuation': /::/
|
111
|
+
}
|
112
|
+
},
|
113
|
+
'delimiter': {
|
114
|
+
pattern: /^\$/,
|
115
|
+
alias: 'variable'
|
116
|
+
},
|
117
|
+
rest: Prism.util.clone(Prism.languages.puppet)
|
118
|
+
}
|
119
|
+
},
|
120
|
+
{
|
121
|
+
pattern: /(^|[^\\])\$(?:::)?\w+(?:::\w+)*/,
|
122
|
+
lookbehind: true,
|
123
|
+
alias: 'variable',
|
124
|
+
inside: {
|
125
|
+
'punctuation': /::/
|
126
|
+
}
|
127
|
+
}
|
128
|
+
];
|
129
|
+
Prism.languages.puppet['heredoc'][0].inside.interpolation = interpolation;
|
130
|
+
Prism.languages.puppet['string'].inside['double-quoted'].inside.interpolation = interpolation;
|
131
|
+
}(Prism));
|