diff --git a/extras/imported/ruby-mode/.yas-setup.el b/extras/imported/ruby-mode/.yas-setup.el index cb97aa2..96d8541 100644 --- a/extras/imported/ruby-mode/.yas-setup.el +++ b/extras/imported/ruby-mode/.yas-setup.el @@ -36,7 +36,7 @@ (unless (<= end start) (substring x start (1+ end)))))) -(defvar yas/ruby-block-start-regexp ".*[\s\t\n]\\(do\\)[\s\t\n]\\(|.*|\\)?") +(defvar yas/ruby-block-start-regexp "\\(^\\|[\s\t\n^]\\)\\(do\\)[\s\t\n]\\(|.*|\\)?") (defun yas/ruby-toggle-single-multi-line-block () "Toggle \"do .. end\" blocks into \"{ .. }\" blocks back and forth." @@ -223,6 +223,48 @@ (recenter orig-line) retval)) +(put (intern "ruby-thing") 'bounds-of-thing-at-point 'yas/ri-ruby-thing-bounds) +(defun yas/ri-ruby-thing-bounds () + (let ((start (point)) + (end (point))) + (save-excursion + (while (not (and (zerop (skip-syntax-forward "\w\_")) + (zerop (skip-chars-forward "#:")))) + (setq end (point))) + (while (not (and (zerop (skip-syntax-backward "\w\_")) + (zerop (skip-chars-backward "#:")))) + (setq start (point)))) + (unless (= start end) + (cons start end)))) + +(defvar yas/ri-history nil + "History of yas/ri queries.") +(require 'ansi-color) +(defun yas/ri (query) + (interactive (list (read-from-minibuffer "Ri query: " + (thing-at-point 'ruby-thing) + nil + nil + 'ri-history))) + (with-current-buffer (get-buffer-create "*Ri*") + (setq buffer-read-only nil) + (shell-command (concat "ri -f ansi " query) "*Ri*") + (ansi-color-apply-on-region (point-min) (point-max)) + (yas/ri-mode) + (display-buffer (current-buffer))) + t) + +(defun yas/ri-mode () + "Mode for viewing Ruby documentation." + (buffer-disable-undo) + (kill-all-local-variables) + (local-set-key (kbd "q") 'quit-window) + (local-set-key (kbd "RET") 'yas/ri) + (setq mode-name "ri") + (setq major-mode 'yas/ri-mode) + (setq buffer-read-only t) + (run-hooks 'yas/ri-mode-hook)) + ;; conditions ;; (yas/define-condition-cache yas/ruby-in-interpolated-string-p (member (fourth (syntax-ppss)) (list ?\" ?\`))) @@ -273,7 +315,7 @@ ;; 7990EE60-C850-4779-A8C0-7FD2C853B99B =yyas> (yas/ruby-toggle-single-multi-line-block) ;; 7E084412-80E6-4B70-8092-C03D1ECE4CD2 =yyas> (yas/ruby-require "eac")(yas/expand-uuid 'ruby-mode "FDD73070-6D32-4301-A86A-C55B77C3D8ED") ;; FBFC214F-B019-4967-95D2-028F374A3221 =yyas> (yas/ruby-pipe-through-xmpfilter) -;; 63F3B3B7-CBE2-426B-B551-657733F3868B =yyas> (or (and (featurep 'ri) (call-interactively 'ri)) (message "No ri found!")) +;; 63F3B3B7-CBE2-426B-B551-657733F3868B =yyas> (call-interactively (if (featurep 'ri) 'ri 'yas/ri)) ;; ;; `[[ $TM_LINE_INDEX != 0 ]] && echo; echo` =yyas> `(concat (if (eq 0 current-line) "\n" "") "\n")` @@ -763,36 +805,36 @@ "835FAAC6-5431-436C-998B-241F7226B99B" "A83F68A9-F751-4BB4-AE16-56812878C16A" "47D203ED-EB9B-4653-A07B-A897800CEB76" - "35222962-C50D-4D58-A6AE-71E7AD980BE4" - "B3875596-723C-41EE-9E6F-F84930C3B568" - "8646378E-91F5-4771-AC7C-43FC49A93576" - "B297E4B8-A8FF-49CE-B9C4-6D4911724D43" - "2DDB6FE0-6111-4C40-A149-8E67E76F8272" - "569C9822-8C41-4907-94C7-1A8A0031B66D" "835FAAC6-5431-436C-998B-241F7226B99B" - "47D203ED-EB9B-4653-A07B-A897800CEB76" - "E07FF68B-C87D-4332-8477-D026929FDADA" + "569C9822-8C41-4907-94C7-1A8A0031B66D" "BF4CA9F1-51CD-48D4-8357-852234F59046" + "B3875596-723C-41EE-9E6F-F84930C3B568" + "B297E4B8-A8FF-49CE-B9C4-6D4911724D43" "931DD73E-615E-476E-9B0D-8341023AE730" "DAA69A0C-FC1E-4509-9931-DFFB38B4D6AE" + "47D203ED-EB9B-4653-A07B-A897800CEB76" + "2DDB6FE0-6111-4C40-A149-8E67E76F8272" + "35222962-C50D-4D58-A6AE-71E7AD980BE4" + "8646378E-91F5-4771-AC7C-43FC49A93576" + "E07FF68B-C87D-4332-8477-D026929FDADA" + "2C07D4E7-D74F-4AE4-82BE-B0BA82247AFA" + "E5158F94-CC52-4424-A495-14EF9272653F" + "58FDEA60-10AF-4C49-AA09-29B77030DB25" "825B721D-4367-4DF7-98C0-F005695DF9E3" "121B334B-2AA6-4E9A-A8B8-BF93B627982B" - "9460392B-C036-4A76-A5AE-1191F10E4B1B" - "E5158F94-CC52-4424-A495-14EF9272653F" - "2C07D4E7-D74F-4AE4-82BE-B0BA82247AFA" - "58FDEA60-10AF-4C49-AA09-29B77030DB25" - "EC73D5CC-5F05-46B9-A6F4-82037E4A38C9" "BFB65D1C-62F1-485D-8A67-3E5A2E55107C" - "6519CB08-8326-4B77-A251-54722FFBFC1F" + "EC73D5CC-5F05-46B9-A6F4-82037E4A38C9" + "9460392B-C036-4A76-A5AE-1191F10E4B1B" + "1AD6A138-2E89-4D6A-AB3F-416BF9CE968D" + "EE5F1FB2-6C02-11D9-92BA-0011242E4184" "9FB64639-F776-499B-BA6F-BB45F86F80FD" - "5289EE40-86B8-11D9-A8D4-000A95E13C98" "7F79BC8D-8A4F-4570-973B-05DFEC25747F" "EE5F19BA-6C02-11D9-92BA-0011242E4184" - "EE5F1FB2-6C02-11D9-92BA-0011242E4184" - "0275EF39-9357-408F-AF20-79E415CA9504" - "1AD6A138-2E89-4D6A-AB3F-416BF9CE968D" "97054C4D-E4A3-45B1-9C00-B82DBCB30CAD" "76FCF165-54CB-4213-BC55-BD60B9C6A3EC" + "0275EF39-9357-408F-AF20-79E415CA9504" + "5289EE40-86B8-11D9-A8D4-000A95E13C98" + "6519CB08-8326-4B77-A251-54722FFBFC1F" "C649F945-DAB8-4DA2-B73C-2EFF9D7D34F3" "5AE7CFB4-418E-4E00-AD76-06DB755EE876" "A83F68A9-F751-4BB4-AE16-56812878C16A" @@ -820,44 +862,47 @@ ;; # as in Snippets/class __ TestUnitTestCase with test_helper.yasnippet ;; (yas/multi-line-unknown 228CAB3A-E221-4727-B430-31E94F76C9D3) =yyas> (yas/unknown) ;; -;; # as in Macros/map_with_index { e, i .. } (mapwi).yasnippet -;; BFB65D1C-62F1-485D-8A67-3E5A2E55107C =yyas> (yas/unknown) -;; ;; # as in Macros/YAML.dump(.., file) (Yd).yasnippet ;; 9460392B-C036-4A76-A5AE-1191F10E4B1B =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 Commands/Enclose in _ (RDoc comments).yasnippet -;; DAA69A0C-FC1E-4509-9931-DFFB38B4D6AE =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 Commands/Omit from RDoc.yasnippet ;; BF4CA9F1-51CD-48D4-8357-852234F59046 =yyas> (yas/unknown) ;; -;; # as in Snippets/assert_respond_to(..) (asrt).yasnippet +;; # as in Snippets/assert_not_nil(..) (asnn).yasnippet ;; `yas/ruby-snippet-close-paren` =yyas> (yas/unknown) ;; ;; # as in Macros/YAML.load(file) (Yl).yasnippet ;; 2C07D4E7-D74F-4AE4-82BE-B0BA82247AFA =yyas> (yas/unknown) ;; -;; # as in Commands/Run Rake Task.yasnippet -;; 569C9822-8C41-4907-94C7-1A8A0031B66D =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 Macros/Benchmark_bmbm(__) do __ end.yasnippet ;; C649F945-DAB8-4DA2-B73C-2EFF9D7D34F3 =yyas> (yas/unknown) ;; +;; # as in Commands/Toggle Quote Style.yasnippet +;; 6519CB08-8326-4B77-A251-54722FFBFC1F =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 Snippets/class .. TestUnitTestCase .. end (tc).yasnippet +;; (yas/multi-line-unknown 31D1F145-33AB-4441-BA11-4D1C46928C4C) =yyas> (yas/unknown) ;; ;; # as in Commands/Make Destructive Call.yasnippet ;; 7F79BC8D-8A4F-4570-973B-05DFEC25747F =yyas> (yas/unknown) @@ -868,22 +913,19 @@ ;; # as in Macros/extend Forwardable (Forw).yasnippet ;; 58FDEA60-10AF-4C49-AA09-29B77030DB25 =yyas> (yas/unknown) ;; -;; # as in Snippets/class .. TestUnitTestCase .. end (tc).yasnippet -;; (yas/multi-line-unknown 31D1F145-33AB-4441-BA11-4D1C46928C4C) =yyas> (yas/unknown) -;; ;; # as in Commands/RakeSake task using file path.yasnippet ;; E07FF68B-C87D-4332-8477-D026929FDADA =yyas> (yas/unknown) ;; ;; # as in Commands/Completion Ruby (rcodetools).yasnippet ;; 47D203ED-EB9B-4653-A07B-A897800CEB76 =yyas> (yas/unknown) ;; -;; # as in Commands/Toggle ERb Tags.yasnippet -;; 835FAAC6-5431-436C-998B-241F7226B99B =yyas> (yas/unknown) -;; ;; # as in Commands/gsub - remove whitespace from front of line.yasnippet ;; B3875596-723C-41EE-9E6F-F84930C3B568 =yyas> (yas/unknown) ;; -;; # as in Snippets/assert_respond_to(..) (asrt).yasnippet +;; # as in Commands/Toggle ERb Tags.yasnippet +;; 835FAAC6-5431-436C-998B-241F7226B99B =yyas> (yas/unknown) +;; +;; # as in Snippets/assert_not_nil(..) (asnn).yasnippet ;; `yas/ruby-snippet-open-paren` =yyas> (yas/unknown) ;; ;; # as in Commands/New Method.yasnippet @@ -898,18 +940,18 @@ ;; # 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 Commands/Show RDoc for this file.yasnippet +;; 1AD6A138-2E89-4D6A-AB3F-416BF9CE968D =yyas> (yas/unknown) +;; +;; # as in Snippets/module .. 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/class .. end (cla).yasnippet -;; `(yas/ruby-infer-class-name)` =yyas> (yas/unknown) -;; ;; # as in Snippets/embed string variable.yasnippet ;; `yas/selected-text` =yyas> (yas/unknown) ;; @@ -919,12 +961,12 @@ ;; # as in Macros/each_cons(..) { group .. } (eac).yasnippet ;; EC73D5CC-5F05-46B9-A6F4-82037E4A38C9 =yyas> (yas/unknown) ;; -;; # as in Commands/Enclose in (RDoc comments).yasnippet -;; 931DD73E-615E-476E-9B0D-8341023AE730 =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 @@ -948,12 +990,12 @@ ;; # as in Commands/Omit from RDoc.yasnippet ;; ^@O =yyas> (yas/unknown) ;; -;; # as in Commands/Make Destructive Call.yasnippet -;; ^! =yyas> (yas/unknown) -;; ;; # as in Snippets/hash pointer.yasnippet ;; ^l =yyas> (yas/unknown) ;; +;; # as in Commands/Make Destructive Call.yasnippet +;; ^! =yyas> (yas/unknown) +;; ;; # as in Commands/Toggle Quote Style.yasnippet ;; ^" =yyas> (yas/unknown) ;; diff --git a/extras/textmate_import.rb b/extras/textmate_import.rb index f6ebb57..e7a9281 100755 --- a/extras/textmate_import.rb +++ b/extras/textmate_import.rb @@ -17,8 +17,8 @@ require 'rubygems' require 'plist' require 'choice' -require 'FileUtils' -require 'Shellwords' # String#shellescape +require 'fileutils' +require 'shellwords' # String#shellescape require 'ruby-debug' if $DEBUG Choice.options do