From 900e9b7ceca9f416493f53491c8bd392a5c15f59 Mon Sep 17 00:00:00 2001 From: capitaomorte Date: Tue, 6 Apr 2010 15:33:39 +0000 Subject: [PATCH] * safety commit :-). But `yas/ruby-require' is working! --- extras/imported/ruby-mode/.yas-setup.el | 240 ++++++++++++++++++++++-- 1 file changed, 224 insertions(+), 16 deletions(-) diff --git a/extras/imported/ruby-mode/.yas-setup.el b/extras/imported/ruby-mode/.yas-setup.el index b3be5b802..bc27466b5 100644 --- a/extras/imported/ruby-mode/.yas-setup.el +++ b/extras/imported/ruby-mode/.yas-setup.el @@ -19,22 +19,120 @@ (defun yas/ruby-toggle-single-multi-line-block () (interactive) - (save-excursion - (let* ((block-start (progn (ruby-beginning-of-block) (point))) - (block-end (progn (ruby-end-of-block) (forward-word)(point)))) - (when (and block-start - block-end) - (goto-char block-start) - (cond ((not (eq (line-number-at-pos block-end) - (line-number-at-pos block-start))) - (when (looking-at ".*[^\w]\\(do\\)[^\w]\\(|.*|\\)?") - (goto-char block-end) - (insert "}") - (goto-char block-start) - (replace-regexp "do" "{" t block-start (line-end-position)))) - (t - (replace-regexp "\\(.*\\){[^w]\\(|.*|\\)" "\1do \2\n" nil block-start block-end))))))) + (let* ((do-block-start (save-excursion + (ruby-beginning-of-block) + (when (looking-at ".*[^\w]\\(do\\)[^\w]\\(|.*|\\)?") + (point)))) + (brace-block-start (save-excursion + (condition-case nil + (while (progn (up-list -1) (not (eq (char-after) ?{)))) + (point)) + (error nil)))) + (if (and do-block-start brace-block-start) + (if (< do-block-start brace-block-start) + (setq do-block-start nil) + (setq brace-block-start nil))) + (cond (do-block-start + (ruby-end-of-block) + (forward-word) + (insert "}") + (goto-char do-block-start)) + (brace-block-start + )))) + +(defvar yas/ruby-require-regexps + '(("abbrev" . ("abbrev")) + ("base64" . ("Base64")) + ("benchmark" . ("Benchmark")) + ("bigdecimal" . ("BigDecimal")) + ("bigdecimal/math" . ("BigMath")) + ("cgi" . ("CGI")) + ("complex" . ("Complex")) + ("csv" . ("CSV")) + ("curses" . ("Curses")) + ("date" . ("Date(?:Time)?")) + ("dbm" . ("DBM")) + ("delegate" . ("DelegateClass" "Delegator" "SimpleDelegator ")) + ("digest" . ("MD5" "SHA1")) + ("dl" . ("DL")) + ("enumerator" . ("(?:enum|each)_(?:cons|slice)" "enum_(?:for|with_index)" "to_enum ")) + ("erb" . ("ERB")) + ("etc" . ("Etc")) + ("fcntl" . ("Fcntl")) + ("fileutils" . ("FileUtils")) + ("find" . ("Find(?:\.|::)find")) + ("forwardable" . ("(?:Single)?Forwardable")) + ("gdbm" . ("GDBM")) + ("generator" . ("Generator" "SyncEnumerator")) + ("getoptlong" . ("GetoptLong")) + ("gserver" . ("GServer")) + ("iconv" . ("Iconv")) + ("ipaddr" . ("IpAddr")) + ("logger" . ("Logger")) + ("matrix" . ("Matrix" "Vector")) + ("monitor" . ("Monitor(?:Mixin)?")) + ("net/ftp" . ("Net::FTP")) + ("net/http" . ("Net::HTTP")) + ("net/imap" . ("Net::IMAP")) + ("net/pop" . ("Net::(?:APOP|POP3)")) + ("net/smtp" . ("Net::SMTP")) + ("net/telnet" . ("Net::Telnet")) + ("nkf" . ("NKF")) + ("observer" . ("Observable")) + ("open3" . ("Open3")) + ("optparse" . ("OptionParser")) + ("ostruct" . ("OpenStruct")) + ("pathname" . ("Pathname")) + ("ping" . ("Ping")) + ("pp" . ("pp")) + ("pstore" . ("PStore")) + ("rational" . ("Rational")) + ("rdoc/usage" . ("RDoc(?:\.|::)usage")) + ("rdoc/markup/simple_markup" . ("SM::SimpleMarkup")) + ("rdoc/markup/simple_markup/to_html" . ("SM::SimpleMarkup")) + ("rdoc/usage" . ("RDoc(?:\.|::)usage")) + ("resolv" . ("Resolv")) + ("rexml/document" . ("REXML")) + ("rinda/tuplespace" . ("Rinda::TupleSpace(?:Proxy)?")) + ("rinda/ring" . ("Rinda::Ring(?:Finger|Server)?")) + ("rss" . ("RSS")) + ("scanf" . ("scanf")) + ("sdbm" . ("SDBM")) + ("set" . ("(?:Sorted)?Set")) + ("singleton" . ("Singleton")) + ("soap" . ("SOAP")) + ("socket" . (" (?:TCP|UNIX)(?:Socket|Server)" "(?:UDP)?Socket")) + ("stringio" . ("StringIO")) + ("strscan" . ("StringScanner")) + ("syslog" . ("Syslog")) + ("tempfile" . ("Tempfile")) + ("test/unit" . ("Test::Unit")) + ("thread" . (" ConditionVariable" "Mutex" "(?:Sized)?Queue ")) + ("time" . ("Time(?:\.|::)parse")) + ("timeout" . ("Timeout(?:\.|::)timeout")) + ("tk" . ("TK")) + ("tmpdir" . ("Dir(?:\.|::)tmpdir")) + ("tracer" . ("Tracer")) + ("tsort" . ("TSort")) + ("uri" . ("URI")) + ("weakref" . ("WeakRef")) + ("webrick" . ("WEBrick")) + ("Win32API" . ("Win32(?:API)?")) + ("win32ole" . ("WIN32OLE")) + ("wsdl" . ("WSDL")) + ("xmlrpc" . ("XMLRPC")) + ("yaml" . ("YAML")) + ("zlib" . ("Zlib")))) +(defun yas/ruby-require (package) + (save-excursion + (goto-char (point-min)) + (unless (search-forward-regexp (format "^[\s\t]*require[( ][ ]*\"%s\"[ )]*$" + package) nil t) + (unless (search-forward-regexp "^[\s\t]*require.*\n" nil t) + (search-forward-regexp "^[\s\t]*[^#]" nil t) + (goto-char (line-beginning-position))) + (insert "require \"" package "\"\n")))) ;; conditions ;; @@ -79,7 +177,9 @@ ;; ;; ${1/([\w&&[^_]]+)|./\u$1/g} =yyas> ${1:$(replace-regexp-in-string "[_/]" "" (capitalize yas/text))} ;; -;; 0F940CBC-2173-49FF-B6FD-98A62863F8F2 =yyas> (yas/ruby-wrap-in-begin-rescue) +;; 0F940CBC-2173-49FF-B6FD-98A62863F8F2 =yyas> (yas/ruby-wrap-in-begin-rescue) +;; 7E084412-80E6-4B70-8092-C03D1ECE4CD2 =yyas> (yas/ruby-require "eac")(yas/expand-uuid 'ruby-mode "FDD73070-6D32-4301-A86A-C55B77C3D8ED") + ;; ;; `[[ $TM_LINE_INDEX != 0 ]] && echo; echo` =yyas> `(concat (if (eq 0 current-line) "\n" "") "\n")` ;; @@ -526,24 +626,132 @@ ;; ;; Substitutions for: content ;; +;; # as in Macros/xmlread(__).yasnippet +;; F6BF907E-FDF7-4D9B-9E57-BE159561349D =yyas> (yas/unknown) +;; +;; # as in Macros/Overwrite } in #{ .. }.yasnippet +;; E5158F94-CC52-4424-A495-14EF9272653F =yyas> (yas/unknown) +;; +;; # as in Commands/Check Ruby Syntax.yasnippet +;; EE5F19BA-6C02-11D9-92BA-0011242E4184 =yyas> (yas/unknown) +;; +;; # as in Commands/Enclose in + (RDoc comments).yasnippet +;; 2DDB6FE0-6111-4C40-A149-8E67E76F8272 =yyas> (yas/unknown) +;; ;; # as in Snippets/RDoc documentation block.yasnippet ;; `(concat (if (eq 0 current-line) "\n" "") "\n")` =yyas> (yas/unknown) ;; +;; # as in Macros/require_gem __.yasnippet +;; 33969819-62C5-4E03-B824-C2337205F364 =yyas> (yas/unknown) +;; +;; # as in Macros/map_with_index { e, i .. } (mapwi).yasnippet +;; BFB65D1C-62F1-485D-8A67-3E5A2E55107C =yyas> (yas/unknown) +;; +;; # as in Macros/each_slice(..) { group .. } (eas).yasnippet +;; 825B721D-4367-4DF7-98C0-F005695DF9E3 =yyas> (yas/unknown) +;; +;; # as in Macros/YAML.dump(.., file) (Yd).yasnippet +;; 9460392B-C036-4A76-A5AE-1191F10E4B1B =yyas> (yas/unknown) +;; +;; # as in Commands/Run.yasnippet +;; 35222962-C50D-4D58-A6AE-71E7AD980BE4 =yyas> (yas/unknown) +;; +;; # as in Commands/Enclose in _ (RDoc comments).yasnippet +;; DAA69A0C-FC1E-4509-9931-DFFB38B4D6AE =yyas> (yas/unknown) +;; +;; # as in Macros/Toggle Single Multi Line Block.yasnippet +;; 7990EE60-C850-4779-A8C0-7FD2C853B99B =yyas> (yas/unknown) +;; +;; # as in Commands/Omit from RDoc.yasnippet +;; BF4CA9F1-51CD-48D4-8357-852234F59046 =yyas> (yas/unknown) +;; ;; # as in Snippets/flunk(..) (fl).yasnippet ;; `yas/ruby-snippet-close-paren` =yyas> (yas/unknown) ;; ;; # as in Snippets/#usrlocalbinruby -w.yasnippet ;; `yas/ruby-shebang-args` =yyas> (yas/unknown) ;; +;; # as in Macros/YAML.load(file) (Yl).yasnippet +;; 2C07D4E7-D74F-4AE4-82BE-B0BA82247AFA =yyas> (yas/unknown) +;; +;; # as in Commands/Toggle StringSymbol.yasnippet +;; B297E4B8-A8FF-49CE-B9C4-6D4911724D43 =yyas> (yas/unknown) +;; +;; # as in Commands/Run Rake Task.yasnippet +;; 569C9822-8C41-4907-94C7-1A8A0031B66D =yyas> (yas/unknown) +;; +;; # as in Commands/Execute and Insert Results.yasnippet +;; FBFC214F-B019-4967-95D2-028F374A3221 =yyas> (yas/unknown) +;; +;; # as in Macros/Benchmark_bmbm(__) do __ end.yasnippet +;; C649F945-DAB8-4DA2-B73C-2EFF9D7D34F3 =yyas> (yas/unknown) +;; +;; # as in Commands/word_wrap() (worw).yasnippet +;; 97054C4D-E4A3-45B1-9C00-B82DBCB30CAD =yyas> (yas/unknown) +;; +;; # as in Commands/Toggle Quote Style.yasnippet +;; 6519CB08-8326-4B77-A251-54722FFBFC1F =yyas> (yas/unknown) +;; +;; # as in Macros/extend Forwardable (Forw).yasnippet +;; 58FDEA60-10AF-4C49-AA09-29B77030DB25 =yyas> (yas/unknown) +;; +;; # as in Commands/Make Destructive Call.yasnippet +;; 7F79BC8D-8A4F-4570-973B-05DFEC25747F =yyas> (yas/unknown) +;; +;; # as in Commands/Insert Missing Requires.yasnippet +;; 9FB64639-F776-499B-BA6F-BB45F86F80FD =yyas> (yas/unknown) +;; +;; # as in Commands/Toggle ERb Tags.yasnippet +;; 835FAAC6-5431-436C-998B-241F7226B99B =yyas> (yas/unknown) +;; +;; # as in Commands/Completion Ruby (rcodetools).yasnippet +;; 47D203ED-EB9B-4653-A07B-A897800CEB76 =yyas> (yas/unknown) +;; ;; # as in Snippets/flunk(..) (fl).yasnippet ;; `yas/ruby-snippet-open-paren` =yyas> (yas/unknown) ;; +;; # as in Macros/class .. DelegateClass .. initialize .. end (class).yasnippet +;; 121B334B-2AA6-4E9A-A8B8-BF93B627982B =yyas> (yas/unknown) +;; +;; # as in Commands/New Method.yasnippet +;; 0275EF39-9357-408F-AF20-79E415CA9504 =yyas> (yas/unknown) +;; +;; # as in Commands/Execute Line with Ruby.yasnippet +;; EE5F1FB2-6C02-11D9-92BA-0011242E4184 =yyas> (yas/unknown) +;; +;; # as in Macros/PStore_new( __ ).yasnippet +;; 5AE7CFB4-418E-4E00-AD76-06DB755EE876 =yyas> (yas/unknown) +;; +;; # as in Commands/Show RDoc for this file.yasnippet +;; 1AD6A138-2E89-4D6A-AB3F-416BF9CE968D =yyas> (yas/unknown) +;; +;; # as in Commands/Run focused unit test.yasnippet +;; 5289EE40-86B8-11D9-A8D4-000A95E13C98 =yyas> (yas/unknown) +;; ;; # as in Snippets/module .. module_function .. end.yasnippet ;; `(yas/ruby-infer-class-name)` =yyas> (yas/unknown) ;; +;; # as in Commands/Check ERB Syntax.yasnippet +;; 76FCF165-54CB-4213-BC55-BD60B9C6A3EC =yyas> (yas/unknown) +;; ;; # as in Snippets/open yield block ({).yasnippet ;; `yas/selected-text` =yyas> (yas/unknown) ;; +;; # as in Macros/Delete forwardbackward.yasnippet +;; A83F68A9-F751-4BB4-AE16-56812878C16A =yyas> (yas/unknown) +;; +;; # as in Macros/each_cons(..) { group .. } (eac).yasnippet +;; EC73D5CC-5F05-46B9-A6F4-82037E4A38C9 =yyas> (yas/unknown) +;; +;; # as in Commands/Lookup in Documentation.yasnippet +;; 63F3B3B7-CBE2-426B-B551-657733F3868B =yyas> (yas/unknown) +;; +;; # as in Commands/Open Require.yasnippet +;; 8646378E-91F5-4771-AC7C-43FC49A93576 =yyas> (yas/unknown) +;; +;; # as in Commands/Enclose in (RDoc comments).yasnippet +;; 931DD73E-615E-476E-9B0D-8341023AE730 =yyas> (yas/unknown) +;; ;; ;; Substitutions for: condition -- 2.39.2