rougegal 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +26 -0
  3. data/LICENSE +186 -0
  4. data/bin/rougify +17 -0
  5. data/lib/rouge/cli.rb +394 -0
  6. data/lib/rouge/demos/abap +6 -0
  7. data/lib/rouge/demos/actionscript +4 -0
  8. data/lib/rouge/demos/apache +21 -0
  9. data/lib/rouge/demos/apiblueprint +33 -0
  10. data/lib/rouge/demos/applescript +2 -0
  11. data/lib/rouge/demos/awk +4 -0
  12. data/lib/rouge/demos/biml +38 -0
  13. data/lib/rouge/demos/bsl +7 -0
  14. data/lib/rouge/demos/c +8 -0
  15. data/lib/rouge/demos/ceylon +7 -0
  16. data/lib/rouge/demos/cfscript +18 -0
  17. data/lib/rouge/demos/clojure +5 -0
  18. data/lib/rouge/demos/cmake +7 -0
  19. data/lib/rouge/demos/coffeescript +5 -0
  20. data/lib/rouge/demos/common_lisp +1 -0
  21. data/lib/rouge/demos/conf +4 -0
  22. data/lib/rouge/demos/console +6 -0
  23. data/lib/rouge/demos/coq +13 -0
  24. data/lib/rouge/demos/cpp +8 -0
  25. data/lib/rouge/demos/csharp +5 -0
  26. data/lib/rouge/demos/css +4 -0
  27. data/lib/rouge/demos/d +16 -0
  28. data/lib/rouge/demos/dart +6 -0
  29. data/lib/rouge/demos/diff +7 -0
  30. data/lib/rouge/demos/digdag +19 -0
  31. data/lib/rouge/demos/docker +9 -0
  32. data/lib/rouge/demos/dot +5 -0
  33. data/lib/rouge/demos/eiffel +30 -0
  34. data/lib/rouge/demos/elixir +1 -0
  35. data/lib/rouge/demos/erb +1 -0
  36. data/lib/rouge/demos/erlang +7 -0
  37. data/lib/rouge/demos/factor +5 -0
  38. data/lib/rouge/demos/fortran +22 -0
  39. data/lib/rouge/demos/fsharp +12 -0
  40. data/lib/rouge/demos/gal +22 -0
  41. data/lib/rouge/demos/gherkin +17 -0
  42. data/lib/rouge/demos/glsl +14 -0
  43. data/lib/rouge/demos/go +7 -0
  44. data/lib/rouge/demos/gradle +10 -0
  45. data/lib/rouge/demos/graphql +17 -0
  46. data/lib/rouge/demos/groovy +9 -0
  47. data/lib/rouge/demos/haml +5 -0
  48. data/lib/rouge/demos/handlebars +7 -0
  49. data/lib/rouge/demos/haskell +6 -0
  50. data/lib/rouge/demos/html +8 -0
  51. data/lib/rouge/demos/http +14 -0
  52. data/lib/rouge/demos/hylang +10 -0
  53. data/lib/rouge/demos/idlang +8 -0
  54. data/lib/rouge/demos/igorpro +9 -0
  55. data/lib/rouge/demos/ini +4 -0
  56. data/lib/rouge/demos/io +11 -0
  57. data/lib/rouge/demos/irb +4 -0
  58. data/lib/rouge/demos/irb_output +2 -0
  59. data/lib/rouge/demos/java +5 -0
  60. data/lib/rouge/demos/javascript +1 -0
  61. data/lib/rouge/demos/jinja +9 -0
  62. data/lib/rouge/demos/json +1 -0
  63. data/lib/rouge/demos/json-doc +1 -0
  64. data/lib/rouge/demos/jsonnet +28 -0
  65. data/lib/rouge/demos/jsx +17 -0
  66. data/lib/rouge/demos/julia +11 -0
  67. data/lib/rouge/demos/kotlin +3 -0
  68. data/lib/rouge/demos/lasso +12 -0
  69. data/lib/rouge/demos/liquid +11 -0
  70. data/lib/rouge/demos/literate_coffeescript +3 -0
  71. data/lib/rouge/demos/literate_haskell +7 -0
  72. data/lib/rouge/demos/llvm +20 -0
  73. data/lib/rouge/demos/lua +12 -0
  74. data/lib/rouge/demos/make +6 -0
  75. data/lib/rouge/demos/markdown +4 -0
  76. data/lib/rouge/demos/matlab +6 -0
  77. data/lib/rouge/demos/moonscript +16 -0
  78. data/lib/rouge/demos/mosel +10 -0
  79. data/lib/rouge/demos/mxml +22 -0
  80. data/lib/rouge/demos/nasm +26 -0
  81. data/lib/rouge/demos/nginx +5 -0
  82. data/lib/rouge/demos/nim +27 -0
  83. data/lib/rouge/demos/objective_c +18 -0
  84. data/lib/rouge/demos/ocaml +12 -0
  85. data/lib/rouge/demos/pascal +14 -0
  86. data/lib/rouge/demos/perl +5 -0
  87. data/lib/rouge/demos/php +3 -0
  88. data/lib/rouge/demos/plaintext +1 -0
  89. data/lib/rouge/demos/plist +142 -0
  90. data/lib/rouge/demos/pony +17 -0
  91. data/lib/rouge/demos/powershell +49 -0
  92. data/lib/rouge/demos/praat +26 -0
  93. data/lib/rouge/demos/prolog +9 -0
  94. data/lib/rouge/demos/prometheus +9 -0
  95. data/lib/rouge/demos/properties +7 -0
  96. data/lib/rouge/demos/protobuf +5 -0
  97. data/lib/rouge/demos/puppet +6 -0
  98. data/lib/rouge/demos/python +6 -0
  99. data/lib/rouge/demos/q +2 -0
  100. data/lib/rouge/demos/qml +9 -0
  101. data/lib/rouge/demos/r +8 -0
  102. data/lib/rouge/demos/racket +24 -0
  103. data/lib/rouge/demos/ruby +9 -0
  104. data/lib/rouge/demos/rust +12 -0
  105. data/lib/rouge/demos/sass +3 -0
  106. data/lib/rouge/demos/scala +3 -0
  107. data/lib/rouge/demos/scheme +4 -0
  108. data/lib/rouge/demos/scss +5 -0
  109. data/lib/rouge/demos/sed +4 -0
  110. data/lib/rouge/demos/shell +2 -0
  111. data/lib/rouge/demos/sieve +10 -0
  112. data/lib/rouge/demos/slim +17 -0
  113. data/lib/rouge/demos/smalltalk +6 -0
  114. data/lib/rouge/demos/smarty +12 -0
  115. data/lib/rouge/demos/sml +4 -0
  116. data/lib/rouge/demos/sql +1 -0
  117. data/lib/rouge/demos/swift +5 -0
  118. data/lib/rouge/demos/tap +5 -0
  119. data/lib/rouge/demos/tcl +1 -0
  120. data/lib/rouge/demos/tex +1 -0
  121. data/lib/rouge/demos/toml +9 -0
  122. data/lib/rouge/demos/tsx +17 -0
  123. data/lib/rouge/demos/tulip +13 -0
  124. data/lib/rouge/demos/turtle +26 -0
  125. data/lib/rouge/demos/twig +9 -0
  126. data/lib/rouge/demos/typescript +1 -0
  127. data/lib/rouge/demos/vala +8 -0
  128. data/lib/rouge/demos/vb +4 -0
  129. data/lib/rouge/demos/verilog +27 -0
  130. data/lib/rouge/demos/vhdl +23 -0
  131. data/lib/rouge/demos/viml +14 -0
  132. data/lib/rouge/demos/vue +11 -0
  133. data/lib/rouge/demos/wollok +11 -0
  134. data/lib/rouge/demos/xml +2 -0
  135. data/lib/rouge/demos/yaml +4 -0
  136. data/lib/rouge/formatter.rb +75 -0
  137. data/lib/rouge/formatters/html.rb +37 -0
  138. data/lib/rouge/formatters/html_inline.rb +30 -0
  139. data/lib/rouge/formatters/html_legacy.rb +44 -0
  140. data/lib/rouge/formatters/html_linewise.rb +27 -0
  141. data/lib/rouge/formatters/html_pygments.rb +16 -0
  142. data/lib/rouge/formatters/html_table.rb +61 -0
  143. data/lib/rouge/formatters/null.rb +19 -0
  144. data/lib/rouge/formatters/terminal256.rb +172 -0
  145. data/lib/rouge/guesser.rb +55 -0
  146. data/lib/rouge/guessers/filename.rb +25 -0
  147. data/lib/rouge/guessers/glob_mapping.rb +46 -0
  148. data/lib/rouge/guessers/mimetype.rb +14 -0
  149. data/lib/rouge/guessers/modeline.rb +42 -0
  150. data/lib/rouge/guessers/source.rb +39 -0
  151. data/lib/rouge/lexer.rb +452 -0
  152. data/lib/rouge/lexers/abap.rb +238 -0
  153. data/lib/rouge/lexers/actionscript.rb +195 -0
  154. data/lib/rouge/lexers/apache.rb +71 -0
  155. data/lib/rouge/lexers/apache/keywords.yml +764 -0
  156. data/lib/rouge/lexers/apiblueprint.rb +51 -0
  157. data/lib/rouge/lexers/apple_script.rb +367 -0
  158. data/lib/rouge/lexers/awk.rb +161 -0
  159. data/lib/rouge/lexers/biml.rb +41 -0
  160. data/lib/rouge/lexers/bsl.rb +81 -0
  161. data/lib/rouge/lexers/c.rb +217 -0
  162. data/lib/rouge/lexers/ceylon.rb +123 -0
  163. data/lib/rouge/lexers/cfscript.rb +153 -0
  164. data/lib/rouge/lexers/clojure.rb +112 -0
  165. data/lib/rouge/lexers/cmake.rb +206 -0
  166. data/lib/rouge/lexers/coffeescript.rb +174 -0
  167. data/lib/rouge/lexers/common_lisp.rb +345 -0
  168. data/lib/rouge/lexers/conf.rb +24 -0
  169. data/lib/rouge/lexers/console.rb +136 -0
  170. data/lib/rouge/lexers/coq.rb +191 -0
  171. data/lib/rouge/lexers/cpp.rb +78 -0
  172. data/lib/rouge/lexers/csharp.rb +114 -0
  173. data/lib/rouge/lexers/css.rb +273 -0
  174. data/lib/rouge/lexers/d.rb +176 -0
  175. data/lib/rouge/lexers/dart.rb +104 -0
  176. data/lib/rouge/lexers/diff.rb +31 -0
  177. data/lib/rouge/lexers/digdag.rb +72 -0
  178. data/lib/rouge/lexers/docker.rb +50 -0
  179. data/lib/rouge/lexers/dot.rb +68 -0
  180. data/lib/rouge/lexers/eiffel.rb +65 -0
  181. data/lib/rouge/lexers/elixir.rb +133 -0
  182. data/lib/rouge/lexers/erb.rb +56 -0
  183. data/lib/rouge/lexers/erlang.rb +118 -0
  184. data/lib/rouge/lexers/factor.rb +302 -0
  185. data/lib/rouge/lexers/fortran.rb +170 -0
  186. data/lib/rouge/lexers/fsharp.rb +118 -0
  187. data/lib/rouge/lexers/gal.rb +50 -0
  188. data/lib/rouge/lexers/gherkin.rb +137 -0
  189. data/lib/rouge/lexers/gherkin/keywords.rb +14 -0
  190. data/lib/rouge/lexers/glsl.rb +135 -0
  191. data/lib/rouge/lexers/go.rb +178 -0
  192. data/lib/rouge/lexers/gradle.rb +37 -0
  193. data/lib/rouge/lexers/graphql.rb +243 -0
  194. data/lib/rouge/lexers/groovy.rb +112 -0
  195. data/lib/rouge/lexers/haml.rb +233 -0
  196. data/lib/rouge/lexers/handlebars.rb +79 -0
  197. data/lib/rouge/lexers/haskell.rb +183 -0
  198. data/lib/rouge/lexers/html.rb +138 -0
  199. data/lib/rouge/lexers/http.rb +80 -0
  200. data/lib/rouge/lexers/hylang.rb +93 -0
  201. data/lib/rouge/lexers/idlang.rb +316 -0
  202. data/lib/rouge/lexers/igorpro.rb +407 -0
  203. data/lib/rouge/lexers/ini.rb +57 -0
  204. data/lib/rouge/lexers/io.rb +68 -0
  205. data/lib/rouge/lexers/irb.rb +66 -0
  206. data/lib/rouge/lexers/java.rb +87 -0
  207. data/lib/rouge/lexers/javascript.rb +269 -0
  208. data/lib/rouge/lexers/jinja.rb +137 -0
  209. data/lib/rouge/lexers/json.rb +29 -0
  210. data/lib/rouge/lexers/json_doc.rb +23 -0
  211. data/lib/rouge/lexers/jsonnet.rb +151 -0
  212. data/lib/rouge/lexers/jsx.rb +102 -0
  213. data/lib/rouge/lexers/julia.rb +172 -0
  214. data/lib/rouge/lexers/kotlin.rb +84 -0
  215. data/lib/rouge/lexers/lasso.rb +217 -0
  216. data/lib/rouge/lexers/lasso/keywords.yml +446 -0
  217. data/lib/rouge/lexers/liquid.rb +287 -0
  218. data/lib/rouge/lexers/literate_coffeescript.rb +33 -0
  219. data/lib/rouge/lexers/literate_haskell.rb +36 -0
  220. data/lib/rouge/lexers/llvm.rb +84 -0
  221. data/lib/rouge/lexers/lua.rb +125 -0
  222. data/lib/rouge/lexers/lua/builtins.rb +22 -0
  223. data/lib/rouge/lexers/make.rb +116 -0
  224. data/lib/rouge/lexers/markdown.rb +154 -0
  225. data/lib/rouge/lexers/matlab.rb +75 -0
  226. data/lib/rouge/lexers/matlab/builtins.rb +11 -0
  227. data/lib/rouge/lexers/moonscript.rb +114 -0
  228. data/lib/rouge/lexers/mosel.rb +231 -0
  229. data/lib/rouge/lexers/mxml.rb +68 -0
  230. data/lib/rouge/lexers/nasm.rb +203 -0
  231. data/lib/rouge/lexers/nginx.rb +71 -0
  232. data/lib/rouge/lexers/nim.rb +152 -0
  233. data/lib/rouge/lexers/objective_c.rb +208 -0
  234. data/lib/rouge/lexers/ocaml.rb +100 -0
  235. data/lib/rouge/lexers/pascal.rb +66 -0
  236. data/lib/rouge/lexers/perl.rb +197 -0
  237. data/lib/rouge/lexers/php.rb +193 -0
  238. data/lib/rouge/lexers/php/builtins.rb +194 -0
  239. data/lib/rouge/lexers/plain_text.rb +26 -0
  240. data/lib/rouge/lexers/plist.rb +49 -0
  241. data/lib/rouge/lexers/pony.rb +93 -0
  242. data/lib/rouge/lexers/powershell.rb +132 -0
  243. data/lib/rouge/lexers/praat.rb +350 -0
  244. data/lib/rouge/lexers/prolog.rb +64 -0
  245. data/lib/rouge/lexers/prometheus.rb +121 -0
  246. data/lib/rouge/lexers/properties.rb +55 -0
  247. data/lib/rouge/lexers/protobuf.rb +70 -0
  248. data/lib/rouge/lexers/puppet.rb +128 -0
  249. data/lib/rouge/lexers/python.rb +231 -0
  250. data/lib/rouge/lexers/q.rb +124 -0
  251. data/lib/rouge/lexers/qml.rb +73 -0
  252. data/lib/rouge/lexers/r.rb +89 -0
  253. data/lib/rouge/lexers/racket.rb +542 -0
  254. data/lib/rouge/lexers/ruby.rb +437 -0
  255. data/lib/rouge/lexers/rust.rb +192 -0
  256. data/lib/rouge/lexers/sass.rb +74 -0
  257. data/lib/rouge/lexers/sass/common.rb +180 -0
  258. data/lib/rouge/lexers/scala.rb +142 -0
  259. data/lib/rouge/lexers/scheme.rb +112 -0
  260. data/lib/rouge/lexers/scss.rb +34 -0
  261. data/lib/rouge/lexers/sed.rb +172 -0
  262. data/lib/rouge/lexers/shell.rb +180 -0
  263. data/lib/rouge/lexers/sieve.rb +96 -0
  264. data/lib/rouge/lexers/slim.rb +228 -0
  265. data/lib/rouge/lexers/smalltalk.rb +116 -0
  266. data/lib/rouge/lexers/smarty.rb +91 -0
  267. data/lib/rouge/lexers/sml.rb +348 -0
  268. data/lib/rouge/lexers/sql.rb +140 -0
  269. data/lib/rouge/lexers/swift.rb +161 -0
  270. data/lib/rouge/lexers/tap.rb +91 -0
  271. data/lib/rouge/lexers/tcl.rb +192 -0
  272. data/lib/rouge/lexers/tex.rb +69 -0
  273. data/lib/rouge/lexers/toml.rb +71 -0
  274. data/lib/rouge/lexers/tsx.rb +19 -0
  275. data/lib/rouge/lexers/tulip.rb +107 -0
  276. data/lib/rouge/lexers/turtle.rb +72 -0
  277. data/lib/rouge/lexers/twig.rb +39 -0
  278. data/lib/rouge/lexers/typescript.rb +22 -0
  279. data/lib/rouge/lexers/typescript/common.rb +33 -0
  280. data/lib/rouge/lexers/vala.rb +77 -0
  281. data/lib/rouge/lexers/vb.rb +164 -0
  282. data/lib/rouge/lexers/verilog.rb +164 -0
  283. data/lib/rouge/lexers/vhdl.rb +97 -0
  284. data/lib/rouge/lexers/viml.rb +101 -0
  285. data/lib/rouge/lexers/viml/keywords.rb +12 -0
  286. data/lib/rouge/lexers/vue.rb +124 -0
  287. data/lib/rouge/lexers/wollok.rb +107 -0
  288. data/lib/rouge/lexers/xml.rb +59 -0
  289. data/lib/rouge/lexers/yaml.rb +373 -0
  290. data/lib/rouge/plugins/redcarpet.rb +30 -0
  291. data/lib/rouge/regex_lexer.rb +441 -0
  292. data/lib/rouge/template_lexer.rb +20 -0
  293. data/lib/rouge/text_analyzer.rb +48 -0
  294. data/lib/rouge/theme.rb +213 -0
  295. data/lib/rouge/themes/base16.rb +130 -0
  296. data/lib/rouge/themes/colorful.rb +67 -0
  297. data/lib/rouge/themes/github.rb +71 -0
  298. data/lib/rouge/themes/gruvbox.rb +167 -0
  299. data/lib/rouge/themes/igor_pro.rb +20 -0
  300. data/lib/rouge/themes/molokai.rb +82 -0
  301. data/lib/rouge/themes/monokai.rb +92 -0
  302. data/lib/rouge/themes/monokai_sublime.rb +90 -0
  303. data/lib/rouge/themes/pastie.rb +69 -0
  304. data/lib/rouge/themes/thankful_eyes.rb +74 -0
  305. data/lib/rouge/themes/tulip.rb +69 -0
  306. data/lib/rouge/token.rb +182 -0
  307. data/lib/rouge/util.rb +101 -0
  308. data/lib/rouge/version.rb +7 -0
  309. data/lib/rougegal.rb +80 -0
  310. data/rougegal.gemspec +18 -0
  311. metadata +356 -0
@@ -0,0 +1,407 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ module Rouge
4
+ module Lexers
5
+ class IgorPro < RegexLexer
6
+ tag 'igorpro'
7
+ filenames '*.ipf'
8
+ mimetypes 'text/x-igorpro'
9
+
10
+ title "IgorPro"
11
+ desc "WaveMetrics Igor Pro"
12
+
13
+ def self.keywords
14
+ @keywords ||= Set.new %w(
15
+ structure endstructure
16
+ threadsafe static
17
+ macro proc window menu function end
18
+ if else elseif endif switch strswitch endswitch
19
+ break return continue
20
+ for endfor do while
21
+ case default
22
+ abortonrte
23
+ )
24
+ end
25
+
26
+ def self.preprocessor
27
+ @preprocessor ||= Set.new %w(
28
+ pragma include
29
+ define ifdef ifndef undef
30
+ if elif else endif
31
+ )
32
+ end
33
+
34
+ def self.igorDeclarations
35
+ @igorDeclarations ||= Set.new %w(
36
+ variable string wave strconstant constant
37
+ nvar svar dfref funcref struct
38
+ char uchar int16 uint16 int32 uint32 int64 uint64 float double
39
+ )
40
+ end
41
+
42
+ def self.igorConstants
43
+ @igorConstants ||= Set.new %w(
44
+ nan inf
45
+ )
46
+ end
47
+
48
+ def self.igorFunction
49
+ @igorFunction ||= Set.new %w(
50
+ axontelegraphsettimeoutms axontelegraphgettimeoutms
51
+ axontelegraphgetdatanum axontelegraphagetdatanum
52
+ axontelegraphgetdatastring axontelegraphagetdatastring
53
+ axontelegraphgetdatastruct axontelegraphagetdatastruct hdf5datasetinfo
54
+ hdf5attributeinfo hdf5typeinfo hdf5libraryinfo
55
+ mpfxgausspeak mpfxlorenzianpeak mpfxvoigtpeak mpfxemgpeak mpfxexpconvexppeak
56
+ abs acos acosh airya airyad airyb airybd
57
+ alog area areaxy asin asinh atan atan2 atanh axisvalfrompixel besseli
58
+ besselj besselk bessely beta betai binarysearch binarysearchinterp
59
+ binomial binomialln binomialnoise cabs capturehistorystart ceil cequal
60
+ char2num chebyshev chebyshevu checkname cmplx cmpstr conj contourz cos
61
+ cosh cosintegral cot coth countobjects countobjectsdfr cpowi
62
+ creationdate csc csch datafolderexists datafolderrefsequal
63
+ datafolderrefstatus date2secs datetime datetojulian dawson defined
64
+ deltax digamma dilogarithm dimdelta dimoffset dimsize ei enoise
65
+ equalwaves erf erfc erfcw exists exp expint expintegrale1 expnoise
66
+ factorial fakedata faverage faveragexy finddimlabel findlistitem floor
67
+ fontsizeheight fontsizestringwidth fresnelcos fresnelsin gamma
68
+ gammaeuler gammainc gammanoise gammln gammp gammq gauss gauss1d gauss2d
69
+ gcd getbrowserline getdefaultfontsize getdefaultfontstyle getkeystate
70
+ getrterror getrtlocation gizmoinfo gizmoscale gnoise grepstring hcsr
71
+ hermite hermitegauss hyperg0f1 hyperg1f1 hyperg2f1 hypergnoise hypergpfq
72
+ igorversion imag indextoscale integrate1d interp interp2d interp3d
73
+ inverseerf inverseerfc itemsinlist jacobicn jacobisn laguerre laguerrea
74
+ laguerregauss lambertw leftx legendrea limit ln log lognormalnoise
75
+ lorentziannoise magsqr mandelbrotpoint marcumq matrixcondition matrixdet
76
+ matrixdot matrixrank matrixtrace max mean median min mod moddate
77
+ norm numberbykey numpnts numtype numvarordefault nvar_exists p2rect
78
+ panelresolution paramisdefault pcsr pi pixelfromaxisval pnt2x
79
+ poissonnoise poly poly2d polygonarea qcsr r2polar real rightx round
80
+ sawtooth scaletoindex screenresolution sec sech selectnumber
81
+ setenvironmentvariable sign sin sinc sinh sinintegral sphericalbessj
82
+ sphericalbessjd sphericalbessy sphericalbessyd sphericalharmonics sqrt
83
+ startmstimer statsbetacdf statsbetapdf statsbinomialcdf statsbinomialpdf
84
+ statscauchycdf statscauchypdf statschicdf statschipdf statscmssdcdf
85
+ statscorrelation statsdexpcdf statsdexppdf statserlangcdf statserlangpdf
86
+ statserrorpdf statsevaluecdf statsevaluepdf statsexpcdf statsexppdf
87
+ statsfcdf statsfpdf statsfriedmancdf statsgammacdf statsgammapdf
88
+ statsgeometriccdf statsgeometricpdf statsgevcdf statsgevpdf
89
+ statshypergcdf statshypergpdf statsinvbetacdf statsinvbinomialcdf
90
+ statsinvcauchycdf statsinvchicdf statsinvcmssdcdf statsinvdexpcdf
91
+ statsinvevaluecdf statsinvexpcdf statsinvfcdf statsinvfriedmancdf
92
+ statsinvgammacdf statsinvgeometriccdf statsinvkuipercdf
93
+ statsinvlogisticcdf statsinvlognormalcdf statsinvmaxwellcdf
94
+ statsinvmoorecdf statsinvnbinomialcdf statsinvncchicdf statsinvncfcdf
95
+ statsinvnormalcdf statsinvparetocdf statsinvpoissoncdf statsinvpowercdf
96
+ statsinvqcdf statsinvqpcdf statsinvrayleighcdf statsinvrectangularcdf
97
+ statsinvspearmancdf statsinvstudentcdf statsinvtopdowncdf
98
+ statsinvtriangularcdf statsinvusquaredcdf statsinvvonmisescdf
99
+ statsinvweibullcdf statskuipercdf statslogisticcdf statslogisticpdf
100
+ statslognormalcdf statslognormalpdf statsmaxwellcdf statsmaxwellpdf
101
+ statsmedian statsmoorecdf statsnbinomialcdf statsnbinomialpdf
102
+ statsncchicdf statsncchipdf statsncfcdf statsncfpdf statsnctcdf
103
+ statsnctpdf statsnormalcdf statsnormalpdf statsparetocdf statsparetopdf
104
+ statspermute statspoissoncdf statspoissonpdf statspowercdf
105
+ statspowernoise statspowerpdf statsqcdf statsqpcdf statsrayleighcdf
106
+ statsrayleighpdf statsrectangularcdf statsrectangularpdf statsrunscdf
107
+ statsspearmanrhocdf statsstudentcdf statsstudentpdf statstopdowncdf
108
+ statstriangularcdf statstriangularpdf statstrimmedmean statsusquaredcdf
109
+ statsvonmisescdf statsvonmisesnoise statsvonmisespdf statswaldcdf
110
+ statswaldpdf statsweibullcdf statsweibullpdf stopmstimer str2num
111
+ stringcrc stringmatch strlen strsearch studenta studentt sum svar_exists
112
+ tagval tan tanh textencodingcode threadgroupcreate threadgrouprelease
113
+ threadgroupwait threadprocessorcount threadreturnvalue ticks trunc
114
+ unsetenvironmentvariable variance vcsr voigtfunc wavecrc wavedims
115
+ waveexists wavemax wavemin waverefsequal wavetextencoding wavetype
116
+ whichlistitem wintype wnoise x2pnt xcsr zcsr zerniker zeta addlistitem
117
+ annotationinfo annotationlist axisinfo axislist base64_decode
118
+ base64_encode capturehistory childwindowlist cleanupname contourinfo
119
+ contournamelist controlnamelist converttextencoding csrinfo csrwave
120
+ csrxwave ctablist datafolderdir date fetchurl fontlist funcrefinfo
121
+ functioninfo functionlist functionpath getbrowserselection getdatafolder
122
+ getdefaultfont getdimlabel getenvironmentvariable geterrmessage
123
+ getformula getindependentmodulename getindexedobjname
124
+ getindexedobjnamedfr getrterrmessage getrtlocinfo getrtstackinfo
125
+ getscraptext getuserdata getwavesdatafolder greplist guideinfo
126
+ guidenamelist hash igorinfo imageinfo imagenamelist
127
+ independentmodulelist indexeddir indexedfile juliantodate layoutinfo
128
+ listmatch lowerstr macrolist nameofwave normalizeunicode note num2char
129
+ num2istr num2str operationlist padstring parsefilepath pathlist pictinfo
130
+ pictlist possiblyquotename proceduretext removebykey removeending
131
+ removefromlist removelistitem replacenumberbykey replacestring
132
+ replacestringbykey secs2date secs2time selectstring sortlist
133
+ specialcharacterinfo specialcharacterlist specialdirpath stringbykey
134
+ stringfromlist stringlist strvarordefault tableinfo textencodingname
135
+ textfile threadgroupgetdf time tracefrompixel traceinfo tracenamelist
136
+ trimstring uniquename unpadstring upperstr urldecode urlencode
137
+ variablelist waveinfo wavelist wavename waverefwavetolist waveunits
138
+ winlist winname winrecreation wmfindwholeword xwavename
139
+ contournametowaveref csrwaveref csrxwaveref imagenametowaveref
140
+ listtotextwave listtowaverefwave newfreewave tagwaveref
141
+ tracenametowaveref waverefindexed waverefindexeddfr xwavereffromtrace
142
+ getdatafolderdfr getwavesdatafolderdfr newfreedatafolder
143
+ )
144
+ end
145
+
146
+ def self.igorOperation
147
+ @igorOperation ||= Set.new %w(
148
+ abort addfifodata addfifovectdata addmovieaudio addmovieframe adoptfiles
149
+ apmath append appendimage appendlayoutobject appendmatrixcontour
150
+ appendtext appendtogizmo appendtograph appendtolayout appendtotable
151
+ appendxyzcontour autopositionwindow backgroundinfo beep boundingball
152
+ browseurl buildmenu button cd chart checkbox checkdisplayed choosecolor
153
+ close closehelp closemovie closeproc colorscale colortab2wave
154
+ concatenate controlbar controlinfo controlupdate
155
+ convertglobalstringtextencoding convexhull convolve copyfile copyfolder
156
+ copyscales correlate createaliasshortcut createbrowser cross
157
+ ctrlbackground ctrlfifo ctrlnamedbackground cursor curvefit
158
+ customcontrol cwt debugger debuggeroptions defaultfont
159
+ defaultguicontrols defaultguifont defaulttextencoding defineguide
160
+ delayupdate deleteannotations deletefile deletefolder deletepoints
161
+ differentiate dir display displayhelptopic displayprocedure doalert
162
+ doigormenu doupdate dowindow doxopidle dpss drawaction drawarc
163
+ drawbezier drawline drawoval drawpict drawpoly drawrect drawrrect
164
+ drawtext drawusershape dspdetrend dspperiodogram duplicate
165
+ duplicatedatafolder dwt edgestats edit errorbars execute
166
+ executescripttext experimentmodified exportgizmo extract
167
+ fastgausstransform fastop fbinread fbinwrite fft fgetpos fifo2wave
168
+ fifostatus filterfir filteriir findcontour findduplicates findlevel
169
+ findlevels findpeak findpointsinpoly findroots findsequence findvalue
170
+ fpclustering fprintf freadline fsetpos fstatus ftpcreatedirectory
171
+ ftpdelete ftpdownload ftpupload funcfit funcfitmd gbloadwave getaxis
172
+ getcamera getfilefolderinfo getgizmo getlastusermenuinfo getmarquee
173
+ getmouse getselection getwindow graphnormal graphwavedraw graphwaveedit
174
+ grep groupbox hanning hideigormenus hideinfo hideprocedures hidetools
175
+ hilberttransform histogram ica ifft imageanalyzeparticles imageblend
176
+ imageboundarytomask imageedgedetection imagefileinfo imagefilter
177
+ imagefocus imagefromxyz imagegenerateroimask imageglcm
178
+ imagehistmodification imagehistogram imageinterpolate imagelineprofile
179
+ imageload imagemorphology imageregistration imageremovebackground
180
+ imagerestore imagerotate imagesave imageseedfill imageskeleton3d
181
+ imagesnake imagestats imagethreshold imagetransform imageunwrapphase
182
+ imagewindow indexsort insertpoints integrate integrate2d integrateode
183
+ interp3dpath interpolate2 interpolate3d jcamploadwave jointhistogram
184
+ killbackground killcontrol killdatafolder killfifo killfreeaxis killpath
185
+ killpicts killstrings killvariables killwaves killwindow kmeans label
186
+ layout layoutpageaction layoutslideshow legend
187
+ linearfeedbackshiftregister listbox loaddata loadpackagepreferences
188
+ loadpict loadwave loess lombperiodogram make makeindex markperftesttime
189
+ matrixconvolve matrixcorr matrixeigenv matrixfilter matrixgaussj
190
+ matrixglm matrixinverse matrixlinearsolve matrixlinearsolvetd matrixlls
191
+ matrixlubksub matrixlud matrixludtd matrixmultiply matrixop matrixschur
192
+ matrixsolve matrixsvbksub matrixsvd matrixtranspose measurestyledtext
193
+ mlloadwave modify modifybrowser modifycamera modifycontour modifycontrol
194
+ modifycontrollist modifyfreeaxis modifygizmo modifygraph modifyimage
195
+ modifylayout modifypanel modifytable modifywaterfall movedatafolder
196
+ movefile movefolder movestring movesubwindow movevariable movewave
197
+ movewindow multitaperpsd multithreadingcontrol neuralnetworkrun
198
+ neuralnetworktrain newcamera newdatafolder newfifo newfifochan
199
+ newfreeaxis newgizmo newimage newlayout newmovie newnotebook newpanel
200
+ newpath newwaterfall note notebook notebookaction open openhelp
201
+ opennotebook optimize parseoperationtemplate pathinfo pauseforuser
202
+ pauseupdate pca playmovie playmovieaction playsound popupcontextualmenu
203
+ popupmenu preferences primefactors print printf printgraphs printlayout
204
+ printnotebook printsettings printtable project pulsestats putscraptext
205
+ pwd quit ratiofromnumber redimension remove removecontour
206
+ removefromgizmo removefromgraph removefromlayout removefromtable
207
+ removeimage removelayoutobjects removepath rename renamedatafolder
208
+ renamepath renamepict renamewindow reorderimages reordertraces
209
+ replacetext replacewave resample resumeupdate reverse rotate save
210
+ savedata saveexperiment savegraphcopy savenotebook
211
+ savepackagepreferences savepict savetablecopy setactivesubwindow setaxis
212
+ setbackground setdashpattern setdatafolder setdimlabel setdrawenv
213
+ setdrawlayer setfilefolderinfo setformula setigorhook setigormenumode
214
+ setigoroption setmarquee setprocesssleep setrandomseed setscale
215
+ setvariable setwavelock setwavetextencoding setwindow showigormenus
216
+ showinfo showtools silent sleep slider smooth smoothcustom sort
217
+ sortcolumns soundinrecord soundinset soundinstartchart soundinstatus
218
+ soundinstopchart soundloadwave soundsavewave sphericalinterpolate
219
+ sphericaltriangulate splitstring splitwave sprintf sscanf stack
220
+ stackwindows statsangulardistancetest statsanova1test statsanova2nrtest
221
+ statsanova2rmtest statsanova2test statschitest
222
+ statscircularcorrelationtest statscircularmeans statscircularmoments
223
+ statscirculartwosampletest statscochrantest statscontingencytable
224
+ statsdiptest statsdunnetttest statsfriedmantest statsftest
225
+ statshodgesajnetest statsjbtest statskde statskendalltautest statskstest
226
+ statskwtest statslinearcorrelationtest statslinearregression
227
+ statsmulticorrelationtest statsnpmctest statsnpnominalsrtest
228
+ statsquantiles statsrankcorrelationtest statsresample statssample
229
+ statsscheffetest statsshapirowilktest statssigntest statssrtest
230
+ statsttest statstukeytest statsvariancestest statswatsonusquaredtest
231
+ statswatsonwilliamstest statswheelerwatsontest statswilcoxonranktest
232
+ statswrcorrelationtest structget structput sumdimension sumseries
233
+ tabcontrol tag textbox threadgroupputdf threadstart tile tilewindows
234
+ titlebox tocommandline toolsgrid triangulate3d unwrap urlrequest
235
+ valdisplay waveclear wavemeanstdv wavestats wavetransform wfprintf
236
+ )
237
+ end
238
+
239
+ def self.hdf5Operation
240
+ @hdf5Operation ||= Set.new %w(
241
+ hdf5createfile hdf5openfile hdf5closefile hdf5creategroup hdf5opengroup
242
+ hdf5listgroup hdf5closegroup hdf5listattributes hdf5attributeinfo hdf5datasetinfo
243
+ hdf5loaddata hdf5loadimage hdf5loadgroup hdf5savedata hdf5saveimage hdf5savegroup
244
+ hdf5typeinfo hdf5createlink hdf5unlinkobject hdf5libraryinfo
245
+ hdf5dumpstate hdf5dump hdf5dumperrors
246
+ )
247
+ end
248
+
249
+ def self.object_name
250
+ /[a-z][a-z0-9_]*\b/i
251
+ end
252
+
253
+ object = self.object_name
254
+ whitespace = /[\s\r]+/
255
+ noLineBreak = /[ \t]+/
256
+ operator = %r([\#$~!%^&*+=\|?:<>/-])
257
+ punctuation = /[{}()\[\],.;]/
258
+ number_float= /0x[a-f0-9]+/i
259
+ number_hex = /\d+\.\d+(e[\+\-]?\d+)?/
260
+ number_int = /[\d]+(?:_\d+)*/
261
+
262
+ state :root do
263
+ rule %r(//), Comment, :comments
264
+
265
+ rule /\b#{object}/ do |m|
266
+ if m[0].downcase =~ /function/
267
+ token Keyword::Declaration
268
+ push :parse_function
269
+ elsif self.class.igorDeclarations.include? m[0].downcase
270
+ token Keyword::Declaration
271
+ push :parse_variables
272
+ elsif self.class.keywords.include? m[0].downcase
273
+ token Keyword
274
+ elsif self.class.igorConstants.include? m[0].downcase
275
+ token Keyword::Constant
276
+ elsif self.class.igorFunction.include? m[0].downcase
277
+ token Name::Builtin
278
+ elsif self.class.igorOperation.include? m[0].downcase
279
+ token Keyword::Reserved
280
+ push :operationFlags
281
+ elsif self.class.hdf5Operation.include? m[0].downcase
282
+ token Keyword::Reserved
283
+ push :operationFlags
284
+ elsif m[0].downcase =~ /(v|s|w)_[a-z]+[a-z0-9]*/
285
+ token Name::Builtin
286
+ else
287
+ token Name
288
+ end
289
+ end
290
+
291
+ mixin :preprocessor
292
+ mixin :waveFlag
293
+
294
+ mixin :characters
295
+ mixin :numbers
296
+ end
297
+
298
+ state :preprocessor do
299
+ rule %r((\#)(#{object})) do |m|
300
+ if self.class.preprocessor.include? m[2].downcase
301
+ token Comment::Preproc
302
+ else
303
+ token Punctuation, m[1] #i.e. ModuleFunctions
304
+ token Name, m[2]
305
+ end
306
+
307
+
308
+ end
309
+ end
310
+
311
+ state :assignment do
312
+ mixin :whitespace
313
+ rule /\"/, Punctuation, :string1
314
+ mixin :string2
315
+ rule /#{number_float}/, Literal::Number::Float, :pop!
316
+ rule /#{number_int}/, Literal::Number::Integer, :pop!
317
+ rule /[\(\[\{][^\)\]\}]+[\)\]\}]/, Generic, :pop!
318
+ rule /[^\s\/\(]+/, Generic, :pop!
319
+ rule(//) { pop! }
320
+ end
321
+
322
+ state :parse_variables do
323
+ mixin :whitespace
324
+ rule /[=]/, Punctuation, :assignment
325
+ rule %r([/][a-z]+)i, Keyword::Pseudo, :parse_variables
326
+ rule object, Name::Variable
327
+ rule /[\[\]]/, Punctuation # optional variables in functions
328
+ rule /[,]/, Punctuation, :parse_variables
329
+ rule /\)/, Punctuation, :pop! # end of function
330
+ rule(//) { pop! }
331
+ end
332
+
333
+ state :parse_function do
334
+ rule %r([/][a-z]+)i, Keyword::Pseudo # only one flag
335
+ mixin :whitespace
336
+ rule object, Name::Function
337
+ rule /[\(]/, Punctuation, :parse_variables
338
+ rule(//) { pop! }
339
+ end
340
+
341
+ state :operationFlags do
342
+ rule /#{noLineBreak}/, Text
343
+ rule /[=]/, Punctuation, :assignment
344
+ rule %r([/][a-z]+)i, Keyword::Pseudo, :operationFlags
345
+ rule /(as)(\s*)(#{object})/i do
346
+ groups Keyword::Type, Text, Name::Label
347
+ end
348
+ rule(//) { pop! }
349
+ end
350
+
351
+ # inline variable assignments (i.e. for Make) with strict syntax
352
+ state :waveFlag do
353
+ rule %r(
354
+ (/(?:wave|X|Y))
355
+ (\s*)(=)(\s*)
356
+ (#{object})
357
+ )ix do |m|
358
+ token Keyword::Pseudo, m[1]
359
+ token Text, m[2]
360
+ token Punctuation, m[3]
361
+ token Text, m[4]
362
+ token Name::Variable, m[5]
363
+ end
364
+ end
365
+
366
+ state :characters do
367
+ rule /\s/, Text
368
+ rule /#{operator}/, Operator
369
+ rule /#{punctuation}/, Punctuation
370
+ rule /\"/, Punctuation, :string1
371
+ mixin :string2
372
+ end
373
+
374
+ state :numbers do
375
+ rule /#{number_float}/, Literal::Number::Float
376
+ rule /#{number_hex}/, Literal::Number::Hex
377
+ rule /#{number_int}/, Literal::Number::Integer
378
+ end
379
+
380
+ state :whitespace do
381
+ rule /#{noLineBreak}/, Text
382
+ end
383
+
384
+ state :string1 do
385
+ rule /%\w\b/, Literal::String::Other
386
+ rule /\\\\/, Literal::String::Escape
387
+ rule /\\\"/, Literal::String::Escape
388
+ rule /\\/, Literal::String::Escape
389
+ rule /[^"]/, Literal::String
390
+ rule /\"/, Punctuation, :pop!
391
+ end
392
+
393
+ state :string2 do
394
+ rule /\'[^']*\'/, Literal::String::Single
395
+ end
396
+
397
+ state :comments do
398
+ rule %r{([/]\s*)([@]\w+\b)}i do
399
+ # doxygen comments
400
+ groups Comment, Comment::Special
401
+ end
402
+ rule /[^\r\n]/, Comment
403
+ rule(//) { pop! }
404
+ end
405
+ end
406
+ end
407
+ end
@@ -0,0 +1,57 @@
1
+ # -*- coding: utf-8 -*- #
2
+
3
+ module Rouge
4
+ module Lexers
5
+ class INI < RegexLexer
6
+ title "INI"
7
+ desc 'the INI configuration format'
8
+ tag 'ini'
9
+
10
+ # TODO add more here
11
+ filenames '*.ini', '*.INI', '*.gitconfig'
12
+ mimetypes 'text/x-ini'
13
+
14
+ def self.analyze_text(text)
15
+ return 0.1 if text =~ /\A\[[\w\-.]+\]\s*[\w\-]+=\w+/
16
+ end
17
+
18
+ identifier = /[\w\-.]+/
19
+
20
+ state :basic do
21
+ rule /[;#].*?\n/, Comment
22
+ rule /\s+/, Text
23
+ rule /\\\n/, Str::Escape
24
+ end
25
+
26
+ state :root do
27
+ mixin :basic
28
+
29
+ rule /(#{identifier})(\s*)(=)/ do
30
+ groups Name::Property, Text, Punctuation
31
+ push :value
32
+ end
33
+
34
+ rule /\[.*?\]/, Name::Namespace
35
+ end
36
+
37
+ state :value do
38
+ rule /\n/, Text, :pop!
39
+ mixin :basic
40
+ rule /"/, Str, :dq
41
+ rule /'.*?'/, Str
42
+ mixin :esc_str
43
+ rule /[^\\\n]+/, Str
44
+ end
45
+
46
+ state :dq do
47
+ rule /"/, Str, :pop!
48
+ mixin :esc_str
49
+ rule /[^\\"]+/m, Str
50
+ end
51
+
52
+ state :esc_str do
53
+ rule /\\./m, Str::Escape
54
+ end
55
+ end
56
+ end
57
+ end