From 98f88de9768a6f6a32180827ec9938ff3eaff983 Mon Sep 17 00:00:00 2001 From: Joe Lencioni Date: Mon, 6 Jan 2014 08:22:54 -0800 Subject: [PATCH] Increase scope of JS `for` snippet placeholder The `Things.length` part of the JS `for` snippet previously did not include the `.length` portion. Using some regex replacement, we can include this bit in the placeholder while still only using the `Things` bit inside the `for` loop. This should make the snippet slightly more pleasant to use. --- UltiSnips/javascript.snippets | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/UltiSnips/javascript.snippets b/UltiSnips/javascript.snippets index d458750..b866903 100644 --- a/UltiSnips/javascript.snippets +++ b/UltiSnips/javascript.snippets @@ -33,14 +33,14 @@ ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) { endsnippet snippet for "for (...) {...} (faster)" -for (var ${2:i} = ${1:Things}.length - 1; $2 >= 0; $2--) { - ${3:$1[$2]}${VISUAL}$0 +for (var ${2:i} = ${1:Things.length} - 1; $2 >= 0; $2--) { + ${3:${1/([^.]+).*/$1/}[$2]}${VISUAL}$0 } endsnippet snippet for "for (...) {...}" -for (var ${1:i} = 0, ${2:len} = ${3:Things}.length; $1 < $2; $1++) { - ${4:${3}[$1]}${VISUAL}$0 +for (var ${1:i} = 0, ${2:len} = ${3:Things.length}; $1 < $2; $1++) { + ${4:${3/([^.]+).*/$1/}[$1]}${VISUAL}$0 } endsnippet