From c45eff49e26d76a2f30141d5b170b517fe52a90b Mon Sep 17 00:00:00 2001 From: Zhang Chiyuan Date: Thu, 6 Mar 2008 14:33:13 +0000 Subject: [PATCH] more snippets and a bug fix: strange (= nil nil) will cause error in elisp. --- snippets/ruby-mode/# | 3 +++ snippets/ruby-mode/am | 3 +++ snippets/ruby-mode/case | 6 ++++++ snippets/ruby-mode/forin | 5 +++++ snippets/ruby-mode/if | 5 +++++ snippets/ruby-mode/ife | 7 +++++++ snippets/ruby-mode/inject | 3 +++ snippets/ruby-mode/rb | 3 +++ snippets/ruby-mode/reject | 3 +++ snippets/ruby-mode/select | 3 +++ yasnippet.el | 7 ++++--- 11 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 snippets/ruby-mode/# create mode 100644 snippets/ruby-mode/am create mode 100644 snippets/ruby-mode/case create mode 100644 snippets/ruby-mode/forin create mode 100644 snippets/ruby-mode/if create mode 100644 snippets/ruby-mode/ife create mode 100644 snippets/ruby-mode/inject create mode 100644 snippets/ruby-mode/rb create mode 100644 snippets/ruby-mode/reject create mode 100644 snippets/ruby-mode/select diff --git a/snippets/ruby-mode/# b/snippets/ruby-mode/# new file mode 100644 index 0000000..7d21bb4 --- /dev/null +++ b/snippets/ruby-mode/# @@ -0,0 +1,3 @@ +#name : # => +# -- +# => \ No newline at end of file diff --git a/snippets/ruby-mode/am b/snippets/ruby-mode/am new file mode 100644 index 0000000..20594fd --- /dev/null +++ b/snippets/ruby-mode/am @@ -0,0 +1,3 @@ +#name : alias_method new, old +# -- +alias_method :${new_name}, :${old_name} \ No newline at end of file diff --git a/snippets/ruby-mode/case b/snippets/ruby-mode/case new file mode 100644 index 0000000..acc03ba --- /dev/null +++ b/snippets/ruby-mode/case @@ -0,0 +1,6 @@ +#name : case ... end +# -- +case ${1:object} +when ${2:condition} + $0 +end \ No newline at end of file diff --git a/snippets/ruby-mode/forin b/snippets/ruby-mode/forin new file mode 100644 index 0000000..3d7e4d2 --- /dev/null +++ b/snippets/ruby-mode/forin @@ -0,0 +1,5 @@ +#name : for ... in ...; ... end +# -- +for ${1:element} in ${2:collection} + $0 +end \ No newline at end of file diff --git a/snippets/ruby-mode/if b/snippets/ruby-mode/if new file mode 100644 index 0000000..51bf24c --- /dev/null +++ b/snippets/ruby-mode/if @@ -0,0 +1,5 @@ +#name : if ... end +# -- +if ${1:condition} + $0 +end \ No newline at end of file diff --git a/snippets/ruby-mode/ife b/snippets/ruby-mode/ife new file mode 100644 index 0000000..08fbb81 --- /dev/null +++ b/snippets/ruby-mode/ife @@ -0,0 +1,7 @@ +#name : if ... else ... end +# -- +if ${1:condition} + $2 +else + $3 +end \ No newline at end of file diff --git a/snippets/ruby-mode/inject b/snippets/ruby-mode/inject new file mode 100644 index 0000000..f6adb5c --- /dev/null +++ b/snippets/ruby-mode/inject @@ -0,0 +1,3 @@ +#name : inject(...) { |...| ... } +# -- +inject(${1:0}) { |${2:injection}, ${3:element}| $0 } \ No newline at end of file diff --git a/snippets/ruby-mode/rb b/snippets/ruby-mode/rb new file mode 100644 index 0000000..9153653 --- /dev/null +++ b/snippets/ruby-mode/rb @@ -0,0 +1,3 @@ +#name : /usr/bin/ruby -wKU +# -- +#!/usr/bin/ruby -wKU diff --git a/snippets/ruby-mode/reject b/snippets/ruby-mode/reject new file mode 100644 index 0000000..9625fe9 --- /dev/null +++ b/snippets/ruby-mode/reject @@ -0,0 +1,3 @@ +#name : reject { |...| ... } +# -- +reject { |${1:element}| $0 } \ No newline at end of file diff --git a/snippets/ruby-mode/select b/snippets/ruby-mode/select new file mode 100644 index 0000000..b18a17d --- /dev/null +++ b/snippets/ruby-mode/select @@ -0,0 +1,3 @@ +#name : select { |...| ... } +# -- +select { |${1:element}| $0 } \ No newline at end of file diff --git a/yasnippet.el b/yasnippet.el index 6fc1f14..6d3b7c3 100644 --- a/yasnippet.el +++ b/yasnippet.el @@ -27,7 +27,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; User customizable variables ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defvar yas/key-syntaxes (list "w" "w_") +(defvar yas/key-syntaxes (list "w" "w_" "w_." "^ ") "A list of syntax of a key. This list is tried in the order to try to find a key. For example, if the list is '(\"w\" \"w_\"). And in emacs-lisp-mode, where \"-\" has the syntax of \"_\": @@ -137,8 +137,9 @@ mode will be listed under the menu \"yasnippet\".") (yas/snippet-groups snippet) :test '(lambda (field group) - (= (yas/field-number field) - (yas/group-number group)))))) + (and (not (null (yas/field-number field))) + (= (yas/field-number field) + (yas/group-number group))))))) (if group (yas/group-add-field group field) (push (yas/make-group field snippet)