Added simple live templates: fm, sout & serr.

This commit is contained in:
Evgeny Gerashchenko
2012-01-30 15:54:17 +04:00
parent 150d856ff1
commit b8a8a6b1af
3 changed files with 19 additions and 6 deletions
+2 -2
View File
@@ -10,13 +10,13 @@
name="sout" toReformat="true"
ShortenFQNames="true" value="println($END$)">
<context>
<option name="KOTLIN" value="true" />
<option name="KOTLIN_EXPRESSION" value="true" />
</context>
</template>
<template resource-bundle="org.jetbrains.jet.plugin.JetBundle" key="livetemplate.description.serr"
name="serr" toReformat="true" toShortenFQNames="true" value="System.out?.println($END$)">
<context>
<option name="KOTLIN" value="true" />
<option name="KOTLIN_EXPRESSION" value="true" />
</context>
</template>
</templateSet>
+1
View File
@@ -67,6 +67,7 @@
<liveTemplateContext implementation="org.jetbrains.jet.plugin.liveTemplates.JetTemplateContextType$Generic"/>
<liveTemplateContext implementation="org.jetbrains.jet.plugin.liveTemplates.JetTemplateContextType$Namespace"/>
<liveTemplateContext implementation="org.jetbrains.jet.plugin.liveTemplates.JetTemplateContextType$Expression"/>
<defaultLiveTemplatesProvider implementation="org.jetbrains.jet.plugin.liveTemplates.JetLiveTemplatesProvider"/>
<annotator language="jet" implementationClass="org.jetbrains.jet.plugin.annotations.SoftKeywordsAnnotator"/>
@@ -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;
}
}
}