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;
+ }
+ }
}