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.
Files changed (233) hide show
  1. checksums.yaml +4 -4
  2. data/lib/prism-rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/prism-abap.js +48 -0
  4. data/vendor/assets/javascripts/prism-actionscript.js +17 -0
  5. data/vendor/assets/javascripts/prism-apacheconf.js +47 -0
  6. data/vendor/assets/javascripts/prism-apl.js +29 -0
  7. data/vendor/assets/javascripts/prism-applescript.js +20 -0
  8. data/vendor/assets/javascripts/prism-asciidoc.js +271 -0
  9. data/vendor/assets/javascripts/prism-aspnet.js +36 -0
  10. data/vendor/assets/javascripts/prism-autohotkey.js +27 -0
  11. data/vendor/assets/javascripts/prism-autoit.js +33 -0
  12. data/vendor/assets/javascripts/prism-bash.js +80 -0
  13. data/vendor/assets/javascripts/prism-basic.js +14 -0
  14. data/vendor/assets/javascripts/prism-batch.js +99 -0
  15. data/vendor/assets/javascripts/prism-bison.js +39 -0
  16. data/vendor/assets/javascripts/prism-brainfuck.js +20 -0
  17. data/vendor/assets/javascripts/prism-bro.js +50 -0
  18. data/vendor/assets/javascripts/prism-c.js +33 -0
  19. data/vendor/assets/javascripts/prism-clike.js +29 -0
  20. data/vendor/assets/javascripts/prism-coffeescript.js +91 -0
  21. data/vendor/assets/javascripts/prism-cpp.js +12 -0
  22. data/vendor/assets/javascripts/prism-crystal.js +53 -0
  23. data/vendor/assets/javascripts/prism-csharp.js +32 -0
  24. data/vendor/assets/javascripts/prism-css-extras.js +15 -0
  25. data/vendor/assets/javascripts/prism-css.js +48 -0
  26. data/vendor/assets/javascripts/prism-d.js +64 -0
  27. data/vendor/assets/javascripts/prism-dart.js +18 -0
  28. data/vendor/assets/javascripts/prism-diff.js +20 -0
  29. data/vendor/assets/javascripts/prism-docker.js +9 -0
  30. data/vendor/assets/javascripts/prism-eiffel.js +24 -0
  31. data/vendor/assets/javascripts/prism-elixir.js +90 -0
  32. data/vendor/assets/javascripts/prism-erlang.js +41 -0
  33. data/vendor/assets/javascripts/prism-fortran.js +37 -0
  34. data/vendor/assets/javascripts/prism-fsharp.js +33 -0
  35. data/vendor/assets/javascripts/prism-gherkin.js +78 -0
  36. data/vendor/assets/javascripts/prism-git.js +68 -0
  37. data/vendor/assets/javascripts/prism-glsl.js +16 -0
  38. data/vendor/assets/javascripts/prism-go.js +9 -0
  39. data/vendor/assets/javascripts/prism-groovy.js +65 -0
  40. data/vendor/assets/javascripts/prism-haml.js +154 -0
  41. data/vendor/assets/javascripts/prism-handlebars.js +83 -0
  42. data/vendor/assets/javascripts/prism-haskell.js +35 -0
  43. data/vendor/assets/javascripts/prism-haxe.js +43 -0
  44. data/vendor/assets/javascripts/prism-http.js +50 -0
  45. data/vendor/assets/javascripts/prism-icon.js +17 -0
  46. data/vendor/assets/javascripts/prism-inform7.js +58 -0
  47. data/vendor/assets/javascripts/prism-ini.js +11 -0
  48. data/vendor/assets/javascripts/prism-j.js +22 -0
  49. data/vendor/assets/javascripts/prism-jade.js +198 -0
  50. data/vendor/assets/javascripts/prism-java.js +16 -0
  51. data/vendor/assets/javascripts/prism-javascript.js +47 -0
  52. data/vendor/assets/javascripts/prism-json.js +11 -0
  53. data/vendor/assets/javascripts/prism-jsx.js +27 -0
  54. data/vendor/assets/javascripts/prism-julia.js +12 -0
  55. data/vendor/assets/javascripts/prism-keyman.js +14 -0
  56. data/vendor/assets/javascripts/prism-kotlin.js +62 -0
  57. data/vendor/assets/javascripts/prism-latex.js +61 -0
  58. data/vendor/assets/javascripts/prism-less.js +60 -0
  59. data/vendor/assets/javascripts/prism-lolcode.js +54 -0
  60. data/vendor/assets/javascripts/prism-lua.js +20 -0
  61. data/vendor/assets/javascripts/prism-makefile.js +31 -0
  62. data/vendor/assets/javascripts/prism-markdown.js +120 -0
  63. data/vendor/assets/javascripts/prism-markup.js +46 -0
  64. data/vendor/assets/javascripts/prism-matlab.js +14 -0
  65. data/vendor/assets/javascripts/prism-mel.js +39 -0
  66. data/vendor/assets/javascripts/prism-mizar.js +12 -0
  67. data/vendor/assets/javascripts/prism-monkey.js +25 -0
  68. data/vendor/assets/javascripts/prism-nasm.js +24 -0
  69. data/vendor/assets/javascripts/prism-nginx.js +11 -0
  70. data/vendor/assets/javascripts/prism-nim.js +30 -0
  71. data/vendor/assets/javascripts/prism-nix.js +39 -0
  72. data/vendor/assets/javascripts/prism-normalize-whitespace.js +3 -1
  73. data/vendor/assets/javascripts/prism-nsis.js +19 -0
  74. data/vendor/assets/javascripts/prism-objectivec.js +5 -0
  75. data/vendor/assets/javascripts/prism-ocaml.js +21 -0
  76. data/vendor/assets/javascripts/prism-oz.js +21 -0
  77. data/vendor/assets/javascripts/prism-parigp.js +27 -0
  78. data/vendor/assets/javascripts/prism-parser.js +66 -0
  79. data/vendor/assets/javascripts/prism-pascal.js +50 -0
  80. data/vendor/assets/javascripts/prism-perl.js +140 -0
  81. data/vendor/assets/javascripts/prism-php-extras.js +11 -0
  82. data/vendor/assets/javascripts/prism-php.js +110 -0
  83. data/vendor/assets/javascripts/prism-powershell.js +52 -0
  84. data/vendor/assets/javascripts/prism-processing.js +18 -0
  85. data/vendor/assets/javascripts/prism-prolog.js +17 -0
  86. data/vendor/assets/javascripts/prism-protobuf.js +8 -0
  87. data/vendor/assets/javascripts/prism-puppet.js +131 -0
  88. data/vendor/assets/javascripts/prism-pure.js +77 -0
  89. data/vendor/assets/javascripts/prism-python.js +27 -0
  90. data/vendor/assets/javascripts/prism-q.js +44 -0
  91. data/vendor/assets/javascripts/prism-qore.js +17 -0
  92. data/vendor/assets/javascripts/prism-r.js +19 -0
  93. data/vendor/assets/javascripts/prism-rest.js +205 -0
  94. data/vendor/assets/javascripts/prism-rip.js +28 -0
  95. data/vendor/assets/javascripts/prism-roboconf.js +27 -0
  96. data/vendor/assets/javascripts/prism-ruby.js +110 -0
  97. data/vendor/assets/javascripts/prism-rust.js +53 -0
  98. data/vendor/assets/javascripts/prism-sas.js +31 -0
  99. data/vendor/assets/javascripts/prism-sass.js +73 -0
  100. data/vendor/assets/javascripts/prism-scala.js +18 -0
  101. data/vendor/assets/javascripts/prism-scheme.js +26 -0
  102. data/vendor/assets/javascripts/prism-scss.js +60 -0
  103. data/vendor/assets/javascripts/prism-smalltalk.js +31 -0
  104. data/vendor/assets/javascripts/prism-smarty.js +127 -0
  105. data/vendor/assets/javascripts/prism-sql.js +17 -0
  106. data/vendor/assets/javascripts/prism-stylus.js +102 -0
  107. data/vendor/assets/javascripts/prism-swift.js +25 -0
  108. data/vendor/assets/javascripts/prism-tcl.js +43 -0
  109. data/vendor/assets/javascripts/prism-textile.js +254 -0
  110. data/vendor/assets/javascripts/prism-twig.js +46 -0
  111. data/vendor/assets/javascripts/prism-typescript.js +3 -0
  112. data/vendor/assets/javascripts/prism-verilog.js +17 -0
  113. data/vendor/assets/javascripts/prism-vhdl.js +23 -0
  114. data/vendor/assets/javascripts/prism-vim.js +10 -0
  115. data/vendor/assets/javascripts/prism-wiki.js +81 -0
  116. data/vendor/assets/javascripts/prism-yaml.js +44 -0
  117. data/vendor/assets/javascripts/prism.js +37 -308
  118. data/vendor/assets/stylesheets/prism-vs.css +139 -0
  119. metadata +120 -163
  120. data/vendor/assets/javascripts/prism-abap.min.js +0 -1
  121. data/vendor/assets/javascripts/prism-actionscript.min.js +0 -1
  122. data/vendor/assets/javascripts/prism-apacheconf.min.js +0 -1
  123. data/vendor/assets/javascripts/prism-apl.min.js +0 -1
  124. data/vendor/assets/javascripts/prism-applescript.min.js +0 -1
  125. data/vendor/assets/javascripts/prism-asciidoc.min.js +0 -1
  126. data/vendor/assets/javascripts/prism-aspnet.min.js +0 -1
  127. data/vendor/assets/javascripts/prism-autohotkey.min.js +0 -1
  128. data/vendor/assets/javascripts/prism-autoit.min.js +0 -1
  129. data/vendor/assets/javascripts/prism-bash.min.js +0 -1
  130. data/vendor/assets/javascripts/prism-basic.min.js +0 -1
  131. data/vendor/assets/javascripts/prism-batch.min.js +0 -1
  132. data/vendor/assets/javascripts/prism-bison.min.js +0 -1
  133. data/vendor/assets/javascripts/prism-brainfuck.min.js +0 -1
  134. data/vendor/assets/javascripts/prism-bro.min.js +0 -1
  135. data/vendor/assets/javascripts/prism-c.min.js +0 -1
  136. data/vendor/assets/javascripts/prism-clike.min.js +0 -1
  137. data/vendor/assets/javascripts/prism-coffeescript.min.js +0 -1
  138. data/vendor/assets/javascripts/prism-core.min.js +0 -1
  139. data/vendor/assets/javascripts/prism-cpp.min.js +0 -1
  140. data/vendor/assets/javascripts/prism-crystal.min.js +0 -1
  141. data/vendor/assets/javascripts/prism-csharp.min.js +0 -1
  142. data/vendor/assets/javascripts/prism-css-extras.min.js +0 -1
  143. data/vendor/assets/javascripts/prism-css.min.js +0 -1
  144. data/vendor/assets/javascripts/prism-d.min.js +0 -1
  145. data/vendor/assets/javascripts/prism-dart.min.js +0 -1
  146. data/vendor/assets/javascripts/prism-diff.min.js +0 -1
  147. data/vendor/assets/javascripts/prism-docker.min.js +0 -1
  148. data/vendor/assets/javascripts/prism-eiffel.min.js +0 -1
  149. data/vendor/assets/javascripts/prism-elixir.min.js +0 -1
  150. data/vendor/assets/javascripts/prism-erlang.min.js +0 -1
  151. data/vendor/assets/javascripts/prism-fortran.min.js +0 -1
  152. data/vendor/assets/javascripts/prism-fsharp.min.js +0 -1
  153. data/vendor/assets/javascripts/prism-gherkin.min.js +0 -1
  154. data/vendor/assets/javascripts/prism-git.min.js +0 -1
  155. data/vendor/assets/javascripts/prism-glsl.min.js +0 -1
  156. data/vendor/assets/javascripts/prism-go.min.js +0 -1
  157. data/vendor/assets/javascripts/prism-groovy.min.js +0 -1
  158. data/vendor/assets/javascripts/prism-haml.min.js +0 -1
  159. data/vendor/assets/javascripts/prism-handlebars.min.js +0 -1
  160. data/vendor/assets/javascripts/prism-haskell.min.js +0 -1
  161. data/vendor/assets/javascripts/prism-haxe.min.js +0 -1
  162. data/vendor/assets/javascripts/prism-http.min.js +0 -1
  163. data/vendor/assets/javascripts/prism-icon.min.js +0 -1
  164. data/vendor/assets/javascripts/prism-inform7.min.js +0 -1
  165. data/vendor/assets/javascripts/prism-ini.min.js +0 -1
  166. data/vendor/assets/javascripts/prism-j.min.js +0 -1
  167. data/vendor/assets/javascripts/prism-jade.min.js +0 -1
  168. data/vendor/assets/javascripts/prism-java.min.js +0 -1
  169. data/vendor/assets/javascripts/prism-javascript.min.js +0 -1
  170. data/vendor/assets/javascripts/prism-json.min.js +0 -1
  171. data/vendor/assets/javascripts/prism-jsx.min.js +0 -1
  172. data/vendor/assets/javascripts/prism-julia.min.js +0 -1
  173. data/vendor/assets/javascripts/prism-keyman.min.js +0 -1
  174. data/vendor/assets/javascripts/prism-kotlin.min.js +0 -1
  175. data/vendor/assets/javascripts/prism-latex.min.js +0 -1
  176. data/vendor/assets/javascripts/prism-less.min.js +0 -1
  177. data/vendor/assets/javascripts/prism-lolcode.min.js +0 -1
  178. data/vendor/assets/javascripts/prism-lua.min.js +0 -1
  179. data/vendor/assets/javascripts/prism-makefile.min.js +0 -1
  180. data/vendor/assets/javascripts/prism-markdown.min.js +0 -1
  181. data/vendor/assets/javascripts/prism-markup.min.js +0 -1
  182. data/vendor/assets/javascripts/prism-matlab.min.js +0 -1
  183. data/vendor/assets/javascripts/prism-mel.min.js +0 -1
  184. data/vendor/assets/javascripts/prism-mizar.min.js +0 -1
  185. data/vendor/assets/javascripts/prism-monkey.min.js +0 -1
  186. data/vendor/assets/javascripts/prism-nasm.min.js +0 -1
  187. data/vendor/assets/javascripts/prism-nginx.min.js +0 -1
  188. data/vendor/assets/javascripts/prism-nim.min.js +0 -1
  189. data/vendor/assets/javascripts/prism-nix.min.js +0 -1
  190. data/vendor/assets/javascripts/prism-nsis.min.js +0 -1
  191. data/vendor/assets/javascripts/prism-objectivec.min.js +0 -1
  192. data/vendor/assets/javascripts/prism-ocaml.min.js +0 -1
  193. data/vendor/assets/javascripts/prism-oz.min.js +0 -1
  194. data/vendor/assets/javascripts/prism-parigp.min.js +0 -1
  195. data/vendor/assets/javascripts/prism-parser.min.js +0 -1
  196. data/vendor/assets/javascripts/prism-pascal.min.js +0 -1
  197. data/vendor/assets/javascripts/prism-perl.min.js +0 -1
  198. data/vendor/assets/javascripts/prism-php-extras.min.js +0 -1
  199. data/vendor/assets/javascripts/prism-php.min.js +0 -1
  200. data/vendor/assets/javascripts/prism-powershell.min.js +0 -1
  201. data/vendor/assets/javascripts/prism-processing.min.js +0 -1
  202. data/vendor/assets/javascripts/prism-prolog.min.js +0 -1
  203. data/vendor/assets/javascripts/prism-protobuf.min.js +0 -1
  204. data/vendor/assets/javascripts/prism-puppet.min.js +0 -1
  205. data/vendor/assets/javascripts/prism-pure.min.js +0 -1
  206. data/vendor/assets/javascripts/prism-python.min.js +0 -1
  207. data/vendor/assets/javascripts/prism-q.min.js +0 -1
  208. data/vendor/assets/javascripts/prism-qore.min.js +0 -1
  209. data/vendor/assets/javascripts/prism-r.min.js +0 -1
  210. data/vendor/assets/javascripts/prism-rest.min.js +0 -1
  211. data/vendor/assets/javascripts/prism-rip.min.js +0 -1
  212. data/vendor/assets/javascripts/prism-roboconf.min.js +0 -1
  213. data/vendor/assets/javascripts/prism-ruby.min.js +0 -1
  214. data/vendor/assets/javascripts/prism-rust.min.js +0 -1
  215. data/vendor/assets/javascripts/prism-sas.min.js +0 -1
  216. data/vendor/assets/javascripts/prism-sass.min.js +0 -1
  217. data/vendor/assets/javascripts/prism-scala.min.js +0 -1
  218. data/vendor/assets/javascripts/prism-scheme.min.js +0 -1
  219. data/vendor/assets/javascripts/prism-scss.min.js +0 -1
  220. data/vendor/assets/javascripts/prism-smalltalk.min.js +0 -1
  221. data/vendor/assets/javascripts/prism-smarty.min.js +0 -1
  222. data/vendor/assets/javascripts/prism-sql.min.js +0 -1
  223. data/vendor/assets/javascripts/prism-stylus.min.js +0 -1
  224. data/vendor/assets/javascripts/prism-swift.min.js +0 -1
  225. data/vendor/assets/javascripts/prism-tcl.min.js +0 -1
  226. data/vendor/assets/javascripts/prism-textile.min.js +0 -1
  227. data/vendor/assets/javascripts/prism-twig.min.js +0 -1
  228. data/vendor/assets/javascripts/prism-typescript.min.js +0 -1
  229. data/vendor/assets/javascripts/prism-verilog.min.js +0 -1
  230. data/vendor/assets/javascripts/prism-vhdl.min.js +0 -1
  231. data/vendor/assets/javascripts/prism-vim.min.js +0 -1
  232. data/vendor/assets/javascripts/prism-wiki.min.js +0 -1
  233. data/vendor/assets/javascripts/prism-yaml.min.js +0 -1
@@ -0,0 +1,3 @@
1
+ Prism.languages.typescript = Prism.languages.extend('javascript', {
2
+ 'keyword': /\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield|module|declare|constructor|string|Function|any|number|boolean|Array|enum)\b/
3
+ });
@@ -0,0 +1,17 @@
1
+ Prism.languages.verilog = {
2
+ 'comment': /\/\/.*|\/\*[\w\W]*?\*\//,
3
+ 'string': /"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,
4
+ // support for any kernel function (ex: $display())
5
+ 'property': /\B\$\w+\b/,
6
+ // support for user defined constants (ex: `define)
7
+ 'constant': /\B`\w+\b/,
8
+ 'function': /[a-z\d_]+(?=\()/i,
9
+ // support for verilog and system verilog keywords
10
+ 'keyword': /\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|class|case|casex|casez|cell|chandle|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endspecify|endsequence|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\b/,
11
+ // bold highlighting for all verilog and system verilog logic blocks
12
+ 'important': /\b(?:always_latch|always_comb|always_ff|always)\b ?@?/,
13
+ // support for time ticks, vectors, and real numbers
14
+ 'number': /\B##?\d+|(?:\b\d+)?'[odbh] ?[\da-fzx_?]+|\b\d*[._]?\d+(?:e[-+]?\d+)?/i,
15
+ 'operator': /[-+{}^~%*\/?=!<>&|]+/,
16
+ 'punctuation': /[[\];(),.:]/
17
+ };
@@ -0,0 +1,23 @@
1
+ Prism.languages.vhdl = {
2
+ 'comment': /--.+/,
3
+ // support for all logic vectors
4
+ 'vhdl-vectors': {
5
+ 'pattern': /\b[oxb]"[\da-f_]+"|"[01uxzwlh-]+"/i,
6
+ 'alias': 'number'
7
+ },
8
+ // support for operator overloading included
9
+ 'quoted-function': {
10
+ pattern: /"\S+?"(?=\()/,
11
+ alias: 'function'
12
+ },
13
+ 'string': /"(?:[^\\\r\n]|\\?(?:\r\n|[\s\S]))*?"/,
14
+ 'constant': /\b(?:use|library)\b/i,
15
+ // support for predefined attributes included
16
+ 'keyword': /\b(?:'active|'ascending|'base|'delayed|'driving|'driving_value|'event|'high|'image|'instance_name|'last_active|'last_event|'last_value|'left|'leftof|'length|'low|'path_name|'pos|'pred|'quiet|'range|'reverse_range|'right|'rightof|'simple_name|'stable|'succ|'transaction|'val|'value|access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with)\b/i,
17
+ 'boolean': /\b(?:true|false)\b/i,
18
+ 'function': /[a-z0-9_]+(?=\()/i,
19
+ // decimal, based, physical, and exponential numbers supported
20
+ 'number': /'[01uxzwlh-]'|\b(?:\d+#[\da-f_.]+#|\d[\d_.]*)(?:e[-+]?\d+)?/i,
21
+ 'operator': /[<>]=?|:=|[-+*/&=]|\b(?:abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|xnor|xor|nor)\b/i,
22
+ 'punctuation': /[{}[\];(),.:]/
23
+ };
@@ -0,0 +1,10 @@
1
+ Prism.languages.vim = {
2
+ 'string': /"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\r\n]|'')*'/,
3
+ 'comment': /".*/,
4
+ 'function': /\w+(?=\()/,
5
+ 'keyword': /\b(?:ab|abbreviate|abc|abclear|abo|aboveleft|al|all|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|ar|args|argu|argument|as|ascii|bad|badd|ba|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bN|bNext|bo|botright|bp|bprevious|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|br|brewind|bro|browse|bufdo|b|buffer|buffers|bun|bunload|bw|bwipeout|ca|cabbrev|cabc|cabclear|caddb|caddbuffer|cad|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cgetb|cgetbuffer|cgete|cgetexpr|cg|cgetfile|c|change|changes|chd|chdir|che|checkpath|checkt|checktime|cla|clast|cl|clist|clo|close|cmapc|cmapclear|cnew|cnewer|cn|cnext|cN|cNext|cnf|cnfile|cNfcNfile|cnorea|cnoreabbrev|col|colder|colo|colorscheme|comc|comclear|comp|compiler|conf|confirm|con|continue|cope|copen|co|copy|cpf|cpfile|cp|cprevious|cq|cquit|cr|crewind|cuna|cunabbrev|cu|cunmap|cw|cwindow|debugg|debuggreedy|delc|delcommand|d|delete|delf|delfunction|delm|delmarks|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|di|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|earlier|echoe|echoerr|echom|echomsg|echon|e|edit|el|else|elsei|elseif|em|emenu|endfo|endfor|endf|endfunction|endfun|en|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fina|finally|fin|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|folddoc|folddoclosed|foldd|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|ha|hardcopy|h|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iuna|iunabbrev|iu|iunmap|j|join|ju|jumps|k|keepalt|keepj|keepjumps|kee|keepmarks|laddb|laddbuffer|lad|laddexpr|laddf|laddfile|lan|language|la|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|let|left|lefta|leftabove|lex|lexpr|lf|lfile|lfir|lfirst|lgetb|lgetbuffer|lgete|lgetexpr|lg|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|l|list|ll|lla|llast|lli|llist|lmak|lmake|lm|lmap|lmapc|lmapclear|lnew|lnewer|lne|lnext|lN|lNext|lnf|lnfile|lNf|lNfile|ln|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lpf|lpfile|lp|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|mak|make|ma|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkvie|mkview|mkv|mkvimrc|mod|mode|m|move|mzf|mzfile|mz|mzscheme|nbkey|new|n|next|N|Next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|omapc|omapclear|on|only|o|open|opt|options|ou|ounmap|pc|pclose|ped|pedit|pe|perl|perld|perldo|po|pop|popu|popu|popup|pp|ppop|pre|preserve|prev|previous|p|print|P|Print|profd|profdel|prof|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptN|ptNext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|pyf|pyfile|py|python|qa|qall|q|quit|quita|quitall|r|read|rec|recover|redi|redir|red|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|rub|ruby|rubyd|rubydo|rubyf|rubyfile|ru|runtime|rv|rviminfo|sal|sall|san|sandbox|sa|sargument|sav|saveas|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbN|sbNext|sbp|sbprevious|sbr|sbrewind|sb|sbuffer|scripte|scriptencoding|scrip|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sla|slast|sl|sleep|sm|smagic|sm|smap|smapc|smapclear|sme|smenu|sn|snext|sN|sNext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|sor|sort|so|source|spelld|spelldump|spe|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|sp|split|spr|sprevious|sre|srewind|sta|stag|startg|startgreplace|star|startinsert|startr|startreplace|stj|stjump|st|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tab|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabnew|tabn|tabnext|tabN|tabNext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|ta|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tm|tmenu|tn|tnext|tN|tNext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tu|tunmenu|una|unabbreviate|u|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|verb|verbose|ve|version|vert|vertical|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|vi|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|wa|wall|wh|while|winc|wincmd|windo|winp|winpos|win|winsize|wn|wnext|wN|wNext|wp|wprevious|wq|wqa|wqall|w|write|ws|wsverb|wv|wviminfo|X|xa|xall|x|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|XMLent|XMLns|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\b/,
6
+ 'builtin': /\b(?:autocmd|acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|t_AB|t_AF|t_al|t_AL|t_bc|t_cd|t_ce|t_Ce|t_cl|t_cm|t_Co|t_cs|t_Cs|t_CS|t_CV|t_da|t_db|t_dl|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_fs|t_IE|t_IS|t_k1|t_K1|t_k2|t_k3|t_K3|t_k4|t_K4|t_k5|t_K5|t_k6|t_K6|t_k7|t_K7|t_k8|t_K8|t_k9|t_K9|t_KA|t_kb|t_kB|t_KB|t_KC|t_kd|t_kD|t_KD|t_ke|t_KE|t_KF|t_KG|t_kh|t_KH|t_kI|t_KI|t_KJ|t_KK|t_kl|t_KL|t_kN|t_kP|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_RI|t_RV|t_Sb|t_se|t_Sf|t_SI|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_WP|t_WS|t_xs|t_ZH|t_ZR)\b/,
7
+ 'number': /\b(?:0x[\da-f]+|\d+(?:\.\d+)?)\b/i,
8
+ 'operator': /\|\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\/%?]|\b(?:is(?:not)?)\b/,
9
+ 'punctuation': /[{}[\](),;:]/
10
+ };
@@ -0,0 +1,81 @@
1
+ Prism.languages.wiki = Prism.languages.extend('markup', {
2
+ 'block-comment': {
3
+ pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
4
+ lookbehind: true,
5
+ alias: 'comment'
6
+ },
7
+ 'heading': {
8
+ pattern: /^(=+).+?\1/m,
9
+ inside: {
10
+ 'punctuation': /^=+|=+$/,
11
+ 'important': /.+/
12
+ }
13
+ },
14
+ 'emphasis': {
15
+ // TODO Multi-line
16
+ pattern: /('{2,5}).+?\1/,
17
+ inside: {
18
+ 'bold italic': {
19
+ pattern: /(''''').+?(?=\1)/,
20
+ lookbehind: true
21
+ },
22
+ 'bold': {
23
+ pattern: /(''')[^'](?:.*?[^'])?(?=\1)/,
24
+ lookbehind: true
25
+ },
26
+ 'italic': {
27
+ pattern: /('')[^'](?:.*?[^'])?(?=\1)/,
28
+ lookbehind: true
29
+ },
30
+ 'punctuation': /^''+|''+$/
31
+ }
32
+ },
33
+ 'hr': {
34
+ pattern: /^-{4,}/m,
35
+ alias: 'punctuation'
36
+ },
37
+ 'url': [
38
+ /ISBN +(?:97[89][ -]?)?(?:\d[ -]?){9}[\dx]\b|(?:RFC|PMID) +\d+/i,
39
+ /\[\[.+?\]\]|\[.+?\]/
40
+ ],
41
+ 'variable': [
42
+ /__[A-Z]+__/,
43
+ // FIXME Nested structures should be handled
44
+ // {{formatnum:{{#expr:{{{3}}}}}}}
45
+ /\{{3}.+?\}{3}/,
46
+ /\{\{.+?}}/
47
+ ],
48
+ 'symbol': [
49
+ /^#redirect/im,
50
+ /~{3,5}/
51
+ ],
52
+ // Handle table attrs:
53
+ // {|
54
+ // ! style="text-align:left;"| Item
55
+ // |}
56
+ 'table-tag': {
57
+ pattern: /((?:^|[|!])[|!])[^|\r\n]+\|(?!\|)/m,
58
+ lookbehind: true,
59
+ inside: {
60
+ 'table-bar': {
61
+ pattern: /\|$/,
62
+ alias: 'punctuation'
63
+ },
64
+ rest: Prism.languages.markup['tag'].inside
65
+ }
66
+ },
67
+ 'punctuation': /^(?:\{\||\|\}|\|-|[*#:;!|])|\|\||!!/m
68
+ });
69
+
70
+ Prism.languages.insertBefore('wiki', 'tag', {
71
+ // Prevent highlighting inside <nowiki>, <source> and <pre> tags
72
+ 'nowiki': {
73
+ pattern: /<(nowiki|pre|source)\b[\w\W]*?>[\w\W]*?<\/\1>/i,
74
+ inside: {
75
+ 'tag': {
76
+ pattern: /<(?:nowiki|pre|source)\b[\w\W]*?>|<\/(?:nowiki|pre|source)>/i,
77
+ inside: Prism.languages.markup['tag'].inside
78
+ }
79
+ }
80
+ }
81
+ });
@@ -0,0 +1,44 @@
1
+ Prism.languages.yaml = {
2
+ 'scalar': {
3
+ pattern: /([\-:]\s*(![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\3[^\r\n]+)*)/,
4
+ lookbehind: true,
5
+ alias: 'string'
6
+ },
7
+ 'comment': /#.*/,
8
+ 'key': {
9
+ pattern: /(\s*(?:^|[:\-,[{\r\n?])[ \t]*(![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,
10
+ lookbehind: true,
11
+ alias: 'atrule'
12
+ },
13
+ 'directive': {
14
+ pattern: /(^[ \t]*)%.+/m,
15
+ lookbehind: true,
16
+ alias: 'important'
17
+ },
18
+ 'datetime': {
19
+ pattern: /([:\-,[{]\s*(![^\s]+)?[ \t]*)(\d{4}-\d\d?-\d\d?([tT]|[ \t]+)\d\d?:\d{2}:\d{2}(\.\d*)?[ \t]*(Z|[-+]\d\d?(:\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(:\d{2}(\.\d*)?)?)(?=[ \t]*($|,|]|}))/m,
20
+ lookbehind: true,
21
+ alias: 'number'
22
+ },
23
+ 'boolean': {
24
+ pattern: /([:\-,[{]\s*(![^\s]+)?[ \t]*)(true|false)[ \t]*(?=$|,|]|})/im,
25
+ lookbehind: true,
26
+ alias: 'important'
27
+ },
28
+ 'null': {
29
+ pattern: /([:\-,[{]\s*(![^\s]+)?[ \t]*)(null|~)[ \t]*(?=$|,|]|})/im,
30
+ lookbehind: true,
31
+ alias: 'important'
32
+ },
33
+ 'string': {
34
+ pattern: /([:\-,[{]\s*(![^\s]+)?[ \t]*)("(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*')(?=[ \t]*($|,|]|}))/m,
35
+ lookbehind: true
36
+ },
37
+ 'number': {
38
+ pattern: /([:\-,[{]\s*(![^\s]+)?[ \t]*)[+\-]?(0x[\da-f]+|0o[0-7]+|(\d+\.?\d*|\.?\d+)(e[\+\-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,
39
+ lookbehind: true
40
+ },
41
+ 'tag': /![^\s]+/,
42
+ 'important': /[&*][\w]+/,
43
+ 'punctuation': /---|[:[\]{}\-,|>?]|\.\.\./
44
+ };
@@ -1,8 +1,3 @@
1
-
2
- /* **********************************************
3
- Begin prism-core.js
4
- ********************************************** */
5
-
6
1
  var _self = (typeof window !== 'undefined')
7
2
  ? window // if in browser
8
3
  : (
@@ -285,9 +280,15 @@ var _ = _self.Prism = {
285
280
  lookbehindLength = 0,
286
281
  alias = pattern.alias;
287
282
 
283
+ if (greedy && !pattern.pattern.global) {
284
+ // Without the global flag, lastIndex won't work
285
+ pattern.pattern = RegExp(pattern.pattern.source, pattern.pattern.flags + "g");
286
+ }
287
+
288
288
  pattern = pattern.pattern || pattern;
289
289
 
290
- for (var i=0; i<strarr.length; i++) { // Don’t cache length as it changes during the loop
290
+ // Don’t cache length as it changes during the loop
291
+ for (var i=0, pos = 0; i<strarr.length; pos += (strarr[i].matchedStr || strarr[i]).length, ++i) {
291
292
 
292
293
  var str = strarr[i];
293
294
 
@@ -307,40 +308,38 @@ var _ = _self.Prism = {
307
308
 
308
309
  // Greedy patterns can override/remove up to two previously matched tokens
309
310
  if (!match && greedy && i != strarr.length - 1) {
310
- // Reconstruct the original text using the next two tokens
311
- var nextToken = strarr[i + 1].matchedStr || strarr[i + 1],
312
- combStr = str + nextToken;
313
-
314
- if (i < strarr.length - 2) {
315
- combStr += strarr[i + 2].matchedStr || strarr[i + 2];
311
+ pattern.lastIndex = pos;
312
+ match = pattern.exec(text);
313
+ if (!match) {
314
+ break;
316
315
  }
317
316
 
318
- // Try the pattern again on the reconstructed text
319
- pattern.lastIndex = 0;
320
- match = pattern.exec(combStr);
321
- if (!match) {
322
- continue;
317
+ var from = match.index + (lookbehind ? match[1].length : 0),
318
+ to = match.index + match[0].length,
319
+ k = i,
320
+ p = pos;
321
+
322
+ for (var len = strarr.length; k < len && p < to; ++k) {
323
+ p += (strarr[k].matchedStr || strarr[k]).length;
324
+ // Move the index i to the element in strarr that is closest to from
325
+ if (from >= p) {
326
+ ++i;
327
+ pos = p;
328
+ }
323
329
  }
324
330
 
325
- var from = match.index + (lookbehind ? match[1].length : 0);
326
- // To be a valid candidate, the new match has to start inside of str
327
- if (from >= str.length) {
331
+ /*
332
+ * If strarr[i] is a Token, then the match starts inside another Token, which is invalid
333
+ * If strarr[k - 1] is greedy we are in conflict with another greedy pattern
334
+ */
335
+ if (strarr[i] instanceof Token || strarr[k - 1].greedy) {
328
336
  continue;
329
337
  }
330
- var to = match.index + match[0].length,
331
- len = str.length + nextToken.length;
332
338
 
333
339
  // Number of tokens to delete and replace with the new match
334
- delNum = 3;
335
-
336
- if (to <= len) {
337
- if (strarr[i + 1].greedy) {
338
- continue;
339
- }
340
- delNum = 2;
341
- combStr = combStr.slice(0, len);
342
- }
343
- str = combStr;
340
+ delNum = k - i;
341
+ str = text.slice(pos, p);
342
+ match.index -= pos;
344
343
  }
345
344
 
346
345
  if (!match) {
@@ -483,7 +482,12 @@ if (script) {
483
482
  _.filename = script.src;
484
483
 
485
484
  if (document.addEventListener && !script.hasAttribute('data-manual')) {
486
- document.addEventListener('DOMContentLoaded', _.highlightAll);
485
+ if(document.readyState !== "loading") {
486
+ requestAnimationFrame(_.highlightAll, 0);
487
+ }
488
+ else {
489
+ document.addEventListener('DOMContentLoaded', _.highlightAll);
490
+ }
487
491
  }
488
492
  }
489
493
 
@@ -499,278 +503,3 @@ if (typeof module !== 'undefined' && module.exports) {
499
503
  if (typeof global !== 'undefined') {
500
504
  global.Prism = Prism;
501
505
  }
502
-
503
-
504
- /* **********************************************
505
- Begin prism-markup.js
506
- ********************************************** */
507
-
508
- Prism.languages.markup = {
509
- 'comment': /<!--[\w\W]*?-->/,
510
- 'prolog': /<\?[\w\W]+?\?>/,
511
- 'doctype': /<!DOCTYPE[\w\W]+?>/,
512
- 'cdata': /<!\[CDATA\[[\w\W]*?]]>/i,
513
- 'tag': {
514
- pattern: /<\/?(?!\d)[^\s>\/=.$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
515
- inside: {
516
- 'tag': {
517
- pattern: /^<\/?[^\s>\/]+/i,
518
- inside: {
519
- 'punctuation': /^<\/?/,
520
- 'namespace': /^[^\s>\/:]+:/
521
- }
522
- },
523
- 'attr-value': {
524
- pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
525
- inside: {
526
- 'punctuation': /[=>"']/
527
- }
528
- },
529
- 'punctuation': /\/?>/,
530
- 'attr-name': {
531
- pattern: /[^\s>\/]+/,
532
- inside: {
533
- 'namespace': /^[^\s>\/:]+:/
534
- }
535
- }
536
-
537
- }
538
- },
539
- 'entity': /&#?[\da-z]{1,8};/i
540
- };
541
-
542
- // Plugin to make entity title show the real entity, idea by Roman Komarov
543
- Prism.hooks.add('wrap', function(env) {
544
-
545
- if (env.type === 'entity') {
546
- env.attributes['title'] = env.content.replace(/&amp;/, '&');
547
- }
548
- });
549
-
550
- Prism.languages.xml = Prism.languages.markup;
551
- Prism.languages.html = Prism.languages.markup;
552
- Prism.languages.mathml = Prism.languages.markup;
553
- Prism.languages.svg = Prism.languages.markup;
554
-
555
-
556
- /* **********************************************
557
- Begin prism-css.js
558
- ********************************************** */
559
-
560
- Prism.languages.css = {
561
- 'comment': /\/\*[\w\W]*?\*\//,
562
- 'atrule': {
563
- pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
564
- inside: {
565
- 'rule': /@[\w-]+/
566
- // See rest below
567
- }
568
- },
569
- 'url': /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
570
- 'selector': /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
571
- 'string': /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
572
- 'property': /(\b|\B)[\w-]+(?=\s*:)/i,
573
- 'important': /\B!important\b/i,
574
- 'function': /[-a-z0-9]+(?=\()/i,
575
- 'punctuation': /[(){};:]/
576
- };
577
-
578
- Prism.languages.css['atrule'].inside.rest = Prism.util.clone(Prism.languages.css);
579
-
580
- if (Prism.languages.markup) {
581
- Prism.languages.insertBefore('markup', 'tag', {
582
- 'style': {
583
- pattern: /(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,
584
- lookbehind: true,
585
- inside: Prism.languages.css,
586
- alias: 'language-css'
587
- }
588
- });
589
-
590
- Prism.languages.insertBefore('inside', 'attr-value', {
591
- 'style-attr': {
592
- pattern: /\s*style=("|').*?\1/i,
593
- inside: {
594
- 'attr-name': {
595
- pattern: /^\s*style/i,
596
- inside: Prism.languages.markup.tag.inside
597
- },
598
- 'punctuation': /^\s*=\s*['"]|['"]\s*$/,
599
- 'attr-value': {
600
- pattern: /.+/i,
601
- inside: Prism.languages.css
602
- }
603
- },
604
- alias: 'language-css'
605
- }
606
- }, Prism.languages.markup.tag);
607
- }
608
-
609
- /* **********************************************
610
- Begin prism-clike.js
611
- ********************************************** */
612
-
613
- Prism.languages.clike = {
614
- 'comment': [
615
- {
616
- pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
617
- lookbehind: true
618
- },
619
- {
620
- pattern: /(^|[^\\:])\/\/.*/,
621
- lookbehind: true
622
- }
623
- ],
624
- 'string': {
625
- pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
626
- greedy: true
627
- },
628
- 'class-name': {
629
- pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
630
- lookbehind: true,
631
- inside: {
632
- punctuation: /(\.|\\)/
633
- }
634
- },
635
- 'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
636
- 'boolean': /\b(true|false)\b/,
637
- 'function': /[a-z0-9_]+(?=\()/i,
638
- 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
639
- 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
640
- 'punctuation': /[{}[\];(),.:]/
641
- };
642
-
643
-
644
- /* **********************************************
645
- Begin prism-javascript.js
646
- ********************************************** */
647
-
648
- Prism.languages.javascript = Prism.languages.extend('clike', {
649
- 'keyword': /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,
650
- 'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
651
- // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
652
- 'function': /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
653
- });
654
-
655
- Prism.languages.insertBefore('javascript', 'keyword', {
656
- 'regex': {
657
- pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
658
- lookbehind: true,
659
- greedy: true
660
- }
661
- });
662
-
663
- Prism.languages.insertBefore('javascript', 'class-name', {
664
- 'template-string': {
665
- pattern: /`(?:\\\\|\\?[^\\])*?`/,
666
- greedy: true,
667
- inside: {
668
- 'interpolation': {
669
- pattern: /\$\{[^}]+\}/,
670
- inside: {
671
- 'interpolation-punctuation': {
672
- pattern: /^\$\{|\}$/,
673
- alias: 'punctuation'
674
- },
675
- rest: Prism.languages.javascript
676
- }
677
- },
678
- 'string': /[\s\S]+/
679
- }
680
- }
681
- });
682
-
683
- if (Prism.languages.markup) {
684
- Prism.languages.insertBefore('markup', 'tag', {
685
- 'script': {
686
- pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
687
- lookbehind: true,
688
- inside: Prism.languages.javascript,
689
- alias: 'language-javascript'
690
- }
691
- });
692
- }
693
-
694
- Prism.languages.js = Prism.languages.javascript;
695
-
696
- /* **********************************************
697
- Begin prism-file-highlight.js
698
- ********************************************** */
699
-
700
- (function () {
701
- if (typeof self === 'undefined' || !self.Prism || !self.document || !document.querySelector) {
702
- return;
703
- }
704
-
705
- self.Prism.fileHighlight = function() {
706
-
707
- var Extensions = {
708
- 'js': 'javascript',
709
- 'py': 'python',
710
- 'rb': 'ruby',
711
- 'ps1': 'powershell',
712
- 'psm1': 'powershell',
713
- 'sh': 'bash',
714
- 'bat': 'batch',
715
- 'h': 'c',
716
- 'tex': 'latex'
717
- };
718
-
719
- if(Array.prototype.forEach) { // Check to prevent error in IE8
720
- Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function (pre) {
721
- var src = pre.getAttribute('data-src');
722
-
723
- var language, parent = pre;
724
- var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
725
- while (parent && !lang.test(parent.className)) {
726
- parent = parent.parentNode;
727
- }
728
-
729
- if (parent) {
730
- language = (pre.className.match(lang) || [, ''])[1];
731
- }
732
-
733
- if (!language) {
734
- var extension = (src.match(/\.(\w+)$/) || [, ''])[1];
735
- language = Extensions[extension] || extension;
736
- }
737
-
738
- var code = document.createElement('code');
739
- code.className = 'language-' + language;
740
-
741
- pre.textContent = '';
742
-
743
- code.textContent = 'Loading…';
744
-
745
- pre.appendChild(code);
746
-
747
- var xhr = new XMLHttpRequest();
748
-
749
- xhr.open('GET', src, true);
750
-
751
- xhr.onreadystatechange = function () {
752
- if (xhr.readyState == 4) {
753
-
754
- if (xhr.status < 400 && xhr.responseText) {
755
- code.textContent = xhr.responseText;
756
-
757
- Prism.highlightElement(code);
758
- }
759
- else if (xhr.status >= 400) {
760
- code.textContent = '✖ Error ' + xhr.status + ' while fetching file: ' + xhr.statusText;
761
- }
762
- else {
763
- code.textContent = '✖ Error: File does not exist or is empty';
764
- }
765
- }
766
- };
767
-
768
- xhr.send(null);
769
- });
770
- }
771
-
772
- };
773
-
774
- document.addEventListener('DOMContentLoaded', self.Prism.fileHighlight);
775
-
776
- })();