ver 2010.02 → 2010.08

Sign up to get free protection for your applications and to get access to all the features.
Files changed (651) hide show
  1. data/.gitignore +1 -0
  2. data/.yardopts +1 -1
  3. data/AUTHORS +2 -2
  4. data/CHANGELOG +1160 -0
  5. data/MANIFEST +212 -62
  6. data/README.textile +68 -9
  7. data/Rakefile +2 -2
  8. data/bin/ver +33 -8
  9. data/config/commands/ANTLR.rb +11 -0
  10. data/config/commands/ActionScript.rb +102 -0
  11. data/config/commands/Active4D.rb +30 -0
  12. data/config/commands/Ada.rb +11 -0
  13. data/config/commands/Ant.rb +90 -0
  14. data/config/commands/Apache.rb +98 -0
  15. data/config/commands/AppleScript.rb +169 -0
  16. data/config/commands/Blogging.rb +72 -0
  17. data/config/commands/Bulletin Board.rb +10 -0
  18. data/config/commands/Bundle Development.rb +83 -0
  19. data/config/commands/C++ Qt.rb +158 -0
  20. data/config/commands/C.rb +82 -0
  21. data/config/commands/CMake.rb +32 -0
  22. data/config/commands/CSS.rb +76 -0
  23. data/config/commands/CTags.rb +29 -0
  24. data/config/commands/CVS.rb +114 -0
  25. data/config/commands/CoffeeScript.rb +58 -0
  26. data/config/commands/Context Free.rb +20 -0
  27. data/config/commands/Cucumber.rb +94 -0
  28. data/config/commands/D.rb +47 -0
  29. data/config/commands/Darcs.rb +72 -0
  30. data/config/commands/Diff.rb +76 -0
  31. data/config/commands/Doxygen.rb +9 -0
  32. data/config/commands/Experimental Wiki.rb +9 -0
  33. data/config/commands/Experimental.rb +172 -0
  34. data/config/commands/F-Script.rb +13 -0
  35. data/config/commands/FXScript.rb +11 -0
  36. data/config/commands/FileMerge.rb +42 -0
  37. data/config/commands/Fortran.rb +58 -0
  38. data/config/commands/GTD2.rb +134 -0
  39. data/config/commands/GTDAlt.rb +225 -0
  40. data/config/commands/GetBundle.rb +41 -0
  41. data/config/commands/Go.rb +29 -0
  42. data/config/commands/Graphviz.rb +11 -0
  43. data/config/commands/Greasemonkey.rb +158 -0
  44. data/config/commands/Gri.rb +11 -0
  45. data/config/commands/Groovy Grails.rb +174 -0
  46. data/config/commands/Groovy.rb +66 -0
  47. data/config/commands/HTML.rb +206 -0
  48. data/config/commands/Haskell.rb +48 -0
  49. data/config/commands/Hotkey.rb +50 -0
  50. data/config/commands/Hyperlink Helper.rb +81 -0
  51. data/config/commands/ImageBrowser.rb +10 -0
  52. data/config/commands/Io.rb +11 -0
  53. data/config/commands/JSFL.rb +29 -0
  54. data/config/commands/JSON.rb +11 -0
  55. data/config/commands/Java.rb +45 -0
  56. data/config/commands/JavaDoc.rb +12 -0
  57. data/config/commands/JavaScript Prototype & Script.aculo.us.rb +51 -0
  58. data/config/commands/JavaScript YUI.rb +12 -0
  59. data/config/commands/JavaScript jQuery.rb +12 -0
  60. data/config/commands/JavaScript.rb +50 -0
  61. data/config/commands/LaTeX.rb +423 -0
  62. data/config/commands/Lisp.rb +20 -0
  63. data/config/commands/Logo.rb +10 -0
  64. data/config/commands/Logtalk.rb +34 -0
  65. data/config/commands/Lua.rb +29 -0
  66. data/config/commands/MEL.rb +20 -0
  67. data/config/commands/Mail.rb +73 -0
  68. data/config/commands/Make.rb +20 -0
  69. data/config/commands/Man Pages.rb +20 -0
  70. data/config/commands/Markdown.rb +194 -0
  71. data/config/commands/Math.rb +79 -0
  72. data/config/commands/Matlab.rb +188 -0
  73. data/config/commands/Maven.rb +162 -0
  74. data/config/commands/Mediawiki.rb +12 -0
  75. data/config/commands/Mercurial.rb +185 -0
  76. data/config/commands/MoinMoin.rb +74 -0
  77. data/config/commands/Movable Type.rb +68 -0
  78. data/config/commands/Nemerle.rb +29 -0
  79. data/config/commands/OCaml Experimental Completions.rb +22 -0
  80. data/config/commands/OCaml.rb +99 -0
  81. data/config/commands/Objective-C.rb +181 -0
  82. data/config/commands/Outlines.rb +54 -0
  83. data/config/commands/PHP Smarty.rb +10 -0
  84. data/config/commands/Pascal.rb +11 -0
  85. data/config/commands/Perforce.rb +102 -0
  86. data/config/commands/Perl.rb +78 -0
  87. data/config/commands/Processing.rb +11 -0
  88. data/config/commands/Prolog.rb +11 -0
  89. data/config/commands/Property List.rb +38 -0
  90. data/config/commands/Python Django.rb +11 -0
  91. data/config/commands/Python.rb +131 -0
  92. data/config/commands/R Console (R.app).rb +80 -0
  93. data/config/commands/R Console (Rdaemon).rb +414 -0
  94. data/config/commands/R.rb +337 -0
  95. data/config/commands/Ragel.rb +10 -0
  96. data/config/commands/Regular Expressions.rb +18 -0
  97. data/config/commands/Remind.rb +44 -0
  98. data/config/commands/Ruby RSpec.rb +40 -0
  99. data/config/commands/Ruby on Rails.rb +331 -0
  100. data/config/commands/Ruby.rb +220 -0
  101. data/config/commands/S5 Slide Show.rb +37 -0
  102. data/config/commands/SCons.rb +24 -0
  103. data/config/commands/SQL.rb +60 -0
  104. data/config/commands/SVK.rb +83 -0
  105. data/config/commands/SWeave.rb +63 -0
  106. data/config/commands/Scheme.rb +30 -0
  107. data/config/commands/Scilab.rb +28 -0
  108. data/config/commands/Setext.rb +20 -0
  109. data/config/commands/Shell Script.rb +59 -0
  110. data/config/commands/Slate.rb +9 -0
  111. data/config/commands/Source.rb +84 -0
  112. data/config/commands/Standard ML.rb +38 -0
  113. data/config/commands/Subversion.rb +181 -0
  114. data/config/commands/TODO.rb +32 -0
  115. data/config/commands/Tcl.rb +21 -0
  116. data/config/commands/TerminalMate.rb +30 -0
  117. data/config/commands/Text.rb +137 -0
  118. data/config/commands/TextMate.rb +100 -0
  119. data/config/commands/Textile.rb +58 -0
  120. data/config/commands/Thrift.rb +20 -0
  121. data/config/commands/Transmit.rb +34 -0
  122. data/config/commands/Txt2tags.rb +213 -0
  123. data/config/commands/Vectorscript.rb +19 -0
  124. data/config/commands/Widget Creator.rb +23 -0
  125. data/config/commands/XML.rb +29 -0
  126. data/config/commands/Xcode.rb +106 -0
  127. data/config/commands/YAML.rb +39 -0
  128. data/config/commands/YARD.rb +12 -0
  129. data/config/commands/iTerm.rb +26 -0
  130. data/config/commands/reStructuredText.rb +126 -0
  131. data/config/detect.rb +13 -1
  132. data/config/keymap/diakonos.rb +113 -115
  133. data/config/keymap/emacs.rb +6 -2
  134. data/config/keymap/nano.rb +104 -112
  135. data/config/keymap/vim.rb +329 -258
  136. data/config/plugin/autosave.rb +3 -6
  137. data/config/plugin/git.rb +18 -12
  138. data/config/plugin/soma.rb +1 -1
  139. data/config/preferences/Apache.rb +17 -17
  140. data/config/preferences/AppleScript.rb +5 -5
  141. data/config/preferences/Bundle Development.rb +10 -10
  142. data/config/preferences/C.rb +38 -30
  143. data/config/preferences/CoffeeScript.rb +28 -0
  144. data/config/preferences/ColdFusion.rb +6 -6
  145. data/config/preferences/Cucumber.rb +40 -0
  146. data/config/preferences/Diff.rb +4 -4
  147. data/config/preferences/Eiffel.rb +6 -6
  148. data/config/preferences/Erlang.rb +16 -16
  149. data/config/preferences/F-Script.rb +12 -12
  150. data/config/preferences/FXScript.rb +5 -5
  151. data/config/preferences/Fortran.rb +17 -17
  152. data/config/preferences/Go.rb +23 -0
  153. data/config/preferences/Groovy.rb +29 -0
  154. data/config/preferences/HTML.rb +44 -44
  155. data/config/preferences/Haskell.rb +14 -14
  156. data/config/preferences/Io.rb +11 -11
  157. data/config/preferences/Java.rb +8 -8
  158. data/config/preferences/LaTeX.rb +24 -24
  159. data/config/preferences/Logo.rb +6 -6
  160. data/config/preferences/Logtalk.rb +5 -5
  161. data/config/preferences/Markdown.rb +43 -0
  162. data/config/preferences/Maven.rb +42 -42
  163. data/config/preferences/Mediawiki.rb +8 -8
  164. data/config/preferences/Movable Type.rb +14 -14
  165. data/config/preferences/OCaml.rb +15 -15
  166. data/config/preferences/Objective-C.rb +5 -5
  167. data/config/preferences/PHP.rb +2564 -0
  168. data/config/preferences/Property List.rb +8 -8
  169. data/config/preferences/R.rb +5 -5
  170. data/config/preferences/Ruby.rb +24 -24
  171. data/config/preferences/Source.rb +13 -13
  172. data/config/preferences/Standard ML.rb +9 -9
  173. data/config/preferences/Tcl.rb +5 -5
  174. data/config/preferences/Text.rb +14 -14
  175. data/config/preferences/TextMate.rb +5 -5
  176. data/config/preferences/Textile.rb +8 -8
  177. data/config/preferences/YARD.rb +9 -0
  178. data/config/preferences/iTerm.rb +9 -9
  179. data/config/rc.rb +5 -2
  180. data/config/snippets/ASP vb.NET.rb +203 -54
  181. data/config/snippets/ASP.rb +51 -36
  182. data/config/snippets/ActionScript.rb +332 -205
  183. data/config/snippets/Active4D.rb +325 -256
  184. data/config/snippets/Ada.rb +106 -60
  185. data/config/snippets/Ant.rb +7 -5
  186. data/config/snippets/Apache.rb +24 -20
  187. data/config/snippets/AppleScript.rb +213 -82
  188. data/config/snippets/Blogging.rb +41 -18
  189. data/config/snippets/Bulletin Board.rb +56 -21
  190. data/config/snippets/Bundle Development.rb +108 -63
  191. data/config/snippets/C++ Qt.rb +72 -57
  192. data/config/snippets/C.rb +128 -100
  193. data/config/snippets/CMake.rb +42 -32
  194. data/config/snippets/CSS.rb +515 -115
  195. data/config/snippets/CoffeeScript.rb +85 -0
  196. data/config/snippets/ColdFusion.rb +2228 -1547
  197. data/config/snippets/Context Free.rb +35 -28
  198. data/config/snippets/Cucumber.rb +55 -0
  199. data/config/snippets/D.rb +164 -111
  200. data/config/snippets/DokuWiki.rb +103 -54
  201. data/config/snippets/Doxygen.rb +87 -40
  202. data/config/snippets/Eiffel.rb +121 -18
  203. data/config/snippets/Erlang.rb +109 -68
  204. data/config/snippets/F-Script.rb +30 -24
  205. data/config/snippets/FXScript.rb +364 -210
  206. data/config/snippets/Fortran.rb +462 -280
  207. data/config/snippets/GTDAlt.rb +10 -4
  208. data/config/snippets/Gettext.rb +10 -8
  209. data/config/snippets/Go.rb +52 -0
  210. data/config/snippets/Greasemonkey.rb +52 -42
  211. data/config/snippets/Gri.rb +12 -10
  212. data/config/snippets/Groovy Grails.rb +313 -0
  213. data/config/snippets/Groovy.rb +685 -0
  214. data/config/snippets/HTML.rb +325 -126
  215. data/config/snippets/Haskell.rb +32 -24
  216. data/config/snippets/Io.rb +53 -42
  217. data/config/snippets/Java.rb +204 -92
  218. data/config/snippets/JavaDoc.rb +105 -56
  219. data/config/snippets/JavaScript MooTools.rb +208 -13
  220. data/config/snippets/JavaScript Objective-J.rb +18 -15
  221. data/config/snippets/JavaScript Prototype & Script.aculo.us.rb +362 -107
  222. data/config/snippets/JavaScript YUI.rb +1245 -186
  223. data/config/snippets/JavaScript jQuery.rb +693 -375
  224. data/config/snippets/JavaScript.rb +71 -53
  225. data/config/snippets/LaTeX.rb +188 -0
  226. data/config/snippets/Lisp.rb +59 -40
  227. data/config/snippets/Logo.rb +12 -6
  228. data/config/snippets/Logtalk.rb +131 -60
  229. data/config/snippets/Lua.rb +43 -33
  230. data/config/snippets/MIPS Assembler.rb +7 -5
  231. data/config/snippets/Mail.rb +10 -1
  232. data/config/snippets/Markdown.rb +7 -0
  233. data/config/snippets/Matlab.rb +232 -178
  234. data/config/snippets/Maven.rb +6 -5
  235. data/config/snippets/Mediawiki.rb +43 -12
  236. data/config/snippets/MoinMoin.rb +50 -10
  237. data/config/snippets/Movable Type.rb +368 -53
  238. data/config/snippets/Nemerle.rb +127 -79
  239. data/config/snippets/OCaml Code Completion Misc.rb +1716 -72
  240. data/config/snippets/OCaml Code Completion Unix.rb +2128 -203
  241. data/config/snippets/OCaml.rb +107 -73
  242. data/config/snippets/ODCompletion.rb +169 -118
  243. data/config/snippets/Objective-C.rb +281 -193
  244. data/config/snippets/PHP Smarty.rb +149 -79
  245. data/config/snippets/PHP.rb +186 -0
  246. data/config/snippets/Pascal.rb +47 -33
  247. data/config/snippets/Perl HTML-Template.rb +33 -0
  248. data/config/snippets/Perl Mason.rb +50 -30
  249. data/config/snippets/Perl Template Toolkit.rb +25 -20
  250. data/config/snippets/Perl.rb +91 -72
  251. data/config/snippets/Processing.rb +55 -33
  252. data/config/snippets/Propel.rb +36 -30
  253. data/config/snippets/Property List.rb +57 -24
  254. data/config/snippets/Python Django Templates.rb +381 -95
  255. data/config/snippets/Python Django.rb +159 -132
  256. data/config/snippets/Python.rb +88 -0
  257. data/config/snippets/R Console (Rdaemon).rb +11 -9
  258. data/config/snippets/R.rb +96 -77
  259. data/config/snippets/Remind.rb +18 -15
  260. data/config/snippets/Ruby RSpec.rb +343 -238
  261. data/config/snippets/Ruby on Rails.rb +1116 -765
  262. data/config/snippets/Ruby.rb +770 -545
  263. data/config/snippets/S5 Slide Show.rb +32 -24
  264. data/config/snippets/SSH Config.rb +21 -17
  265. data/config/snippets/SWIG.rb +30 -18
  266. data/config/snippets/Scilab.rb +98 -79
  267. data/config/snippets/Setext.rb +10 -8
  268. data/config/snippets/Shell Script.rb +52 -42
  269. data/config/snippets/Slate.rb +62 -48
  270. data/config/snippets/Source.rb +24 -1
  271. data/config/snippets/Standard ML.rb +37 -27
  272. data/config/snippets/Tcl.rb +32 -26
  273. data/config/snippets/Text.rb +28 -15
  274. data/config/snippets/Textile.rb +130 -45
  275. data/config/snippets/Thrift.rb +22 -18
  276. data/config/snippets/Twiki.rb +158 -105
  277. data/config/snippets/Txt2tags.rb +166 -79
  278. data/config/snippets/Vectorscript.rb +47 -38
  279. data/config/snippets/Widget Creator.rb +5 -5
  280. data/config/snippets/XML.rb +30 -18
  281. data/config/snippets/YAML.rb +5 -4
  282. data/config/snippets/YARD.rb +93 -0
  283. data/config/snippets/reStructuredText.rb +25 -20
  284. data/config/syntax/ANTLR.rb +17 -15
  285. data/config/syntax/ASP vb.NET.rb +27 -24
  286. data/config/syntax/ASP.rb +21 -19
  287. data/config/syntax/ActionScript.rb +16 -16
  288. data/config/syntax/Active4D Config.rb +5 -5
  289. data/config/syntax/Active4D Library.rb +2 -2
  290. data/config/syntax/Active4D.rb +32 -30
  291. data/config/syntax/Ada.rb +13 -10
  292. data/config/syntax/Ant.rb +9 -7
  293. data/config/syntax/Apache.rb +22 -18
  294. data/config/syntax/AppleScript.rb +486 -192
  295. data/config/syntax/AsciiDoc.rb +21 -0
  296. data/config/syntax/BibTeX.rb +7 -7
  297. data/config/syntax/Blog - HTML.rb +7 -7
  298. data/config/syntax/Blog - Markdown.rb +6 -6
  299. data/config/syntax/Blog - Text.rb +2 -2
  300. data/config/syntax/Blog - Textile.rb +2 -2
  301. data/config/syntax/Bulletin Board.rb +33 -32
  302. data/config/syntax/C++ Qt.rb +7 -6
  303. data/config/syntax/C++.rb +31 -28
  304. data/config/syntax/C.rb +55 -51
  305. data/config/syntax/CMake Listfile.rb +12 -11
  306. data/config/syntax/CSS.rb +24 -23
  307. data/config/syntax/CSV.rb +3 -3
  308. data/config/syntax/CoffeeScript.rb +161 -0
  309. data/config/syntax/ColdFusion.rb +8 -8
  310. data/config/syntax/Context Free.rb +18 -16
  311. data/config/syntax/Cucumber Steps.rb +108 -0
  312. data/config/syntax/D.rb +70 -69
  313. data/config/syntax/Diff.rb +13 -10
  314. data/config/syntax/DokuWiki.rb +22 -18
  315. data/config/syntax/Doxygen.rb +1 -1
  316. data/config/syntax/Dylan.rb +8 -8
  317. data/config/syntax/Eiffel.rb +12 -12
  318. data/config/syntax/Erlang.rb +96 -89
  319. data/config/syntax/F-Script.rb +11 -9
  320. data/config/syntax/FXScript.rb +16 -14
  321. data/config/syntax/Fortran - Modern.rb +25 -24
  322. data/config/syntax/Fortran - Punchcard.rb +43 -40
  323. data/config/syntax/GTD.rb +1 -1
  324. data/config/syntax/GTDalt.rb +14 -11
  325. data/config/syntax/Gettext.rb +10 -9
  326. data/config/syntax/Gherkin.rb +65 -0
  327. data/config/syntax/Go.rb +256 -0
  328. data/config/syntax/Grails Server Page.rb +108 -0
  329. data/config/syntax/Graphviz (DOT).rb +6 -6
  330. data/config/syntax/Greasemonkey.rb +3 -3
  331. data/config/syntax/Gri.rb +12 -12
  332. data/config/syntax/Groovy.rb +502 -0
  333. data/config/syntax/HTML (ASP).rb +3 -3
  334. data/config/syntax/HTML (ASP.net).rb +31 -31
  335. data/config/syntax/HTML (Active4D).rb +19 -19
  336. data/config/syntax/HTML (Django).rb +6 -6
  337. data/config/syntax/HTML (Erlang).rb +4 -4
  338. data/config/syntax/HTML (Mason).rb +13 -13
  339. data/config/syntax/HTML (Rails).rb +5 -5
  340. data/config/syntax/HTML (Tcl).rb +3 -3
  341. data/config/syntax/HTML (Template Toolkit).rb +9 -9
  342. data/config/syntax/HTML.rb +27 -27
  343. data/config/syntax/Haskell.rb +31 -28
  344. data/config/syntax/Inform.rb +5 -5
  345. data/config/syntax/Ini.rb +4 -4
  346. data/config/syntax/Installer Distribution Script.rb +19 -18
  347. data/config/syntax/Io.rb +17 -15
  348. data/config/syntax/JSFL.rb +7 -6
  349. data/config/syntax/Java Properties.rb +3 -3
  350. data/config/syntax/Java Server Page (JSP).rb +5 -4
  351. data/config/syntax/Java.rb +40 -33
  352. data/config/syntax/JavaDoc.rb +24 -22
  353. data/config/syntax/JavaScript (Rails).rb +1 -1
  354. data/config/syntax/JavaScript.rb +41 -34
  355. data/config/syntax/Javascript YUI.rb +109 -101
  356. data/config/syntax/LaTeX Beamer.rb +3 -3
  357. data/config/syntax/LaTeX Log.rb +3 -3
  358. data/config/syntax/LaTeX Memoir.rb +7 -5
  359. data/config/syntax/LaTeX Rdaemon.rb +1 -1
  360. data/config/syntax/LaTeX.rb +52 -47
  361. data/config/syntax/Language Grammar.rb +58 -55
  362. data/config/syntax/Lex-Flex.rb +13 -13
  363. data/config/syntax/Lighttpd.rb +7 -7
  364. data/config/syntax/Lisp.rb +6 -5
  365. data/config/syntax/Literate Haskell.rb +2 -2
  366. data/config/syntax/Logo.rb +4 -4
  367. data/config/syntax/Logtalk.rb +64 -49
  368. data/config/syntax/Lua.rb +12 -12
  369. data/config/syntax/MATLAB.rb +71 -70
  370. data/config/syntax/MEL.rb +16 -15
  371. data/config/syntax/MIPS Assembler.rb +11 -11
  372. data/config/syntax/MacPorts Portfile.rb +16 -15
  373. data/config/syntax/Mail.rb +5 -4
  374. data/config/syntax/Makefile.rb +3 -3
  375. data/config/syntax/Man.rb +2 -2
  376. data/config/syntax/Markdown.rb +440 -0
  377. data/config/syntax/Maven POM.rb +17 -16
  378. data/config/syntax/Mediawiki.rb +46 -46
  379. data/config/syntax/Modula-3.rb +7 -6
  380. data/config/syntax/MoinMoin.rb +16 -16
  381. data/config/syntax/MooTools.rb +75 -65
  382. data/config/syntax/Movable Type (MT only).rb +18 -18
  383. data/config/syntax/Movable Type.rb +20 -20
  384. data/config/syntax/MultiMarkdown.rb +35 -0
  385. data/config/syntax/Nemerle.rb +12 -12
  386. data/config/syntax/OCaml.rb +79 -71
  387. data/config/syntax/OCamllex.rb +14 -14
  388. data/config/syntax/OCamlyacc.rb +14 -12
  389. data/config/syntax/Objective-C++.rb +2 -2
  390. data/config/syntax/Objective-C.rb +76 -70
  391. data/config/syntax/Objective-J.rb +30 -29
  392. data/config/syntax/Octave.rb +27 -27
  393. data/config/syntax/OpenGL.rb +4 -4
  394. data/config/syntax/PHP.rb +1154 -0
  395. data/config/syntax/Pascal.rb +8 -8
  396. data/config/syntax/Perl HTML-Template.rb +5 -5
  397. data/config/syntax/Perl.rb +80 -76
  398. data/config/syntax/Plain Text.rb +5 -5
  399. data/config/syntax/Postscript.rb +6 -6
  400. data/config/syntax/Processing.rb +20 -20
  401. data/config/syntax/Prolog.rb +2 -2
  402. data/config/syntax/Property List.rb +50 -47
  403. data/config/syntax/Prototype & Script.aculo.us (JavaScript) Bracketed.rb +15 -13
  404. data/config/syntax/Prototype & Script.aculo.us (JavaScript).rb +9 -8
  405. data/config/syntax/Python Django.rb +6 -6
  406. data/config/syntax/Python.rb +94 -87
  407. data/config/syntax/Quake Style .cfg.rb +4 -4
  408. data/config/syntax/R Console (Rdaemon) Plain.rb +2 -2
  409. data/config/syntax/R Console (Rdaemon).rb +2 -2
  410. data/config/syntax/R.rb +21 -20
  411. data/config/syntax/RSpec.rb +15 -15
  412. data/config/syntax/Ragel.rb +14 -13
  413. data/config/syntax/Rd (R Documentation).rb +4 -4
  414. data/config/syntax/Regular Expressions (Oniguruma).rb +11 -10
  415. data/config/syntax/Regular Expressions (Python).rb +9 -9
  416. data/config/syntax/Release Notes.rb +7 -6
  417. data/config/syntax/Remind.rb +19 -17
  418. data/config/syntax/Rez.rb +10 -9
  419. data/config/syntax/Ruby Haml.rb +11 -11
  420. data/config/syntax/Ruby on Rails.rb +26 -24
  421. data/config/syntax/Ruby.rb +73 -71
  422. data/config/syntax/S5 Slide Show.rb +9 -9
  423. data/config/syntax/SQL.rb +29 -27
  424. data/config/syntax/SSH Config.rb +4 -4
  425. data/config/syntax/SWIG.rb +12 -11
  426. data/config/syntax/SWeave.rb +8 -7
  427. data/config/syntax/Scheme.rb +56 -54
  428. data/config/syntax/Scilab.rb +7 -6
  429. data/config/syntax/Setext.rb +14 -13
  430. data/config/syntax/Shell Script (Bash).rb +42 -42
  431. data/config/syntax/Slate.rb +24 -19
  432. data/config/syntax/Smarty.rb +11 -10
  433. data/config/syntax/Standard ML - CM.rb +2 -2
  434. data/config/syntax/Standard ML.rb +26 -23
  435. data/config/syntax/Strings File.rb +6 -6
  436. data/config/syntax/TSV.rb +2 -2
  437. data/config/syntax/Tcl.rb +10 -9
  438. data/config/syntax/TeX Math.rb +7 -6
  439. data/config/syntax/TeX.rb +7 -7
  440. data/config/syntax/Textile.rb +33 -27
  441. data/config/syntax/Thrift.rb +37 -29
  442. data/config/syntax/Twiki.rb +19 -18
  443. data/config/syntax/Txt2tags.rb +26 -23
  444. data/config/syntax/Vectorscript.rb +9 -7
  445. data/config/syntax/XML strict.rb +6 -4
  446. data/config/syntax/XML.rb +55 -30
  447. data/config/syntax/XSL.rb +5 -5
  448. data/config/syntax/YAML.rb +14 -12
  449. data/config/syntax/camlp4.rb +5 -5
  450. data/config/syntax/iCalendar.rb +3 -3
  451. data/config/syntax/jQuery (JavaScript).rb +9 -9
  452. data/config/syntax/mod_perl.rb +6 -6
  453. data/config/syntax/qmake Project file.rb +16 -15
  454. data/config/syntax/reStructuredText.rb +23 -21
  455. data/config/syntax/svn-commit.tmp.rb +5 -5
  456. data/lib/ver.rb +169 -85
  457. data/lib/ver/action.rb +39 -30
  458. data/lib/ver/buffer.rb +962 -144
  459. data/lib/ver/buffer/frame.rb +23 -0
  460. data/lib/ver/buffer/invalid_trailing_whitespace.rb +17 -0
  461. data/lib/ver/buffer/markup_underline_link.rb +30 -0
  462. data/lib/ver/buffer/matching_brace.rb +22 -0
  463. data/lib/ver/buffer/term.rb +1 -1
  464. data/lib/ver/clipboard.rb +107 -0
  465. data/lib/ver/digraphs.rb +1373 -0
  466. data/lib/ver/entry.rb +54 -43
  467. data/lib/ver/event.rb +335 -0
  468. data/lib/ver/exception_view.rb +3 -1
  469. data/lib/ver/executor.rb +7 -7
  470. data/lib/ver/executor/buffer.rb +4 -4
  471. data/lib/ver/executor/encoding.rb +19 -0
  472. data/lib/ver/executor/entry.rb +9 -9
  473. data/lib/ver/executor/fuzzy_file_finder.rb +1 -1
  474. data/lib/ver/executor/label.rb +2 -0
  475. data/lib/ver/executor/method.rb +2 -3
  476. data/lib/ver/help/describe_key.rb +44 -44
  477. data/lib/ver/hover_completion.rb +11 -6
  478. data/lib/ver/keymap.rb +68 -39
  479. data/lib/ver/layout/paned.rb +56 -44
  480. data/lib/ver/layout/toplevel.rb +68 -0
  481. data/lib/ver/layout/vim.rb +919 -0
  482. data/lib/ver/major_mode.rb +49 -49
  483. data/lib/ver/methods.rb +22 -25
  484. data/lib/ver/methods/basic.rb +49 -20
  485. data/lib/ver/methods/bookmark.rb +33 -33
  486. data/lib/ver/methods/clipboard.rb +186 -49
  487. data/lib/ver/methods/completion.rb +5 -5
  488. data/lib/ver/methods/control.rb +47 -66
  489. data/lib/ver/methods/delete.rb +5 -122
  490. data/lib/ver/methods/help.rb +2 -2
  491. data/lib/ver/methods/insert.rb +101 -29
  492. data/lib/ver/methods/layout.rb +62 -64
  493. data/lib/ver/methods/macro.rb +45 -0
  494. data/lib/ver/methods/move.rb +63 -349
  495. data/lib/ver/methods/nano.rb +99 -71
  496. data/lib/ver/methods/open.rb +8 -7
  497. data/lib/ver/methods/preview.rb +34 -14
  498. data/lib/ver/methods/save.rb +194 -163
  499. data/lib/ver/methods/search.rb +169 -81
  500. data/lib/ver/methods/search_and_replace.rb +62 -49
  501. data/lib/ver/methods/selection.rb +26 -54
  502. data/lib/ver/methods/snippet.rb +79 -54
  503. data/lib/ver/methods/undo.rb +12 -16
  504. data/lib/ver/minibuffer.rb +283 -134
  505. data/lib/ver/minor_mode.rb +36 -47
  506. data/lib/ver/mode_resolving.rb +71 -0
  507. data/lib/ver/platform.rb +41 -0
  508. data/lib/ver/plist.rb +16 -4
  509. data/lib/ver/register.rb +86 -0
  510. data/lib/ver/status.rb +44 -6
  511. data/lib/ver/status/battery.rb +1 -1
  512. data/lib/ver/status/buffer_position.rb +2 -2
  513. data/lib/ver/status/diakonos_position.rb +3 -3
  514. data/lib/ver/status/encoding.rb +1 -1
  515. data/lib/ver/status/filename.rb +1 -1
  516. data/lib/ver/status/label.rb +20 -20
  517. data/lib/ver/status/mode.rb +1 -1
  518. data/lib/ver/status/nano_help.rb +3 -14
  519. data/lib/ver/status/nano_position.rb +6 -6
  520. data/lib/ver/status/percent.rb +2 -2
  521. data/lib/ver/status/position.rb +2 -2
  522. data/lib/ver/status/short_filename.rb +1 -1
  523. data/lib/ver/status/syntax.rb +1 -1
  524. data/lib/ver/struct.rb +28 -0
  525. data/lib/ver/syntax/processor.rb +2 -1
  526. data/lib/ver/text.rb +48 -520
  527. data/lib/ver/text/end.rb +14 -0
  528. data/lib/ver/text/index.rb +16 -101
  529. data/lib/ver/text/insert.rb +138 -0
  530. data/lib/ver/text/mark.rb +559 -0
  531. data/lib/ver/text/position.rb +240 -0
  532. data/lib/ver/text/range.rb +74 -0
  533. data/lib/ver/text/selection.rb +402 -0
  534. data/lib/ver/text/selection/block.rb +69 -0
  535. data/lib/ver/text/selection/char.rb +93 -0
  536. data/lib/ver/text/selection/line.rb +64 -0
  537. data/lib/ver/text/tag.rb +322 -0
  538. data/lib/ver/undo.rb +109 -34
  539. data/lib/ver/vendor/eval_completer.rb +184 -0
  540. data/lib/ver/vendor/json_store.rb +23 -0
  541. data/lib/ver/vendor/open3.rb +729 -0
  542. data/lib/ver/vendor/pathname.rb +73 -0
  543. data/lib/ver/vendor/textpow.rb +1 -1
  544. data/lib/ver/version.rb +1 -1
  545. data/lib/ver/widget_event.rb +9 -5
  546. data/lib/ver/widget_major_mode.rb +69 -23
  547. data/spec/helper.rb +124 -8
  548. data/spec/ver/action.rb +160 -46
  549. data/spec/ver/buffer.rb +23 -0
  550. data/spec/ver/clipboard.rb +92 -0
  551. data/spec/ver/keymap.rb +63 -61
  552. data/spec/ver/keymap/diakonos.rb +88 -0
  553. data/spec/ver/keymap/emacs.rb +65 -0
  554. data/spec/ver/keymap/general.rb +98 -0
  555. data/spec/ver/keymap/nano.rb +84 -0
  556. data/spec/ver/keymap/vim.rb +205 -0
  557. data/spec/ver/keymap/vim/changing_text.rb +489 -0
  558. data/spec/ver/keymap/vim/complex_changes.rb +53 -0
  559. data/spec/ver/keymap/vim/copying_and_moving_text.rb +258 -0
  560. data/spec/ver/keymap/vim/deleting_text.rb +188 -0
  561. data/spec/ver/keymap/vim/digraphs.rb +52 -0
  562. data/spec/ver/keymap/vim/external_commands.rb +21 -0
  563. data/spec/ver/keymap/vim/inserting_mode_keys.rb +115 -0
  564. data/spec/ver/keymap/vim/inserting_mode_special.rb +168 -0
  565. data/spec/ver/keymap/vim/inserting_text.rb +108 -0
  566. data/spec/ver/keymap/vim/left_right_motion.rb +120 -0
  567. data/spec/ver/keymap/vim/mark_motion.rb +73 -0
  568. data/spec/ver/keymap/vim/repeating_commands.rb +64 -0
  569. data/spec/ver/keymap/vim/text_object_motion.rb +137 -0
  570. data/spec/ver/keymap/vim/text_objects.rb +101 -0
  571. data/spec/ver/keymap/vim/undo_redo.rb +21 -0
  572. data/spec/ver/keymap/vim/up_down_motion.rb +94 -0
  573. data/spec/ver/keymap/vim/various_motion.rb +33 -0
  574. data/spec/ver/keysyms.rb +13 -0
  575. data/spec/ver/major_mode.rb +37 -37
  576. data/spec/ver/minor_mode.rb +21 -20
  577. data/spec/ver/plugin/smart_autoindent.rb +2 -2
  578. data/spec/ver/text/index.rb +122 -0
  579. data/spec/ver/text/insert.rb +299 -0
  580. data/spec/ver/text/mark.rb +94 -0
  581. data/spec/ver/text/range.rb +71 -0
  582. data/spec/ver/text/selection.rb +315 -0
  583. data/spec/ver/text/tag.rb +93 -0
  584. data/spec/ver/undo.rb +133 -0
  585. data/spec/ver/undo/record_sanitize.rb +85 -0
  586. data/spec/ver/vendor/eval_completer.rb +91 -0
  587. data/spec/ver/widget_major_mode.rb +4 -3
  588. data/ver.gemspec +8 -8
  589. metadata +234 -72
  590. data/.todo +0 -102
  591. data/ROADMAP.textile +0 -187
  592. data/config/snippets/ANTLR.rb +0 -3
  593. data/config/snippets/Bison.rb +0 -3
  594. data/config/snippets/CTags.rb +0 -3
  595. data/config/snippets/CVS.rb +0 -3
  596. data/config/snippets/Darcs.rb +0 -3
  597. data/config/snippets/Diff.rb +0 -3
  598. data/config/snippets/Dylan.rb +0 -3
  599. data/config/snippets/Experimental Wiki.rb +0 -3
  600. data/config/snippets/Experimental.rb +0 -3
  601. data/config/snippets/FileMerge.rb +0 -3
  602. data/config/snippets/GTD2.rb +0 -3
  603. data/config/snippets/GetBundle.rb +0 -3
  604. data/config/snippets/Graphviz.rb +0 -3
  605. data/config/snippets/Hotkey.rb +0 -3
  606. data/config/snippets/Hyperlink Helper.rb +0 -3
  607. data/config/snippets/ImageBrowser.rb +0 -3
  608. data/config/snippets/Inform.rb +0 -3
  609. data/config/snippets/Ini.rb +0 -3
  610. data/config/snippets/Installer.rb +0 -3
  611. data/config/snippets/JSFL.rb +0 -3
  612. data/config/snippets/JSON.rb +0 -3
  613. data/config/snippets/Lex-Flex.rb +0 -3
  614. data/config/snippets/Lighttpd.rb +0 -3
  615. data/config/snippets/MEL.rb +0 -3
  616. data/config/snippets/MacPorts.rb +0 -3
  617. data/config/snippets/Make.rb +0 -3
  618. data/config/snippets/Man Pages.rb +0 -3
  619. data/config/snippets/Math.rb +0 -3
  620. data/config/snippets/Mercurial.rb +0 -3
  621. data/config/snippets/Modula.rb +0 -3
  622. data/config/snippets/Navigation.rb +0 -3
  623. data/config/snippets/OCaml Experimental Completions.rb +0 -3
  624. data/config/snippets/OpenGL.rb +0 -3
  625. data/config/snippets/Outlines.rb +0 -3
  626. data/config/snippets/Perforce.rb +0 -3
  627. data/config/snippets/Perl HTML::Template.rb +0 -27
  628. data/config/snippets/Postscript.rb +0 -3
  629. data/config/snippets/Prolog.rb +0 -3
  630. data/config/snippets/Quake.rb +0 -3
  631. data/config/snippets/R Console (R.app).rb +0 -3
  632. data/config/snippets/Ragel.rb +0 -3
  633. data/config/snippets/Regular Expressions.rb +0 -3
  634. data/config/snippets/Rez.rb +0 -3
  635. data/config/snippets/Ruby Haml.rb +0 -3
  636. data/config/snippets/SCons.rb +0 -3
  637. data/config/snippets/SQL.rb +0 -3
  638. data/config/snippets/SVK.rb +0 -3
  639. data/config/snippets/SWeave.rb +0 -3
  640. data/config/snippets/Scheme.rb +0 -3
  641. data/config/snippets/Subversion.rb +0 -3
  642. data/config/snippets/TODO.rb +0 -3
  643. data/config/snippets/Tabular.rb +0 -3
  644. data/config/snippets/TerminalMate.rb +0 -3
  645. data/config/snippets/TextMate.rb +0 -3
  646. data/config/snippets/Transmit.rb +0 -3
  647. data/config/snippets/Xcode.rb +0 -3
  648. data/config/snippets/iCalendar.rb +0 -3
  649. data/config/snippets/iTerm.rb +0 -3
  650. data/lib/ver/keysyms.rb +0 -104
  651. data/spec/ver/methods/move.rb +0 -150
@@ -1,282 +1,464 @@
1
1
  # Encoding: UTF-8
2
2
 
3
- {"al" =>
4
- {scope: "source.fortran",
5
- name: "Allocate Array",
6
- content:
7
- "allocate(${1:array}, stat=${2:err})\nif ($2 /= 0) print *, \"${1/(\\w+).*/$1/}: Allocation request denied\"\n"},
8
- "alloc" =>
9
- {scope: "source.fortran",
10
- name: "Allocate and Deallocate array",
11
- content:
12
- "allocate(${1:array}, stat=${2:err})\nif ($2 /= 0) print *, \"${1/(\\w+).*/$1/}: Allocation request denied\"\n\n$0if (allocated(${1/(\\w+).*/$1/})) deallocate(${1/(\\w+).*/$1/}, stat=$2)\nif ($2 /= 0) print *, \"${1/(\\w+).*/$1/}: Deallocation request denied$0\""},
13
- "and" => {scope: "source.fortran", name: "And", content: ".and."},
14
- "char" =>
15
- {scope: "source.fortran",
16
- name: "Character",
17
- content:
18
- "character(len=$1${2:, kind=$3})${4:, ${5:attributes}} :: ${6:name}"},
19
- "close" =>
20
- {scope: "source.fortran",
21
- name: "Close File",
22
- content:
23
- "close(unit=${1:iounit}, iostat=${2:ios}${3:, status=\"delete\"})\nif ( $2 /= 0 ) stop \"Error closing file unit $1\"\n"},
24
- "typ" =>
25
- {scope: "source.fortran",
26
- name: "Custom Type",
27
- content: "type(${1:type name})${2:, ${3:attributes}} :: ${4:name}"},
28
- "deal" =>
29
- {scope: "source.fortran",
30
- name: "Deallocate Array",
31
- content:
32
- "if (allocated($1)) deallocate(${1:array}, stat=${2:err})\nif ($2 /= 0) print *, \"$1: Deallocation request denied$0\""},
33
- "dot" =>
34
- {scope: "source.fortran",
35
- name: "Dot Product of Vectors",
36
- content: "dot_product($1,$2)"},
37
- "eq" => {scope: "source.fortran", name: "Equal", content: ".eq."},
38
- "eqv" => {scope: "source.fortran", name: "Equality", content: ".eqv."},
39
- "gt" => {scope: "source.fortran", name: "Greater Than", content: ".gt."},
40
- "ge" => {scope: "source.fortran", name: "Greater or Equal", content: ".ge."},
41
- "ido" =>
42
- {scope: "source.fortran",
43
- name: "Implied do",
44
- content: "(${1:i}, $1 = ${2:1}, ${3:100}, ${4:1})$0"},
45
- "maxloc" =>
46
- {scope: "source.fortran",
47
- name: "Index of Maximum",
48
- content: "maxloc(${1:source}${2:, mask=${3:($1>0)}})"},
49
- "minloc" =>
50
- {scope: "source.fortran",
51
- name: "Index of Minimum",
52
- content: "minloc(${1:source}${2:, mask=${3:$1>0}})"},
53
- "open" =>
54
- {scope: "source.fortran",
55
- name: "Scratch File",
56
- content:
57
- "open(unit=${1:iounit}, iostat=${3:ios}, status=\"${4:scratch}\", action=\"${5:readwrite}\")\nif ( $3 /= 0 ) stop \"Error opening scratch file on unit $1\"\n"},
58
- "inq" =>
59
- {scope: "source.fortran",
60
- name: "Inquire (by Unit)",
61
- content:
62
- "inquire(unit=${1:iounit}, opened=${2:ioopen}, name=${3:filename}, action=${4:ioaction})"},
63
- "int" =>
64
- {scope: "source.fortran",
65
- name: "Integer",
66
- content: "integer${1:(${2:kind})}${3:, ${4:attributes}} :: ${5:name}"},
67
- "lt" => {scope: "source.fortran", name: "Less Than", content: ".lt."},
68
- "le" => {scope: "source.fortran", name: "Less or Equal", content: ".le."},
69
- nil =>
70
- {scope: "source.fortran",
71
- name: "Wrap Selection in Array Brackets",
72
- content: "(/ $TM_SELECTED_TEXT$0 /)"},
73
- "log" =>
74
- {scope: "source.fortran",
75
- name: "Logical",
76
- content: "logical${1:(${2:kind})}${3:, ${4:attributes}} :: ${5:name}"},
77
- "lbound" =>
78
- {scope: "source.fortran",
79
- name: "Lower Bound",
80
- content: "lbound(${1:source}${2:, dim=${3:1}})"},
81
- "mat" =>
82
- {scope: "source.fortran",
83
- name: "Matrix Multiplication",
84
- content: "matmul($1,$2)"},
85
- "maxval" =>
86
- {scope: "source.fortran",
87
- name: "Maximum Value",
88
- content: "maxval(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})"},
89
- "minval" =>
90
- {scope: "source.fortran",
91
- name: "Minimum Value",
92
- content: "minval(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})"},
93
- "neqv" => {scope: "source.fortran", name: "Non-Equality", content: ".neqv."},
94
- "not" => {scope: "source.fortran", name: "Not", content: ".not."},
95
- "or" => {scope: "source.fortran", name: "Or", content: ".or."},
96
- "prod" =>
97
- {scope: "source.fortran",
98
- name: "Product of Elements",
99
- content: "product(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})"},
100
- "c" =>
101
- {scope: "source.fortran",
102
- name: "Quick Character",
103
- content: "character(len=*) :: "},
104
- "t" =>
105
- {scope: "source.fortran",
106
- name: "Quick Custom Type",
107
- content: "type(${1:type name}) :: "},
108
- "i" =>
109
- {scope: "source.fortran", name: "Quick Integer", content: "integer :: "},
110
- "l" =>
111
- {scope: "source.fortran", name: "Quick Logical", content: "logical :: "},
112
- "op" =>
113
- {scope: "source.fortran",
114
- name: "Quick Open",
115
- content:
116
- "open(unit=${1:iounit}, file=${2:name}, iostat=${3:ios})\nif ( $3 /= 0 ) stop \"Error opening file ${2/[\\\"\\'](.*)[\\\"\\']/$1/}\""},
117
- "re" => {scope: "source.fortran", name: "Quick Read", content: "read*, "},
118
- "r" => {scope: "source.fortran", name: "Quick Real", content: "real :: "},
119
- "wr" =>
120
- {scope: "source.fortran",
121
- name: "Quick Write",
122
- content: "write(unit=${1:iounit}, fmt=*) ${0:variables}\n"},
123
- "rn" =>
124
- {scope: "source.fortran",
125
- name: "Random Number",
126
- content: "call random_number($0)"},
127
- "rs" =>
128
- {scope: "source.fortran",
129
- name: "Random Seed",
130
- content: "call random_seed(${1:size=${2:<int>}}${3:put=(/$4/)})"},
131
- "rea" =>
132
- {scope: "source.fortran",
133
- name: "Real",
134
- content: "real${1:(${2:kind})}${3:, ${4:attributes}} :: ${5:name}"},
135
- "size" =>
136
- {scope: "source.fortran",
137
- name: "Size",
138
- content: "size(${1:source}${2:, dim=${3:1}})"},
139
- "sum" =>
140
- {scope: "source.fortran",
141
- name: "Sum of Elements",
142
- content: "sum(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})"},
143
- "type" =>
144
- {scope: "source.fortran",
145
- name: "Type Definition",
146
- content: "type ${1:type name}\n\t$0\nend type $1"},
147
- "ubound" =>
148
- {scope: "source.fortran",
149
- name: "Upper Bound",
150
- content: "ubound(${1:source}${2:, dim=${3:1}})"},
151
- "F" => {scope: "source.fortran", name: ".FALSE.", content: ".FALSE."},
152
- "T" => {scope: "source.fortran", name: ".TRUE.", content: ".TRUE."},
153
- "all" =>
154
- {scope: "source.fortran",
155
- name: "all",
156
- content: "all(${1:mask}${2:, dim=${3:1}})"},
157
- "any" =>
158
- {scope: "source.fortran",
159
- name: "any",
160
- content: "any(${1:mask}${2:, dim=${3:1}})"},
161
- "case" =>
162
- {scope: "source.fortran", name: "case", content: "case ${1:default}\n\t$0"},
163
- "count" =>
164
- {scope: "source.fortran",
165
- name: "count",
166
- content: "count(${1:mask}${2:, dim=${3:1}})"},
167
- "cy" => {scope: "source.fortran", name: "cycle", content: "cycle"},
168
- "data" =>
169
- {scope: "source.fortran",
170
- name: "data",
171
- content: "data ${1:variable} / ${2:data} /"},
172
- "dow" =>
173
- {scope: "source.fortran",
174
- name: "do while",
175
- content: "do while ( ${1:condition} )\n\t$0\nend do"},
176
- "do" =>
177
- {scope: "source.fortran",
178
- name: "do",
179
- content: "do${1: ${2:i} = ${3:1}, ${4:100}, ${5:1}}\n\t$0\nend do"},
180
- "elif" =>
181
- {scope: "source.fortran",
182
- name: "elseif",
183
- content: "elseif ( ${1:condition} ) then\n\t"},
184
- "for" =>
185
- {scope: "source.fortran.modern",
186
- name: "forall",
187
- content: "forall (${1:i=1:100}${2:, mask})\n\t$0\nend forall"},
188
- "fun" =>
189
- {scope: "source.fortran",
190
- name: "function",
191
- content:
192
- "function ${1:name}\n\t${2:argument type}, intent(${3:inout}) :: ${1/\\w+\\((.*)\\)|.*/$1/}\n\t${4:function type} :: ${1/(\\w+).*/$1/}\n\t$0\nend function ${1/(\\w+).*/$1/}"},
193
- "if" =>
194
- {scope: "source.fortran",
195
- name: "if",
196
- content: "if ( ${1:condition} ) then\n\t$0\nend if"},
197
- "imp" =>
198
- {scope: "source.fortran", name: "implicit none", content: "implicit none\n"},
199
- "interf" =>
200
- {scope: "source.fortran",
201
- name: "interface",
202
- content: "interface ${1:name}\n\t$0\nend interface ! $1"},
203
- "max" =>
204
- {scope: "source.fortran", name: "max", content: "max($1, $2${, $3:...})$0"},
205
- "merge" =>
206
- {scope: "source.fortran",
207
- name: "merge",
208
- content: "merge(${1:source}, ${2:alternative}, mask=(${2:$1>0}))"},
209
- "min" =>
210
- {scope: "source.fortran", name: "min", content: "min($1, $2${, $3:...})$0"},
211
- "mp" =>
212
- {scope: "source.fortran",
213
- name: "module procedure",
214
- content: "module procedure ${0:name}"},
215
- "mod" =>
216
- {scope: "source.fortran",
217
- name: "module",
218
- content: "module ${1:name}\n\n\timplicit none\n\t$0\n\nend module $1\n"},
219
- "ndo" =>
220
- {scope: "source.fortran",
221
- name: "named: do",
222
- content:
223
- "${1:name}: do${2: ${3:i} = ${4:1}, ${5:100}, ${6:1}}\n\t$0\nend do $1"},
224
- "nsel" =>
225
- {scope: "source.fortran",
226
- name: "named: select case",
227
- content:
228
- "${1:name}: select case ($2:variable)\n\tcase ($3:values) $1\n\t\t$0\nend select $1"},
229
- "pack" =>
230
- {scope: "source.fortran",
231
- name: "pack",
232
- content:
233
- "pack(${1:array}, mask=(${2:$1>0})${3:, vector=${4:destination vector}})"},
234
- "pr" => {scope: "source.fortran", name: "Quick Print", content: "print*, "},
235
- "prog" =>
236
- {scope: "source.fortran",
237
- name: "program",
238
- content: "program ${1:name}\n\n\timplicit none\n\t$0\n\nend program $1\n"},
239
- "read" =>
240
- {scope: "source.fortran",
241
- name: "Read",
242
- content:
243
- "read(unit=${1:iounit}, fmt=\"(${2:format string})\", iostat=${3:istat}) ${4:variables}\nif ( $3 /= 0 ) stop \"Read error in file unit $1\"\n"},
244
- "resh" =>
245
- {scope: "source.fortran",
246
- name: "reshape",
247
- content:
248
- "reshape(${1:source}${2:, shape=(/$3/)}${4:, pad=(/$5/)}${6:, order=(/${7:2,1}/)})"},
249
- "sel" =>
250
- {scope: "source.fortran",
251
- name: "select case",
252
- content:
253
- "select case ($1:variable)\n\tcase ($2:values)\n\t\t$0\nend select"},
254
- "spread" =>
255
- {scope: "source.fortran",
256
- name: "spread",
257
- content: "spread(${1:source}, dim=${2:1}, ncopies=$3)"},
258
- "stop" =>
259
- {scope: "source.fortran", name: "stop", content: "stop \"${1:message}\""},
260
- "sub" =>
261
- {scope: "source.fortran",
262
- name: "subroutine",
263
- content:
264
- "subroutine ${1:name}\n\t${2:argument type}, intent(${3:inout}) :: ${1/\\w+\\((.*)\\)|.*/$1/}\n\t$0\nend subroutine ${1/(\\w+).*/$1/}"},
265
- "unpack" =>
266
- {scope: "source.fortran",
267
- name: "unpack",
268
- content:
269
- "unpack(${1:vector}, mask=(${2:$1>0}), field=${3:destination array})"},
270
- "wh" =>
271
- {scope: "source.fortran",
272
- name: "where (single line)",
273
- content: "where ( $1 ${2:==} $3 ) "},
274
- "whe" =>
275
- {scope: "source.fortran",
276
- name: "where",
277
- content: "where ( $1 ${2:==} $3 )\n\t$0\nend where"},
278
- "write" =>
279
- {scope: "source.fortran",
280
- name: "Write",
281
- content:
282
- "write(unit=${1:iounit}, fmt=\"(${2:format string})\", iostat=${3:ios}${4:, advance='NO'}) ${5:variables}\nif ( $3 /= 0 ) stop \"Write error in file unit $1\"\n"}}
3
+ [{content: ".FALSE.",
4
+ name: ".FALSE.",
5
+ scope: "source.fortran",
6
+ tabTrigger: "F",
7
+ uuid: "EC40FA8C-65A9-40B6-9A5E-FC681755FADD"},
8
+ {content: ".TRUE.",
9
+ name: ".TRUE.",
10
+ scope: "source.fortran",
11
+ tabTrigger: "T",
12
+ uuid: "9A5E1955-62E4-4BA4-937B-A76B402D0825"},
13
+ {content:
14
+ "allocate(${1:array}, stat=${2:err})\nif ($2 /= 0) print *, \"${1/(\\w+).*/$1/}: Allocation request denied\"\n",
15
+ name: "Allocate Array",
16
+ scope: "source.fortran",
17
+ tabTrigger: "al",
18
+ uuid: "51F171BF-D317-4510-A0E1-22565AFFDF55"},
19
+ {content:
20
+ "allocate(${1:array}, stat=${2:err})\nif ($2 /= 0) print *, \"${1/(\\w+).*/$1/}: Allocation request denied\"\n\n$0if (allocated(${1/(\\w+).*/$1/})) deallocate(${1/(\\w+).*/$1/}, stat=$2)\nif ($2 /= 0) print *, \"${1/(\\w+).*/$1/}: Deallocation request denied$0\"",
21
+ name: "Allocate and Deallocate array",
22
+ scope: "source.fortran",
23
+ tabTrigger: "alloc",
24
+ uuid: "718929E8-73E2-4B9F-B430-0888D5971952"},
25
+ {content: ".and.",
26
+ name: "And",
27
+ scope: "source.fortran",
28
+ tabTrigger: "and",
29
+ uuid: "3537B123-DB04-475A-8B8A-A5D223872FC1"},
30
+ {content:
31
+ "character(len=$1${2:, kind=$3})${4:, ${5:attributes}} :: ${6:name}",
32
+ name: "Character",
33
+ scope: "source.fortran",
34
+ tabTrigger: "char",
35
+ uuid: "0D6B27F6-93D7-46FC-ABC5-658D26D13A2C"},
36
+ {content:
37
+ "close(unit=${1:iounit}, iostat=${2:ios}${3:, status=\"delete\"})\nif ( $2 /= 0 ) stop \"Error closing file unit $1\"\n",
38
+ name: "Close File",
39
+ scope: "source.fortran",
40
+ tabTrigger: "close",
41
+ uuid: "B011EFC4-3A9A-4A42-AEAC-B8766008B828"},
42
+ {content: "type(${1:type name})${2:, ${3:attributes}} :: ${4:name}",
43
+ name: "Custom Type",
44
+ scope: "source.fortran",
45
+ tabTrigger: "typ",
46
+ uuid: "C7F4ECBD-46FE-4E88-A6C6-2F645B319821"},
47
+ {content:
48
+ "if (allocated($1)) deallocate(${1:array}, stat=${2:err})\nif ($2 /= 0) print *, \"$1: Deallocation request denied$0\"",
49
+ name: "Deallocate Array",
50
+ scope: "source.fortran",
51
+ tabTrigger: "deal",
52
+ uuid: "8AA9DF85-9F20-417E-A71A-5B5BC555B0AA"},
53
+ {content: "dot_product($1,$2)",
54
+ name: "Dot Product of Vectors",
55
+ scope: "source.fortran",
56
+ tabTrigger: "dot",
57
+ uuid: "F05CAEAE-2DBC-45F9-A83C-A41378159D5C"},
58
+ {content: ".eq.",
59
+ name: "Equal",
60
+ scope: "source.fortran",
61
+ tabTrigger: "eq",
62
+ uuid: "2316E789-8E34-4874-A517-6BF8E52ECC4C"},
63
+ {content: ".eqv.",
64
+ name: "Equality",
65
+ scope: "source.fortran",
66
+ tabTrigger: "eqv",
67
+ uuid: "0123B289-0889-41AA-839A-F7F2D6154723"},
68
+ {content: ".gt.",
69
+ name: "Greater Than",
70
+ scope: "source.fortran",
71
+ tabTrigger: "gt",
72
+ uuid: "7526D521-2CF7-4436-9D11-824B76D424F6"},
73
+ {content: ".ge.",
74
+ name: "Greater or Equal",
75
+ scope: "source.fortran",
76
+ tabTrigger: "ge",
77
+ uuid: "BFF92277-2A0B-40E1-A896-9DB8C1C69036"},
78
+ {content: "(${1:i}, $1 = ${2:1}, ${3:100}, ${4:1})$0",
79
+ name: "Implied do",
80
+ scope: "source.fortran",
81
+ tabTrigger: "ido",
82
+ uuid: "35ECB83E-D696-4441-989A-AAAF9E63F156"},
83
+ {content: "maxloc(${1:source}${2:, mask=${3:($1>0)}})",
84
+ name: "Index of Maximum",
85
+ scope: "source.fortran",
86
+ tabTrigger: "maxloc",
87
+ uuid: "5092CD14-3CCC-4EC2-B8F1-09A5277977F9"},
88
+ {content: "minloc(${1:source}${2:, mask=${3:$1>0}})",
89
+ name: "Index of Minimum",
90
+ scope: "source.fortran",
91
+ tabTrigger: "minloc",
92
+ uuid: "F0A4E40E-C92B-44B8-AFD8-CB15E94C81F1"},
93
+ {content:
94
+ "open(unit=${1:iounit}, file=${2:name}, iostat=${3:ios}, status=\"${4:old}\", action=\"${5:read}\")\nif ( $3 /= 0 ) stop \"Error opening file ${2/[\\\"\\'](.*)[\\\"\\']/$1/}\"\n",
95
+ name: "Input File",
96
+ scope: "source.fortran",
97
+ tabTrigger: "open",
98
+ uuid: "20CAACE7-E2D8-4233-8F1E-0ABA182047D4"},
99
+ {content:
100
+ "inquire(file=${1:filename}, opened=${2:ioopen}, exists=${3:ioexist}, number=${4:iounit})",
101
+ name: "Inquire (by Filename)",
102
+ scope: "source.fortran",
103
+ tabTrigger: "inq",
104
+ uuid: "1A5B5A09-1080-48CF-A4C3-3F81ACE69074"},
105
+ {content:
106
+ "inquire(unit=${1:iounit}, opened=${2:ioopen}, name=${3:filename}, action=${4:ioaction})",
107
+ name: "Inquire (by Unit)",
108
+ scope: "source.fortran",
109
+ tabTrigger: "inq",
110
+ uuid: "60090CCF-B104-47B5-BCB8-E2811EBA9CCF"},
111
+ {content: "integer${1:(${2:kind})}${3:, ${4:attributes}} :: ${5:name}",
112
+ name: "Integer",
113
+ scope: "source.fortran",
114
+ tabTrigger: "int",
115
+ uuid: "F3344347-B9EF-4574-B15E-22170D50D850"},
116
+ {content: ".lt.",
117
+ name: "Less Than",
118
+ scope: "source.fortran",
119
+ tabTrigger: "lt",
120
+ uuid: "F8C2C9C2-B317-43E4-AEFD-AFF17B85728F"},
121
+ {content: ".le.",
122
+ name: "Less or Equal",
123
+ scope: "source.fortran",
124
+ tabTrigger: "le",
125
+ uuid: "F19E59C4-7D5F-4EA8-A29A-F144F4F2AC85"},
126
+ {content: " &\n",
127
+ keyEquivalent: "^\n",
128
+ name: "Line Continuation",
129
+ scope: "source.fortran",
130
+ uuid: "0B000E20-A4F2-495A-B0B1-242851333225"},
131
+ {content: "logical${1:(${2:kind})}${3:, ${4:attributes}} :: ${5:name}",
132
+ name: "Logical",
133
+ scope: "source.fortran",
134
+ tabTrigger: "log",
135
+ uuid: "6DBAE3F7-1B5A-4999-9246-E2A12A7C5555"},
136
+ {content: "lbound(${1:source}${2:, dim=${3:1}})",
137
+ name: "Lower Bound",
138
+ scope: "source.fortran",
139
+ tabTrigger: "lbound",
140
+ uuid: "1757DE15-4544-482C-89DC-0781E39A7F87"},
141
+ {content: "matmul($1,$2)",
142
+ name: "Matrix Multiplication",
143
+ scope: "source.fortran",
144
+ tabTrigger: "mat",
145
+ uuid: "E8684191-D405-4BD8-BCEB-8BC9E150550B"},
146
+ {content: "maxval(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})",
147
+ name: "Maximum Value",
148
+ scope: "source.fortran",
149
+ tabTrigger: "maxval",
150
+ uuid: "8781D199-2E4E-4D11-BFF3-F8729D9523C1"},
151
+ {content: "minval(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})",
152
+ name: "Minimum Value",
153
+ scope: "source.fortran",
154
+ tabTrigger: "minval",
155
+ uuid: "4AD4A84B-5110-4B49-9E0F-88B08A5AAF97"},
156
+ {content: ".neqv.",
157
+ name: "Non-Equality",
158
+ scope: "source.fortran",
159
+ tabTrigger: "neqv",
160
+ uuid: "3B8BB0B3-CEE1-496B-B844-465F49C038E6"},
161
+ {content: ".not.",
162
+ name: "Not",
163
+ scope: "source.fortran",
164
+ tabTrigger: "not",
165
+ uuid: "76A04572-9358-499C-B2E3-5E96445441E2"},
166
+ {content:
167
+ "open(unit=${1:iounit}, file=${2:name}, iostat=${3:ios}, &\n status=\"${4:old/new/replace/scratch/unknown}\", action=\"${5:read/write/readwrite}\", access=\"${7:sequential/direct}\"${7/(direct)$|.*/(?1:, recl=)/}$0)\nif ( $3 /= 0 ) stop \"Error opening file ${2/[\\\"\\'](.*)[\\\"\\']/$1/}\"",
168
+ name: "Open File",
169
+ scope: "source.fortran",
170
+ tabTrigger: "open",
171
+ uuid: "48F02C1F-F6FA-444F-8CE7-7B81C7A7344B"},
172
+ {content: ".or.",
173
+ name: "Or",
174
+ scope: "source.fortran",
175
+ tabTrigger: "or",
176
+ uuid: "536D0C28-DD04-4B0C-8B22-61649F607322"},
177
+ {content:
178
+ "open(unit=${1:iounit}, file=${2:name}, iostat=${3:ios}, status=\"${4:new}\", action=\"${5:write}\")\nif ( $3 /= 0 ) stop \"Error opening file ${2/[\\\"\\'](.*)[\\\"\\']/$1/}\"\n",
179
+ name: "Output File",
180
+ scope: "source.fortran",
181
+ tabTrigger: "open",
182
+ uuid: "9AA512D2-E341-4F05-A2BB-EBB339E3B187"},
183
+ {content: "product(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})",
184
+ name: "Product of Elements",
185
+ scope: "source.fortran",
186
+ tabTrigger: "prod",
187
+ uuid: "3D90E5F6-5002-4E48-B1C1-4C9E62DF24AF"},
188
+ {content: "character(len=*) :: ",
189
+ name: "Quick Character",
190
+ scope: "source.fortran",
191
+ tabTrigger: "c",
192
+ uuid: "670364D4-4FAD-4A3B-949C-1A68F43FCDA1"},
193
+ {content: "type(${1:type name}) :: ",
194
+ name: "Quick Custom Type",
195
+ scope: "source.fortran",
196
+ tabTrigger: "t",
197
+ uuid: "1503AED6-304A-423E-AEC6-BE6836EBB720"},
198
+ {content: "integer :: ",
199
+ name: "Quick Integer",
200
+ scope: "source.fortran",
201
+ tabTrigger: "i",
202
+ uuid: "34C0C62D-B2EC-4C39-B072-CCA5EBEC9B8C"},
203
+ {content: "logical :: ",
204
+ name: "Quick Logical",
205
+ scope: "source.fortran",
206
+ tabTrigger: "l",
207
+ uuid: "C2434FF9-D70D-4C85-A93A-9CDC637FE633"},
208
+ {content:
209
+ "open(unit=${1:iounit}, file=${2:name}, iostat=${3:ios})\nif ( $3 /= 0 ) stop \"Error opening file ${2/[\\\"\\'](.*)[\\\"\\']/$1/}\"",
210
+ name: "Quick Open",
211
+ scope: "source.fortran",
212
+ tabTrigger: "op",
213
+ uuid: "B118C813-3B21-49DB-8EEB-323CBAADBE00"},
214
+ {content: "print*, ",
215
+ name: "Quick Print",
216
+ scope: "source.fortran",
217
+ tabTrigger: "pr",
218
+ uuid: "B907E3F4-F0DD-41BF-8148-98486B9F7654"},
219
+ {content: "read*, ",
220
+ name: "Quick Read",
221
+ scope: "source.fortran",
222
+ tabTrigger: "re",
223
+ uuid: "397592DB-34D9-45B6-AD23-F2E88FEB36C9"},
224
+ {content: "real :: ",
225
+ name: "Quick Real",
226
+ scope: "source.fortran",
227
+ tabTrigger: "r",
228
+ uuid: "C5AD4DF9-76C8-45A2-9705-6A31AD084007"},
229
+ {content: "write(unit=${1:iounit}, fmt=*) ${0:variables}\n",
230
+ name: "Quick Write",
231
+ scope: "source.fortran",
232
+ tabTrigger: "wr",
233
+ uuid: "87B37A6D-B542-4502-94CA-521A92E056D6"},
234
+ {content: "call random_number($0)",
235
+ name: "Random Number",
236
+ scope: "source.fortran",
237
+ tabTrigger: "rn",
238
+ uuid: "2186372D-4DFE-424D-B7CC-81686816FBEB"},
239
+ {content: "call random_seed(${1:size=${2:<int>}}${3:put=(/$4/)})",
240
+ name: "Random Seed",
241
+ scope: "source.fortran",
242
+ tabTrigger: "rs",
243
+ uuid: "9D750E6B-948F-4913-9710-A3EAD3B9F804"},
244
+ {content:
245
+ "read(unit=${1:iounit}, fmt=\"(${2:format string})\", iostat=${3:istat}) ${4:variables}\nif ( $3 /= 0 ) stop \"Read error in file unit $1\"\n",
246
+ name: "Read",
247
+ scope: "source.fortran",
248
+ tabTrigger: "read",
249
+ uuid: "C1A0A9D5-9D5D-479C-B079-7C4FB7ACD700"},
250
+ {content:
251
+ "read(unit=${1:iounit}, fmt=\"(${2:format string})\", iostat=${3:istat}, advance='NO', size=${4:number of characters}) ${5:variables}\nif ( $3 /= 0 ) stop \"Read error in file unit $1\"\n",
252
+ name: "Read (Non Advancing Mode)",
253
+ scope: "source.fortran",
254
+ tabTrigger: "read",
255
+ uuid: "C93DF526-E933-4560-B63A-8E1CE6196FB7"},
256
+ {content: "real${1:(${2:kind})}${3:, ${4:attributes}} :: ${5:name}",
257
+ name: "Real",
258
+ scope: "source.fortran",
259
+ tabTrigger: "rea",
260
+ uuid: "819B3AC9-225F-4699-A0F7-7ECBEE895AD2"},
261
+ {content:
262
+ "open(unit=${1:iounit}, iostat=${3:ios}, status=\"${4:scratch}\", action=\"${5:readwrite}\")\nif ( $3 /= 0 ) stop \"Error opening scratch file on unit $1\"\n",
263
+ name: "Scratch File",
264
+ scope: "source.fortran",
265
+ tabTrigger: "open",
266
+ uuid: "3693BFC4-76F5-4ED3-837B-BD383BBAC5B0"},
267
+ {content: "size(${1:source}${2:, dim=${3:1}})",
268
+ name: "Size",
269
+ scope: "source.fortran",
270
+ tabTrigger: "size",
271
+ uuid: "CA4E14B0-9F08-40F4-A7D9-61E9E7192FD4"},
272
+ {content: "sum(${1:source}${2:, dim=${3:1}}${4:, mask=${5:($1>0)}})",
273
+ name: "Sum of Elements",
274
+ scope: "source.fortran",
275
+ tabTrigger: "sum",
276
+ uuid: "06C627D7-EB49-4FDF-A2B6-C9CC7CE97241"},
277
+ {content: "type ${1:type name}\n\t$0\nend type $1",
278
+ name: "Type Definition",
279
+ scope: "source.fortran",
280
+ tabTrigger: "type",
281
+ uuid: "03298138-1221-4FF3-A6E6-C3F016CEA132"},
282
+ {content: "ubound(${1:source}${2:, dim=${3:1}})",
283
+ name: "Upper Bound",
284
+ scope: "source.fortran",
285
+ tabTrigger: "ubound",
286
+ uuid: "EDA18DD2-F08C-44BF-90C1-A5FC7E55E909"},
287
+ {content: "(/ $TM_SELECTED_TEXT$0 /)",
288
+ keyEquivalent: "@A",
289
+ name: "Wrap Selection in Array Brackets",
290
+ scope: "source.fortran",
291
+ uuid: "E5E4BACF-96DD-43EF-A400-D7D3F6ABBF85"},
292
+ {content:
293
+ "write(unit=${1:iounit}, fmt=\"(${2:format string})\", iostat=${3:ios}${4:, advance='NO'}) ${5:variables}\nif ( $3 /= 0 ) stop \"Write error in file unit $1\"\n",
294
+ name: "Write",
295
+ scope: "source.fortran",
296
+ tabTrigger: "write",
297
+ uuid: "A96BC9D7-5A5C-413C-8F3D-8155F98CCC79"},
298
+ {content: "all(${1:mask}${2:, dim=${3:1}})",
299
+ name: "all",
300
+ scope: "source.fortran",
301
+ tabTrigger: "all",
302
+ uuid: "93FA9EEB-7A4E-4907-B723-A2B379FCA041"},
303
+ {content: "any(${1:mask}${2:, dim=${3:1}})",
304
+ name: "any",
305
+ scope: "source.fortran",
306
+ tabTrigger: "any",
307
+ uuid: "ABBFB45A-CA54-4812-A2AC-732C52D78953"},
308
+ {content: "case ${1:default}\n\t$0",
309
+ name: "case",
310
+ scope: "source.fortran",
311
+ tabTrigger: "case",
312
+ uuid: "9C4F8960-34D5-4BE1-9CC0-91E6C67E7622"},
313
+ {content: "count(${1:mask}${2:, dim=${3:1}})",
314
+ name: "count",
315
+ scope: "source.fortran",
316
+ tabTrigger: "count",
317
+ uuid: "73D0556C-56DB-4BCD-ABBC-456B77BEAB7E"},
318
+ {content: "cycle",
319
+ name: "cycle",
320
+ scope: "source.fortran",
321
+ tabTrigger: "cy",
322
+ uuid: "CDED87E6-BD6D-4EA4-8649-10B1D7103A6F"},
323
+ {content: "data ${1:variable} / ${2:data} /",
324
+ name: "data",
325
+ scope: "source.fortran",
326
+ tabTrigger: "data",
327
+ uuid: "A20B45D5-F448-410D-B9CD-FA6AC4F174D6"},
328
+ {content: "do${1: ${2:i} = ${3:1}, ${4:100}, ${5:1}}\n\t$0\nend do",
329
+ name: "do",
330
+ scope: "source.fortran",
331
+ tabTrigger: "do",
332
+ uuid: "7A9D5F06-1CB9-46EF-9E93-C33A08BCC84D"},
333
+ {content: "do while ( ${1:condition} )\n\t$0\nend do",
334
+ name: "do while",
335
+ scope: "source.fortran",
336
+ tabTrigger: "dow",
337
+ uuid: "6136E9F7-7683-43E8-94F8-535CBE8045CD"},
338
+ {content: "elseif ( ${1:condition} ) then\n\t",
339
+ name: "elseif",
340
+ scope: "source.fortran",
341
+ tabTrigger: "elif",
342
+ uuid: "E3CB3696-76E6-45E5-B3BD-98D6C412FB8E"},
343
+ {content: "forall (${1:i=1:100}${2:, mask})\n\t$0\nend forall",
344
+ name: "forall",
345
+ scope: "source.fortran.modern",
346
+ tabTrigger: "for",
347
+ uuid: "BFF323CA-733A-41FD-A9EB-F32B84A77870"},
348
+ {content:
349
+ "function ${1:name}\n\t${2:argument type}, intent(${3:inout}) :: ${1/\\w+\\((.*)\\)|.*/$1/}\n\t${4:function type} :: ${1/(\\w+).*/$1/}\n\t$0\nend function ${1/(\\w+).*/$1/}",
350
+ name: "function",
351
+ scope: "source.fortran",
352
+ tabTrigger: "fun",
353
+ uuid: "F08951B5-CAC2-4373-9422-8588D0F1E742"},
354
+ {content: "if ( ${1:condition} ) then\n\t$0\nend if",
355
+ name: "if",
356
+ scope: "source.fortran",
357
+ tabTrigger: "if",
358
+ uuid: "93DAD02F-8CF5-413A-8C43-8574AABEF998"},
359
+ {content: "if ( ${1:condition} ) ",
360
+ name: "if (single line)",
361
+ scope: "source.fortran",
362
+ tabTrigger: "if",
363
+ uuid: "3EE70024-01D5-46E1-A8FE-15A02D31C999"},
364
+ {content: "implicit none\n",
365
+ name: "implicit none",
366
+ scope: "source.fortran",
367
+ tabTrigger: "imp",
368
+ uuid: "097FA6C9-28FE-4A55-9FC6-0116074ED962"},
369
+ {content: "interface ${1:name}\n\t$0\nend interface ! $1",
370
+ name: "interface",
371
+ scope: "source.fortran",
372
+ tabTrigger: "interf",
373
+ uuid: "358E0BE9-B020-4932-A421-79F269CE10A1"},
374
+ {content: "max($1, $2${, $3:...})$0",
375
+ name: "max",
376
+ scope: "source.fortran",
377
+ tabTrigger: "max",
378
+ uuid: "450D663B-E62D-45BA-B194-D2C560A886B8"},
379
+ {content: "merge(${1:source}, ${2:alternative}, mask=(${2:$1>0}))",
380
+ name: "merge",
381
+ scope: "source.fortran",
382
+ tabTrigger: "merge",
383
+ uuid: "61F063A9-1F71-4748-97ED-DB2E8DC4E8F5"},
384
+ {content: "min($1, $2${, $3:...})$0",
385
+ name: "min",
386
+ scope: "source.fortran",
387
+ tabTrigger: "min",
388
+ uuid: "8814A6E1-7A85-4313-A75A-1D83EC1A9CD7"},
389
+ {content: "module ${1:name}\n\n\timplicit none\n\t$0\n\nend module $1\n",
390
+ name: "module",
391
+ scope: "source.fortran",
392
+ tabTrigger: "mod",
393
+ uuid: "BE566EAC-E0C9-4922-99CC-AE5349751A5C"},
394
+ {content: "module procedure ${0:name}",
395
+ name: "module procedure",
396
+ scope: "source.fortran",
397
+ tabTrigger: "mp",
398
+ uuid: "212C550B-1D28-4713-BF75-F660254D04C4"},
399
+ {content:
400
+ "${1:name}: do${2: ${3:i} = ${4:1}, ${5:100}, ${6:1}}\n\t$0\nend do $1",
401
+ name: "named: do",
402
+ scope: "source.fortran",
403
+ tabTrigger: "ndo",
404
+ uuid: "5F5CE350-E65B-4A12-9DE4-7F520EA7CEDA"},
405
+ {content:
406
+ "${1:name}: select case ($2:variable)\n\tcase ($3:values) $1\n\t\t$0\nend select $1",
407
+ name: "named: select case",
408
+ scope: "source.fortran",
409
+ tabTrigger: "nsel",
410
+ uuid: "883F17D6-1CC0-4D5F-8F47-0A57E59BAEE5"},
411
+ {content:
412
+ "pack(${1:array}, mask=(${2:$1>0})${3:, vector=${4:destination vector}})",
413
+ name: "pack",
414
+ scope: "source.fortran",
415
+ tabTrigger: "pack",
416
+ uuid: "BCB3E520-B100-4B1D-9DAE-62D0FEB1EA52"},
417
+ {content: "program ${1:name}\n\n\timplicit none\n\t$0\n\nend program $1\n",
418
+ name: "program",
419
+ scope: "source.fortran",
420
+ tabTrigger: "prog",
421
+ uuid: "3CE33649-97AE-4497-BFA0-FA79AAEB5EE0"},
422
+ {content:
423
+ "reshape(${1:source}${2:, shape=(/$3/)}${4:, pad=(/$5/)}${6:, order=(/${7:2,1}/)})",
424
+ name: "reshape",
425
+ scope: "source.fortran",
426
+ tabTrigger: "resh",
427
+ uuid: "41715FAB-5954-4B10-A092-3FC9FA3E3D67"},
428
+ {content: "select case ($1:variable)\n\tcase ($2:values)\n\t\t$0\nend select",
429
+ name: "select case",
430
+ scope: "source.fortran",
431
+ tabTrigger: "sel",
432
+ uuid: "37641F82-864C-4FE5-B93B-7B9FC13166BB"},
433
+ {content: "spread(${1:source}, dim=${2:1}, ncopies=$3)",
434
+ name: "spread",
435
+ scope: "source.fortran",
436
+ tabTrigger: "spread",
437
+ uuid: "7331B9EE-F03D-4472-9243-992184B260A6"},
438
+ {content: "stop \"${1:message}\"",
439
+ name: "stop",
440
+ scope: "source.fortran",
441
+ tabTrigger: "stop",
442
+ uuid: "7F2C2B22-50AA-49D5-A432-C8CDE12EDB09"},
443
+ {content:
444
+ "subroutine ${1:name}\n\t${2:argument type}, intent(${3:inout}) :: ${1/\\w+\\((.*)\\)|.*/$1/}\n\t$0\nend subroutine ${1/(\\w+).*/$1/}",
445
+ name: "subroutine",
446
+ scope: "source.fortran",
447
+ tabTrigger: "sub",
448
+ uuid: "73DCA7B1-1444-418A-89ED-6F44B061538F"},
449
+ {content:
450
+ "unpack(${1:vector}, mask=(${2:$1>0}), field=${3:destination array})",
451
+ name: "unpack",
452
+ scope: "source.fortran",
453
+ tabTrigger: "unpack",
454
+ uuid: "FFB7CA04-CB4B-4303-BF2A-CFD69A8665FA"},
455
+ {content: "where ( $1 ${2:==} $3 )\n\t$0\nend where",
456
+ name: "where",
457
+ scope: "source.fortran",
458
+ tabTrigger: "whe",
459
+ uuid: "EDEB3A12-66A0-435B-A15D-28C18444A242"},
460
+ {content: "where ( $1 ${2:==} $3 ) ",
461
+ name: "where (single line)",
462
+ scope: "source.fortran",
463
+ tabTrigger: "wh",
464
+ uuid: "663FC26D-BEC6-4B64-8704-502E7348CABD"}]