* safety commit :-). But `yas/ruby-require' is working!

This commit is contained in:
capitaomorte 2010-04-06 15:33:39 +00:00
parent 74f7f1504a
commit 900e9b7cec

View File

@ -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