c2c0e5fa8323e2c5c1f54f20afda51b8.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. ace.define(
  2. "ace/snippets/perl",
  3. ["require", "exports", "module"],
  4. function (require, exports, module) {
  5. "use strict";
  6. exports.snippetText =
  7. "# #!/usr/bin/perl\n\
  8. snippet #!\n\
  9. #!/usr/bin/env perl\n\
  10. \n\
  11. # Hash Pointer\n\
  12. snippet .\n\
  13. =>\n\
  14. # Function\n\
  15. snippet sub\n\
  16. sub ${1:function_name} {\n\
  17. ${2:#body ...}\n\
  18. }\n\
  19. # Conditional\n\
  20. snippet if\n\
  21. if (${1}) {\n\
  22. ${2:# body...}\n\
  23. }\n\
  24. # Conditional if..else\n\
  25. snippet ife\n\
  26. if (${1}) {\n\
  27. ${2:# body...}\n\
  28. }\n\
  29. else {\n\
  30. ${3:# else...}\n\
  31. }\n\
  32. # Conditional if..elsif..else\n\
  33. snippet ifee\n\
  34. if (${1}) {\n\
  35. ${2:# body...}\n\
  36. }\n\
  37. elsif (${3}) {\n\
  38. ${4:# elsif...}\n\
  39. }\n\
  40. else {\n\
  41. ${5:# else...}\n\
  42. }\n\
  43. # Conditional One-line\n\
  44. snippet xif\n\
  45. ${1:expression} if ${2:condition};${3}\n\
  46. # Unless conditional\n\
  47. snippet unless\n\
  48. unless (${1}) {\n\
  49. ${2:# body...}\n\
  50. }\n\
  51. # Unless conditional One-line\n\
  52. snippet xunless\n\
  53. ${1:expression} unless ${2:condition};${3}\n\
  54. # Try/Except\n\
  55. snippet eval\n\
  56. local $@;\n\
  57. eval {\n\
  58. ${1:# do something risky...}\n\
  59. };\n\
  60. if (my $e = $@) {\n\
  61. ${2:# handle failure...}\n\
  62. }\n\
  63. # While Loop\n\
  64. snippet wh\n\
  65. while (${1}) {\n\
  66. ${2:# body...}\n\
  67. }\n\
  68. # While Loop One-line\n\
  69. snippet xwh\n\
  70. ${1:expression} while ${2:condition};${3}\n\
  71. # C-style For Loop\n\
  72. snippet cfor\n\
  73. for (my $${2:var} = 0; $$2 < ${1:count}; $$2${3:++}) {\n\
  74. ${4:# body...}\n\
  75. }\n\
  76. # For loop one-line\n\
  77. snippet xfor\n\
  78. ${1:expression} for @${2:array};${3}\n\
  79. # Foreach Loop\n\
  80. snippet for\n\
  81. foreach my $${1:x} (@${2:array}) {\n\
  82. ${3:# body...}\n\
  83. }\n\
  84. # Foreach Loop One-line\n\
  85. snippet fore\n\
  86. ${1:expression} foreach @${2:array};${3}\n\
  87. # Package\n\
  88. snippet package\n\
  89. package ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`};\n\
  90. \n\
  91. ${2}\n\
  92. \n\
  93. 1;\n\
  94. \n\
  95. __END__\n\
  96. # Package syntax perl >= 5.14\n\
  97. snippet packagev514\n\
  98. package ${1:`substitute(Filename('', 'Page Title'), '^.', '\\u&', '')`} ${2:0.99};\n\
  99. \n\
  100. ${3}\n\
  101. \n\
  102. 1;\n\
  103. \n\
  104. __END__\n\
  105. #moose\n\
  106. snippet moose\n\
  107. use Moose;\n\
  108. use namespace::autoclean;\n\
  109. ${1:#}BEGIN {extends '${2:ParentClass}'};\n\
  110. \n\
  111. ${3}\n\
  112. # parent\n\
  113. snippet parent\n\
  114. use parent qw(${1:Parent Class});\n\
  115. # Read File\n\
  116. snippet slurp\n\
  117. my $${1:var} = do { local $/; open my $file, '<', \"${2:file}\"; <$file> };\n\
  118. ${3}\n\
  119. # strict warnings\n\
  120. snippet strwar\n\
  121. use strict;\n\
  122. use warnings;\n\
  123. # older versioning with perlcritic bypass\n\
  124. snippet vers\n\
  125. ## no critic\n\
  126. our $VERSION = '${1:version}';\n\
  127. eval $VERSION;\n\
  128. ## use critic\n\
  129. # new 'switch' like feature\n\
  130. snippet switch\n\
  131. use feature 'switch';\n\
  132. \n\
  133. # Anonymous subroutine\n\
  134. snippet asub\n\
  135. sub {\n\
  136. ${1:# body }\n\
  137. }\n\
  138. \n\
  139. \n\
  140. \n\
  141. # Begin block\n\
  142. snippet begin\n\
  143. BEGIN {\n\
  144. ${1:# begin body}\n\
  145. }\n\
  146. \n\
  147. # call package function with some parameter\n\
  148. snippet pkgmv\n\
  149. __PACKAGE__->${1:package_method}(${2:var})\n\
  150. \n\
  151. # call package function without a parameter\n\
  152. snippet pkgm\n\
  153. __PACKAGE__->${1:package_method}()\n\
  154. \n\
  155. # call package \"get_\" function without a parameter\n\
  156. snippet pkget\n\
  157. __PACKAGE__->get_${1:package_method}()\n\
  158. \n\
  159. # call package function with a parameter\n\
  160. snippet pkgetv\n\
  161. __PACKAGE__->get_${1:package_method}(${2:var})\n\
  162. \n\
  163. # complex regex\n\
  164. snippet qrx\n\
  165. qr/\n\
  166. ${1:regex}\n\
  167. /xms\n\
  168. \n\
  169. #simpler regex\n\
  170. snippet qr/\n\
  171. qr/${1:regex}/x\n\
  172. \n\
  173. #given\n\
  174. snippet given\n\
  175. given ($${1:var}) {\n\
  176. ${2:# cases}\n\
  177. ${3:# default}\n\
  178. }\n\
  179. \n\
  180. # switch-like case\n\
  181. snippet when\n\
  182. when (${1:case}) {\n\
  183. ${2:# body}\n\
  184. }\n\
  185. \n\
  186. # hash slice\n\
  187. snippet hslice\n\
  188. @{ ${1:hash} }{ ${2:array} }\n\
  189. \n\
  190. \n\
  191. # map\n\
  192. snippet map\n\
  193. map { ${2: body } } ${1: @array } ;\n\
  194. \n\
  195. \n\
  196. \n\
  197. # Pod stub\n\
  198. snippet ppod\n\
  199. =head1 NAME\n\
  200. \n\
  201. ${1:ClassName} - ${2:ShortDesc}\n\
  202. \n\
  203. =head1 SYNOPSIS\n\
  204. \n\
  205. use $1;\n\
  206. \n\
  207. ${3:# synopsis...}\n\
  208. \n\
  209. =head1 DESCRIPTION\n\
  210. \n\
  211. ${4:# longer description...}\n\
  212. \n\
  213. \n\
  214. =head1 INTERFACE\n\
  215. \n\
  216. \n\
  217. =head1 DEPENDENCIES\n\
  218. \n\
  219. \n\
  220. =head1 SEE ALSO\n\
  221. \n\
  222. \n\
  223. # Heading for a subroutine stub\n\
  224. snippet psub\n\
  225. =head2 ${1:MethodName}\n\
  226. \n\
  227. ${2:Summary....}\n\
  228. \n\
  229. # Heading for inline subroutine pod\n\
  230. snippet psubi\n\
  231. =head2 ${1:MethodName}\n\
  232. \n\
  233. ${2:Summary...}\n\
  234. \n\
  235. \n\
  236. =cut\n\
  237. # inline documented subroutine\n\
  238. snippet subpod\n\
  239. =head2 $1\n\
  240. \n\
  241. Summary of $1\n\
  242. \n\
  243. =cut\n\
  244. \n\
  245. sub ${1:subroutine_name} {\n\
  246. ${2:# body...}\n\
  247. }\n\
  248. # Subroutine signature\n\
  249. snippet parg\n\
  250. =over 2\n\
  251. \n\
  252. =item\n\
  253. Arguments\n\
  254. \n\
  255. \n\
  256. =over 3\n\
  257. \n\
  258. =item\n\
  259. C<${1:DataStructure}>\n\
  260. \n\
  261. ${2:Sample}\n\
  262. \n\
  263. \n\
  264. =back\n\
  265. \n\
  266. \n\
  267. =item\n\
  268. Return\n\
  269. \n\
  270. =over 3\n\
  271. \n\
  272. \n\
  273. =item\n\
  274. C<${3:...return data}>\n\
  275. \n\
  276. \n\
  277. =back\n\
  278. \n\
  279. \n\
  280. =back\n\
  281. \n\
  282. \n\
  283. \n\
  284. # Moose has\n\
  285. snippet has\n\
  286. has ${1:attribute} => (\n\
  287. is => '${2:ro|rw}',\n\
  288. isa => '${3:Str|Int|HashRef|ArrayRef|etc}',\n\
  289. default => sub {\n\
  290. ${4:defaultvalue}\n\
  291. },\n\
  292. ${5:# other attributes}\n\
  293. );\n\
  294. \n\
  295. \n\
  296. # override\n\
  297. snippet override\n\
  298. override ${1:attribute} => sub {\n\
  299. ${2:# my $self = shift;};\n\
  300. ${3:# my ($self, $args) = @_;};\n\
  301. };\n\
  302. \n\
  303. \n\
  304. # use test classes\n\
  305. snippet tuse\n\
  306. use Test::More;\n\
  307. use Test::deep; # (); # uncomment to stop prototype errors\n\
  308. use Test::Exception;\n\
  309. \n\
  310. # local test lib\n\
  311. snippet tlib\n\
  312. use lib qw{ ./t/lib };\n\
  313. \n\
  314. #test methods\n\
  315. snippet tmeths\n\
  316. $ENV{TEST_METHOD} = '${1:regex}';\n\
  317. \n\
  318. # runtestclass\n\
  319. snippet trunner\n\
  320. use ${1:test_class};\n\
  321. $1->runtests();\n\
  322. \n\
  323. # Test::Class-style test\n\
  324. snippet tsub\n\
  325. sub t${1:number}_${2:test_case} :Test(${3:num_of_tests}) {\n\
  326. my $self = shift;\n\
  327. ${4:# body}\n\
  328. \n\
  329. }\n\
  330. \n\
  331. # Test::Routine-style test\n\
  332. snippet trsub\n\
  333. test ${1:test_name} => { description => '${2:Description of test.}'} => sub {\n\
  334. my ($self) = @_;\n\
  335. ${3:# test code}\n\
  336. };\n\
  337. \n\
  338. #prep test method\n\
  339. snippet tprep\n\
  340. sub prep${1:number}_${2:test_case} :Test(startup) {\n\
  341. my $self = shift;\n\
  342. ${4:# body}\n\
  343. }\n\
  344. \n\
  345. # cause failures to print stack trace\n\
  346. snippet debug_trace\n\
  347. use Carp; # 'verbose';\n\
  348. # cloak \"die\"\n\
  349. # warn \"warning\"\n\
  350. $SIG{'__DIE__'} = sub {\n\
  351. require Carp; Carp::confess\n\
  352. };\n\
  353. \n\
  354. ";
  355. exports.scope = "perl";
  356. }
  357. );
  358. (function () {
  359. ace.require(["ace/snippets/perl"], function (m) {
  360. if (typeof module == "object" && typeof exports == "object" && module) {
  361. module.exports = m;
  362. }
  363. });
  364. })();