mirror of
https://github.com/joaotavora/yasnippet.git
synced 2025-10-13 21:13:04 +00:00
* safety commit :-). But `yas/ruby-require' is working!
This commit is contained in:
parent
74f7f1504a
commit
900e9b7cec
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user