* Finished commiting Rob Christie's patches to the ruby snippets (add

setup.el, delete the # => snippet)

* Tweaked some ruby snippets

* Disabled bindings for some TextMate text-mode snippets
This commit is contained in:
capitaomorte 2009-10-15 14:08:17 +00:00
parent deb0755824
commit 57c150b42d
8 changed files with 47 additions and 15 deletions

View File

@ -1,6 +0,0 @@
# -*- mode: snippet -*-
# key: #
# contributor: Translated from TextMate Snippet
# name: Add # => Marker
# --
# =>

View File

@ -2,11 +2,16 @@
# key: begin # key: begin
# contributor: Translated from TextMate Snippet # contributor: Translated from TextMate Snippet
# name: begin … rescue … end # name: begin … rescue … end
## binding: "^W" ## binding: "C-c C-w"
## condition: "source.ruby - comment" # condition: (not (yas/ruby-in-comment-p))
# -- # --
begin begin
`(or yas/selected-text (car kill-ring))`$3 `(or yas/selected-text
(and cua-mode
(prog1
(get-register ?0)
(set-register ?0 nil)))
(car kill-ring))`$3
rescue ${1:Exception}${2:$(if (string= yas/text "") "" " => ")}${2:e} rescue ${1:Exception}${2:$(if (string= yas/text "") "" " => ")}${2:e}
$0 $0
end end

View File

@ -1,7 +1,8 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# contributor: Translated from TextMate Snippet # contributor: Translated from TextMate Snippet
# name: Embedded Code — #{…} # name: Embedded Code — #{…}
## binding: "C-#" # binding: "#"
## condition: "(string.quoted.double.ruby|string.interpolated.ruby) - string source" # condition: (yas/ruby-in-interpolated-string-p)
# expand-env: ((yas/wrap-around-region t))
# -- # --
{${1:`yas/selected-text`}} #{$0}

View File

@ -0,0 +1,27 @@
(defvar yas/ruby-snippet-open-paren " "
"The open parenthesis used in ruby-mode snippets. Normally blank but could be (")
(defvar yas/ruby-snippet-close-paren " "
"The close parenthesis used in ruby-mode snippets. Normally blank but could be )")
(defun yas/ruby-snippet-paren (&optional arg)
"Defaults to returning the open paren. If arg equals t then shows close paren."
(if arg
yas/ruby-snippet-close-paren
yas/ruby-snippet-open-paren))
(defun yas/ruby-infer-class-name ()
"Infer the class name from the buffer. Thanks to hitesh <hitesh.jasani@gmail.com>"
(let ((fn (capitalize (file-name-nondirectory
(file-name-sans-extension
(buffer-file-name))))))
(cond
((string-match "_" fn) (replace-match "" nil nil fn))
(t fn))))
(defun yas/ruby-in-interpolated-string-p ()
(eq (fourth (syntax-ppss))
?\"))
(defun yas/ruby-in-comment-p ()
(fifth (syntax-ppss)))

View File

@ -1,7 +1,7 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# contributor: Translated from TextMate Snippet # contributor: Translated from TextMate Snippet
# name: Continue Bullet # name: Continue Bullet
# binding: "" ## binding: ""
# -- # --

View File

@ -1,7 +1,7 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# contributor: Translated from TextMate Snippet # contributor: Translated from TextMate Snippet
# name: Continue Light Bullet # name: Continue Light Bullet
# binding: "" ## binding: ""
# -- # --
· ·

View File

@ -1,7 +1,7 @@
# -*- mode: snippet -*- # -*- mode: snippet -*-
# contributor: Translated from TextMate Snippet # contributor: Translated from TextMate Snippet
# name: Continue Star Bullet # name: Continue Star Bullet
# binding: "" ## binding: ""
# -- # --
* *

View File

@ -1449,6 +1449,11 @@ TEMPLATES is a list of `yas/template'."
(defun yas/load-directory-1 (directory &optional parents no-hierarchy-parents making-groups-sym) (defun yas/load-directory-1 (directory &optional parents no-hierarchy-parents making-groups-sym)
"Recursively load snippet templates from DIRECTORY." "Recursively load snippet templates from DIRECTORY."
;; TODO: Rewrite this horrible, horrible monster I created ;; TODO: Rewrite this horrible, horrible monster I created
;; TODO: Temp hack, load a setup.el file if its exists
(let ((file (concat directory "/" "setup.el")))
(when (file-exists-p file)
(load file)))
(unless (file-exists-p (concat directory "/" ".yas-skip")) (unless (file-exists-p (concat directory "/" ".yas-skip"))
(let* ((major-mode-and-parents (unless making-groups-sym (let* ((major-mode-and-parents (unless making-groups-sym
(yas/compute-major-mode-and-parents (concat directory "/dummy") (yas/compute-major-mode-and-parents (concat directory "/dummy")