pygments.rb 0.5.4 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (267) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +3 -0
  4. data/lexers +0 -0
  5. data/lib/pygments/popen.rb +3 -2
  6. data/lib/pygments/version.rb +1 -1
  7. data/pygments.rb.gemspec +2 -1
  8. data/vendor/pygments-main/AUTHORS +20 -1
  9. data/vendor/pygments-main/CHANGES +55 -3
  10. data/vendor/pygments-main/LICENSE +1 -1
  11. data/vendor/pygments-main/MANIFEST.in +1 -1
  12. data/vendor/pygments-main/Makefile +5 -8
  13. data/vendor/pygments-main/REVISION +1 -1
  14. data/vendor/pygments-main/doc/Makefile +153 -0
  15. data/vendor/pygments-main/doc/_static/favicon.ico +0 -0
  16. data/vendor/pygments-main/doc/_static/logo_new.png +0 -0
  17. data/vendor/pygments-main/doc/_static/logo_only.png +0 -0
  18. data/vendor/pygments-main/doc/_templates/docssidebar.html +3 -0
  19. data/vendor/pygments-main/doc/_templates/indexsidebar.html +25 -0
  20. data/vendor/pygments-main/doc/_themes/pygments14/layout.html +98 -0
  21. data/vendor/pygments-main/doc/_themes/pygments14/static/bodybg.png +0 -0
  22. data/vendor/pygments-main/doc/_themes/pygments14/static/docbg.png +0 -0
  23. data/vendor/pygments-main/doc/_themes/pygments14/static/listitem.png +0 -0
  24. data/vendor/pygments-main/doc/_themes/pygments14/static/logo.png +0 -0
  25. data/vendor/pygments-main/doc/_themes/pygments14/static/pocoo.png +0 -0
  26. data/vendor/pygments-main/doc/_themes/pygments14/static/pygments14.css_t +401 -0
  27. data/vendor/pygments-main/doc/_themes/pygments14/theme.conf +15 -0
  28. data/vendor/pygments-main/doc/conf.py +249 -0
  29. data/vendor/pygments-main/doc/docs/api.rst +316 -0
  30. data/vendor/pygments-main/doc/docs/authors.rst +4 -0
  31. data/vendor/pygments-main/doc/docs/changelog.rst +1 -0
  32. data/vendor/pygments-main/{docs/src/cmdline.txt → doc/docs/cmdline.rst} +9 -11
  33. data/vendor/pygments-main/{docs/src/filterdevelopment.txt → doc/docs/filterdevelopment.rst} +1 -1
  34. data/vendor/pygments-main/{docs/src/filters.txt → doc/docs/filters.rst} +4 -5
  35. data/vendor/pygments-main/{docs/src/formatterdevelopment.txt → doc/docs/formatterdevelopment.rst} +1 -1
  36. data/vendor/pygments-main/{docs/src/formatters.txt → doc/docs/formatters.rst} +6 -6
  37. data/vendor/pygments-main/doc/docs/index.rst +66 -0
  38. data/vendor/pygments-main/{docs/src/integrate.txt → doc/docs/integrate.rst} +3 -7
  39. data/vendor/pygments-main/{docs/src/java.txt → doc/docs/java.rst} +0 -0
  40. data/vendor/pygments-main/{docs/src/lexerdevelopment.txt → doc/docs/lexerdevelopment.rst} +13 -14
  41. data/vendor/pygments-main/{docs/src/lexers.txt → doc/docs/lexers.rst} +7 -5
  42. data/vendor/pygments-main/{docs/src/moinmoin.txt → doc/docs/moinmoin.rst} +0 -0
  43. data/vendor/pygments-main/{docs/src/plugins.txt → doc/docs/plugins.rst} +0 -0
  44. data/vendor/pygments-main/{docs/src/quickstart.txt → doc/docs/quickstart.rst} +22 -19
  45. data/vendor/pygments-main/{docs/src/rstdirective.txt → doc/docs/rstdirective.rst} +0 -0
  46. data/vendor/pygments-main/{docs/src/styles.txt → doc/docs/styles.rst} +2 -2
  47. data/vendor/pygments-main/{docs/src/tokens.txt → doc/docs/tokens.rst} +10 -7
  48. data/vendor/pygments-main/{docs/src/unicode.txt → doc/docs/unicode.rst} +8 -7
  49. data/vendor/pygments-main/doc/download.rst +41 -0
  50. data/vendor/pygments-main/doc/faq.rst +143 -0
  51. data/vendor/pygments-main/doc/index.rst +53 -0
  52. data/vendor/pygments-main/doc/languages.rst +151 -0
  53. data/vendor/pygments-main/doc/make.bat +190 -0
  54. data/vendor/pygments-main/{docs → doc}/pygmentize.1 +0 -0
  55. data/vendor/pygments-main/external/autopygmentize +65 -48
  56. data/vendor/pygments-main/external/markdown-processor.py +15 -15
  57. data/vendor/pygments-main/external/moin-parser.py +1 -1
  58. data/vendor/pygments-main/external/rst-directive.py +2 -3
  59. data/vendor/pygments-main/ez_setup.py +340 -234
  60. data/vendor/pygments-main/pygments/__init__.py +4 -4
  61. data/vendor/pygments-main/pygments/cmdline.py +81 -68
  62. data/vendor/pygments-main/pygments/console.py +1 -1
  63. data/vendor/pygments-main/pygments/filter.py +1 -1
  64. data/vendor/pygments-main/pygments/filters/__init__.py +11 -9
  65. data/vendor/pygments-main/pygments/formatter.py +3 -3
  66. data/vendor/pygments-main/pygments/formatters/__init__.py +5 -3
  67. data/vendor/pygments-main/pygments/formatters/_mapping.py +16 -5
  68. data/vendor/pygments-main/pygments/formatters/bbcode.py +1 -1
  69. data/vendor/pygments-main/pygments/formatters/html.py +44 -26
  70. data/vendor/pygments-main/pygments/formatters/img.py +21 -14
  71. data/vendor/pygments-main/pygments/formatters/latex.py +104 -12
  72. data/vendor/pygments-main/pygments/formatters/other.py +53 -6
  73. data/vendor/pygments-main/pygments/formatters/rtf.py +30 -16
  74. data/vendor/pygments-main/pygments/formatters/svg.py +2 -2
  75. data/vendor/pygments-main/pygments/formatters/terminal.py +41 -1
  76. data/vendor/pygments-main/pygments/formatters/terminal256.py +2 -2
  77. data/vendor/pygments-main/pygments/lexer.py +59 -39
  78. data/vendor/pygments-main/pygments/lexers/__init__.py +38 -15
  79. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1 -1
  80. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +15 -15
  81. data/vendor/pygments-main/pygments/lexers/_cocoabuiltins.py +73 -0
  82. data/vendor/pygments-main/pygments/lexers/_lassobuiltins.py +11 -1
  83. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +14 -8
  84. data/vendor/pygments-main/pygments/lexers/_mapping.py +81 -30
  85. data/vendor/pygments-main/pygments/lexers/_openedgebuiltins.py +1 -1
  86. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +1067 -95
  87. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +7 -7
  88. data/vendor/pygments-main/pygments/lexers/_robotframeworklexer.py +5 -4
  89. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +1 -1
  90. data/vendor/pygments-main/pygments/lexers/_sourcemodbuiltins.py +12 -7
  91. data/vendor/pygments-main/pygments/lexers/_stan_builtins.py +112 -18
  92. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +1 -1
  93. data/vendor/pygments-main/pygments/lexers/agile.py +644 -382
  94. data/vendor/pygments-main/pygments/lexers/asm.py +66 -29
  95. data/vendor/pygments-main/pygments/lexers/compiled.py +1643 -174
  96. data/vendor/pygments-main/pygments/lexers/dalvik.py +27 -6
  97. data/vendor/pygments-main/pygments/lexers/dotnet.py +45 -33
  98. data/vendor/pygments-main/pygments/lexers/foxpro.py +3 -3
  99. data/vendor/pygments-main/pygments/lexers/functional.py +1510 -570
  100. data/vendor/pygments-main/pygments/lexers/graph.py +81 -0
  101. data/vendor/pygments-main/pygments/lexers/hdl.py +29 -30
  102. data/vendor/pygments-main/pygments/lexers/inferno.py +96 -0
  103. data/vendor/pygments-main/pygments/lexers/jvm.py +622 -207
  104. data/vendor/pygments-main/pygments/lexers/math.py +438 -70
  105. data/vendor/pygments-main/pygments/lexers/other.py +885 -171
  106. data/vendor/pygments-main/pygments/lexers/parsers.py +24 -24
  107. data/vendor/pygments-main/pygments/lexers/qbasic.py +157 -0
  108. data/vendor/pygments-main/pygments/lexers/rdf.py +99 -0
  109. data/vendor/pygments-main/pygments/lexers/shell.py +28 -25
  110. data/vendor/pygments-main/pygments/lexers/special.py +7 -8
  111. data/vendor/pygments-main/pygments/lexers/sql.py +56 -23
  112. data/vendor/pygments-main/pygments/lexers/templates.py +377 -59
  113. data/vendor/pygments-main/pygments/lexers/text.py +208 -46
  114. data/vendor/pygments-main/pygments/lexers/web.py +729 -264
  115. data/vendor/pygments-main/pygments/modeline.py +1 -1
  116. data/vendor/pygments-main/pygments/plugin.py +1 -1
  117. data/vendor/pygments-main/pygments/scanner.py +1 -1
  118. data/vendor/pygments-main/pygments/sphinxext.py +153 -0
  119. data/vendor/pygments-main/pygments/style.py +3 -2
  120. data/vendor/pygments-main/pygments/styles/__init__.py +5 -1
  121. data/vendor/pygments-main/pygments/styles/autumn.py +1 -1
  122. data/vendor/pygments-main/pygments/styles/borland.py +1 -1
  123. data/vendor/pygments-main/pygments/styles/bw.py +1 -1
  124. data/vendor/pygments-main/pygments/styles/colorful.py +1 -1
  125. data/vendor/pygments-main/pygments/styles/default.py +1 -1
  126. data/vendor/pygments-main/pygments/styles/emacs.py +1 -1
  127. data/vendor/pygments-main/pygments/styles/friendly.py +1 -1
  128. data/vendor/pygments-main/pygments/styles/fruity.py +1 -1
  129. data/vendor/pygments-main/pygments/styles/igor.py +29 -0
  130. data/vendor/pygments-main/pygments/styles/manni.py +1 -1
  131. data/vendor/pygments-main/pygments/styles/monokai.py +4 -4
  132. data/vendor/pygments-main/pygments/styles/murphy.py +1 -1
  133. data/vendor/pygments-main/pygments/styles/native.py +1 -1
  134. data/vendor/pygments-main/pygments/styles/paraiso_dark.py +125 -0
  135. data/vendor/pygments-main/pygments/styles/paraiso_light.py +125 -0
  136. data/vendor/pygments-main/pygments/styles/pastie.py +1 -1
  137. data/vendor/pygments-main/pygments/styles/perldoc.py +1 -1
  138. data/vendor/pygments-main/pygments/styles/rrt.py +1 -1
  139. data/vendor/pygments-main/pygments/styles/tango.py +1 -1
  140. data/vendor/pygments-main/pygments/styles/trac.py +1 -1
  141. data/vendor/pygments-main/pygments/styles/vim.py +1 -1
  142. data/vendor/pygments-main/pygments/styles/vs.py +1 -1
  143. data/vendor/pygments-main/pygments/styles/xcode.py +51 -0
  144. data/vendor/pygments-main/pygments/token.py +4 -1
  145. data/vendor/pygments-main/pygments/unistring.py +6 -5
  146. data/vendor/pygments-main/pygments/util.py +35 -21
  147. data/vendor/pygments-main/scripts/check_sources.py +28 -44
  148. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +5 -4
  149. data/vendor/pygments-main/scripts/find_codetags.py +27 -19
  150. data/vendor/pygments-main/scripts/find_error.py +16 -13
  151. data/vendor/pygments-main/scripts/get_vimkw.py +3 -3
  152. data/vendor/pygments-main/scripts/vim2pygments.py +9 -7
  153. data/vendor/pygments-main/setup.py +19 -19
  154. data/vendor/pygments-main/tests/examplefiles/99_bottles_of_beer.chpl +118 -0
  155. data/vendor/pygments-main/tests/examplefiles/Error.pmod +38 -0
  156. data/vendor/pygments-main/tests/examplefiles/FakeFile.pike +360 -0
  157. data/vendor/pygments-main/tests/examplefiles/{ANTLRv3.g → antlr_ANTLRv3.g} +0 -0
  158. data/vendor/pygments-main/tests/examplefiles/clojure-weird-keywords.clj +5 -0
  159. data/vendor/pygments-main/tests/examplefiles/core.cljs +52 -0
  160. data/vendor/pygments-main/tests/examplefiles/demo.cfm +13 -1
  161. data/vendor/pygments-main/tests/examplefiles/demo.hbs +12 -0
  162. data/vendor/pygments-main/tests/examplefiles/ember.handlebars +33 -0
  163. data/vendor/pygments-main/tests/examplefiles/example.als +217 -0
  164. data/vendor/pygments-main/tests/examplefiles/example.c +1 -1
  165. data/vendor/pygments-main/tests/examplefiles/example.chai +6 -0
  166. data/vendor/pygments-main/tests/examplefiles/example.coffee +27 -0
  167. data/vendor/pygments-main/tests/examplefiles/example.e +124 -0
  168. data/vendor/pygments-main/tests/examplefiles/example.f90 +8 -0
  169. data/vendor/pygments-main/tests/examplefiles/example.feature +16 -0
  170. data/vendor/pygments-main/tests/examplefiles/example.gd +23 -0
  171. data/vendor/pygments-main/tests/examplefiles/example.gi +64 -0
  172. data/vendor/pygments-main/tests/examplefiles/example.groovy +2 -0
  173. data/vendor/pygments-main/tests/examplefiles/example.hs +27 -0
  174. data/vendor/pygments-main/tests/examplefiles/example.hx +44 -1
  175. data/vendor/pygments-main/tests/examplefiles/example.i6t +32 -0
  176. data/vendor/pygments-main/tests/examplefiles/example.i7x +45 -0
  177. data/vendor/pygments-main/tests/examplefiles/example.inf +374 -0
  178. data/vendor/pygments-main/tests/examplefiles/example.j +564 -0
  179. data/vendor/pygments-main/tests/examplefiles/example.java +16 -0
  180. data/vendor/pygments-main/tests/examplefiles/example.kal +75 -0
  181. data/vendor/pygments-main/tests/examplefiles/example.liquid +42 -0
  182. data/vendor/pygments-main/tests/examplefiles/example.ma +8 -0
  183. data/vendor/pygments-main/tests/examplefiles/example.mq4 +187 -0
  184. data/vendor/pygments-main/tests/examplefiles/example.mqh +123 -0
  185. data/vendor/pygments-main/tests/examplefiles/example.ni +57 -0
  186. data/vendor/pygments-main/tests/examplefiles/example.nix +80 -0
  187. data/vendor/pygments-main/tests/examplefiles/example.pp +8 -0
  188. data/vendor/pygments-main/tests/examplefiles/example.red +257 -0
  189. data/vendor/pygments-main/tests/examplefiles/example.reds +150 -0
  190. data/vendor/pygments-main/tests/examplefiles/example.rkt +677 -29
  191. data/vendor/pygments-main/tests/examplefiles/example.sh +22 -0
  192. data/vendor/pygments-main/tests/examplefiles/example.slim +31 -0
  193. data/vendor/pygments-main/tests/examplefiles/example.sls +51 -0
  194. data/vendor/pygments-main/tests/examplefiles/example.stan +2 -0
  195. data/vendor/pygments-main/tests/examplefiles/example.todotxt +9 -0
  196. data/vendor/pygments-main/tests/examplefiles/exampleScript.cfc +241 -0
  197. data/vendor/pygments-main/tests/examplefiles/exampleTag.cfc +18 -0
  198. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +192 -350
  199. data/vendor/pygments-main/tests/examplefiles/hash_syntax.rb +5 -0
  200. data/vendor/pygments-main/tests/examplefiles/hello.at +6 -0
  201. data/vendor/pygments-main/tests/examplefiles/hello.golo +5 -0
  202. data/vendor/pygments-main/tests/examplefiles/hello.lsl +12 -0
  203. data/vendor/pygments-main/tests/examplefiles/{File.hy → hybris_File.hy} +0 -0
  204. data/vendor/pygments-main/tests/examplefiles/{mg_sample.pro → idl_sample.pro} +0 -0
  205. data/vendor/pygments-main/tests/examplefiles/iex_example +23 -0
  206. data/vendor/pygments-main/tests/examplefiles/inet_pton6.dg +24 -24
  207. data/vendor/pygments-main/tests/examplefiles/language.hy +165 -0
  208. data/vendor/pygments-main/tests/examplefiles/limbo.b +456 -0
  209. data/vendor/pygments-main/tests/examplefiles/livescript-demo.ls +3 -1
  210. data/vendor/pygments-main/tests/examplefiles/main.cmake +2 -0
  211. data/vendor/pygments-main/tests/examplefiles/objc_example.m +163 -16
  212. data/vendor/pygments-main/tests/examplefiles/{example.p → openedge_example} +0 -0
  213. data/vendor/pygments-main/tests/examplefiles/pawn_example +25 -0
  214. data/vendor/pygments-main/tests/examplefiles/qbasic_example +2 -0
  215. data/vendor/pygments-main/tests/examplefiles/r6rs-comments.scm +23 -0
  216. data/vendor/pygments-main/tests/examplefiles/{robotframework.txt → robotframework_test.txt} +0 -0
  217. data/vendor/pygments-main/tests/examplefiles/rql-queries.rql +34 -0
  218. data/vendor/pygments-main/tests/examplefiles/scope.cirru +43 -0
  219. data/vendor/pygments-main/tests/examplefiles/sparql.rq +23 -0
  220. data/vendor/pygments-main/tests/examplefiles/test.R +37 -5
  221. data/vendor/pygments-main/tests/examplefiles/test.apl +26 -0
  222. data/vendor/pygments-main/tests/examplefiles/test.cyp +123 -0
  223. data/vendor/pygments-main/tests/examplefiles/test.idr +93 -0
  224. data/vendor/pygments-main/tests/examplefiles/test.mask +41 -0
  225. data/vendor/pygments-main/tests/examplefiles/test.pan +54 -0
  226. data/vendor/pygments-main/tests/examplefiles/test.php +3 -1
  227. data/vendor/pygments-main/tests/examplefiles/test.pig +148 -0
  228. data/vendor/pygments-main/tests/examplefiles/test.pwn +253 -0
  229. data/vendor/pygments-main/tests/examplefiles/test.r3 +27 -7
  230. data/vendor/pygments-main/tests/examplefiles/test.rsl +111 -0
  231. data/vendor/pygments-main/tests/examplefiles/test.swift +65 -0
  232. data/vendor/pygments-main/tests/examplefiles/test.zep +33 -0
  233. data/vendor/pygments-main/tests/examplefiles/unicode.go +10 -0
  234. data/vendor/pygments-main/tests/examplefiles/{test.bas → vbnet_test.bas} +0 -0
  235. data/vendor/pygments-main/tests/examplefiles/vctreestatus_hg +4 -0
  236. data/vendor/pygments-main/tests/examplefiles/vimrc +21 -0
  237. data/vendor/pygments-main/tests/run.py +14 -19
  238. data/vendor/pygments-main/tests/string_asserts.py +22 -0
  239. data/vendor/pygments-main/tests/test_basic_api.py +28 -14
  240. data/vendor/pygments-main/tests/test_cfm.py +46 -0
  241. data/vendor/pygments-main/tests/test_clexer.py +208 -3
  242. data/vendor/pygments-main/tests/test_cmdline.py +6 -5
  243. data/vendor/pygments-main/tests/test_examplefiles.py +30 -19
  244. data/vendor/pygments-main/tests/test_html_formatter.py +15 -13
  245. data/vendor/pygments-main/tests/test_latex_formatter.py +4 -2
  246. data/vendor/pygments-main/tests/test_lexers_other.py +11 -11
  247. data/vendor/pygments-main/tests/test_objectiveclexer.py +81 -0
  248. data/vendor/pygments-main/tests/test_perllexer.py +1 -1
  249. data/vendor/pygments-main/tests/test_qbasiclexer.py +43 -0
  250. data/vendor/pygments-main/tests/test_regexlexer.py +8 -1
  251. data/vendor/pygments-main/tests/test_rtf_formatter.py +109 -0
  252. data/vendor/pygments-main/tests/test_string_asserts.py +39 -0
  253. data/vendor/pygments-main/tests/test_token.py +3 -3
  254. data/vendor/pygments-main/tests/test_using_api.py +1 -1
  255. data/vendor/pygments-main/tests/test_util.py +1 -1
  256. metadata +138 -51
  257. data/vendor/pygments-main/docs/generate.py +0 -472
  258. data/vendor/pygments-main/docs/src/api.txt +0 -270
  259. data/vendor/pygments-main/docs/src/authors.txt +0 -5
  260. data/vendor/pygments-main/docs/src/changelog.txt +0 -5
  261. data/vendor/pygments-main/docs/src/index.txt +0 -69
  262. data/vendor/pygments-main/docs/src/installation.txt +0 -71
  263. data/vendor/pygments-main/external/rst-directive-old.py +0 -77
  264. data/vendor/pygments-main/scripts/reindent.py +0 -291
  265. data/vendor/pygments-main/tests/examplefiles/import.hs +0 -4
  266. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +0 -24
  267. data/vendor/pygments-main/tests/old_run.py +0 -138
@@ -0,0 +1,16 @@
1
+ class _PostUnico$deClassá
2
+ {void fo$o() {}
3
+
4
+ void PostUnicodeFunctioná() {
5
+ láb$el:
6
+ break láb$el;
7
+
8
+ }
9
+ }
10
+
11
+ class áPreUnicode$Class
12
+ {
13
+ public int $foo;
14
+ public int á$foo;
15
+ _PostUnico$deClassá áPreUnicodeFunction() { return null; }
16
+ }
@@ -0,0 +1,75 @@
1
+ #!/usr/bin/env kal
2
+
3
+ # This demo executes GET requests in parallel and in series
4
+ # using `for` loops and `wait for` statements.
5
+
6
+ # Notice how the serial GET requests always return in order
7
+ # and take longer in total. Parallel requests come back in
8
+ # order of receipt.
9
+
10
+ http = require 'http'
11
+
12
+ urls = ['http://www.google.com'
13
+ 'http://www.apple.com'
14
+ 'http://www.microsoft.com'
15
+ 'http://www.nodejs.org'
16
+ 'http://www.yahoo.com']
17
+
18
+ # This function does a GET request for each URL in series
19
+ # It will wait for a response from each request before moving on
20
+ # to the next request. Notice the output will be in the same order as the
21
+ # urls variable every time regardless of response time.
22
+ # It is a task rather than a function because it is called asynchronously
23
+ # This allows us to use `return` to implicitly call back
24
+ task series_demo()
25
+ # The `series` keyword is optional here (for loops are serial by default)
26
+ total_time = 0
27
+
28
+ for series url in urls
29
+ timer = new Date
30
+
31
+ # we use the `safe` keyword because get is a "nonstandard" task
32
+ # that does not call back with an error argument
33
+ safe wait for response from http.get url
34
+
35
+ delay = new Date() - timer
36
+ total_time += delay
37
+
38
+ print "GET #{url} - #{response.statusCode} - #{response.connection.bytesRead} bytes - #{delay} ms"
39
+
40
+ # because we are in a task rather than a function, this actually exectutes a callback
41
+ return total_time
42
+
43
+ # This function does a GET request for each URL in parallel
44
+ # It will NOT wait for a response from each request before moving on
45
+ # to the next request. Notice the output will be determined by the order in which
46
+ # the requests complete!
47
+ task parallel_demo()
48
+ total_time = 0
49
+
50
+ # The `parallel` keyword is only meaningful here because the loop contains
51
+ # a `wait for` statement (meaning callbacks are used)
52
+ for parallel url in urls
53
+ timer = new Date
54
+
55
+ # we use the `safe` keyword because get is a "nonstandard" task
56
+ # that does not call back with an error argument
57
+ safe wait for response from http.get url
58
+
59
+ delay = new Date() - timer
60
+ total_time += delay
61
+
62
+ print "GET #{url} - #{response.statusCode} - #{response.connection.bytesRead} bytes - #{delay}ms"
63
+
64
+ # because we are in a task rather than a function, this actually exectutes a callback
65
+ return total_time
66
+
67
+ print 'Series Requests...'
68
+ wait for time1 from series_demo()
69
+ print "Total duration #{time1}ms"
70
+
71
+ print ''
72
+
73
+ print 'Parallel Requests...'
74
+ wait for time2 from parallel_demo()
75
+ print "Total duration #{time2}ms"
@@ -0,0 +1,42 @@
1
+ # This is an example file. Process it with `./pygmentize -O full -f html -o /liquid-example.html example.liquid`.
2
+
3
+ {% raw %}
4
+ some {{raw}} liquid syntax
5
+
6
+ {% raw %}
7
+ {% endraw %}
8
+
9
+ Just regular text - what happens?
10
+
11
+ {% comment %}My lovely {{comment}} {% comment %}{% endcomment %}
12
+
13
+ {% custom_tag params: true %}
14
+ {% custom_block my="abc" c = false %}
15
+ Just usual {{liquid}}.
16
+ {% endcustom_block %}
17
+
18
+ {% another_tag "my string param" %}
19
+
20
+ {{ variable | upcase }}
21
+ {{ var.field | textilize | markdownify }}
22
+ {{ var.field.property | textilize | markdownify }}
23
+ {{ 'string' | truncate: 100 param='df"g' }}
24
+
25
+ {% cycle '1', 2, var %}
26
+ {% cycle 'group1': '1', var, 2 %}
27
+ {% cycle group2: '1', var, 2 %}
28
+
29
+ {% if a == 'B' %}
30
+ {% elsif a == 'C%}' %}
31
+ {% else %}
32
+ {% endif %}
33
+
34
+ {% unless not a %}
35
+ {% else %}
36
+ {% endunless %}
37
+
38
+ {% case a %}
39
+ {% when 'B' %}
40
+ {% when 'C' %}
41
+ {% else %}
42
+ {% endcase %}
@@ -0,0 +1,8 @@
1
+ 1 + 1 (* This is a comment *)
2
+ Global`
3
+ SomeNamespace`Foo
4
+ f[x_, y__, 3, z___] := tsneirsnteintie "fosrt" neisnrteiasrn
5
+ E + 3
6
+ Plus[1,Times[2,3]]
7
+ Map[#1 + #2&, SomePairList]
8
+ Plus[1.,-1,-1.,-1.0,]
@@ -0,0 +1,187 @@
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
+ //+------------------------------------------------------------------+
@@ -0,0 +1,123 @@
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
+ //+------------------------------------------------------------------+