pygments.rb 0.6.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (606) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +6 -6
  4. data/Rakefile +2 -1
  5. data/cache-lexers.rb +1 -1
  6. data/circle.yml +7 -0
  7. data/lib/pygments/lexer.rb +3 -3
  8. data/lib/pygments/popen.rb +67 -30
  9. data/lib/pygments/version.rb +1 -1
  10. data/pygments.rb.gemspec +2 -1
  11. data/test/test_pygments.rb +16 -16
  12. data/vendor/pygments-main/AUTHORS +54 -8
  13. data/vendor/pygments-main/CHANGES +247 -25
  14. data/vendor/pygments-main/LICENSE +1 -1
  15. data/vendor/pygments-main/Makefile +15 -6
  16. data/vendor/pygments-main/README.rst +39 -0
  17. data/vendor/pygments-main/REVISION +1 -1
  18. data/vendor/pygments-main/TODO +0 -3
  19. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +1 -1
  20. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +1 -1
  21. data/vendor/pygments-main/doc/conf.py +3 -11
  22. data/vendor/pygments-main/doc/docs/api.rst +15 -0
  23. data/vendor/pygments-main/doc/docs/cmdline.rst +6 -2
  24. data/vendor/pygments-main/doc/docs/filterdevelopment.rst +4 -3
  25. data/vendor/pygments-main/doc/docs/integrate.rst +11 -15
  26. data/vendor/pygments-main/doc/docs/java.rst +7 -7
  27. data/vendor/pygments-main/doc/docs/lexerdevelopment.rst +258 -171
  28. data/vendor/pygments-main/doc/docs/lexers.rst +2 -2
  29. data/vendor/pygments-main/doc/docs/styles.rst +58 -0
  30. data/vendor/pygments-main/doc/docs/tokens.rst +22 -2
  31. data/vendor/pygments-main/doc/docs/unicode.rst +15 -7
  32. data/vendor/pygments-main/doc/faq.rst +17 -21
  33. data/vendor/pygments-main/doc/index.rst +12 -11
  34. data/vendor/pygments-main/doc/languages.rst +10 -7
  35. data/vendor/pygments-main/external/autopygmentize +9 -6
  36. data/vendor/pygments-main/external/lasso-builtins-generator-9.lasso +70 -52
  37. data/vendor/pygments-main/external/markdown-processor.py +1 -1
  38. data/vendor/pygments-main/external/moin-parser.py +1 -1
  39. data/vendor/pygments-main/external/rst-directive.py +1 -1
  40. data/vendor/pygments-main/pygmentize +2 -1
  41. data/vendor/pygments-main/pygments/__init__.py +14 -15
  42. data/vendor/pygments-main/pygments/cmdline.py +188 -113
  43. data/vendor/pygments-main/pygments/console.py +13 -13
  44. data/vendor/pygments-main/pygments/filter.py +7 -7
  45. data/vendor/pygments-main/pygments/filters/__init__.py +24 -32
  46. data/vendor/pygments-main/pygments/formatter.py +5 -5
  47. data/vendor/pygments-main/pygments/formatters/__init__.py +92 -44
  48. data/vendor/pygments-main/pygments/formatters/_mapping.py +51 -69
  49. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  50. data/vendor/pygments-main/pygments/formatters/html.py +63 -51
  51. data/vendor/pygments-main/pygments/formatters/img.py +25 -22
  52. data/vendor/pygments-main/pygments/formatters/irc.py +182 -0
  53. data/vendor/pygments-main/pygments/formatters/latex.py +34 -22
  54. data/vendor/pygments-main/pygments/formatters/other.py +5 -7
  55. data/vendor/pygments-main/pygments/formatters/rtf.py +28 -31
  56. data/vendor/pygments-main/pygments/formatters/svg.py +1 -2
  57. data/vendor/pygments-main/pygments/formatters/terminal.py +29 -45
  58. data/vendor/pygments-main/pygments/formatters/terminal256.py +118 -31
  59. data/vendor/pygments-main/pygments/lexer.py +120 -34
  60. data/vendor/pygments-main/pygments/lexers/__init__.py +85 -53
  61. data/vendor/pygments-main/pygments/lexers/{_asybuiltins.py → _asy_builtins.py} +7 -7
  62. data/vendor/pygments-main/pygments/lexers/{_clbuiltins.py → _cl_builtins.py} +17 -17
  63. data/vendor/pygments-main/pygments/lexers/_cocoa_builtins.py +72 -0
  64. data/vendor/pygments-main/pygments/lexers/_csound_builtins.py +1346 -0
  65. data/vendor/pygments-main/pygments/lexers/{_lassobuiltins.py → _lasso_builtins.py} +4699 -4561
  66. data/vendor/pygments-main/pygments/lexers/{_luabuiltins.py → _lua_builtins.py} +91 -51
  67. data/vendor/pygments-main/pygments/lexers/_mapping.py +342 -242
  68. data/vendor/pygments-main/pygments/lexers/_mql_builtins.py +1172 -0
  69. data/vendor/pygments-main/pygments/lexers/_openedge_builtins.py +2547 -0
  70. data/vendor/pygments-main/pygments/lexers/{_phpbuiltins.py → _php_builtins.py} +350 -353
  71. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +600 -212
  72. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +3084 -30
  73. data/vendor/pygments-main/pygments/lexers/_sourcemod_builtins.py +1163 -0
  74. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +91 -13
  75. data/vendor/pygments-main/pygments/lexers/_stata_builtins.py +419 -0
  76. data/vendor/pygments-main/pygments/lexers/_tsql_builtins.py +1004 -0
  77. data/vendor/pygments-main/pygments/lexers/_vim_builtins.py +1939 -0
  78. data/vendor/pygments-main/pygments/lexers/actionscript.py +240 -0
  79. data/vendor/pygments-main/pygments/lexers/agile.py +14 -2542
  80. data/vendor/pygments-main/pygments/lexers/algebra.py +221 -0
  81. data/vendor/pygments-main/pygments/lexers/ambient.py +76 -0
  82. data/vendor/pygments-main/pygments/lexers/ampl.py +87 -0
  83. data/vendor/pygments-main/pygments/lexers/apl.py +101 -0
  84. data/vendor/pygments-main/pygments/lexers/archetype.py +318 -0
  85. data/vendor/pygments-main/pygments/lexers/asm.py +276 -81
  86. data/vendor/pygments-main/pygments/lexers/automation.py +374 -0
  87. data/vendor/pygments-main/pygments/lexers/basic.py +500 -0
  88. data/vendor/pygments-main/pygments/lexers/bibtex.py +156 -0
  89. data/vendor/pygments-main/pygments/lexers/business.py +594 -0
  90. data/vendor/pygments-main/pygments/lexers/c_cpp.py +252 -0
  91. data/vendor/pygments-main/pygments/lexers/c_like.py +541 -0
  92. data/vendor/pygments-main/pygments/lexers/capnproto.py +79 -0
  93. data/vendor/pygments-main/pygments/lexers/chapel.py +101 -0
  94. data/vendor/pygments-main/pygments/lexers/clean.py +288 -0
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +24 -5182
  96. data/vendor/pygments-main/pygments/lexers/configs.py +833 -0
  97. data/vendor/pygments-main/pygments/lexers/console.py +114 -0
  98. data/vendor/pygments-main/pygments/lexers/crystal.py +384 -0
  99. data/vendor/pygments-main/pygments/lexers/csound.py +366 -0
  100. data/vendor/pygments-main/pygments/lexers/css.py +689 -0
  101. data/vendor/pygments-main/pygments/lexers/d.py +251 -0
  102. data/vendor/pygments-main/pygments/lexers/dalvik.py +6 -6
  103. data/vendor/pygments-main/pygments/lexers/data.py +555 -0
  104. data/vendor/pygments-main/pygments/lexers/diff.py +165 -0
  105. data/vendor/pygments-main/pygments/lexers/dotnet.py +96 -88
  106. data/vendor/pygments-main/pygments/lexers/dsls.py +878 -0
  107. data/vendor/pygments-main/pygments/lexers/dylan.py +289 -0
  108. data/vendor/pygments-main/pygments/lexers/ecl.py +125 -0
  109. data/vendor/pygments-main/pygments/lexers/eiffel.py +65 -0
  110. data/vendor/pygments-main/pygments/lexers/elm.py +121 -0
  111. data/vendor/pygments-main/pygments/lexers/erlang.py +533 -0
  112. data/vendor/pygments-main/pygments/lexers/esoteric.py +275 -0
  113. data/vendor/pygments-main/pygments/lexers/ezhil.py +68 -0
  114. data/vendor/pygments-main/pygments/lexers/factor.py +344 -0
  115. data/vendor/pygments-main/pygments/lexers/fantom.py +250 -0
  116. data/vendor/pygments-main/pygments/lexers/felix.py +273 -0
  117. data/vendor/pygments-main/pygments/lexers/forth.py +177 -0
  118. data/vendor/pygments-main/pygments/lexers/fortran.py +205 -0
  119. data/vendor/pygments-main/pygments/lexers/foxpro.py +1 -1
  120. data/vendor/pygments-main/pygments/lexers/functional.py +11 -3661
  121. data/vendor/pygments-main/pygments/lexers/go.py +101 -0
  122. data/vendor/pygments-main/pygments/lexers/grammar_notation.py +213 -0
  123. data/vendor/pygments-main/pygments/lexers/graph.py +7 -8
  124. data/vendor/pygments-main/pygments/lexers/graphics.py +553 -0
  125. data/vendor/pygments-main/pygments/lexers/haskell.py +840 -0
  126. data/vendor/pygments-main/pygments/lexers/haxe.py +936 -0
  127. data/vendor/pygments-main/pygments/lexers/hdl.py +172 -145
  128. data/vendor/pygments-main/pygments/lexers/hexdump.py +97 -0
  129. data/vendor/pygments-main/pygments/lexers/html.py +602 -0
  130. data/vendor/pygments-main/pygments/lexers/idl.py +270 -0
  131. data/vendor/pygments-main/pygments/lexers/igor.py +288 -0
  132. data/vendor/pygments-main/pygments/lexers/inferno.py +3 -3
  133. data/vendor/pygments-main/pygments/lexers/installers.py +322 -0
  134. data/vendor/pygments-main/pygments/lexers/int_fiction.py +1343 -0
  135. data/vendor/pygments-main/pygments/lexers/iolang.py +63 -0
  136. data/vendor/pygments-main/pygments/lexers/j.py +146 -0
  137. data/vendor/pygments-main/pygments/lexers/javascript.py +1506 -0
  138. data/vendor/pygments-main/pygments/lexers/julia.py +333 -0
  139. data/vendor/pygments-main/pygments/lexers/jvm.py +232 -186
  140. data/vendor/pygments-main/pygments/lexers/lisp.py +2621 -0
  141. data/vendor/pygments-main/pygments/lexers/make.py +202 -0
  142. data/vendor/pygments-main/pygments/lexers/markup.py +595 -0
  143. data/vendor/pygments-main/pygments/lexers/math.py +11 -2276
  144. data/vendor/pygments-main/pygments/lexers/matlab.py +663 -0
  145. data/vendor/pygments-main/pygments/lexers/ml.py +769 -0
  146. data/vendor/pygments-main/pygments/lexers/modeling.py +358 -0
  147. data/vendor/pygments-main/pygments/lexers/modula2.py +1561 -0
  148. data/vendor/pygments-main/pygments/lexers/monte.py +203 -0
  149. data/vendor/pygments-main/pygments/lexers/ncl.py +1053 -0
  150. data/vendor/pygments-main/pygments/lexers/nimrod.py +159 -0
  151. data/vendor/pygments-main/pygments/lexers/nit.py +64 -0
  152. data/vendor/pygments-main/pygments/lexers/nix.py +136 -0
  153. data/vendor/pygments-main/pygments/lexers/oberon.py +105 -0
  154. data/vendor/pygments-main/pygments/lexers/objective.py +504 -0
  155. data/vendor/pygments-main/pygments/lexers/ooc.py +85 -0
  156. data/vendor/pygments-main/pygments/lexers/other.py +30 -4481
  157. data/vendor/pygments-main/pygments/lexers/parasail.py +79 -0
  158. data/vendor/pygments-main/pygments/lexers/parsers.py +171 -114
  159. data/vendor/pygments-main/pygments/lexers/pascal.py +644 -0
  160. data/vendor/pygments-main/pygments/lexers/pawn.py +199 -0
  161. data/vendor/pygments-main/pygments/lexers/perl.py +616 -0
  162. data/vendor/pygments-main/pygments/lexers/php.py +267 -0
  163. data/vendor/pygments-main/pygments/lexers/praat.py +294 -0
  164. data/vendor/pygments-main/pygments/lexers/prolog.py +306 -0
  165. data/vendor/pygments-main/pygments/lexers/python.py +938 -0
  166. data/vendor/pygments-main/pygments/lexers/qvt.py +152 -0
  167. data/vendor/pygments-main/pygments/lexers/r.py +453 -0
  168. data/vendor/pygments-main/pygments/lexers/rdf.py +195 -24
  169. data/vendor/pygments-main/pygments/lexers/rebol.py +431 -0
  170. data/vendor/pygments-main/pygments/lexers/resource.py +85 -0
  171. data/vendor/pygments-main/pygments/lexers/rnc.py +67 -0
  172. data/vendor/pygments-main/pygments/lexers/roboconf.py +82 -0
  173. data/vendor/pygments-main/pygments/lexers/{_robotframeworklexer.py → robotframework.py} +20 -18
  174. data/vendor/pygments-main/pygments/lexers/ruby.py +519 -0
  175. data/vendor/pygments-main/pygments/lexers/rust.py +209 -0
  176. data/vendor/pygments-main/pygments/lexers/sas.py +228 -0
  177. data/vendor/pygments-main/pygments/lexers/scripting.py +1222 -0
  178. data/vendor/pygments-main/pygments/lexers/shell.py +478 -115
  179. data/vendor/pygments-main/pygments/lexers/smalltalk.py +195 -0
  180. data/vendor/pygments-main/pygments/lexers/smv.py +75 -0
  181. data/vendor/pygments-main/pygments/lexers/snobol.py +83 -0
  182. data/vendor/pygments-main/pygments/lexers/special.py +6 -2
  183. data/vendor/pygments-main/pygments/lexers/sql.py +209 -120
  184. data/vendor/pygments-main/pygments/lexers/stata.py +106 -0
  185. data/vendor/pygments-main/pygments/lexers/supercollider.py +90 -0
  186. data/vendor/pygments-main/pygments/lexers/tcl.py +145 -0
  187. data/vendor/pygments-main/pygments/lexers/templates.py +282 -90
  188. data/vendor/pygments-main/pygments/lexers/testing.py +207 -0
  189. data/vendor/pygments-main/pygments/lexers/text.py +15 -2045
  190. data/vendor/pygments-main/pygments/lexers/textedit.py +169 -0
  191. data/vendor/pygments-main/pygments/lexers/textfmts.py +297 -0
  192. data/vendor/pygments-main/pygments/lexers/theorem.py +458 -0
  193. data/vendor/pygments-main/pygments/lexers/trafficscript.py +54 -0
  194. data/vendor/pygments-main/pygments/lexers/typoscript.py +225 -0
  195. data/vendor/pygments-main/pygments/lexers/urbi.py +133 -0
  196. data/vendor/pygments-main/pygments/lexers/varnish.py +190 -0
  197. data/vendor/pygments-main/pygments/lexers/verification.py +111 -0
  198. data/vendor/pygments-main/pygments/lexers/web.py +13 -4499
  199. data/vendor/pygments-main/pygments/lexers/webmisc.py +979 -0
  200. data/vendor/pygments-main/pygments/lexers/whiley.py +117 -0
  201. data/vendor/pygments-main/pygments/lexers/x10.py +69 -0
  202. data/vendor/pygments-main/pygments/modeline.py +5 -2
  203. data/vendor/pygments-main/pygments/plugin.py +1 -1
  204. data/vendor/pygments-main/pygments/regexopt.py +92 -0
  205. data/vendor/pygments-main/pygments/scanner.py +3 -2
  206. data/vendor/pygments-main/pygments/sphinxext.py +11 -6
  207. data/vendor/pygments-main/pygments/style.py +41 -4
  208. data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
  209. data/vendor/pygments-main/pygments/styles/algol.py +63 -0
  210. data/vendor/pygments-main/pygments/styles/algol_nu.py +63 -0
  211. data/vendor/pygments-main/pygments/styles/arduino.py +98 -0
  212. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  213. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  214. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  215. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  216. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  217. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  218. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  219. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  220. data/vendor/pygments-main/pygments/styles/igor.py +1 -1
  221. data/vendor/pygments-main/pygments/styles/lovelace.py +97 -0
  222. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  223. data/vendor/pygments-main/pygments/styles/monokai.py +1 -1
  224. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  225. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  226. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +1 -1
  227. data/vendor/pygments-main/pygments/styles/paraiso_light.py +1 -1
  228. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  229. data/vendor/pygments-main/pygments/styles/perldoc.py +2 -2
  230. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  231. data/vendor/pygments-main/pygments/styles/sas.py +41 -0
  232. data/vendor/pygments-main/pygments/styles/stata.py +37 -0
  233. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  234. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  235. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  236. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  237. data/vendor/pygments-main/pygments/styles/xcode.py +1 -1
  238. data/vendor/pygments-main/pygments/token.py +31 -16
  239. data/vendor/pygments-main/pygments/unistring.py +141 -65
  240. data/vendor/pygments-main/pygments/util.py +129 -33
  241. data/vendor/pygments-main/requirements.txt +5 -0
  242. data/vendor/pygments-main/scripts/check_sources.py +25 -40
  243. data/vendor/pygments-main/scripts/debug_lexer.py +246 -0
  244. data/vendor/pygments-main/scripts/find_error.py +1 -0
  245. data/vendor/pygments-main/scripts/get_vimkw.py +35 -4
  246. data/vendor/pygments-main/setup.cfg +3 -0
  247. data/vendor/pygments-main/setup.py +17 -30
  248. data/vendor/pygments-main/tox.ini +7 -0
  249. metadata +159 -387
  250. data/vendor/pygments-main/ez_setup.py +0 -382
  251. data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +0 -73
  252. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +0 -562
  253. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +0 -1077
  254. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +0 -13
  255. data/vendor/pygments-main/pygments/lexers/qbasic.py +0 -157
  256. data/vendor/pygments-main/scripts/find_codetags.py +0 -213
  257. data/vendor/pygments-main/scripts/find_error.py +0 -173
  258. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +0 -37
  259. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +0 -869
  260. data/vendor/pygments-main/tests/dtds/HTML4.dcl +0 -88
  261. data/vendor/pygments-main/tests/dtds/HTML4.dtd +0 -1092
  262. data/vendor/pygments-main/tests/dtds/HTML4.soc +0 -9
  263. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +0 -195
  264. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +0 -77
  265. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +0 -241
  266. data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +0 -118
  267. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +0 -209
  268. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +0 -102
  269. data/vendor/pygments-main/tests/examplefiles/BOM.js +0 -1
  270. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +0 -611
  271. data/vendor/pygments-main/tests/examplefiles/Config.in.cache +0 -1973
  272. data/vendor/pygments-main/tests/examplefiles/Constants.mo +0 -158
  273. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +0 -411
  274. data/vendor/pygments-main/tests/examplefiles/Deflate.fs +0 -578
  275. data/vendor/pygments-main/tests/examplefiles/Error.pmod +0 -38
  276. data/vendor/pygments-main/tests/examplefiles/Errors.scala +0 -18
  277. data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +0 -360
  278. data/vendor/pygments-main/tests/examplefiles/Get-CommandDefinitionHtml.ps1 +0 -66
  279. data/vendor/pygments-main/tests/examplefiles/IPDispatchC.nc +0 -104
  280. data/vendor/pygments-main/tests/examplefiles/IPDispatchP.nc +0 -671
  281. data/vendor/pygments-main/tests/examplefiles/Intro.java +0 -1660
  282. data/vendor/pygments-main/tests/examplefiles/Makefile +0 -1131
  283. data/vendor/pygments-main/tests/examplefiles/Object.st +0 -4394
  284. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +0 -584
  285. data/vendor/pygments-main/tests/examplefiles/RoleQ.pm6 +0 -23
  286. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +0 -378
  287. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +0 -470
  288. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +0 -382
  289. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +0 -30
  290. data/vendor/pygments-main/tests/examplefiles/antlr_ANTLRv3.g +0 -608
  291. data/vendor/pygments-main/tests/examplefiles/antlr_throws +0 -1
  292. data/vendor/pygments-main/tests/examplefiles/apache2.conf +0 -393
  293. data/vendor/pygments-main/tests/examplefiles/as3_test.as +0 -143
  294. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +0 -46
  295. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +0 -3
  296. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +0 -27
  297. data/vendor/pygments-main/tests/examplefiles/autoit_submit.au3 +0 -25
  298. data/vendor/pygments-main/tests/examplefiles/badcase.java +0 -2
  299. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +0 -49
  300. data/vendor/pygments-main/tests/examplefiles/bigtest.nsi +0 -308
  301. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +0 -1557
  302. data/vendor/pygments-main/tests/examplefiles/ca65_example +0 -284
  303. data/vendor/pygments-main/tests/examplefiles/cbmbas_example +0 -9
  304. data/vendor/pygments-main/tests/examplefiles/cells.ps +0 -515
  305. data/vendor/pygments-main/tests/examplefiles/ceval.c +0 -2604
  306. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +0 -13
  307. data/vendor/pygments-main/tests/examplefiles/classes.dylan +0 -125
  308. data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +0 -5
  309. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +0 -10
  310. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +0 -447
  311. data/vendor/pygments-main/tests/examplefiles/core.cljs +0 -52
  312. data/vendor/pygments-main/tests/examplefiles/database.pytb +0 -20
  313. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +0 -2461
  314. data/vendor/pygments-main/tests/examplefiles/demo.ahk +0 -181
  315. data/vendor/pygments-main/tests/examplefiles/demo.cfm +0 -50
  316. data/vendor/pygments-main/tests/examplefiles/demo.hbs +0 -12
  317. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +0 -68
  318. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +0 -17
  319. data/vendor/pygments-main/tests/examplefiles/ember.handlebars +0 -33
  320. data/vendor/pygments-main/tests/examplefiles/erl_session +0 -10
  321. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +0 -1
  322. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +0 -48
  323. data/vendor/pygments-main/tests/examplefiles/example.Rd +0 -78
  324. data/vendor/pygments-main/tests/examplefiles/example.als +0 -217
  325. data/vendor/pygments-main/tests/examplefiles/example.bug +0 -54
  326. data/vendor/pygments-main/tests/examplefiles/example.c +0 -2080
  327. data/vendor/pygments-main/tests/examplefiles/example.ceylon +0 -52
  328. data/vendor/pygments-main/tests/examplefiles/example.chai +0 -6
  329. data/vendor/pygments-main/tests/examplefiles/example.clay +0 -33
  330. data/vendor/pygments-main/tests/examplefiles/example.cls +0 -15
  331. data/vendor/pygments-main/tests/examplefiles/example.cob +0 -3556
  332. data/vendor/pygments-main/tests/examplefiles/example.coffee +0 -27
  333. data/vendor/pygments-main/tests/examplefiles/example.cpp +0 -2363
  334. data/vendor/pygments-main/tests/examplefiles/example.e +0 -124
  335. data/vendor/pygments-main/tests/examplefiles/example.f90 +0 -8
  336. data/vendor/pygments-main/tests/examplefiles/example.feature +0 -16
  337. data/vendor/pygments-main/tests/examplefiles/example.gd +0 -23
  338. data/vendor/pygments-main/tests/examplefiles/example.gi +0 -64
  339. data/vendor/pygments-main/tests/examplefiles/example.groovy +0 -2
  340. data/vendor/pygments-main/tests/examplefiles/example.gs +0 -106
  341. data/vendor/pygments-main/tests/examplefiles/example.gst +0 -7
  342. data/vendor/pygments-main/tests/examplefiles/example.hs +0 -27
  343. data/vendor/pygments-main/tests/examplefiles/example.hx +0 -185
  344. data/vendor/pygments-main/tests/examplefiles/example.i6t +0 -32
  345. data/vendor/pygments-main/tests/examplefiles/example.i7x +0 -45
  346. data/vendor/pygments-main/tests/examplefiles/example.inf +0 -374
  347. data/vendor/pygments-main/tests/examplefiles/example.j +0 -564
  348. data/vendor/pygments-main/tests/examplefiles/example.jag +0 -48
  349. data/vendor/pygments-main/tests/examplefiles/example.java +0 -16
  350. data/vendor/pygments-main/tests/examplefiles/example.kal +0 -75
  351. data/vendor/pygments-main/tests/examplefiles/example.kt +0 -47
  352. data/vendor/pygments-main/tests/examplefiles/example.lagda +0 -19
  353. data/vendor/pygments-main/tests/examplefiles/example.liquid +0 -42
  354. data/vendor/pygments-main/tests/examplefiles/example.lua +0 -250
  355. data/vendor/pygments-main/tests/examplefiles/example.ma +0 -8
  356. data/vendor/pygments-main/tests/examplefiles/example.monkey +0 -152
  357. data/vendor/pygments-main/tests/examplefiles/example.moo +0 -26
  358. data/vendor/pygments-main/tests/examplefiles/example.moon +0 -629
  359. data/vendor/pygments-main/tests/examplefiles/example.mq4 +0 -187
  360. data/vendor/pygments-main/tests/examplefiles/example.mqh +0 -123
  361. data/vendor/pygments-main/tests/examplefiles/example.msc +0 -43
  362. data/vendor/pygments-main/tests/examplefiles/example.ni +0 -57
  363. data/vendor/pygments-main/tests/examplefiles/example.nim +0 -1010
  364. data/vendor/pygments-main/tests/examplefiles/example.nix +0 -80
  365. data/vendor/pygments-main/tests/examplefiles/example.ns2 +0 -69
  366. data/vendor/pygments-main/tests/examplefiles/example.pas +0 -2708
  367. data/vendor/pygments-main/tests/examplefiles/example.pp +0 -8
  368. data/vendor/pygments-main/tests/examplefiles/example.prg +0 -161
  369. data/vendor/pygments-main/tests/examplefiles/example.rb +0 -1852
  370. data/vendor/pygments-main/tests/examplefiles/example.red +0 -257
  371. data/vendor/pygments-main/tests/examplefiles/example.reds +0 -150
  372. data/vendor/pygments-main/tests/examplefiles/example.reg +0 -19
  373. data/vendor/pygments-main/tests/examplefiles/example.rexx +0 -50
  374. data/vendor/pygments-main/tests/examplefiles/example.rhtml +0 -561
  375. data/vendor/pygments-main/tests/examplefiles/example.rkt +0 -743
  376. data/vendor/pygments-main/tests/examplefiles/example.rpf +0 -4
  377. data/vendor/pygments-main/tests/examplefiles/example.sh +0 -22
  378. data/vendor/pygments-main/tests/examplefiles/example.sh-session +0 -19
  379. data/vendor/pygments-main/tests/examplefiles/example.shell-session +0 -45
  380. data/vendor/pygments-main/tests/examplefiles/example.slim +0 -31
  381. data/vendor/pygments-main/tests/examplefiles/example.sls +0 -51
  382. data/vendor/pygments-main/tests/examplefiles/example.sml +0 -156
  383. data/vendor/pygments-main/tests/examplefiles/example.snobol +0 -15
  384. data/vendor/pygments-main/tests/examplefiles/example.stan +0 -110
  385. data/vendor/pygments-main/tests/examplefiles/example.tea +0 -34
  386. data/vendor/pygments-main/tests/examplefiles/example.todotxt +0 -9
  387. data/vendor/pygments-main/tests/examplefiles/example.ts +0 -28
  388. data/vendor/pygments-main/tests/examplefiles/example.u +0 -548
  389. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +0 -9
  390. data/vendor/pygments-main/tests/examplefiles/example.xhtml +0 -376
  391. data/vendor/pygments-main/tests/examplefiles/example.xtend +0 -34
  392. data/vendor/pygments-main/tests/examplefiles/example.yaml +0 -302
  393. data/vendor/pygments-main/tests/examplefiles/example2.aspx +0 -29
  394. data/vendor/pygments-main/tests/examplefiles/example2.msc +0 -79
  395. data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +0 -241
  396. data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +0 -18
  397. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +0 -205
  398. data/vendor/pygments-main/tests/examplefiles/example_file.fy +0 -128
  399. data/vendor/pygments-main/tests/examplefiles/firefox.mak +0 -586
  400. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +0 -19
  401. data/vendor/pygments-main/tests/examplefiles/foo.sce +0 -6
  402. data/vendor/pygments-main/tests/examplefiles/format.ml +0 -1213
  403. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +0 -77
  404. data/vendor/pygments-main/tests/examplefiles/function.mu +0 -1
  405. data/vendor/pygments-main/tests/examplefiles/functional.rst +0 -1472
  406. data/vendor/pygments-main/tests/examplefiles/garcia-wachs.kk +0 -133
  407. data/vendor/pygments-main/tests/examplefiles/genclass.clj +0 -510
  408. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +0 -193
  409. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +0 -33
  410. data/vendor/pygments-main/tests/examplefiles/glsl.frag +0 -7
  411. data/vendor/pygments-main/tests/examplefiles/glsl.vert +0 -13
  412. data/vendor/pygments-main/tests/examplefiles/grammar-test.p6 +0 -22
  413. data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +0 -5
  414. data/vendor/pygments-main/tests/examplefiles/hello.at +0 -6
  415. data/vendor/pygments-main/tests/examplefiles/hello.golo +0 -5
  416. data/vendor/pygments-main/tests/examplefiles/hello.lsl +0 -12
  417. data/vendor/pygments-main/tests/examplefiles/hello.smali +0 -40
  418. data/vendor/pygments-main/tests/examplefiles/hello.sp +0 -9
  419. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +0 -1
  420. data/vendor/pygments-main/tests/examplefiles/http_request_example +0 -15
  421. data/vendor/pygments-main/tests/examplefiles/http_response_example +0 -29
  422. data/vendor/pygments-main/tests/examplefiles/hybris_File.hy +0 -174
  423. data/vendor/pygments-main/tests/examplefiles/idl_sample.pro +0 -73
  424. data/vendor/pygments-main/tests/examplefiles/iex_example +0 -23
  425. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +0 -71
  426. data/vendor/pygments-main/tests/examplefiles/intro.ik +0 -24
  427. data/vendor/pygments-main/tests/examplefiles/ints.php +0 -10
  428. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +0 -675
  429. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +0 -286
  430. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +0 -8
  431. data/vendor/pygments-main/tests/examplefiles/irc.lsp +0 -214
  432. data/vendor/pygments-main/tests/examplefiles/java.properties +0 -16
  433. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +0 -28
  434. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +0 -45
  435. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +0 -713
  436. data/vendor/pygments-main/tests/examplefiles/json.lasso +0 -301
  437. data/vendor/pygments-main/tests/examplefiles/json.lasso9 +0 -213
  438. data/vendor/pygments-main/tests/examplefiles/language.hy +0 -165
  439. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +0 -13
  440. data/vendor/pygments-main/tests/examplefiles/limbo.b +0 -456
  441. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +0 -47
  442. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +0 -43
  443. data/vendor/pygments-main/tests/examplefiles/logos_example.xm +0 -28
  444. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +0 -2849
  445. data/vendor/pygments-main/tests/examplefiles/main.cmake +0 -44
  446. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +0 -679
  447. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +0 -3
  448. data/vendor/pygments-main/tests/examplefiles/matlab_sample +0 -30
  449. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +0 -37
  450. data/vendor/pygments-main/tests/examplefiles/metagrammar.treetop +0 -455
  451. data/vendor/pygments-main/tests/examplefiles/minehunt.qml +0 -112
  452. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +0 -4
  453. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +0 -340
  454. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +0 -38
  455. data/vendor/pygments-main/tests/examplefiles/nanomsg.intr +0 -95
  456. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +0 -96
  457. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +0 -30
  458. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +0 -87
  459. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +0 -118
  460. data/vendor/pygments-main/tests/examplefiles/numbers.c +0 -12
  461. data/vendor/pygments-main/tests/examplefiles/objc_example.m +0 -179
  462. data/vendor/pygments-main/tests/examplefiles/openedge_example +0 -34
  463. data/vendor/pygments-main/tests/examplefiles/pawn_example +0 -25
  464. data/vendor/pygments-main/tests/examplefiles/perl_misc +0 -62
  465. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +0 -998
  466. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +0 -120
  467. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +0 -856
  468. data/vendor/pygments-main/tests/examplefiles/phpMyAdmin.spec +0 -163
  469. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +0 -567
  470. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +0 -1223
  471. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +0 -47
  472. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +0 -10
  473. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +0 -122
  474. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +0 -2
  475. data/vendor/pygments-main/tests/examplefiles/py3tb_test.py3tb +0 -4
  476. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +0 -14
  477. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +0 -2
  478. data/vendor/pygments-main/tests/examplefiles/pytb_test3.pytb +0 -4
  479. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +0 -234
  480. data/vendor/pygments-main/tests/examplefiles/qbasic_example +0 -2
  481. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +0 -13
  482. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +0 -38
  483. data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +0 -23
  484. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +0 -280
  485. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +0 -2
  486. data/vendor/pygments-main/tests/examplefiles/regex.js +0 -22
  487. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +0 -427
  488. data/vendor/pygments-main/tests/examplefiles/robotframework_test.txt +0 -39
  489. data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +0 -34
  490. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +0 -11
  491. data/vendor/pygments-main/tests/examplefiles/rust_example.rs +0 -233
  492. data/vendor/pygments-main/tests/examplefiles/scilab.sci +0 -30
  493. data/vendor/pygments-main/tests/examplefiles/scope.cirru +0 -43
  494. data/vendor/pygments-main/tests/examplefiles/session.dylan-console +0 -9
  495. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +0 -19
  496. data/vendor/pygments-main/tests/examplefiles/simple.md +0 -747
  497. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +0 -209
  498. data/vendor/pygments-main/tests/examplefiles/source.lgt +0 -343
  499. data/vendor/pygments-main/tests/examplefiles/sources.list +0 -62
  500. data/vendor/pygments-main/tests/examplefiles/sparql.rq +0 -23
  501. data/vendor/pygments-main/tests/examplefiles/sphere.pov +0 -18
  502. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +0 -27
  503. data/vendor/pygments-main/tests/examplefiles/squid.conf +0 -30
  504. data/vendor/pygments-main/tests/examplefiles/string.jl +0 -1031
  505. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +0 -21
  506. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +0 -3
  507. data/vendor/pygments-main/tests/examplefiles/swig_java.swg +0 -1329
  508. data/vendor/pygments-main/tests/examplefiles/swig_std_vector.i +0 -225
  509. data/vendor/pygments-main/tests/examplefiles/test.R +0 -185
  510. data/vendor/pygments-main/tests/examplefiles/test.adb +0 -211
  511. data/vendor/pygments-main/tests/examplefiles/test.agda +0 -102
  512. data/vendor/pygments-main/tests/examplefiles/test.apl +0 -26
  513. data/vendor/pygments-main/tests/examplefiles/test.asy +0 -131
  514. data/vendor/pygments-main/tests/examplefiles/test.awk +0 -121
  515. data/vendor/pygments-main/tests/examplefiles/test.bb +0 -95
  516. data/vendor/pygments-main/tests/examplefiles/test.bmx +0 -145
  517. data/vendor/pygments-main/tests/examplefiles/test.boo +0 -39
  518. data/vendor/pygments-main/tests/examplefiles/test.bro +0 -250
  519. data/vendor/pygments-main/tests/examplefiles/test.cs +0 -374
  520. data/vendor/pygments-main/tests/examplefiles/test.css +0 -54
  521. data/vendor/pygments-main/tests/examplefiles/test.cu +0 -36
  522. data/vendor/pygments-main/tests/examplefiles/test.cyp +0 -123
  523. data/vendor/pygments-main/tests/examplefiles/test.d +0 -135
  524. data/vendor/pygments-main/tests/examplefiles/test.dart +0 -23
  525. data/vendor/pygments-main/tests/examplefiles/test.dtd +0 -89
  526. data/vendor/pygments-main/tests/examplefiles/test.ebnf +0 -31
  527. data/vendor/pygments-main/tests/examplefiles/test.ec +0 -605
  528. data/vendor/pygments-main/tests/examplefiles/test.ecl +0 -58
  529. data/vendor/pygments-main/tests/examplefiles/test.eh +0 -315
  530. data/vendor/pygments-main/tests/examplefiles/test.erl +0 -169
  531. data/vendor/pygments-main/tests/examplefiles/test.evoque +0 -33
  532. data/vendor/pygments-main/tests/examplefiles/test.fan +0 -818
  533. data/vendor/pygments-main/tests/examplefiles/test.flx +0 -57
  534. data/vendor/pygments-main/tests/examplefiles/test.gdc +0 -13
  535. data/vendor/pygments-main/tests/examplefiles/test.groovy +0 -97
  536. data/vendor/pygments-main/tests/examplefiles/test.html +0 -339
  537. data/vendor/pygments-main/tests/examplefiles/test.idr +0 -93
  538. data/vendor/pygments-main/tests/examplefiles/test.ini +0 -10
  539. data/vendor/pygments-main/tests/examplefiles/test.java +0 -653
  540. data/vendor/pygments-main/tests/examplefiles/test.jsp +0 -24
  541. data/vendor/pygments-main/tests/examplefiles/test.maql +0 -45
  542. data/vendor/pygments-main/tests/examplefiles/test.mask +0 -41
  543. data/vendor/pygments-main/tests/examplefiles/test.mod +0 -374
  544. data/vendor/pygments-main/tests/examplefiles/test.moo +0 -51
  545. data/vendor/pygments-main/tests/examplefiles/test.myt +0 -166
  546. data/vendor/pygments-main/tests/examplefiles/test.nim +0 -93
  547. data/vendor/pygments-main/tests/examplefiles/test.opa +0 -10
  548. data/vendor/pygments-main/tests/examplefiles/test.p6 +0 -252
  549. data/vendor/pygments-main/tests/examplefiles/test.pan +0 -54
  550. data/vendor/pygments-main/tests/examplefiles/test.pas +0 -743
  551. data/vendor/pygments-main/tests/examplefiles/test.php +0 -507
  552. data/vendor/pygments-main/tests/examplefiles/test.pig +0 -148
  553. data/vendor/pygments-main/tests/examplefiles/test.plot +0 -333
  554. data/vendor/pygments-main/tests/examplefiles/test.ps1 +0 -108
  555. data/vendor/pygments-main/tests/examplefiles/test.pwn +0 -253
  556. data/vendor/pygments-main/tests/examplefiles/test.pypylog +0 -1839
  557. data/vendor/pygments-main/tests/examplefiles/test.r3 +0 -114
  558. data/vendor/pygments-main/tests/examplefiles/test.rb +0 -177
  559. data/vendor/pygments-main/tests/examplefiles/test.rhtml +0 -43
  560. data/vendor/pygments-main/tests/examplefiles/test.rsl +0 -111
  561. data/vendor/pygments-main/tests/examplefiles/test.scaml +0 -8
  562. data/vendor/pygments-main/tests/examplefiles/test.ssp +0 -12
  563. data/vendor/pygments-main/tests/examplefiles/test.swift +0 -65
  564. data/vendor/pygments-main/tests/examplefiles/test.tcsh +0 -830
  565. data/vendor/pygments-main/tests/examplefiles/test.vb +0 -407
  566. data/vendor/pygments-main/tests/examplefiles/test.vhdl +0 -161
  567. data/vendor/pygments-main/tests/examplefiles/test.xqy +0 -138
  568. data/vendor/pygments-main/tests/examplefiles/test.xsl +0 -23
  569. data/vendor/pygments-main/tests/examplefiles/test.zep +0 -33
  570. data/vendor/pygments-main/tests/examplefiles/test2.pypylog +0 -120
  571. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +0 -15
  572. data/vendor/pygments-main/tests/examplefiles/type.lisp +0 -1218
  573. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +0 -603
  574. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +0 -5
  575. data/vendor/pygments-main/tests/examplefiles/unicode.go +0 -10
  576. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +0 -11
  577. data/vendor/pygments-main/tests/examplefiles/unix-io.lid +0 -37
  578. data/vendor/pygments-main/tests/examplefiles/vbnet_test.bas +0 -29
  579. data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +0 -4
  580. data/vendor/pygments-main/tests/examplefiles/vimrc +0 -21
  581. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +0 -3
  582. data/vendor/pygments-main/tests/examplefiles/while.pov +0 -13
  583. data/vendor/pygments-main/tests/examplefiles/wiki.factor +0 -384
  584. data/vendor/pygments-main/tests/examplefiles/xml_example +0 -1897
  585. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +0 -798
  586. data/vendor/pygments-main/tests/run.py +0 -44
  587. data/vendor/pygments-main/tests/string_asserts.py +0 -22
  588. data/vendor/pygments-main/tests/support.py +0 -15
  589. data/vendor/pygments-main/tests/support/tags +0 -36
  590. data/vendor/pygments-main/tests/test_basic_api.py +0 -309
  591. data/vendor/pygments-main/tests/test_cfm.py +0 -46
  592. data/vendor/pygments-main/tests/test_clexer.py +0 -236
  593. data/vendor/pygments-main/tests/test_cmdline.py +0 -106
  594. data/vendor/pygments-main/tests/test_examplefiles.py +0 -110
  595. data/vendor/pygments-main/tests/test_html_formatter.py +0 -180
  596. data/vendor/pygments-main/tests/test_latex_formatter.py +0 -57
  597. data/vendor/pygments-main/tests/test_lexers_other.py +0 -68
  598. data/vendor/pygments-main/tests/test_objectiveclexer.py +0 -81
  599. data/vendor/pygments-main/tests/test_perllexer.py +0 -137
  600. data/vendor/pygments-main/tests/test_qbasiclexer.py +0 -43
  601. data/vendor/pygments-main/tests/test_regexlexer.py +0 -54
  602. data/vendor/pygments-main/tests/test_rtf_formatter.py +0 -109
  603. data/vendor/pygments-main/tests/test_string_asserts.py +0 -39
  604. data/vendor/pygments-main/tests/test_token.py +0 -46
  605. data/vendor/pygments-main/tests/test_using_api.py +0 -40
  606. data/vendor/pygments-main/tests/test_util.py +0 -135
@@ -1,187 +0,0 @@
1
- //+------------------------------------------------------------------+
2
- //| PeriodConverter.mq4 |
3
- //| Copyright 2006-2014, MetaQuotes Software Corp. |
4
- //| http://www.metaquotes.net |
5
- //+------------------------------------------------------------------+
6
- #property copyright "2006-2014, MetaQuotes Software Corp."
7
- #property link "http://www.mql4.com"
8
- #property description "Period Converter to updated format of history base"
9
- #property strict
10
- #property show_inputs
11
- #include <WinUser32.mqh>
12
-
13
- input int InpPeriodMultiplier=3; // Period multiplier factor
14
- int ExtHandle=-1;
15
- //+------------------------------------------------------------------+
16
- //| script program start function |
17
- //+------------------------------------------------------------------+
18
- void OnStart()
19
- {
20
- datetime time0;
21
- ulong last_fpos=0;
22
- long last_volume=0;
23
- int i,start_pos,periodseconds;
24
- int hwnd=0,cnt=0;
25
- //---- History header
26
- int file_version=401;
27
- string c_copyright;
28
- string c_symbol=Symbol();
29
- int i_period=Period()*InpPeriodMultiplier;
30
- int i_digits=Digits;
31
- int i_unused[13];
32
- MqlRates rate;
33
- //---
34
- ExtHandle=FileOpenHistory(c_symbol+(string)i_period+".hst",FILE_BIN|FILE_WRITE|FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_ANSI);
35
- if(ExtHandle<0)
36
- return;
37
- c_copyright="(C)opyright 2003, MetaQuotes Software Corp.";
38
- ArrayInitialize(i_unused,0);
39
- //--- write history file header
40
- FileWriteInteger(ExtHandle,file_version,LONG_VALUE);
41
- FileWriteString(ExtHandle,c_copyright,64);
42
- FileWriteString(ExtHandle,c_symbol,12);
43
- FileWriteInteger(ExtHandle,i_period,LONG_VALUE);
44
- FileWriteInteger(ExtHandle,i_digits,LONG_VALUE);
45
- FileWriteInteger(ExtHandle,0,LONG_VALUE);
46
- FileWriteInteger(ExtHandle,0,LONG_VALUE);
47
- FileWriteArray(ExtHandle,i_unused,0,13);
48
- //--- write history file
49
- periodseconds=i_period*60;
50
- start_pos=Bars-1;
51
- rate.open=Open[start_pos];
52
- rate.low=Low[start_pos];
53
- rate.high=High[start_pos];
54
- rate.tick_volume=(long)Volume[start_pos];
55
- rate.spread=0;
56
- rate.real_volume=0;
57
- //--- normalize open time
58
- rate.time=Time[start_pos]/periodseconds;
59
- rate.time*=periodseconds;
60
- for(i=start_pos-1; i>=0; i--)
61
- {
62
- if(IsStopped())
63
- break;
64
- time0=Time[i];
65
- //--- history may be updated
66
- if(i==0)
67
- {
68
- //--- modify index if history was updated
69
- if(RefreshRates())
70
- i=iBarShift(NULL,0,time0);
71
- }
72
- //---
73
- if(time0>=rate.time+periodseconds || i==0)
74
- {
75
- if(i==0 && time0<rate.time+periodseconds)
76
- {
77
- rate.tick_volume+=(long)Volume[0];
78
- if(rate.low>Low[0])
79
- rate.low=Low[0];
80
- if(rate.high<High[0])
81
- rate.high=High[0];
82
- rate.close=Close[0];
83
- }
84
- last_fpos=FileTell(ExtHandle);
85
- last_volume=(long)Volume[i];
86
- FileWriteStruct(ExtHandle,rate);
87
- cnt++;
88
- if(time0>=rate.time+periodseconds)
89
- {
90
- rate.time=time0/periodseconds;
91
- rate.time*=periodseconds;
92
- rate.open=Open[i];
93
- rate.low=Low[i];
94
- rate.high=High[i];
95
- rate.close=Close[i];
96
- rate.tick_volume=last_volume;
97
- }
98
- }
99
- else
100
- {
101
- rate.tick_volume+=(long)Volume[i];
102
- if(rate.low>Low[i])
103
- rate.low=Low[i];
104
- if(rate.high<High[i])
105
- rate.high=High[i];
106
- rate.close=Close[i];
107
- }
108
- }
109
- FileFlush(ExtHandle);
110
- Print(cnt," record(s) written");
111
- //--- collect incoming ticks
112
- datetime last_time=LocalTime()-5;
113
- while(!IsStopped())
114
- {
115
- datetime cur_time=LocalTime();
116
- //--- check for new rates
117
- if(RefreshRates())
118
- {
119
- time0=Time[0];
120
- FileSeek(ExtHandle,last_fpos,SEEK_SET);
121
- //--- is there current bar?
122
- if(time0<rate.time+periodseconds)
123
- {
124
- rate.tick_volume+=(long)Volume[0]-last_volume;
125
- last_volume=(long)Volume[0];
126
- if(rate.low>Low[0])
127
- rate.low=Low[0];
128
- if(rate.high<High[0])
129
- rate.high=High[0];
130
- rate.close=Close[0];
131
- }
132
- else
133
- {
134
- //--- no, there is new bar
135
- rate.tick_volume+=(long)Volume[1]-last_volume;
136
- if(rate.low>Low[1])
137
- rate.low=Low[1];
138
- if(rate.high<High[1])
139
- rate.high=High[1];
140
- //--- write previous bar remains
141
- FileWriteStruct(ExtHandle,rate);
142
- last_fpos=FileTell(ExtHandle);
143
- //----
144
- rate.time=time0/periodseconds;
145
- rate.time*=periodseconds;
146
- rate.open=Open[0];
147
- rate.low=Low[0];
148
- rate.high=High[0];
149
- rate.close=Close[0];
150
- rate.tick_volume=(long)Volume[0];
151
- last_volume=rate.tick_volume;
152
- }
153
- //----
154
- FileWriteStruct(ExtHandle,rate);
155
- FileFlush(ExtHandle);
156
- //---
157
- if(hwnd==0)
158
- {
159
- hwnd=WindowHandle(Symbol(),i_period);
160
- if(hwnd!=0)
161
- Print("Chart window detected");
162
- }
163
- //--- refresh window not frequently than 1 time in 2 seconds
164
- if(hwnd!=0 && cur_time-last_time>=2)
165
- {
166
- PostMessageA(hwnd,WM_COMMAND,33324,0);
167
- last_time=cur_time;
168
- }
169
- }
170
- Sleep(50);
171
- }
172
- //---
173
- }
174
- //+------------------------------------------------------------------+
175
- //| |
176
- //+------------------------------------------------------------------+
177
- void OnDeinit(const int reason)
178
- {
179
- //---
180
- if(ExtHandle>=0)
181
- {
182
- FileClose(ExtHandle);
183
- ExtHandle=-1;
184
- }
185
- //---
186
- }
187
- //+------------------------------------------------------------------+
@@ -1,123 +0,0 @@
1
- //+------------------------------------------------------------------+
2
- //| Array.mqh |
3
- //| Copyright 2009-2013, MetaQuotes Software Corp. |
4
- //| http://www.mql4.com |
5
- //+------------------------------------------------------------------+
6
- #include <Object.mqh>
7
- //+------------------------------------------------------------------+
8
- //| Class CArray |
9
- //| Purpose: Base class of dynamic arrays. |
10
- //| Derives from class CObject. |
11
- //+------------------------------------------------------------------+
12
- class CArray : public CObject
13
- {
14
- protected:
15
- int m_step_resize; // increment size of the array
16
- int m_data_total; // number of elements
17
- int m_data_max; // maximmum size of the array without memory reallocation
18
- int m_sort_mode; // mode of array sorting
19
-
20
- public:
21
- CArray(void);
22
- ~CArray(void);
23
- //--- methods of access to protected data
24
- int Step(void) const { return(m_step_resize); }
25
- bool Step(const int step);
26
- int Total(void) const { return(m_data_total); }
27
- int Available(void) const { return(m_data_max-m_data_total); }
28
- int Max(void) const { return(m_data_max); }
29
- bool IsSorted(const int mode=0) const { return(m_sort_mode==mode); }
30
- int SortMode(void) const { return(m_sort_mode); }
31
- //--- cleaning method
32
- void Clear(void) { m_data_total=0; }
33
- //--- methods for working with files
34
- virtual bool Save(const int file_handle);
35
- virtual bool Load(const int file_handle);
36
- //--- sorting method
37
- void Sort(const int mode=0);
38
-
39
- protected:
40
- virtual void QuickSort(int beg,int end,const int mode=0) { }
41
- };
42
- //+------------------------------------------------------------------+
43
- //| Constructor |
44
- //+------------------------------------------------------------------+
45
- CArray::CArray(void) : m_step_resize(16),
46
- m_data_total(0),
47
- m_data_max(0),
48
- m_sort_mode(-1)
49
- {
50
- }
51
- //+------------------------------------------------------------------+
52
- //| Destructor |
53
- //+------------------------------------------------------------------+
54
- CArray::~CArray(void)
55
- {
56
- }
57
- //+------------------------------------------------------------------+
58
- //| Method Set for variable m_step_resize |
59
- //+------------------------------------------------------------------+
60
- bool CArray::Step(const int step)
61
- {
62
- //--- check
63
- if(step>0)
64
- {
65
- m_step_resize=step;
66
- return(true);
67
- }
68
- //--- failure
69
- return(false);
70
- }
71
- //+------------------------------------------------------------------+
72
- //| Sorting an array in ascending order |
73
- //+------------------------------------------------------------------+
74
- void CArray::Sort(const int mode)
75
- {
76
- //--- check
77
- if(IsSorted(mode))
78
- return;
79
- m_sort_mode=mode;
80
- if(m_data_total<=1)
81
- return;
82
- //--- sort
83
- QuickSort(0,m_data_total-1,mode);
84
- }
85
- //+------------------------------------------------------------------+
86
- //| Writing header of array to file |
87
- //+------------------------------------------------------------------+
88
- bool CArray::Save(const int file_handle)
89
- {
90
- //--- check handle
91
- if(file_handle!=INVALID_HANDLE)
92
- {
93
- //--- write start marker - 0xFFFFFFFFFFFFFFFF
94
- if(FileWriteLong(file_handle,-1)==sizeof(long))
95
- {
96
- //--- write array type
97
- if(FileWriteInteger(file_handle,Type(),INT_VALUE)==INT_VALUE)
98
- return(true);
99
- }
100
- }
101
- //--- failure
102
- return(false);
103
- }
104
- //+------------------------------------------------------------------+
105
- //| Reading header of array from file |
106
- //+------------------------------------------------------------------+
107
- bool CArray::Load(const int file_handle)
108
- {
109
- //--- check handle
110
- if(file_handle!=INVALID_HANDLE)
111
- {
112
- //--- read and check start marker - 0xFFFFFFFFFFFFFFFF
113
- if(FileReadLong(file_handle)==-1)
114
- {
115
- //--- read and check array type
116
- if(FileReadInteger(file_handle,INT_VALUE)==Type())
117
- return(true);
118
- }
119
- }
120
- //--- failure
121
- return(false);
122
- }
123
- //+------------------------------------------------------------------+
@@ -1,43 +0,0 @@
1
- msc {
2
- hscale=5;
3
-
4
- //test comment
5
-
6
- a,b,c,d;
7
-
8
- /* another
9
- comment
10
- goes here */ /* too */ // now
11
-
12
- ... [label="test1", id="1"];
13
- --- [label="test2", id="2"];
14
- ||| [label="test3", id="2"];
15
- a ABOX b;
16
- a--b [label="test4", id="2"];
17
- a == b [label="test5", id="2"];
18
- a .. b [label="test6", id="2"];
19
- a::b [label="test7", id="2"];
20
- a<<=>> b [label="test8", id="2"],
21
- b <->c [label="test9", id="2"],
22
- b RBOX c;
23
- a BOX d;
24
- a<=> b [label="test10", id="2"];
25
- a <<>> b [label="test11", id="2"];
26
- a<:>b [label="test12", id="2"];
27
- a->b [label="test13", id="2"];
28
- a =>> b [label="test14", id="2"],
29
- b >> c [label="test15", id="2"],
30
- a=> b [label="test16", id="2"];
31
- a :>b [label="test17", id="2"];
32
- a-x b [label="test18", id="2"];
33
- a -Xb [label="test19", id="2"];
34
- a<- b [label="test20", id="2"];
35
- a <<=b [label="test21", id="2"];
36
- a<< b [label="test22", id="2"];
37
- a <= b [label="test23", id="2"];
38
- a<: b [label="test24", id="2"];
39
- a -xb [label="test25", id="2"];
40
- a-X b [ label="test26",id="2" ];
41
- a->* [label="test27" , id="2"];
42
- *<-b [label="test28",id="28"];
43
- }
@@ -1,57 +0,0 @@
1
- | | |
2
- "Informal by Nature"
3
- [ * * * ]
4
- by
5
- [ * * * ]
6
- David Corbett
7
-
8
- [This is a [nested] comment.]
9
-
10
- Section 1 - Use option translation
11
-
12
- Use maximum tests of at least 100 translates as (-
13
- @c
14
- Constant MAX_TESTS = {N}; —). | Section 2
15
-
16
- A room has a number called size.
17
-
18
- The Kitchen is a room. "A nondescript kitchen.“ The Kitchen has size 2.
19
-
20
- When play begins:
21
- say "Testing:[line break]";
22
- test 0.
23
-
24
- To test (N — number): (—
25
- if (Test({N}) == (+size of the Kitchen [this should succeed]+)) {-open—brace}
26
- print ”Success.^”;
27
- {-close-brace} else {
28
- print “Failure.^";
29
- }
30
- ]; ! You shouldn't end a routine within a phrase definition, but it works.
31
- [ Unused;
32
- #Include "\
33
- @p \
34
- "; ! At signs hold no power here.
35
- ! Of course, the file "@p .h" must exist.
36
- -).
37
-
38
- Include (-!% This is not ICL.
39
-
40
- [ Test x;
41
- if (x) {x++;}
42
- {–! Single line comment.}
43
- @inc x;
44
- @p At signs.
45
- ...
46
- @Purpose: ...
47
- ...
48
- @-...
49
- @c ...
50
- @inc x;
51
- @c
52
- @c
53
- return x;
54
- ];
55
- @Purpose: ...
56
- @-------------------------------------------------------------------------------
57
- -).
@@ -1,1010 +0,0 @@
1
- import glib2, gtk2, gdk2, gtksourceview, dialogs, os, pango, osproc, strutils
2
- import pegs, streams
3
- import settings, types, cfg, search
4
-
5
- {.push callConv:cdecl.}
6
-
7
- const
8
- NimrodProjectExt = ".nimprj"
9
-
10
- var win: types.MainWin
11
- win.Tabs = @[]
12
-
13
- search.win = addr(win)
14
-
15
- var lastSession: seq[string] = @[]
16
-
17
- var confParseFail = False # This gets set to true
18
- # When there is an error parsing the config
19
-
20
- # Load the settings
21
- try:
22
- win.settings = cfg.load(lastSession)
23
- except ECFGParse:
24
- # TODO: Make the dialog show the exception
25
- confParseFail = True
26
- win.settings = cfg.defaultSettings()
27
- except EIO:
28
- win.settings = cfg.defaultSettings()
29
-
30
- proc getProjectTab(): int =
31
- for i in 0..high(win.tabs):
32
- if win.tabs[i].filename.endswith(NimrodProjectExt): return i
33
-
34
- proc saveTab(tabNr: int, startpath: string) =
35
- if tabNr < 0: return
36
- if win.Tabs[tabNr].saved: return
37
- var path = ""
38
- if win.Tabs[tabNr].filename == "":
39
- path = ChooseFileToSave(win.w, startpath)
40
- # dialogs.nim STOCK_OPEN instead of STOCK_SAVE
41
- else:
42
- path = win.Tabs[tabNr].filename
43
-
44
- if path != "":
45
- var buffer = PTextBuffer(win.Tabs[tabNr].buffer)
46
- # Get the text from the TextView
47
- var startIter: TTextIter
48
- buffer.getStartIter(addr(startIter))
49
-
50
- var endIter: TTextIter
51
- buffer.getEndIter(addr(endIter))
52
-
53
- var text = buffer.getText(addr(startIter), addr(endIter), False)
54
- # Save it to a file
55
- var f: TFile
56
- if open(f, path, fmWrite):
57
- f.write(text)
58
- f.close()
59
-
60
- win.tempStuff.lastSaveDir = splitFile(path).dir
61
-
62
- # Change the tab name and .Tabs.filename etc.
63
- win.Tabs[tabNr].filename = path
64
- win.Tabs[tabNr].saved = True
65
- var name = extractFilename(path)
66
-
67
- var cTab = win.Tabs[tabNr]
68
- cTab.label.setText(name)
69
- else:
70
- error(win.w, "Unable to write to file")
71
-
72
- proc saveAllTabs() =
73
- for i in 0..high(win.tabs):
74
- saveTab(i, os.splitFile(win.tabs[i].filename).dir)
75
-
76
- # GTK Events
77
- # -- w(PWindow)
78
- proc destroy(widget: PWidget, data: pgpointer) {.cdecl.} =
79
- # gather some settings
80
- win.settings.VPanedPos = PPaned(win.sourceViewTabs.getParent()).getPosition()
81
- win.settings.winWidth = win.w.allocation.width
82
- win.settings.winHeight = win.w.allocation.height
83
-
84
- # save the settings
85
- win.save()
86
- # then quit
87
- main_quit()
88
-
89
- proc delete_event(widget: PWidget, event: PEvent, user_data: pgpointer): bool =
90
- var quit = True
91
- for i in low(win.Tabs)..len(win.Tabs)-1:
92
- if not win.Tabs[i].saved:
93
- var askSave = dialogNewWithButtons("", win.w, 0,
94
- STOCK_SAVE, RESPONSE_ACCEPT, STOCK_CANCEL,
95
- RESPONSE_CANCEL,
96
- "Close without saving", RESPONSE_REJECT, nil)
97
- askSave.setTransientFor(win.w)
98
- # TODO: Make this dialog look better
99
- var label = labelNew(win.Tabs[i].filename &
100
- " is unsaved, would you like to save it ?")
101
- PBox(askSave.vbox).pack_start(label, False, False, 0)
102
- label.show()
103
-
104
- var resp = askSave.run()
105
- gtk2.destroy(PWidget(askSave))
106
- case resp
107
- of RESPONSE_ACCEPT:
108
- saveTab(i, os.splitFile(win.tabs[i].filename).dir)
109
- quit = True
110
- of RESPONSE_CANCEL:
111
- quit = False
112
- break
113
- of RESPONSE_REJECT:
114
- quit = True
115
- else:
116
- quit = False
117
- break
118
-
119
- # If False is returned the window will close
120
- return not quit
121
-
122
- proc windowState_Changed(widget: PWidget, event: PEventWindowState,
123
- user_data: pgpointer) =
124
- win.settings.winMaximized = (event.newWindowState and
125
- WINDOW_STATE_MAXIMIZED) != 0
126
-
127
- # -- SourceView(PSourceView) & SourceBuffer
128
- proc updateStatusBar(buffer: PTextBuffer){.cdecl.} =
129
- # Incase this event gets fired before
130
- # bottomBar is initialized
131
- if win.bottomBar != nil and not win.tempStuff.stopSBUpdates:
132
- var iter: TTextIter
133
-
134
- win.bottomBar.pop(0)
135
- buffer.getIterAtMark(addr(iter), buffer.getInsert())
136
- var row = getLine(addr(iter)) + 1
137
- var col = getLineOffset(addr(iter))
138
- discard win.bottomBar.push(0, "Line: " & $row & " Column: " & $col)
139
-
140
- proc cursorMoved(buffer: PTextBuffer, location: PTextIter,
141
- mark: PTextMark, user_data: pgpointer){.cdecl.} =
142
- updateStatusBar(buffer)
143
-
144
- proc onCloseTab(btn: PButton, user_data: PWidget) =
145
- if win.sourceViewTabs.getNPages() > 1:
146
- var tab = win.sourceViewTabs.pageNum(user_data)
147
- win.sourceViewTabs.removePage(tab)
148
-
149
- win.Tabs.delete(tab)
150
-
151
- proc onSwitchTab(notebook: PNotebook, page: PNotebookPage, pageNum: guint,
152
- user_data: pgpointer) =
153
- if win.Tabs.len()-1 >= pageNum:
154
- win.w.setTitle("Aporia IDE - " & win.Tabs[pageNum].filename)
155
-
156
- proc createTabLabel(name: string, t_child: PWidget): tuple[box: PWidget,
157
- label: PLabel] =
158
- var box = hboxNew(False, 0)
159
- var label = labelNew(name)
160
- var closebtn = buttonNew()
161
- closeBtn.setLabel(nil)
162
- var iconSize = iconSizeFromName("tabIconSize")
163
- if iconSize == 0:
164
- iconSize = iconSizeRegister("tabIconSize", 10, 10)
165
- var image = imageNewFromStock(STOCK_CLOSE, iconSize)
166
- discard gSignalConnect(closebtn, "clicked", G_Callback(onCloseTab), t_child)
167
- closebtn.setImage(image)
168
- gtk2.setRelief(closebtn, RELIEF_NONE)
169
- box.packStart(label, True, True, 0)
170
- box.packEnd(closebtn, False, False, 0)
171
- box.showAll()
172
- return (box, label)
173
-
174
- proc changed(buffer: PTextBuffer, user_data: pgpointer) =
175
- # Update the 'Line & Column'
176
- #updateStatusBar(buffer)
177
-
178
- # Change the tabs state to 'unsaved'
179
- # and add '*' to the Tab Name
180
- var current = win.SourceViewTabs.getCurrentPage()
181
- var name = ""
182
- if win.Tabs[current].filename == "":
183
- win.Tabs[current].saved = False
184
- name = "Untitled *"
185
- else:
186
- win.Tabs[current].saved = False
187
- name = extractFilename(win.Tabs[current].filename) & " *"
188
-
189
- var cTab = win.Tabs[current]
190
- cTab.label.setText(name)
191
-
192
- # Other(Helper) functions
193
-
194
- proc initSourceView(SourceView: var PWidget, scrollWindow: var PScrolledWindow,
195
- buffer: var PSourceBuffer) =
196
- # This gets called by addTab
197
- # Each tabs creates a new SourceView
198
- # SourceScrolledWindow(ScrolledWindow)
199
- scrollWindow = scrolledWindowNew(nil, nil)
200
- scrollWindow.setPolicy(POLICY_AUTOMATIC, POLICY_AUTOMATIC)
201
- scrollWindow.show()
202
-
203
- # SourceView(gtkSourceView)
204
- SourceView = sourceViewNew(buffer)
205
- PSourceView(SourceView).setInsertSpacesInsteadOfTabs(True)
206
- PSourceView(SourceView).setIndentWidth(win.settings.indentWidth)
207
- PSourceView(SourceView).setShowLineNumbers(win.settings.showLineNumbers)
208
- PSourceView(SourceView).setHighlightCurrentLine(
209
- win.settings.highlightCurrentLine)
210
- PSourceView(SourceView).setShowRightMargin(win.settings.rightMargin)
211
- PSourceView(SourceView).setAutoIndent(win.settings.autoIndent)
212
-
213
- var font = font_description_from_string(win.settings.font)
214
- SourceView.modifyFont(font)
215
-
216
- scrollWindow.add(SourceView)
217
- SourceView.show()
218
-
219
- buffer.setHighlightMatchingBrackets(
220
- win.settings.highlightMatchingBrackets)
221
-
222
- # UGLY workaround for yet another compiler bug:
223
- discard gsignalConnect(buffer, "mark-set",
224
- GCallback(aporia.cursorMoved), nil)
225
- discard gsignalConnect(buffer, "changed", GCallback(aporia.changed), nil)
226
-
227
- # -- Set the syntax highlighter scheme
228
- buffer.setScheme(win.scheme)
229
-
230
- proc addTab(name, filename: string) =
231
- ## Adds a tab, if filename is not "" reads the file. And sets
232
- ## the tabs SourceViews text to that files contents.
233
- assert(win.nimLang != nil)
234
- var buffer: PSourceBuffer = sourceBufferNew(win.nimLang)
235
-
236
- if filename != nil and filename != "":
237
- var lang = win.langMan.guessLanguage(filename, nil)
238
- if lang != nil:
239
- buffer.setLanguage(lang)
240
- else:
241
- buffer.setHighlightSyntax(False)
242
-
243
- var nam = name
244
- if nam == "": nam = "Untitled"
245
- if filename == "": nam.add(" *")
246
- elif filename != "" and name == "":
247
- # Disable the undo/redo manager.
248
- buffer.begin_not_undoable_action()
249
-
250
- # Load the file.
251
- var file: string = readFile(filename)
252
- if file != nil:
253
- buffer.set_text(file, len(file))
254
-
255
- # Enable the undo/redo manager.
256
- buffer.end_not_undoable_action()
257
-
258
- # Get the name.ext of the filename, for the tabs title
259
- nam = extractFilename(filename)
260
-
261
- # Init the sourceview
262
- var sourceView: PWidget
263
- var scrollWindow: PScrolledWindow
264
- initSourceView(sourceView, scrollWindow, buffer)
265
-
266
- var (TabLabel, labelText) = createTabLabel(nam, scrollWindow)
267
- # Add a tab
268
- discard win.SourceViewTabs.appendPage(scrollWindow, TabLabel)
269
-
270
- var nTab: Tab
271
- nTab.buffer = buffer
272
- nTab.sourceView = sourceView
273
- nTab.label = labelText
274
- nTab.saved = (filename != "")
275
- nTab.filename = filename
276
- win.Tabs.add(nTab)
277
-
278
- PTextView(SourceView).setBuffer(nTab.buffer)
279
-
280
- # GTK Events Contd.
281
- # -- TopMenu & TopBar
282
-
283
- proc newFile(menuItem: PMenuItem, user_data: pgpointer) =
284
- addTab("", "")
285
- win.sourceViewTabs.setCurrentPage(win.Tabs.len()-1)
286
-
287
- proc openFile(menuItem: PMenuItem, user_data: pgpointer) =
288
- var startpath = ""
289
- var currPage = win.SourceViewTabs.getCurrentPage()
290
- if currPage <% win.tabs.len:
291
- startpath = os.splitFile(win.tabs[currPage].filename).dir
292
-
293
- if startpath.len == 0:
294
- # Use lastSavePath as the startpath
295
- startpath = win.tempStuff.lastSaveDir
296
- if startpath.len == 0:
297
- startpath = os.getHomeDir()
298
-
299
- var files = ChooseFilesToOpen(win.w, startpath)
300
- if files.len() > 0:
301
- for f in items(files):
302
- try:
303
- addTab("", f)
304
- except EIO:
305
- error(win.w, "Unable to read from file")
306
- # Switch to the newly created tab
307
- win.sourceViewTabs.setCurrentPage(win.Tabs.len()-1)
308
-
309
- proc saveFile_Activate(menuItem: PMenuItem, user_data: pgpointer) =
310
- var current = win.SourceViewTabs.getCurrentPage()
311
- saveTab(current, os.splitFile(win.tabs[current].filename).dir)
312
-
313
- proc saveFileAs_Activate(menuItem: PMenuItem, user_data: pgpointer) =
314
- var current = win.SourceViewTabs.getCurrentPage()
315
- var (filename, saved) = (win.Tabs[current].filename, win.Tabs[current].saved)
316
-
317
- win.Tabs[current].saved = False
318
- win.Tabs[current].filename = ""
319
- saveTab(current, os.splitFile(filename).dir)
320
- # If the user cancels the save file dialog. Restore the previous filename
321
- # and saved state
322
- if win.Tabs[current].filename == "":
323
- win.Tabs[current].filename = filename
324
- win.Tabs[current].saved = saved
325
-
326
- proc undo(menuItem: PMenuItem, user_data: pgpointer) =
327
- var current = win.SourceViewTabs.getCurrentPage()
328
- if win.Tabs[current].buffer.canUndo():
329
- win.Tabs[current].buffer.undo()
330
-
331
- proc redo(menuItem: PMenuItem, user_data: pgpointer) =
332
- var current = win.SourceViewTabs.getCurrentPage()
333
- if win.Tabs[current].buffer.canRedo():
334
- win.Tabs[current].buffer.redo()
335
-
336
- proc find_Activate(menuItem: PMenuItem, user_data: pgpointer) =
337
- # Get the selected text, and set the findEntry to it.
338
- var currentTab = win.SourceViewTabs.getCurrentPage()
339
- var insertIter: TTextIter
340
- win.Tabs[currentTab].buffer.getIterAtMark(addr(insertIter),
341
- win.Tabs[currentTab].buffer.getInsert())
342
- var insertOffset = addr(insertIter).getOffset()
343
-
344
- var selectIter: TTextIter
345
- win.Tabs[currentTab].buffer.getIterAtMark(addr(selectIter),
346
- win.Tabs[currentTab].buffer.getSelectionBound())
347
- var selectOffset = addr(selectIter).getOffset()
348
-
349
- if insertOffset != selectOffset:
350
- var text = win.Tabs[currentTab].buffer.getText(addr(insertIter),
351
- addr(selectIter), false)
352
- win.findEntry.setText(text)
353
-
354
- win.findBar.show()
355
- win.findEntry.grabFocus()
356
- win.replaceEntry.hide()
357
- win.replaceLabel.hide()
358
- win.replaceBtn.hide()
359
- win.replaceAllBtn.hide()
360
-
361
- proc replace_Activate(menuitem: PMenuItem, user_data: pgpointer) =
362
- win.findBar.show()
363
- win.findEntry.grabFocus()
364
- win.replaceEntry.show()
365
- win.replaceLabel.show()
366
- win.replaceBtn.show()
367
- win.replaceAllBtn.show()
368
-
369
- proc settings_Activate(menuitem: PMenuItem, user_data: pgpointer) =
370
- settings.showSettings(win)
371
-
372
- proc viewBottomPanel_Toggled(menuitem: PCheckMenuItem, user_data: pgpointer) =
373
- win.settings.bottomPanelVisible = menuitem.itemGetActive()
374
- if win.settings.bottomPanelVisible:
375
- win.bottomPanelTabs.show()
376
- else:
377
- win.bottomPanelTabs.hide()
378
-
379
- var
380
- pegLineError = peg"{[^(]*} '(' {\d+} ', ' \d+ ') Error:' \s* {.*}"
381
- pegLineWarning = peg"{[^(]*} '(' {\d+} ', ' \d+ ') ' ('Warning:'/'Hint:') \s* {.*}"
382
- pegOtherError = peg"'Error:' \s* {.*}"
383
- pegSuccess = peg"'Hint: operation successful'.*"
384
-
385
- proc addText(textView: PTextView, text: string, colorTag: PTextTag = nil) =
386
- if text != nil:
387
- var iter: TTextIter
388
- textView.getBuffer().getEndIter(addr(iter))
389
-
390
- if colorTag == nil:
391
- textView.getBuffer().insert(addr(iter), text, len(text))
392
- else:
393
- textView.getBuffer().insertWithTags(addr(iter), text, len(text), colorTag,
394
- nil)
395
-
396
- proc createColor(textView: PTextView, name, color: string): PTextTag =
397
- var tagTable = textView.getBuffer().getTagTable()
398
- result = tagTable.tableLookup(name)
399
- if result == nil:
400
- result = textView.getBuffer().createTag(name, "foreground", color, nil)
401
-
402
- when not defined(os.findExe):
403
- proc findExe(exe: string): string =
404
- ## returns "" if the exe cannot be found
405
- result = addFileExt(exe, os.exeExt)
406
- if ExistsFile(result): return
407
- var path = os.getEnv("PATH")
408
- for candidate in split(path, pathSep):
409
- var x = candidate / result
410
- if ExistsFile(x): return x
411
- result = ""
412
-
413
- proc GetCmd(cmd, filename: string): string =
414
- var f = quoteIfContainsWhite(filename)
415
- if cmd =~ peg"\s* '$' y'findExe' '(' {[^)]+} ')' {.*}":
416
- var exe = quoteIfContainsWhite(findExe(matches[0]))
417
- if exe.len == 0: exe = matches[0]
418
- result = exe & " " & matches[1] % f
419
- else:
420
- result = cmd % f
421
-
422
- proc showBottomPanel() =
423
- if not win.settings.bottomPanelVisible:
424
- win.bottomPanelTabs.show()
425
- win.settings.bottomPanelVisible = true
426
- PCheckMenuItem(win.viewBottomPanelMenuItem).itemSetActive(true)
427
- # Scroll to the end of the TextView
428
- # This is stupid, it works sometimes... it's random
429
- var endIter: TTextIter
430
- win.outputTextView.getBuffer().getEndIter(addr(endIter))
431
- discard win.outputTextView.scrollToIter(
432
- addr(endIter), 0.25, False, 0.0, 0.0)
433
-
434
- proc compileRun(currentTab: int, shouldRun: bool) =
435
- if win.Tabs[currentTab].filename.len == 0: return
436
- # Clear the outputTextView
437
- win.outputTextView.getBuffer().setText("", 0)
438
-
439
- var outp = osProc.execProcess(GetCmd(win.settings.nimrodCmd,
440
- win.Tabs[currentTab].filename))
441
- # Colors
442
- var normalTag = createColor(win.outputTextView, "normalTag", "#3d3d3d")
443
- var errorTag = createColor(win.outputTextView, "errorTag", "red")
444
- var warningTag = createColor(win.outputTextView, "warningTag", "darkorange")
445
- var successTag = createColor(win.outputTextView, "successTag", "darkgreen")
446
- for x in outp.splitLines():
447
- if x =~ pegLineError / pegOtherError:
448
- win.outputTextView.addText("\n" & x, errorTag)
449
- elif x=~ pegSuccess:
450
- win.outputTextView.addText("\n" & x, successTag)
451
-
452
- # Launch the process
453
- if shouldRun:
454
- var filename = changeFileExt(win.Tabs[currentTab].filename, os.ExeExt)
455
- var output = "\n" & osProc.execProcess(filename)
456
- win.outputTextView.addText(output)
457
- elif x =~ pegLineWarning:
458
- win.outputTextView.addText("\n" & x, warningTag)
459
- else:
460
- win.outputTextView.addText("\n" & x, normalTag)
461
- showBottomPanel()
462
-
463
- proc CompileCurrent_Activate(menuitem: PMenuItem, user_data: pgpointer) =
464
- saveFile_Activate(nil, nil)
465
- compileRun(win.SourceViewTabs.getCurrentPage(), false)
466
-
467
- proc CompileRunCurrent_Activate(menuitem: PMenuItem, user_data: pgpointer) =
468
- saveFile_Activate(nil, nil)
469
- compileRun(win.SourceViewTabs.getCurrentPage(), true)
470
-
471
- proc CompileProject_Activate(menuitem: PMenuItem, user_data: pgpointer) =
472
- saveAllTabs()
473
- compileRun(getProjectTab(), false)
474
-
475
- proc CompileRunProject_Activate(menuitem: PMenuItem, user_data: pgpointer) =
476
- saveAllTabs()
477
- compileRun(getProjectTab(), true)
478
-
479
- proc RunCustomCommand(cmd: string) =
480
- saveFile_Activate(nil, nil)
481
- var currentTab = win.SourceViewTabs.getCurrentPage()
482
- if win.Tabs[currentTab].filename.len == 0 or cmd.len == 0: return
483
- # Clear the outputTextView
484
- win.outputTextView.getBuffer().setText("", 0)
485
- var outp = osProc.execProcess(GetCmd(cmd, win.Tabs[currentTab].filename))
486
- var normalTag = createColor(win.outputTextView, "normalTag", "#3d3d3d")
487
- for x in outp.splitLines():
488
- win.outputTextView.addText("\n" & x, normalTag)
489
- showBottomPanel()
490
-
491
- proc RunCustomCommand1(menuitem: PMenuItem, user_data: pgpointer) =
492
- RunCustomCommand(win.settings.customCmd1)
493
-
494
- proc RunCustomCommand2(menuitem: PMenuItem, user_data: pgpointer) =
495
- RunCustomCommand(win.settings.customCmd2)
496
-
497
- proc RunCustomCommand3(menuitem: PMenuItem, user_data: pgpointer) =
498
- RunCustomCommand(win.settings.customCmd3)
499
-
500
- # -- FindBar
501
-
502
- proc nextBtn_Clicked(button: PButton, user_data: pgpointer) = findText(True)
503
- proc prevBtn_Clicked(button: PButton, user_data: pgpointer) = findText(False)
504
-
505
- proc replaceBtn_Clicked(button: PButton, user_data: pgpointer) =
506
- var currentTab = win.SourceViewTabs.getCurrentPage()
507
- var start, theEnd: TTextIter
508
- if not win.Tabs[currentTab].buffer.getSelectionBounds(
509
- addr(start), addr(theEnd)):
510
- # If no text is selected, try finding a match.
511
- findText(True)
512
- if not win.Tabs[currentTab].buffer.getSelectionBounds(
513
- addr(start), addr(theEnd)):
514
- # No match
515
- return
516
-
517
- # Remove the text
518
- win.Tabs[currentTab].buffer.delete(addr(start), addr(theEnd))
519
- # Insert the replacement
520
- var text = getText(win.replaceEntry)
521
- win.Tabs[currentTab].buffer.insert(addr(start), text, len(text))
522
-
523
- proc replaceAllBtn_Clicked(button: PButton, user_data: pgpointer) =
524
- var find = getText(win.findEntry)
525
- var replace = getText(win.replaceEntry)
526
- discard replaceAll(find, replace)
527
-
528
- proc closeBtn_Clicked(button: PButton, user_data: pgpointer) =
529
- win.findBar.hide()
530
-
531
- proc caseSens_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
532
- win.settings.search = "casesens"
533
- proc caseInSens_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
534
- win.settings.search = "caseinsens"
535
- proc style_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
536
- win.settings.search = "style"
537
- proc regex_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
538
- win.settings.search = "regex"
539
- proc peg_Changed(radiomenuitem: PRadioMenuitem, user_data: pgpointer) =
540
- win.settings.search = "peg"
541
-
542
- proc extraBtn_Clicked(button: PButton, user_data: pgpointer) =
543
- var extraMenu = menuNew()
544
- var group: PGSList
545
-
546
- var caseSensMenuItem = radio_menu_item_new(group, "Case sensitive")
547
- extraMenu.append(caseSensMenuItem)
548
- discard signal_connect(caseSensMenuItem, "toggled",
549
- SIGNAL_FUNC(caseSens_Changed), nil)
550
- caseSensMenuItem.show()
551
- group = caseSensMenuItem.ItemGetGroup()
552
-
553
- var caseInSensMenuItem = radio_menu_item_new(group, "Case insensitive")
554
- extraMenu.append(caseInSensMenuItem)
555
- discard signal_connect(caseInSensMenuItem, "toggled",
556
- SIGNAL_FUNC(caseInSens_Changed), nil)
557
- caseInSensMenuItem.show()
558
- group = caseInSensMenuItem.ItemGetGroup()
559
-
560
- var styleMenuItem = radio_menu_item_new(group, "Style insensitive")
561
- extraMenu.append(styleMenuItem)
562
- discard signal_connect(styleMenuItem, "toggled",
563
- SIGNAL_FUNC(style_Changed), nil)
564
- styleMenuItem.show()
565
- group = styleMenuItem.ItemGetGroup()
566
-
567
- var regexMenuItem = radio_menu_item_new(group, "Regex")
568
- extraMenu.append(regexMenuItem)
569
- discard signal_connect(regexMenuItem, "toggled",
570
- SIGNAL_FUNC(regex_Changed), nil)
571
- regexMenuItem.show()
572
- group = regexMenuItem.ItemGetGroup()
573
-
574
- var pegMenuItem = radio_menu_item_new(group, "Pegs")
575
- extraMenu.append(pegMenuItem)
576
- discard signal_connect(pegMenuItem, "toggled",
577
- SIGNAL_FUNC(peg_Changed), nil)
578
- pegMenuItem.show()
579
-
580
- # Make the correct radio button active
581
- case win.settings.search
582
- of "casesens":
583
- PCheckMenuItem(caseSensMenuItem).ItemSetActive(True)
584
- of "caseinsens":
585
- PCheckMenuItem(caseInSensMenuItem).ItemSetActive(True)
586
- of "style":
587
- PCheckMenuItem(styleMenuItem).ItemSetActive(True)
588
- of "regex":
589
- PCheckMenuItem(regexMenuItem).ItemSetActive(True)
590
- of "peg":
591
- PCheckMenuItem(pegMenuItem).ItemSetActive(True)
592
-
593
- extraMenu.popup(nil, nil, nil, nil, 0, get_current_event_time())
594
-
595
- # GUI Initialization
596
-
597
- proc createAccelMenuItem(toolsMenu: PMenu, accGroup: PAccelGroup,
598
- label: string, acc: gint,
599
- action: proc (i: PMenuItem, p: pgpointer)) =
600
- var result = menu_item_new(label)
601
- result.addAccelerator("activate", accGroup, acc, 0, ACCEL_VISIBLE)
602
- ToolsMenu.append(result)
603
- show(result)
604
- discard signal_connect(result, "activate", SIGNAL_FUNC(action), nil)
605
-
606
- proc createSeparator(menu: PMenu) =
607
- var sep = separator_menu_item_new()
608
- menu.append(sep)
609
- sep.show()
610
-
611
- proc initTopMenu(MainBox: PBox) =
612
- # Create a accelerator group, used for shortcuts
613
- # like CTRL + S in SaveMenuItem
614
- var accGroup = accel_group_new()
615
- add_accel_group(win.w, accGroup)
616
-
617
- # TopMenu(MenuBar)
618
- var TopMenu = menuBarNew()
619
-
620
- # FileMenu
621
- var FileMenu = menuNew()
622
-
623
- var NewMenuItem = menu_item_new("New") # New
624
- FileMenu.append(NewMenuItem)
625
- show(NewMenuItem)
626
- discard signal_connect(NewMenuItem, "activate",
627
- SIGNAL_FUNC(newFile), nil)
628
-
629
- createSeparator(FileMenu)
630
-
631
- var OpenMenuItem = menu_item_new("Open...") # Open...
632
- # CTRL + O
633
- OpenMenuItem.add_accelerator("activate", accGroup,
634
- KEY_o, CONTROL_MASK, ACCEL_VISIBLE)
635
- FileMenu.append(OpenMenuItem)
636
- show(OpenMenuItem)
637
- discard signal_connect(OpenMenuItem, "activate",
638
- SIGNAL_FUNC(aporia.openFile), nil)
639
-
640
- var SaveMenuItem = menu_item_new("Save") # Save
641
- # CTRL + S
642
- SaveMenuItem.add_accelerator("activate", accGroup,
643
- KEY_s, CONTROL_MASK, ACCEL_VISIBLE)
644
- FileMenu.append(SaveMenuItem)
645
- show(SaveMenuItem)
646
- discard signal_connect(SaveMenuItem, "activate",
647
- SIGNAL_FUNC(saveFile_activate), nil)
648
-
649
- var SaveAsMenuItem = menu_item_new("Save As...") # Save as...
650
-
651
- SaveAsMenuItem.add_accelerator("activate", accGroup,
652
- KEY_s, CONTROL_MASK or gdk2.SHIFT_MASK, ACCEL_VISIBLE)
653
- FileMenu.append(SaveAsMenuItem)
654
- show(SaveAsMenuItem)
655
- discard signal_connect(SaveAsMenuItem, "activate",
656
- SIGNAL_FUNC(saveFileAs_Activate), nil)
657
-
658
- var FileMenuItem = menuItemNewWithMnemonic("_File")
659
-
660
- FileMenuItem.setSubMenu(FileMenu)
661
- FileMenuItem.show()
662
- TopMenu.append(FileMenuItem)
663
-
664
- # Edit menu
665
- var EditMenu = menuNew()
666
-
667
- var UndoMenuItem = menu_item_new("Undo") # Undo
668
- EditMenu.append(UndoMenuItem)
669
- show(UndoMenuItem)
670
- discard signal_connect(UndoMenuItem, "activate",
671
- SIGNAL_FUNC(aporia.undo), nil)
672
-
673
- var RedoMenuItem = menu_item_new("Redo") # Undo
674
- EditMenu.append(RedoMenuItem)
675
- show(RedoMenuItem)
676
- discard signal_connect(RedoMenuItem, "activate",
677
- SIGNAL_FUNC(aporia.redo), nil)
678
-
679
- createSeparator(EditMenu)
680
-
681
- var FindMenuItem = menu_item_new("Find") # Find
682
- FindMenuItem.add_accelerator("activate", accGroup,
683
- KEY_f, CONTROL_MASK, ACCEL_VISIBLE)
684
- EditMenu.append(FindMenuItem)
685
- show(FindMenuItem)
686
- discard signal_connect(FindMenuItem, "activate",
687
- SIGNAL_FUNC(aporia.find_Activate), nil)
688
-
689
- var ReplaceMenuItem = menu_item_new("Replace") # Replace
690
- ReplaceMenuItem.add_accelerator("activate", accGroup,
691
- KEY_h, CONTROL_MASK, ACCEL_VISIBLE)
692
- EditMenu.append(ReplaceMenuItem)
693
- show(ReplaceMenuItem)
694
- discard signal_connect(ReplaceMenuItem, "activate",
695
- SIGNAL_FUNC(aporia.replace_Activate), nil)
696
-
697
- createSeparator(EditMenu)
698
-
699
- var SettingsMenuItem = menu_item_new("Settings...") # Settings
700
- EditMenu.append(SettingsMenuItem)
701
- show(SettingsMenuItem)
702
- discard signal_connect(SettingsMenuItem, "activate",
703
- SIGNAL_FUNC(aporia.Settings_Activate), nil)
704
-
705
- var EditMenuItem = menuItemNewWithMnemonic("_Edit")
706
-
707
- EditMenuItem.setSubMenu(EditMenu)
708
- EditMenuItem.show()
709
- TopMenu.append(EditMenuItem)
710
-
711
- # View menu
712
- var ViewMenu = menuNew()
713
-
714
- win.viewBottomPanelMenuItem = check_menu_item_new("Bottom Panel")
715
- PCheckMenuItem(win.viewBottomPanelMenuItem).itemSetActive(
716
- win.settings.bottomPanelVisible)
717
- win.viewBottomPanelMenuItem.add_accelerator("activate", accGroup,
718
- KEY_f9, CONTROL_MASK, ACCEL_VISIBLE)
719
- ViewMenu.append(win.viewBottomPanelMenuItem)
720
- show(win.viewBottomPanelMenuItem)
721
- discard signal_connect(win.viewBottomPanelMenuItem, "toggled",
722
- SIGNAL_FUNC(aporia.viewBottomPanel_Toggled), nil)
723
-
724
- var ViewMenuItem = menuItemNewWithMnemonic("_View")
725
-
726
- ViewMenuItem.setSubMenu(ViewMenu)
727
- ViewMenuItem.show()
728
- TopMenu.append(ViewMenuItem)
729
-
730
-
731
- # Tools menu
732
- var ToolsMenu = menuNew()
733
-
734
- createAccelMenuItem(ToolsMenu, accGroup, "Compile current file",
735
- KEY_F4, aporia.CompileCurrent_Activate)
736
- createAccelMenuItem(ToolsMenu, accGroup, "Compile & run current file",
737
- KEY_F5, aporia.CompileRunCurrent_Activate)
738
- createSeparator(ToolsMenu)
739
- createAccelMenuItem(ToolsMenu, accGroup, "Compile project",
740
- KEY_F8, aporia.CompileProject_Activate)
741
- createAccelMenuItem(ToolsMenu, accGroup, "Compile & run project",
742
- KEY_F9, aporia.CompileRunProject_Activate)
743
- createSeparator(ToolsMenu)
744
- createAccelMenuItem(ToolsMenu, accGroup, "Run custom command 1",
745
- KEY_F1, aporia.RunCustomCommand1)
746
- createAccelMenuItem(ToolsMenu, accGroup, "Run custom command 2",
747
- KEY_F2, aporia.RunCustomCommand2)
748
- createAccelMenuItem(ToolsMenu, accGroup, "Run custom command 3",
749
- KEY_F3, aporia.RunCustomCommand3)
750
-
751
- var ToolsMenuItem = menuItemNewWithMnemonic("_Tools")
752
-
753
- ToolsMenuItem.setSubMenu(ToolsMenu)
754
- ToolsMenuItem.show()
755
- TopMenu.append(ToolsMenuItem)
756
-
757
- # Help menu
758
- MainBox.packStart(TopMenu, False, False, 0)
759
- TopMenu.show()
760
-
761
- proc initToolBar(MainBox: PBox) =
762
- # TopBar(ToolBar)
763
- var TopBar = toolbarNew()
764
- TopBar.setStyle(TOOLBAR_ICONS)
765
-
766
- var NewFileItem = TopBar.insertStock(STOCK_NEW, "New File",
767
- "New File", SIGNAL_FUNC(aporia.newFile), nil, 0)
768
- TopBar.appendSpace()
769
- var OpenItem = TopBar.insertStock(STOCK_OPEN, "Open",
770
- "Open", SIGNAL_FUNC(aporia.openFile), nil, -1)
771
- var SaveItem = TopBar.insertStock(STOCK_SAVE, "Save",
772
- "Save", SIGNAL_FUNC(saveFile_Activate), nil, -1)
773
- TopBar.appendSpace()
774
- var UndoItem = TopBar.insertStock(STOCK_UNDO, "Undo",
775
- "Undo", SIGNAL_FUNC(aporia.undo), nil, -1)
776
- var RedoItem = TopBar.insertStock(STOCK_REDO, "Redo",
777
- "Redo", SIGNAL_FUNC(aporia.redo), nil, -1)
778
-
779
- MainBox.packStart(TopBar, False, False, 0)
780
- TopBar.show()
781
-
782
- proc initSourceViewTabs() =
783
- win.SourceViewTabs = notebookNew()
784
- #win.sourceViewTabs.dragDestSet(DEST_DEFAULT_DROP, nil, 0, ACTION_MOVE)
785
- discard win.SourceViewTabs.signalConnect(
786
- "switch-page", SIGNAL_FUNC(onSwitchTab), nil)
787
- #discard win.SourceViewTabs.signalConnect(
788
- # "drag-drop", SIGNAL_FUNC(svTabs_DragDrop), nil)
789
- #discard win.SourceViewTabs.signalConnect(
790
- # "drag-data-received", SIGNAL_FUNC(svTabs_DragDataRecv), nil)
791
- #discard win.SourceViewTabs.signalConnect(
792
- # "drag-motion", SIGNAL_FUNC(svTabs_DragMotion), nil)
793
- win.SourceViewTabs.set_scrollable(True)
794
-
795
- win.SourceViewTabs.show()
796
- if lastSession.len != 0:
797
- for i in 0 .. len(lastSession)-1:
798
- var splitUp = lastSession[i].split('|')
799
- var (filename, offset) = (splitUp[0], splitUp[1])
800
- addTab("", filename)
801
-
802
- var iter: TTextIter
803
- win.Tabs[i].buffer.getIterAtOffset(addr(iter), offset.parseInt())
804
- win.Tabs[i].buffer.moveMarkByName("insert", addr(iter))
805
- win.Tabs[i].buffer.moveMarkByName("selection_bound", addr(iter))
806
-
807
- # TODO: Fix this..... :(
808
- discard PTextView(win.Tabs[i].sourceView).
809
- scrollToIter(addr(iter), 0.25, true, 0.0, 0.0)
810
- else:
811
- addTab("", "")
812
-
813
- # This doesn't work :\
814
- win.Tabs[0].sourceView.grabFocus()
815
-
816
-
817
- proc initBottomTabs() =
818
- win.bottomPanelTabs = notebookNew()
819
- if win.settings.bottomPanelVisible:
820
- win.bottomPanelTabs.show()
821
-
822
- # output tab
823
- var tabLabel = labelNew("Output")
824
- var outputTab = vboxNew(False, 0)
825
- discard win.bottomPanelTabs.appendPage(outputTab, tabLabel)
826
- # Compiler tabs, gtktextview
827
- var outputScrolledWindow = scrolledwindowNew(nil, nil)
828
- outputScrolledWindow.setPolicy(POLICY_AUTOMATIC, POLICY_AUTOMATIC)
829
- outputTab.packStart(outputScrolledWindow, true, true, 0)
830
- outputScrolledWindow.show()
831
-
832
- win.outputTextView = textviewNew()
833
- outputScrolledWindow.add(win.outputTextView)
834
- win.outputTextView.show()
835
-
836
- outputTab.show()
837
-
838
- proc initTAndBP(MainBox: PBox) =
839
- # This init's the HPaned, which splits the sourceViewTabs
840
- # and the BottomPanelTabs
841
- initSourceViewTabs()
842
- initBottomTabs()
843
-
844
- var TAndBPVPaned = vpanedNew()
845
- tandbpVPaned.pack1(win.sourceViewTabs, resize=True, shrink=False)
846
- tandbpVPaned.pack2(win.bottomPanelTabs, resize=False, shrink=False)
847
- MainBox.packStart(TAndBPVPaned, True, True, 0)
848
- tandbpVPaned.setPosition(win.settings.VPanedPos)
849
- TAndBPVPaned.show()
850
-
851
- proc initFindBar(MainBox: PBox) =
852
- # Create a fixed container
853
- win.findBar = HBoxNew(False, 0)
854
- win.findBar.setSpacing(4)
855
-
856
- # Add a Label 'Find'
857
- var findLabel = labelNew("Find:")
858
- win.findBar.packStart(findLabel, False, False, 0)
859
- findLabel.show()
860
-
861
- # Add a (find) text entry
862
- win.findEntry = entryNew()
863
- win.findBar.packStart(win.findEntry, False, False, 0)
864
- discard win.findEntry.signalConnect("activate", SIGNAL_FUNC(
865
- aporia.nextBtn_Clicked), nil)
866
- win.findEntry.show()
867
- var rq: TRequisition
868
- win.findEntry.sizeRequest(addr(rq))
869
-
870
- # Make the (find) text entry longer
871
- win.findEntry.set_size_request(190, rq.height)
872
-
873
- # Add a Label 'Replace'
874
- # - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown
875
- win.replaceLabel = labelNew("Replace:")
876
- win.findBar.packStart(win.replaceLabel, False, False, 0)
877
- #replaceLabel.show()
878
-
879
- # Add a (replace) text entry
880
- # - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown
881
- win.replaceEntry = entryNew()
882
- win.findBar.packStart(win.replaceEntry, False, False, 0)
883
- #win.replaceEntry.show()
884
- var rq1: TRequisition
885
- win.replaceEntry.sizeRequest(addr(rq1))
886
-
887
- # Make the (replace) text entry longer
888
- win.replaceEntry.set_size_request(100, rq1.height)
889
-
890
- # Find next button
891
- var nextBtn = buttonNew("Next")
892
- win.findBar.packStart(nextBtn, false, false, 0)
893
- discard nextBtn.signalConnect("clicked",
894
- SIGNAL_FUNC(aporia.nextBtn_Clicked), nil)
895
- nextBtn.show()
896
- var nxtBtnRq: TRequisition
897
- nextBtn.sizeRequest(addr(nxtBtnRq))
898
-
899
- # Find previous button
900
- var prevBtn = buttonNew("Previous")
901
- win.findBar.packStart(prevBtn, false, false, 0)
902
- discard prevBtn.signalConnect("clicked",
903
- SIGNAL_FUNC(aporia.prevBtn_Clicked), nil)
904
- prevBtn.show()
905
-
906
- # Replace button
907
- # - This Is only shown, when the 'Search & Replace'(CTRL + H) is shown
908
- win.replaceBtn = buttonNew("Replace")
909
- win.findBar.packStart(win.replaceBtn, false, false, 0)
910
- discard win.replaceBtn.signalConnect("clicked",
911
- SIGNAL_FUNC(aporia.replaceBtn_Clicked), nil)
912
- #replaceBtn.show()
913
-
914
- # Replace all button
915
- # - this Is only shown, when the 'Search & Replace'(CTRL + H) is shown
916
- win.replaceAllBtn = buttonNew("Replace All")
917
- win.findBar.packStart(win.replaceAllBtn, false, false, 0)
918
- discard win.replaceAllBtn.signalConnect("clicked",
919
- SIGNAL_FUNC(aporia.replaceAllBtn_Clicked), nil)
920
- #replaceAllBtn.show()
921
-
922
- # Right side ...
923
-
924
- # Close button - With a close stock image
925
- var closeBtn = buttonNew()
926
- var closeImage = imageNewFromStock(STOCK_CLOSE, ICON_SIZE_SMALL_TOOLBAR)
927
- var closeBox = hboxNew(False, 0)
928
- closeBtn.add(closeBox)
929
- closeBox.show()
930
- closeBox.add(closeImage)
931
- closeImage.show()
932
- discard closeBtn.signalConnect("clicked",
933
- SIGNAL_FUNC(aporia.closeBtn_Clicked), nil)
934
- win.findBar.packEnd(closeBtn, False, False, 2)
935
- closeBtn.show()
936
-
937
- # Extra button - When clicked shows a menu with options like 'Use regex'
938
- var extraBtn = buttonNew()
939
- var extraImage = imageNewFromStock(STOCK_PROPERTIES, ICON_SIZE_SMALL_TOOLBAR)
940
-
941
- var extraBox = hboxNew(False, 0)
942
- extraBtn.add(extraBox)
943
- extraBox.show()
944
- extraBox.add(extraImage)
945
- extraImage.show()
946
- discard extraBtn.signalConnect("clicked",
947
- SIGNAL_FUNC(aporia.extraBtn_Clicked), nil)
948
- win.findBar.packEnd(extraBtn, False, False, 0)
949
- extraBtn.show()
950
-
951
- MainBox.packStart(win.findBar, False, False, 0)
952
- win.findBar.show()
953
-
954
- proc initStatusBar(MainBox: PBox) =
955
- win.bottomBar = statusbarNew()
956
- MainBox.packStart(win.bottomBar, False, False, 0)
957
- win.bottomBar.show()
958
-
959
- discard win.bottomBar.push(0, "Line: 0 Column: 0")
960
-
961
- proc initControls() =
962
- # Load up the language style
963
- win.langMan = languageManagerGetDefault()
964
- var langpaths: array[0..1, cstring] =
965
- [cstring(os.getApplicationDir() / langSpecs), nil]
966
- win.langMan.setSearchPath(addr(langpaths))
967
- var nimLang = win.langMan.getLanguage("nimrod")
968
- win.nimLang = nimLang
969
-
970
- # Load the scheme
971
- var schemeMan = schemeManagerGetDefault()
972
- var schemepaths: array[0..1, cstring] =
973
- [cstring(os.getApplicationDir() / styles), nil]
974
- schemeMan.setSearchPath(addr(schemepaths))
975
- win.scheme = schemeMan.getScheme(win.settings.colorSchemeID)
976
-
977
- # Window
978
- win.w = windowNew(gtk2.WINDOW_TOPLEVEL)
979
- win.w.setDefaultSize(win.settings.winWidth, win.settings.winHeight)
980
- win.w.setTitle("Aporia IDE")
981
- if win.settings.winMaximized: win.w.maximize()
982
-
983
- win.w.show() # The window has to be shown before
984
- # setting the position of the VPaned so that
985
- # it gets set correctly, when the window is maximized.
986
-
987
- discard win.w.signalConnect("destroy", SIGNAL_FUNC(aporia.destroy), nil)
988
- discard win.w.signalConnect("delete_event",
989
- SIGNAL_FUNC(aporia.delete_event), nil)
990
- discard win.w.signalConnect("window-state-event",
991
- SIGNAL_FUNC(aporia.windowState_Changed), nil)
992
-
993
- # MainBox (vbox)
994
- var MainBox = vboxNew(False, 0)
995
- win.w.add(MainBox)
996
-
997
- initTopMenu(MainBox)
998
- initToolBar(MainBox)
999
- initTAndBP(MainBox)
1000
- initFindBar(MainBox)
1001
- initStatusBar(MainBox)
1002
-
1003
- MainBox.show()
1004
- if confParseFail:
1005
- dialogs.warning(win.w, "Error parsing config file, using default settings.")
1006
-
1007
- nimrod_init()
1008
- initControls()
1009
- main()
1010
-