diff --git a/idea/resources/liveTemplates/Kotlin.xml b/idea/resources/liveTemplates/Kotlin.xml index 3190c245641..418c531e0f9 100644 --- a/idea/resources/liveTemplates/Kotlin.xml +++ b/idea/resources/liveTemplates/Kotlin.xml @@ -10,13 +10,13 @@ name="sout" toReformat="true" ShortenFQNames="true" value="println($END$)"> - diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index 2dec6be1452..48c1d4894d2 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -67,6 +67,7 @@ + diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java index fb553aa7f87..0667c5e04ea 100644 --- a/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java @@ -2,7 +2,6 @@ package org.jetbrains.jet.plugin.liveTemplates; import com.intellij.codeInsight.template.EverywhereContextType; import com.intellij.codeInsight.template.TemplateContextType; -import com.intellij.patterns.PlatformPatterns; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiFile; import com.intellij.psi.PsiWhiteSpace; @@ -10,9 +9,7 @@ import com.intellij.psi.util.PsiUtilBase; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.jet.lang.psi.JetClassOrObject; -import org.jetbrains.jet.lang.psi.JetNamedFunction; -import org.jetbrains.jet.lang.psi.JetProperty; +import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.plugin.JetLanguage; /** @@ -68,4 +65,19 @@ public abstract class JetTemplateContextType extends TemplateContextType { return true; } } + + public static class Expression extends JetTemplateContextType { + public Expression() { + super("KOTLIN_EXPRESSION", "Expression", Generic.class); + } + + @Override + protected boolean isInContext(@NotNull PsiElement element) { + PsiElement parent = element.getParent(); + if (parent instanceof JetSimpleNameExpression) { + parent = parent.getParent(); + } + return parent instanceof JetBlockExpression; + } + } }