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,36 @@
1
+ Prism.languages.aspnet = Prism.languages.extend('markup', {
2
+ 'page-directive tag': {
3
+ pattern: /<%\s*@.*%>/i,
4
+ inside: {
5
+ 'page-directive tag': /<%\s*@\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,
6
+ rest: Prism.languages.markup.tag.inside
7
+ }
8
+ },
9
+ 'directive tag': {
10
+ pattern: /<%.*%>/i,
11
+ inside: {
12
+ 'directive tag': /<%\s*?[$=%#:]{0,2}|%>/i,
13
+ rest: Prism.languages.csharp
14
+ }
15
+ }
16
+ });
17
+ // Regexp copied from prism-markup, with a negative look-ahead added
18
+ Prism.languages.aspnet.tag.pattern = /<(?!%)\/?[^\s>\/]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i;
19
+
20
+ // match directives of attribute value foo="<% Bar %>"
21
+ Prism.languages.insertBefore('inside', 'punctuation', {
22
+ 'directive tag': Prism.languages.aspnet['directive tag']
23
+ }, Prism.languages.aspnet.tag.inside["attr-value"]);
24
+
25
+ Prism.languages.insertBefore('aspnet', 'comment', {
26
+ 'asp comment': /<%--[\w\W]*?--%>/
27
+ });
28
+
29
+ // script runat="server" contains csharp, not javascript
30
+ Prism.languages.insertBefore('aspnet', Prism.languages.javascript ? 'script' : 'tag', {
31
+ 'asp script': {
32
+ pattern: /(<script(?=.*runat=['"]?server['"]?)[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,
33
+ lookbehind: true,
34
+ inside: Prism.languages.csharp || {}
35
+ }
36
+ });
@@ -0,0 +1,27 @@
1
+ // NOTES - follows first-first highlight method, block is locked after highlight, different from SyntaxHl
2
+ Prism.languages.autohotkey= {
3
+ 'comment': {
4
+ pattern: /(^[^";\n]*("[^"\n]*?"[^"\n]*?)*)(;.*$|^\s*\/\*[\s\S]*\n\*\/)/m,
5
+ lookbehind: true
6
+ },
7
+ 'string': /"(([^"\n\r]|"")*)"/m,
8
+ 'function': /[^\(\); \t,\n\+\*\-=\?>:\\\/<&%\[\]]+?(?=\()/m, //function - don't use .*\) in the end bcoz string locks it
9
+ 'tag': /^[ \t]*[^\s:]+?(?=:(?:[^:]|$))/m, //labels
10
+ 'variable': /%\w+%/,
11
+ 'number': /\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,
12
+ 'operator': /\?|\/\/?=?|:=|\|[=|]?|&[=&]?|\+[=+]?|-[=-]?|\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\b(?:AND|NOT|OR)\b/,
13
+ 'punctuation': /[\{}[\]\(\):,]/,
14
+ 'boolean': /\b(true|false)\b/,
15
+
16
+ 'selector': /\b(AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\b/i,
17
+
18
+ 'constant': /\b(a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_formatfloat|a_formatinteger|a_gui|a_guievent|a_guicontrol|a_guicontrolevent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|programfiles|a_programfiles|a_programs|a_programscommon|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel)\b/i,
19
+
20
+ 'builtin': /\b(abs|acos|asc|asin|atan|ceil|chr|class|cos|dllcall|exp|fileexist|Fileopen|floor|il_add|il_create|il_destroy|instr|substr|isfunc|islabel|IsObject|ln|log|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|onmessage|numget|numput|registercallback|regexmatch|regexreplace|round|sin|tan|sqrt|strlen|sb_seticon|sb_setparts|sb_settext|strsplit|tv_add|tv_delete|tv_getchild|tv_getcount|tv_getnext|tv_get|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__New|__Call|__Get|__Set)\b/i,
21
+
22
+ 'symbol': /\b(alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\b/i,
23
+
24
+ 'important': /#\b(AllowSameLineComments|ClipboardTimeout|CommentFlag|ErrorStdOut|EscapeChar|HotkeyInterval|HotkeyModifierTimeout|Hotstring|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Include|IncludeAgain|InstallKeybdHook|InstallMouseHook|KeyHistory|LTrim|MaxHotkeysPerInterval|MaxMem|MaxThreads|MaxThreadsBuffer|MaxThreadsPerHotkey|NoEnv|NoTrayIcon|Persistent|SingleInstance|UseHook|WinActivateForce)\b/i,
25
+
26
+ 'keyword': /\b(Abort|AboveNormal|Add|ahk_class|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Region|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|TryAgain|Type|UnCheck|underline|Unicode|Unlock|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\b/i
27
+ };
@@ -0,0 +1,33 @@
1
+ Prism.languages.autoit = {
2
+ "comment": [
3
+ /;.*/,
4
+ {
5
+ // The multi-line comments delimiters can actually be commented out with ";"
6
+ pattern: /(^\s*)#(?:comments-start|cs)[\s\S]*?^\s*#(?:comments-end|ce)/m,
7
+ lookbehind: true
8
+ }
9
+ ],
10
+ "url": {
11
+ pattern: /(^\s*#include\s+)(?:<[^\r\n>]+>|"[^\r\n"]+")/m,
12
+ lookbehind: true
13
+ },
14
+ "string": {
15
+ pattern: /(["'])(?:\1\1|(?!\1)[^\r\n])*\1/,
16
+ inside: {
17
+ "variable": /([%$@])\w+\1/
18
+ }
19
+ },
20
+ "directive": {
21
+ pattern: /(^\s*)#\w+/m,
22
+ lookbehind: true,
23
+ alias: 'keyword'
24
+ },
25
+ "function": /\b\w+(?=\()/,
26
+ // Variables and macros
27
+ "variable": /[$@]\w+/,
28
+ "keyword": /\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\b/i,
29
+ "number": /\b(?:0x[\da-f]+|\d+(?:\.\d+)?(?:e[+-]?\d+)?)\b/i,
30
+ "boolean": /\b(?:True|False)\b/i,
31
+ "operator": /<[=>]?|[-+*\/=&>]=?|[?^]|\b(?:And|Or|Not)\b/i,
32
+ "punctuation": /[\[\]().,:]/
33
+ };
@@ -0,0 +1,80 @@
1
+ (function(Prism) {
2
+ var insideString = {
3
+ variable: [
4
+ // Arithmetic Environment
5
+ {
6
+ pattern: /\$?\(\([\w\W]+?\)\)/,
7
+ inside: {
8
+ // If there is a $ sign at the beginning highlight $(( and )) as variable
9
+ variable: [{
10
+ pattern: /(^\$\(\([\w\W]+)\)\)/,
11
+ lookbehind: true
12
+ },
13
+ /^\$\(\(/,
14
+ ],
15
+ number: /\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee]-?\d+)?)\b/,
16
+ // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic
17
+ operator: /--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,
18
+ // If there is no $ sign at the beginning highlight (( and )) as punctuation
19
+ punctuation: /\(\(?|\)\)?|,|;/
20
+ }
21
+ },
22
+ // Command Substitution
23
+ {
24
+ pattern: /\$\([^)]+\)|`[^`]+`/,
25
+ inside: {
26
+ variable: /^\$\(|^`|\)$|`$/
27
+ }
28
+ },
29
+ /\$(?:[a-z0-9_#\?\*!@]+|\{[^}]+\})/i
30
+ ],
31
+ };
32
+
33
+ Prism.languages.bash = {
34
+ 'shebang': {
35
+ pattern: /^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/,
36
+ alias: 'important'
37
+ },
38
+ 'comment': {
39
+ pattern: /(^|[^"{\\])#.*/,
40
+ lookbehind: true
41
+ },
42
+ 'string': [
43
+ //Support for Here-Documents https://en.wikipedia.org/wiki/Here_document
44
+ {
45
+ pattern: /((?:^|[^<])<<\s*)(?:"|')?(\w+?)(?:"|')?\s*\r?\n(?:[\s\S])*?\r?\n\2/g,
46
+ lookbehind: true,
47
+ greedy: true,
48
+ inside: insideString
49
+ },
50
+ {
51
+ pattern: /(["'])(?:\\\\|\\?[^\\])*?\1/g,
52
+ greedy: true,
53
+ inside: insideString
54
+ }
55
+ ],
56
+ 'variable': insideString.variable,
57
+ // Originally based on http://ss64.com/bash/
58
+ 'function': {
59
+ pattern: /(^|\s|;|\||&)(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|\s|;|\||&)/,
60
+ lookbehind: true
61
+ },
62
+ 'keyword': {
63
+ pattern: /(^|\s|;|\||&)(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|\s|;|\||&)/,
64
+ lookbehind: true
65
+ },
66
+ 'boolean': {
67
+ pattern: /(^|\s|;|\||&)(?:true|false)(?=$|\s|;|\||&)/,
68
+ lookbehind: true
69
+ },
70
+ 'operator': /&&?|\|\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,
71
+ 'punctuation': /\$?\(\(?|\)\)?|\.\.|[{}[\];]/
72
+ };
73
+
74
+ var inside = insideString.variable[1].inside;
75
+ inside['function'] = Prism.languages.bash['function'];
76
+ inside.keyword = Prism.languages.bash.keyword;
77
+ inside.boolean = Prism.languages.bash.boolean;
78
+ inside.operator = Prism.languages.bash.operator;
79
+ inside.punctuation = Prism.languages.bash.punctuation;
80
+ })(Prism);
@@ -0,0 +1,14 @@
1
+ Prism.languages.basic = {
2
+ 'string': /"(?:""|[!#$%&'()*,\/:;<=>?^_ +\-.A-Z\d])*"/i,
3
+ 'comment': {
4
+ pattern: /(?:!|REM\b).+/i,
5
+ inside: {
6
+ 'keyword': /^REM/i
7
+ }
8
+ },
9
+ 'number': /(?:\b|\B[.-])(?:\d+\.?\d*)(?:E[+-]?\d+)?/i,
10
+ 'keyword': /\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SHARED|SINGLE|SELECT CASE|SHELL|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,
11
+ 'function': /\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,
12
+ 'operator': /<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,
13
+ 'punctuation': /[,;:()]/
14
+ };
@@ -0,0 +1,99 @@
1
+ (function (Prism) {
2
+ var variable = /%%?[~:\w]+%?|!\S+!/;
3
+ var parameter = {
4
+ pattern: /\/[a-z?]+(?=[ :]|$):?|-[a-z]\b|--[a-z-]+\b/im,
5
+ alias: 'attr-name',
6
+ inside: {
7
+ 'punctuation': /:/
8
+ }
9
+ };
10
+ var string = /"[^"]*"/;
11
+ var number = /(?:\b|-)\d+\b/;
12
+
13
+ Prism.languages.batch = {
14
+ 'comment': [
15
+ /^::.*/m,
16
+ {
17
+ pattern: /((?:^|[&(])[ \t]*)rem\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,
18
+ lookbehind: true
19
+ }
20
+ ],
21
+ 'label': {
22
+ pattern: /^:.*/m,
23
+ alias: 'property'
24
+ },
25
+ 'command': [
26
+ {
27
+ // FOR command
28
+ pattern: /((?:^|[&(])[ \t]*)for(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* \S+ in \([^)]+\) do/im,
29
+ lookbehind: true,
30
+ inside: {
31
+ 'keyword': /^for\b|\b(?:in|do)\b/i,
32
+ 'string': string,
33
+ 'parameter': parameter,
34
+ 'variable': variable,
35
+ 'number': number,
36
+ 'punctuation': /[()',]/
37
+ }
38
+ },
39
+ {
40
+ // IF command
41
+ pattern: /((?:^|[&(])[ \t]*)if(?: ?\/[a-z?](?:[ :](?:"[^"]*"|\S+))?)* (?:not )?(?:cmdextversion \d+|defined \w+|errorlevel \d+|exist \S+|(?:"[^"]*"|\S+)?(?:==| (?:equ|neq|lss|leq|gtr|geq) )(?:"[^"]*"|\S+))/im,
42
+ lookbehind: true,
43
+ inside: {
44
+ 'keyword': /^if\b|\b(?:not|cmdextversion|defined|errorlevel|exist)\b/i,
45
+ 'string': string,
46
+ 'parameter': parameter,
47
+ 'variable': variable,
48
+ 'number': number,
49
+ 'operator': /\^|==|\b(?:equ|neq|lss|leq|gtr|geq)\b/i
50
+ }
51
+ },
52
+ {
53
+ // ELSE command
54
+ pattern: /((?:^|[&()])[ \t]*)else\b/im,
55
+ lookbehind: true,
56
+ inside: {
57
+ 'keyword': /^else\b/i
58
+ }
59
+ },
60
+ {
61
+ // SET command
62
+ pattern: /((?:^|[&(])[ \t]*)set(?: ?\/[a-z](?:[ :](?:"[^"]*"|\S+))?)* (?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,
63
+ lookbehind: true,
64
+ inside: {
65
+ 'keyword': /^set\b/i,
66
+ 'string': string,
67
+ 'parameter': parameter,
68
+ 'variable': [
69
+ variable,
70
+ /\w+(?=(?:[*\/%+\-&^|]|<<|>>)?=)/
71
+ ],
72
+ 'number': number,
73
+ 'operator': /[*\/%+\-&^|]=?|<<=?|>>=?|[!~_=]/,
74
+ 'punctuation': /[()',]/
75
+ }
76
+ },
77
+ {
78
+ // Other commands
79
+ pattern: /((?:^|[&(])[ \t]*@?)\w+\b(?:[^^&)\r\n]|\^(?:\r\n|[\s\S]))*/im,
80
+ lookbehind: true,
81
+ inside: {
82
+ 'keyword': /^\w+\b/i,
83
+ 'string': string,
84
+ 'parameter': parameter,
85
+ 'label': {
86
+ pattern: /(^\s*):\S+/m,
87
+ lookbehind: true,
88
+ alias: 'property'
89
+ },
90
+ 'variable': variable,
91
+ 'number': number,
92
+ 'operator': /\^/
93
+ }
94
+ }
95
+ ],
96
+ 'operator': /[&@]/,
97
+ 'punctuation': /[()']/
98
+ };
99
+ }(Prism));
@@ -0,0 +1,39 @@
1
+ Prism.languages.bison = Prism.languages.extend('c', {});
2
+
3
+ Prism.languages.insertBefore('bison', 'comment', {
4
+ 'bison': {
5
+ // This should match all the beginning of the file
6
+ // including the prologue(s), the bison declarations and
7
+ // the grammar rules.
8
+ pattern: /^[\s\S]*?%%[\s\S]*?%%/,
9
+ inside: {
10
+ 'c': {
11
+ // Allow for one level of nested braces
12
+ pattern: /%\{[\s\S]*?%\}|\{(?:\{[^}]*\}|[^{}])*\}/,
13
+ inside: {
14
+ 'delimiter': {
15
+ pattern: /^%?\{|%?\}$/,
16
+ alias: 'punctuation'
17
+ },
18
+ 'bison-variable': {
19
+ pattern: /[$@](?:<[^\s>]+>)?[\w$]+/,
20
+ alias: 'variable',
21
+ inside: {
22
+ 'punctuation': /<|>/
23
+ }
24
+ },
25
+ rest: Prism.languages.c
26
+ }
27
+ },
28
+ 'comment': Prism.languages.c.comment,
29
+ 'string': Prism.languages.c.string,
30
+ 'property': /\S+(?=:)/,
31
+ 'keyword': /%\w+/,
32
+ 'number': {
33
+ pattern: /(^|[^@])\b(?:0x[\da-f]+|\d+)/i,
34
+ lookbehind: true
35
+ },
36
+ 'punctuation': /%[%?]|[|:;\[\]<>]/
37
+ }
38
+ }
39
+ });
@@ -0,0 +1,20 @@
1
+ Prism.languages.brainfuck = {
2
+ 'pointer': {
3
+ pattern: /<|>/,
4
+ alias: 'keyword'
5
+ },
6
+ 'increment': {
7
+ pattern: /\+/,
8
+ alias: 'inserted'
9
+ },
10
+ 'decrement': {
11
+ pattern: /-/,
12
+ alias: 'deleted'
13
+ },
14
+ 'branching': {
15
+ pattern: /\[|\]/,
16
+ alias: 'important'
17
+ },
18
+ 'operator': /[.,]/,
19
+ 'comment': /\S+/
20
+ };
@@ -0,0 +1,50 @@
1
+ Prism.languages.bro = {
2
+
3
+ 'comment': {
4
+ pattern: /(^|[^\\$])#.*/,
5
+ lookbehind: true,
6
+ inside: {
7
+ 'italic': /\b(TODO|FIXME|XXX)\b/
8
+ }
9
+ },
10
+
11
+ 'string': {
12
+ pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
13
+ greedy: true
14
+ },
15
+
16
+ 'boolean': /\b(T|F)\b/,
17
+
18
+ 'function': {
19
+ pattern: /(?:function|hook|event) [a-zA-Z0-9_]+(::[a-zA-Z0-9_]+)?/,
20
+ inside: {
21
+ keyword: /^(?:function|hook|event)/
22
+ }
23
+ },
24
+
25
+ 'variable': {
26
+ pattern: /(?:global|local) [a-zA-Z0-9_]+/i,
27
+ inside: {
28
+ keyword: /(?:global|local)/
29
+ }
30
+ },
31
+
32
+ 'builtin':
33
+ /(@(load(-(sigs|plugin))?|unload|prefixes|ifn?def|else|(end)?if|DIR|FILENAME))|(&?(redef|priority|log|optional|default|add_func|delete_func|expire_func|read_expire|write_expire|create_expire|synchronized|persistent|rotate_interval|rotate_size|encrypt|raw_output|mergeable|group|error_handler|type_column))/,
34
+
35
+ 'constant': {
36
+ pattern: /const [a-zA-Z0-9_]+/i,
37
+ inside: {
38
+ keyword: /const/
39
+ }
40
+ },
41
+
42
+ 'keyword':
43
+ /\b(break|next|continue|alarm|using|of|add|delete|export|print|return|schedule|when|timeout|addr|any|bool|count|double|enum|file|int|interval|pattern|opaque|port|record|set|string|subnet|table|time|vector|for|if|else|in|module|function)\b/,
44
+
45
+ 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&|\|\|?|\?|\*|\/|~|\^|%/,
46
+
47
+ 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
48
+
49
+ 'punctuation': /[{}[\];(),.:]/
50
+ };
@@ -0,0 +1,33 @@
1
+ Prism.languages.c = Prism.languages.extend('clike', {
2
+ 'keyword': /\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,
3
+ 'operator': /\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/,
4
+ 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i
5
+ });
6
+
7
+ Prism.languages.insertBefore('c', 'string', {
8
+ 'macro': {
9
+ // allow for multiline macro definitions
10
+ // spaces after the # character compile fine with gcc
11
+ pattern: /(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,
12
+ lookbehind: true,
13
+ alias: 'property',
14
+ inside: {
15
+ // highlight the path of the include statement as a string
16
+ 'string': {
17
+ pattern: /(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,
18
+ lookbehind: true
19
+ },
20
+ // highlight macro directives as keywords
21
+ 'directive': {
22
+ pattern: /(#\s*)\b(define|elif|else|endif|error|ifdef|ifndef|if|import|include|line|pragma|undef|using)\b/,
23
+ lookbehind: true,
24
+ alias: 'keyword'
25
+ }
26
+ }
27
+ },
28
+ // highlight predefined macros as constants
29
+ 'constant': /\b(__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|stdin|stdout|stderr)\b/
30
+ });
31
+
32
+ delete Prism.languages.c['class-name'];
33
+ delete Prism.languages.c['boolean'];
@@ -0,0 +1,29 @@
1
+ Prism.languages.clike = {
2
+ 'comment': [
3
+ {
4
+ pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
5
+ lookbehind: true
6
+ },
7
+ {
8
+ pattern: /(^|[^\\:])\/\/.*/,
9
+ lookbehind: true
10
+ }
11
+ ],
12
+ 'string': {
13
+ pattern: /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
14
+ greedy: true
15
+ },
16
+ 'class-name': {
17
+ pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
18
+ lookbehind: true,
19
+ inside: {
20
+ punctuation: /(\.|\\)/
21
+ }
22
+ },
23
+ 'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
24
+ 'boolean': /\b(true|false)\b/,
25
+ 'function': /[a-z0-9_]+(?=\()/i,
26
+ 'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
27
+ 'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
28
+ 'punctuation': /[{}[\];(),.:]/
29
+ };