rouge 3.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (429) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +40 -0
  3. data/LICENSE +186 -0
  4. data/bin/rougify +18 -0
  5. data/lib/rouge.rb +93 -0
  6. data/lib/rouge/cli.rb +498 -0
  7. data/lib/rouge/demos/abap +6 -0
  8. data/lib/rouge/demos/actionscript +4 -0
  9. data/lib/rouge/demos/ada +26 -0
  10. data/lib/rouge/demos/apache +21 -0
  11. data/lib/rouge/demos/apex +9 -0
  12. data/lib/rouge/demos/apiblueprint +33 -0
  13. data/lib/rouge/demos/applescript +2 -0
  14. data/lib/rouge/demos/armasm +12 -0
  15. data/lib/rouge/demos/awk +4 -0
  16. data/lib/rouge/demos/batchfile +3 -0
  17. data/lib/rouge/demos/bbcbasic +6 -0
  18. data/lib/rouge/demos/biml +38 -0
  19. data/lib/rouge/demos/bpf +7 -0
  20. data/lib/rouge/demos/brainfuck +5 -0
  21. data/lib/rouge/demos/bsl +7 -0
  22. data/lib/rouge/demos/c +8 -0
  23. data/lib/rouge/demos/ceylon +7 -0
  24. data/lib/rouge/demos/cfscript +18 -0
  25. data/lib/rouge/demos/clean +6 -0
  26. data/lib/rouge/demos/clojure +5 -0
  27. data/lib/rouge/demos/cmake +7 -0
  28. data/lib/rouge/demos/cmhg +8 -0
  29. data/lib/rouge/demos/coffeescript +5 -0
  30. data/lib/rouge/demos/common_lisp +1 -0
  31. data/lib/rouge/demos/conf +4 -0
  32. data/lib/rouge/demos/console +6 -0
  33. data/lib/rouge/demos/coq +13 -0
  34. data/lib/rouge/demos/cpp +8 -0
  35. data/lib/rouge/demos/crystal +45 -0
  36. data/lib/rouge/demos/csharp +5 -0
  37. data/lib/rouge/demos/css +4 -0
  38. data/lib/rouge/demos/csvs +8 -0
  39. data/lib/rouge/demos/cuda +11 -0
  40. data/lib/rouge/demos/cython +6 -0
  41. data/lib/rouge/demos/d +16 -0
  42. data/lib/rouge/demos/dart +6 -0
  43. data/lib/rouge/demos/diff +7 -0
  44. data/lib/rouge/demos/digdag +19 -0
  45. data/lib/rouge/demos/docker +9 -0
  46. data/lib/rouge/demos/dot +5 -0
  47. data/lib/rouge/demos/ecl +18 -0
  48. data/lib/rouge/demos/eex +1 -0
  49. data/lib/rouge/demos/eiffel +30 -0
  50. data/lib/rouge/demos/elixir +1 -0
  51. data/lib/rouge/demos/elm +4 -0
  52. data/lib/rouge/demos/epp +4 -0
  53. data/lib/rouge/demos/erb +1 -0
  54. data/lib/rouge/demos/erlang +7 -0
  55. data/lib/rouge/demos/escape +3 -0
  56. data/lib/rouge/demos/factor +5 -0
  57. data/lib/rouge/demos/fortran +22 -0
  58. data/lib/rouge/demos/freefem +16 -0
  59. data/lib/rouge/demos/fsharp +12 -0
  60. data/lib/rouge/demos/gdscript +18 -0
  61. data/lib/rouge/demos/ghc-core +26 -0
  62. data/lib/rouge/demos/gherkin +17 -0
  63. data/lib/rouge/demos/glsl +14 -0
  64. data/lib/rouge/demos/go +7 -0
  65. data/lib/rouge/demos/gradle +10 -0
  66. data/lib/rouge/demos/graphql +17 -0
  67. data/lib/rouge/demos/groovy +9 -0
  68. data/lib/rouge/demos/hack +5 -0
  69. data/lib/rouge/demos/haml +5 -0
  70. data/lib/rouge/demos/handlebars +7 -0
  71. data/lib/rouge/demos/haskell +6 -0
  72. data/lib/rouge/demos/haxe +5 -0
  73. data/lib/rouge/demos/hcl +7 -0
  74. data/lib/rouge/demos/hocon +8 -0
  75. data/lib/rouge/demos/hql +5 -0
  76. data/lib/rouge/demos/html +8 -0
  77. data/lib/rouge/demos/http +14 -0
  78. data/lib/rouge/demos/hylang +10 -0
  79. data/lib/rouge/demos/idlang +8 -0
  80. data/lib/rouge/demos/igorpro +9 -0
  81. data/lib/rouge/demos/ini +4 -0
  82. data/lib/rouge/demos/io +11 -0
  83. data/lib/rouge/demos/irb +4 -0
  84. data/lib/rouge/demos/irb_output +2 -0
  85. data/lib/rouge/demos/java +5 -0
  86. data/lib/rouge/demos/javascript +1 -0
  87. data/lib/rouge/demos/jinja +9 -0
  88. data/lib/rouge/demos/jsl +3 -0
  89. data/lib/rouge/demos/json +1 -0
  90. data/lib/rouge/demos/json-doc +1 -0
  91. data/lib/rouge/demos/jsonnet +28 -0
  92. data/lib/rouge/demos/jsp +29 -0
  93. data/lib/rouge/demos/jsx +17 -0
  94. data/lib/rouge/demos/julia +11 -0
  95. data/lib/rouge/demos/kotlin +3 -0
  96. data/lib/rouge/demos/lasso +12 -0
  97. data/lib/rouge/demos/liquid +10 -0
  98. data/lib/rouge/demos/literate_coffeescript +3 -0
  99. data/lib/rouge/demos/literate_haskell +7 -0
  100. data/lib/rouge/demos/llvm +20 -0
  101. data/lib/rouge/demos/lua +12 -0
  102. data/lib/rouge/demos/lustre +6 -0
  103. data/lib/rouge/demos/lutin +18 -0
  104. data/lib/rouge/demos/m68k +16 -0
  105. data/lib/rouge/demos/magik +6 -0
  106. data/lib/rouge/demos/make +6 -0
  107. data/lib/rouge/demos/markdown +4 -0
  108. data/lib/rouge/demos/mason +22 -0
  109. data/lib/rouge/demos/mathematica +8 -0
  110. data/lib/rouge/demos/matlab +6 -0
  111. data/lib/rouge/demos/minizinc +23 -0
  112. data/lib/rouge/demos/moonscript +16 -0
  113. data/lib/rouge/demos/mosel +10 -0
  114. data/lib/rouge/demos/msgtrans +4 -0
  115. data/lib/rouge/demos/mxml +22 -0
  116. data/lib/rouge/demos/nasm +26 -0
  117. data/lib/rouge/demos/nesasm +11 -0
  118. data/lib/rouge/demos/nginx +5 -0
  119. data/lib/rouge/demos/nim +27 -0
  120. data/lib/rouge/demos/nix +19 -0
  121. data/lib/rouge/demos/objective_c +18 -0
  122. data/lib/rouge/demos/objective_cpp +17 -0
  123. data/lib/rouge/demos/ocaml +12 -0
  124. data/lib/rouge/demos/openedge +4 -0
  125. data/lib/rouge/demos/opentype_feature_file +6 -0
  126. data/lib/rouge/demos/pascal +14 -0
  127. data/lib/rouge/demos/perl +5 -0
  128. data/lib/rouge/demos/php +3 -0
  129. data/lib/rouge/demos/plaintext +1 -0
  130. data/lib/rouge/demos/plist +11 -0
  131. data/lib/rouge/demos/pony +17 -0
  132. data/lib/rouge/demos/powershell +13 -0
  133. data/lib/rouge/demos/praat +26 -0
  134. data/lib/rouge/demos/prolog +9 -0
  135. data/lib/rouge/demos/prometheus +9 -0
  136. data/lib/rouge/demos/properties +7 -0
  137. data/lib/rouge/demos/protobuf +5 -0
  138. data/lib/rouge/demos/puppet +6 -0
  139. data/lib/rouge/demos/python +6 -0
  140. data/lib/rouge/demos/q +8 -0
  141. data/lib/rouge/demos/qml +9 -0
  142. data/lib/rouge/demos/r +8 -0
  143. data/lib/rouge/demos/racket +24 -0
  144. data/lib/rouge/demos/reasonml +12 -0
  145. data/lib/rouge/demos/robot_framework +27 -0
  146. data/lib/rouge/demos/ruby +9 -0
  147. data/lib/rouge/demos/rust +12 -0
  148. data/lib/rouge/demos/sas +13 -0
  149. data/lib/rouge/demos/sass +3 -0
  150. data/lib/rouge/demos/scala +3 -0
  151. data/lib/rouge/demos/scheme +4 -0
  152. data/lib/rouge/demos/scss +5 -0
  153. data/lib/rouge/demos/sed +4 -0
  154. data/lib/rouge/demos/shell +2 -0
  155. data/lib/rouge/demos/sieve +10 -0
  156. data/lib/rouge/demos/slice +10 -0
  157. data/lib/rouge/demos/slim +17 -0
  158. data/lib/rouge/demos/smalltalk +6 -0
  159. data/lib/rouge/demos/smarty +12 -0
  160. data/lib/rouge/demos/sml +4 -0
  161. data/lib/rouge/demos/sparql +6 -0
  162. data/lib/rouge/demos/sqf +14 -0
  163. data/lib/rouge/demos/sql +1 -0
  164. data/lib/rouge/demos/supercollider +11 -0
  165. data/lib/rouge/demos/swift +5 -0
  166. data/lib/rouge/demos/tap +5 -0
  167. data/lib/rouge/demos/tcl +1 -0
  168. data/lib/rouge/demos/terraform +16 -0
  169. data/lib/rouge/demos/tex +1 -0
  170. data/lib/rouge/demos/toml +9 -0
  171. data/lib/rouge/demos/tsx +17 -0
  172. data/lib/rouge/demos/ttcn3 +6 -0
  173. data/lib/rouge/demos/tulip +13 -0
  174. data/lib/rouge/demos/turtle +26 -0
  175. data/lib/rouge/demos/twig +9 -0
  176. data/lib/rouge/demos/typescript +1 -0
  177. data/lib/rouge/demos/vala +8 -0
  178. data/lib/rouge/demos/vb +4 -0
  179. data/lib/rouge/demos/vcl +12 -0
  180. data/lib/rouge/demos/verilog +27 -0
  181. data/lib/rouge/demos/vhdl +23 -0
  182. data/lib/rouge/demos/viml +14 -0
  183. data/lib/rouge/demos/vue +11 -0
  184. data/lib/rouge/demos/wollok +11 -0
  185. data/lib/rouge/demos/xml +2 -0
  186. data/lib/rouge/demos/xojo +14 -0
  187. data/lib/rouge/demos/xpath +2 -0
  188. data/lib/rouge/demos/xquery +22 -0
  189. data/lib/rouge/demos/yaml +4 -0
  190. data/lib/rouge/formatter.rb +112 -0
  191. data/lib/rouge/formatters/html.rb +56 -0
  192. data/lib/rouge/formatters/html_inline.rb +31 -0
  193. data/lib/rouge/formatters/html_legacy.rb +45 -0
  194. data/lib/rouge/formatters/html_line_table.rb +53 -0
  195. data/lib/rouge/formatters/html_linewise.rb +23 -0
  196. data/lib/rouge/formatters/html_pygments.rb +18 -0
  197. data/lib/rouge/formatters/html_table.rb +51 -0
  198. data/lib/rouge/formatters/null.rb +20 -0
  199. data/lib/rouge/formatters/terminal256.rb +198 -0
  200. data/lib/rouge/formatters/terminal_truecolor.rb +37 -0
  201. data/lib/rouge/formatters/tex.rb +92 -0
  202. data/lib/rouge/guesser.rb +57 -0
  203. data/lib/rouge/guessers/disambiguation.rb +136 -0
  204. data/lib/rouge/guessers/filename.rb +27 -0
  205. data/lib/rouge/guessers/glob_mapping.rb +45 -0
  206. data/lib/rouge/guessers/mimetype.rb +16 -0
  207. data/lib/rouge/guessers/modeline.rb +46 -0
  208. data/lib/rouge/guessers/source.rb +31 -0
  209. data/lib/rouge/guessers/util.rb +34 -0
  210. data/lib/rouge/lexer.rb +516 -0
  211. data/lib/rouge/lexers/abap.rb +240 -0
  212. data/lib/rouge/lexers/actionscript.rb +196 -0
  213. data/lib/rouge/lexers/ada.rb +162 -0
  214. data/lib/rouge/lexers/apache.rb +73 -0
  215. data/lib/rouge/lexers/apache/keywords.yml +764 -0
  216. data/lib/rouge/lexers/apex.rb +126 -0
  217. data/lib/rouge/lexers/apiblueprint.rb +49 -0
  218. data/lib/rouge/lexers/apple_script.rb +370 -0
  219. data/lib/rouge/lexers/armasm.rb +145 -0
  220. data/lib/rouge/lexers/awk.rb +162 -0
  221. data/lib/rouge/lexers/batchfile.rb +164 -0
  222. data/lib/rouge/lexers/bbcbasic.rb +112 -0
  223. data/lib/rouge/lexers/biml.rb +43 -0
  224. data/lib/rouge/lexers/bpf.rb +118 -0
  225. data/lib/rouge/lexers/brainfuck.rb +53 -0
  226. data/lib/rouge/lexers/bsl.rb +82 -0
  227. data/lib/rouge/lexers/c.rb +190 -0
  228. data/lib/rouge/lexers/ceylon.rb +96 -0
  229. data/lib/rouge/lexers/cfscript.rb +154 -0
  230. data/lib/rouge/lexers/clean.rb +156 -0
  231. data/lib/rouge/lexers/clojure.rb +113 -0
  232. data/lib/rouge/lexers/cmake.rb +207 -0
  233. data/lib/rouge/lexers/cmhg.rb +34 -0
  234. data/lib/rouge/lexers/coffeescript.rb +215 -0
  235. data/lib/rouge/lexers/common_lisp.rb +346 -0
  236. data/lib/rouge/lexers/conf.rb +25 -0
  237. data/lib/rouge/lexers/console.rb +174 -0
  238. data/lib/rouge/lexers/coq.rb +191 -0
  239. data/lib/rouge/lexers/cpp.rb +82 -0
  240. data/lib/rouge/lexers/crystal.rb +430 -0
  241. data/lib/rouge/lexers/csharp.rb +114 -0
  242. data/lib/rouge/lexers/css.rb +274 -0
  243. data/lib/rouge/lexers/csvs.rb +44 -0
  244. data/lib/rouge/lexers/cuda.rb +35 -0
  245. data/lib/rouge/lexers/cython.rb +151 -0
  246. data/lib/rouge/lexers/d.rb +177 -0
  247. data/lib/rouge/lexers/dart.rb +105 -0
  248. data/lib/rouge/lexers/diff.rb +37 -0
  249. data/lib/rouge/lexers/digdag.rb +70 -0
  250. data/lib/rouge/lexers/docker.rb +51 -0
  251. data/lib/rouge/lexers/dot.rb +69 -0
  252. data/lib/rouge/lexers/ecl.rb +175 -0
  253. data/lib/rouge/lexers/eex.rb +52 -0
  254. data/lib/rouge/lexers/eiffel.rb +66 -0
  255. data/lib/rouge/lexers/elixir.rb +149 -0
  256. data/lib/rouge/lexers/elm.rb +90 -0
  257. data/lib/rouge/lexers/epp.rb +51 -0
  258. data/lib/rouge/lexers/erb.rb +53 -0
  259. data/lib/rouge/lexers/erlang.rb +115 -0
  260. data/lib/rouge/lexers/escape.rb +58 -0
  261. data/lib/rouge/lexers/factor.rb +303 -0
  262. data/lib/rouge/lexers/fortran.rb +178 -0
  263. data/lib/rouge/lexers/freefem.rb +240 -0
  264. data/lib/rouge/lexers/fsharp.rb +119 -0
  265. data/lib/rouge/lexers/gdscript.rb +171 -0
  266. data/lib/rouge/lexers/ghc_core.rb +151 -0
  267. data/lib/rouge/lexers/gherkin.rb +140 -0
  268. data/lib/rouge/lexers/gherkin/keywords.rb +16 -0
  269. data/lib/rouge/lexers/glsl.rb +132 -0
  270. data/lib/rouge/lexers/go.rb +175 -0
  271. data/lib/rouge/lexers/gradle.rb +38 -0
  272. data/lib/rouge/lexers/graphql.rb +261 -0
  273. data/lib/rouge/lexers/groovy.rb +111 -0
  274. data/lib/rouge/lexers/hack.rb +49 -0
  275. data/lib/rouge/lexers/haml.rb +226 -0
  276. data/lib/rouge/lexers/handlebars.rb +91 -0
  277. data/lib/rouge/lexers/haskell.rb +199 -0
  278. data/lib/rouge/lexers/haxe.rb +246 -0
  279. data/lib/rouge/lexers/hcl.rb +163 -0
  280. data/lib/rouge/lexers/hocon.rb +86 -0
  281. data/lib/rouge/lexers/hql.rb +139 -0
  282. data/lib/rouge/lexers/html.rb +141 -0
  283. data/lib/rouge/lexers/http.rb +81 -0
  284. data/lib/rouge/lexers/hylang.rb +94 -0
  285. data/lib/rouge/lexers/idlang.rb +312 -0
  286. data/lib/rouge/lexers/igorpro.rb +664 -0
  287. data/lib/rouge/lexers/ini.rb +54 -0
  288. data/lib/rouge/lexers/io.rb +69 -0
  289. data/lib/rouge/lexers/irb.rb +67 -0
  290. data/lib/rouge/lexers/java.rb +91 -0
  291. data/lib/rouge/lexers/javascript.rb +279 -0
  292. data/lib/rouge/lexers/jinja.rb +154 -0
  293. data/lib/rouge/lexers/jsl.rb +55 -0
  294. data/lib/rouge/lexers/json.rb +69 -0
  295. data/lib/rouge/lexers/json_doc.rb +25 -0
  296. data/lib/rouge/lexers/jsonnet.rb +152 -0
  297. data/lib/rouge/lexers/jsp.rb +120 -0
  298. data/lib/rouge/lexers/jsx.rb +104 -0
  299. data/lib/rouge/lexers/julia.rb +290 -0
  300. data/lib/rouge/lexers/kotlin.rb +127 -0
  301. data/lib/rouge/lexers/lasso.rb +215 -0
  302. data/lib/rouge/lexers/lasso/keywords.yml +446 -0
  303. data/lib/rouge/lexers/liquid.rb +285 -0
  304. data/lib/rouge/lexers/literate_coffeescript.rb +34 -0
  305. data/lib/rouge/lexers/literate_haskell.rb +37 -0
  306. data/lib/rouge/lexers/llvm.rb +97 -0
  307. data/lib/rouge/lexers/lua.rb +164 -0
  308. data/lib/rouge/lexers/lua/builtins.rb +24 -0
  309. data/lib/rouge/lexers/lustre.rb +79 -0
  310. data/lib/rouge/lexers/lutin.rb +33 -0
  311. data/lib/rouge/lexers/m68k.rb +143 -0
  312. data/lib/rouge/lexers/magik.rb +127 -0
  313. data/lib/rouge/lexers/make.rb +135 -0
  314. data/lib/rouge/lexers/markdown.rb +182 -0
  315. data/lib/rouge/lexers/mason.rb +110 -0
  316. data/lib/rouge/lexers/mathematica.rb +96 -0
  317. data/lib/rouge/lexers/mathematica/builtins.rb +13 -0
  318. data/lib/rouge/lexers/matlab.rb +81 -0
  319. data/lib/rouge/lexers/matlab/builtins.yml +3515 -0
  320. data/lib/rouge/lexers/minizinc.rb +87 -0
  321. data/lib/rouge/lexers/moonscript.rb +115 -0
  322. data/lib/rouge/lexers/mosel.rb +232 -0
  323. data/lib/rouge/lexers/msgtrans.rb +26 -0
  324. data/lib/rouge/lexers/mxml.rb +69 -0
  325. data/lib/rouge/lexers/nasm.rb +72 -0
  326. data/lib/rouge/lexers/nesasm.rb +78 -0
  327. data/lib/rouge/lexers/nginx.rb +72 -0
  328. data/lib/rouge/lexers/nim.rb +154 -0
  329. data/lib/rouge/lexers/nix.rb +211 -0
  330. data/lib/rouge/lexers/objective_c.rb +21 -0
  331. data/lib/rouge/lexers/objective_c/common.rb +184 -0
  332. data/lib/rouge/lexers/objective_cpp.rb +31 -0
  333. data/lib/rouge/lexers/ocaml.rb +65 -0
  334. data/lib/rouge/lexers/ocaml/common.rb +53 -0
  335. data/lib/rouge/lexers/openedge.rb +429 -0
  336. data/lib/rouge/lexers/opentype_feature_file.rb +113 -0
  337. data/lib/rouge/lexers/pascal.rb +67 -0
  338. data/lib/rouge/lexers/perl.rb +231 -0
  339. data/lib/rouge/lexers/php.rb +216 -0
  340. data/lib/rouge/lexers/php/builtins.rb +203 -0
  341. data/lib/rouge/lexers/plain_text.rb +27 -0
  342. data/lib/rouge/lexers/plist.rb +47 -0
  343. data/lib/rouge/lexers/pony.rb +94 -0
  344. data/lib/rouge/lexers/powershell.rb +230 -0
  345. data/lib/rouge/lexers/praat.rb +351 -0
  346. data/lib/rouge/lexers/prolog.rb +67 -0
  347. data/lib/rouge/lexers/prometheus.rb +123 -0
  348. data/lib/rouge/lexers/properties.rb +52 -0
  349. data/lib/rouge/lexers/protobuf.rb +71 -0
  350. data/lib/rouge/lexers/puppet.rb +129 -0
  351. data/lib/rouge/lexers/python.rb +248 -0
  352. data/lib/rouge/lexers/q.rb +126 -0
  353. data/lib/rouge/lexers/qml.rb +74 -0
  354. data/lib/rouge/lexers/r.rb +89 -0
  355. data/lib/rouge/lexers/racket.rb +545 -0
  356. data/lib/rouge/lexers/reasonml.rb +65 -0
  357. data/lib/rouge/lexers/robot_framework.rb +249 -0
  358. data/lib/rouge/lexers/ruby.rb +444 -0
  359. data/lib/rouge/lexers/rust.rb +193 -0
  360. data/lib/rouge/lexers/sas.rb +563 -0
  361. data/lib/rouge/lexers/sass.rb +75 -0
  362. data/lib/rouge/lexers/sass/common.rb +181 -0
  363. data/lib/rouge/lexers/scala.rb +169 -0
  364. data/lib/rouge/lexers/scheme.rb +113 -0
  365. data/lib/rouge/lexers/scss.rb +35 -0
  366. data/lib/rouge/lexers/sed.rb +173 -0
  367. data/lib/rouge/lexers/shell.rb +201 -0
  368. data/lib/rouge/lexers/sieve.rb +97 -0
  369. data/lib/rouge/lexers/slice.rb +32 -0
  370. data/lib/rouge/lexers/slim.rb +229 -0
  371. data/lib/rouge/lexers/smalltalk.rb +117 -0
  372. data/lib/rouge/lexers/smarty.rb +81 -0
  373. data/lib/rouge/lexers/sml.rb +345 -0
  374. data/lib/rouge/lexers/sparql.rb +129 -0
  375. data/lib/rouge/lexers/sqf.rb +109 -0
  376. data/lib/rouge/lexers/sqf/commands.rb +15 -0
  377. data/lib/rouge/lexers/sql.rb +161 -0
  378. data/lib/rouge/lexers/supercollider.rb +116 -0
  379. data/lib/rouge/lexers/swift.rb +186 -0
  380. data/lib/rouge/lexers/tap.rb +89 -0
  381. data/lib/rouge/lexers/tcl.rb +193 -0
  382. data/lib/rouge/lexers/terraform.rb +113 -0
  383. data/lib/rouge/lexers/tex.rb +70 -0
  384. data/lib/rouge/lexers/toml.rb +106 -0
  385. data/lib/rouge/lexers/tsx.rb +20 -0
  386. data/lib/rouge/lexers/ttcn3.rb +119 -0
  387. data/lib/rouge/lexers/tulip.rb +108 -0
  388. data/lib/rouge/lexers/turtle.rb +61 -0
  389. data/lib/rouge/lexers/twig.rb +40 -0
  390. data/lib/rouge/lexers/typescript.rb +30 -0
  391. data/lib/rouge/lexers/typescript/common.rb +34 -0
  392. data/lib/rouge/lexers/vala.rb +78 -0
  393. data/lib/rouge/lexers/varnish.rb +168 -0
  394. data/lib/rouge/lexers/vb.rb +165 -0
  395. data/lib/rouge/lexers/verilog.rb +163 -0
  396. data/lib/rouge/lexers/vhdl.rb +98 -0
  397. data/lib/rouge/lexers/viml.rb +102 -0
  398. data/lib/rouge/lexers/viml/keywords.rb +14 -0
  399. data/lib/rouge/lexers/vue.rb +124 -0
  400. data/lib/rouge/lexers/wollok.rb +104 -0
  401. data/lib/rouge/lexers/xml.rb +54 -0
  402. data/lib/rouge/lexers/xojo.rb +61 -0
  403. data/lib/rouge/lexers/xpath.rb +332 -0
  404. data/lib/rouge/lexers/xquery.rb +145 -0
  405. data/lib/rouge/lexers/yaml.rb +376 -0
  406. data/lib/rouge/plugins/redcarpet.rb +37 -0
  407. data/lib/rouge/regex_lexer.rb +443 -0
  408. data/lib/rouge/template_lexer.rb +21 -0
  409. data/lib/rouge/tex_theme_renderer.rb +132 -0
  410. data/lib/rouge/text_analyzer.rb +50 -0
  411. data/lib/rouge/theme.rb +218 -0
  412. data/lib/rouge/themes/base16.rb +131 -0
  413. data/lib/rouge/themes/bw.rb +41 -0
  414. data/lib/rouge/themes/colorful.rb +68 -0
  415. data/lib/rouge/themes/github.rb +72 -0
  416. data/lib/rouge/themes/gruvbox.rb +168 -0
  417. data/lib/rouge/themes/igor_pro.rb +21 -0
  418. data/lib/rouge/themes/magritte.rb +78 -0
  419. data/lib/rouge/themes/molokai.rb +83 -0
  420. data/lib/rouge/themes/monokai.rb +93 -0
  421. data/lib/rouge/themes/monokai_sublime.rb +93 -0
  422. data/lib/rouge/themes/pastie.rb +70 -0
  423. data/lib/rouge/themes/thankful_eyes.rb +75 -0
  424. data/lib/rouge/themes/tulip.rb +70 -0
  425. data/lib/rouge/token.rb +191 -0
  426. data/lib/rouge/util.rb +102 -0
  427. data/lib/rouge/version.rb +8 -0
  428. data/rouge.gemspec +26 -0
  429. metadata +476 -0
@@ -0,0 +1,312 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ # vim: set ts=2 sw=2 et:
5
+
6
+ module Rouge
7
+ module Lexers
8
+ class IDLang < RegexLexer
9
+ title "IDL"
10
+ desc "Interactive Data Language"
11
+
12
+ tag 'idlang'
13
+ filenames '*.idl'
14
+
15
+ name = /[_A-Z]\w*/i
16
+ kind_param = /(\d+|#{name})/
17
+ exponent = /[dDeE][+-]\d+/
18
+
19
+ def self.exec_unit
20
+ @exec_unit ||= Set.new %w(
21
+ PRO FUNCTION
22
+ )
23
+ end
24
+
25
+ def self.keywords
26
+ @keywords ||= Set.new %w(
27
+ STRUCT INHERITS
28
+ RETURN CONTINUE BEGIN END BREAK GOTO
29
+ )
30
+ end
31
+
32
+ def self.standalone_statements
33
+ # Must not have a comma afterwards
34
+ @standalone_statements ||= Set.new %w(
35
+ COMMON FORWARD_FUNCTION
36
+ )
37
+ end
38
+
39
+ def self.decorators
40
+ # Must not have a comma afterwards
41
+ @decorators ||= Set.new %w(
42
+ COMPILE_OPT
43
+ )
44
+ end
45
+
46
+ def self.operators
47
+ @operators ||= Set.new %w(
48
+ AND= EQ= GE= GT= LE= LT= MOD= NE= OR= XOR= NOT=
49
+ )
50
+ end
51
+
52
+ def self.conditionals
53
+ @conditionals ||= Set.new %w(
54
+ OF DO ENDIF ENDELSE ENDFOR ENDFOREACH ENDWHILE ENDREP ENDCASE ENDSWITCH
55
+ IF THEN ELSE FOR FOREACH WHILE REPEAT UNTIL CASE SWITCH
56
+ AND EQ GE GT LE LT MOD NE OR XOR NOT
57
+ )
58
+ end
59
+
60
+ def self.routines
61
+ @routines ||= Set.new %w(
62
+ A_CORRELATE ABS ACOS ADAPT_HIST_EQUAL ALOG ALOG10
63
+ AMOEBA ANNOTATE ARG_PRESENT ARRAY_EQUAL
64
+ ARRAY_INDICES ARROW ASCII_TEMPLATE ASIN ASSOC ATAN
65
+ AXIS BAR_PLOT BESELI BESELJ BESELK BESELY BETA
66
+ BILINEAR BIN_DATE BINARY_TEMPLATE BINDGEN BINOMIAL
67
+ BLAS_AXPY BLK_CON BOX_CURSOR BREAK BREAKPOINT
68
+ BROYDEN BYTARR BYTE BYTEORDER BYTSCL C_CORRELATE
69
+ CALDAT CALENDAR CALL_EXTERNAL CALL_FUNCTION
70
+ CALL_METHOD CALL_PROCEDURE CATCH CD CEIL CHEBYSHEV
71
+ CHECK_MATH CHISQR_CVF CHISQR_PDF CHOLDC CHOLSOL
72
+ CINDGEN CIR_3PNT CLOSE CLUST_WTS CLUSTER
73
+ COLOR_CONVERT COLOR_QUAN COLORMAP_APPLICABLE COMFIT
74
+ COMPLEX COMPLEXARR COMPLEXROUND
75
+ COMPUTE_MESH_NORMALS COND CONGRID CONJ
76
+ CONSTRAINED_MIN CONTOUR CONVERT_COORD CONVOL
77
+ COORD2TO3 CORRELATE COS COSH CRAMER CREATE_STRUCT
78
+ CREATE_VIEW CROSSP CRVLENGTH CT_LUMINANCE CTI_TEST
79
+ CURSOR CURVEFIT CV_COORD CVTTOBM CW_ANIMATE
80
+ CW_ANIMATE_GETP CW_ANIMATE_LOAD CW_ANIMATE_RUN
81
+ CW_ARCBALL CW_BGROUP CW_CLR_INDEX CW_COLORSEL
82
+ CW_DEFROI CW_FIELD CW_FILESEL CW_FORM CW_FSLIDER
83
+ CW_LIGHT_EDITOR CW_LIGHT_EDITOR_GET
84
+ CW_LIGHT_EDITOR_SET CW_ORIENT CW_PALETTE_EDITOR
85
+ CW_PALETTE_EDITOR_GET CW_PALETTE_EDITOR_SET
86
+ CW_PDMENU CW_RGBSLIDER CW_TMPL CW_ZOOM DBLARR
87
+ DCINDGEN DCOMPLEX DCOMPLEXARR DEFINE_KEY DEFROI
88
+ DEFSYSV DELETE_SYMBOL DELLOG DELVAR DERIV DERIVSIG
89
+ DETERM DEVICE DFPMIN DIALOG_MESSAGE
90
+ DIALOG_PICKFILE DIALOG_PRINTERSETUP
91
+ DIALOG_PRINTJOB DIALOG_READ_IMAGE
92
+ DIALOG_WRITE_IMAGE DICTIONARY DIGITAL_FILTER DILATE DINDGEN
93
+ DISSOLVE DIST DLM_LOAD DLM_REGISTER
94
+ DO_APPLE_SCRIPT DOC_LIBRARY DOUBLE DRAW_ROI EFONT
95
+ EIGENQL EIGENVEC ELMHES EMPTY ENABLE_SYSRTN EOF
96
+ ERASE ERODE ERRORF ERRPLOT EXECUTE EXIT EXP EXPAND
97
+ EXPAND_PATH EXPINT EXTRAC EXTRACT_SLICE F_CVF
98
+ F_PDF FACTORIAL FFT FILE_CHMOD FILE_DELETE
99
+ FILE_EXPAND_PATH FILE_MKDIR FILE_TEST FILE_WHICH
100
+ FILE_SEARCH PATH_SEP FILE_DIRNAME FILE_BASENAME
101
+ FILE_INFO FILE_MOVE FILE_COPY FILE_LINK FILE_POLL_INPUT
102
+ FILEPATH FINDFILE FINDGEN FINITE FIX FLICK FLOAT
103
+ FLOOR FLOW3 FLTARR FLUSH FORMAT_AXIS_VALUES
104
+ FORWARD_FUNCTION FREE_LUN FSTAT FULSTR FUNCT
105
+ FV_TEST FX_ROOT FZ_ROOTS GAMMA GAMMA_CT
106
+ GAUSS_CVF GAUSS_PDF GAUSS2DFIT GAUSSFIT GAUSSINT
107
+ GET_DRIVE_LIST GET_KBRD GET_LUN GET_SCREEN_SIZE
108
+ GET_SYMBOL GETENV GOTO GREG2JUL GRID_TPS GRID3 GS_ITER
109
+ H_EQ_CT H_EQ_INT HANNING HASH HEAP_GC HELP HILBERT
110
+ HIST_2D HIST_EQUAL HISTOGRAM HLS HOUGH HQR HSV
111
+ IBETA IDENTITY IDL_CONTAINER IDLANROI
112
+ IDLANROIGROUP IDLFFDICOM IDLFFDXF IDLFFLANGUAGECAT
113
+ IDLFFSHAPE IDLGRAXIS IDLGRBUFFER IDLGRCLIPBOARD
114
+ IDLGRCOLORBAR IDLGRCONTOUR IDLGRFONT IDLGRIMAGE
115
+ IDLGRLEGEND IDLGRLIGHT IDLGRMODEL IDLGRMPEG
116
+ IDLGRPALETTE IDLGRPATTERN IDLGRPLOT IDLGRPOLYGON
117
+ IDLGRPOLYLINE IDLGRPRINTER IDLGRROI IDLGRROIGROUP
118
+ IDLGRSCENE IDLGRSURFACE IDLGRSYMBOL
119
+ IDLGRTESSELLATOR IDLGRTEXT IDLGRVIEW
120
+ IDLGRVIEWGROUP IDLGRVOLUME IDLGRVRML IDLGRWINDOW
121
+ IGAMMA IMAGE_CONT IMAGE_STATISTICS IMAGINARY
122
+ INDGEN INT_2D INT_3D INT_TABULATED INTARR INTERPOL
123
+ INTERPOLATE INVERT IOCTL ISA ISHFT ISOCONTOUR
124
+ ISOSURFACE JOURNAL JUL2GREG JULDAY KEYWORD_SET KRIG2D
125
+ KURTOSIS KW_TEST L64INDGEN LABEL_DATE LABEL_REGION
126
+ LADFIT LAGUERRE LEEFILT LEGENDRE LINBCG LINDGEN
127
+ LINFIT LINKIMAGE LIST LIVE_CONTOUR LIVE_CONTROL
128
+ LIVE_DESTROY LIVE_EXPORT LIVE_IMAGE LIVE_INFO
129
+ LIVE_LINE LIVE_LOAD LIVE_OPLOT LIVE_PLOT
130
+ LIVE_PRINT LIVE_RECT LIVE_STYLE LIVE_SURFACE
131
+ LIVE_TEXT LJLCT LL_ARC_DISTANCE LMFIT LMGR LNGAMMA
132
+ LNP_TEST LOADCT LOCALE_GET LON64ARR LONARR LONG
133
+ LONG64 LSODE LU_COMPLEX LUDC LUMPROVE LUSOL
134
+ M_CORRELATE MACHAR MAKE_ARRAY MAKE_DLL MAP_2POINTS
135
+ MAP_CONTINENTS MAP_GRID MAP_IMAGE MAP_PATCH
136
+ MAP_PROJ_INFO MAP_SET MAX MATRIX_MULTIPLY MD_TEST MEAN
137
+ MEANABSDEV MEDIAN MEMORY MESH_CLIP MESH_DECIMATE
138
+ MESH_ISSOLID MESH_MERGE MESH_NUMTRIANGLES MESH_OBJ
139
+ MESH_SMOOTH MESH_SURFACEAREA MESH_VALIDATE
140
+ MESH_VOLUME MESSAGE MIN MIN_CURVE_SURF MK_HTML_HELP
141
+ MODIFYCT MOMENT MORPH_CLOSE MORPH_DISTANCE
142
+ MORPH_GRADIENT MORPH_HITORMISS MORPH_OPEN
143
+ MORPH_THIN MORPH_TOPHAT MPEG_CLOSE MPEG_OPEN
144
+ MPEG_PUT MPEG_SAVE MSG_CAT_CLOSE MSG_CAT_COMPILE
145
+ MSG_CAT_OPEN MULTI N_ELEMENTS N_PARAMS N_TAGS
146
+ NEWTON NORM OBJ_CLASS OBJ_DESTROY OBJ_ISA OBJ_NEW
147
+ OBJ_VALID OBJARR ON_ERROR ON_IOERROR ONLINE_HELP
148
+ OPEN OPENR OPENW OPENU OPLOT OPLOTERR ORDEREDHASH P_CORRELATE
149
+ PARTICLE_TRACE PCOMP PLOT PLOT_3DBOX PLOT_FIELD
150
+ PLOTERR PLOTS PNT_LINE POINT_LUN POLAR_CONTOUR
151
+ POLAR_SURFACE POLY POLY_2D POLY_AREA POLY_FIT
152
+ POLYFILL POLYFILLV POLYSHADE POLYWARP POPD POWELL
153
+ PRIMES PRINT PRINTF PRINTD PRODUCT PROFILE PROFILER
154
+ PROFILES PROJECT_VOL PS_SHOW_FONTS PSAFM PSEUDO
155
+ PTR_FREE PTR_NEW PTR_VALID PTRARR PUSHD QROMB
156
+ QROMO QSIMP QUERY_CSV R_CORRELATE R_TEST RADON RANDOMN
157
+ RANDOMU RANKS RDPIX READ READF READ_ASCII
158
+ READ_BINARY READ_BMP READ_CSV READ_DICOM READ_IMAGE
159
+ READ_INTERFILE READ_JPEG READ_PICT READ_PNG
160
+ READ_PPM READ_SPR READ_SRF READ_SYLK READ_TIFF
161
+ READ_WAV READ_WAVE READ_X11_BITMAP READ_XWD READS
162
+ READU REBIN RECALL_COMMANDS RECON3 REDUCE_COLORS
163
+ REFORM REGRESS REPLICATE REPLICATE_INPLACE
164
+ RESOLVE_ALL RESOLVE_ROUTINE RESTORE RETALL
165
+ REVERSE REWIND RK4 ROBERTS ROT ROTATE ROUND
166
+ ROUTINE_INFO RS_TEST S_TEST SAVE SAVGOL SCALE3
167
+ SCALE3D SCOPE_LEVEL SCOPE_TRACEBACK SCOPE_VARFETCH
168
+ SCOPE_VARNAME SEARCH2D SEARCH3D SET_PLOT SET_SHADING
169
+ SET_SYMBOL SETENV SETLOG SETUP_KEYS SFIT
170
+ SHADE_SURF SHADE_SURF_IRR SHADE_VOLUME SHIFT SHOW3
171
+ SHOWFONT SIGNUM SIN SINDGEN SINH SIZE SKEWNESS SKIPF
172
+ SLICER3 SLIDE_IMAGE SMOOTH SOBEL SOCKET SORT SPAWN
173
+ SPH_4PNT SPH_SCAT SPHER_HARM SPL_INIT SPL_INTERP
174
+ SPLINE SPLINE_P SPRSAB SPRSAX SPRSIN SPRSTP SQRT
175
+ STANDARDIZE STDDEV STOP STRARR STRCMP STRCOMPRESS
176
+ STREAMLINE STREGEX STRETCH STRING STRJOIN STRLEN
177
+ STRLOWCASE STRMATCH STRMESSAGE STRMID STRPOS
178
+ STRPUT STRSPLIT STRTRIM STRUCT_ASSIGN STRUCT_HIDE
179
+ STRUPCASE SURFACE SURFR SVDC SVDFIT SVSOL
180
+ SWAP_ENDIAN SWITCH SYSTIME T_CVF T_PDF T3D
181
+ TAG_NAMES TAN TANH TAPRD TAPWRT TEK_COLOR
182
+ TEMPORARY TETRA_CLIP TETRA_SURFACE TETRA_VOLUME
183
+ THIN THREED TIME_TEST2 TIMEGEN TM_TEST TOTAL TRACE
184
+ TRANSPOSE TRI_SURF TRIANGULATE TRIGRID TRIQL
185
+ TRIRED TRISOL TRNLOG TS_COEF TS_DIFF TS_FCAST
186
+ TS_SMOOTH TV TVCRS TVLCT TVRD TVSCL TYPENAME UINDGEN UINT
187
+ UINTARR UL64INDGEN ULINDGEN ULON64ARR ULONARR
188
+ ULONG ULONG64 UNIQ USERSYM VALUE_LOCATE VARIANCE
189
+ VAX_FLOAT VECTOR_FIELD VEL VELOVECT VERT_T3D VOIGT
190
+ VORONOI VOXEL_PROJ WAIT WARP_TRI WATERSHED WDELETE
191
+ WEOF WF_DRAW WHERE WIDGET_BASE WIDGET_BUTTON
192
+ WIDGET_CONTROL WIDGET_DRAW WIDGET_DROPLIST
193
+ WIDGET_EVENT WIDGET_INFO WIDGET_LABEL WIDGET_LIST
194
+ WIDGET_SLIDER WIDGET_TABLE WIDGET_TEXT WINDOW
195
+ WRITE_BMP WRITE_CSV WRITE_IMAGE WRITE_JPEG WRITE_NRIF
196
+ WRITE_PICT WRITE_PNG WRITE_PPM WRITE_SPR WRITE_SRF
197
+ WRITE_SYLK WRITE_TIFF WRITE_WAV WRITE_WAVE WRITEU
198
+ WSET WSHOW WTN WV_APPLET WV_CW_WAVELET WV_CWT
199
+ WV_DENOISE WV_DWT WV_FN_COIFLET WV_FN_DAUBECHIES
200
+ WV_FN_GAUSSIAN WV_FN_HAAR WV_FN_MORLET WV_FN_PAUL
201
+ WV_FN_SYMLET WV_IMPORT_DATA WV_IMPORT_WAVELET
202
+ WV_PLOT3D_WPS WV_PLOT_MULTIRES WV_PWT
203
+ WV_TOOL_DENOISE XBM_EDIT XDISPLAYFILE XDXF XFONT
204
+ XINTERANIMATE XLOADCT XMANAGER XMNG_TMPL XMTOOL
205
+ XOBJVIEW XPALETTE XPCOLOR XPLOT3D XREGISTERED XROI
206
+ XSQ_TEST XSURFACE XVAREDIT XVOLUME XVOLUME_ROTATE
207
+ XVOLUME_WRITE_IMAGE XYOUTS ZOOM ZOOM_24
208
+ )
209
+ end
210
+
211
+ state :root do
212
+ rule %r/\s+/, Text::Whitespace
213
+ # Normal comments
214
+ rule %r/;.*$/, Comment::Single
215
+ rule %r/\,\s*\,/, Error
216
+ rule %r/\!#{name}/, Name::Variable::Global
217
+
218
+ rule %r/[(),:\&\$]/, Punctuation
219
+
220
+ ## Format statements are quite a strange beast.
221
+ ## Better process them in their own state.
222
+ #rule %r/\b(FORMAT)(\s*)(\()/mi do |m|
223
+ # token Keyword, m[1]
224
+ # token Text::Whitespace, m[2]
225
+ # token Punctuation, m[3]
226
+ # push :format_spec
227
+ #end
228
+
229
+ rule %r(
230
+ [+-]? # sign
231
+ (
232
+ (\d+[.]\d*|[.]\d+)(#{exponent})?
233
+ | \d+#{exponent} # exponent is mandatory
234
+ )
235
+ (_#{kind_param})? # kind parameter
236
+ )xi, Num::Float
237
+
238
+ rule %r/\d+(B|S|U|US|LL|L|ULL|UL)?/i, Num::Integer
239
+ rule %r/"[0-7]+(B|O|U|ULL|UL|LL|L)?/i, Num::Oct
240
+ rule %r/'[0-9A-F]+'X(B|S|US|ULL|UL|U|LL|L)?/i, Num::Hex
241
+ rule %r/(#{kind_param}_)?'/, Str::Single, :string_single
242
+ rule %r/(#{kind_param}_)?"/, Str::Double, :string_double
243
+
244
+ rule %r{\#\#|\#|\&\&|\|\||/=|<=|>=|->|\@|\?|[-+*/<=~^{}]}, Operator
245
+ # Structures and the like
246
+ rule %r/(#{name})(\.)([^\s,]*)/i do
247
+ groups Name, Operator, Name
248
+ #delegate IDLang, m[3]
249
+ end
250
+
251
+ rule %r/(function|pro)((?:\s|\$\s)+)/i do
252
+ groups Keyword, Text::Whitespace
253
+ push :funcname
254
+ end
255
+
256
+ rule %r/#{name}/m do |m|
257
+ match = m[0].upcase
258
+ if self.class.keywords.include? match
259
+ token Keyword
260
+ elsif self.class.conditionals.include? match
261
+ token Keyword
262
+ elsif self.class.decorators.include? match
263
+ token Name::Decorator
264
+ elsif self.class.standalone_statements.include? match
265
+ token Keyword::Reserved
266
+ elsif self.class.operators.include? match
267
+ token Operator::Word
268
+ elsif self.class.routines.include? match
269
+ token Name::Builtin
270
+ else
271
+ token Name
272
+ end
273
+ end
274
+
275
+ end
276
+
277
+ state :funcname do
278
+ rule %r/#{name}/, Name::Function
279
+
280
+ rule %r/\s+/, Text::Whitespace
281
+ rule %r/(:+|\$)/, Operator
282
+ rule %r/;.*/, Comment::Single
283
+
284
+ # Be done with this state if we hit EOL or comma
285
+ rule %r/$/, Text::Whitespace, :pop!
286
+ rule %r/,/, Operator, :pop!
287
+ end
288
+
289
+ state :string_single do
290
+ rule %r/[^']+/, Str::Single
291
+ rule %r/''/, Str::Escape
292
+ rule %r/'/, Str::Single, :pop!
293
+ end
294
+
295
+ state :string_double do
296
+ rule %r/[^"]+/, Str::Double
297
+ rule %r/"/, Str::Double, :pop!
298
+ end
299
+
300
+ state :format_spec do
301
+ rule %r/'/, Str::Single, :string_single
302
+ rule %r/"/, Str::Double, :string_double
303
+ rule %r/\(/, Punctuation, :format_spec
304
+ rule %r/\)/, Punctuation, :pop!
305
+ rule %r/,/, Punctuation
306
+ rule %r/\s+/, Text::Whitespace
307
+ # Edit descriptors could be seen as a kind of "format literal".
308
+ rule %r/[^\s'"(),]+/, Literal
309
+ end
310
+ end
311
+ end
312
+ end
@@ -0,0 +1,664 @@
1
+ # -*- coding: utf-8 -*- #
2
+ # frozen_string_literal: true
3
+
4
+ module Rouge
5
+ module Lexers
6
+ class IgorPro < RegexLexer
7
+ tag 'igorpro'
8
+ filenames '*.ipf'
9
+ mimetypes 'text/x-igorpro'
10
+
11
+ title "IgorPro"
12
+ desc "WaveMetrics Igor Pro"
13
+
14
+ def self.keywords
15
+ @keywords ||= Set.new %w(
16
+ structure endstructure
17
+ threadsafe static
18
+ macro proc window menu function end
19
+ if else elseif endif switch strswitch endswitch
20
+ break return continue
21
+ for endfor do while
22
+ case default
23
+ try catch endtry
24
+ abortonrte
25
+ )
26
+ end
27
+
28
+ def self.preprocessor
29
+ @preprocessor ||= Set.new %w(
30
+ pragma include
31
+ define ifdef ifndef undef
32
+ if elif else endif
33
+ )
34
+ end
35
+
36
+ def self.igorDeclarations
37
+ @igorDeclarations ||= Set.new %w(
38
+ variable string wave strconstant constant
39
+ nvar svar dfref funcref struct
40
+ char uchar int16 uint16 int32 uint32 int64 uint64 float double
41
+ )
42
+ end
43
+
44
+ def self.igorConstants
45
+ @igorConstants ||= Set.new %w(
46
+ nan inf
47
+ )
48
+ end
49
+
50
+ def self.igorFunction
51
+ @igorFunction ||= Set.new %w(
52
+ AddListItem AiryA AiryAD AiryB AiryBD AnnotationInfo
53
+ AnnotationList AxisInfo AxisList AxisValFromPixel
54
+ AxonTelegraphAGetDataNum AxonTelegraphAGetDataString
55
+ AxonTelegraphAGetDataStruct AxonTelegraphGetDataNum
56
+ AxonTelegraphGetDataString AxonTelegraphGetDataStruct
57
+ AxonTelegraphGetTimeoutMs AxonTelegraphSetTimeoutMs
58
+ Base64Decode Base64Encode Besseli Besselj Besselk
59
+ Bessely BinarySearch BinarySearchInterp CTabList
60
+ CaptureHistory CaptureHistoryStart CheckName
61
+ ChildWindowList CleanupName ContourInfo ContourNameList
62
+ ContourNameToWaveRef ContourZ ControlNameList
63
+ ConvertTextEncoding CountObjects CountObjectsDFR
64
+ CreationDate CsrInfo CsrWave CsrWaveRef CsrXWave
65
+ CsrXWaveRef DataFolderDir DataFolderExists
66
+ DataFolderRefStatus DataFolderRefsEqual DateToJulian
67
+ Dawson DimDelta DimOffset DimSize Faddeeva FetchURL
68
+ FindDimLabel FindListItem FontList FontSizeHeight
69
+ FontSizeStringWidth FresnelCos FresnelSin FuncRefInfo
70
+ FunctionInfo FunctionList FunctionPath
71
+ GISGetAllFileFormats GISSRefsAreEqual Gauss Gauss1D
72
+ Gauss2D GetBrowserLine GetBrowserSelection
73
+ GetDataFolder GetDataFolderDFR GetDefaultFont
74
+ GetDefaultFontSize GetDefaultFontStyle GetDimLabel
75
+ GetEnvironmentVariable GetErrMessage GetFormula
76
+ GetIndependentModuleName GetIndexedObjName
77
+ GetIndexedObjNameDFR GetKeyState GetRTErrMessage
78
+ GetRTError GetRTLocInfo GetRTLocation GetRTStackInfo
79
+ GetScrapText GetUserData GetWavesDataFolder
80
+ GetWavesDataFolderDFR GizmoInfo GizmoScale GrepList
81
+ GrepString GuideInfo GuideNameList HDF5AttributeInfo
82
+ HDF5DatasetInfo HDF5LibraryInfo HDF5TypeInfo Hash
83
+ HyperG0F1 HyperG1F1 HyperG2F1 HyperGNoise HyperGPFQ
84
+ IgorInfo IgorVersion ImageInfo ImageNameList
85
+ ImageNameToWaveRef IndependentModuleList IndexToScale
86
+ IndexedDir IndexedFile Inf Integrate1D Interp2D
87
+ Interp3D ItemsInList JacobiCn JacobiSn JulianToDate
88
+ Laguerre LaguerreA LaguerreGauss LambertW LayoutInfo
89
+ LegendreA ListMatch ListToTextWave ListToWaveRefWave
90
+ LowerStr MCC_AutoBridgeBal MCC_AutoFastComp
91
+ MCC_AutoPipetteOffset MCC_AutoSlowComp
92
+ MCC_AutoWholeCellComp MCC_GetBridgeBalEnable
93
+ MCC_GetBridgeBalResist MCC_GetFastCompCap
94
+ MCC_GetFastCompTau MCC_GetHolding MCC_GetHoldingEnable
95
+ MCC_GetMode MCC_GetNeutralizationCap
96
+ MCC_GetNeutralizationEnable MCC_GetOscKillerEnable
97
+ MCC_GetPipetteOffset MCC_GetPrimarySignalGain
98
+ MCC_GetPrimarySignalHPF MCC_GetPrimarySignalLPF
99
+ MCC_GetRsCompBandwidth MCC_GetRsCompCorrection
100
+ MCC_GetRsCompEnable MCC_GetRsCompPrediction
101
+ MCC_GetSecondarySignalGain MCC_GetSecondarySignalLPF
102
+ MCC_GetSlowCompCap MCC_GetSlowCompTau
103
+ MCC_GetSlowCompTauX20Enable MCC_GetSlowCurrentInjEnable
104
+ MCC_GetSlowCurrentInjLevel
105
+ MCC_GetSlowCurrentInjSetlTime MCC_GetWholeCellCompCap
106
+ MCC_GetWholeCellCompEnable MCC_GetWholeCellCompResist
107
+ MCC_SelectMultiClamp700B MCC_SetBridgeBalEnable
108
+ MCC_SetBridgeBalResist MCC_SetFastCompCap
109
+ MCC_SetFastCompTau MCC_SetHolding MCC_SetHoldingEnable
110
+ MCC_SetMode MCC_SetNeutralizationCap
111
+ MCC_SetNeutralizationEnable MCC_SetOscKillerEnable
112
+ MCC_SetPipetteOffset MCC_SetPrimarySignalGain
113
+ MCC_SetPrimarySignalHPF MCC_SetPrimarySignalLPF
114
+ MCC_SetRsCompBandwidth MCC_SetRsCompCorrection
115
+ MCC_SetRsCompEnable MCC_SetRsCompPrediction
116
+ MCC_SetSecondarySignalGain MCC_SetSecondarySignalLPF
117
+ MCC_SetSlowCompCap MCC_SetSlowCompTau
118
+ MCC_SetSlowCompTauX20Enable MCC_SetSlowCurrentInjEnable
119
+ MCC_SetSlowCurrentInjLevel
120
+ MCC_SetSlowCurrentInjSetlTime MCC_SetTimeoutMs
121
+ MCC_SetWholeCellCompCap MCC_SetWholeCellCompEnable
122
+ MCC_SetWholeCellCompResist MPFXEMGPeak
123
+ MPFXExpConvExpPeak MPFXGaussPeak MPFXLorenzianPeak
124
+ MPFXVoigtPeak MacroList MandelbrotPoint MarcumQ
125
+ MatrixCondition MatrixDet MatrixDot MatrixRank
126
+ MatrixTrace ModDate NVAR_Exists NaN NameOfWave
127
+ NewFreeDataFolder NewFreeWave NormalizeUnicode
128
+ NumVarOrDefault NumberByKey OperationList PICTInfo
129
+ PICTList PadString PanelResolution ParamIsDefault
130
+ ParseFilePath PathList Pi PixelFromAxisVal PolygonArea
131
+ PossiblyQuoteName ProcedureText RemoveByKey
132
+ RemoveEnding RemoveFromList RemoveListItem
133
+ ReplaceNumberByKey ReplaceString ReplaceStringByKey
134
+ SQL2DBinaryWaveToTextWave SQLAllocHandle SQLAllocStmt
135
+ SQLBinaryWavesToTextWave SQLBindCol SQLBindParameter
136
+ SQLBrowseConnect SQLBulkOperations SQLCancel
137
+ SQLCloseCursor SQLColAttributeNum SQLColAttributeStr
138
+ SQLColumnPrivileges SQLColumns SQLConnect
139
+ SQLDataSources SQLDescribeCol SQLDescribeParam
140
+ SQLDisconnect SQLDriverConnect SQLDrivers SQLEndTran
141
+ SQLError SQLExecDirect SQLExecute SQLFetch
142
+ SQLFetchScroll SQLForeignKeys SQLFreeConnect SQLFreeEnv
143
+ SQLFreeHandle SQLFreeStmt SQLGetConnectAttrNum
144
+ SQLGetConnectAttrStr SQLGetCursorName SQLGetDataNum
145
+ SQLGetDataStr SQLGetDescFieldNum SQLGetDescFieldStr
146
+ SQLGetDescRec SQLGetDiagFieldNum SQLGetDiagFieldStr
147
+ SQLGetDiagRec SQLGetEnvAttrNum SQLGetEnvAttrStr
148
+ SQLGetFunctions SQLGetInfoNum SQLGetInfoStr
149
+ SQLGetStmtAttrNum SQLGetStmtAttrStr SQLGetTypeInfo
150
+ SQLMoreResults SQLNativeSql SQLNumParams
151
+ SQLNumResultCols SQLNumResultRowsIfKnown
152
+ SQLNumRowsFetched SQLParamData SQLPrepare
153
+ SQLPrimaryKeys SQLProcedureColumns SQLProcedures
154
+ SQLPutData SQLReinitialize SQLRowCount
155
+ SQLSetConnectAttrNum SQLSetConnectAttrStr
156
+ SQLSetCursorName SQLSetDescFieldNum SQLSetDescFieldStr
157
+ SQLSetDescRec SQLSetEnvAttrNum SQLSetEnvAttrStr
158
+ SQLSetPos SQLSetStmtAttrNum SQLSetStmtAttrStr
159
+ SQLSpecialColumns SQLStatistics SQLTablePrivileges
160
+ SQLTables SQLTextWaveTo2DBinaryWave
161
+ SQLTextWaveToBinaryWaves SQLUpdateBoundValues
162
+ SQLXOPCheckState SVAR_Exists ScreenResolution Secs2Date
163
+ Secs2Time SelectNumber SelectString
164
+ SetEnvironmentVariable SortList SpecialCharacterInfo
165
+ SpecialCharacterList SpecialDirPath SphericalBessJ
166
+ SphericalBessJD SphericalBessY SphericalBessYD
167
+ SphericalHarmonics StartMSTimer StatsBetaCDF
168
+ StatsBetaPDF StatsBinomialCDF StatsBinomialPDF
169
+ StatsCMSSDCDF StatsCauchyCDF StatsCauchyPDF StatsChiCDF
170
+ StatsChiPDF StatsCorrelation StatsDExpCDF StatsDExpPDF
171
+ StatsEValueCDF StatsEValuePDF StatsErlangCDF
172
+ StatsErlangPDF StatsErrorPDF StatsExpCDF StatsExpPDF
173
+ StatsFCDF StatsFPDF StatsFriedmanCDF StatsGEVCDF
174
+ StatsGEVPDF StatsGammaCDF StatsGammaPDF
175
+ StatsGeometricCDF StatsGeometricPDF StatsHyperGCDF
176
+ StatsHyperGPDF StatsInvBetaCDF StatsInvBinomialCDF
177
+ StatsInvCMSSDCDF StatsInvCauchyCDF StatsInvChiCDF
178
+ StatsInvDExpCDF StatsInvEValueCDF StatsInvExpCDF
179
+ StatsInvFCDF StatsInvFriedmanCDF StatsInvGammaCDF
180
+ StatsInvGeometricCDF StatsInvKuiperCDF
181
+ StatsInvLogNormalCDF StatsInvLogisticCDF
182
+ StatsInvMaxwellCDF StatsInvMooreCDF
183
+ StatsInvNBinomialCDF StatsInvNCChiCDF StatsInvNCFCDF
184
+ StatsInvNormalCDF StatsInvParetoCDF StatsInvPoissonCDF
185
+ StatsInvPowerCDF StatsInvQCDF StatsInvQpCDF
186
+ StatsInvRayleighCDF StatsInvRectangularCDF
187
+ StatsInvSpearmanCDF StatsInvStudentCDF
188
+ StatsInvTopDownCDF StatsInvTriangularCDF
189
+ StatsInvUsquaredCDF StatsInvVonMisesCDF
190
+ StatsInvWeibullCDF StatsKuiperCDF StatsLogNormalCDF
191
+ StatsLogNormalPDF StatsLogisticCDF StatsLogisticPDF
192
+ StatsMaxwellCDF StatsMaxwellPDF StatsMedian
193
+ StatsMooreCDF StatsNBinomialCDF StatsNBinomialPDF
194
+ StatsNCChiCDF StatsNCChiPDF StatsNCFCDF StatsNCFPDF
195
+ StatsNCTCDF StatsNCTPDF StatsNormalCDF StatsNormalPDF
196
+ StatsParetoCDF StatsParetoPDF StatsPermute
197
+ StatsPoissonCDF StatsPoissonPDF StatsPowerCDF
198
+ StatsPowerNoise StatsPowerPDF StatsQCDF StatsQpCDF
199
+ StatsRayleighCDF StatsRayleighPDF StatsRectangularCDF
200
+ StatsRectangularPDF StatsRunsCDF StatsSpearmanRhoCDF
201
+ StatsStudentCDF StatsStudentPDF StatsTopDownCDF
202
+ StatsTriangularCDF StatsTriangularPDF StatsTrimmedMean
203
+ StatsUSquaredCDF StatsVonMisesCDF StatsVonMisesNoise
204
+ StatsVonMisesPDF StatsWaldCDF StatsWaldPDF
205
+ StatsWeibullCDF StatsWeibullPDF StopMSTimer
206
+ StrVarOrDefault StringByKey StringFromList StringList
207
+ StudentA StudentT TDMAddChannel TDMAddGroup
208
+ TDMAppendDataValues TDMAppendDataValuesTime
209
+ TDMChannelPropertyExists TDMCloseChannel TDMCloseFile
210
+ TDMCloseGroup TDMCreateChannelProperty TDMCreateFile
211
+ TDMCreateFileProperty TDMCreateGroupProperty
212
+ TDMFilePropertyExists TDMGetChannelPropertyNames
213
+ TDMGetChannelPropertyNum TDMGetChannelPropertyStr
214
+ TDMGetChannelPropertyTime TDMGetChannelPropertyType
215
+ TDMGetChannelStringPropertyLen TDMGetChannels
216
+ TDMGetDataType TDMGetDataValues TDMGetDataValuesTime
217
+ TDMGetFilePropertyNames TDMGetFilePropertyNum
218
+ TDMGetFilePropertyStr TDMGetFilePropertyTime
219
+ TDMGetFilePropertyType TDMGetFileStringPropertyLen
220
+ TDMGetGroupPropertyNames TDMGetGroupPropertyNum
221
+ TDMGetGroupPropertyStr TDMGetGroupPropertyTime
222
+ TDMGetGroupPropertyType TDMGetGroupStringPropertyLen
223
+ TDMGetGroups TDMGetLibraryErrorDescription
224
+ TDMGetNumChannelProperties TDMGetNumChannels
225
+ TDMGetNumDataValues TDMGetNumFileProperties
226
+ TDMGetNumGroupProperties TDMGetNumGroups
227
+ TDMGroupPropertyExists TDMOpenFile TDMOpenFileEx
228
+ TDMRemoveChannel TDMRemoveGroup TDMReplaceDataValues
229
+ TDMReplaceDataValuesTime TDMSaveFile
230
+ TDMSetChannelPropertyNum TDMSetChannelPropertyStr
231
+ TDMSetChannelPropertyTime TDMSetDataValues
232
+ TDMSetDataValuesTime TDMSetFilePropertyNum
233
+ TDMSetFilePropertyStr TDMSetFilePropertyTime
234
+ TDMSetGroupPropertyNum TDMSetGroupPropertyStr
235
+ TDMSetGroupPropertyTime TableInfo TagVal TagWaveRef
236
+ TextEncodingCode TextEncodingName TextFile
237
+ ThreadGroupCreate ThreadGroupGetDF ThreadGroupGetDFR
238
+ ThreadGroupRelease ThreadGroupWait ThreadProcessorCount
239
+ ThreadReturnValue TraceFromPixel TraceInfo
240
+ TraceNameList TraceNameToWaveRef TrimString URLDecode
241
+ URLEncode UnPadString UniqueName
242
+ UnsetEnvironmentVariable UpperStr VariableList Variance
243
+ VoigtFunc VoigtPeak WaveCRC WaveDims WaveExists
244
+ WaveHash WaveInfo WaveList WaveMax WaveMin WaveName
245
+ WaveRefIndexed WaveRefIndexedDFR WaveRefWaveToList
246
+ WaveRefsEqual WaveTextEncoding WaveType WaveUnits
247
+ WhichListItem WinList WinName WinRecreation WinType
248
+ XWaveName XWaveRefFromTrace ZernikeR abs acos acosh
249
+ alog area areaXY asin asinh atan atan2 atanh beta betai
250
+ binomial binomialNoise binomialln cabs ceil cequal
251
+ char2num chebyshev chebyshevU cmplx cmpstr conj cos
252
+ cosIntegral cosh cot coth cpowi csc csch date date2secs
253
+ datetime defined deltax digamma dilogarithm ei enoise
254
+ equalWaves erf erfc erfcw exists exp expInt
255
+ expIntegralE1 expNoise fDAQmx_AI_GetReader
256
+ fDAQmx_AO_UpdateOutputs fDAQmx_CTR_Finished
257
+ fDAQmx_CTR_IsFinished fDAQmx_CTR_IsPulseFinished
258
+ fDAQmx_CTR_ReadCounter fDAQmx_CTR_ReadWithOptions
259
+ fDAQmx_CTR_SetPulseFrequency fDAQmx_CTR_Start
260
+ fDAQmx_ConnectTerminals fDAQmx_DIO_Finished
261
+ fDAQmx_DIO_PortWidth fDAQmx_DIO_Read fDAQmx_DIO_Write
262
+ fDAQmx_DeviceNames fDAQmx_DisconnectTerminals
263
+ fDAQmx_ErrorString fDAQmx_ExternalCalDate
264
+ fDAQmx_NumAnalogInputs fDAQmx_NumAnalogOutputs
265
+ fDAQmx_NumCounters fDAQmx_NumDIOPorts fDAQmx_ReadChan
266
+ fDAQmx_ReadNamedChan fDAQmx_ResetDevice
267
+ fDAQmx_ScanGetAvailable fDAQmx_ScanGetNextIndex
268
+ fDAQmx_ScanStart fDAQmx_ScanStop fDAQmx_ScanWait
269
+ fDAQmx_ScanWaitWithTimeout fDAQmx_SelfCalDate
270
+ fDAQmx_SelfCalibration fDAQmx_WF_IsFinished
271
+ fDAQmx_WF_WaitUntilFinished fDAQmx_WaveformStart
272
+ fDAQmx_WaveformStop fDAQmx_WriteChan factorial fakedata
273
+ faverage faverageXY floor gamma gammaEuler gammaInc
274
+ gammaNoise gammln gammp gammq gcd gnoise hcsr hermite
275
+ hermiteGauss imag interp inverseERF inverseERFC leftx
276
+ limit ln log logNormalNoise lorentzianNoise magsqr max
277
+ mean median min mod norm note num2char num2istr num2str
278
+ numpnts numtype p2rect pcsr pnt2x poissonNoise poly
279
+ poly2D qcsr r2polar real rightx round sawtooth
280
+ scaleToIndex sec sech sign sin sinIntegral sinc sinh
281
+ sqrt str2num stringCRC stringmatch strlen strsearch sum
282
+ tan tango_close_device tango_command_inout
283
+ tango_compute_image_proj tango_get_dev_attr_list
284
+ tango_get_dev_black_box tango_get_dev_cmd_list
285
+ tango_get_dev_status tango_get_dev_timeout
286
+ tango_get_error_stack tango_open_device
287
+ tango_ping_device tango_read_attribute
288
+ tango_read_attributes tango_reload_dev_interface
289
+ tango_resume_attr_monitor tango_set_attr_monitor_period
290
+ tango_set_dev_timeout tango_start_attr_monitor
291
+ tango_stop_attr_monitor tango_suspend_attr_monitor
292
+ tango_write_attribute tango_write_attributes tanh ticks
293
+ time trunc vcsr viAssertIntrSignal viAssertTrigger
294
+ viAssertUtilSignal viClear viClose viDisableEvent
295
+ viDiscardEvents viEnableEvent viFindNext viFindRsrc
296
+ viGetAttribute viGetAttributeString viGpibCommand
297
+ viGpibControlATN viGpibControlREN viGpibPassControl
298
+ viGpibSendIFC viIn16 viIn32 viIn8 viLock viMapAddress
299
+ viMapTrigger viMemAlloc viMemFree viMoveIn16 viMoveIn32
300
+ viMoveIn8 viMoveOut16 viMoveOut32 viMoveOut8 viOpen
301
+ viOpenDefaultRM viOut16 viOut32 viOut8 viPeek16
302
+ viPeek32 viPeek8 viPoke16 viPoke32 viPoke8 viRead
303
+ viReadSTB viSetAttribute viSetAttributeString
304
+ viStatusDesc viTerminate viUnlock viUnmapAddress
305
+ viUnmapTrigger viUsbControlIn viUsbControlOut
306
+ viVxiCommandQuery viWaitOnEvent viWrite wnoise x2pnt
307
+ xcsr zcsr zeromq_client_connect zeromq_client_connect
308
+ zeromq_client_recv zeromq_client_recv
309
+ zeromq_client_send zeromq_client_send
310
+ zeromq_handler_start zeromq_handler_start
311
+ zeromq_handler_stop zeromq_handler_stop
312
+ zeromq_server_bind zeromq_server_bind
313
+ zeromq_server_recv zeromq_server_recv
314
+ zeromq_server_send zeromq_server_send zeromq_set
315
+ zeromq_set zeromq_stop zeromq_stop
316
+ zeromq_test_callfunction zeromq_test_callfunction
317
+ zeromq_test_serializeWave zeromq_test_serializeWave
318
+ zeta
319
+ )
320
+ end
321
+
322
+ def self.igorOperation
323
+ @igorOperation ||= Set.new %w(
324
+ APMath Abort AddFIFOData AddFIFOVectData AddMovieAudio
325
+ AddMovieFrame AddWavesToBoxPlot AddWavesToViolinPlot
326
+ AdoptFiles Append AppendBoxPlot AppendImage
327
+ AppendLayoutObject AppendMatrixContour AppendText
328
+ AppendToGizmo AppendToGraph AppendToLayout
329
+ AppendToTable AppendViolinPlot AppendXYZContour
330
+ AutoPositionWindow AxonTelegraphFindServers
331
+ BackgroundInfo Beep BoundingBall BoxSmooth BrowseURL
332
+ BuildMenu Button CWT Chart CheckBox CheckDisplayed
333
+ ChooseColor Close CloseHelp CloseMovie CloseProc
334
+ ColorScale ColorTab2Wave Concatenate ControlBar
335
+ ControlInfo ControlUpdate
336
+ ConvertGlobalStringTextEncoding ConvexHull Convolve
337
+ CopyDimLabels CopyFile CopyFolder CopyScales Correlate
338
+ CreateAliasShortcut CreateBrowser Cross CtrlBackground
339
+ CtrlFIFO CtrlNamedBackground Cursor CurveFit
340
+ CustomControl DAQmx_AI_SetupReader DAQmx_AO_SetOutputs
341
+ DAQmx_CTR_CountEdges DAQmx_CTR_OutputPulse
342
+ DAQmx_CTR_Period DAQmx_CTR_PulseWidth DAQmx_DIO_Config
343
+ DAQmx_DIO_WriteNewData DAQmx_Scan DAQmx_WaveformGen
344
+ DPSS DSPDetrend DSPPeriodogram DWT Debugger
345
+ DebuggerOptions DefaultFont DefaultGuiControls
346
+ DefaultGuiFont DefaultTextEncoding DefineGuide
347
+ DelayUpdate DeleteAnnotations DeleteFile DeleteFolder
348
+ DeletePoints Differentiate Display DisplayHelpTopic
349
+ DisplayProcedure DoAlert DoIgorMenu DoUpdate DoWindow
350
+ DoXOPIdle DrawAction DrawArc DrawBezier DrawLine
351
+ DrawOval DrawPICT DrawPoly DrawRRect DrawRect DrawText
352
+ DrawUserShape Duplicate DuplicateDataFolder EdgeStats
353
+ Edit ErrorBars EstimatePeakSizes Execute
354
+ ExecuteScriptText ExperimentInfo ExperimentModified
355
+ ExportGizmo Extract FBinRead FBinWrite FFT FGetPos
356
+ FIFO2Wave FIFOStatus FMaxFlat FPClustering FReadLine
357
+ FSetPos FStatus FTPCreateDirectory FTPDelete
358
+ FTPDownload FTPUpload FastGaussTransform FastOp
359
+ FilterFIR FilterIIR FindAPeak FindContour
360
+ FindDuplicates FindLevel FindLevels FindPeak
361
+ FindPointsInPoly FindRoots FindSequence FindValue
362
+ FuncFit FuncFitMD GBLoadWave GISCreateVectorLayer
363
+ GISGetRasterInfo GISGetRegisteredFileInfo
364
+ GISGetVectorLayerInfo GISLoadRasterData
365
+ GISLoadVectorData GISRasterizeVectorData
366
+ GISRegisterFile GISTransformCoords GISUnRegisterFile
367
+ GISWriteFieldData GISWriteGeometryData GISWriteRaster
368
+ GPIB2 GPIBRead2 GPIBReadBinary2 GPIBReadBinaryWave2
369
+ GPIBReadWave2 GPIBWrite2 GPIBWriteBinary2
370
+ GPIBWriteBinaryWave2 GPIBWriteWave2 GetAxis GetCamera
371
+ GetFileFolderInfo GetGizmo GetLastUserMenuInfo
372
+ GetMarquee GetMouse GetSelection GetWindow GraphNormal
373
+ GraphWaveDraw GraphWaveEdit Grep GroupBox
374
+ HDF5CloseFile HDF5CloseGroup HDF5ConvertColors
375
+ HDF5CreateFile HDF5CreateGroup HDF5CreateLink HDF5Dump
376
+ HDF5DumpErrors HDF5DumpState HDF5FlushFile
377
+ HDF5ListAttributes HDF5ListGroup HDF5LoadData
378
+ HDF5LoadGroup HDF5LoadImage HDF5OpenFile HDF5OpenGroup
379
+ HDF5SaveData HDF5SaveGroup HDF5SaveImage
380
+ HDF5TestOperation HDF5UnlinkObject HDFInfo
381
+ HDFReadImage HDFReadSDS HDFReadVset Hanning
382
+ HideIgorMenus HideInfo HideProcedures HideTools
383
+ HilbertTransform Histogram ICA IFFT ITCCloseAll2
384
+ ITCCloseDevice2 ITCConfigAllChannels2
385
+ ITCConfigChannel2 ITCConfigChannelReset2
386
+ ITCConfigChannelUpload2 ITCFIFOAvailable2
387
+ ITCFIFOAvailableAll2 ITCGetAllChannelsConfig2
388
+ ITCGetChannelConfig2 ITCGetCurrentDevice2
389
+ ITCGetDeviceInfo2 ITCGetDevices2 ITCGetErrorString2
390
+ ITCGetSerialNumber2 ITCGetState2 ITCGetVersions2
391
+ ITCInitialize2 ITCOpenDevice2 ITCReadADC2
392
+ ITCReadDigital2 ITCReadTimer2 ITCSelectDevice2
393
+ ITCSetDAC2 ITCSetGlobals2 ITCSetModes2 ITCSetState2
394
+ ITCStartAcq2 ITCStopAcq2 ITCUpdateFIFOPosition2
395
+ ITCUpdateFIFOPositionAll2 ITCWriteDigital2
396
+ ImageAnalyzeParticles ImageBlend ImageBoundaryToMask
397
+ ImageComposite ImageEdgeDetection ImageFileInfo
398
+ ImageFilter ImageFocus ImageFromXYZ ImageGLCM
399
+ ImageGenerateROIMask ImageHistModification
400
+ ImageHistogram ImageInterpolate ImageLineProfile
401
+ ImageLoad ImageMorphology ImageRegistration
402
+ ImageRemoveBackground ImageRestore ImageRotate
403
+ ImageSave ImageSeedFill ImageSkeleton3d ImageSnake
404
+ ImageStats ImageThreshold ImageTransform
405
+ ImageUnwrapPhase ImageWindow IndexSort InsertPoints
406
+ Integrate Integrate2D IntegrateODE Interp3DPath
407
+ Interpolate2 Interpolate3D JCAMPLoadWave
408
+ JointHistogram KMeans KillBackground KillControl
409
+ KillDataFolder KillFIFO KillFreeAxis KillPICTs
410
+ KillPath KillStrings KillVariables KillWaves
411
+ KillWindow Label Layout LayoutPageAction
412
+ LayoutSlideShow Legend LinearFeedbackShiftRegister
413
+ ListBox LoadData LoadPICT LoadPackagePreferences
414
+ LoadWave Loess LombPeriodogram MCC_FindServers
415
+ MFR_CheckForNewBricklets MFR_CloseResultFile
416
+ MFR_CreateOverviewTable MFR_GetBrickletCount
417
+ MFR_GetBrickletData MFR_GetBrickletDeployData
418
+ MFR_GetBrickletMetaData MFR_GetBrickletRawData
419
+ MFR_GetReportTemplate MFR_GetResultFileMetaData
420
+ MFR_GetResultFileName MFR_GetVernissageVersion
421
+ MFR_GetVersion MFR_GetXOPErrorMessage
422
+ MFR_OpenResultFile
423
+ MLLoadWave Make MakeIndex MarkPerfTestTime
424
+ MatrixConvolve MatrixCorr MatrixEigenV MatrixFilter
425
+ MatrixGLM MatrixGaussJ MatrixInverse MatrixLLS
426
+ MatrixLUBkSub MatrixLUD MatrixLUDTD MatrixLinearSolve
427
+ MatrixLinearSolveTD MatrixMultiply MatrixOP
428
+ MatrixSVBkSub MatrixSVD MatrixSchur MatrixSolve
429
+ MatrixTranspose MeasureStyledText Modify ModifyBoxPlot
430
+ ModifyBrowser ModifyCamera ModifyContour ModifyControl
431
+ ModifyControlList ModifyFreeAxis ModifyGizmo
432
+ ModifyGraph ModifyImage ModifyLayout ModifyPanel
433
+ ModifyTable ModifyViolinPlot ModifyWaterfall
434
+ MoveDataFolder MoveFile MoveFolder MoveString
435
+ MoveSubwindow MoveVariable MoveWave MoveWindow
436
+ MultiTaperPSD MultiThreadingControl NC_CloseFile
437
+ NC_DumpErrors NC_Inquire NC_ListAttributes
438
+ NC_ListObjects NC_LoadData NC_OpenFile NI4882
439
+ NILoadWave NeuralNetworkRun NeuralNetworkTrain
440
+ NewCamera NewDataFolder NewFIFO NewFIFOChan
441
+ NewFreeAxis NewGizmo NewImage NewLayout NewMovie
442
+ NewNotebook NewPanel NewPath NewWaterfall Note
443
+ Notebook NotebookAction Open OpenHelp OpenNotebook
444
+ Optimize PCA ParseOperationTemplate PathInfo
445
+ PauseForUser PauseUpdate PlayMovie PlayMovieAction
446
+ PlaySound PopupContextualMenu PopupMenu Preferences
447
+ PrimeFactors Print PrintGraphs PrintLayout
448
+ PrintNotebook PrintSettings PrintTable Project
449
+ PulseStats PutScrapText Quit RatioFromNumber
450
+ Redimension Remez Remove RemoveContour RemoveFromGizmo
451
+ RemoveFromGraph RemoveFromLayout RemoveFromTable
452
+ RemoveImage RemoveLayoutObjects RemovePath Rename
453
+ RenameDataFolder RenamePICT RenamePath RenameWindow
454
+ ReorderImages ReorderTraces ReplaceText ReplaceWave
455
+ Resample ResumeUpdate Reverse Rotate SQLHighLevelOp
456
+ STFT Save SaveData SaveExperiment SaveGizmoCopy
457
+ SaveGraphCopy SaveNotebook SavePICT
458
+ SavePackagePreferences SaveTableCopy
459
+ SetActiveSubwindow SetAxis SetBackground
460
+ SetDashPattern SetDataFolder SetDimLabel SetDrawEnv
461
+ SetDrawLayer SetFileFolderInfo SetFormula
462
+ SetIdlePeriod SetIgorHook SetIgorMenuMode
463
+ SetIgorOption SetMarquee SetProcessSleep SetRandomSeed
464
+ SetScale SetVariable SetWaveLock SetWaveTextEncoding
465
+ SetWindow ShowIgorMenus ShowInfo ShowTools Silent
466
+ Sleep Slider Smooth SmoothCustom Sort SortColumns
467
+ SoundInRecord SoundInSet SoundInStartChart
468
+ SoundInStatus SoundInStopChart SoundLoadWave
469
+ SoundSaveWave SphericalInterpolate
470
+ SphericalTriangulate SplitString SplitWave Stack
471
+ StackWindows StatsANOVA1Test StatsANOVA2NRTest
472
+ StatsANOVA2RMTest StatsANOVA2Test
473
+ StatsAngularDistanceTest StatsChiTest
474
+ StatsCircularCorrelationTest StatsCircularMeans
475
+ StatsCircularMoments StatsCircularTwoSampleTest
476
+ StatsCochranTest StatsContingencyTable StatsDIPTest
477
+ StatsDunnettTest StatsFTest StatsFriedmanTest
478
+ StatsHodgesAjneTest StatsJBTest StatsKDE StatsKSTest
479
+ StatsKWTest StatsKendallTauTest
480
+ StatsLinearCorrelationTest StatsLinearRegression
481
+ StatsMultiCorrelationTest StatsNPMCTest
482
+ StatsNPNominalSRTest StatsQuantiles
483
+ StatsRankCorrelationTest StatsResample StatsSRTest
484
+ StatsSample StatsScheffeTest StatsShapiroWilkTest
485
+ StatsSignTest StatsTTest StatsTukeyTest
486
+ StatsVariancesTest StatsWRCorrelationTest
487
+ StatsWatsonUSquaredTest StatsWatsonWilliamsTest
488
+ StatsWheelerWatsonTest StatsWilcoxonRankTest String
489
+ StructFill StructGet StructPut SumDimension SumSeries
490
+ TDMLoadData TDMSaveData TabControl Tag TextBox
491
+ ThreadGroupPutDF ThreadStart TickWavesFromAxis Tile
492
+ TileWindows TitleBox ToCommandLine ToolsGrid
493
+ Triangulate3d URLRequest Unwrap VDT2 VDTClosePort2
494
+ VDTGetPortList2 VDTGetStatus2 VDTOpenPort2
495
+ VDTOperationsPort2 VDTRead2 VDTReadBinary2
496
+ VDTReadBinaryWave2 VDTReadHex2 VDTReadHexWave2
497
+ VDTReadWave2 VDTTerminalPort2 VDTWrite2
498
+ VDTWriteBinary2 VDTWriteBinaryWave2 VDTWriteHex2
499
+ VDTWriteHexWave2 VDTWriteWave2 VISAControl VISARead
500
+ VISAReadBinary VISAReadBinaryWave VISAReadWave
501
+ VISAWrite VISAWriteBinary VISAWriteBinaryWave
502
+ VISAWriteWave ValDisplay Variable WaveMeanStdv
503
+ WaveStats WaveTransform WignerTransform WindowFunction
504
+ XLLoadWave cd dir fprintf printf pwd sprintf sscanf
505
+ wfprintf
506
+ )
507
+ end
508
+
509
+ def self.object_name
510
+ /\b[a-z][a-z0-9_\.]*?\b/i
511
+ end
512
+
513
+ object = self.object_name
514
+ noLineBreak = /(?:[ \t]|(?:\\\s*[\r\n]))+/
515
+ operator = %r([\#$~!%^&*+=\|?:<>/-])
516
+ punctuation = /[{}()\[\],.;]/
517
+ number_float= /0x[a-f0-9]+/i
518
+ number_hex = /\d+\.\d+(e[\+\-]?\d+)?/
519
+ number_int = /[\d]+(?:_\d+)*/
520
+
521
+ state :root do
522
+ rule %r(//), Comment, :comments
523
+
524
+ rule %r/#{object}/ do |m|
525
+ if m[0].downcase =~ /function/
526
+ token Keyword::Declaration
527
+ push :parse_function
528
+ elsif self.class.igorDeclarations.include? m[0].downcase
529
+ token Keyword::Declaration
530
+ push :parse_variables
531
+ elsif self.class.keywords.include? m[0].downcase
532
+ token Keyword
533
+ elsif self.class.igorConstants.include? m[0].downcase
534
+ token Keyword::Constant
535
+ elsif self.class.igorFunction.include? m[0].downcase
536
+ token Name::Builtin
537
+ elsif self.class.igorOperation.include? m[0].downcase
538
+ token Keyword::Reserved
539
+ push :operationFlags
540
+ elsif m[0].downcase =~ /\b(v|s|w)_[a-z]+[a-z0-9]*/
541
+ token Name::Constant
542
+ else
543
+ token Name
544
+ end
545
+ end
546
+
547
+ mixin :preprocessor
548
+ mixin :waveFlag
549
+
550
+ mixin :characters
551
+ mixin :numbers
552
+ mixin :whitespace
553
+ end
554
+
555
+ state :preprocessor do
556
+ rule %r((\#)(#{object})) do |m|
557
+ if self.class.preprocessor.include? m[2].downcase
558
+ token Comment::Preproc
559
+ else
560
+ token Punctuation, m[1] #i.e. ModuleFunctions
561
+ token Name, m[2]
562
+ end
563
+
564
+
565
+ end
566
+ end
567
+
568
+ state :assignment do
569
+ mixin :whitespace
570
+ rule %r/\"/, Literal::String::Double, :string1 #punctuation for string
571
+ mixin :string2
572
+ rule %r/#{number_float}/, Literal::Number::Float, :pop!
573
+ rule %r/#{number_int}/, Literal::Number::Integer, :pop!
574
+ rule %r/[\(\[\{][^\)\]\}]+[\)\]\}]/, Generic, :pop!
575
+ rule %r/[^\s\/\(]+/, Generic, :pop!
576
+ rule(//) { pop! }
577
+ end
578
+
579
+ state :parse_variables do
580
+ mixin :whitespace
581
+ rule %r/[=]/, Punctuation, :assignment
582
+ rule object, Name::Variable
583
+ rule %r/[\[\]]/, Punctuation # optional variables in functions
584
+ rule %r/[,]/, Punctuation, :parse_variables
585
+ rule %r/\)/, Punctuation, :pop! # end of function
586
+ rule %r([/][a-z]+)i, Keyword::Pseudo, :parse_variables
587
+ rule(//) { pop! }
588
+ end
589
+
590
+ state :parse_function do
591
+ rule %r([/][a-z]+)i, Keyword::Pseudo # only one flag
592
+ mixin :whitespace
593
+ rule object, Name::Function
594
+ rule %r/[\(]/, Punctuation, :parse_variables
595
+ rule(//) { pop! }
596
+ end
597
+
598
+ state :operationFlags do
599
+ rule %r/#{noLineBreak}/, Text
600
+ rule %r/[=]/, Punctuation, :assignment
601
+ rule %r([/][a-z]+)i, Keyword::Pseudo, :operationFlags
602
+ rule %r/(as)(\s*)(#{object})/i do
603
+ groups Keyword::Type, Text, Name::Label
604
+ end
605
+ rule(//) { pop! }
606
+ end
607
+
608
+ # inline variable assignments (i.e. for Make) with strict syntax
609
+ state :waveFlag do
610
+ rule %r(
611
+ (/(?:wave|X|Y))
612
+ (\s*)(=)(\s*)
613
+ (#{object})
614
+ )ix do |m|
615
+ token Keyword::Pseudo, m[1]
616
+ token Text, m[2]
617
+ token Punctuation, m[3]
618
+ token Text, m[4]
619
+ token Name::Variable, m[5]
620
+ end
621
+ end
622
+
623
+ state :characters do
624
+ rule %r/\s/, Text
625
+ rule %r/#{operator}/, Operator
626
+ rule %r/#{punctuation}/, Punctuation
627
+ rule %r/\"/, Literal::String::Double, :string1 #punctuation for string
628
+ mixin :string2
629
+ end
630
+
631
+ state :numbers do
632
+ rule %r/#{number_float}/, Literal::Number::Float
633
+ rule %r/#{number_hex}/, Literal::Number::Hex
634
+ rule %r/#{number_int}/, Literal::Number::Integer
635
+ end
636
+
637
+ state :whitespace do
638
+ rule %r/#{noLineBreak}/, Text
639
+ end
640
+
641
+ state :string1 do
642
+ rule %r/%\w\b/, Literal::String::Other
643
+ rule %r/\\\\/, Literal::String::Escape
644
+ rule %r/\\\"/, Literal::String::Escape
645
+ rule %r/\\/, Literal::String::Escape
646
+ rule %r/[^"]/, Literal::String
647
+ rule %r/\"/, Literal::String::Double, :pop! #punctuation for string
648
+ end
649
+
650
+ state :string2 do
651
+ rule %r/\'[^']*\'/, Literal::String::Single
652
+ end
653
+
654
+ state :comments do
655
+ rule %r{([/]\s*)([@]\w+\b)}i do
656
+ # doxygen comments
657
+ groups Comment, Comment::Special
658
+ end
659
+ rule %r/[^\r\n]/, Comment
660
+ rule(//) { pop! }
661
+ end
662
+ end
663
+ end
664
+ end