ver 2009.12.14 → 2010.02

Sign up to get free protection for your applications and to get access to all the features.
Files changed (901) hide show
  1. data/.gitignore +1 -0
  2. data/.mailmap +1 -0
  3. data/.todo +102 -0
  4. data/.yardopts +1 -0
  5. data/AUTHORS +3 -3
  6. data/CHANGELOG +1597 -0
  7. data/MANIFEST +521 -329
  8. data/ROADMAP.textile +187 -0
  9. data/Rakefile +6 -4
  10. data/bin/ver +98 -35
  11. data/config/detect.rb +65 -37
  12. data/config/keymap/diakonos.rb +180 -178
  13. data/config/keymap/emacs.rb +44 -63
  14. data/config/keymap/nano.rb +174 -0
  15. data/config/keymap/vim.rb +459 -381
  16. data/config/plugin/animated_tiling.rb +90 -0
  17. data/config/plugin/autosave.rb +22 -0
  18. data/config/plugin/git.rb +46 -0
  19. data/config/plugin/smart_autoindent.rb +157 -0
  20. data/config/plugin/soma.rb +50 -0
  21. data/config/preferences/ANTLR.rb +6 -0
  22. data/config/preferences/ASP.rb +6 -0
  23. data/config/preferences/ActionScript.rb +747 -0
  24. data/config/preferences/Active4D.rb +35 -0
  25. data/config/preferences/Ada.rb +12 -0
  26. data/config/preferences/Ant.rb +348 -0
  27. data/config/preferences/Apache.rb +585 -0
  28. data/config/preferences/AppleScript.rb +35 -0
  29. data/config/preferences/Bulletin Board.rb +7 -0
  30. data/config/preferences/Bundle Development.rb +30 -0
  31. data/config/preferences/C++ Qt.rb +197 -0
  32. data/config/preferences/C.rb +60 -0
  33. data/config/preferences/CMake.rb +24 -0
  34. data/config/preferences/CSS.rb +396 -0
  35. data/config/preferences/ColdFusion.rb +13 -0
  36. data/config/preferences/Context Free.rb +16 -0
  37. data/config/preferences/D.rb +31 -0
  38. data/config/preferences/Diff.rb +36 -0
  39. data/config/preferences/DokuWiki.rb +13 -0
  40. data/config/preferences/Eiffel.rb +20 -0
  41. data/config/preferences/Erlang.rb +37 -0
  42. data/config/preferences/Experimental.rb +1352 -0
  43. data/config/preferences/F-Script.rb +29 -0
  44. data/config/preferences/FXScript.rb +23 -0
  45. data/config/preferences/Fortran.rb +70 -0
  46. data/config/preferences/GTD2.rb +6 -0
  47. data/config/preferences/GTDAlt.rb +12 -0
  48. data/config/preferences/Gettext.rb +14 -0
  49. data/config/preferences/Graphviz.rb +9 -0
  50. data/config/preferences/Gri.rb +9 -0
  51. data/config/preferences/HTML.rb +380 -0
  52. data/config/preferences/Haskell.rb +31 -0
  53. data/config/preferences/Hyperlink Helper.rb +78 -0
  54. data/config/preferences/Ini.rb +15 -0
  55. data/config/preferences/Io.rb +24 -0
  56. data/config/preferences/JSFL.rb +722 -0
  57. data/config/preferences/Java.rb +51 -0
  58. data/config/preferences/JavaScript Prototype & Script.aculo.us.rb +175 -0
  59. data/config/preferences/JavaScript YUI.rb +13 -0
  60. data/config/preferences/JavaScript.rb +41 -0
  61. data/config/preferences/LaTeX.rb +96 -0
  62. data/config/preferences/LilyPond.rb +22 -0
  63. data/config/preferences/Lisp.rb +17 -0
  64. data/config/preferences/Logo.rb +12 -0
  65. data/config/preferences/Logtalk.rb +193 -0
  66. data/config/preferences/Lua.rb +13 -0
  67. data/config/preferences/MEL.rb +13 -0
  68. data/config/preferences/MIPS Assembler.rb +9 -0
  69. data/config/preferences/Make.rb +8 -0
  70. data/config/preferences/Man Pages.rb +9 -0
  71. data/config/preferences/Matlab.rb +40 -0
  72. data/config/preferences/Maven.rb +220 -0
  73. data/config/preferences/Mediawiki.rb +27 -0
  74. data/config/preferences/Modula.rb +8 -0
  75. data/config/preferences/MoinMoin.rb +25 -0
  76. data/config/preferences/Movable Type.rb +47 -0
  77. data/config/preferences/OCaml Experimental Completions.rb +8 -0
  78. data/config/preferences/OCaml.rb +70 -0
  79. data/config/preferences/Objective-C.rb +54 -0
  80. data/config/preferences/OpenGL.rb +3327 -0
  81. data/config/preferences/Pascal.rb +15 -0
  82. data/config/preferences/Perl Template Toolkit.rb +19 -0
  83. data/config/preferences/Perl.rb +6 -0
  84. data/config/preferences/Postscript.rb +6 -0
  85. data/config/preferences/Processing.rb +13 -0
  86. data/config/preferences/Property List.rb +34 -0
  87. data/config/preferences/Python Django Templates.rb +13 -0
  88. data/config/preferences/Python.rb +24 -0
  89. data/config/preferences/Quake.rb +6 -0
  90. data/config/preferences/R Console (Rdaemon).rb +7 -0
  91. data/config/preferences/R.rb +17 -0
  92. data/config/preferences/Ragel.rb +6 -0
  93. data/config/preferences/Remind.rb +6 -0
  94. data/config/preferences/Rez.rb +10 -0
  95. data/config/preferences/Ruby Haml.rb +6 -0
  96. data/config/preferences/Ruby RSpec.rb +14 -0
  97. data/config/preferences/Ruby on Rails.rb +22 -0
  98. data/config/preferences/Ruby.rb +48 -0
  99. data/config/preferences/S5 Slide Show.rb +10 -0
  100. data/config/preferences/SQL.rb +17 -0
  101. data/config/preferences/SSH Config.rb +6 -0
  102. data/config/preferences/SWeave.rb +17 -0
  103. data/config/preferences/Scheme.rb +12 -0
  104. data/config/preferences/Scilab.rb +6 -0
  105. data/config/preferences/Shell Script.rb +13 -0
  106. data/config/preferences/Slate.rb +36 -0
  107. data/config/preferences/Source.rb +51 -0
  108. data/config/preferences/Standard ML.rb +18 -0
  109. data/config/preferences/Subversion.rb +6 -0
  110. data/config/preferences/Tcl.rb +19 -0
  111. data/config/preferences/TerminalMate.rb +46 -0
  112. data/config/preferences/Text.rb +31 -0
  113. data/config/preferences/TextMate.rb +18 -0
  114. data/config/preferences/Textile.rb +30 -0
  115. data/config/preferences/Thrift.rb +26 -0
  116. data/config/preferences/Twiki.rb +17 -0
  117. data/config/preferences/Txt2tags.rb +33 -0
  118. data/config/preferences/Vectorscript.rb +1240 -0
  119. data/config/preferences/XML.rb +26 -0
  120. data/config/preferences/YAML.rb +13 -0
  121. data/config/preferences/iCalendar.rb +6 -0
  122. data/config/preferences/iTerm.rb +16 -0
  123. data/config/preferences/newLisp.rb +10 -0
  124. data/config/preferences/reStructuredText.rb +17 -0
  125. data/config/rc.rb +13 -1
  126. data/config/snippets/ANTLR.rb +3 -0
  127. data/config/snippets/ASP vb.NET.rb +56 -0
  128. data/config/snippets/ASP.rb +38 -0
  129. data/config/snippets/ActionScript.rb +207 -0
  130. data/config/snippets/Active4D.rb +258 -0
  131. data/config/snippets/Ada.rb +62 -0
  132. data/config/snippets/Ant.rb +7 -0
  133. data/config/snippets/Apache.rb +22 -0
  134. data/config/snippets/AppleScript.rb +84 -0
  135. data/config/snippets/Bison.rb +3 -0
  136. data/config/snippets/Blogging.rb +20 -0
  137. data/config/snippets/Bulletin Board.rb +23 -0
  138. data/config/snippets/Bundle Development.rb +65 -0
  139. data/config/snippets/C++ Qt.rb +59 -0
  140. data/config/snippets/C.rb +102 -0
  141. data/config/snippets/CMake.rb +34 -0
  142. data/config/snippets/CSS.rb +117 -0
  143. data/config/snippets/CTags.rb +3 -0
  144. data/config/snippets/CVS.rb +3 -0
  145. data/config/snippets/ColdFusion.rb +1549 -0
  146. data/config/snippets/Context Free.rb +30 -0
  147. data/config/snippets/D.rb +113 -0
  148. data/config/snippets/Darcs.rb +3 -0
  149. data/config/snippets/Diff.rb +3 -0
  150. data/config/snippets/DokuWiki.rb +56 -0
  151. data/config/snippets/Doxygen.rb +42 -0
  152. data/config/snippets/Dylan.rb +3 -0
  153. data/config/snippets/Eiffel.rb +20 -0
  154. data/config/snippets/Erlang.rb +70 -0
  155. data/config/snippets/Experimental Wiki.rb +3 -0
  156. data/config/snippets/Experimental.rb +3 -0
  157. data/config/snippets/F-Script.rb +26 -0
  158. data/config/snippets/FXScript.rb +212 -0
  159. data/config/snippets/FileMerge.rb +3 -0
  160. data/config/snippets/Fortran.rb +282 -0
  161. data/config/snippets/GTD2.rb +3 -0
  162. data/config/snippets/GTDAlt.rb +6 -0
  163. data/config/snippets/GetBundle.rb +3 -0
  164. data/config/snippets/Gettext.rb +10 -0
  165. data/config/snippets/Graphviz.rb +3 -0
  166. data/config/snippets/Greasemonkey.rb +44 -0
  167. data/config/snippets/Gri.rb +12 -0
  168. data/config/snippets/HTML.rb +128 -0
  169. data/config/snippets/Haskell.rb +26 -0
  170. data/config/snippets/Hotkey.rb +3 -0
  171. data/config/snippets/Hyperlink Helper.rb +3 -0
  172. data/config/snippets/ImageBrowser.rb +3 -0
  173. data/config/snippets/Inform.rb +3 -0
  174. data/config/snippets/Ini.rb +3 -0
  175. data/config/snippets/Installer.rb +3 -0
  176. data/config/snippets/Io.rb +44 -0
  177. data/config/snippets/JSFL.rb +3 -0
  178. data/config/snippets/JSON.rb +3 -0
  179. data/config/snippets/Java.rb +94 -0
  180. data/config/snippets/JavaDoc.rb +58 -0
  181. data/config/snippets/JavaScript MooTools.rb +15 -0
  182. data/config/snippets/JavaScript Objective-J.rb +17 -0
  183. data/config/snippets/JavaScript Prototype & Script.aculo.us.rb +109 -0
  184. data/config/snippets/JavaScript YUI.rb +188 -0
  185. data/config/snippets/JavaScript jQuery.rb +377 -0
  186. data/config/snippets/JavaScript.rb +55 -0
  187. data/config/snippets/Lex-Flex.rb +3 -0
  188. data/config/snippets/Lighttpd.rb +3 -0
  189. data/config/snippets/LilyPond.rb +18 -0
  190. data/config/snippets/Lisp.rb +42 -0
  191. data/config/snippets/Logo.rb +8 -0
  192. data/config/snippets/Logtalk.rb +62 -0
  193. data/config/snippets/Lua.rb +35 -0
  194. data/config/snippets/MEL.rb +3 -0
  195. data/config/snippets/MIPS Assembler.rb +7 -0
  196. data/config/snippets/MacPorts.rb +3 -0
  197. data/config/snippets/Mail.rb +3 -0
  198. data/config/snippets/Make.rb +3 -0
  199. data/config/snippets/Man Pages.rb +3 -0
  200. data/config/snippets/Math.rb +3 -0
  201. data/config/snippets/Matlab.rb +180 -0
  202. data/config/snippets/Maven.rb +7 -0
  203. data/config/snippets/Mediawiki.rb +14 -0
  204. data/config/snippets/Mercurial.rb +3 -0
  205. data/config/snippets/Modula.rb +3 -0
  206. data/config/snippets/MoinMoin.rb +12 -0
  207. data/config/snippets/Movable Type.rb +55 -0
  208. data/config/snippets/Navigation.rb +3 -0
  209. data/config/snippets/Nemerle.rb +81 -0
  210. data/config/snippets/OCaml Code Completion Misc.rb +74 -0
  211. data/config/snippets/OCaml Code Completion Unix.rb +205 -0
  212. data/config/snippets/OCaml Experimental Completions.rb +3 -0
  213. data/config/snippets/OCaml.rb +75 -0
  214. data/config/snippets/ODCompletion.rb +120 -0
  215. data/config/snippets/Objective-C.rb +195 -0
  216. data/config/snippets/OpenGL.rb +3 -0
  217. data/config/snippets/Outlines.rb +3 -0
  218. data/config/snippets/PHP Smarty.rb +81 -0
  219. data/config/snippets/Pascal.rb +35 -0
  220. data/config/snippets/Perforce.rb +3 -0
  221. data/config/snippets/Perl HTML::Template.rb +27 -0
  222. data/config/snippets/Perl Mason.rb +32 -0
  223. data/config/snippets/Perl Template Toolkit.rb +22 -0
  224. data/config/snippets/Perl.rb +74 -0
  225. data/config/snippets/Postscript.rb +3 -0
  226. data/config/snippets/Processing.rb +35 -0
  227. data/config/snippets/Prolog.rb +3 -0
  228. data/config/snippets/Propel.rb +32 -0
  229. data/config/snippets/Property List.rb +26 -0
  230. data/config/snippets/Python Django Templates.rb +97 -0
  231. data/config/snippets/Python Django.rb +134 -0
  232. data/config/snippets/Quake.rb +3 -0
  233. data/config/snippets/R Console (R.app).rb +3 -0
  234. data/config/snippets/R Console (Rdaemon).rb +11 -0
  235. data/config/snippets/R.rb +79 -0
  236. data/config/snippets/Ragel.rb +3 -0
  237. data/config/snippets/Regular Expressions.rb +3 -0
  238. data/config/snippets/Remind.rb +17 -0
  239. data/config/snippets/Rez.rb +3 -0
  240. data/config/snippets/Ruby Haml.rb +3 -0
  241. data/config/snippets/Ruby RSpec.rb +240 -0
  242. data/config/snippets/Ruby on Rails.rb +767 -0
  243. data/config/snippets/Ruby.rb +547 -0
  244. data/config/snippets/S5 Slide Show.rb +26 -0
  245. data/config/snippets/SCons.rb +3 -0
  246. data/config/snippets/SQL.rb +3 -0
  247. data/config/snippets/SSH Config.rb +19 -0
  248. data/config/snippets/SVK.rb +3 -0
  249. data/config/snippets/SWIG.rb +20 -0
  250. data/config/snippets/SWeave.rb +3 -0
  251. data/config/snippets/Scheme.rb +3 -0
  252. data/config/snippets/Scilab.rb +81 -0
  253. data/config/snippets/Setext.rb +10 -0
  254. data/config/snippets/Shell Script.rb +44 -0
  255. data/config/snippets/Slate.rb +50 -0
  256. data/config/snippets/Source.rb +3 -0
  257. data/config/snippets/Standard ML.rb +29 -0
  258. data/config/snippets/Subversion.rb +3 -0
  259. data/config/snippets/TODO.rb +3 -0
  260. data/config/snippets/Tabular.rb +3 -0
  261. data/config/snippets/Tcl.rb +28 -0
  262. data/config/snippets/TerminalMate.rb +3 -0
  263. data/config/snippets/Text.rb +17 -0
  264. data/config/snippets/TextMate.rb +3 -0
  265. data/config/snippets/Textile.rb +47 -0
  266. data/config/snippets/Thrift.rb +20 -0
  267. data/config/snippets/Transmit.rb +3 -0
  268. data/config/snippets/Twiki.rb +107 -0
  269. data/config/snippets/Txt2tags.rb +81 -0
  270. data/config/snippets/Vectorscript.rb +40 -0
  271. data/config/snippets/Widget Creator.rb +7 -0
  272. data/config/snippets/XML.rb +20 -0
  273. data/config/snippets/Xcode.rb +3 -0
  274. data/config/snippets/YAML.rb +6 -0
  275. data/config/snippets/iCalendar.rb +3 -0
  276. data/config/snippets/iTerm.rb +3 -0
  277. data/config/snippets/newLisp.rb +33 -0
  278. data/config/snippets/reStructuredText.rb +22 -0
  279. data/config/syntax/ANTLR.rb +122 -0
  280. data/config/syntax/ASP vb.NET.rb +114 -0
  281. data/config/syntax/ASP.rb +72 -0
  282. data/config/syntax/ActionScript.rb +83 -0
  283. data/config/syntax/Active4D Config.rb +38 -0
  284. data/config/syntax/Active4D Library.rb +20 -0
  285. data/config/syntax/Active4D.rb +237 -0
  286. data/config/syntax/Ada.rb +50 -0
  287. data/config/syntax/Ant.rb +80 -0
  288. data/config/syntax/Apache.rb +148 -0
  289. data/config/syntax/AppleScript.rb +370 -0
  290. data/config/syntax/BibTeX.rb +98 -0
  291. data/config/syntax/Bison.rb +28 -0
  292. data/config/syntax/Blog - HTML.rb +38 -0
  293. data/config/syntax/Blog - Markdown.rb +36 -0
  294. data/config/syntax/Blog - Text.rb +24 -0
  295. data/config/syntax/Blog - Textile.rb +24 -0
  296. data/config/syntax/Bulletin Board.rb +202 -0
  297. data/config/syntax/C++ Qt.rb +27 -0
  298. data/config/syntax/C++.rb +159 -0
  299. data/config/syntax/C.rb +341 -0
  300. data/config/syntax/CMake Listfile.rb +87 -0
  301. data/config/syntax/CSS.rb +151 -0
  302. data/config/syntax/CSV.rb +52 -0
  303. data/config/syntax/ColdFusion.rb +92 -0
  304. data/config/syntax/Context Free.rb +133 -0
  305. data/config/syntax/D.rb +285 -0
  306. data/config/syntax/Diff.rb +59 -0
  307. data/config/syntax/DokuWiki.rb +158 -0
  308. data/config/syntax/Doxygen.rb +31 -0
  309. data/config/syntax/Dylan.rb +53 -0
  310. data/config/syntax/Eiffel.rb +52 -0
  311. data/config/syntax/Erlang.rb +632 -0
  312. data/config/syntax/F-Script.rb +56 -0
  313. data/config/syntax/FXScript.rb +140 -0
  314. data/config/syntax/Fortran - Modern.rb +147 -0
  315. data/config/syntax/Fortran - Punchcard.rb +257 -0
  316. data/config/syntax/GTD.rb +15 -0
  317. data/config/syntax/GTDalt.rb +95 -0
  318. data/config/syntax/Gettext.rb +54 -0
  319. data/config/syntax/Graphviz (DOT).rb +37 -0
  320. data/config/syntax/Greasemonkey.rb +31 -0
  321. data/config/syntax/Gri.rb +61 -0
  322. data/config/syntax/HTML (ASP).rb +23 -0
  323. data/config/syntax/HTML (ASP.net).rb +304 -0
  324. data/config/syntax/HTML (Active4D).rb +219 -0
  325. data/config/syntax/HTML (Django).rb +35 -0
  326. data/config/syntax/HTML (Erlang).rb +26 -0
  327. data/config/syntax/HTML (Mason).rb +74 -0
  328. data/config/syntax/HTML (Rails).rb +34 -0
  329. data/config/syntax/HTML (Tcl).rb +23 -0
  330. data/config/syntax/HTML (Template Toolkit).rb +88 -0
  331. data/config/syntax/HTML.rb +265 -0
  332. data/config/syntax/Haskell.rb +188 -0
  333. data/config/syntax/Inform.rb +37 -0
  334. data/config/syntax/Ini.rb +36 -0
  335. data/config/syntax/Installer Distribution Script.rb +78 -0
  336. data/config/syntax/Io.rb +59 -0
  337. data/config/syntax/JSFL.rb +24 -0
  338. data/config/syntax/JSON.rb +118 -0
  339. data/config/syntax/Java Properties.rb +21 -0
  340. data/config/syntax/Java Server Page (JSP).rb +71 -0
  341. data/config/syntax/Java.rb +288 -0
  342. data/config/syntax/JavaDoc.rb +178 -0
  343. data/config/syntax/JavaScript (Rails).rb +24 -0
  344. data/config/syntax/JavaScript.rb +193 -0
  345. data/config/syntax/Javascript YUI.rb +245 -0
  346. data/config/syntax/LaTeX Beamer.rb +30 -0
  347. data/config/syntax/LaTeX Log.rb +35 -0
  348. data/config/syntax/LaTeX Memoir.rb +46 -0
  349. data/config/syntax/LaTeX Rdaemon.rb +24 -0
  350. data/config/syntax/LaTeX.rb +424 -0
  351. data/config/syntax/Language Grammar.rb +585 -0
  352. data/config/syntax/Lex-Flex.rb +172 -0
  353. data/config/syntax/Lighttpd.rb +41 -0
  354. data/config/syntax/LilyPond.rb +383 -0
  355. data/config/syntax/Lisp.rb +43 -0
  356. data/config/syntax/Literate Haskell.rb +26 -0
  357. data/config/syntax/Logo.rb +25 -0
  358. data/config/syntax/Logtalk.rb +131 -0
  359. data/config/syntax/Lua.rb +65 -0
  360. data/config/syntax/MATLAB.rb +468 -0
  361. data/config/syntax/MEL.rb +65 -0
  362. data/config/syntax/MIPS Assembler.rb +47 -0
  363. data/config/syntax/MacPorts Portfile.rb +130 -0
  364. data/config/syntax/Mail.rb +97 -0
  365. data/config/syntax/Makefile.rb +30 -0
  366. data/config/syntax/Man.rb +16 -0
  367. data/config/syntax/Maven POM.rb +305 -0
  368. data/config/syntax/Mediawiki.rb +349 -0
  369. data/config/syntax/Modula-3.rb +40 -0
  370. data/config/syntax/MoinMoin.rb +132 -0
  371. data/config/syntax/MooTools.rb +375 -0
  372. data/config/syntax/Movable Type (MT only).rb +143 -0
  373. data/config/syntax/Movable Type.rb +156 -0
  374. data/config/syntax/Nemerle.rb +63 -0
  375. data/config/syntax/OCaml.rb +553 -0
  376. data/config/syntax/OCamllex.rb +133 -0
  377. data/config/syntax/OCamlyacc.rb +148 -0
  378. data/config/syntax/Objective-C++.rb +15 -0
  379. data/config/syntax/Objective-C.rb +423 -0
  380. data/config/syntax/Objective-J.rb +183 -0
  381. data/config/syntax/Octave.rb +215 -0
  382. data/config/syntax/OpenGL.rb +18 -0
  383. data/config/syntax/Pascal.rb +57 -0
  384. data/config/syntax/Perl HTML-Template.rb +61 -0
  385. data/config/syntax/Perl.rb +764 -0
  386. data/config/syntax/Plain Text.rb +27 -0
  387. data/config/syntax/Postscript.rb +88 -0
  388. data/config/syntax/Processing.rb +87 -0
  389. data/config/syntax/Prolog.rb +31 -0
  390. data/config/syntax/Property List.rb +463 -0
  391. data/config/syntax/Prototype & Script.aculo.us (JavaScript) Bracketed.rb +100 -0
  392. data/config/syntax/Prototype & Script.aculo.us (JavaScript).rb +56 -0
  393. data/config/syntax/Python Django.rb +25 -0
  394. data/config/syntax/Python.rb +836 -0
  395. data/config/syntax/Quake Style .cfg.rb +27 -0
  396. data/config/syntax/R Console (R.app).rb +13 -0
  397. data/config/syntax/R Console (Rdaemon) Plain.rb +30 -0
  398. data/config/syntax/R Console (Rdaemon).rb +33 -0
  399. data/config/syntax/R.rb +64 -0
  400. data/config/syntax/RJS.rb +8 -0
  401. data/config/syntax/RSpec.rb +64 -0
  402. data/config/syntax/Ragel.rb +159 -0
  403. data/config/syntax/Rd (R Documentation).rb +50 -0
  404. data/config/syntax/Regular Expressions (Oniguruma).rb +78 -0
  405. data/config/syntax/Regular Expressions (Python).rb +78 -0
  406. data/config/syntax/Release Notes.rb +38 -0
  407. data/config/syntax/Remind.rb +179 -0
  408. data/config/syntax/Rez.rb +61 -0
  409. data/config/syntax/Ruby Haml.rb +97 -0
  410. data/config/syntax/Ruby on Rails.rb +116 -0
  411. data/config/syntax/Ruby.rb +758 -0
  412. data/config/syntax/S5 Slide Show.rb +51 -0
  413. data/config/syntax/SQL (Rails).rb +17 -0
  414. data/config/syntax/SQL.rb +205 -0
  415. data/config/syntax/SSH Config.rb +25 -0
  416. data/config/syntax/SWIG.rb +47 -0
  417. data/config/syntax/SWeave.rb +57 -0
  418. data/config/syntax/Scheme.rb +280 -0
  419. data/config/syntax/Scilab.rb +30 -0
  420. data/config/syntax/Setext.rb +102 -0
  421. data/config/syntax/Shell Script (Bash).rb +454 -0
  422. data/config/syntax/Slate.rb +96 -0
  423. data/config/syntax/Smarty.rb +46 -0
  424. data/config/syntax/Standard ML - CM.rb +27 -0
  425. data/config/syntax/Standard ML.rb +119 -0
  426. data/config/syntax/Strings File.rb +33 -0
  427. data/config/syntax/TSV.rb +40 -0
  428. data/config/syntax/Tcl.rb +119 -0
  429. data/config/syntax/TeX Math.rb +37 -0
  430. data/config/syntax/TeX.rb +58 -0
  431. data/config/syntax/Textile.rb +174 -0
  432. data/config/syntax/Thrift.rb +285 -0
  433. data/config/syntax/Twiki.rb +163 -0
  434. data/config/syntax/Txt2tags.rb +70 -0
  435. data/config/syntax/Vectorscript.rb +48 -0
  436. data/config/syntax/XML strict.rb +60 -0
  437. data/config/syntax/XML.rb +117 -0
  438. data/config/syntax/XSL.rb +43 -0
  439. data/config/syntax/YAML.rb +109 -0
  440. data/config/syntax/camlp4.rb +27 -0
  441. data/config/syntax/iCalendar.rb +25 -0
  442. data/config/syntax/jQuery (JavaScript).rb +108 -0
  443. data/config/syntax/mod_perl.rb +41 -0
  444. data/config/syntax/newLisp.rb +82 -0
  445. data/config/syntax/qmake Project file.rb +87 -0
  446. data/config/syntax/reStructuredText.rb +180 -0
  447. data/config/syntax/svn-commit.tmp.rb +25 -0
  448. data/config/theme/Active4D.rb +105 -0
  449. data/config/theme/All Hallow's Eve.rb +70 -0
  450. data/config/theme/Amy.rb +141 -0
  451. data/config/theme/Blackboard.rb +90 -0
  452. data/config/theme/Brilliance Black.rb +693 -0
  453. data/config/theme/Brilliance Dull.rb +588 -0
  454. data/config/theme/Cobalt.rb +147 -0
  455. data/config/theme/Dawn.rb +113 -0
  456. data/config/theme/Eiffel.rb +113 -0
  457. data/config/theme/Embers.rb +125 -0
  458. data/config/theme/Espresso Libre.rb +104 -0
  459. data/config/theme/IDLE.rb +57 -0
  460. data/config/theme/LAZY.rb +74 -0
  461. data/config/theme/Mac Classic.rb +117 -0
  462. data/config/theme/MagicWB (Amiga).rb +97 -0
  463. data/config/theme/Pastels on Dark.rb +182 -0
  464. data/config/theme/Slush & Poppies.rb +83 -0
  465. data/config/theme/SpaceCadet.rb +44 -0
  466. data/config/theme/Sunburst.rb +172 -0
  467. data/config/theme/Twilight.rb +137 -0
  468. data/config/theme/Zenburnesque.rb +88 -0
  469. data/config/theme/iPlastic.rb +73 -0
  470. data/config/theme/newLISP dark.rb +183 -0
  471. data/config/theme/newLISP.rb +183 -0
  472. data/config/welcome +10 -14
  473. data/lib/ver.rb +272 -79
  474. data/lib/ver/action.rb +43 -0
  475. data/lib/ver/buffer.rb +229 -0
  476. data/lib/ver/buffer/console.rb +171 -0
  477. data/lib/ver/buffer/term.rb +255 -0
  478. data/lib/ver/entry.rb +120 -97
  479. data/lib/ver/exception_view.rb +11 -1
  480. data/lib/ver/executor.rb +83 -0
  481. data/lib/ver/executor/buffer.rb +31 -0
  482. data/lib/ver/executor/entry.rb +175 -0
  483. data/lib/ver/executor/fuzzy_file_finder.rb +100 -0
  484. data/lib/ver/executor/grep.rb +101 -0
  485. data/lib/ver/executor/label.rb +57 -0
  486. data/lib/ver/executor/locate.rb +20 -0
  487. data/lib/ver/executor/method.rb +80 -0
  488. data/lib/ver/executor/path.rb +45 -0
  489. data/lib/ver/executor/syntax.rb +22 -0
  490. data/lib/ver/executor/theme.rb +21 -0
  491. data/lib/ver/help.rb +0 -10
  492. data/lib/ver/help/describe_key.rb +8 -7
  493. data/lib/ver/help/help_for_help.rb +1 -1
  494. data/lib/ver/hover_completion.rb +39 -34
  495. data/lib/ver/keymap.rb +121 -158
  496. data/lib/ver/keymap/keymapped.rb +25 -0
  497. data/lib/ver/keysyms.rb +104 -0
  498. data/lib/ver/layout/notebook.rb +74 -0
  499. data/lib/ver/layout/paned.rb +184 -0
  500. data/lib/ver/layout/tiling.rb +135 -0
  501. data/lib/ver/layout/tiling/common.rb +34 -0
  502. data/lib/ver/layout/tiling/horizontal.rb +25 -0
  503. data/lib/ver/layout/tiling/vertical.rb +25 -0
  504. data/lib/ver/major_mode.rb +162 -0
  505. data/lib/ver/methods.rb +21 -22
  506. data/lib/ver/methods/autofill.rb +23 -0
  507. data/lib/ver/methods/basic.rb +53 -0
  508. data/lib/ver/methods/bookmark.rb +116 -104
  509. data/lib/ver/methods/clipboard.rb +59 -47
  510. data/lib/ver/methods/completion.rb +93 -77
  511. data/lib/ver/methods/control.rb +297 -240
  512. data/lib/ver/methods/ctags.rb +38 -29
  513. data/lib/ver/methods/delete.rb +47 -31
  514. data/lib/ver/methods/help.rb +9 -1
  515. data/lib/ver/methods/insert.rb +67 -203
  516. data/lib/ver/methods/layout.rb +122 -0
  517. data/lib/ver/methods/move.rb +229 -158
  518. data/lib/ver/methods/nano.rb +186 -0
  519. data/lib/ver/methods/open.rb +247 -53
  520. data/lib/ver/methods/preview.rb +66 -5
  521. data/lib/ver/methods/save.rb +127 -44
  522. data/lib/ver/methods/search.rb +103 -56
  523. data/lib/ver/methods/search_and_replace.rb +118 -0
  524. data/lib/ver/methods/selection.rb +443 -0
  525. data/lib/ver/methods/snippet.rb +244 -0
  526. data/lib/ver/methods/undo.rb +34 -13
  527. data/lib/ver/minibuffer.rb +293 -0
  528. data/lib/ver/minor_mode.rb +204 -0
  529. data/lib/ver/plist.rb +208 -20
  530. data/lib/ver/status.rb +76 -128
  531. data/lib/ver/status/battery.rb +147 -0
  532. data/lib/ver/status/buffer_position.rb +17 -0
  533. data/lib/ver/status/diakonos_position.rb +17 -0
  534. data/lib/ver/status/encoding.rb +13 -0
  535. data/lib/ver/status/filename.rb +13 -0
  536. data/lib/ver/status/label.rb +62 -0
  537. data/lib/ver/status/mode.rb +15 -0
  538. data/lib/ver/status/nano_help.rb +71 -0
  539. data/lib/ver/status/nano_position.rb +38 -0
  540. data/lib/ver/status/percent.rb +17 -0
  541. data/lib/ver/status/position.rb +16 -0
  542. data/lib/ver/status/separator.rb +20 -0
  543. data/lib/ver/status/short_filename.rb +13 -0
  544. data/lib/ver/status/syntax.rb +13 -0
  545. data/lib/ver/syntax.rb +15 -20
  546. data/lib/ver/syntax/detector.rb +7 -13
  547. data/lib/ver/syntax/processor.rb +4 -4
  548. data/lib/ver/text.rb +337 -170
  549. data/lib/ver/theme.rb +51 -28
  550. data/lib/ver/treeview.rb +54 -0
  551. data/lib/ver/undo.rb +37 -17
  552. data/lib/ver/vendor/better_pp_hash.rb +27 -0
  553. data/lib/ver/vendor/binary_search.rb +2 -2
  554. data/lib/ver/vendor/fuzzy_file_finder.rb +22 -8
  555. data/lib/ver/vendor/pathname.rb +26 -0
  556. data/lib/ver/vendor/textpow.rb +30 -32
  557. data/lib/ver/version.rb +1 -1
  558. data/lib/ver/widget_event.rb +49 -0
  559. data/lib/ver/widget_major_mode.rb +192 -0
  560. data/spec/helper.rb +49 -78
  561. data/spec/tm_snippet.rb +178 -0
  562. data/spec/ver/action.rb +65 -0
  563. data/spec/ver/keymap.rb +77 -0
  564. data/spec/ver/major_mode.rb +150 -0
  565. data/spec/ver/methods/move.rb +150 -0
  566. data/spec/ver/minor_mode.rb +90 -0
  567. data/spec/ver/plugin/smart_autoindent.rb +276 -0
  568. data/spec/ver/widget_major_mode.rb +69 -0
  569. data/tasks/rcov.rake +2 -3
  570. data/tasks/syntax_list.rake +28 -24
  571. data/ver.gemspec +6 -9
  572. metadata +524 -342
  573. data/TODO +0 -169
  574. data/config/preferences/ANTLR.json +0 -10
  575. data/config/preferences/ASP vb.NET.json +0 -3
  576. data/config/preferences/ASP.json +0 -15
  577. data/config/preferences/ActionScript.json +0 -755
  578. data/config/preferences/Active4D.json +0 -89
  579. data/config/preferences/Ada.json +0 -23
  580. data/config/preferences/Ant.json +0 -356
  581. data/config/preferences/Apache.json +0 -644
  582. data/config/preferences/AppleScript.json +0 -92
  583. data/config/preferences/Bison.json +0 -3
  584. data/config/preferences/Blogging.json +0 -3
  585. data/config/preferences/C.json +0 -127
  586. data/config/preferences/CMake.json +0 -41
  587. data/config/preferences/CSS.json +0 -461
  588. data/config/preferences/CTags.json +0 -3
  589. data/config/preferences/CVS.json +0 -3
  590. data/config/preferences/ColdFusion.json +0 -32
  591. data/config/preferences/D.json +0 -58
  592. data/config/preferences/Darcs.json +0 -3
  593. data/config/preferences/Diff.json +0 -67
  594. data/config/preferences/DokuWiki.json +0 -19
  595. data/config/preferences/Doxygen.json +0 -3
  596. data/config/preferences/Dylan.json +0 -3
  597. data/config/preferences/Eiffel.json +0 -59
  598. data/config/preferences/Erlang.json +0 -72
  599. data/config/preferences/Experimental.json +0 -1356
  600. data/config/preferences/F-Script.json +0 -87
  601. data/config/preferences/FXScript.json +0 -78
  602. data/config/preferences/FileMerge.json +0 -3
  603. data/config/preferences/Fortran.json +0 -158
  604. data/config/preferences/GTD2.json +0 -11
  605. data/config/preferences/GTDAlt.json +0 -20
  606. data/config/preferences/GetBundle.json +0 -3
  607. data/config/preferences/Gettext.json +0 -24
  608. data/config/preferences/Graphviz.json +0 -42
  609. data/config/preferences/Greasemonkey.json +0 -3
  610. data/config/preferences/Gri.json +0 -34
  611. data/config/preferences/HTML.json +0 -492
  612. data/config/preferences/Haskell.json +0 -72
  613. data/config/preferences/Hotkey.json +0 -3
  614. data/config/preferences/ImageBrowser.json +0 -3
  615. data/config/preferences/Inform.json +0 -3
  616. data/config/preferences/Ini.json +0 -60
  617. data/config/preferences/Installer.json +0 -3
  618. data/config/preferences/Io.json +0 -64
  619. data/config/preferences/JSON.json +0 -3
  620. data/config/preferences/Java.json +0 -86
  621. data/config/preferences/JavaDoc.json +0 -3
  622. data/config/preferences/JavaScript.json +0 -76
  623. data/config/preferences/LaTeX.json +0 -267
  624. data/config/preferences/Lex/Flex.json +0 -3
  625. data/config/preferences/Lighttpd.json +0 -3
  626. data/config/preferences/LilyPond.json +0 -77
  627. data/config/preferences/Lisp.json +0 -63
  628. data/config/preferences/Logo.json +0 -58
  629. data/config/preferences/Logtalk.json +0 -236
  630. data/config/preferences/Lua.json +0 -24
  631. data/config/preferences/MEL.json +0 -19
  632. data/config/preferences/MIPS Assembler.json +0 -26
  633. data/config/preferences/MacPorts.json +0 -3
  634. data/config/preferences/Mail.json +0 -3
  635. data/config/preferences/Make.json +0 -16
  636. data/config/preferences/Markdown.json +0 -102
  637. data/config/preferences/Math.json +0 -3
  638. data/config/preferences/Matlab.json +0 -128
  639. data/config/preferences/Maven.json +0 -308
  640. data/config/preferences/Mediawiki.json +0 -73
  641. data/config/preferences/Mercurial.json +0 -3
  642. data/config/preferences/Modula.json +0 -37
  643. data/config/preferences/MoinMoin.json +0 -52
  644. data/config/preferences/Navigation.json +0 -3
  645. data/config/preferences/Nemerle.json +0 -3
  646. data/config/preferences/OCaml Code Completion.json +0 -3
  647. data/config/preferences/OCaml.json +0 -163
  648. data/config/preferences/ODCompletion.json +0 -3
  649. data/config/preferences/Objective-C.json +0 -84
  650. data/config/preferences/OpenGL.json +0 -3331
  651. data/config/preferences/Outlines.json +0 -3
  652. data/config/preferences/Pascal.json +0 -60
  653. data/config/preferences/Perforce.json +0 -3
  654. data/config/preferences/Perl.json +0 -15
  655. data/config/preferences/PmWiki.json +0 -27
  656. data/config/preferences/Postscript.json +0 -15
  657. data/config/preferences/Processing.json +0 -32
  658. data/config/preferences/Prolog.json +0 -3
  659. data/config/preferences/Propel.json +0 -3
  660. data/config/preferences/Python.json +0 -38
  661. data/config/preferences/Quake.json +0 -15
  662. data/config/preferences/R.json +0 -33
  663. data/config/preferences/Ragel.json +0 -15
  664. data/config/preferences/Regular Expressions.json +0 -3
  665. data/config/preferences/Remind.json +0 -15
  666. data/config/preferences/Rez.json +0 -46
  667. data/config/preferences/Ruby.json +0 -98
  668. data/config/preferences/S5 Slide Show.json +0 -20
  669. data/config/preferences/SCons.json +0 -3
  670. data/config/preferences/SQL.json +0 -32
  671. data/config/preferences/SSH Config.json +0 -15
  672. data/config/preferences/SVK.json +0 -3
  673. data/config/preferences/SWIG.json +0 -3
  674. data/config/preferences/SWeave.json +0 -32
  675. data/config/preferences/Scheme.json +0 -35
  676. data/config/preferences/Scilab.json +0 -15
  677. data/config/preferences/Setext.json +0 -3
  678. data/config/preferences/Shell Script.json +0 -25
  679. data/config/preferences/Slate.json +0 -113
  680. data/config/preferences/Source.json +0 -132
  681. data/config/preferences/Subversion.json +0 -10
  682. data/config/preferences/TODO.json +0 -3
  683. data/config/preferences/Tabular.json +0 -3
  684. data/config/preferences/Tcl.json +0 -82
  685. data/config/preferences/TerminalMate.json +0 -112
  686. data/config/preferences/Text.json +0 -89
  687. data/config/preferences/TextMate.json +0 -38
  688. data/config/preferences/Textile.json +0 -76
  689. data/config/preferences/Thrift.json +0 -56
  690. data/config/preferences/Transmit.json +0 -3
  691. data/config/preferences/Twiki.json +0 -51
  692. data/config/preferences/Txt2tags.json +0 -81
  693. data/config/preferences/Vectorscript.json +0 -1280
  694. data/config/preferences/XML.json +0 -60
  695. data/config/preferences/Xcode.json +0 -3
  696. data/config/preferences/YAML.json +0 -24
  697. data/config/preferences/iCalendar.json +0 -10
  698. data/config/preferences/iTerm.json +0 -36
  699. data/config/preferences/reStructuredText.json +0 -48
  700. data/config/syntax/ANTLR.json +0 -275
  701. data/config/syntax/ASP vb.NET.json +0 -228
  702. data/config/syntax/ASP.json +0 -135
  703. data/config/syntax/ActionScript.json +0 -168
  704. data/config/syntax/Active4D Config.json +0 -86
  705. data/config/syntax/Active4D Library.json +0 -20
  706. data/config/syntax/Active4D.json +0 -418
  707. data/config/syntax/Ada.json +0 -108
  708. data/config/syntax/Ant.json +0 -196
  709. data/config/syntax/Apache.json +0 -342
  710. data/config/syntax/AppleScript.json +0 -721
  711. data/config/syntax/BibTeX.json +0 -253
  712. data/config/syntax/Bison.json +0 -59
  713. data/config/syntax/Blog - HTML.json +0 -47
  714. data/config/syntax/Blog - Markdown.json +0 -50
  715. data/config/syntax/Blog - Text.json +0 -45
  716. data/config/syntax/Blog - Textile.json +0 -45
  717. data/config/syntax/C++.json +0 -323
  718. data/config/syntax/C.json +0 -694
  719. data/config/syntax/CMake Listfile.json +0 -171
  720. data/config/syntax/CSS.json +0 -346
  721. data/config/syntax/CSV.json +0 -108
  722. data/config/syntax/ColdFusion.json +0 -204
  723. data/config/syntax/D.json +0 -560
  724. data/config/syntax/Diff.json +0 -136
  725. data/config/syntax/DokuWiki.json +0 -412
  726. data/config/syntax/Doxygen.json +0 -80
  727. data/config/syntax/Dylan.json +0 -104
  728. data/config/syntax/Eiffel.json +0 -128
  729. data/config/syntax/Erlang.json +0 -1636
  730. data/config/syntax/F-Script.json +0 -137
  731. data/config/syntax/FXScript.json +0 -260
  732. data/config/syntax/Fortran - Modern.json +0 -221
  733. data/config/syntax/Fortran - Punchcard.json +0 -468
  734. data/config/syntax/GTD.json +0 -39
  735. data/config/syntax/GTDalt.json +0 -233
  736. data/config/syntax/Gettext.json +0 -118
  737. data/config/syntax/Go.json +0 -555
  738. data/config/syntax/Graphviz (DOT).json +0 -79
  739. data/config/syntax/Greasemonkey.json +0 -56
  740. data/config/syntax/Gri.json +0 -141
  741. data/config/syntax/HTML (ASP).json +0 -45
  742. data/config/syntax/HTML (ASP.net).json +0 -736
  743. data/config/syntax/HTML (Active4D).json +0 -540
  744. data/config/syntax/HTML (Erlang).json +0 -31
  745. data/config/syntax/HTML (Tcl).json +0 -42
  746. data/config/syntax/HTML.json +0 -614
  747. data/config/syntax/Haskell.json +0 -407
  748. data/config/syntax/Inform.json +0 -80
  749. data/config/syntax/Ini.json +0 -91
  750. data/config/syntax/Installer Distribution Script.json +0 -135
  751. data/config/syntax/Io.json +0 -142
  752. data/config/syntax/JSON.json +0 -151
  753. data/config/syntax/Java Properties.json +0 -42
  754. data/config/syntax/Java Server Page (JSP).json +0 -163
  755. data/config/syntax/Java.json +0 -745
  756. data/config/syntax/JavaDoc.json +0 -435
  757. data/config/syntax/JavaScript.json +0 -446
  758. data/config/syntax/LaTeX Beamer.json +0 -65
  759. data/config/syntax/LaTeX Log.json +0 -88
  760. data/config/syntax/LaTeX Memoir.json +0 -101
  761. data/config/syntax/LaTeX.json +0 -962
  762. data/config/syntax/Lex-Flex.json +0 -396
  763. data/config/syntax/Lighttpd.json +0 -93
  764. data/config/syntax/LilyPond.json +0 -608
  765. data/config/syntax/Lisp.json +0 -101
  766. data/config/syntax/Literate Haskell.json +0 -55
  767. data/config/syntax/Logo.json +0 -48
  768. data/config/syntax/Logtalk.json +0 -289
  769. data/config/syntax/Lua.json +0 -146
  770. data/config/syntax/MATLAB.json +0 -744
  771. data/config/syntax/MEL.json +0 -161
  772. data/config/syntax/MIPS Assembler.json +0 -114
  773. data/config/syntax/MacPorts Portfile.json +0 -298
  774. data/config/syntax/Mail.json +0 -224
  775. data/config/syntax/Makefile.json +0 -66
  776. data/config/syntax/Markdown.json +0 -644
  777. data/config/syntax/Maven POM.json +0 -774
  778. data/config/syntax/Mediawiki.json +0 -736
  779. data/config/syntax/Modula-3.json +0 -80
  780. data/config/syntax/MoinMoin.json +0 -335
  781. data/config/syntax/MultiMarkdown.json +0 -41
  782. data/config/syntax/Nemerle.json +0 -128
  783. data/config/syntax/OCaml.json +0 -1391
  784. data/config/syntax/OCamllex.json +0 -307
  785. data/config/syntax/OCamlyacc.json +0 -346
  786. data/config/syntax/Objective-C++.json +0 -21
  787. data/config/syntax/Objective-C.json +0 -979
  788. data/config/syntax/Octave.json +0 -417
  789. data/config/syntax/OpenGL.json +0 -24
  790. data/config/syntax/PHP.json +0 -2184
  791. data/config/syntax/Pascal.json +0 -128
  792. data/config/syntax/Perl.json +0 -2091
  793. data/config/syntax/Plain Text.json +0 -49
  794. data/config/syntax/PmWiki.json +0 -241
  795. data/config/syntax/Postscript.json +0 -206
  796. data/config/syntax/Processing.json +0 -188
  797. data/config/syntax/Prolog.json +0 -70
  798. data/config/syntax/Python.json +0 -1934
  799. data/config/syntax/Quake Style .cfg.json +0 -54
  800. data/config/syntax/R.json +0 -157
  801. data/config/syntax/Ragel.json +0 -362
  802. data/config/syntax/Rd (R Documentation).json +0 -119
  803. data/config/syntax/Regular Expressions (Oniguruma).json +0 -186
  804. data/config/syntax/Regular Expressions (Python).json +0 -188
  805. data/config/syntax/Release Notes.json +0 -78
  806. data/config/syntax/Remind.json +0 -461
  807. data/config/syntax/Rez.json +0 -137
  808. data/config/syntax/Ruby Sass.json +0 -497
  809. data/config/syntax/Ruby.json +0 -1753
  810. data/config/syntax/S5 Slide Show.json +0 -85
  811. data/config/syntax/SQL.json +0 -435
  812. data/config/syntax/SSH Config.json +0 -55
  813. data/config/syntax/SWIG.json +0 -96
  814. data/config/syntax/SWeave.json +0 -139
  815. data/config/syntax/Scheme.json +0 -359
  816. data/config/syntax/Scilab.json +0 -69
  817. data/config/syntax/Setext.json +0 -247
  818. data/config/syntax/Shell Script (Bash).json +0 -1198
  819. data/config/syntax/Slate.json +0 -265
  820. data/config/syntax/Strings File.json +0 -53
  821. data/config/syntax/TSV.json +0 -83
  822. data/config/syntax/Tcl.json +0 -278
  823. data/config/syntax/TeX Math.json +0 -83
  824. data/config/syntax/TeX.json +0 -157
  825. data/config/syntax/Textile.json +0 -273
  826. data/config/syntax/Thrift.json +0 -641
  827. data/config/syntax/Twiki.json +0 -436
  828. data/config/syntax/Txt2tags.json +0 -154
  829. data/config/syntax/Vectorscript.json +0 -97
  830. data/config/syntax/XML strict.json +0 -148
  831. data/config/syntax/XML.json +0 -301
  832. data/config/syntax/XSL.json +0 -96
  833. data/config/syntax/YAML.json +0 -293
  834. data/config/syntax/camlp4.json +0 -63
  835. data/config/syntax/iCalendar.json +0 -51
  836. data/config/syntax/mod_perl.json +0 -72
  837. data/config/syntax/reStructuredText.json +0 -403
  838. data/config/syntax/svn-commit.tmp.json +0 -62
  839. data/config/theme/Active4D.json +0 -260
  840. data/config/theme/All Hallow's Eve.json +0 -171
  841. data/config/theme/Amy.json +0 -359
  842. data/config/theme/BBEdit.json +0 -269
  843. data/config/theme/Bespin.json +0 -322
  844. data/config/theme/Blackboard.json +0 -215
  845. data/config/theme/BoysAndGirls01.json +0 -156
  846. data/config/theme/Brilliance Black.json +0 -1695
  847. data/config/theme/Brilliance Dull.json +0 -1451
  848. data/config/theme/Classic Modified.json +0 -288
  849. data/config/theme/Cobalt.json +0 -345
  850. data/config/theme/Cool Glow.json +0 -215
  851. data/config/theme/Dawn.json +0 -258
  852. data/config/theme/Eiffel.json +0 -270
  853. data/config/theme/Espresso Libre.json +0 -247
  854. data/config/theme/Fluidvision.json +0 -272
  855. data/config/theme/IDLE.json +0 -159
  856. data/config/theme/LAZY.json +0 -178
  857. data/config/theme/Mac Classic.json +0 -277
  858. data/config/theme/MagicWB (Amiga).json +0 -231
  859. data/config/theme/Merbivore Soft.json +0 -181
  860. data/config/theme/Merbivore.json +0 -181
  861. data/config/theme/Monokai.json +0 -177
  862. data/config/theme/Notepad2.json +0 -166
  863. data/config/theme/Pastels on Dark.json +0 -437
  864. data/config/theme/RubyBlue.json +0 -226
  865. data/config/theme/Sin City 2.json +0 -361
  866. data/config/theme/Slate.json +0 -270
  867. data/config/theme/Slush & Poppies.json +0 -232
  868. data/config/theme/SpaceCadet.json +0 -143
  869. data/config/theme/Sunburst.json +0 -415
  870. data/config/theme/Twilight BG FG.json +0 -633
  871. data/config/theme/Twilight.json +0 -321
  872. data/config/theme/Whys Poignant.json +0 -119
  873. data/config/theme/Zenburnesque.json +0 -237
  874. data/config/theme/barf.json +0 -155
  875. data/config/theme/fake.json +0 -418
  876. data/config/theme/happydeluxe.json +0 -114
  877. data/config/theme/iLife 05.json +0 -393
  878. data/config/theme/iPlastic.json +0 -177
  879. data/config/theme/mintBlue Dark.json +0 -414
  880. data/config/theme/mintBlue.json +0 -415
  881. data/config/theme/monoindustrial.json +0 -276
  882. data/config/theme/starlight.json +0 -67
  883. data/lib/ver/layout.rb +0 -177
  884. data/lib/ver/methods/select.rb +0 -322
  885. data/lib/ver/methods/shortcuts.rb +0 -21
  886. data/lib/ver/methods/views.rb +0 -81
  887. data/lib/ver/mode.rb +0 -207
  888. data/lib/ver/status/context.rb +0 -166
  889. data/lib/ver/view.rb +0 -190
  890. data/lib/ver/view/console.rb +0 -171
  891. data/lib/ver/view/entry.rb +0 -32
  892. data/lib/ver/view/list.rb +0 -152
  893. data/lib/ver/view/list/buffer.rb +0 -27
  894. data/lib/ver/view/list/ex.rb +0 -71
  895. data/lib/ver/view/list/fuzzy_file_finder.rb +0 -44
  896. data/lib/ver/view/list/grep.rb +0 -53
  897. data/lib/ver/view/list/methods.rb +0 -159
  898. data/lib/ver/view/list/syntax.rb +0 -13
  899. data/lib/ver/view/list/theme.rb +0 -13
  900. data/lib/ver/view/term.rb +0 -255
  901. data/tasks/plist2json.rake +0 -35
@@ -0,0 +1,183 @@
1
+ # Encoding: UTF-8
2
+
3
+ {comment: "Ober (modified Sunburst)",
4
+ name: "newLISP",
5
+ settings:
6
+ [{settings:
7
+ {background: "#FFFFFF",
8
+ caret: "#A7A7A7",
9
+ foreground: "#000000",
10
+ invisibles: "#CAE2FB3D",
11
+ lineHighlight: "#FFFFFF0D",
12
+ selection: "#C7D8E2"}},
13
+ {name: "Comment",
14
+ scope: "comment",
15
+ settings: {fontStyle: "", foreground: "#555555"}},
16
+ {name: "Constant", scope: "constant", settings: {foreground: "#685500"}},
17
+ {name: "Entity",
18
+ scope: "entity",
19
+ settings: {fontStyle: "bold", foreground: "#090909"}},
20
+ {name: "Keyword",
21
+ scope: "keyword",
22
+ settings: {fontStyle: "bold", foreground: "#1F27B7"}},
23
+ {name: "Storage",
24
+ scope: "storage",
25
+ settings: {fontStyle: "bold", foreground: "#1F27B7"}},
26
+ {name: "String",
27
+ scope: "string",
28
+ settings: {fontStyle: "", foreground: "#006801"}},
29
+ {name: "Support",
30
+ scope: "support",
31
+ settings: {fontStyle: "", foreground: "#1F27B7"}},
32
+ {name: "Variable", scope: "variable", settings: {foreground: "#1F27B7"}},
33
+ {name: "Invalid – Deprecated",
34
+ scope: "invalid.deprecated",
35
+ settings:
36
+ {background: "#FFFFB9",
37
+ fontStyle: "italic underline",
38
+ foreground: "#808000"}},
39
+ {name: "Invalid – Illegal",
40
+ scope: "invalid.illegal",
41
+ settings: {background: "#800000", foreground: "#FFFFFF"}},
42
+ {name: "-----------------------------------", settings: {}},
43
+ {name: "♦ Embedded Source (Bright)",
44
+ scope: "text source",
45
+ settings: {background: "#B1B3BA08"}},
46
+ {name: "♦ Entity inherited-class",
47
+ scope: "entity.other.inherited-class",
48
+ settings: {fontStyle: "", foreground: "#9B5C2E"}},
49
+ {name: "♦ String embedded-source",
50
+ scope: "string.quoted source",
51
+ settings: {fontStyle: "", foreground: "#A38345"}},
52
+ {name: "♦ String constant",
53
+ scope: "string constant",
54
+ settings: {fontStyle: "", foreground: "#A38345"}},
55
+ {name: "♦ String.regexp",
56
+ scope: "string.regexp",
57
+ settings: {foreground: "#A38345"}},
58
+ {name: "♦ String.regexp.«special»",
59
+ scope:
60
+ "string.regexp constant.character.escape, string.regexp source.ruby.embedded, string.regexp string.regexp.arbitrary-repitition",
61
+ settings: {foreground: "#CF7D34"}},
62
+ {name: "♦ String variable",
63
+ scope: "string variable",
64
+ settings: {foreground: "#8A9A95"}},
65
+ {name: "♦ Support.function",
66
+ scope: "support.function",
67
+ settings: {fontStyle: "", foreground: "#1F27B7"}},
68
+ {name: "♦ Support.constant",
69
+ scope: "support.constant",
70
+ settings: {fontStyle: "", foreground: "#685500"}},
71
+ {name: "c C/C++ Preprocessor Line",
72
+ scope: "meta.preprocessor.c",
73
+ settings: {foreground: "#8996A8"}},
74
+ {name: "c C/C++ Preprocessor Directive",
75
+ scope: "meta.preprocessor.c keyword",
76
+ settings: {foreground: "#AFC4DB"}},
77
+ {name: "j Entity Name Type",
78
+ scope: "entity.name.type",
79
+ settings: {fontStyle: "bold"}},
80
+ {name: "j Cast",
81
+ scope: "meta.cast",
82
+ settings: {fontStyle: "italic", foreground: "#676767"}},
83
+ {name: "✘ Doctype/XML Processing",
84
+ scope:
85
+ "meta.sgml.html meta.doctype, meta.sgml.html meta.doctype entity, meta.sgml.html meta.doctype string, meta.xml-processing, meta.xml-processing entity, meta.xml-processing string",
86
+ settings: {foreground: "#494949"}},
87
+ {name: "✘ Meta.tag.«all»",
88
+ scope: "meta.tag, meta.tag entity",
89
+ settings: {fontStyle: "", foreground: "#006801"}},
90
+ {name: "✘ Meta.tag.inline",
91
+ scope:
92
+ "source entity.name.tag, source entity.other.attribute-name, meta.tag.inline, meta.tag.inline entity",
93
+ settings: {fontStyle: "", foreground: "#685500"}},
94
+ {name: "✘ Namespaces",
95
+ scope: "entity.name.tag.namespace, entity.other.attribute-name.namespace",
96
+ settings: {fontStyle: "", foreground: "#B71A18"}},
97
+ {name: "§ css tag-name",
98
+ scope: "meta.selector.css entity.name.tag",
99
+ settings: {fontStyle: "", foreground: "#B71A18"}},
100
+ {name: "§ css:pseudo-class",
101
+ scope: "meta.selector.css entity.other.attribute-name.tag.pseudo-class",
102
+ settings: {foreground: "#8F9D6A"}},
103
+ {name: "§ css#id",
104
+ scope: "meta.selector.css entity.other.attribute-name.id",
105
+ settings: {foreground: "#000000"}},
106
+ {name: "§ css.class",
107
+ scope: "meta.selector.css entity.other.attribute-name.class",
108
+ settings: {fontStyle: "", foreground: "#000000"}},
109
+ {name: "§ css property-name:",
110
+ scope: "support.type.property-name.css",
111
+ settings: {fontStyle: "bold", foreground: "#1F27B7"}},
112
+ {name: "§ css property-value;",
113
+ scope:
114
+ "meta.property-group support.constant.property-value.css, meta.property-value support.constant.property-value.css",
115
+ settings: {foreground: "#000000"}},
116
+ {name: "§ css @at-rule",
117
+ scope: "meta.preprocessor.at-rule keyword.control.at-rule",
118
+ settings: {foreground: "#8693A5"}},
119
+ {name: "§ css additional-constants",
120
+ scope:
121
+ "meta.property-value support.constant.named-color.css, meta.property-value constant",
122
+ settings: {foreground: "#685500"}},
123
+ {name: "§ css constructor.argument",
124
+ scope: "meta.constructor.argument.css",
125
+ settings: {foreground: "#8F9D6A"}},
126
+ {name: "⎇ diff.header",
127
+ scope: "meta.diff, meta.diff.header",
128
+ settings:
129
+ {background: "#0E2231", fontStyle: "italic", foreground: "#F8F8F8"}},
130
+ {name: "⎇ diff.deleted",
131
+ scope: "markup.deleted",
132
+ settings: {background: "#420E09", foreground: "#F8F8F8"}},
133
+ {name: "⎇ diff.changed",
134
+ scope: "markup.changed",
135
+ settings: {background: "#4A410D", foreground: "#F8F8F8"}},
136
+ {name: "⎇ diff.inserted",
137
+ scope: "markup.inserted",
138
+ settings: {background: "#253B22", foreground: "#F8F8F8"}},
139
+ {name: "--------------------------------", settings: {}},
140
+ {name: "Markup: Italic",
141
+ scope: "markup.italic",
142
+ settings: {fontStyle: "italic", foreground: "#CB0202"}},
143
+ {name: "Markup: Bold",
144
+ scope: "markup.bold",
145
+ settings: {fontStyle: "bold", foreground: "#CB0202"}},
146
+ {name: "Markup: Underline",
147
+ scope: "markup.underline",
148
+ settings: {fontStyle: "underline", foreground: "#CB0202"}},
149
+ {name: "Markup: Quote",
150
+ scope: "markup.quote",
151
+ settings:
152
+ {background: "#F8F7E4", fontStyle: "italic", foreground: "#408000"}},
153
+ {name: "Markup: Heading",
154
+ scope: "markup.heading, markup.heading entity",
155
+ settings: {background: "#632D04", fontStyle: "", foreground: "#FEDCC5"}},
156
+ {name: "Markup: List",
157
+ scope: "markup.list",
158
+ settings: {foreground: "#908978"}},
159
+ {name: "Markup: Raw",
160
+ scope: "markup.raw",
161
+ settings: {background: "#B1B3BA08", fontStyle: "", foreground: "#26368F"}},
162
+ {name: "Markup: Comment",
163
+ scope: "markup comment",
164
+ settings: {fontStyle: "italic", foreground: "#F67B37"}},
165
+ {name: "Markup: Separator",
166
+ scope: "meta.separator",
167
+ settings: {background: "#242424", foreground: "#60A633"}},
168
+ {name: "Log Entry",
169
+ scope: "meta.line.entry.logfile, meta.line.exit.logfile",
170
+ settings: {background: "#EEEEEE29"}},
171
+ {name: "Log Entry Error",
172
+ scope: "meta.line.error.logfile",
173
+ settings: {background: "#751012"}},
174
+ {name: "Namespace",
175
+ scope: "namespace.lsp",
176
+ settings: {background: "#94410A", fontStyle: "bold"}},
177
+ {name: "newLISP: paren",
178
+ scope: "operator.lsp",
179
+ settings: {fontStyle: "", foreground: "#B71A18"}},
180
+ {name: "String Delimiter",
181
+ scope: "punctuation.definition.string.lsp",
182
+ settings: {fontStyle: "", foreground: "#006801"}}],
183
+ uuid: "1EB2144B-4567-4860-B4B1-890DA804195C"}
data/config/welcome CHANGED
@@ -4,26 +4,22 @@
4
4
 
5
5
  This project can be found at: http://github.com/manveru/ver
6
6
 
7
- Notes:
8
- * M usually stands for the alt key on your keyboard.
9
-
10
- Various help commands (all not implemented yet):
11
- [M-h h] : Open help browser
12
- [M-h k] : Query help for key
13
- [M-h g] : Grep help
14
- [M-h t] : Open tutorial
15
-
16
7
  Quick intro:
17
8
 
18
9
  VER is a modal editor, drawing from both Emacs and Vim for inspiration, as they are both excellent projects but have very different downsides.
19
10
  I tried to address these downsides:
20
11
 
21
- * Use of a real programming language (Ruby) for implementation, configuration and scripting (no ancient elisp or crazy vimscript)
22
- * Easy to use keymappings to emulate other editors while maintaining the strength of a live environment.
23
- * I don't intend this editor to be everything for everybody, it's just useful for myself for now.
24
- * Make editing powerful without years of learning and remembering arcane shortcuts, and don't require users of the editor to sacrifice their wrists.
12
+ * Use of a real programming language (Ruby) for implementation, configuration
13
+ and scripting (no ancient elisp or crazy vimscript)
14
+ * Easy to use keymappings to emulate other editors while maintaining the
15
+ strength of a live environment.
16
+ * I don't intend this editor to be everything for everybody, it's just useful
17
+ for myself for now.
18
+ * Make editing powerful without years of learning and remembering arcane
19
+ shortcuts, and don't require users of the editor to sacrifice their wrists.
25
20
  * Allow project-based browsing and grepping right from the start.
26
- * Easily identify the mode you are in by looking at the color of the status line and cursor.
21
+ * Easily identify the mode you are in by looking at the color of the status
22
+ line and cursor.
27
23
 
28
24
  Currently working:
29
25
 
data/lib/ver.rb CHANGED
@@ -4,47 +4,58 @@
4
4
  # lazy stdlib
5
5
  autoload :Benchmark, 'benchmark'
6
6
  autoload :FileUtils, 'fileutils'
7
-
8
- # 3rd party
9
- require 'eventmachine'
7
+ autoload :Tempfile, 'tempfile'
10
8
 
11
9
  # eager stdlib
12
10
  require 'digest/sha1'
13
- require 'json'
14
- # require 'pp'
15
11
  require 'securerandom'
16
12
  require 'set'
17
- require 'pathname'
18
-
19
- autoload :SizedArray, 'ver/vendor/sized_array'
13
+ require 'ver/vendor/better_pp_hash'
14
+ require 'ver/vendor/pathname'
15
+ require 'ver/vendor/sized_array'
20
16
 
17
+ # This is the doc for VER
21
18
  module VER
19
+ autoload :Action, 'ver/action'
20
+ autoload :Bookmarks, 'ver/methods/bookmark'
21
+ autoload :Buffer, 'ver/buffer'
22
22
  autoload :Entry, 'ver/entry'
23
- autoload :Help, 'ver/help'
23
+ autoload :ExceptionView, 'ver/exception_view'
24
+ autoload :Executor, 'ver/executor'
24
25
  autoload :Font, 'ver/font'
26
+ autoload :Help, 'ver/help'
25
27
  autoload :HoverCompletion, 'ver/hover_completion'
28
+ autoload :KEYSYMS, 'ver/keysyms'
26
29
  autoload :Keymap, 'ver/keymap'
27
- autoload :Layout, 'ver/layout'
30
+ autoload :Keymapped, 'ver/keymap/keymapped'
31
+ autoload :Levenshtein, 'ver/vendor/levenshtein'
28
32
  autoload :Methods, 'ver/methods'
29
- autoload :Mode, 'ver/mode'
33
+ autoload :MiniBuffer, 'ver/minibuffer'
34
+ autoload :NotebookLayout, 'ver/layout/notebook'
35
+ autoload :PanedLayout, 'ver/layout/paned'
36
+ autoload :SYMKEYS, 'ver/keysyms'
30
37
  autoload :Status, 'ver/status'
31
38
  autoload :Syntax, 'ver/syntax'
32
39
  autoload :Text, 'ver/text'
33
40
  autoload :Textpow, 'ver/vendor/textpow'
34
- autoload :Levenshtein, 'ver/vendor/levenshtein'
35
41
  autoload :Theme, 'ver/theme'
36
- autoload :View, 'ver/view'
37
- autoload :ExceptionView, 'ver/exception_view'
38
- autoload :Bookmarks, 'ver/methods/bookmark'
39
- autoload :Bookmark, 'ver/methods/bookmark'
42
+ autoload :TilingLayout, 'ver/layout/tiling'
43
+ autoload :Treeview, 'ver/treeview'
40
44
  autoload :Undo, 'ver/undo'
45
+ autoload :WidgetEvent, 'ver/widget_event'
46
+ autoload :WidgetMajorMode, 'ver/widget_major_mode'
41
47
 
48
+ require 'ver/major_mode'
49
+ require 'ver/minor_mode'
42
50
  require 'ver/options'
51
+
43
52
  @options = Options.new(:ver)
44
53
 
45
54
  class << self
46
- attr_reader(:root, :layout, :status, :paths, :options, :bookmarks,
47
- :ctag_stack)
55
+ attr_reader(:ctag_stack, :keymap, :style_name_pools, :style_name_register,
56
+ :bookmarks, :buffers, :layout, :options, :paths, :root, :status,
57
+ :minibuf)
58
+ attr_accessor :layout_class
48
59
  end
49
60
 
50
61
  # the rest of the options are in config/rc.rb
@@ -52,6 +63,9 @@ module VER
52
63
  o "Fork off on startup to avoid dying with the terminal",
53
64
  :fork, true
54
65
 
66
+ o "Use EventMachine inside VER, at the moment only for the console",
67
+ :eventmachine, false
68
+
55
69
  o "Internal:External encoding",
56
70
  :encoding, "UTF-8:UTF-8"
57
71
 
@@ -72,6 +86,9 @@ module VER
72
86
 
73
87
  o "Locations where we look for configuration",
74
88
  :loadpath, [home_conf_dir, core_conf_dir]
89
+
90
+ o "Name under which the session is stored (nil means to keep no session)",
91
+ :session, nil
75
92
  end
76
93
 
77
94
  module_function
@@ -83,56 +100,149 @@ module VER
83
100
  def run(given_options = {}, &block)
84
101
  setup_tk
85
102
  run_startup(given_options)
103
+ pp options if $DEBUG
86
104
 
87
- forking do
88
- if Tk::RUN_EVENTLOOP_ON_MAIN_THREAD
89
- run_aqua(&block)
90
- else
91
- run_x11(&block)
92
- end
105
+ run_maybe_forking do
106
+ options.eventmachine ? run_em(&block) : run_noem(&block)
93
107
  end
94
108
  rescue => exception
95
109
  VER.error(exception)
96
110
  exit
97
111
  end
98
112
 
99
- def run_aqua(&block)
100
- run_core
101
- EM.defer(&block) if block
102
- Tk.mainloop
103
- end
113
+ def run_maybe_forking(&block)
114
+ return yield unless options.fork
104
115
 
105
- def run_x11(&block)
106
- EM.defer do
107
- run_core
108
- EM.defer(&block) if block
109
- Tk.mainloop
116
+ fork do
117
+ trap(:HUP){ 'terminal disconnected' }
118
+ yield
110
119
  end
111
120
  end
112
121
 
113
- def forking
114
- if options.fork
115
- fork do
116
- trap(:HUP){ 'terminal disconnected' }
117
- EM.run{ yield }
122
+ def run_em(&block)
123
+ require 'eventmachine'
124
+
125
+ EM.run do
126
+ if Tk::RUN_EVENTLOOP_ON_MAIN_THREAD
127
+ run_core
128
+ EM.defer(&block) if block
129
+ Tk.mainloop
130
+ else
131
+ EM.defer do
132
+ run_core
133
+ EM.defer(&block) if block
134
+ Tk.mainloop
135
+ end
118
136
  end
119
- else
120
- EM.run{ yield }
121
137
  end
122
138
  end
123
139
 
140
+ def run_noem(&block)
141
+ run_core
142
+ yield if block
143
+ Tk.mainloop
144
+ end
145
+
124
146
  def run_startup(given_options)
125
147
  first_startup unless options.home_conf_dir.directory?
148
+
149
+ @startup_hooks = []
150
+ @paths = Set.new
151
+ @cancel_blocks = {}
152
+ @load_plugins = Set.new
153
+ @exception_view = nil
154
+ @bookmarks = Bookmarks.new
155
+ @ctag_stack = []
156
+ @style_name_register = []
157
+ @style_name_pools = {}
158
+ @buffers = {}
159
+
126
160
  load 'rc'
127
161
  @options.merge!(given_options)
128
162
  end
129
163
 
130
164
  def run_core
131
165
  sanitize_options
132
- # dump_options
133
166
  setup_widgets
134
167
  open_argv || open_welcome
168
+ open_session
135
169
  emergency_bindings
170
+ load_plugins
171
+ run_startup_hooks
172
+ end
173
+
174
+ def when_inactive_for(ms)
175
+ block = lambda{
176
+ if @cancel_blocks[block]
177
+ @cancel_blocks.delete(block)
178
+ else
179
+
180
+ if Tk.root.tk_inactive > ms
181
+ yield
182
+ Tk.root.tk_inactive('reset')
183
+ Tk::After.ms(ms, &block)
184
+ else
185
+ Tk::After.ms(ms, &block)
186
+ end
187
+ end
188
+ }
189
+
190
+ @cancel_blocks[block] = false
191
+ Tk::After.idle(&block)
192
+ block
193
+ end
194
+
195
+ def defer
196
+ Tk::After.idle do
197
+ begin
198
+ yield
199
+ rescue Exception => ex
200
+ VER.error(ex)
201
+ end
202
+ end
203
+ end
204
+
205
+ def cancel_block(block)
206
+ @cancel_blocks[block] = true
207
+ end
208
+
209
+ def run_startup_hooks
210
+ @startup_hooks.each(&:call)
211
+ end
212
+
213
+ def startup_hook(&block)
214
+ @startup_hooks << block
215
+ end
216
+
217
+ def plugin(name)
218
+ @load_plugins << name.to_s
219
+ end
220
+
221
+ def load_plugins
222
+ @load_plugins.each do |plugin|
223
+ load_plugin(plugin)
224
+ Tk::Event.generate(root, '<<PluginLoaded>>', data: plugin.to_s)
225
+ end
226
+ end
227
+
228
+ def load_plugin(name)
229
+ loadpath.each do |dirname|
230
+ (dirname/"plugin/#{name}.rb").glob do |rb|
231
+ return require(rb.to_s)
232
+ end
233
+ end
234
+ rescue => ex
235
+ error(ex)
236
+ end
237
+
238
+ def load_all_plugins
239
+ loadpath.each do |dirname|
240
+ (dirname/'plugin/*.rb').glob do |rb|
241
+ require rb
242
+ end
243
+ end
244
+ rescue => ex
245
+ error(ex)
136
246
  end
137
247
 
138
248
  def setup_tk
@@ -143,21 +253,29 @@ module VER
143
253
  def setup_widgets
144
254
  Tk::Tile.set_theme options.tk_theme
145
255
 
146
- @paths = Set.new
147
-
148
256
  @root = Tk.root
149
257
  @root.wm_geometry = '160x80'
150
258
 
151
- @layout = Layout.new(@root)
152
- @layout.strategy = Layout::VerticalTiling
259
+ Tk::Tile::Style.configure('Label', font: options.font, sticky: :sw)
260
+ # Tk::Tile::Style.configure('TLabelframe', background: '#f00')
153
261
 
154
- @status = Entry.new(@root, font: options.font)
155
- @status.insert :end, 'For information about VER, type F1'
156
- @status.pack(fill: :x)
262
+ setup_layout
157
263
 
158
- @exception_view = nil
159
- @bookmarks = Bookmarks.new
160
- @ctag_stack = []
264
+ load("keymap/#{options.keymap}.rb")
265
+
266
+ @minibuf = MiniBuffer.new(@layout)
267
+ @layout.configure(
268
+ labelwidget: minibuf,
269
+ labelanchor: :sw
270
+ )
271
+
272
+ [:Messages, :Scratch].each do |name|
273
+ defer{ Buffer[name].hide }
274
+ end
275
+ end
276
+
277
+ def setup_layout
278
+ @layout = (layout_class || PanedLayout).new(root)
161
279
  end
162
280
 
163
281
  def sanitize_options
@@ -206,6 +324,8 @@ module VER
206
324
  end
207
325
 
208
326
  def exit
327
+ store_session
328
+ @cancel_blocks.keys.each{|key| @cancel_blocks[key] = true }
209
329
  Tk.exit rescue nil
210
330
  EM.stop rescue nil
211
331
  Kernel.exit
@@ -235,31 +355,85 @@ module VER
235
355
 
236
356
  def open_argv
237
357
  argv = ARGV.dup
238
- any = false
358
+ openend_any = false
239
359
 
240
360
  while arg = argv.shift
241
- layout.create_view do |view|
242
- if argv.first =~ /\+\d+/
243
- line = argv.shift.to_i
244
- view.open_path(arg, line)
245
- else
246
- view.open_path(arg)
247
- end
248
-
249
- any = true
361
+ if argv.first =~ /\+\d+/
362
+ line = argv.shift.to_i
363
+ find_or_create_buffer(arg, line)
364
+ else
365
+ find_or_create_buffer(arg)
250
366
  end
367
+
368
+ opened_any = true
251
369
  end
252
370
 
253
- any
371
+ opened_any
254
372
  end
255
373
 
256
374
  def open_welcome
257
- layout.create_view do |view|
258
- welcome = find_in_loadpath('welcome')
259
- view.open_path(welcome)
375
+ if welcome = find_in_loadpath('welcome')
376
+ find_or_create_buffer(welcome)
377
+ true
260
378
  end
261
379
  end
262
380
 
381
+ def open_session
382
+ return unless session_base = options.session
383
+ basename = "#{session_base}.session.rb"
384
+ return unless file = find_in_loadpath(basename)
385
+
386
+ begin
387
+ session = eval(File.read(file))
388
+ rescue SyntaxError => ex
389
+ puts "#{ex.class}: #{ex}", *ex.backtrace
390
+ return
391
+ end
392
+
393
+ session[:bookmarks].each do |raw_bm|
394
+ bm = Bookmarks::Bookmark.new
395
+ bm.name = raw_bm[:name]
396
+ bm.file = Pathname(raw_bm[:file])
397
+ bm.index = raw_bm[:index]
398
+ bookmarks << bm
399
+ end
400
+
401
+ session[:buffers].each do |buffer|
402
+ find_or_create_buffer(buffer[:filename], *buffer[:insert])
403
+ end
404
+ end
405
+
406
+ def store_session
407
+ return unless session_base = VER.options.session
408
+ basename = "#{session_base}.session.rb"
409
+ session_path = loadpath.first/basename
410
+
411
+ session = {buffers: [], bookmarks: []}
412
+ buffers.each do |name, buffer|
413
+ session[:buffers] << {
414
+ name: name.to_s,
415
+ filename: buffer.filename.to_s,
416
+ insert: buffer.text.index(:insert).split,
417
+ }
418
+ end
419
+
420
+ bookmarks.each do |bm|
421
+ session[:bookmarks] << {
422
+ name: bm.name,
423
+ file: bm.file.to_s,
424
+ index: bm.index,
425
+ }
426
+ end
427
+
428
+ session_path.open('w+:UTF-8') do |io|
429
+ io.write(session.pretty_inspect)
430
+ end
431
+ end
432
+
433
+ def find_or_create_buffer(file, line = nil, column = nil, &block)
434
+ Buffer.find_or_create(file, line, column, &block)
435
+ end
436
+
263
437
  def emergency_bindings
264
438
  Tk::Bind.bind(:all, options.emergency_exit){ exit }
265
439
  end
@@ -268,6 +442,37 @@ module VER
268
442
  @paths << text.filename
269
443
  end
270
444
 
445
+ def message(*args)
446
+ minibuf.message(*args)
447
+ end
448
+
449
+ def warn(*args)
450
+ minibuf.warn(*args)
451
+ end
452
+
453
+ def obtain_style_name(widget_name, widget_class)
454
+ suffix = "#{widget_name}.#{widget_class}"
455
+ pool = style_name_pools[suffix] ||= []
456
+ register = style_name_register
457
+
458
+ unless name = pool.shift
459
+ begin
460
+ id = SecureRandom.hex
461
+ name = "#{id}.#{suffix}"
462
+ end while register.include?(name)
463
+
464
+ register << name
465
+ end
466
+
467
+ return name
468
+ end
469
+
470
+ def return_style_name(style_name)
471
+ id, widget_name, widget_class = style_name.split('.')
472
+ suffix = "#{widget_name}.#{widget_class}"
473
+ style_name_pools[suffix] << style_name
474
+ end
475
+
271
476
  def dump_options
272
477
  out = []
273
478
 
@@ -303,19 +508,7 @@ module VER
303
508
  end
304
509
 
305
510
  def exception_view(exception)
306
- unless @exception_view
307
- @exception_view ||= ExceptionView.new(@root)
308
-
309
- @exception_view.bind '<<TreeviewOpen>>' do
310
- @exception_view.on_treeview_open
311
- end
312
-
313
- @exception_view.bind '<Escape>' do
314
- @exception_view.pack_forget
315
- @layout.views.first.focus
316
- end
317
- end
318
-
511
+ @exception_view ||= ExceptionView.new(root)
319
512
  @exception_view.show(exception)
320
513
  end
321
514
  end