(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
;;
;;
;; ${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")`
;;
;;
;; 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