gitlab-pygments.rb 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (399) hide show
  1. data/.gitignore +6 -0
  2. data/Gemfile +2 -0
  3. data/README.md +91 -0
  4. data/Rakefile +78 -0
  5. data/bench.rb +22 -0
  6. data/cache-lexers.rb +8 -0
  7. data/lexers +0 -0
  8. data/lib/pygments/lexer.rb +148 -0
  9. data/lib/pygments/mentos.py +344 -0
  10. data/lib/pygments/popen.rb +389 -0
  11. data/lib/pygments/version.rb +3 -0
  12. data/lib/pygments.rb +8 -0
  13. data/pygments.rb.gemspec +24 -0
  14. data/test/test_data.c +2581 -0
  15. data/test/test_data.py +514 -0
  16. data/test/test_data_generated +2582 -0
  17. data/test/test_pygments.rb +276 -0
  18. data/vendor/custom_formatters/gitlab.py +171 -0
  19. data/vendor/custom_lexers/github.py +362 -0
  20. data/vendor/pygments-main/AUTHORS +115 -0
  21. data/vendor/pygments-main/CHANGES +762 -0
  22. data/vendor/pygments-main/LICENSE +25 -0
  23. data/vendor/pygments-main/MANIFEST.in +6 -0
  24. data/vendor/pygments-main/Makefile +59 -0
  25. data/vendor/pygments-main/REVISION +1 -0
  26. data/vendor/pygments-main/TODO +15 -0
  27. data/vendor/pygments-main/docs/generate.py +472 -0
  28. data/vendor/pygments-main/docs/pygmentize.1 +94 -0
  29. data/vendor/pygments-main/docs/src/api.txt +270 -0
  30. data/vendor/pygments-main/docs/src/authors.txt +5 -0
  31. data/vendor/pygments-main/docs/src/changelog.txt +5 -0
  32. data/vendor/pygments-main/docs/src/cmdline.txt +147 -0
  33. data/vendor/pygments-main/docs/src/filterdevelopment.txt +70 -0
  34. data/vendor/pygments-main/docs/src/filters.txt +42 -0
  35. data/vendor/pygments-main/docs/src/formatterdevelopment.txt +169 -0
  36. data/vendor/pygments-main/docs/src/formatters.txt +48 -0
  37. data/vendor/pygments-main/docs/src/index.txt +69 -0
  38. data/vendor/pygments-main/docs/src/installation.txt +71 -0
  39. data/vendor/pygments-main/docs/src/integrate.txt +43 -0
  40. data/vendor/pygments-main/docs/src/lexerdevelopment.txt +551 -0
  41. data/vendor/pygments-main/docs/src/lexers.txt +67 -0
  42. data/vendor/pygments-main/docs/src/moinmoin.txt +39 -0
  43. data/vendor/pygments-main/docs/src/plugins.txt +93 -0
  44. data/vendor/pygments-main/docs/src/quickstart.txt +202 -0
  45. data/vendor/pygments-main/docs/src/rstdirective.txt +22 -0
  46. data/vendor/pygments-main/docs/src/styles.txt +143 -0
  47. data/vendor/pygments-main/docs/src/tokens.txt +349 -0
  48. data/vendor/pygments-main/docs/src/unicode.txt +49 -0
  49. data/vendor/pygments-main/external/markdown-processor.py +67 -0
  50. data/vendor/pygments-main/external/moin-parser.py +112 -0
  51. data/vendor/pygments-main/external/pygments.bashcomp +38 -0
  52. data/vendor/pygments-main/external/rst-directive-old.py +77 -0
  53. data/vendor/pygments-main/external/rst-directive.py +83 -0
  54. data/vendor/pygments-main/ez_setup.py +276 -0
  55. data/vendor/pygments-main/pygmentize +7 -0
  56. data/vendor/pygments-main/pygments/__init__.py +91 -0
  57. data/vendor/pygments-main/pygments/cmdline.py +433 -0
  58. data/vendor/pygments-main/pygments/console.py +74 -0
  59. data/vendor/pygments-main/pygments/filter.py +74 -0
  60. data/vendor/pygments-main/pygments/filters/__init__.py +357 -0
  61. data/vendor/pygments-main/pygments/formatter.py +92 -0
  62. data/vendor/pygments-main/pygments/formatters/__init__.py +68 -0
  63. data/vendor/pygments-main/pygments/formatters/_mapping.py +94 -0
  64. data/vendor/pygments-main/pygments/formatters/bbcode.py +109 -0
  65. data/vendor/pygments-main/pygments/formatters/gitlab.py +171 -0
  66. data/vendor/pygments-main/pygments/formatters/html.py +750 -0
  67. data/vendor/pygments-main/pygments/formatters/img.py +553 -0
  68. data/vendor/pygments-main/pygments/formatters/latex.py +378 -0
  69. data/vendor/pygments-main/pygments/formatters/other.py +117 -0
  70. data/vendor/pygments-main/pygments/formatters/rtf.py +136 -0
  71. data/vendor/pygments-main/pygments/formatters/svg.py +154 -0
  72. data/vendor/pygments-main/pygments/formatters/terminal.py +112 -0
  73. data/vendor/pygments-main/pygments/formatters/terminal256.py +222 -0
  74. data/vendor/pygments-main/pygments/lexer.py +697 -0
  75. data/vendor/pygments-main/pygments/lexers/__init__.py +229 -0
  76. data/vendor/pygments-main/pygments/lexers/_asybuiltins.py +1645 -0
  77. data/vendor/pygments-main/pygments/lexers/_clbuiltins.py +232 -0
  78. data/vendor/pygments-main/pygments/lexers/_luabuiltins.py +249 -0
  79. data/vendor/pygments-main/pygments/lexers/_mapping.py +298 -0
  80. data/vendor/pygments-main/pygments/lexers/_phpbuiltins.py +3787 -0
  81. data/vendor/pygments-main/pygments/lexers/_postgres_builtins.py +232 -0
  82. data/vendor/pygments-main/pygments/lexers/_scilab_builtins.py +29 -0
  83. data/vendor/pygments-main/pygments/lexers/_vimbuiltins.py +3 -0
  84. data/vendor/pygments-main/pygments/lexers/agile.py +1803 -0
  85. data/vendor/pygments-main/pygments/lexers/asm.py +360 -0
  86. data/vendor/pygments-main/pygments/lexers/compiled.py +2891 -0
  87. data/vendor/pygments-main/pygments/lexers/dotnet.py +636 -0
  88. data/vendor/pygments-main/pygments/lexers/functional.py +1832 -0
  89. data/vendor/pygments-main/pygments/lexers/github.py +362 -0
  90. data/vendor/pygments-main/pygments/lexers/hdl.py +356 -0
  91. data/vendor/pygments-main/pygments/lexers/jvm.py +847 -0
  92. data/vendor/pygments-main/pygments/lexers/math.py +1072 -0
  93. data/vendor/pygments-main/pygments/lexers/other.py +3339 -0
  94. data/vendor/pygments-main/pygments/lexers/parsers.py +695 -0
  95. data/vendor/pygments-main/pygments/lexers/shell.py +361 -0
  96. data/vendor/pygments-main/pygments/lexers/special.py +100 -0
  97. data/vendor/pygments-main/pygments/lexers/sql.py +559 -0
  98. data/vendor/pygments-main/pygments/lexers/templates.py +1631 -0
  99. data/vendor/pygments-main/pygments/lexers/text.py +1753 -0
  100. data/vendor/pygments-main/pygments/lexers/web.py +2864 -0
  101. data/vendor/pygments-main/pygments/plugin.py +74 -0
  102. data/vendor/pygments-main/pygments/scanner.py +104 -0
  103. data/vendor/pygments-main/pygments/style.py +117 -0
  104. data/vendor/pygments-main/pygments/styles/__init__.py +70 -0
  105. data/vendor/pygments-main/pygments/styles/autumn.py +65 -0
  106. data/vendor/pygments-main/pygments/styles/borland.py +51 -0
  107. data/vendor/pygments-main/pygments/styles/bw.py +49 -0
  108. data/vendor/pygments-main/pygments/styles/colorful.py +81 -0
  109. data/vendor/pygments-main/pygments/styles/default.py +73 -0
  110. data/vendor/pygments-main/pygments/styles/emacs.py +72 -0
  111. data/vendor/pygments-main/pygments/styles/friendly.py +72 -0
  112. data/vendor/pygments-main/pygments/styles/fruity.py +42 -0
  113. data/vendor/pygments-main/pygments/styles/manni.py +75 -0
  114. data/vendor/pygments-main/pygments/styles/monokai.py +106 -0
  115. data/vendor/pygments-main/pygments/styles/murphy.py +80 -0
  116. data/vendor/pygments-main/pygments/styles/native.py +65 -0
  117. data/vendor/pygments-main/pygments/styles/pastie.py +75 -0
  118. data/vendor/pygments-main/pygments/styles/perldoc.py +69 -0
  119. data/vendor/pygments-main/pygments/styles/rrt.py +33 -0
  120. data/vendor/pygments-main/pygments/styles/tango.py +141 -0
  121. data/vendor/pygments-main/pygments/styles/trac.py +63 -0
  122. data/vendor/pygments-main/pygments/styles/vim.py +63 -0
  123. data/vendor/pygments-main/pygments/styles/vs.py +38 -0
  124. data/vendor/pygments-main/pygments/token.py +195 -0
  125. data/vendor/pygments-main/pygments/unistring.py +130 -0
  126. data/vendor/pygments-main/pygments/util.py +232 -0
  127. data/vendor/pygments-main/scripts/check_sources.py +242 -0
  128. data/vendor/pygments-main/scripts/detect_missing_analyse_text.py +30 -0
  129. data/vendor/pygments-main/scripts/epydoc.css +280 -0
  130. data/vendor/pygments-main/scripts/find_codetags.py +205 -0
  131. data/vendor/pygments-main/scripts/find_error.py +171 -0
  132. data/vendor/pygments-main/scripts/get_vimkw.py +43 -0
  133. data/vendor/pygments-main/scripts/pylintrc +301 -0
  134. data/vendor/pygments-main/scripts/reindent.py +291 -0
  135. data/vendor/pygments-main/scripts/vim2pygments.py +933 -0
  136. data/vendor/pygments-main/setup.cfg +6 -0
  137. data/vendor/pygments-main/setup.py +88 -0
  138. data/vendor/pygments-main/tests/dtds/HTML4-f.dtd +37 -0
  139. data/vendor/pygments-main/tests/dtds/HTML4-s.dtd +869 -0
  140. data/vendor/pygments-main/tests/dtds/HTML4.dcl +88 -0
  141. data/vendor/pygments-main/tests/dtds/HTML4.dtd +1092 -0
  142. data/vendor/pygments-main/tests/dtds/HTML4.soc +9 -0
  143. data/vendor/pygments-main/tests/dtds/HTMLlat1.ent +195 -0
  144. data/vendor/pygments-main/tests/dtds/HTMLspec.ent +77 -0
  145. data/vendor/pygments-main/tests/dtds/HTMLsym.ent +241 -0
  146. data/vendor/pygments-main/tests/examplefiles/ANTLRv3.g +608 -0
  147. data/vendor/pygments-main/tests/examplefiles/AcidStateAdvanced.hs +209 -0
  148. data/vendor/pygments-main/tests/examplefiles/AlternatingGroup.mu +102 -0
  149. data/vendor/pygments-main/tests/examplefiles/CPDictionary.j +611 -0
  150. data/vendor/pygments-main/tests/examplefiles/Constants.mo +158 -0
  151. data/vendor/pygments-main/tests/examplefiles/DancingSudoku.lhs +411 -0
  152. data/vendor/pygments-main/tests/examplefiles/Errors.scala +18 -0
  153. data/vendor/pygments-main/tests/examplefiles/File.hy +174 -0
  154. data/vendor/pygments-main/tests/examplefiles/Intro.java +1660 -0
  155. data/vendor/pygments-main/tests/examplefiles/Makefile +1131 -0
  156. data/vendor/pygments-main/tests/examplefiles/Object.st +4394 -0
  157. data/vendor/pygments-main/tests/examplefiles/OrderedMap.hx +584 -0
  158. data/vendor/pygments-main/tests/examplefiles/SmallCheck.hs +378 -0
  159. data/vendor/pygments-main/tests/examplefiles/Sorting.mod +470 -0
  160. data/vendor/pygments-main/tests/examplefiles/Sudoku.lhs +382 -0
  161. data/vendor/pygments-main/tests/examplefiles/addressbook.proto +30 -0
  162. data/vendor/pygments-main/tests/examplefiles/antlr_throws +1 -0
  163. data/vendor/pygments-main/tests/examplefiles/apache2.conf +393 -0
  164. data/vendor/pygments-main/tests/examplefiles/as3_test.as +143 -0
  165. data/vendor/pygments-main/tests/examplefiles/as3_test2.as +46 -0
  166. data/vendor/pygments-main/tests/examplefiles/as3_test3.as +3 -0
  167. data/vendor/pygments-main/tests/examplefiles/aspx-cs_example +27 -0
  168. data/vendor/pygments-main/tests/examplefiles/badcase.java +2 -0
  169. data/vendor/pygments-main/tests/examplefiles/batchfile.bat +49 -0
  170. data/vendor/pygments-main/tests/examplefiles/boot-9.scm +1557 -0
  171. data/vendor/pygments-main/tests/examplefiles/cells.ps +515 -0
  172. data/vendor/pygments-main/tests/examplefiles/ceval.c +2604 -0
  173. data/vendor/pygments-main/tests/examplefiles/cheetah_example.html +13 -0
  174. data/vendor/pygments-main/tests/examplefiles/classes.dylan +40 -0
  175. data/vendor/pygments-main/tests/examplefiles/condensed_ruby.rb +10 -0
  176. data/vendor/pygments-main/tests/examplefiles/coq_RelationClasses +447 -0
  177. data/vendor/pygments-main/tests/examplefiles/database.pytb +20 -0
  178. data/vendor/pygments-main/tests/examplefiles/de.MoinMoin.po +2461 -0
  179. data/vendor/pygments-main/tests/examplefiles/demo.ahk +181 -0
  180. data/vendor/pygments-main/tests/examplefiles/demo.cfm +38 -0
  181. data/vendor/pygments-main/tests/examplefiles/django_sample.html+django +68 -0
  182. data/vendor/pygments-main/tests/examplefiles/dwarf.cw +17 -0
  183. data/vendor/pygments-main/tests/examplefiles/erl_session +10 -0
  184. data/vendor/pygments-main/tests/examplefiles/escape_semicolon.clj +1 -0
  185. data/vendor/pygments-main/tests/examplefiles/evil_regex.js +48 -0
  186. data/vendor/pygments-main/tests/examplefiles/example.c +2080 -0
  187. data/vendor/pygments-main/tests/examplefiles/example.cls +15 -0
  188. data/vendor/pygments-main/tests/examplefiles/example.cpp +2363 -0
  189. data/vendor/pygments-main/tests/examplefiles/example.gs +106 -0
  190. data/vendor/pygments-main/tests/examplefiles/example.gst +7 -0
  191. data/vendor/pygments-main/tests/examplefiles/example.kt +47 -0
  192. data/vendor/pygments-main/tests/examplefiles/example.lua +250 -0
  193. data/vendor/pygments-main/tests/examplefiles/example.moo +26 -0
  194. data/vendor/pygments-main/tests/examplefiles/example.moon +629 -0
  195. data/vendor/pygments-main/tests/examplefiles/example.nim +1010 -0
  196. data/vendor/pygments-main/tests/examplefiles/example.ns2 +69 -0
  197. data/vendor/pygments-main/tests/examplefiles/example.p +34 -0
  198. data/vendor/pygments-main/tests/examplefiles/example.pas +2708 -0
  199. data/vendor/pygments-main/tests/examplefiles/example.rb +1852 -0
  200. data/vendor/pygments-main/tests/examplefiles/example.rhtml +561 -0
  201. data/vendor/pygments-main/tests/examplefiles/example.sh-session +19 -0
  202. data/vendor/pygments-main/tests/examplefiles/example.sml +156 -0
  203. data/vendor/pygments-main/tests/examplefiles/example.snobol +15 -0
  204. data/vendor/pygments-main/tests/examplefiles/example.tea +34 -0
  205. data/vendor/pygments-main/tests/examplefiles/example.u +548 -0
  206. data/vendor/pygments-main/tests/examplefiles/example.weechatlog +9 -0
  207. data/vendor/pygments-main/tests/examplefiles/example.xhtml +376 -0
  208. data/vendor/pygments-main/tests/examplefiles/example.yaml +302 -0
  209. data/vendor/pygments-main/tests/examplefiles/example2.aspx +29 -0
  210. data/vendor/pygments-main/tests/examplefiles/example_elixir.ex +363 -0
  211. data/vendor/pygments-main/tests/examplefiles/example_file.fy +128 -0
  212. data/vendor/pygments-main/tests/examplefiles/firefox.mak +586 -0
  213. data/vendor/pygments-main/tests/examplefiles/flipflop.sv +19 -0
  214. data/vendor/pygments-main/tests/examplefiles/foo.sce +6 -0
  215. data/vendor/pygments-main/tests/examplefiles/format.ml +1213 -0
  216. data/vendor/pygments-main/tests/examplefiles/fucked_up.rb +77 -0
  217. data/vendor/pygments-main/tests/examplefiles/function.mu +1 -0
  218. data/vendor/pygments-main/tests/examplefiles/functional.rst +1472 -0
  219. data/vendor/pygments-main/tests/examplefiles/genclass.clj +510 -0
  220. data/vendor/pygments-main/tests/examplefiles/genshi_example.xml+genshi +193 -0
  221. data/vendor/pygments-main/tests/examplefiles/genshitext_example.genshitext +33 -0
  222. data/vendor/pygments-main/tests/examplefiles/glsl.frag +7 -0
  223. data/vendor/pygments-main/tests/examplefiles/glsl.vert +13 -0
  224. data/vendor/pygments-main/tests/examplefiles/html+php_faulty.php +1 -0
  225. data/vendor/pygments-main/tests/examplefiles/http_request_example +14 -0
  226. data/vendor/pygments-main/tests/examplefiles/http_response_example +27 -0
  227. data/vendor/pygments-main/tests/examplefiles/import.hs +4 -0
  228. data/vendor/pygments-main/tests/examplefiles/intro.ik +24 -0
  229. data/vendor/pygments-main/tests/examplefiles/ints.php +10 -0
  230. data/vendor/pygments-main/tests/examplefiles/intsyn.fun +675 -0
  231. data/vendor/pygments-main/tests/examplefiles/intsyn.sig +286 -0
  232. data/vendor/pygments-main/tests/examplefiles/irb_heredoc +8 -0
  233. data/vendor/pygments-main/tests/examplefiles/irc.lsp +214 -0
  234. data/vendor/pygments-main/tests/examplefiles/java.properties +16 -0
  235. data/vendor/pygments-main/tests/examplefiles/jbst_example1.jbst +28 -0
  236. data/vendor/pygments-main/tests/examplefiles/jbst_example2.jbst +45 -0
  237. data/vendor/pygments-main/tests/examplefiles/jinjadesignerdoc.rst +713 -0
  238. data/vendor/pygments-main/tests/examplefiles/lighttpd_config.conf +13 -0
  239. data/vendor/pygments-main/tests/examplefiles/linecontinuation.py +47 -0
  240. data/vendor/pygments-main/tests/examplefiles/ltmain.sh +2849 -0
  241. data/vendor/pygments-main/tests/examplefiles/main.cmake +42 -0
  242. data/vendor/pygments-main/tests/examplefiles/markdown.lsp +679 -0
  243. data/vendor/pygments-main/tests/examplefiles/matlab_noreturn +3 -0
  244. data/vendor/pygments-main/tests/examplefiles/matlab_sample +27 -0
  245. data/vendor/pygments-main/tests/examplefiles/matlabsession_sample.txt +37 -0
  246. data/vendor/pygments-main/tests/examplefiles/minimal.ns2 +4 -0
  247. data/vendor/pygments-main/tests/examplefiles/moin_SyntaxReference.txt +340 -0
  248. data/vendor/pygments-main/tests/examplefiles/multiline_regexes.rb +38 -0
  249. data/vendor/pygments-main/tests/examplefiles/nasm_aoutso.asm +96 -0
  250. data/vendor/pygments-main/tests/examplefiles/nasm_objexe.asm +30 -0
  251. data/vendor/pygments-main/tests/examplefiles/nemerle_sample.n +87 -0
  252. data/vendor/pygments-main/tests/examplefiles/nginx_nginx.conf +118 -0
  253. data/vendor/pygments-main/tests/examplefiles/numbers.c +12 -0
  254. data/vendor/pygments-main/tests/examplefiles/objc_example.m +25 -0
  255. data/vendor/pygments-main/tests/examplefiles/objc_example2.m +24 -0
  256. data/vendor/pygments-main/tests/examplefiles/perl_misc +62 -0
  257. data/vendor/pygments-main/tests/examplefiles/perl_perl5db +998 -0
  258. data/vendor/pygments-main/tests/examplefiles/perl_regex-delims +120 -0
  259. data/vendor/pygments-main/tests/examplefiles/perlfunc.1 +856 -0
  260. data/vendor/pygments-main/tests/examplefiles/phpcomplete.vim +567 -0
  261. data/vendor/pygments-main/tests/examplefiles/pleac.in.rb +1223 -0
  262. data/vendor/pygments-main/tests/examplefiles/postgresql_test.txt +47 -0
  263. data/vendor/pygments-main/tests/examplefiles/pppoe.applescript +10 -0
  264. data/vendor/pygments-main/tests/examplefiles/psql_session.txt +122 -0
  265. data/vendor/pygments-main/tests/examplefiles/py3_test.txt +2 -0
  266. data/vendor/pygments-main/tests/examplefiles/pycon_test.pycon +14 -0
  267. data/vendor/pygments-main/tests/examplefiles/pytb_test2.pytb +2 -0
  268. data/vendor/pygments-main/tests/examplefiles/python25-bsd.mak +234 -0
  269. data/vendor/pygments-main/tests/examplefiles/qsort.prolog +13 -0
  270. data/vendor/pygments-main/tests/examplefiles/r-console-transcript.Rout +38 -0
  271. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_rlscan +280 -0
  272. data/vendor/pygments-main/tests/examplefiles/ragel-cpp_snippet +2 -0
  273. data/vendor/pygments-main/tests/examplefiles/regex.js +22 -0
  274. data/vendor/pygments-main/tests/examplefiles/reversi.lsp +427 -0
  275. data/vendor/pygments-main/tests/examplefiles/ruby_func_def.rb +11 -0
  276. data/vendor/pygments-main/tests/examplefiles/scilab.sci +30 -0
  277. data/vendor/pygments-main/tests/examplefiles/sibling.prolog +19 -0
  278. data/vendor/pygments-main/tests/examplefiles/simple.md +747 -0
  279. data/vendor/pygments-main/tests/examplefiles/smarty_example.html +209 -0
  280. data/vendor/pygments-main/tests/examplefiles/source.lgt +343 -0
  281. data/vendor/pygments-main/tests/examplefiles/sources.list +62 -0
  282. data/vendor/pygments-main/tests/examplefiles/sphere.pov +18 -0
  283. data/vendor/pygments-main/tests/examplefiles/sqlite3.sqlite3-console +27 -0
  284. data/vendor/pygments-main/tests/examplefiles/squid.conf +30 -0
  285. data/vendor/pygments-main/tests/examplefiles/string.jl +1031 -0
  286. data/vendor/pygments-main/tests/examplefiles/string_delimiters.d +21 -0
  287. data/vendor/pygments-main/tests/examplefiles/stripheredoc.sh +3 -0
  288. data/vendor/pygments-main/tests/examplefiles/test.R +119 -0
  289. data/vendor/pygments-main/tests/examplefiles/test.adb +211 -0
  290. data/vendor/pygments-main/tests/examplefiles/test.asy +131 -0
  291. data/vendor/pygments-main/tests/examplefiles/test.awk +121 -0
  292. data/vendor/pygments-main/tests/examplefiles/test.bas +29 -0
  293. data/vendor/pygments-main/tests/examplefiles/test.bmx +145 -0
  294. data/vendor/pygments-main/tests/examplefiles/test.boo +39 -0
  295. data/vendor/pygments-main/tests/examplefiles/test.bro +250 -0
  296. data/vendor/pygments-main/tests/examplefiles/test.cs +374 -0
  297. data/vendor/pygments-main/tests/examplefiles/test.css +54 -0
  298. data/vendor/pygments-main/tests/examplefiles/test.d +135 -0
  299. data/vendor/pygments-main/tests/examplefiles/test.dart +23 -0
  300. data/vendor/pygments-main/tests/examplefiles/test.dtd +89 -0
  301. data/vendor/pygments-main/tests/examplefiles/test.ec +605 -0
  302. data/vendor/pygments-main/tests/examplefiles/test.ecl +58 -0
  303. data/vendor/pygments-main/tests/examplefiles/test.eh +315 -0
  304. data/vendor/pygments-main/tests/examplefiles/test.erl +169 -0
  305. data/vendor/pygments-main/tests/examplefiles/test.evoque +33 -0
  306. data/vendor/pygments-main/tests/examplefiles/test.fan +818 -0
  307. data/vendor/pygments-main/tests/examplefiles/test.flx +57 -0
  308. data/vendor/pygments-main/tests/examplefiles/test.gdc +13 -0
  309. data/vendor/pygments-main/tests/examplefiles/test.groovy +97 -0
  310. data/vendor/pygments-main/tests/examplefiles/test.html +339 -0
  311. data/vendor/pygments-main/tests/examplefiles/test.ini +10 -0
  312. data/vendor/pygments-main/tests/examplefiles/test.java +653 -0
  313. data/vendor/pygments-main/tests/examplefiles/test.jsp +24 -0
  314. data/vendor/pygments-main/tests/examplefiles/test.maql +45 -0
  315. data/vendor/pygments-main/tests/examplefiles/test.mod +374 -0
  316. data/vendor/pygments-main/tests/examplefiles/test.moo +51 -0
  317. data/vendor/pygments-main/tests/examplefiles/test.myt +166 -0
  318. data/vendor/pygments-main/tests/examplefiles/test.nim +93 -0
  319. data/vendor/pygments-main/tests/examplefiles/test.pas +743 -0
  320. data/vendor/pygments-main/tests/examplefiles/test.php +505 -0
  321. data/vendor/pygments-main/tests/examplefiles/test.plot +333 -0
  322. data/vendor/pygments-main/tests/examplefiles/test.ps1 +108 -0
  323. data/vendor/pygments-main/tests/examplefiles/test.pypylog +1839 -0
  324. data/vendor/pygments-main/tests/examplefiles/test.r3 +94 -0
  325. data/vendor/pygments-main/tests/examplefiles/test.rb +177 -0
  326. data/vendor/pygments-main/tests/examplefiles/test.rhtml +43 -0
  327. data/vendor/pygments-main/tests/examplefiles/test.scaml +8 -0
  328. data/vendor/pygments-main/tests/examplefiles/test.ssp +12 -0
  329. data/vendor/pygments-main/tests/examplefiles/test.tcsh +830 -0
  330. data/vendor/pygments-main/tests/examplefiles/test.vb +407 -0
  331. data/vendor/pygments-main/tests/examplefiles/test.vhdl +161 -0
  332. data/vendor/pygments-main/tests/examplefiles/test.xqy +138 -0
  333. data/vendor/pygments-main/tests/examplefiles/test.xsl +23 -0
  334. data/vendor/pygments-main/tests/examplefiles/truncated.pytb +15 -0
  335. data/vendor/pygments-main/tests/examplefiles/type.lisp +1202 -0
  336. data/vendor/pygments-main/tests/examplefiles/underscore.coffee +603 -0
  337. data/vendor/pygments-main/tests/examplefiles/unicode.applescript +5 -0
  338. data/vendor/pygments-main/tests/examplefiles/unicodedoc.py +11 -0
  339. data/vendor/pygments-main/tests/examplefiles/webkit-transition.css +3 -0
  340. data/vendor/pygments-main/tests/examplefiles/while.pov +13 -0
  341. data/vendor/pygments-main/tests/examplefiles/wiki.factor +384 -0
  342. data/vendor/pygments-main/tests/examplefiles/xml_example +1897 -0
  343. data/vendor/pygments-main/tests/examplefiles/zmlrpc.f90 +798 -0
  344. data/vendor/pygments-main/tests/old_run.py +138 -0
  345. data/vendor/pygments-main/tests/run.py +48 -0
  346. data/vendor/pygments-main/tests/support.py +15 -0
  347. data/vendor/pygments-main/tests/test_basic_api.py +294 -0
  348. data/vendor/pygments-main/tests/test_clexer.py +31 -0
  349. data/vendor/pygments-main/tests/test_cmdline.py +105 -0
  350. data/vendor/pygments-main/tests/test_examplefiles.py +97 -0
  351. data/vendor/pygments-main/tests/test_html_formatter.py +162 -0
  352. data/vendor/pygments-main/tests/test_latex_formatter.py +55 -0
  353. data/vendor/pygments-main/tests/test_perllexer.py +137 -0
  354. data/vendor/pygments-main/tests/test_regexlexer.py +47 -0
  355. data/vendor/pygments-main/tests/test_token.py +46 -0
  356. data/vendor/pygments-main/tests/test_using_api.py +40 -0
  357. data/vendor/pygments-main/tests/test_util.py +116 -0
  358. data/vendor/simplejson/.gitignore +10 -0
  359. data/vendor/simplejson/.travis.yml +5 -0
  360. data/vendor/simplejson/CHANGES.txt +291 -0
  361. data/vendor/simplejson/LICENSE.txt +19 -0
  362. data/vendor/simplejson/MANIFEST.in +5 -0
  363. data/vendor/simplejson/README.rst +19 -0
  364. data/vendor/simplejson/conf.py +179 -0
  365. data/vendor/simplejson/index.rst +628 -0
  366. data/vendor/simplejson/scripts/make_docs.py +18 -0
  367. data/vendor/simplejson/setup.py +104 -0
  368. data/vendor/simplejson/simplejson/__init__.py +510 -0
  369. data/vendor/simplejson/simplejson/_speedups.c +2745 -0
  370. data/vendor/simplejson/simplejson/decoder.py +425 -0
  371. data/vendor/simplejson/simplejson/encoder.py +567 -0
  372. data/vendor/simplejson/simplejson/ordered_dict.py +119 -0
  373. data/vendor/simplejson/simplejson/scanner.py +77 -0
  374. data/vendor/simplejson/simplejson/tests/__init__.py +67 -0
  375. data/vendor/simplejson/simplejson/tests/test_bigint_as_string.py +55 -0
  376. data/vendor/simplejson/simplejson/tests/test_check_circular.py +30 -0
  377. data/vendor/simplejson/simplejson/tests/test_decimal.py +66 -0
  378. data/vendor/simplejson/simplejson/tests/test_decode.py +83 -0
  379. data/vendor/simplejson/simplejson/tests/test_default.py +9 -0
  380. data/vendor/simplejson/simplejson/tests/test_dump.py +67 -0
  381. data/vendor/simplejson/simplejson/tests/test_encode_basestring_ascii.py +46 -0
  382. data/vendor/simplejson/simplejson/tests/test_encode_for_html.py +32 -0
  383. data/vendor/simplejson/simplejson/tests/test_errors.py +34 -0
  384. data/vendor/simplejson/simplejson/tests/test_fail.py +91 -0
  385. data/vendor/simplejson/simplejson/tests/test_float.py +19 -0
  386. data/vendor/simplejson/simplejson/tests/test_indent.py +86 -0
  387. data/vendor/simplejson/simplejson/tests/test_item_sort_key.py +20 -0
  388. data/vendor/simplejson/simplejson/tests/test_namedtuple.py +121 -0
  389. data/vendor/simplejson/simplejson/tests/test_pass1.py +76 -0
  390. data/vendor/simplejson/simplejson/tests/test_pass2.py +14 -0
  391. data/vendor/simplejson/simplejson/tests/test_pass3.py +20 -0
  392. data/vendor/simplejson/simplejson/tests/test_recursion.py +67 -0
  393. data/vendor/simplejson/simplejson/tests/test_scanstring.py +117 -0
  394. data/vendor/simplejson/simplejson/tests/test_separators.py +42 -0
  395. data/vendor/simplejson/simplejson/tests/test_speedups.py +20 -0
  396. data/vendor/simplejson/simplejson/tests/test_tuple.py +49 -0
  397. data/vendor/simplejson/simplejson/tests/test_unicode.py +109 -0
  398. data/vendor/simplejson/simplejson/tool.py +39 -0
  399. metadata +492 -0
@@ -0,0 +1,29 @@
1
+ <%@ Register TagPrefix="Acme" TagName="Message" Src="userctrl2_vb.ascx" %>
2
+
3
+ <html>
4
+
5
+ <script language="VB" runat="server">
6
+
7
+ Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
8
+ MyMessage.MessageText = "Message text changed!"
9
+ MyMessage.Color = "red"
10
+ End Sub
11
+
12
+ </script>
13
+
14
+ <body style="font: 10pt verdana">
15
+
16
+ <h3>A Simple User Control w/ Properties</h3>
17
+
18
+ <form runat="server">
19
+
20
+ <Acme:Message id="MyMessage" MessageText="This is a custom message!" Color="blue" runat="server"/>
21
+
22
+ <p>
23
+
24
+ <asp:button text="Change Properties" OnClick="SubmitBtn_Click" runat=server/>
25
+
26
+ </form>
27
+
28
+ </body>
29
+ </html>
@@ -0,0 +1,363 @@
1
+ # We cannot use to_char_list because it depends on inspect,
2
+ # which depends on protocol, which depends on this module.
3
+ import Elixir::Builtin, except: [to_char_list: 1]
4
+
5
+ defmodule Module do
6
+ require Erlang.ets, as: ETS
7
+
8
+ @moduledoc """
9
+ This module provides many functions to deal with modules during
10
+ compilation time. It allows a developer to dynamically attach
11
+ documentation, merge data, register attributes and so forth.
12
+
13
+ After the module is compiled, using many of the functions in
14
+ this module will raise errors, since it is out of their purpose
15
+ to inspect runtime data. Most of the runtime data can be inspected
16
+ via the `__info__(attr)` function attached to each compiled module.
17
+ """
18
+
19
+ @doc """
20
+ Evalutes the quotes contents in the given module context.
21
+ Raises an error if the module was already compiled.
22
+
23
+ ## Examples
24
+
25
+ defmodule Foo do
26
+ contents = quote do: (def sum(a, b), do: a + b)
27
+ Module.eval_quoted __MODULE__, contents, [], __FILE__, __LINE__
28
+ end
29
+
30
+ Foo.sum(1, 2) #=> 3
31
+ """
32
+ def eval_quoted(module, quoted, binding, filename, line) do
33
+ assert_not_compiled!(:eval_quoted, module)
34
+ { binding, scope } = Erlang.elixir_module.binding_and_scope_for_eval(line, to_char_list(filename), module, binding)
35
+ Erlang.elixir_def.reset_last(module)
36
+ Erlang.elixir.eval_quoted([quoted], binding, line, scope)
37
+ end
38
+
39
+ @doc """
40
+ Checks if the module is compiled or not.
41
+
42
+ ## Examples
43
+
44
+ defmodule Foo do
45
+ Module.compiled?(__MODULE__) #=> false
46
+ end
47
+
48
+ Module.compiled?(Foo) #=> true
49
+
50
+ """
51
+ def compiled?(module) do
52
+ table = data_table_for(module)
53
+ table == ETS.info(table, :name)
54
+ end
55
+
56
+ @doc """
57
+ Reads the data for the given module. This is used
58
+ to read data of uncompiled modules. If the module
59
+ was already compiled, you shoul access the data
60
+ directly by invoking `__info__(:data)` in that module.
61
+
62
+ ## Examples
63
+
64
+ defmodule Foo do
65
+ Module.merge_data __MODULE__, value: 1
66
+ Module.read_data __MODULE__ #=> [value: 1]
67
+ end
68
+
69
+ """
70
+ def read_data(module) do
71
+ assert_not_compiled!(:read_data, module)
72
+ ETS.lookup_element(data_table_for(module), :data, 2)
73
+ end
74
+
75
+ @doc """
76
+ Reads the data from `module` at the given key `at`.
77
+
78
+ ## Examples
79
+
80
+ defmodule Foo do
81
+ Module.merge_data __MODULE__, value: 1
82
+ Module.read_data __MODULE__, :value #=> 1
83
+ end
84
+
85
+ """
86
+ def read_data(module, at) do
87
+ Orddict.get read_data(module), at
88
+ end
89
+
90
+ @doc """
91
+ Merge the given data into the module, overriding any
92
+ previous one.
93
+
94
+ If any of the given data is a registered attribute, it is
95
+ automatically added to the attribute set, instead of marking
96
+ it as data. See register_attribute/2 and add_attribute/3 for
97
+ more info.
98
+
99
+ ## Examples
100
+
101
+ defmodule Foo do
102
+ Module.merge_data __MODULE__, value: 1
103
+ end
104
+
105
+ Foo.__info__(:data) #=> [value: 1]
106
+
107
+ """
108
+ def merge_data(module, data) do
109
+ assert_not_compiled!(:merge_data, module)
110
+
111
+ table = data_table_for(module)
112
+ old = ETS.lookup_element(table, :data, 2)
113
+ registered = ETS.lookup_element(table, :registered_attributes, 2)
114
+
115
+ { attrs, new } = Enum.partition data, fn({k,_}) -> List.member?(registered, k) end
116
+ Enum.each attrs, fn({k,v}) -> add_attribute(module, k, v) end
117
+ ETS.insert(table, { :data, Orddict.merge(old, new) })
118
+ end
119
+
120
+ @doc """
121
+ Attaches documentation to a given function. It expects
122
+ the module the function belongs to, the line (a non negative
123
+ integer), the kind (def or defmacro), a tuple representing
124
+ the function and its arity and the documentation, which should
125
+ be either a binary or a boolean.
126
+
127
+ ## Examples
128
+
129
+ defmodule MyModule do
130
+ Module.add_doc(__MODULE__, __LINE__ + 1, :def, { :version, 0 }, "Manually added docs")
131
+ def version, do: 1
132
+ end
133
+
134
+ """
135
+ def add_doc(module, line, kind, tuple, doc) when
136
+ is_binary(doc) or is_boolean(doc) do
137
+ assert_not_compiled!(:add_doc, module)
138
+ case kind do
139
+ match: :defp
140
+ :warn
141
+ else:
142
+ table = docs_table_for(module)
143
+ ETS.insert(table, { tuple, line, kind, doc })
144
+ :ok
145
+ end
146
+ end
147
+
148
+ @doc """
149
+ Checks if a function was defined, regardless if it is
150
+ a macro or a private function. Use function_defined?/3
151
+ to assert for an specific type.
152
+
153
+ ## Examples
154
+
155
+ defmodule Example do
156
+ Module.function_defined? __MODULE__, { :version, 0 } #=> false
157
+ def version, do: 1
158
+ Module.function_defined? __MODULE__, { :version, 0 } #=> true
159
+ end
160
+
161
+ """
162
+ def function_defined?(module, tuple) when is_tuple(tuple) do
163
+ assert_not_compiled!(:function_defined?, module)
164
+ table = function_table_for(module)
165
+ ETS.lookup(table, tuple) != []
166
+ end
167
+
168
+ @doc """
169
+ Checks if a function was defined and also for its `kind`.
170
+ `kind` can be either :def, :defp or :defmacro.
171
+
172
+ ## Examples
173
+
174
+ defmodule Example do
175
+ Module.function_defined? __MODULE__, { :version, 0 }, :defp #=> false
176
+ def version, do: 1
177
+ Module.function_defined? __MODULE__, { :version, 0 }, :defp #=> false
178
+ end
179
+
180
+ """
181
+ def function_defined?(module, tuple, kind) do
182
+ List.member? defined_functions(module, kind), tuple
183
+ end
184
+
185
+ @doc """
186
+ Return all functions defined in the given module.
187
+
188
+ ## Examples
189
+
190
+ defmodule Example do
191
+ def version, do: 1
192
+ Module.defined_functions __MODULE__ #=> [{:version,1}]
193
+ end
194
+
195
+ """
196
+ def defined_functions(module) do
197
+ assert_not_compiled!(:defined_functions, module)
198
+ table = function_table_for(module)
199
+ lc { tuple, _, _ } in ETS.tab2list(table), do: tuple
200
+ end
201
+
202
+ @doc """
203
+ Returns all functions defined in te given module according
204
+ to its kind.
205
+
206
+ ## Examples
207
+
208
+ defmodule Example do
209
+ def version, do: 1
210
+ Module.defined_functions __MODULE__, :def #=> [{:version,1}]
211
+ Module.defined_functions __MODULE__, :defp #=> []
212
+ end
213
+
214
+ """
215
+ def defined_functions(module, kind) do
216
+ assert_not_compiled!(:defined_functions, module)
217
+ table = function_table_for(module)
218
+ entry = kind_to_entry(kind)
219
+ ETS.lookup_element(table, entry, 2)
220
+ end
221
+
222
+ @doc """
223
+ Adds a compilation callback hook that is invoked
224
+ exactly before the module is compiled.
225
+
226
+ This callback is useful when used with `use` as a mechanism
227
+ to clean up any internal data in the module before it is compiled.
228
+
229
+ ## Examples
230
+
231
+ Imagine you are creating a module/library that is meant for
232
+ external usage called `MyLib`. It could be defined as:
233
+
234
+ defmodule MyLib do
235
+ def __using__(target) do
236
+ Module.merge_data target, some_data: true
237
+ Module.add_compile_callback(target, __MODULE__, :__callback__)
238
+ end
239
+
240
+ defmacro __callback__(target) do
241
+ value = Orddict.get(Module.read_data(target), :some_data, [])
242
+ quote do: (def my_lib_value, do: unquote(value))
243
+ end
244
+ end
245
+
246
+ And a module could use `MyLib` with:
247
+
248
+ defmodule App do
249
+ use ModuleTest::ToBeUsed
250
+ end
251
+
252
+ In the example above, `MyLib` defines a data to the target. This data
253
+ can be updated throughout the module definition and therefore, the final
254
+ value of the data can only be compiled using a compiation callback,
255
+ which will read the final value of :some_data and compile to a function.
256
+ """
257
+ def add_compile_callback(module, target, fun // :__compiling__) do
258
+ assert_not_compiled!(:add_compile_callback, module)
259
+ new = { target, fun }
260
+ table = data_table_for(module)
261
+ old = ETS.lookup_element(table, :compile_callbacks, 2)
262
+ ETS.insert(table, { :compile_callbacks, [new|old] })
263
+ end
264
+
265
+ @doc """
266
+ Adds an Erlang attribute to the given module with the given
267
+ key and value. The same attribute can be added more than once.
268
+
269
+ ## Examples
270
+
271
+ defmodule MyModule do
272
+ Module.add_attribute __MODULE__, :custom_threshold_for_lib, 10
273
+ end
274
+
275
+ """
276
+ def add_attribute(module, key, value) when is_atom(key) do
277
+ assert_not_compiled!(:add_attribute, module)
278
+ table = data_table_for(module)
279
+ attrs = ETS.lookup_element(table, :attributes, 2)
280
+ ETS.insert(table, { :attributes, [{key, value}|attrs] })
281
+ end
282
+
283
+ @doc """
284
+ Deletes all attributes that matches the given key.
285
+
286
+ ## Examples
287
+
288
+ defmodule MyModule do
289
+ Module.add_attribute __MODULE__, :custom_threshold_for_lib, 10
290
+ Module.delete_attribute __MODULE__, :custom_threshold_for_lib
291
+ end
292
+
293
+ """
294
+ def delete_attribute(module, key) when is_atom(key) do
295
+ assert_not_compiled!(:delete_attribute, module)
296
+ table = data_table_for(module)
297
+ attrs = ETS.lookup_element(table, :attributes, 2)
298
+ final = lc {k,v} in attrs, k != key, do: {k,v}
299
+ ETS.insert(table, { :attributes, final })
300
+ end
301
+
302
+ @doc """
303
+ Registers an attribute. This allows a developer to use the data API
304
+ but Elixir will register the data as an attribute automatically.
305
+ By default, `vsn`, `behavior` and other Erlang attributes are
306
+ automatically registered.
307
+
308
+ ## Examples
309
+
310
+ defmodule MyModule do
311
+ Module.register_attribute __MODULE__, :custom_threshold_for_lib
312
+ @custom_threshold_for_lib 10
313
+ end
314
+
315
+ """
316
+ def register_attribute(module, new) do
317
+ assert_not_compiled!(:register_attribute, module)
318
+ table = data_table_for(module)
319
+ old = ETS.lookup_element(table, :registered_attributes, 2)
320
+ ETS.insert(table, { :registered_attributes, [new|old] })
321
+ end
322
+
323
+ @doc false
324
+ # Used internally to compile documentation. This function
325
+ # is private and must be used only internally.
326
+ def compile_doc(module, line, kind, pair) do
327
+ case read_data(module, :doc) do
328
+ match: nil
329
+ # We simply discard nil
330
+ match: doc
331
+ result = add_doc(module, line, kind, pair, doc)
332
+ merge_data(module, doc: nil)
333
+ result
334
+ end
335
+ end
336
+
337
+ ## Helpers
338
+
339
+ defp kind_to_entry(:def), do: :public
340
+ defp kind_to_entry(:defp), do: :private
341
+ defp kind_to_entry(:defmacro), do: :macros
342
+
343
+ defp to_char_list(list) when is_list(list), do: list
344
+ defp to_char_list(bin) when is_binary(bin), do: binary_to_list(bin)
345
+
346
+ defp data_table_for(module) do
347
+ list_to_atom Erlang.lists.concat([:d, module])
348
+ end
349
+
350
+ defp function_table_for(module) do
351
+ list_to_atom Erlang.lists.concat([:f, module])
352
+ end
353
+
354
+ defp docs_table_for(module) do
355
+ list_to_atom Erlang.lists.concat([:o, module])
356
+ end
357
+
358
+ defp assert_not_compiled!(fun, module) do
359
+ compiled?(module) ||
360
+ raise ArgumentError, message:
361
+ "could not call #{fun} on module #{module} because it was already compiled"
362
+ end
363
+ end
@@ -0,0 +1,128 @@
1
+ class Person {
2
+ def initialize: @name age: @age {
3
+ """
4
+ This is a docstring for the Person constructor method.
5
+ Docstrings usually are multi-line, like this one.
6
+ """
7
+ }
8
+
9
+ def to_s {
10
+ # return is optional in this case, but we use it nontheless
11
+ return "Person with name: #{@name inspect} and age: #{@age}"
12
+ }
13
+ }
14
+
15
+ class PersonWithCity : Person {
16
+ def initialize: @name age: @age city: @city {
17
+ }
18
+
19
+ def to_s {
20
+ super to_s ++ " living in: #{@city inspect}"
21
+ }
22
+ }
23
+
24
+ p1 = Person new: "Johnny Jackson" age: 42
25
+ p1 println # prints: Person with name: "Johnny Jackson" and age: 42
26
+
27
+ p2 = PersonWithCity new: "John Appleseed" age: 55 city: "New York"
28
+ p2 println # prints: Person with name: "John Appleseed" age: 55 living in: "New York"
29
+
30
+ array = [1,2,3, "foo", 'bar]
31
+ hash = <['foo => "bar", 'bar => 42]>
32
+ tuple = (1,2,"hello","world")
33
+ block = |x, y| {
34
+ x + y println
35
+ }
36
+ block call: [4,2]
37
+
38
+ 0b010101 & 0b00101 to_s: 2 . println
39
+ 0xFF & 0xAB to_s: 16 . println
40
+ 0o77 > 0o76 println
41
+ 123.123 + 0.222 println
42
+
43
+ x = 0
44
+ try {
45
+ 10 / x println
46
+ } catch ZeroDivisionError => e {
47
+ x = 3
48
+ retry
49
+ } finally {
50
+ "Finally, done!" println
51
+ }
52
+
53
+ def a_method: arg1 with_default_arg: arg2 (42) {
54
+ arg1 * arg2 println
55
+ }
56
+
57
+ a_method: 42
58
+ a_method: 42 with_default_arg: 85
59
+
60
+ class ClassWithClassMethod {
61
+ def self class_method1 {
62
+ 'works
63
+ }
64
+
65
+ def ClassWithClassMethod class_method2 {
66
+ 'this_as_well
67
+ }
68
+ }
69
+
70
+ ClassWithClassMethod class_method1 println
71
+ ClassWithClassMethod class_method2 println
72
+
73
+ def another_method: block {
74
+ 1 upto: 10 . map: block
75
+ }
76
+
77
+ # local returns
78
+ another_method: |x| { return_local x * 2 } . inspect println
79
+
80
+
81
+ # pattern matching:
82
+ class PatternMatching {
83
+ def match_it: obj {
84
+ match obj {
85
+ case String -> "It's a String!" println
86
+ case Fixnum -> "It's a Number!" println
87
+ case _ -> "Aything else!" println
88
+ }
89
+ }
90
+
91
+ def match_with_extract: str {
92
+ match str {
93
+ # m holds the MatchData object, m1 & m2 the first and second matches
94
+ case /^(.*) : (.*)$/ -> |m, m1, m2|
95
+ "First match: #{m1}" println
96
+ "Second match: #{m2}" println
97
+ }
98
+ }
99
+ }
100
+
101
+ pm = PatternMatching new
102
+ pm match_it: "foo"
103
+ pm match_it: 42
104
+ pm match_it: 'foo
105
+
106
+ pm match_with_extract: "Hello : World!"
107
+
108
+
109
+ # calling ruby methods:
110
+ [3, 2, 1] reverse() each() |a| { puts(a) }
111
+ "Hello" sub("ll", "y") println
112
+ [3, 2, 1] map() |a| { a * 2 } inject(0) |s i| { s + i } println
113
+
114
+ # test symbol highlighting
115
+ ['foo]
116
+ ['foo?!]
117
+ {'foo}
118
+ {'foo!?}
119
+ {'foo:bar?!=&/:}
120
+ ('foo)
121
+
122
+ # future sends
123
+ 42 @ to_s class println
124
+ 42 @ to_s: 16 . value println
125
+
126
+ # async sends
127
+ 42 @@ println
128
+ 42 @@ upto: 100