diff --git a/UltiSnips/ruby.snippets b/UltiSnips/ruby.snippets index 3a4ba77..6336589 100644 --- a/UltiSnips/ruby.snippets +++ b/UltiSnips/ruby.snippets @@ -1,11 +1,10 @@ -snippet #! "#!/usr/bin/env ruby" +snippet "^#!" "#!/usr/bin/env ruby" r #!/usr/bin/env ruby $0 endsnippet - -snippet #utf8 "# encoding: UTF-8" +snippet "^# ?[uU][tT][fF]-?8" "# encoding: UTF-8" r # encoding: UTF-8 $0 endsnippet @@ -13,13 +12,13 @@ endsnippet snippet If " if " -${1:command} if ${2:expression$0} +${1:command} if ${0:expression} endsnippet snippet Unless " unless " -${1:command} unless ${2:expression$0} +${1:command} unless ${0:expression} endsnippet @@ -27,7 +26,7 @@ endsnippet snippet if "if ... end" if ${1:condition} ${2:# TODO} -end${3:$0} +end endsnippet @@ -37,7 +36,7 @@ if ${1:condition} ${2:# TODO} else ${3:# TODO} -end${4:$0} +end endsnippet @@ -48,16 +47,16 @@ if ${1:condition} elsif ${3:condition} ${4:# TODO} else - ${5:# TODO} -end${6:$0} + ${0:# TODO} +end endsnippet snippet unless "unless ... end" unless ${1:condition} - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet @@ -66,8 +65,8 @@ snippet unlesse "unless ... else ... end" unless ${1:condition} ${2:# TODO} else - ${3:# TODO} -end${4:$0} + ${0:# TODO} +end endsnippet @@ -78,15 +77,15 @@ unless ${1:condition} elsif ${3:condition} ${4:# TODO} else - ${5:# TODO} -end${6:$0} + ${0:# TODO} +end endsnippet snippet "\b(de)?f" "def ..." r def ${1:function_name}${2: ${3:*args}} - ${4:# TODO$0} + ${0:# TODO} end endsnippet @@ -94,7 +93,7 @@ endsnippet snippet defi "def initialize ..." def initialize${1: ${2:*args}} - ${3:# TODO$0} + ${0:# TODO} end endsnippet @@ -104,153 +103,168 @@ snippet defr "def ... rescue ..." def ${1:function_name}${2: ${3:*args}} ${4:# TODO} rescue - ${5:# TODO} + ${0:# TODO} end endsnippet snippet For "(..).each { || }" -(${1:from}..${2:to}).each { |${3:i}| ${4:# TODO} }${5:$0} +(${1:from}..${2:to}).each { |${3:i}| ${4:# TODO} } endsnippet snippet for "(..).each do || end" (${1:from}..${2:to}).each do |${3:i}| - ${4:# TODO} -end${5:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Merge!" ".merge!() { |,,| }" r -`!p snip.rv=match.group(1)`.merge!(${1:other_hash}) { |${2:key},${3:oldval},${4:newval}| ${5:block} }${6:$0} +snippet "(\S+)\.Merge!" ".merge!() { |,,| }" r +`!p snip.rv=match.group(1)`.merge!(${1:other_hash}) { |${2:key},${3:oldval},${4:newval}| ${5:block} } endsnippet -snippet "([^ \t]+)\.merge!" ".merge!() do |,,| end" r +snippet "(\S+)\.merge!" ".merge!() do |,,| end" r `!p snip.rv=match.group(1)`.merge!(${1:other_hash}) do |${2:key},${3:oldval},${4:newval}| - ${5:block} -end${6:$0} + ${0:block} +end endsnippet -snippet "([^ \t]+)\.Delete_?if" ".delete_if { |,| }" r -`!p snip.rv=match.group(1)`.delete_if { |${1:key},${2:value}| ${3:# TODO} }${4:$0} +snippet "(\S+)\.Del(ete)?_?if" ".delete_if { |,| }" r +`!p snip.rv=match.group(1)`.delete_if { |${1:key},${2:value}| ${3:# TODO} } endsnippet -snippet "([^ \t]+)\.delete_?if" ".delete_if do |,| end" r +snippet "(\S+)\.del(ete)?_?if" ".delete_if do |,| end" r `!p snip.rv=match.group(1)`.delete_if do |${1:key},${2:value}| - ${3:# TODO} -end${4:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Keep_?if" ".keep_if { |,| }" r -`!p snip.rv=match.group(1)`.keep_if { |${1:key},${2:value}| ${3:# TODO} }${4:$0} +snippet "(\S+)\.Keep_?if" ".keep_if { |,| }" r +`!p snip.rv=match.group(1)`.keep_if { |${1:key},${2:value}| ${3:# TODO} } endsnippet -snippet "([^ \t]+)\.keep_?if" ".keep_if do ,| end" r +snippet "(\S+)\.keep_?if" ".keep_if do ,| end" r `!p snip.rv=match.group(1)`.keep_if do |${1:key},${2:value}| - ${3:# TODO} -end${4:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Reject" ".reject { |,| }" r -`!p snip.rv=match.group(1)`.reject { |${1:key},${2:value}| ${3:# TODO} }${4:$0} +snippet "(\S+)\.Reject" ".reject { |,| }" r +`!p snip.rv=match.group(1)`.reject { |${1:key},${2:value}| ${3:# TODO} } endsnippet -snippet "([^ \t]+)\.reject" ".reject do ,| end" r +snippet "(\S+)\.reject" ".reject do ,| end" r `!p snip.rv=match.group(1)`.reject do |${1:key},${2:value}| - ${3:# TODO} -end${4:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Select" ".select { || }" r -`!p snip.rv=match.group(1)`.select { |${1:item}| ${2:block} }${3:$0} +snippet "(\S+)\.Select" ".select { || }" r +`!p snip.rv=match.group(1)`.select { |${1:item}| ${2:block} } endsnippet -snippet "([^ \t]+)\.select" ".select do || end" r +snippet "(\S+)\.select" ".select do || end" r `!p snip.rv=match.group(1)`.select do |${1:item}| - ${2:block} -end${3:$0} + ${0:block} +end endsnippet -snippet "([^ \t]+)\.Sort" ".sort { |,| }" i -`!p snip.rv=match.group(1)`.sort { |${1:a},${2,b}| ${3:# TODO} }${4:$0} +snippet "(\S+)\.Sort" ".sort { |,| }" r +`!p snip.rv=match.group(1)`.sort { |${1:a},${2:b}| ${3:# TODO} } endsnippet -snippet "([^ \t]+)\.sort" ".sort do |,| end" r -`!p snip.rv=match.group(1)`.sort do |${1:a},${2,b}| - ${3:# TODO} -end${4:$0} +snippet "(\S+)\.sort" ".sort do |,| end" r +`!p snip.rv=match.group(1)`.sort do |${1:a},${2:b}| + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Each_?key" ".each_key { || }" r -`!p snip.rv=match.group(1)`.each_key { |${1:key}| ${2:# TODO} }${3:$0} +snippet "(\S+)\.Each_?k(ey)?" ".each_key { || }" r +`!p snip.rv=match.group(1)`.each_key { |${1:key}| ${2:# TODO} } endsnippet -snippet "([^ \t]+)\.each_?key" ".each_key do |key| end" r +snippet "(\S+)\.each_?k(ey)?" ".each_key do |key| end" r `!p snip.rv=match.group(1)`.each_key do |${1:key}| - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Each_?value" ".each_value { || }" r -`!p snip.rv=match.group(1)`.each_value { |${1:value}| ${2:# TODO} }${3:$0} +snippet "(\S+)\.Each_?val(ue)?" ".each_value { || }" r +`!p snip.rv=match.group(1)`.each_value { |${1:value}| ${2:# TODO} } endsnippet -snippet "([^ \t]+)\.each_?value" ".each_value do || end" r +snippet "(\S+)\.each_?val(ue)?" ".each_value do || end" r `!p snip.rv=match.group(1)`.each_value do |${1:value}| - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet snippet Each ".each { || }" -${1:elements}.each { |${2:${1/s$//}}| ${3:# TODO} }${4:$0} +${1:elements}.each { |${2:${1/s$//}}| ${3:# TODO} } endsnippet snippet each ".each do || end" ${1:elements}.each do |${2:${1/s$//}}| - ${3:# TODO} -end${4:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Map" ".map { || }" r +snippet each_?s(lice)? ".each_slice(n) do |slice| end" +each_slice(${1:2}) do |${2:slice}| + ${0:# TODO} +end +endsnippet + + + +snippet Each_?s(lice)? ".each_slice(n) { |slice| }" +each_slice(${1:2}) { |${2:slice}| ${3:# TODO} } +endsnippet + + + + +snippet "(\S+)\.Map" ".map { || }" r `!p snip.rv=match.group(1)`.map { |${1:`!p element_name = match.group(1).lstrip('$@') ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) @@ -259,12 +273,12 @@ try: snip.rv = wmatch.group(1).lower() except: snip.rv = 'element' -`}| ${2:# TODO} }${3:$0} +`}| ${2:# TODO} } endsnippet -snippet "([^ \t]+)\.map" ".map do || end" r +snippet "(\S+)\.map" ".map do || end" r `!p snip.rv=match.group(1)`.map do |${1:`!p element_name = match.group(1).lstrip('$@') ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) @@ -274,13 +288,13 @@ try: except: snip.rv = 'element' `}| - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Reverse_?each" ".reverse_each { || }" r +snippet "(\S+)\.Rev(erse)?_?each" ".reverse_each { || }" r `!p snip.rv=match.group(1)`.reverse_each { |${1:`!p element_name = match.group(1).lstrip('$@') ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) @@ -289,12 +303,12 @@ try: snip.rv = wmatch.group(1).lower() except: snip.rv = 'element' -`}| ${2:# TODO} }${3:$0} +`}| ${2:# TODO} } endsnippet -snippet "([^ \t]+)\.reverse_?each" ".reverse_each do || end" r +snippet "(\S+)\.rev(erse)?_?each" ".reverse_each do || end" r `!p snip.rv=match.group(1)`.reverse_each do |${1:`!p element_name = match.group(1).lstrip('$@') ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) @@ -304,13 +318,13 @@ try: except: snip.rv = 'element' `}| - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Each" ".each { || }" r +snippet "(\S+)\.Each" ".each { || }" r `!p snip.rv=match.group(1)`.each { |${1:`!p element_name = match.group(1).lstrip('$@') ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) @@ -319,12 +333,12 @@ try: snip.rv = wmatch.group(1).lower() except: snip.rv = 'element' -`}| ${2:# TODO} }${3:$0} +`}| ${2:# TODO} } endsnippet -snippet "([^ \t]+)\.each" ".each do || end" r +snippet "(\S+)\.each" ".each do || end" r `!p snip.rv=match.group(1)`.each do |${1:`!p element_name = match.group(1).lstrip('$@') ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) @@ -334,55 +348,87 @@ try: except: snip.rv = 'element' `}| - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Each_?index" ".each_index { || }" r -`!p snip.rv=match.group(1)`.each_index { |${1:index}| ${2:# TODO} }${3:$0} + +snippet "(\S+)\.Each_w(ith)?_?i(ndex)?" ".each_with_index { |,| }" r +`!p snip.rv=match.group(1)`.each_with_index { |${1:`!p +element_name = match.group(1).lstrip('$@') +ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) +try: + wmatch = re.search("([A-Za-z][A-Za-z0-9_]+)$", ematch.group(1)) + snip.rv = wmatch.group(1).lower() +except: + snip.rv = 'element' +`},${2:i}| ${3:# TODO} }$0 endsnippet -snippet "([^ \t]+)\.each_?index" ".each_index do || end" r -`!p snip.rv=match.group(1)`.each_index do |${1:index}| - ${2:# TODO} -end${3:$0} +snippet "(\S+)\.each_?w(ith)?_?i(ndex)?" ".each_with_index do |,| end" r +`!p snip.rv=match.group(1)`.each_with_index do |${1:`!p +element_name = match.group(1).lstrip('$@') +ematch = re.search("([A-Za-z][A-Za-z0-9_]+?)s?[^A-Za-z0-9_]*?$", element_name) +try: + wmatch = re.search("([A-Za-z][A-Za-z0-9_]+)$", ematch.group(1)) + snip.rv = wmatch.group(1).lower() +except: + snip.rv = 'element' +`},${2:i}| + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.Each_?pair" ".each_pair { |,| }" r -`!p snip.rv=match.group(1)`.each_pair { |${1:key},${2:value}| ${3:# TODO} }${4:$0} + +snippet "(\S+)\.Each_?p(air)?" ".each_pair { |,| }" r +`!p snip.rv=match.group(1)`.each_pair { |${1:key},${2:value}| ${3:# TODO} } endsnippet -snippet "([^ \t]+)\.each_?pair" ".each_pair do |,| end" r +snippet "(\S+)\.each_?p(air)?" ".each_pair do |,| end" r `!p snip.rv=match.group(1)`.each_pair do |${1:key},${2:value}| - ${3:# TODO} -end${4:$0} + ${0:# TODO} +end endsnippet -snippet "([^ \t]+)\.sub" ".sub() { }" r -`!p snip.rv=match.group(1)`.sub(${1:expression}) { ${2:"replace_with"} }${3:$0} +snippet "(\S+)\.sub" ".sub() { }" r +`!p snip.rv=match.group(1)`.sub(${1:expression}) { ${2:"replace_with"} } endsnippet -snippet "([^ \t]+)\.gsub" ".gsub() { }" r -`!p snip.rv=match.group(1)`.gsub(${1:expression}) { ${2:"replace_with"} }${3:$0} +snippet "(\S+)\.gsub" ".gsub() { }" r +`!p snip.rv=match.group(1)`.gsub(${1:expression}) { ${2:"replace_with"} } +endsnippet + + + +snippet "(\S+)\.index" ".index { |item| }" r +`!p snip.rv=match.group(1)`.index { |${1:item}| ${2:block} } +endsnippet + + + +snippet "(\S+)\.Index" ".index do |item| ... end" r +`!p snip.rv=match.group(1)`.index do |${1:item}| + ${0:block} +end endsnippet snippet do "do || ... end" i do ${1:|${2:key}|} - ${3:$0} + $0 end endsnippet @@ -390,76 +436,57 @@ endsnippet snippet Do "do ... end" i do - ${1:$0} + $0 end endsnippet snippet until "until ... end" until ${1:expression} - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet snippet Until "begin ... end until " begin - ${2:# TODO} -end until ${1:expression}${3:$0} + ${0:# TODO} +end until ${1:expression} endsnippet snippet while "while ... end" while ${1:expression} - ${2:# TODO} -end${3:$0} + ${0:# TODO} +end endsnippet snippet While "begin ... end while " begin - ${2:# TODO} -end while ${1:expression}${3:$0} + ${0:# TODO} +end while ${1:expression} endsnippet -snippet r "attr_reader :" -attr_reader :${1:attr_names} +snippet "\b(r|attr)" "attr_reader :" r +attr_reader :${0:attr_names} endsnippet -snippet w "attr_writer :" -attr_writer :${1:attr_names} +snippet "\b(w|attr)" "attr_writer :" r +attr_writer :${0:attr_names} endsnippet -snippet w "attr_accessor :" -snippet rw -attr_accessor :${1:attr_names} -endsnippet - - - -snippet attr "attr_reader :" -attr_reader :${1:attr_names} -endsnippet - - - -snippet attr "attr_writer :" -attr_writer :${1:attr_names} -endsnippet - - - -snippet attr "attr_accessor :" -attr_accessor :${1:attr_names} +snippet "\b(rw|attr)" "attr_accessor :" r +attr_accessor :${0:attr_names} endsnippet @@ -468,7 +495,7 @@ snippet begin "begin ... rescue ... end" begin ${1:# TODO} rescue - ${2:# TODO} + ${0:# TODO} end endsnippet @@ -484,7 +511,7 @@ rescue Exception => e else ${3:# other exception} ensure - ${4:# always excute} + ${0:# always excute} end endsnippet @@ -494,15 +521,15 @@ snippet rescue rescue Exception => e puts e.message puts e.backtrace.inspect - ${1:# Rescue} + ${0:# Rescue} endsnippet -snippet case "case when ... end" +snippet "\b(case|sw(itch)?)" "case when ... end" r case ${1:variable} when ${2:expression} -${3:$0} +$0 end endsnippet @@ -516,9 +543,26 @@ endsnippet snippet class "class def initialize ... end end" class ${1:class_name} - ${2:def initialize ${3:*args} - ${4} - end} + def initialize ${2:*args} + $0 + end +end +endsnippet + + + +snippet module "module" +module ${1:module_name} $0 end endsnippet + + + +snippet ### +=begin + $0 +=end +endsnippet + +# vim: set ts=2 sw=2 expandtab: