highlighting 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (236) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +52 -0
  3. data/app/helpers/syntax_helper.rb +2 -0
  4. data/lib/highlighting.rb +6 -0
  5. data/lib/highlighting/version.rb +3 -0
  6. data/vendor/assets/javascripts/prism-abap.js +48 -0
  7. data/vendor/assets/javascripts/prism-abap.min.js +1 -0
  8. data/vendor/assets/javascripts/prism-actionscript.js +17 -0
  9. data/vendor/assets/javascripts/prism-actionscript.min.js +1 -0
  10. data/vendor/assets/javascripts/prism-apacheconf.js +47 -0
  11. data/vendor/assets/javascripts/prism-apacheconf.min.js +1 -0
  12. data/vendor/assets/javascripts/prism-apl.js +29 -0
  13. data/vendor/assets/javascripts/prism-apl.min.js +1 -0
  14. data/vendor/assets/javascripts/prism-applescript.js +20 -0
  15. data/vendor/assets/javascripts/prism-applescript.min.js +1 -0
  16. data/vendor/assets/javascripts/prism-asciidoc.js +271 -0
  17. data/vendor/assets/javascripts/prism-asciidoc.min.js +1 -0
  18. data/vendor/assets/javascripts/prism-aspnet.js +36 -0
  19. data/vendor/assets/javascripts/prism-aspnet.min.js +1 -0
  20. data/vendor/assets/javascripts/prism-autohotkey.js +27 -0
  21. data/vendor/assets/javascripts/prism-autohotkey.min.js +1 -0
  22. data/vendor/assets/javascripts/prism-autoit.js +33 -0
  23. data/vendor/assets/javascripts/prism-autoit.min.js +1 -0
  24. data/vendor/assets/javascripts/prism-bash.js +78 -0
  25. data/vendor/assets/javascripts/prism-bash.min.js +1 -0
  26. data/vendor/assets/javascripts/prism-basic.js +14 -0
  27. data/vendor/assets/javascripts/prism-basic.min.js +1 -0
  28. data/vendor/assets/javascripts/prism-batch.js +99 -0
  29. data/vendor/assets/javascripts/prism-batch.min.js +1 -0
  30. data/vendor/assets/javascripts/prism-bison.js +39 -0
  31. data/vendor/assets/javascripts/prism-bison.min.js +1 -0
  32. data/vendor/assets/javascripts/prism-brainfuck.js +20 -0
  33. data/vendor/assets/javascripts/prism-brainfuck.min.js +1 -0
  34. data/vendor/assets/javascripts/prism-c.js +33 -0
  35. data/vendor/assets/javascripts/prism-c.min.js +1 -0
  36. data/vendor/assets/javascripts/prism-clike.js +26 -0
  37. data/vendor/assets/javascripts/prism-clike.min.js +1 -0
  38. data/vendor/assets/javascripts/prism-coffeescript.js +83 -0
  39. data/vendor/assets/javascripts/prism-coffeescript.min.js +1 -0
  40. data/vendor/assets/javascripts/prism-core.js +434 -0
  41. data/vendor/assets/javascripts/prism-core.min.js +1 -0
  42. data/vendor/assets/javascripts/prism-cpp.js +12 -0
  43. data/vendor/assets/javascripts/prism-cpp.min.js +1 -0
  44. data/vendor/assets/javascripts/prism-crystal.js +53 -0
  45. data/vendor/assets/javascripts/prism-crystal.min.js +1 -0
  46. data/vendor/assets/javascripts/prism-csharp.js +24 -0
  47. data/vendor/assets/javascripts/prism-csharp.min.js +1 -0
  48. data/vendor/assets/javascripts/prism-css-extras.js +15 -0
  49. data/vendor/assets/javascripts/prism-css-extras.min.js +1 -0
  50. data/vendor/assets/javascripts/prism-css.js +48 -0
  51. data/vendor/assets/javascripts/prism-css.min.js +1 -0
  52. data/vendor/assets/javascripts/prism-d.js +64 -0
  53. data/vendor/assets/javascripts/prism-d.min.js +1 -0
  54. data/vendor/assets/javascripts/prism-dart.js +18 -0
  55. data/vendor/assets/javascripts/prism-dart.min.js +1 -0
  56. data/vendor/assets/javascripts/prism-diff.js +20 -0
  57. data/vendor/assets/javascripts/prism-diff.min.js +1 -0
  58. data/vendor/assets/javascripts/prism-docker.js +9 -0
  59. data/vendor/assets/javascripts/prism-docker.min.js +1 -0
  60. data/vendor/assets/javascripts/prism-eiffel.js +24 -0
  61. data/vendor/assets/javascripts/prism-eiffel.min.js +1 -0
  62. data/vendor/assets/javascripts/prism-elixir.js +90 -0
  63. data/vendor/assets/javascripts/prism-elixir.min.js +1 -0
  64. data/vendor/assets/javascripts/prism-erlang.js +41 -0
  65. data/vendor/assets/javascripts/prism-erlang.min.js +1 -0
  66. data/vendor/assets/javascripts/prism-fortran.js +37 -0
  67. data/vendor/assets/javascripts/prism-fortran.min.js +1 -0
  68. data/vendor/assets/javascripts/prism-fsharp.js +33 -0
  69. data/vendor/assets/javascripts/prism-fsharp.min.js +1 -0
  70. data/vendor/assets/javascripts/prism-gherkin.js +78 -0
  71. data/vendor/assets/javascripts/prism-gherkin.min.js +1 -0
  72. data/vendor/assets/javascripts/prism-git.js +68 -0
  73. data/vendor/assets/javascripts/prism-git.min.js +1 -0
  74. data/vendor/assets/javascripts/prism-glsl.js +16 -0
  75. data/vendor/assets/javascripts/prism-glsl.min.js +1 -0
  76. data/vendor/assets/javascripts/prism-go.js +9 -0
  77. data/vendor/assets/javascripts/prism-go.min.js +1 -0
  78. data/vendor/assets/javascripts/prism-groovy.js +51 -0
  79. data/vendor/assets/javascripts/prism-groovy.min.js +1 -0
  80. data/vendor/assets/javascripts/prism-haml.js +154 -0
  81. data/vendor/assets/javascripts/prism-haml.min.js +1 -0
  82. data/vendor/assets/javascripts/prism-handlebars.js +83 -0
  83. data/vendor/assets/javascripts/prism-handlebars.min.js +1 -0
  84. data/vendor/assets/javascripts/prism-haskell.js +32 -0
  85. data/vendor/assets/javascripts/prism-haskell.min.js +1 -0
  86. data/vendor/assets/javascripts/prism-haxe.js +43 -0
  87. data/vendor/assets/javascripts/prism-haxe.min.js +1 -0
  88. data/vendor/assets/javascripts/prism-http.js +50 -0
  89. data/vendor/assets/javascripts/prism-http.min.js +1 -0
  90. data/vendor/assets/javascripts/prism-icon.js +17 -0
  91. data/vendor/assets/javascripts/prism-icon.min.js +1 -0
  92. data/vendor/assets/javascripts/prism-inform7.js +58 -0
  93. data/vendor/assets/javascripts/prism-inform7.min.js +1 -0
  94. data/vendor/assets/javascripts/prism-ini.js +11 -0
  95. data/vendor/assets/javascripts/prism-ini.min.js +1 -0
  96. data/vendor/assets/javascripts/prism-j.js +22 -0
  97. data/vendor/assets/javascripts/prism-j.min.js +1 -0
  98. data/vendor/assets/javascripts/prism-jade.js +198 -0
  99. data/vendor/assets/javascripts/prism-jade.min.js +1 -0
  100. data/vendor/assets/javascripts/prism-java.js +8 -0
  101. data/vendor/assets/javascripts/prism-java.min.js +1 -0
  102. data/vendor/assets/javascripts/prism-javascript.js +45 -0
  103. data/vendor/assets/javascripts/prism-javascript.min.js +1 -0
  104. data/vendor/assets/javascripts/prism-jsx.js +24 -0
  105. data/vendor/assets/javascripts/prism-jsx.min.js +1 -0
  106. data/vendor/assets/javascripts/prism-julia.js +12 -0
  107. data/vendor/assets/javascripts/prism-julia.min.js +1 -0
  108. data/vendor/assets/javascripts/prism-keyman.js +14 -0
  109. data/vendor/assets/javascripts/prism-keyman.min.js +1 -0
  110. data/vendor/assets/javascripts/prism-kotlin.js +68 -0
  111. data/vendor/assets/javascripts/prism-kotlin.min.js +1 -0
  112. data/vendor/assets/javascripts/prism-latex.js +61 -0
  113. data/vendor/assets/javascripts/prism-latex.min.js +1 -0
  114. data/vendor/assets/javascripts/prism-less.js +60 -0
  115. data/vendor/assets/javascripts/prism-less.min.js +1 -0
  116. data/vendor/assets/javascripts/prism-lolcode.js +54 -0
  117. data/vendor/assets/javascripts/prism-lolcode.min.js +1 -0
  118. data/vendor/assets/javascripts/prism-lua.js +17 -0
  119. data/vendor/assets/javascripts/prism-lua.min.js +1 -0
  120. data/vendor/assets/javascripts/prism-makefile.js +31 -0
  121. data/vendor/assets/javascripts/prism-makefile.min.js +1 -0
  122. data/vendor/assets/javascripts/prism-markdown.js +120 -0
  123. data/vendor/assets/javascripts/prism-markdown.min.js +1 -0
  124. data/vendor/assets/javascripts/prism-markup.js +46 -0
  125. data/vendor/assets/javascripts/prism-markup.min.js +1 -0
  126. data/vendor/assets/javascripts/prism-matlab.js +14 -0
  127. data/vendor/assets/javascripts/prism-matlab.min.js +1 -0
  128. data/vendor/assets/javascripts/prism-mel.js +39 -0
  129. data/vendor/assets/javascripts/prism-mel.min.js +1 -0
  130. data/vendor/assets/javascripts/prism-mizar.js +12 -0
  131. data/vendor/assets/javascripts/prism-mizar.min.js +1 -0
  132. data/vendor/assets/javascripts/prism-monkey.js +25 -0
  133. data/vendor/assets/javascripts/prism-monkey.min.js +1 -0
  134. data/vendor/assets/javascripts/prism-nasm.js +24 -0
  135. data/vendor/assets/javascripts/prism-nasm.min.js +1 -0
  136. data/vendor/assets/javascripts/prism-nginx.js +11 -0
  137. data/vendor/assets/javascripts/prism-nginx.min.js +1 -0
  138. data/vendor/assets/javascripts/prism-nim.js +30 -0
  139. data/vendor/assets/javascripts/prism-nim.min.js +1 -0
  140. data/vendor/assets/javascripts/prism-nix.js +39 -0
  141. data/vendor/assets/javascripts/prism-nix.min.js +1 -0
  142. data/vendor/assets/javascripts/prism-nsis.js +19 -0
  143. data/vendor/assets/javascripts/prism-nsis.min.js +1 -0
  144. data/vendor/assets/javascripts/prism-objectivec.js +5 -0
  145. data/vendor/assets/javascripts/prism-objectivec.min.js +1 -0
  146. data/vendor/assets/javascripts/prism-ocaml.js +21 -0
  147. data/vendor/assets/javascripts/prism-ocaml.min.js +1 -0
  148. data/vendor/assets/javascripts/prism-oz.js +21 -0
  149. data/vendor/assets/javascripts/prism-oz.min.js +1 -0
  150. data/vendor/assets/javascripts/prism-parigp.js +27 -0
  151. data/vendor/assets/javascripts/prism-parigp.min.js +1 -0
  152. data/vendor/assets/javascripts/prism-parser.js +66 -0
  153. data/vendor/assets/javascripts/prism-parser.min.js +1 -0
  154. data/vendor/assets/javascripts/prism-pascal.js +50 -0
  155. data/vendor/assets/javascripts/prism-pascal.min.js +1 -0
  156. data/vendor/assets/javascripts/prism-perl.js +140 -0
  157. data/vendor/assets/javascripts/prism-perl.min.js +1 -0
  158. data/vendor/assets/javascripts/prism-php-extras.js +11 -0
  159. data/vendor/assets/javascripts/prism-php-extras.min.js +1 -0
  160. data/vendor/assets/javascripts/prism-php.js +110 -0
  161. data/vendor/assets/javascripts/prism-php.min.js +1 -0
  162. data/vendor/assets/javascripts/prism-powershell.js +48 -0
  163. data/vendor/assets/javascripts/prism-powershell.min.js +1 -0
  164. data/vendor/assets/javascripts/prism-processing.js +18 -0
  165. data/vendor/assets/javascripts/prism-processing.min.js +1 -0
  166. data/vendor/assets/javascripts/prism-prolog.js +17 -0
  167. data/vendor/assets/javascripts/prism-prolog.min.js +1 -0
  168. data/vendor/assets/javascripts/prism-puppet.js +131 -0
  169. data/vendor/assets/javascripts/prism-puppet.min.js +1 -0
  170. data/vendor/assets/javascripts/prism-pure.js +77 -0
  171. data/vendor/assets/javascripts/prism-pure.min.js +1 -0
  172. data/vendor/assets/javascripts/prism-python.js +24 -0
  173. data/vendor/assets/javascripts/prism-python.min.js +1 -0
  174. data/vendor/assets/javascripts/prism-q.js +44 -0
  175. data/vendor/assets/javascripts/prism-q.min.js +1 -0
  176. data/vendor/assets/javascripts/prism-qore.js +17 -0
  177. data/vendor/assets/javascripts/prism-qore.min.js +1 -0
  178. data/vendor/assets/javascripts/prism-r.js +19 -0
  179. data/vendor/assets/javascripts/prism-r.min.js +1 -0
  180. data/vendor/assets/javascripts/prism-rest.js +205 -0
  181. data/vendor/assets/javascripts/prism-rest.min.js +1 -0
  182. data/vendor/assets/javascripts/prism-rip.js +28 -0
  183. data/vendor/assets/javascripts/prism-rip.min.js +1 -0
  184. data/vendor/assets/javascripts/prism-roboconf.js +27 -0
  185. data/vendor/assets/javascripts/prism-roboconf.min.js +1 -0
  186. data/vendor/assets/javascripts/prism-ruby.js +110 -0
  187. data/vendor/assets/javascripts/prism-ruby.min.js +1 -0
  188. data/vendor/assets/javascripts/prism-rust.js +53 -0
  189. data/vendor/assets/javascripts/prism-rust.min.js +1 -0
  190. data/vendor/assets/javascripts/prism-sas.js +31 -0
  191. data/vendor/assets/javascripts/prism-sas.min.js +1 -0
  192. data/vendor/assets/javascripts/prism-sass.js +73 -0
  193. data/vendor/assets/javascripts/prism-sass.min.js +1 -0
  194. data/vendor/assets/javascripts/prism-scala.js +9 -0
  195. data/vendor/assets/javascripts/prism-scala.min.js +1 -0
  196. data/vendor/assets/javascripts/prism-scheme.js +26 -0
  197. data/vendor/assets/javascripts/prism-scheme.min.js +1 -0
  198. data/vendor/assets/javascripts/prism-scss.js +60 -0
  199. data/vendor/assets/javascripts/prism-scss.min.js +1 -0
  200. data/vendor/assets/javascripts/prism-smalltalk.js +31 -0
  201. data/vendor/assets/javascripts/prism-smalltalk.min.js +1 -0
  202. data/vendor/assets/javascripts/prism-smarty.js +127 -0
  203. data/vendor/assets/javascripts/prism-smarty.min.js +1 -0
  204. data/vendor/assets/javascripts/prism-sql.js +17 -0
  205. data/vendor/assets/javascripts/prism-sql.min.js +1 -0
  206. data/vendor/assets/javascripts/prism-stylus.js +102 -0
  207. data/vendor/assets/javascripts/prism-stylus.min.js +1 -0
  208. data/vendor/assets/javascripts/prism-swift.js +24 -0
  209. data/vendor/assets/javascripts/prism-swift.min.js +1 -0
  210. data/vendor/assets/javascripts/prism-tcl.js +43 -0
  211. data/vendor/assets/javascripts/prism-tcl.min.js +1 -0
  212. data/vendor/assets/javascripts/prism-textile.js +254 -0
  213. data/vendor/assets/javascripts/prism-textile.min.js +1 -0
  214. data/vendor/assets/javascripts/prism-twig.js +46 -0
  215. data/vendor/assets/javascripts/prism-twig.min.js +1 -0
  216. data/vendor/assets/javascripts/prism-typescript.js +3 -0
  217. data/vendor/assets/javascripts/prism-typescript.min.js +1 -0
  218. data/vendor/assets/javascripts/prism-verilog.js +17 -0
  219. data/vendor/assets/javascripts/prism-verilog.min.js +1 -0
  220. data/vendor/assets/javascripts/prism-vhdl.js +23 -0
  221. data/vendor/assets/javascripts/prism-vhdl.min.js +1 -0
  222. data/vendor/assets/javascripts/prism-vim.js +10 -0
  223. data/vendor/assets/javascripts/prism-vim.min.js +1 -0
  224. data/vendor/assets/javascripts/prism-wiki.js +81 -0
  225. data/vendor/assets/javascripts/prism-wiki.min.js +1 -0
  226. data/vendor/assets/javascripts/prism-yaml.js +44 -0
  227. data/vendor/assets/javascripts/prism-yaml.min.js +1 -0
  228. data/vendor/assets/javascripts/prism.js +708 -0
  229. data/vendor/assets/stylesheets/prism-coy.css +235 -0
  230. data/vendor/assets/stylesheets/prism-dark.css +128 -0
  231. data/vendor/assets/stylesheets/prism-funky.css +117 -0
  232. data/vendor/assets/stylesheets/prism-okaidia.css +121 -0
  233. data/vendor/assets/stylesheets/prism-tomorrow.css +121 -0
  234. data/vendor/assets/stylesheets/prism-twilight.css +201 -0
  235. data/vendor/assets/stylesheets/prism.css +137 -0
  236. metadata +306 -0
@@ -0,0 +1 @@
1
+ !function(e){e.languages.jade={comment:{pattern:/(^([\t ]*))\/\/.*((?:\r?\n|\r)\2[\t ]+.+)*/m,lookbehind:!0},"multiline-script":{pattern:/(^([\t ]*)script\b.*\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{rest:e.languages.javascript}},filter:{pattern:/(^([\t ]*)):.+((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},"multiline-plain-text":{pattern:/(^([\t ]*)[\w\-#.]+\.[\t ]*)((?:\r?\n|\r(?!\n))(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/m,lookbehind:!0},markup:{pattern:/(^[\t ]*)<.+/m,lookbehind:!0,inside:{rest:e.languages.markup}},doctype:{pattern:/((?:^|\n)[\t ]*)doctype(?: .+)?/,lookbehind:!0},"flow-control":{pattern:/(^[\t ]*)(?:if|unless|else|case|when|default|each|while)\b(?: .+)?/m,lookbehind:!0,inside:{each:{pattern:/^each .+? in\b/,inside:{keyword:/\b(?:each|in)\b/,punctuation:/,/}},branch:{pattern:/^(?:if|unless|else|case|when|default|while)\b/,alias:"keyword"},rest:e.languages.javascript}},keyword:{pattern:/(^[\t ]*)(?:block|extends|include|append|prepend)\b.+/m,lookbehind:!0},mixin:[{pattern:/(^[\t ]*)mixin .+/m,lookbehind:!0,inside:{keyword:/^mixin/,"function":/\w+(?=\s*\(|\s*$)/,punctuation:/[(),.]/}},{pattern:/(^[\t ]*)\+.+/m,lookbehind:!0,inside:{name:{pattern:/^\+\w+/,alias:"function"},rest:e.languages.javascript}}],script:{pattern:/(^[\t ]*script(?:(?:&[^(]+)?\([^)]+\))*[\t ]+).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}},"plain-text":{pattern:/(^[\t ]*(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?[\t ]+).+/m,lookbehind:!0},tag:{pattern:/(^[\t ]*)(?!-)[\w\-#.]*[\w\-](?:(?:&[^(]+)?\([^)]+\))*\/?:?/m,lookbehind:!0,inside:{attributes:[{pattern:/&[^(]+\([^)]+\)/,inside:{rest:e.languages.javascript}},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:\{[^}]*\}|[^,)\r\n]+)/,lookbehind:!0,inside:{rest:e.languages.javascript}},"attr-name":/[\w-]+(?=\s*!?=|\s*[,)])/,punctuation:/[!=(),]+/}}],punctuation:/:/}},code:[{pattern:/(^[\t ]*(?:-|!?=)).+/m,lookbehind:!0,inside:{rest:e.languages.javascript}}],punctuation:/[.\-!=|]+/};for(var t="(^([\\t ]*)):{{filter_name}}((?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ]+.+|\\s*?(?=\\r?\\n|\\r)))+",n=[{filter:"atpl",language:"twig"},{filter:"coffee",language:"coffeescript"},"ejs","handlebars","hogan","less","livescript","markdown","mustache","plates",{filter:"sass",language:"scss"},"stylus","swig"],a={},i=0,r=n.length;r>i;i++){var s=n[i];s="string"==typeof s?{filter:s,language:s}:s,e.languages[s.language]&&(a["filter-"+s.filter]={pattern:RegExp(t.replace("{{filter_name}}",s.filter),"m"),lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"},rest:e.languages[s.language]}})}e.languages.insertBefore("jade","filter",a)}(Prism);
@@ -0,0 +1,8 @@
1
+ Prism.languages.java = Prism.languages.extend('clike', {
2
+ 'keyword': /\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,
3
+ 'number': /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,
4
+ 'operator': {
5
+ pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,
6
+ lookbehind: true
7
+ }
8
+ });
@@ -0,0 +1 @@
1
+ Prism.languages.java=Prism.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}});
@@ -0,0 +1,45 @@
1
+ Prism.languages.javascript = Prism.languages.extend('clike', {
2
+ '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/,
3
+ 'number': /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
4
+ // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)
5
+ 'function': /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
6
+ });
7
+
8
+ Prism.languages.insertBefore('javascript', 'keyword', {
9
+ 'regex': {
10
+ pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
11
+ lookbehind: true
12
+ }
13
+ });
14
+
15
+ Prism.languages.insertBefore('javascript', 'class-name', {
16
+ 'template-string': {
17
+ pattern: /`(?:\\`|\\?[^`])*`/,
18
+ inside: {
19
+ 'interpolation': {
20
+ pattern: /\$\{[^}]+\}/,
21
+ inside: {
22
+ 'interpolation-punctuation': {
23
+ pattern: /^\$\{|\}$/,
24
+ alias: 'punctuation'
25
+ },
26
+ rest: Prism.languages.javascript
27
+ }
28
+ },
29
+ 'string': /[\s\S]+/
30
+ }
31
+ }
32
+ });
33
+
34
+ if (Prism.languages.markup) {
35
+ Prism.languages.insertBefore('markup', 'tag', {
36
+ 'script': {
37
+ pattern: /(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
38
+ lookbehind: true,
39
+ inside: Prism.languages.javascript,
40
+ alias: 'language-javascript'
41
+ }
42
+ });
43
+ }
44
+
45
+ Prism.languages.js = Prism.languages.javascript;
@@ -0,0 +1 @@
1
+ Prism.languages.javascript=Prism.languages.extend("clike",{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/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),Prism.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:Prism.languages.javascript,alias:"language-javascript"}}),Prism.languages.js=Prism.languages.javascript;
@@ -0,0 +1,24 @@
1
+ (function(Prism) {
2
+
3
+ var javascript = Prism.util.clone(Prism.languages.javascript);
4
+
5
+ Prism.languages.jsx = Prism.languages.extend('markup', javascript);
6
+ Prism.languages.jsx.tag.pattern= /<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+|(\{[\w\W]*?\})))?\s*)*\/?>/i;
7
+
8
+ Prism.languages.jsx.tag.inside['attr-value'].pattern = /=[^\{](?:('|")[\w\W]*?(\1)|[^\s>]+)/i;
9
+
10
+ Prism.languages.insertBefore('inside', 'attr-value',{
11
+ 'script': {
12
+ // Allow for one level of nesting
13
+ pattern: /=(\{(?:\{[^}]*\}|[^}])+\})/i,
14
+ inside: {
15
+ 'function' : Prism.languages.javascript.function,
16
+ 'punctuation': /[={}[\];(),.:]/,
17
+ 'keyword': Prism.languages.javascript.keyword,
18
+ 'boolean': Prism.languages.javascript.boolean
19
+ },
20
+ 'alias': 'language-javascript'
21
+ }
22
+ }, Prism.languages.jsx.tag);
23
+
24
+ }(Prism));
@@ -0,0 +1 @@
1
+ !function(a){var s=a.util.clone(a.languages.javascript);a.languages.jsx=a.languages.extend("markup",s),a.languages.jsx.tag.pattern=/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+|(\{[\w\W]*?\})))?\s*)*\/?>/i,a.languages.jsx.tag.inside["attr-value"].pattern=/=[^\{](?:('|")[\w\W]*?(\1)|[^\s>]+)/i,a.languages.insertBefore("inside","attr-value",{script:{pattern:/=(\{(?:\{[^}]*\}|[^}])+\})/i,inside:{"function":a.languages.javascript.function,punctuation:/[={}[\];(),.:]/,keyword:a.languages.javascript.keyword,"boolean":a.languages.javascript.boolean},alias:"language-javascript"}},a.languages.jsx.tag)}(Prism);
@@ -0,0 +1,12 @@
1
+ Prism.languages.julia= {
2
+ 'comment': {
3
+ pattern: /(^|[^\\])#.*/,
4
+ lookbehind: true
5
+ },
6
+ 'string': /"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(\\?.)*?\1/,
7
+ 'keyword' : /\b(abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/,
8
+ 'boolean' : /\b(true|false)\b/,
9
+ 'number' : /\b-?(0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?\b/i,
10
+ 'operator': /\+=?|-=?|\*=?|\/[\/=]?|\\=?|\^=?|%=?|÷=?|!=?=?|&=?|\|[=>]?|\$=?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,
11
+ 'punctuation' : /[{}[\];(),.:]/
12
+ };
@@ -0,0 +1 @@
1
+ Prism.languages.julia={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(\\?.)*?\1/,keyword:/\b(abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/,"boolean":/\b(true|false)\b/,number:/\b-?(0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?\b/i,operator:/\+=?|-=?|\*=?|\/[\/=]?|\\=?|\^=?|%=?|÷=?|!=?=?|&=?|\|[=>]?|\$=?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\];(),.:]/};
@@ -0,0 +1,14 @@
1
+ Prism.languages.keyman = {
2
+ 'comment': /\bc\s.*/i,
3
+ 'function': /\[\s*((CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*([TKU]_[a-z0-9_?]+|".+?"|'.+?')\s*\]/i, // virtual key
4
+ 'string': /("|')((?!\1).)*\1/,
5
+ 'bold': [ // header statements, system stores and variable system stores
6
+ /&(baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|kmw_helpfile|kmw_helptext|kmw_rtl|language|layer|layoutfile|message|mnemoniclayout|name|oldcharposmatching|platform|targets|version|visualkeyboard|windowslanguages)\b/i,
7
+ /\b(bitmap|bitmaps|caps on only|caps always off|shift frees caps|copyright|hotkey|language|layout|message|name|version)\b/i
8
+ ],
9
+ 'keyword': /\b(any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\b/i, // rule keywords
10
+ 'atrule': /\b(ansi|begin|unicode|group|using keys|match|nomatch)\b/i, // structural keywords
11
+ 'number': /\b(U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i, // U+####, x###, d### characters and numbers
12
+ 'operator': /[+>\\,()]/,
13
+ 'tag': /\$(keyman|kmfl|weaver|keymanweb|keymanonly):/i // prefixes
14
+ };
@@ -0,0 +1 @@
1
+ Prism.languages.keyman={comment:/\bc\s.*/i,"function":/\[\s*((CTRL|SHIFT|ALT|LCTRL|RCTRL|LALT|RALT|CAPS|NCAPS)\s+)*([TKU]_[a-z0-9_?]+|".+?"|'.+?')\s*\]/i,string:/("|')((?!\1).)*\1/,bold:[/&(baselayout|bitmap|capsononly|capsalwaysoff|shiftfreescaps|copyright|ethnologuecode|hotkey|includecodes|keyboardversion|kmw_embedcss|kmw_embedjs|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],keyword:/\b(any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|return|reset|save|set|store|use)\b/i,atrule:/\b(ansi|begin|unicode|group|using keys|match|nomatch)\b/i,number:/\b(U\+[\dA-F]+|d\d+|x[\da-f]+|\d+)\b/i,operator:/[+>\\,()]/,tag:/\$(keyman|kmfl|weaver|keymanweb|keymanonly):/i};
@@ -0,0 +1,68 @@
1
+ (function (Prism) {
2
+ Prism.languages.kotlin = Prism.languages.extend('clike', {
3
+ 'keyword': {
4
+ // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get
5
+ pattern: /(^|[^.])\b(?:abstract|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|else|enum|final|finally|for|fun|get|if|import|in|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|out|override|package|private|protected|public|reified|return|sealed|set|super|tailrec|this|throw|to|try|val|var|when|where|while)\b/,
6
+ lookbehind: true
7
+ },
8
+ 'function': [
9
+ /\w+(?=\s*\()/,
10
+ {
11
+ pattern: /(\.)\w+(?=\s*\{)/,
12
+ lookbehind: true
13
+ }
14
+ ],
15
+ 'number': /\b(?:0[bx][\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?[fFL]?)\b/,
16
+ 'operator': /\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/
17
+ });
18
+
19
+ delete Prism.languages.kotlin["class-name"];
20
+
21
+ Prism.languages.insertBefore('kotlin', 'string', {
22
+ 'raw-string': {
23
+ pattern: /(["'])\1\1[\s\S]*?\1{3}/,
24
+ alias: 'string'
25
+ // See interpolation below
26
+ }
27
+ });
28
+ Prism.languages.insertBefore('kotlin', 'keyword', {
29
+ 'annotation': {
30
+ pattern: /\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,
31
+ alias: 'builtin'
32
+ }
33
+ });
34
+ Prism.languages.insertBefore('kotlin', 'function', {
35
+ 'label': {
36
+ pattern: /\w+@|@\w+/,
37
+ alias: 'symbol'
38
+ }
39
+ });
40
+
41
+ var interpolation = [
42
+ {
43
+ pattern: /\$\{[^}]+\}/,
44
+ inside: {
45
+ delimiter: {
46
+ pattern: /^\$\{|\}$/,
47
+ alias: 'variable'
48
+ },
49
+ rest: Prism.util.clone(Prism.languages.kotlin)
50
+ }
51
+ },
52
+ {
53
+ pattern: /\$\w+/,
54
+ alias: 'variable'
55
+ }
56
+ ];
57
+
58
+ Prism.languages.kotlin['string'] = {
59
+ pattern: Prism.languages.kotlin['string'],
60
+ inside: {
61
+ interpolation: interpolation
62
+ }
63
+ };
64
+ Prism.languages.kotlin['raw-string'].inside = {
65
+ interpolation: interpolation
66
+ };
67
+
68
+ }(Prism));
@@ -0,0 +1 @@
1
+ !function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|else|enum|final|finally|for|fun|get|if|import|in|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|out|override|package|private|protected|public|reified|return|sealed|set|super|tailrec|this|throw|to|try|val|var|when|where|while)\b/,lookbehind:!0},"function":[/\w+(?=\s*\()/,{pattern:/(\.)\w+(?=\s*\{)/,lookbehind:!0}],number:/\b(?:0[bx][\da-fA-F]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"],n.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/(["'])\1\1[\s\S]*?\1{3}/,alias:"string"}}),n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\w+@|@\w+/,alias:"symbol"}});var e=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:n.util.clone(n.languages.kotlin)}},{pattern:/\$\w+/,alias:"variable"}];n.languages.kotlin.string={pattern:n.languages.kotlin.string,inside:{interpolation:e}},n.languages.kotlin["raw-string"].inside={interpolation:e}}(Prism);
@@ -0,0 +1,61 @@
1
+ (function(Prism) {
2
+ var funcPattern = /\\([^a-z()[\]]|[a-z\*]+)/i,
3
+ insideEqu = {
4
+ 'equation-command': {
5
+ pattern: funcPattern,
6
+ alias: 'regex'
7
+ }
8
+ };
9
+
10
+ Prism.languages.latex = {
11
+ 'comment': /%.*/m,
12
+ // the verbatim environment prints whitespace to the document
13
+ 'cdata': {
14
+ pattern: /(\\begin\{((?:verbatim|lstlisting)\*?)\})([\w\W]*?)(?=\\end\{\2\})/,
15
+ lookbehind: true
16
+ },
17
+ /*
18
+ * equations can be between $ $ or \( \) or \[ \]
19
+ * (all are multiline)
20
+ */
21
+ 'equation': [
22
+ {
23
+ pattern: /\$(?:\\?[\w\W])*?\$|\\\((?:\\?[\w\W])*?\\\)|\\\[(?:\\?[\w\W])*?\\\]/,
24
+ inside: insideEqu,
25
+ alias: 'string'
26
+ },
27
+ {
28
+ pattern: /(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})([\w\W]*?)(?=\\end\{\2\})/,
29
+ lookbehind: true,
30
+ inside: insideEqu,
31
+ alias: 'string'
32
+ }
33
+ ],
34
+ /*
35
+ * arguments which are keywords or references are highlighted
36
+ * as keywords
37
+ */
38
+ 'keyword': {
39
+ pattern: /(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,
40
+ lookbehind: true
41
+ },
42
+ 'url': {
43
+ pattern: /(\\url\{)[^}]+(?=\})/,
44
+ lookbehind: true
45
+ },
46
+ /*
47
+ * section or chapter headlines are highlighted as bold so that
48
+ * they stand out more
49
+ */
50
+ 'headline': {
51
+ pattern: /(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/,
52
+ lookbehind: true,
53
+ alias: 'class-name'
54
+ },
55
+ 'function': {
56
+ pattern: funcPattern,
57
+ alias: 'selector'
58
+ },
59
+ 'punctuation': /[[\]{}&]/
60
+ };
61
+ })(Prism);
@@ -0,0 +1 @@
1
+ !function(a){var e=/\\([^a-z()[\]]|[a-z\*]+)/i,n={"equation-command":{pattern:e,alias:"regex"}};a.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\begin\{((?:verbatim|lstlisting)\*?)\})([\w\W]*?)(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$(?:\\?[\w\W])*?\$|\\\((?:\\?[\w\W])*?\\\)|\\\[(?:\\?[\w\W])*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})([\w\W]*?)(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/,lookbehind:!0,alias:"class-name"},"function":{pattern:e,alias:"selector"},punctuation:/[[\]{}&]/}}(Prism);
@@ -0,0 +1,60 @@
1
+ /* FIXME :
2
+ :extend() is not handled specifically : its highlighting is buggy.
3
+ Mixin usage must be inside a ruleset to be highlighted.
4
+ At-rules (e.g. import) containing interpolations are buggy.
5
+ Detached rulesets are highlighted as at-rules.
6
+ A comment before a mixin usage prevents the latter to be properly highlighted.
7
+ */
8
+
9
+ Prism.languages.less = Prism.languages.extend('css', {
10
+ 'comment': [
11
+ /\/\*[\w\W]*?\*\//,
12
+ {
13
+ pattern: /(^|[^\\])\/\/.*/,
14
+ lookbehind: true
15
+ }
16
+ ],
17
+ 'atrule': {
18
+ pattern: /@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,
19
+ inside: {
20
+ 'punctuation': /[:()]/
21
+ }
22
+ },
23
+ // selectors and mixins are considered the same
24
+ 'selector': {
25
+ pattern: /(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,
26
+ inside: {
27
+ // mixin parameters
28
+ 'variable': /@+[\w-]+/
29
+ }
30
+ },
31
+
32
+ 'property': /(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,
33
+ 'punctuation': /[{}();:,]/,
34
+ 'operator': /[+\-*\/]/
35
+ });
36
+
37
+ // Invert function and punctuation positions
38
+ Prism.languages.insertBefore('less', 'punctuation', {
39
+ 'function': Prism.languages.less.function
40
+ });
41
+
42
+ Prism.languages.insertBefore('less', 'property', {
43
+ 'variable': [
44
+ // Variable declaration (the colon must be consumed!)
45
+ {
46
+ pattern: /@[\w-]+\s*:/,
47
+ inside: {
48
+ "punctuation": /:/
49
+ }
50
+ },
51
+
52
+ // Variable usage
53
+ /@@?[\w-]+/
54
+ ],
55
+ 'mixin-usage': {
56
+ pattern: /([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,
57
+ lookbehind: true,
58
+ alias: 'function'
59
+ }
60
+ });
@@ -0,0 +1 @@
1
+ Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\w\W]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-]+?(?:\([^{}]+\)|[^(){};])*?(?=\s*\{)/i,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\([^{}]*\)|[^{};@])*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,punctuation:/[{}();:,]/,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","punctuation",{"function":Prism.languages.less.function}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-]+.*?(?=[(;])/,lookbehind:!0,alias:"function"}});
@@ -0,0 +1,54 @@
1
+ Prism.languages.lolcode = {
2
+ 'comment': [
3
+ /\bOBTW\s+[\s\S]*?\s+TLDR\b/,
4
+ /\bBTW.+/
5
+ ],
6
+ 'string': {
7
+ pattern: /"(?::.|[^"])*"/,
8
+ inside: {
9
+ 'variable': /:\{[^}]+\}/,
10
+ 'symbol': [
11
+ /:\([a-f\d]+\)/i,
12
+ /:\[[^\]]+\]/,
13
+ /:[)>o":]/
14
+ ]
15
+ }
16
+ },
17
+ 'number': /(-|\b)\d*\.?\d+/,
18
+ 'symbol': {
19
+ pattern: /(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/,
20
+ lookbehind: true,
21
+ inside: {
22
+ 'keyword': /A(?=\s)/
23
+ }
24
+ },
25
+ 'label': {
26
+ pattern: /((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,
27
+ lookbehind: true,
28
+ alias: 'string'
29
+ },
30
+ 'function': {
31
+ pattern: /((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/,
32
+ lookbehind: true
33
+ },
34
+ 'keyword': [
35
+ {
36
+ pattern: /(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/,
37
+ lookbehind: true
38
+ },
39
+ /'Z(?=\s|,|$)/
40
+ ],
41
+ 'boolean': {
42
+ pattern: /(^|\s)(?:WIN|FAIL)(?=\s|,|$)/,
43
+ lookbehind: true
44
+ },
45
+ 'variable': {
46
+ pattern: /(^|\s)IT(?=\s|,|$)/,
47
+ lookbehind: true
48
+ },
49
+ 'operator': {
50
+ pattern: /(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/,
51
+ lookbehind: true
52
+ },
53
+ 'punctuation': /\.{3}|…|,|!/
54
+ };
@@ -0,0 +1 @@
1
+ Prism.languages.lolcode={comment:[/\bOBTW\s+[\s\S]*?\s+TLDR\b/,/\bBTW.+/],string:{pattern:/"(?::.|[^"])*"/,inside:{variable:/:\{[^}]+\}/,symbol:[/:\([a-f\d]+\)/i,/:\[[^\]]+\]/,/:[)>o":]/]}},number:/(-|\b)\d*\.?\d+/,symbol:{pattern:/(^|\s)(?:A )?(?:YARN|NUMBR|NUMBAR|TROOF|BUKKIT|NOOB)(?=\s|,|$)/,lookbehind:!0,inside:{keyword:/A(?=\s)/}},label:{pattern:/((?:^|\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\w*/,lookbehind:!0,alias:"string"},"function":{pattern:/((?:^|\s)(?:I IZ|HOW IZ I|IZ) )[a-zA-Z]\w*/,lookbehind:!0},keyword:[{pattern:/(^|\s)(?:O HAI IM|KTHX|HAI|KTHXBYE|I HAS A|ITZ(?: A)?|R|AN|MKAY|SMOOSH|MAEK|IS NOW(?: A)?|VISIBLE|GIMMEH|O RLY\?|YA RLY|NO WAI|OIC|MEBBE|WTF\?|OMG|OMGWTF|GTFO|IM IN YR|IM OUTTA YR|FOUND YR|YR|TIL|WILE|UPPIN|NERFIN|I IZ|HOW IZ I|IF U SAY SO|SRS|HAS A|LIEK(?: A)?|IZ)(?=\s|,|$)/,lookbehind:!0},/'Z(?=\s|,|$)/],"boolean":{pattern:/(^|\s)(?:WIN|FAIL)(?=\s|,|$)/,lookbehind:!0},variable:{pattern:/(^|\s)IT(?=\s|,|$)/,lookbehind:!0},operator:{pattern:/(^|\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:SUM|DIFF|PRODUKT|QUOSHUNT|MOD|BIGGR|SMALLR|BOTH|EITHER|WON|ALL|ANY) OF)(?=\s|,|$)/,lookbehind:!0},punctuation:/\.{3}|…|,|!/};
@@ -0,0 +1,17 @@
1
+ Prism.languages.lua = {
2
+ 'comment': /^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,
3
+ // \z may be used to skip the following space
4
+ 'string': /(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,
5
+ 'number': /\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,
6
+ 'keyword': /\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,
7
+ 'function': /(?!\d)\w+(?=\s*(?:[({]))/,
8
+ 'operator': [
9
+ /[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,
10
+ {
11
+ // Match ".." but don't break "..."
12
+ pattern: /(^|[^.])\.\.(?!\.)/,
13
+ lookbehind: true
14
+ }
15
+ ],
16
+ 'punctuation': /[\[\](){},;]|\.+|:+/
17
+ };
@@ -0,0 +1 @@
1
+ Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,"function":/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/};
@@ -0,0 +1,31 @@
1
+ Prism.languages.makefile = {
2
+ 'comment': {
3
+ pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|.)*/,
4
+ lookbehind: true
5
+ },
6
+ 'string': /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
7
+
8
+ // Built-in target names
9
+ 'builtin': /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
10
+
11
+ // Targets
12
+ 'symbol': {
13
+ pattern: /^[^:=\r\n]+(?=\s*:(?!=))/m,
14
+ inside: {
15
+ 'variable': /\$+(?:[^(){}:#=\s]+|(?=[({]))/
16
+ }
17
+ },
18
+ 'variable': /\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
19
+
20
+ 'keyword': [
21
+ // Directives
22
+ /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,
23
+ // Functions
24
+ {
25
+ pattern: /(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,
26
+ lookbehind: true
27
+ }
28
+ ],
29
+ 'operator': /(?:::|[?:+!])?=|[|@]/,
30
+ 'punctuation': /[:;(){}]/
31
+ };
@@ -0,0 +1 @@
1
+ Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|.)*/,lookbehind:!0},string:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^[^:=\r\n]+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/};
@@ -0,0 +1,120 @@
1
+ Prism.languages.markdown = Prism.languages.extend('markup', {});
2
+ Prism.languages.insertBefore('markdown', 'prolog', {
3
+ 'blockquote': {
4
+ // > ...
5
+ pattern: /^>(?:[\t ]*>)*/m,
6
+ alias: 'punctuation'
7
+ },
8
+ 'code': [
9
+ {
10
+ // Prefixed by 4 spaces or 1 tab
11
+ pattern: /^(?: {4}|\t).+/m,
12
+ alias: 'keyword'
13
+ },
14
+ {
15
+ // `code`
16
+ // ``code``
17
+ pattern: /``.+?``|`[^`\n]+`/,
18
+ alias: 'keyword'
19
+ }
20
+ ],
21
+ 'title': [
22
+ {
23
+ // title 1
24
+ // =======
25
+
26
+ // title 2
27
+ // -------
28
+ pattern: /\w+.*(?:\r?\n|\r)(?:==+|--+)/,
29
+ alias: 'important',
30
+ inside: {
31
+ punctuation: /==+$|--+$/
32
+ }
33
+ },
34
+ {
35
+ // # title 1
36
+ // ###### title 6
37
+ pattern: /(^\s*)#+.+/m,
38
+ lookbehind: true,
39
+ alias: 'important',
40
+ inside: {
41
+ punctuation: /^#+|#+$/
42
+ }
43
+ }
44
+ ],
45
+ 'hr': {
46
+ // ***
47
+ // ---
48
+ // * * *
49
+ // -----------
50
+ pattern: /(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,
51
+ lookbehind: true,
52
+ alias: 'punctuation'
53
+ },
54
+ 'list': {
55
+ // * item
56
+ // + item
57
+ // - item
58
+ // 1. item
59
+ pattern: /(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,
60
+ lookbehind: true,
61
+ alias: 'punctuation'
62
+ },
63
+ 'url-reference': {
64
+ // [id]: http://example.com "Optional title"
65
+ // [id]: http://example.com 'Optional title'
66
+ // [id]: http://example.com (Optional title)
67
+ // [id]: <http://example.com> "Optional title"
68
+ pattern: /!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,
69
+ inside: {
70
+ 'variable': {
71
+ pattern: /^(!?\[)[^\]]+/,
72
+ lookbehind: true
73
+ },
74
+ 'string': /(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,
75
+ 'punctuation': /^[\[\]!:]|[<>]/
76
+ },
77
+ alias: 'url'
78
+ },
79
+ 'bold': {
80
+ // **strong**
81
+ // __strong__
82
+
83
+ // Allow only one line break
84
+ pattern: /(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,
85
+ lookbehind: true,
86
+ inside: {
87
+ 'punctuation': /^\*\*|^__|\*\*$|__$/
88
+ }
89
+ },
90
+ 'italic': {
91
+ // *em*
92
+ // _em_
93
+
94
+ // Allow only one line break
95
+ pattern: /(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,
96
+ lookbehind: true,
97
+ inside: {
98
+ 'punctuation': /^[*_]|[*_]$/
99
+ }
100
+ },
101
+ 'url': {
102
+ // [example](http://example.com "Optional title")
103
+ // [example] [id]
104
+ pattern: /!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,
105
+ inside: {
106
+ 'variable': {
107
+ pattern: /(!?\[)[^\]]+(?=\]$)/,
108
+ lookbehind: true
109
+ },
110
+ 'string': {
111
+ pattern: /"(?:\\.|[^"\\])*"(?=\)$)/
112
+ }
113
+ }
114
+ }
115
+ });
116
+
117
+ Prism.languages.markdown['bold'].inside['url'] = Prism.util.clone(Prism.languages.markdown['url']);
118
+ Prism.languages.markdown['italic'].inside['url'] = Prism.util.clone(Prism.languages.markdown['url']);
119
+ Prism.languages.markdown['bold'].inside['italic'] = Prism.util.clone(Prism.languages.markdown['italic']);
120
+ Prism.languages.markdown['italic'].inside['bold'] = Prism.util.clone(Prism.languages.markdown['bold']);