From 816b0e43e2cb502be0c59dffc54e9c6a73e20714 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Thu, 6 Mar 2014 15:51:16 +0400 Subject: [PATCH 1/4] Don't suggest collection names in live templates that aren't valid Python identifier (PY-12308) --- .../codeInsight/liveTemplates/CollectionElementNameMacro.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java b/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java index 1b8b4ec246ab..4cd68c6cebc9 100644 --- a/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java +++ b/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java @@ -19,6 +19,7 @@ import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupElementBuilder; import com.intellij.codeInsight.template.*; import com.intellij.openapi.util.text.StringUtil; +import com.jetbrains.python.psi.PyUtil; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; @@ -61,7 +62,7 @@ public class CollectionElementNameMacro extends Macro { } } final String result = smartUnpluralize(param); - return new TextResult(result); + return result != null && PyUtil.isPythonIdentifier(result) ? new TextResult(result) : null; } private static String smartUnpluralize(String param) { From 4569a1cbf24a18f783c4e2dd3655b9b573ff3159 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Thu, 6 Mar 2014 15:53:33 +0400 Subject: [PATCH 2/4] Don't suggest the initial name if un-pluralization failed (PY-12308) --- .../codeInsight/liveTemplates/CollectionElementNameMacro.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java b/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java index 4cd68c6cebc9..84f1a7c32caa 100644 --- a/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java +++ b/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java @@ -69,8 +69,7 @@ public class CollectionElementNameMacro extends Macro { if (param.endsWith("_list")) { return param.substring(0, param.length()-5); } - final String result = StringUtil.unpluralize(param); - return result == null ? param : result; + return StringUtil.unpluralize(param); } public LookupElement[] calculateLookupItems(@NotNull Expression[] params, ExpressionContext context) { From b2bbf8b3f85e8ba5d6b4a2b2e44feef72f7ffc62 Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Thu, 6 Mar 2014 15:54:14 +0400 Subject: [PATCH 3/4] Typo --- .../codeInsight/liveTemplates/CollectionElementNameMacro.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java b/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java index 84f1a7c32caa..7277d83aeadd 100644 --- a/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java +++ b/python/src/com/jetbrains/python/codeInsight/liveTemplates/CollectionElementNameMacro.java @@ -61,11 +61,11 @@ public class CollectionElementNameMacro extends Macro { param = param.substring(0, lastParen); } } - final String result = smartUnpluralize(param); + final String result = smartUnPluralize(param); return result != null && PyUtil.isPythonIdentifier(result) ? new TextResult(result) : null; } - private static String smartUnpluralize(String param) { + private static String smartUnPluralize(String param) { if (param.endsWith("_list")) { return param.substring(0, param.length()-5); } From 455db2711693883bf28e81b9206493087889323a Mon Sep 17 00:00:00 2001 From: Andrey Vlasovskikh Date: Thu, 6 Mar 2014 15:57:05 +0400 Subject: [PATCH 4/4] Fixed names of live templates for dict comprehensions (PY-12307) --- python/resources/liveTemplates/Python.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/python/resources/liveTemplates/Python.xml b/python/resources/liveTemplates/Python.xml index a7e57811bb30..96689b16a275 100644 --- a/python/resources/liveTemplates/Python.xml +++ b/python/resources/liveTemplates/Python.xml @@ -205,7 +205,7 @@