swagr 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (359) hide show
  1. data/bin/swagr +15 -0
  2. data/examples/examples01/app.rb +6 -2
  3. data/examples/examples01/coffee/data_port.coffee +2 -0
  4. data/examples/examples01/static/css/codemirror.css +1247 -0
  5. data/examples/examples01/static/js/codemirror-compressed-3-0.js +5 -0
  6. data/examples/examples01/static/js/codemirror/keymap/emacs.js +30 -0
  7. data/examples/examples01/static/js/codemirror/keymap/vim.js +2298 -0
  8. data/examples/examples01/static/js/codemirror/lib/codemirror.css +239 -0
  9. data/examples/examples01/static/js/codemirror/lib/codemirror.js +4553 -0
  10. data/examples/examples01/static/js/codemirror/lib/util/closetag.js +85 -0
  11. data/examples/examples01/static/js/codemirror/lib/util/colorize.js +29 -0
  12. data/examples/examples01/static/js/codemirror/lib/util/continuecomment.js +36 -0
  13. data/examples/examples01/static/js/codemirror/lib/util/continuelist.js +28 -0
  14. data/examples/examples01/static/js/codemirror/lib/util/dialog.css +32 -0
  15. data/examples/examples01/static/js/codemirror/lib/util/dialog.js +75 -0
  16. data/examples/examples01/static/js/codemirror/lib/util/foldcode.js +182 -0
  17. data/examples/examples01/static/js/codemirror/lib/util/formatting.js +108 -0
  18. data/examples/examples01/static/js/codemirror/lib/util/javascript-hint.js +137 -0
  19. data/examples/examples01/static/js/codemirror/lib/util/loadmode.js +51 -0
  20. data/examples/examples01/static/js/codemirror/lib/util/match-highlighter.js +46 -0
  21. data/examples/examples01/static/js/codemirror/lib/util/matchbrackets.js +63 -0
  22. data/examples/examples01/static/js/codemirror/lib/util/multiplex.js +95 -0
  23. data/examples/examples01/static/js/codemirror/lib/util/overlay.js +59 -0
  24. data/examples/examples01/static/js/codemirror/lib/util/pig-hint.js +117 -0
  25. data/examples/examples01/static/js/codemirror/lib/util/runmode-standalone.js +90 -0
  26. data/examples/examples01/static/js/codemirror/lib/util/runmode.js +52 -0
  27. data/examples/examples01/static/js/codemirror/lib/util/search.js +119 -0
  28. data/examples/examples01/static/js/codemirror/lib/util/searchcursor.js +119 -0
  29. data/examples/examples01/static/js/codemirror/lib/util/simple-hint.css +16 -0
  30. data/examples/examples01/static/js/codemirror/lib/util/simple-hint.js +102 -0
  31. data/examples/examples01/static/js/codemirror/lib/util/xml-hint.js +131 -0
  32. data/examples/examples01/static/js/codemirror/mode/clike/clike.js +300 -0
  33. data/examples/examples01/static/js/codemirror/mode/clike/index.html +103 -0
  34. data/examples/examples01/static/js/codemirror/mode/clike/scala.html +767 -0
  35. data/examples/examples01/static/js/codemirror/mode/clojure/clojure.js +206 -0
  36. data/examples/examples01/static/js/codemirror/mode/clojure/index.html +67 -0
  37. data/examples/examples01/static/js/codemirror/mode/coffeescript/LICENSE +22 -0
  38. data/examples/examples01/static/js/codemirror/mode/coffeescript/coffeescript.js +346 -0
  39. data/examples/examples01/static/js/codemirror/mode/coffeescript/index.html +728 -0
  40. data/examples/examples01/static/js/codemirror/mode/commonlisp/commonlisp.js +101 -0
  41. data/examples/examples01/static/js/codemirror/mode/commonlisp/index.html +165 -0
  42. data/examples/examples01/static/js/codemirror/mode/css/css.js +465 -0
  43. data/examples/examples01/static/js/codemirror/mode/css/index.html +58 -0
  44. data/examples/examples01/static/js/codemirror/mode/css/test.js +501 -0
  45. data/examples/examples01/static/js/codemirror/mode/diff/diff.js +32 -0
  46. data/examples/examples01/static/js/codemirror/mode/diff/index.html +105 -0
  47. data/examples/examples01/static/js/codemirror/mode/ecl/ecl.js +192 -0
  48. data/examples/examples01/static/js/codemirror/mode/ecl/index.html +39 -0
  49. data/examples/examples01/static/js/codemirror/mode/erlang/erlang.js +463 -0
  50. data/examples/examples01/static/js/codemirror/mode/erlang/index.html +64 -0
  51. data/examples/examples01/static/js/codemirror/mode/gfm/gfm.js +94 -0
  52. data/examples/examples01/static/js/codemirror/mode/gfm/index.html +70 -0
  53. data/examples/examples01/static/js/codemirror/mode/gfm/test.js +225 -0
  54. data/examples/examples01/static/js/codemirror/mode/go/go.js +165 -0
  55. data/examples/examples01/static/js/codemirror/mode/go/index.html +74 -0
  56. data/examples/examples01/static/js/codemirror/mode/groovy/groovy.js +210 -0
  57. data/examples/examples01/static/js/codemirror/mode/groovy/index.html +73 -0
  58. data/examples/examples01/static/js/codemirror/mode/haskell/haskell.js +242 -0
  59. data/examples/examples01/static/js/codemirror/mode/haskell/index.html +62 -0
  60. data/examples/examples01/static/js/codemirror/mode/haxe/haxe.js +429 -0
  61. data/examples/examples01/static/js/codemirror/mode/haxe/index.html +90 -0
  62. data/examples/examples01/static/js/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  63. data/examples/examples01/static/js/codemirror/mode/htmlembedded/index.html +49 -0
  64. data/examples/examples01/static/js/codemirror/mode/htmlmixed/htmlmixed.js +84 -0
  65. data/examples/examples01/static/js/codemirror/mode/htmlmixed/index.html +52 -0
  66. data/examples/examples01/static/js/codemirror/mode/http/http.js +98 -0
  67. data/examples/examples01/static/js/codemirror/mode/http/index.html +32 -0
  68. data/examples/examples01/static/js/codemirror/mode/javascript/index.html +88 -0
  69. data/examples/examples01/static/js/codemirror/mode/javascript/javascript.js +411 -0
  70. data/examples/examples01/static/js/codemirror/mode/javascript/typescript.html +48 -0
  71. data/examples/examples01/static/js/codemirror/mode/jinja2/index.html +38 -0
  72. data/examples/examples01/static/js/codemirror/mode/jinja2/jinja2.js +42 -0
  73. data/examples/examples01/static/js/codemirror/mode/less/index.html +741 -0
  74. data/examples/examples01/static/js/codemirror/mode/less/less.js +266 -0
  75. data/examples/examples01/static/js/codemirror/mode/lua/index.html +74 -0
  76. data/examples/examples01/static/js/codemirror/mode/lua/lua.js +140 -0
  77. data/examples/examples01/static/js/codemirror/mode/markdown/index.html +344 -0
  78. data/examples/examples01/static/js/codemirror/mode/markdown/markdown.js +474 -0
  79. data/examples/examples01/static/js/codemirror/mode/markdown/test.js +1266 -0
  80. data/examples/examples01/static/js/codemirror/mode/mysql/index.html +41 -0
  81. data/examples/examples01/static/js/codemirror/mode/mysql/mysql.js +203 -0
  82. data/examples/examples01/static/js/codemirror/mode/ntriples/index.html +33 -0
  83. data/examples/examples01/static/js/codemirror/mode/ntriples/ntriples.js +170 -0
  84. data/examples/examples01/static/js/codemirror/mode/ocaml/index.html +131 -0
  85. data/examples/examples01/static/js/codemirror/mode/ocaml/ocaml.js +113 -0
  86. data/examples/examples01/static/js/codemirror/mode/pascal/LICENSE +7 -0
  87. data/examples/examples01/static/js/codemirror/mode/pascal/index.html +48 -0
  88. data/examples/examples01/static/js/codemirror/mode/pascal/pascal.js +94 -0
  89. data/examples/examples01/static/js/codemirror/mode/perl/LICENSE +19 -0
  90. data/examples/examples01/static/js/codemirror/mode/perl/index.html +62 -0
  91. data/examples/examples01/static/js/codemirror/mode/perl/perl.js +816 -0
  92. data/examples/examples01/static/js/codemirror/mode/php/index.html +51 -0
  93. data/examples/examples01/static/js/codemirror/mode/php/php.js +129 -0
  94. data/examples/examples01/static/js/codemirror/mode/pig/index.html +42 -0
  95. data/examples/examples01/static/js/codemirror/mode/pig/pig.js +171 -0
  96. data/examples/examples01/static/js/codemirror/mode/plsql/index.html +62 -0
  97. data/examples/examples01/static/js/codemirror/mode/plsql/plsql.js +216 -0
  98. data/examples/examples01/static/js/codemirror/mode/properties/index.html +41 -0
  99. data/examples/examples01/static/js/codemirror/mode/properties/properties.js +63 -0
  100. data/examples/examples01/static/js/codemirror/mode/python/LICENSE.txt +21 -0
  101. data/examples/examples01/static/js/codemirror/mode/python/index.html +124 -0
  102. data/examples/examples01/static/js/codemirror/mode/python/python.js +340 -0
  103. data/examples/examples01/static/js/codemirror/mode/r/LICENSE +24 -0
  104. data/examples/examples01/static/js/codemirror/mode/r/index.html +74 -0
  105. data/examples/examples01/static/js/codemirror/mode/r/r.js +141 -0
  106. data/examples/examples01/static/js/codemirror/mode/rpm/changes/changes.js +19 -0
  107. data/examples/examples01/static/js/codemirror/mode/rpm/changes/index.html +53 -0
  108. data/examples/examples01/static/js/codemirror/mode/rpm/spec/index.html +99 -0
  109. data/examples/examples01/static/js/codemirror/mode/rpm/spec/spec.css +5 -0
  110. data/examples/examples01/static/js/codemirror/mode/rpm/spec/spec.js +66 -0
  111. data/examples/examples01/static/js/codemirror/mode/rst/index.html +526 -0
  112. data/examples/examples01/static/js/codemirror/mode/rst/rst.js +314 -0
  113. data/examples/examples01/static/js/codemirror/mode/ruby/LICENSE +24 -0
  114. data/examples/examples01/static/js/codemirror/mode/ruby/index.html +173 -0
  115. data/examples/examples01/static/js/codemirror/mode/ruby/ruby.js +195 -0
  116. data/examples/examples01/static/js/codemirror/mode/rust/index.html +48 -0
  117. data/examples/examples01/static/js/codemirror/mode/rust/rust.js +432 -0
  118. data/examples/examples01/static/js/codemirror/mode/scheme/index.html +65 -0
  119. data/examples/examples01/static/js/codemirror/mode/scheme/scheme.js +230 -0
  120. data/examples/examples01/static/js/codemirror/mode/shell/index.html +51 -0
  121. data/examples/examples01/static/js/codemirror/mode/shell/shell.js +118 -0
  122. data/examples/examples01/static/js/codemirror/mode/sieve/LICENSE +23 -0
  123. data/examples/examples01/static/js/codemirror/mode/sieve/index.html +81 -0
  124. data/examples/examples01/static/js/codemirror/mode/sieve/sieve.js +156 -0
  125. data/examples/examples01/static/js/codemirror/mode/smalltalk/index.html +57 -0
  126. data/examples/examples01/static/js/codemirror/mode/smalltalk/smalltalk.js +139 -0
  127. data/examples/examples01/static/js/codemirror/mode/smarty/index.html +83 -0
  128. data/examples/examples01/static/js/codemirror/mode/smarty/smarty.js +148 -0
  129. data/examples/examples01/static/js/codemirror/mode/sparql/index.html +42 -0
  130. data/examples/examples01/static/js/codemirror/mode/sparql/sparql.js +143 -0
  131. data/examples/examples01/static/js/codemirror/mode/stex/index.html +98 -0
  132. data/examples/examples01/static/js/codemirror/mode/stex/stex.js +175 -0
  133. data/examples/examples01/static/js/codemirror/mode/stex/test.js +343 -0
  134. data/examples/examples01/static/js/codemirror/mode/tiddlywiki/index.html +142 -0
  135. data/examples/examples01/static/js/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  136. data/examples/examples01/static/js/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  137. data/examples/examples01/static/js/codemirror/mode/tiki/index.html +81 -0
  138. data/examples/examples01/static/js/codemirror/mode/tiki/tiki.css +26 -0
  139. data/examples/examples01/static/js/codemirror/mode/tiki/tiki.js +309 -0
  140. data/examples/examples01/static/js/codemirror/mode/vb/LICENSE.txt +21 -0
  141. data/examples/examples01/static/js/codemirror/mode/vb/index.html +88 -0
  142. data/examples/examples01/static/js/codemirror/mode/vb/vb.js +260 -0
  143. data/examples/examples01/static/js/codemirror/mode/vbscript/index.html +42 -0
  144. data/examples/examples01/static/js/codemirror/mode/vbscript/vbscript.js +26 -0
  145. data/examples/examples01/static/js/codemirror/mode/velocity/index.html +103 -0
  146. data/examples/examples01/static/js/codemirror/mode/velocity/velocity.js +144 -0
  147. data/examples/examples01/static/js/codemirror/mode/verilog/index.html +210 -0
  148. data/examples/examples01/static/js/codemirror/mode/verilog/verilog.js +182 -0
  149. data/examples/examples01/static/js/codemirror/mode/xml/index.html +45 -0
  150. data/examples/examples01/static/js/codemirror/mode/xml/xml.js +324 -0
  151. data/examples/examples01/static/js/codemirror/mode/xquery/LICENSE +20 -0
  152. data/examples/examples01/static/js/codemirror/mode/xquery/index.html +221 -0
  153. data/examples/examples01/static/js/codemirror/mode/xquery/test.js +77 -0
  154. data/examples/examples01/static/js/codemirror/mode/xquery/xquery.js +450 -0
  155. data/examples/examples01/static/js/codemirror/mode/yaml/index.html +68 -0
  156. data/examples/examples01/static/js/codemirror/mode/yaml/yaml.js +95 -0
  157. data/examples/examples01/static/js/codemirror/mode/z80/index.html +39 -0
  158. data/examples/examples01/static/js/codemirror/mode/z80/z80.js +113 -0
  159. data/examples/examples01/static/js/codemirror/theme/ambiance-mobile.css +6 -0
  160. data/examples/examples01/static/js/codemirror/theme/ambiance.css +76 -0
  161. data/examples/examples01/static/js/codemirror/theme/blackboard.css +25 -0
  162. data/examples/examples01/static/js/codemirror/theme/cobalt.css +18 -0
  163. data/examples/examples01/static/js/codemirror/theme/eclipse.css +25 -0
  164. data/examples/examples01/static/js/codemirror/theme/elegant.css +10 -0
  165. data/examples/examples01/static/js/codemirror/theme/erlang-dark.css +21 -0
  166. data/examples/examples01/static/js/codemirror/theme/lesser-dark.css +44 -0
  167. data/examples/examples01/static/js/codemirror/theme/monokai.css +28 -0
  168. data/examples/examples01/static/js/codemirror/theme/neat.css +9 -0
  169. data/examples/examples01/static/js/codemirror/theme/night.css +21 -0
  170. data/examples/examples01/static/js/codemirror/theme/rubyblue.css +21 -0
  171. data/examples/examples01/static/js/codemirror/theme/solarized.css +207 -0
  172. data/examples/examples01/static/js/codemirror/theme/twilight.css +26 -0
  173. data/examples/examples01/static/js/codemirror/theme/vibrant-ink.css +27 -0
  174. data/examples/examples01/static/js/codemirror/theme/xq-dark.css +46 -0
  175. data/examples/examples01/static/js/d3.v3.min.js +2 -2
  176. data/examples/examples01/static/test/cm.html +33 -0
  177. data/examples/examples01/views/about.slim +15 -0
  178. data/examples/examples01/views/index.slim +1 -1
  179. data/examples/examples01/views/layout.slim +1 -0
  180. data/examples/examples01/views/layout_cm.slim +17 -0
  181. data/examples/examples01/views/navbar.slim +4 -4
  182. data/lib/swagr/version.rb +1 -1
  183. data/templates/app.rb +4 -0
  184. data/templates/static/js/codemirror/keymap/emacs.js +30 -0
  185. data/templates/static/js/codemirror/keymap/vim.js +2298 -0
  186. data/templates/static/js/codemirror/lib/codemirror.css +239 -0
  187. data/templates/static/js/codemirror/lib/codemirror.js +4553 -0
  188. data/templates/static/js/codemirror/lib/util/closetag.js +85 -0
  189. data/templates/static/js/codemirror/lib/util/colorize.js +29 -0
  190. data/templates/static/js/codemirror/lib/util/continuecomment.js +36 -0
  191. data/templates/static/js/codemirror/lib/util/continuelist.js +28 -0
  192. data/templates/static/js/codemirror/lib/util/dialog.css +32 -0
  193. data/templates/static/js/codemirror/lib/util/dialog.js +75 -0
  194. data/templates/static/js/codemirror/lib/util/foldcode.js +182 -0
  195. data/templates/static/js/codemirror/lib/util/formatting.js +108 -0
  196. data/templates/static/js/codemirror/lib/util/javascript-hint.js +137 -0
  197. data/templates/static/js/codemirror/lib/util/loadmode.js +51 -0
  198. data/templates/static/js/codemirror/lib/util/match-highlighter.js +46 -0
  199. data/templates/static/js/codemirror/lib/util/matchbrackets.js +63 -0
  200. data/templates/static/js/codemirror/lib/util/multiplex.js +95 -0
  201. data/templates/static/js/codemirror/lib/util/overlay.js +59 -0
  202. data/templates/static/js/codemirror/lib/util/pig-hint.js +117 -0
  203. data/templates/static/js/codemirror/lib/util/runmode-standalone.js +90 -0
  204. data/templates/static/js/codemirror/lib/util/runmode.js +52 -0
  205. data/templates/static/js/codemirror/lib/util/search.js +119 -0
  206. data/templates/static/js/codemirror/lib/util/searchcursor.js +119 -0
  207. data/templates/static/js/codemirror/lib/util/simple-hint.css +16 -0
  208. data/templates/static/js/codemirror/lib/util/simple-hint.js +102 -0
  209. data/templates/static/js/codemirror/lib/util/xml-hint.js +131 -0
  210. data/templates/static/js/codemirror/mode/clike/clike.js +300 -0
  211. data/templates/static/js/codemirror/mode/clike/index.html +103 -0
  212. data/templates/static/js/codemirror/mode/clike/scala.html +767 -0
  213. data/templates/static/js/codemirror/mode/clojure/clojure.js +206 -0
  214. data/templates/static/js/codemirror/mode/clojure/index.html +67 -0
  215. data/templates/static/js/codemirror/mode/coffeescript/LICENSE +22 -0
  216. data/templates/static/js/codemirror/mode/coffeescript/coffeescript.js +346 -0
  217. data/templates/static/js/codemirror/mode/coffeescript/index.html +728 -0
  218. data/templates/static/js/codemirror/mode/commonlisp/commonlisp.js +101 -0
  219. data/templates/static/js/codemirror/mode/commonlisp/index.html +165 -0
  220. data/templates/static/js/codemirror/mode/css/css.js +465 -0
  221. data/templates/static/js/codemirror/mode/css/index.html +58 -0
  222. data/templates/static/js/codemirror/mode/css/test.js +501 -0
  223. data/templates/static/js/codemirror/mode/diff/diff.js +32 -0
  224. data/templates/static/js/codemirror/mode/diff/index.html +105 -0
  225. data/templates/static/js/codemirror/mode/ecl/ecl.js +192 -0
  226. data/templates/static/js/codemirror/mode/ecl/index.html +39 -0
  227. data/templates/static/js/codemirror/mode/erlang/erlang.js +463 -0
  228. data/templates/static/js/codemirror/mode/erlang/index.html +64 -0
  229. data/templates/static/js/codemirror/mode/gfm/gfm.js +94 -0
  230. data/templates/static/js/codemirror/mode/gfm/index.html +70 -0
  231. data/templates/static/js/codemirror/mode/gfm/test.js +225 -0
  232. data/templates/static/js/codemirror/mode/go/go.js +165 -0
  233. data/templates/static/js/codemirror/mode/go/index.html +74 -0
  234. data/templates/static/js/codemirror/mode/groovy/groovy.js +210 -0
  235. data/templates/static/js/codemirror/mode/groovy/index.html +73 -0
  236. data/templates/static/js/codemirror/mode/haskell/haskell.js +242 -0
  237. data/templates/static/js/codemirror/mode/haskell/index.html +62 -0
  238. data/templates/static/js/codemirror/mode/haxe/haxe.js +429 -0
  239. data/templates/static/js/codemirror/mode/haxe/index.html +90 -0
  240. data/templates/static/js/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  241. data/templates/static/js/codemirror/mode/htmlembedded/index.html +49 -0
  242. data/templates/static/js/codemirror/mode/htmlmixed/htmlmixed.js +84 -0
  243. data/templates/static/js/codemirror/mode/htmlmixed/index.html +52 -0
  244. data/templates/static/js/codemirror/mode/http/http.js +98 -0
  245. data/templates/static/js/codemirror/mode/http/index.html +32 -0
  246. data/templates/static/js/codemirror/mode/javascript/index.html +88 -0
  247. data/templates/static/js/codemirror/mode/javascript/javascript.js +411 -0
  248. data/templates/static/js/codemirror/mode/javascript/typescript.html +48 -0
  249. data/templates/static/js/codemirror/mode/jinja2/index.html +38 -0
  250. data/templates/static/js/codemirror/mode/jinja2/jinja2.js +42 -0
  251. data/templates/static/js/codemirror/mode/less/index.html +741 -0
  252. data/templates/static/js/codemirror/mode/less/less.js +266 -0
  253. data/templates/static/js/codemirror/mode/lua/index.html +74 -0
  254. data/templates/static/js/codemirror/mode/lua/lua.js +140 -0
  255. data/templates/static/js/codemirror/mode/markdown/index.html +344 -0
  256. data/templates/static/js/codemirror/mode/markdown/markdown.js +474 -0
  257. data/templates/static/js/codemirror/mode/markdown/test.js +1266 -0
  258. data/templates/static/js/codemirror/mode/mysql/index.html +41 -0
  259. data/templates/static/js/codemirror/mode/mysql/mysql.js +203 -0
  260. data/templates/static/js/codemirror/mode/ntriples/index.html +33 -0
  261. data/templates/static/js/codemirror/mode/ntriples/ntriples.js +170 -0
  262. data/templates/static/js/codemirror/mode/ocaml/index.html +131 -0
  263. data/templates/static/js/codemirror/mode/ocaml/ocaml.js +113 -0
  264. data/templates/static/js/codemirror/mode/pascal/LICENSE +7 -0
  265. data/templates/static/js/codemirror/mode/pascal/index.html +48 -0
  266. data/templates/static/js/codemirror/mode/pascal/pascal.js +94 -0
  267. data/templates/static/js/codemirror/mode/perl/LICENSE +19 -0
  268. data/templates/static/js/codemirror/mode/perl/index.html +62 -0
  269. data/templates/static/js/codemirror/mode/perl/perl.js +816 -0
  270. data/templates/static/js/codemirror/mode/php/index.html +51 -0
  271. data/templates/static/js/codemirror/mode/php/php.js +129 -0
  272. data/templates/static/js/codemirror/mode/pig/index.html +42 -0
  273. data/templates/static/js/codemirror/mode/pig/pig.js +171 -0
  274. data/templates/static/js/codemirror/mode/plsql/index.html +62 -0
  275. data/templates/static/js/codemirror/mode/plsql/plsql.js +216 -0
  276. data/templates/static/js/codemirror/mode/properties/index.html +41 -0
  277. data/templates/static/js/codemirror/mode/properties/properties.js +63 -0
  278. data/templates/static/js/codemirror/mode/python/LICENSE.txt +21 -0
  279. data/templates/static/js/codemirror/mode/python/index.html +124 -0
  280. data/templates/static/js/codemirror/mode/python/python.js +340 -0
  281. data/templates/static/js/codemirror/mode/r/LICENSE +24 -0
  282. data/templates/static/js/codemirror/mode/r/index.html +74 -0
  283. data/templates/static/js/codemirror/mode/r/r.js +141 -0
  284. data/templates/static/js/codemirror/mode/rpm/changes/changes.js +19 -0
  285. data/templates/static/js/codemirror/mode/rpm/changes/index.html +53 -0
  286. data/templates/static/js/codemirror/mode/rpm/spec/index.html +99 -0
  287. data/templates/static/js/codemirror/mode/rpm/spec/spec.css +5 -0
  288. data/templates/static/js/codemirror/mode/rpm/spec/spec.js +66 -0
  289. data/templates/static/js/codemirror/mode/rst/index.html +526 -0
  290. data/templates/static/js/codemirror/mode/rst/rst.js +314 -0
  291. data/templates/static/js/codemirror/mode/ruby/LICENSE +24 -0
  292. data/templates/static/js/codemirror/mode/ruby/index.html +173 -0
  293. data/templates/static/js/codemirror/mode/ruby/ruby.js +195 -0
  294. data/templates/static/js/codemirror/mode/rust/index.html +48 -0
  295. data/templates/static/js/codemirror/mode/rust/rust.js +432 -0
  296. data/templates/static/js/codemirror/mode/scheme/index.html +65 -0
  297. data/templates/static/js/codemirror/mode/scheme/scheme.js +230 -0
  298. data/templates/static/js/codemirror/mode/shell/index.html +51 -0
  299. data/templates/static/js/codemirror/mode/shell/shell.js +118 -0
  300. data/templates/static/js/codemirror/mode/sieve/LICENSE +23 -0
  301. data/templates/static/js/codemirror/mode/sieve/index.html +81 -0
  302. data/templates/static/js/codemirror/mode/sieve/sieve.js +156 -0
  303. data/templates/static/js/codemirror/mode/smalltalk/index.html +57 -0
  304. data/templates/static/js/codemirror/mode/smalltalk/smalltalk.js +139 -0
  305. data/templates/static/js/codemirror/mode/smarty/index.html +83 -0
  306. data/templates/static/js/codemirror/mode/smarty/smarty.js +148 -0
  307. data/templates/static/js/codemirror/mode/sparql/index.html +42 -0
  308. data/templates/static/js/codemirror/mode/sparql/sparql.js +143 -0
  309. data/templates/static/js/codemirror/mode/stex/index.html +98 -0
  310. data/templates/static/js/codemirror/mode/stex/stex.js +175 -0
  311. data/templates/static/js/codemirror/mode/stex/test.js +343 -0
  312. data/templates/static/js/codemirror/mode/tiddlywiki/index.html +142 -0
  313. data/templates/static/js/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  314. data/templates/static/js/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  315. data/templates/static/js/codemirror/mode/tiki/index.html +81 -0
  316. data/templates/static/js/codemirror/mode/tiki/tiki.css +26 -0
  317. data/templates/static/js/codemirror/mode/tiki/tiki.js +309 -0
  318. data/templates/static/js/codemirror/mode/vb/LICENSE.txt +21 -0
  319. data/templates/static/js/codemirror/mode/vb/index.html +88 -0
  320. data/templates/static/js/codemirror/mode/vb/vb.js +260 -0
  321. data/templates/static/js/codemirror/mode/vbscript/index.html +42 -0
  322. data/templates/static/js/codemirror/mode/vbscript/vbscript.js +26 -0
  323. data/templates/static/js/codemirror/mode/velocity/index.html +103 -0
  324. data/templates/static/js/codemirror/mode/velocity/velocity.js +144 -0
  325. data/templates/static/js/codemirror/mode/verilog/index.html +210 -0
  326. data/templates/static/js/codemirror/mode/verilog/verilog.js +182 -0
  327. data/templates/static/js/codemirror/mode/xml/index.html +45 -0
  328. data/templates/static/js/codemirror/mode/xml/xml.js +324 -0
  329. data/templates/static/js/codemirror/mode/xquery/LICENSE +20 -0
  330. data/templates/static/js/codemirror/mode/xquery/index.html +221 -0
  331. data/templates/static/js/codemirror/mode/xquery/test.js +77 -0
  332. data/templates/static/js/codemirror/mode/xquery/xquery.js +450 -0
  333. data/templates/static/js/codemirror/mode/yaml/index.html +68 -0
  334. data/templates/static/js/codemirror/mode/yaml/yaml.js +95 -0
  335. data/templates/static/js/codemirror/mode/z80/index.html +39 -0
  336. data/templates/static/js/codemirror/mode/z80/z80.js +113 -0
  337. data/templates/static/js/codemirror/theme/ambiance-mobile.css +6 -0
  338. data/templates/static/js/codemirror/theme/ambiance.css +76 -0
  339. data/templates/static/js/codemirror/theme/blackboard.css +25 -0
  340. data/templates/static/js/codemirror/theme/cobalt.css +18 -0
  341. data/templates/static/js/codemirror/theme/eclipse.css +25 -0
  342. data/templates/static/js/codemirror/theme/elegant.css +10 -0
  343. data/templates/static/js/codemirror/theme/erlang-dark.css +21 -0
  344. data/templates/static/js/codemirror/theme/lesser-dark.css +44 -0
  345. data/templates/static/js/codemirror/theme/monokai.css +28 -0
  346. data/templates/static/js/codemirror/theme/neat.css +9 -0
  347. data/templates/static/js/codemirror/theme/night.css +21 -0
  348. data/templates/static/js/codemirror/theme/rubyblue.css +21 -0
  349. data/templates/static/js/codemirror/theme/solarized.css +207 -0
  350. data/templates/static/js/codemirror/theme/twilight.css +26 -0
  351. data/templates/static/js/codemirror/theme/vibrant-ink.css +27 -0
  352. data/templates/static/js/codemirror/theme/xq-dark.css +46 -0
  353. data/templates/static/js/d3.v3.min.js +2 -2
  354. data/templates/static/test/cm.html +33 -0
  355. data/templates/views/about.slim +15 -0
  356. data/templates/views/index.slim +1 -1
  357. data/templates/views/layout.slim +1 -0
  358. data/templates/views/navbar.slim +4 -4
  359. metadata +347 -2
@@ -0,0 +1,816 @@
1
+ // CodeMirror2 mode/perl/perl.js (text/x-perl) beta 0.10 (2011-11-08)
2
+ // This is a part of CodeMirror from https://github.com/sabaca/CodeMirror_mode_perl (mail@sabaca.com)
3
+ CodeMirror.defineMode("perl",function(){
4
+ // http://perldoc.perl.org
5
+ var PERL={ // null - magic touch
6
+ // 1 - keyword
7
+ // 2 - def
8
+ // 3 - atom
9
+ // 4 - operator
10
+ // 5 - variable-2 (predefined)
11
+ // [x,y] - x=1,2,3; y=must be defined if x{...}
12
+ // PERL operators
13
+ '->' : 4,
14
+ '++' : 4,
15
+ '--' : 4,
16
+ '**' : 4,
17
+ // ! ~ \ and unary + and -
18
+ '=~' : 4,
19
+ '!~' : 4,
20
+ '*' : 4,
21
+ '/' : 4,
22
+ '%' : 4,
23
+ 'x' : 4,
24
+ '+' : 4,
25
+ '-' : 4,
26
+ '.' : 4,
27
+ '<<' : 4,
28
+ '>>' : 4,
29
+ // named unary operators
30
+ '<' : 4,
31
+ '>' : 4,
32
+ '<=' : 4,
33
+ '>=' : 4,
34
+ 'lt' : 4,
35
+ 'gt' : 4,
36
+ 'le' : 4,
37
+ 'ge' : 4,
38
+ '==' : 4,
39
+ '!=' : 4,
40
+ '<=>' : 4,
41
+ 'eq' : 4,
42
+ 'ne' : 4,
43
+ 'cmp' : 4,
44
+ '~~' : 4,
45
+ '&' : 4,
46
+ '|' : 4,
47
+ '^' : 4,
48
+ '&&' : 4,
49
+ '||' : 4,
50
+ '//' : 4,
51
+ '..' : 4,
52
+ '...' : 4,
53
+ '?' : 4,
54
+ ':' : 4,
55
+ '=' : 4,
56
+ '+=' : 4,
57
+ '-=' : 4,
58
+ '*=' : 4, // etc. ???
59
+ ',' : 4,
60
+ '=>' : 4,
61
+ '::' : 4,
62
+ // list operators (rightward)
63
+ 'not' : 4,
64
+ 'and' : 4,
65
+ 'or' : 4,
66
+ 'xor' : 4,
67
+ // PERL predefined variables (I know, what this is a paranoid idea, but may be needed for people, who learn PERL, and for me as well, ...and may be for you?;)
68
+ 'BEGIN' : [5,1],
69
+ 'END' : [5,1],
70
+ 'PRINT' : [5,1],
71
+ 'PRINTF' : [5,1],
72
+ 'GETC' : [5,1],
73
+ 'READ' : [5,1],
74
+ 'READLINE' : [5,1],
75
+ 'DESTROY' : [5,1],
76
+ 'TIE' : [5,1],
77
+ 'TIEHANDLE' : [5,1],
78
+ 'UNTIE' : [5,1],
79
+ 'STDIN' : 5,
80
+ 'STDIN_TOP' : 5,
81
+ 'STDOUT' : 5,
82
+ 'STDOUT_TOP' : 5,
83
+ 'STDERR' : 5,
84
+ 'STDERR_TOP' : 5,
85
+ '$ARG' : 5,
86
+ '$_' : 5,
87
+ '@ARG' : 5,
88
+ '@_' : 5,
89
+ '$LIST_SEPARATOR' : 5,
90
+ '$"' : 5,
91
+ '$PROCESS_ID' : 5,
92
+ '$PID' : 5,
93
+ '$$' : 5,
94
+ '$REAL_GROUP_ID' : 5,
95
+ '$GID' : 5,
96
+ '$(' : 5,
97
+ '$EFFECTIVE_GROUP_ID' : 5,
98
+ '$EGID' : 5,
99
+ '$)' : 5,
100
+ '$PROGRAM_NAME' : 5,
101
+ '$0' : 5,
102
+ '$SUBSCRIPT_SEPARATOR' : 5,
103
+ '$SUBSEP' : 5,
104
+ '$;' : 5,
105
+ '$REAL_USER_ID' : 5,
106
+ '$UID' : 5,
107
+ '$<' : 5,
108
+ '$EFFECTIVE_USER_ID' : 5,
109
+ '$EUID' : 5,
110
+ '$>' : 5,
111
+ '$a' : 5,
112
+ '$b' : 5,
113
+ '$COMPILING' : 5,
114
+ '$^C' : 5,
115
+ '$DEBUGGING' : 5,
116
+ '$^D' : 5,
117
+ '${^ENCODING}' : 5,
118
+ '$ENV' : 5,
119
+ '%ENV' : 5,
120
+ '$SYSTEM_FD_MAX' : 5,
121
+ '$^F' : 5,
122
+ '@F' : 5,
123
+ '${^GLOBAL_PHASE}' : 5,
124
+ '$^H' : 5,
125
+ '%^H' : 5,
126
+ '@INC' : 5,
127
+ '%INC' : 5,
128
+ '$INPLACE_EDIT' : 5,
129
+ '$^I' : 5,
130
+ '$^M' : 5,
131
+ '$OSNAME' : 5,
132
+ '$^O' : 5,
133
+ '${^OPEN}' : 5,
134
+ '$PERLDB' : 5,
135
+ '$^P' : 5,
136
+ '$SIG' : 5,
137
+ '%SIG' : 5,
138
+ '$BASETIME' : 5,
139
+ '$^T' : 5,
140
+ '${^TAINT}' : 5,
141
+ '${^UNICODE}' : 5,
142
+ '${^UTF8CACHE}' : 5,
143
+ '${^UTF8LOCALE}' : 5,
144
+ '$PERL_VERSION' : 5,
145
+ '$^V' : 5,
146
+ '${^WIN32_SLOPPY_STAT}' : 5,
147
+ '$EXECUTABLE_NAME' : 5,
148
+ '$^X' : 5,
149
+ '$1' : 5, // - regexp $1, $2...
150
+ '$MATCH' : 5,
151
+ '$&' : 5,
152
+ '${^MATCH}' : 5,
153
+ '$PREMATCH' : 5,
154
+ '$`' : 5,
155
+ '${^PREMATCH}' : 5,
156
+ '$POSTMATCH' : 5,
157
+ "$'" : 5,
158
+ '${^POSTMATCH}' : 5,
159
+ '$LAST_PAREN_MATCH' : 5,
160
+ '$+' : 5,
161
+ '$LAST_SUBMATCH_RESULT' : 5,
162
+ '$^N' : 5,
163
+ '@LAST_MATCH_END' : 5,
164
+ '@+' : 5,
165
+ '%LAST_PAREN_MATCH' : 5,
166
+ '%+' : 5,
167
+ '@LAST_MATCH_START' : 5,
168
+ '@-' : 5,
169
+ '%LAST_MATCH_START' : 5,
170
+ '%-' : 5,
171
+ '$LAST_REGEXP_CODE_RESULT' : 5,
172
+ '$^R' : 5,
173
+ '${^RE_DEBUG_FLAGS}' : 5,
174
+ '${^RE_TRIE_MAXBUF}' : 5,
175
+ '$ARGV' : 5,
176
+ '@ARGV' : 5,
177
+ 'ARGV' : 5,
178
+ 'ARGVOUT' : 5,
179
+ '$OUTPUT_FIELD_SEPARATOR' : 5,
180
+ '$OFS' : 5,
181
+ '$,' : 5,
182
+ '$INPUT_LINE_NUMBER' : 5,
183
+ '$NR' : 5,
184
+ '$.' : 5,
185
+ '$INPUT_RECORD_SEPARATOR' : 5,
186
+ '$RS' : 5,
187
+ '$/' : 5,
188
+ '$OUTPUT_RECORD_SEPARATOR' : 5,
189
+ '$ORS' : 5,
190
+ '$\\' : 5,
191
+ '$OUTPUT_AUTOFLUSH' : 5,
192
+ '$|' : 5,
193
+ '$ACCUMULATOR' : 5,
194
+ '$^A' : 5,
195
+ '$FORMAT_FORMFEED' : 5,
196
+ '$^L' : 5,
197
+ '$FORMAT_PAGE_NUMBER' : 5,
198
+ '$%' : 5,
199
+ '$FORMAT_LINES_LEFT' : 5,
200
+ '$-' : 5,
201
+ '$FORMAT_LINE_BREAK_CHARACTERS' : 5,
202
+ '$:' : 5,
203
+ '$FORMAT_LINES_PER_PAGE' : 5,
204
+ '$=' : 5,
205
+ '$FORMAT_TOP_NAME' : 5,
206
+ '$^' : 5,
207
+ '$FORMAT_NAME' : 5,
208
+ '$~' : 5,
209
+ '${^CHILD_ERROR_NATIVE}' : 5,
210
+ '$EXTENDED_OS_ERROR' : 5,
211
+ '$^E' : 5,
212
+ '$EXCEPTIONS_BEING_CAUGHT' : 5,
213
+ '$^S' : 5,
214
+ '$WARNING' : 5,
215
+ '$^W' : 5,
216
+ '${^WARNING_BITS}' : 5,
217
+ '$OS_ERROR' : 5,
218
+ '$ERRNO' : 5,
219
+ '$!' : 5,
220
+ '%OS_ERROR' : 5,
221
+ '%ERRNO' : 5,
222
+ '%!' : 5,
223
+ '$CHILD_ERROR' : 5,
224
+ '$?' : 5,
225
+ '$EVAL_ERROR' : 5,
226
+ '$@' : 5,
227
+ '$OFMT' : 5,
228
+ '$#' : 5,
229
+ '$*' : 5,
230
+ '$ARRAY_BASE' : 5,
231
+ '$[' : 5,
232
+ '$OLD_PERL_VERSION' : 5,
233
+ '$]' : 5,
234
+ // PERL blocks
235
+ 'if' :[1,1],
236
+ elsif :[1,1],
237
+ 'else' :[1,1],
238
+ 'while' :[1,1],
239
+ unless :[1,1],
240
+ 'for' :[1,1],
241
+ foreach :[1,1],
242
+ // PERL functions
243
+ 'abs' :1, // - absolute value function
244
+ accept :1, // - accept an incoming socket connect
245
+ alarm :1, // - schedule a SIGALRM
246
+ 'atan2' :1, // - arctangent of Y/X in the range -PI to PI
247
+ bind :1, // - binds an address to a socket
248
+ binmode :1, // - prepare binary files for I/O
249
+ bless :1, // - create an object
250
+ bootstrap :1, //
251
+ 'break' :1, // - break out of a "given" block
252
+ caller :1, // - get context of the current subroutine call
253
+ chdir :1, // - change your current working directory
254
+ chmod :1, // - changes the permissions on a list of files
255
+ chomp :1, // - remove a trailing record separator from a string
256
+ chop :1, // - remove the last character from a string
257
+ chown :1, // - change the owership on a list of files
258
+ chr :1, // - get character this number represents
259
+ chroot :1, // - make directory new root for path lookups
260
+ close :1, // - close file (or pipe or socket) handle
261
+ closedir :1, // - close directory handle
262
+ connect :1, // - connect to a remote socket
263
+ 'continue' :[1,1], // - optional trailing block in a while or foreach
264
+ 'cos' :1, // - cosine function
265
+ crypt :1, // - one-way passwd-style encryption
266
+ dbmclose :1, // - breaks binding on a tied dbm file
267
+ dbmopen :1, // - create binding on a tied dbm file
268
+ 'default' :1, //
269
+ defined :1, // - test whether a value, variable, or function is defined
270
+ 'delete' :1, // - deletes a value from a hash
271
+ die :1, // - raise an exception or bail out
272
+ 'do' :1, // - turn a BLOCK into a TERM
273
+ dump :1, // - create an immediate core dump
274
+ each :1, // - retrieve the next key/value pair from a hash
275
+ endgrent :1, // - be done using group file
276
+ endhostent :1, // - be done using hosts file
277
+ endnetent :1, // - be done using networks file
278
+ endprotoent :1, // - be done using protocols file
279
+ endpwent :1, // - be done using passwd file
280
+ endservent :1, // - be done using services file
281
+ eof :1, // - test a filehandle for its end
282
+ 'eval' :1, // - catch exceptions or compile and run code
283
+ 'exec' :1, // - abandon this program to run another
284
+ exists :1, // - test whether a hash key is present
285
+ exit :1, // - terminate this program
286
+ 'exp' :1, // - raise I to a power
287
+ fcntl :1, // - file control system call
288
+ fileno :1, // - return file descriptor from filehandle
289
+ flock :1, // - lock an entire file with an advisory lock
290
+ fork :1, // - create a new process just like this one
291
+ format :1, // - declare a picture format with use by the write() function
292
+ formline :1, // - internal function used for formats
293
+ getc :1, // - get the next character from the filehandle
294
+ getgrent :1, // - get next group record
295
+ getgrgid :1, // - get group record given group user ID
296
+ getgrnam :1, // - get group record given group name
297
+ gethostbyaddr :1, // - get host record given its address
298
+ gethostbyname :1, // - get host record given name
299
+ gethostent :1, // - get next hosts record
300
+ getlogin :1, // - return who logged in at this tty
301
+ getnetbyaddr :1, // - get network record given its address
302
+ getnetbyname :1, // - get networks record given name
303
+ getnetent :1, // - get next networks record
304
+ getpeername :1, // - find the other end of a socket connection
305
+ getpgrp :1, // - get process group
306
+ getppid :1, // - get parent process ID
307
+ getpriority :1, // - get current nice value
308
+ getprotobyname :1, // - get protocol record given name
309
+ getprotobynumber :1, // - get protocol record numeric protocol
310
+ getprotoent :1, // - get next protocols record
311
+ getpwent :1, // - get next passwd record
312
+ getpwnam :1, // - get passwd record given user login name
313
+ getpwuid :1, // - get passwd record given user ID
314
+ getservbyname :1, // - get services record given its name
315
+ getservbyport :1, // - get services record given numeric port
316
+ getservent :1, // - get next services record
317
+ getsockname :1, // - retrieve the sockaddr for a given socket
318
+ getsockopt :1, // - get socket options on a given socket
319
+ given :1, //
320
+ glob :1, // - expand filenames using wildcards
321
+ gmtime :1, // - convert UNIX time into record or string using Greenwich time
322
+ 'goto' :1, // - create spaghetti code
323
+ grep :1, // - locate elements in a list test true against a given criterion
324
+ hex :1, // - convert a string to a hexadecimal number
325
+ 'import' :1, // - patch a module's namespace into your own
326
+ index :1, // - find a substring within a string
327
+ 'int' :1, // - get the integer portion of a number
328
+ ioctl :1, // - system-dependent device control system call
329
+ 'join' :1, // - join a list into a string using a separator
330
+ keys :1, // - retrieve list of indices from a hash
331
+ kill :1, // - send a signal to a process or process group
332
+ last :1, // - exit a block prematurely
333
+ lc :1, // - return lower-case version of a string
334
+ lcfirst :1, // - return a string with just the next letter in lower case
335
+ length :1, // - return the number of bytes in a string
336
+ 'link' :1, // - create a hard link in the filesytem
337
+ listen :1, // - register your socket as a server
338
+ local : 2, // - create a temporary value for a global variable (dynamic scoping)
339
+ localtime :1, // - convert UNIX time into record or string using local time
340
+ lock :1, // - get a thread lock on a variable, subroutine, or method
341
+ 'log' :1, // - retrieve the natural logarithm for a number
342
+ lstat :1, // - stat a symbolic link
343
+ m :null, // - match a string with a regular expression pattern
344
+ map :1, // - apply a change to a list to get back a new list with the changes
345
+ mkdir :1, // - create a directory
346
+ msgctl :1, // - SysV IPC message control operations
347
+ msgget :1, // - get SysV IPC message queue
348
+ msgrcv :1, // - receive a SysV IPC message from a message queue
349
+ msgsnd :1, // - send a SysV IPC message to a message queue
350
+ my : 2, // - declare and assign a local variable (lexical scoping)
351
+ 'new' :1, //
352
+ next :1, // - iterate a block prematurely
353
+ no :1, // - unimport some module symbols or semantics at compile time
354
+ oct :1, // - convert a string to an octal number
355
+ open :1, // - open a file, pipe, or descriptor
356
+ opendir :1, // - open a directory
357
+ ord :1, // - find a character's numeric representation
358
+ our : 2, // - declare and assign a package variable (lexical scoping)
359
+ pack :1, // - convert a list into a binary representation
360
+ 'package' :1, // - declare a separate global namespace
361
+ pipe :1, // - open a pair of connected filehandles
362
+ pop :1, // - remove the last element from an array and return it
363
+ pos :1, // - find or set the offset for the last/next m//g search
364
+ print :1, // - output a list to a filehandle
365
+ printf :1, // - output a formatted list to a filehandle
366
+ prototype :1, // - get the prototype (if any) of a subroutine
367
+ push :1, // - append one or more elements to an array
368
+ q :null, // - singly quote a string
369
+ qq :null, // - doubly quote a string
370
+ qr :null, // - Compile pattern
371
+ quotemeta :null, // - quote regular expression magic characters
372
+ qw :null, // - quote a list of words
373
+ qx :null, // - backquote quote a string
374
+ rand :1, // - retrieve the next pseudorandom number
375
+ read :1, // - fixed-length buffered input from a filehandle
376
+ readdir :1, // - get a directory from a directory handle
377
+ readline :1, // - fetch a record from a file
378
+ readlink :1, // - determine where a symbolic link is pointing
379
+ readpipe :1, // - execute a system command and collect standard output
380
+ recv :1, // - receive a message over a Socket
381
+ redo :1, // - start this loop iteration over again
382
+ ref :1, // - find out the type of thing being referenced
383
+ rename :1, // - change a filename
384
+ require :1, // - load in external functions from a library at runtime
385
+ reset :1, // - clear all variables of a given name
386
+ 'return' :1, // - get out of a function early
387
+ reverse :1, // - flip a string or a list
388
+ rewinddir :1, // - reset directory handle
389
+ rindex :1, // - right-to-left substring search
390
+ rmdir :1, // - remove a directory
391
+ s :null, // - replace a pattern with a string
392
+ say :1, // - print with newline
393
+ scalar :1, // - force a scalar context
394
+ seek :1, // - reposition file pointer for random-access I/O
395
+ seekdir :1, // - reposition directory pointer
396
+ select :1, // - reset default output or do I/O multiplexing
397
+ semctl :1, // - SysV semaphore control operations
398
+ semget :1, // - get set of SysV semaphores
399
+ semop :1, // - SysV semaphore operations
400
+ send :1, // - send a message over a socket
401
+ setgrent :1, // - prepare group file for use
402
+ sethostent :1, // - prepare hosts file for use
403
+ setnetent :1, // - prepare networks file for use
404
+ setpgrp :1, // - set the process group of a process
405
+ setpriority :1, // - set a process's nice value
406
+ setprotoent :1, // - prepare protocols file for use
407
+ setpwent :1, // - prepare passwd file for use
408
+ setservent :1, // - prepare services file for use
409
+ setsockopt :1, // - set some socket options
410
+ shift :1, // - remove the first element of an array, and return it
411
+ shmctl :1, // - SysV shared memory operations
412
+ shmget :1, // - get SysV shared memory segment identifier
413
+ shmread :1, // - read SysV shared memory
414
+ shmwrite :1, // - write SysV shared memory
415
+ shutdown :1, // - close down just half of a socket connection
416
+ 'sin' :1, // - return the sine of a number
417
+ sleep :1, // - block for some number of seconds
418
+ socket :1, // - create a socket
419
+ socketpair :1, // - create a pair of sockets
420
+ 'sort' :1, // - sort a list of values
421
+ splice :1, // - add or remove elements anywhere in an array
422
+ 'split' :1, // - split up a string using a regexp delimiter
423
+ sprintf :1, // - formatted print into a string
424
+ 'sqrt' :1, // - square root function
425
+ srand :1, // - seed the random number generator
426
+ stat :1, // - get a file's status information
427
+ state :1, // - declare and assign a state variable (persistent lexical scoping)
428
+ study :1, // - optimize input data for repeated searches
429
+ 'sub' :1, // - declare a subroutine, possibly anonymously
430
+ 'substr' :1, // - get or alter a portion of a stirng
431
+ symlink :1, // - create a symbolic link to a file
432
+ syscall :1, // - execute an arbitrary system call
433
+ sysopen :1, // - open a file, pipe, or descriptor
434
+ sysread :1, // - fixed-length unbuffered input from a filehandle
435
+ sysseek :1, // - position I/O pointer on handle used with sysread and syswrite
436
+ system :1, // - run a separate program
437
+ syswrite :1, // - fixed-length unbuffered output to a filehandle
438
+ tell :1, // - get current seekpointer on a filehandle
439
+ telldir :1, // - get current seekpointer on a directory handle
440
+ tie :1, // - bind a variable to an object class
441
+ tied :1, // - get a reference to the object underlying a tied variable
442
+ time :1, // - return number of seconds since 1970
443
+ times :1, // - return elapsed time for self and child processes
444
+ tr :null, // - transliterate a string
445
+ truncate :1, // - shorten a file
446
+ uc :1, // - return upper-case version of a string
447
+ ucfirst :1, // - return a string with just the next letter in upper case
448
+ umask :1, // - set file creation mode mask
449
+ undef :1, // - remove a variable or function definition
450
+ unlink :1, // - remove one link to a file
451
+ unpack :1, // - convert binary structure into normal perl variables
452
+ unshift :1, // - prepend more elements to the beginning of a list
453
+ untie :1, // - break a tie binding to a variable
454
+ use :1, // - load in a module at compile time
455
+ utime :1, // - set a file's last access and modify times
456
+ values :1, // - return a list of the values in a hash
457
+ vec :1, // - test or set particular bits in a string
458
+ wait :1, // - wait for any child process to die
459
+ waitpid :1, // - wait for a particular child process to die
460
+ wantarray :1, // - get void vs scalar vs list context of current subroutine call
461
+ warn :1, // - print debugging info
462
+ when :1, //
463
+ write :1, // - print a picture record
464
+ y :null}; // - transliterate a string
465
+
466
+ var RXstyle="string-2";
467
+ var RXmodifiers=/[goseximacplud]/; // NOTE: "m", "s", "y" and "tr" need to correct real modifiers for each regexp type
468
+
469
+ function tokenChain(stream,state,chain,style,tail){ // NOTE: chain.length > 2 is not working now (it's for s[...][...]geos;)
470
+ state.chain=null; // 12 3tail
471
+ state.style=null;
472
+ state.tail=null;
473
+ state.tokenize=function(stream,state){
474
+ var e=false,c,i=0;
475
+ while(c=stream.next()){
476
+ if(c===chain[i]&&!e){
477
+ if(chain[++i]!==undefined){
478
+ state.chain=chain[i];
479
+ state.style=style;
480
+ state.tail=tail;}
481
+ else if(tail)
482
+ stream.eatWhile(tail);
483
+ state.tokenize=tokenPerl;
484
+ return style;}
485
+ e=!e&&c=="\\";}
486
+ return style;};
487
+ return state.tokenize(stream,state);}
488
+
489
+ function tokenSOMETHING(stream,state,string){
490
+ state.tokenize=function(stream,state){
491
+ if(stream.string==string)
492
+ state.tokenize=tokenPerl;
493
+ stream.skipToEnd();
494
+ return "string";};
495
+ return state.tokenize(stream,state);}
496
+
497
+ function tokenPerl(stream,state){
498
+ if(stream.eatSpace())
499
+ return null;
500
+ if(state.chain)
501
+ return tokenChain(stream,state,state.chain,state.style,state.tail);
502
+ if(stream.match(/^\-?[\d\.]/,false))
503
+ if(stream.match(/^(\-?(\d*\.\d+(e[+-]?\d+)?|\d+\.\d*)|0x[\da-fA-F]+|0b[01]+|\d+(e[+-]?\d+)?)/))
504
+ return 'number';
505
+ if(stream.match(/^<<(?=\w)/)){ // NOTE: <<SOMETHING\n...\nSOMETHING\n
506
+ stream.eatWhile(/\w/);
507
+ return tokenSOMETHING(stream,state,stream.current().substr(2));}
508
+ if(stream.sol()&&stream.match(/^\=item(?!\w)/)){// NOTE: \n=item...\n=cut\n
509
+ return tokenSOMETHING(stream,state,'=cut');}
510
+ var ch=stream.next();
511
+ if(ch=='"'||ch=="'"){ // NOTE: ' or " or <<'SOMETHING'\n...\nSOMETHING\n or <<"SOMETHING"\n...\nSOMETHING\n
512
+ if(stream.prefix(3)=="<<"+ch){
513
+ var p=stream.pos;
514
+ stream.eatWhile(/\w/);
515
+ var n=stream.current().substr(1);
516
+ if(n&&stream.eat(ch))
517
+ return tokenSOMETHING(stream,state,n);
518
+ stream.pos=p;}
519
+ return tokenChain(stream,state,[ch],"string");}
520
+ if(ch=="q"){
521
+ var c=stream.look(-2);
522
+ if(!(c&&/\w/.test(c))){
523
+ c=stream.look(0);
524
+ if(c=="x"){
525
+ c=stream.look(1);
526
+ if(c=="("){
527
+ stream.eatSuffix(2);
528
+ return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);}
529
+ if(c=="["){
530
+ stream.eatSuffix(2);
531
+ return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);}
532
+ if(c=="{"){
533
+ stream.eatSuffix(2);
534
+ return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);}
535
+ if(c=="<"){
536
+ stream.eatSuffix(2);
537
+ return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}
538
+ if(/[\^'"!~\/]/.test(c)){
539
+ stream.eatSuffix(1);
540
+ return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}}
541
+ else if(c=="q"){
542
+ c=stream.look(1);
543
+ if(c=="("){
544
+ stream.eatSuffix(2);
545
+ return tokenChain(stream,state,[")"],"string");}
546
+ if(c=="["){
547
+ stream.eatSuffix(2);
548
+ return tokenChain(stream,state,["]"],"string");}
549
+ if(c=="{"){
550
+ stream.eatSuffix(2);
551
+ return tokenChain(stream,state,["}"],"string");}
552
+ if(c=="<"){
553
+ stream.eatSuffix(2);
554
+ return tokenChain(stream,state,[">"],"string");}
555
+ if(/[\^'"!~\/]/.test(c)){
556
+ stream.eatSuffix(1);
557
+ return tokenChain(stream,state,[stream.eat(c)],"string");}}
558
+ else if(c=="w"){
559
+ c=stream.look(1);
560
+ if(c=="("){
561
+ stream.eatSuffix(2);
562
+ return tokenChain(stream,state,[")"],"bracket");}
563
+ if(c=="["){
564
+ stream.eatSuffix(2);
565
+ return tokenChain(stream,state,["]"],"bracket");}
566
+ if(c=="{"){
567
+ stream.eatSuffix(2);
568
+ return tokenChain(stream,state,["}"],"bracket");}
569
+ if(c=="<"){
570
+ stream.eatSuffix(2);
571
+ return tokenChain(stream,state,[">"],"bracket");}
572
+ if(/[\^'"!~\/]/.test(c)){
573
+ stream.eatSuffix(1);
574
+ return tokenChain(stream,state,[stream.eat(c)],"bracket");}}
575
+ else if(c=="r"){
576
+ c=stream.look(1);
577
+ if(c=="("){
578
+ stream.eatSuffix(2);
579
+ return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);}
580
+ if(c=="["){
581
+ stream.eatSuffix(2);
582
+ return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);}
583
+ if(c=="{"){
584
+ stream.eatSuffix(2);
585
+ return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);}
586
+ if(c=="<"){
587
+ stream.eatSuffix(2);
588
+ return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}
589
+ if(/[\^'"!~\/]/.test(c)){
590
+ stream.eatSuffix(1);
591
+ return tokenChain(stream,state,[stream.eat(c)],RXstyle,RXmodifiers);}}
592
+ else if(/[\^'"!~\/(\[{<]/.test(c)){
593
+ if(c=="("){
594
+ stream.eatSuffix(1);
595
+ return tokenChain(stream,state,[")"],"string");}
596
+ if(c=="["){
597
+ stream.eatSuffix(1);
598
+ return tokenChain(stream,state,["]"],"string");}
599
+ if(c=="{"){
600
+ stream.eatSuffix(1);
601
+ return tokenChain(stream,state,["}"],"string");}
602
+ if(c=="<"){
603
+ stream.eatSuffix(1);
604
+ return tokenChain(stream,state,[">"],"string");}
605
+ if(/[\^'"!~\/]/.test(c)){
606
+ return tokenChain(stream,state,[stream.eat(c)],"string");}}}}
607
+ if(ch=="m"){
608
+ var c=stream.look(-2);
609
+ if(!(c&&/\w/.test(c))){
610
+ c=stream.eat(/[(\[{<\^'"!~\/]/);
611
+ if(c){
612
+ if(/[\^'"!~\/]/.test(c)){
613
+ return tokenChain(stream,state,[c],RXstyle,RXmodifiers);}
614
+ if(c=="("){
615
+ return tokenChain(stream,state,[")"],RXstyle,RXmodifiers);}
616
+ if(c=="["){
617
+ return tokenChain(stream,state,["]"],RXstyle,RXmodifiers);}
618
+ if(c=="{"){
619
+ return tokenChain(stream,state,["}"],RXstyle,RXmodifiers);}
620
+ if(c=="<"){
621
+ return tokenChain(stream,state,[">"],RXstyle,RXmodifiers);}}}}
622
+ if(ch=="s"){
623
+ var c=/[\/>\]})\w]/.test(stream.look(-2));
624
+ if(!c){
625
+ c=stream.eat(/[(\[{<\^'"!~\/]/);
626
+ if(c){
627
+ if(c=="[")
628
+ return tokenChain(stream,state,["]","]"],RXstyle,RXmodifiers);
629
+ if(c=="{")
630
+ return tokenChain(stream,state,["}","}"],RXstyle,RXmodifiers);
631
+ if(c=="<")
632
+ return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers);
633
+ if(c=="(")
634
+ return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers);
635
+ return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}
636
+ if(ch=="y"){
637
+ var c=/[\/>\]})\w]/.test(stream.look(-2));
638
+ if(!c){
639
+ c=stream.eat(/[(\[{<\^'"!~\/]/);
640
+ if(c){
641
+ if(c=="[")
642
+ return tokenChain(stream,state,["]","]"],RXstyle,RXmodifiers);
643
+ if(c=="{")
644
+ return tokenChain(stream,state,["}","}"],RXstyle,RXmodifiers);
645
+ if(c=="<")
646
+ return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers);
647
+ if(c=="(")
648
+ return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers);
649
+ return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}
650
+ if(ch=="t"){
651
+ var c=/[\/>\]})\w]/.test(stream.look(-2));
652
+ if(!c){
653
+ c=stream.eat("r");if(c){
654
+ c=stream.eat(/[(\[{<\^'"!~\/]/);
655
+ if(c){
656
+ if(c=="[")
657
+ return tokenChain(stream,state,["]","]"],RXstyle,RXmodifiers);
658
+ if(c=="{")
659
+ return tokenChain(stream,state,["}","}"],RXstyle,RXmodifiers);
660
+ if(c=="<")
661
+ return tokenChain(stream,state,[">",">"],RXstyle,RXmodifiers);
662
+ if(c=="(")
663
+ return tokenChain(stream,state,[")",")"],RXstyle,RXmodifiers);
664
+ return tokenChain(stream,state,[c,c],RXstyle,RXmodifiers);}}}}
665
+ if(ch=="`"){
666
+ return tokenChain(stream,state,[ch],"variable-2");}
667
+ if(ch=="/"){
668
+ if(!/~\s*$/.test(stream.prefix()))
669
+ return "operator";
670
+ else
671
+ return tokenChain(stream,state,[ch],RXstyle,RXmodifiers);}
672
+ if(ch=="$"){
673
+ var p=stream.pos;
674
+ if(stream.eatWhile(/\d/)||stream.eat("{")&&stream.eatWhile(/\d/)&&stream.eat("}"))
675
+ return "variable-2";
676
+ else
677
+ stream.pos=p;}
678
+ if(/[$@%]/.test(ch)){
679
+ var p=stream.pos;
680
+ if(stream.eat("^")&&stream.eat(/[A-Z]/)||!/[@$%&]/.test(stream.look(-2))&&stream.eat(/[=|\\\-#?@;:&`~\^!\[\]*'"$+.,\/<>()]/)){
681
+ var c=stream.current();
682
+ if(PERL[c])
683
+ return "variable-2";}
684
+ stream.pos=p;}
685
+ if(/[$@%&]/.test(ch)){
686
+ if(stream.eatWhile(/[\w$\[\]]/)||stream.eat("{")&&stream.eatWhile(/[\w$\[\]]/)&&stream.eat("}")){
687
+ var c=stream.current();
688
+ if(PERL[c])
689
+ return "variable-2";
690
+ else
691
+ return "variable";}}
692
+ if(ch=="#"){
693
+ if(stream.look(-2)!="$"){
694
+ stream.skipToEnd();
695
+ return "comment";}}
696
+ if(/[:+\-\^*$&%@=<>!?|\/~\.]/.test(ch)){
697
+ var p=stream.pos;
698
+ stream.eatWhile(/[:+\-\^*$&%@=<>!?|\/~\.]/);
699
+ if(PERL[stream.current()])
700
+ return "operator";
701
+ else
702
+ stream.pos=p;}
703
+ if(ch=="_"){
704
+ if(stream.pos==1){
705
+ if(stream.suffix(6)=="_END__"){
706
+ return tokenChain(stream,state,['\0'],"comment");}
707
+ else if(stream.suffix(7)=="_DATA__"){
708
+ return tokenChain(stream,state,['\0'],"variable-2");}
709
+ else if(stream.suffix(7)=="_C__"){
710
+ return tokenChain(stream,state,['\0'],"string");}}}
711
+ if(/\w/.test(ch)){
712
+ var p=stream.pos;
713
+ if(stream.look(-2)=="{"&&(stream.look(0)=="}"||stream.eatWhile(/\w/)&&stream.look(0)=="}"))
714
+ return "string";
715
+ else
716
+ stream.pos=p;}
717
+ if(/[A-Z]/.test(ch)){
718
+ var l=stream.look(-2);
719
+ var p=stream.pos;
720
+ stream.eatWhile(/[A-Z_]/);
721
+ if(/[\da-z]/.test(stream.look(0))){
722
+ stream.pos=p;}
723
+ else{
724
+ var c=PERL[stream.current()];
725
+ if(!c)
726
+ return "meta";
727
+ if(c[1])
728
+ c=c[0];
729
+ if(l!=":"){
730
+ if(c==1)
731
+ return "keyword";
732
+ else if(c==2)
733
+ return "def";
734
+ else if(c==3)
735
+ return "atom";
736
+ else if(c==4)
737
+ return "operator";
738
+ else if(c==5)
739
+ return "variable-2";
740
+ else
741
+ return "meta";}
742
+ else
743
+ return "meta";}}
744
+ if(/[a-zA-Z_]/.test(ch)){
745
+ var l=stream.look(-2);
746
+ stream.eatWhile(/\w/);
747
+ var c=PERL[stream.current()];
748
+ if(!c)
749
+ return "meta";
750
+ if(c[1])
751
+ c=c[0];
752
+ if(l!=":"){
753
+ if(c==1)
754
+ return "keyword";
755
+ else if(c==2)
756
+ return "def";
757
+ else if(c==3)
758
+ return "atom";
759
+ else if(c==4)
760
+ return "operator";
761
+ else if(c==5)
762
+ return "variable-2";
763
+ else
764
+ return "meta";}
765
+ else
766
+ return "meta";}
767
+ return null;}
768
+
769
+ return{
770
+ startState:function(){
771
+ return{
772
+ tokenize:tokenPerl,
773
+ chain:null,
774
+ style:null,
775
+ tail:null};},
776
+ token:function(stream,state){
777
+ return (state.tokenize||tokenPerl)(stream,state);},
778
+ electricChars:"{}"};});
779
+
780
+ CodeMirror.defineMIME("text/x-perl", "perl");
781
+
782
+ // it's like "peek", but need for look-ahead or look-behind if index < 0
783
+ CodeMirror.StringStream.prototype.look=function(c){
784
+ return this.string.charAt(this.pos+(c||0));};
785
+
786
+ // return a part of prefix of current stream from current position
787
+ CodeMirror.StringStream.prototype.prefix=function(c){
788
+ if(c){
789
+ var x=this.pos-c;
790
+ return this.string.substr((x>=0?x:0),c);}
791
+ else{
792
+ return this.string.substr(0,this.pos-1);}};
793
+
794
+ // return a part of suffix of current stream from current position
795
+ CodeMirror.StringStream.prototype.suffix=function(c){
796
+ var y=this.string.length;
797
+ var x=y-this.pos+1;
798
+ return this.string.substr(this.pos,(c&&c<y?c:x));};
799
+
800
+ // return a part of suffix of current stream from current position and change current position
801
+ CodeMirror.StringStream.prototype.nsuffix=function(c){
802
+ var p=this.pos;
803
+ var l=c||(this.string.length-this.pos+1);
804
+ this.pos+=l;
805
+ return this.string.substr(p,l);};
806
+
807
+ // eating and vomiting a part of stream from current position
808
+ CodeMirror.StringStream.prototype.eatSuffix=function(c){
809
+ var x=this.pos+c;
810
+ var y;
811
+ if(x<=0)
812
+ this.pos=0;
813
+ else if(x>=(y=this.string.length-1))
814
+ this.pos=y;
815
+ else
816
+ this.pos=x;};