From 31929c59adcee764536f366c45aa53164b6ed079 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 30 Jan 2012 14:08:14 +0400 Subject: [PATCH] Added simple live templates: fm, sout & serr. --- idea/resources/liveTemplates/Kotlin.xml | 22 ++++++++++++++++++ idea/src/META-INF/plugin.xml | 3 +++ .../jetbrains/jet/plugin/JetBundle.properties | 6 ++++- .../JetLiveTemplatesProvider.java | 19 +++++++++++++++ .../liveTemplates/JetTemplateContextType.java | 23 +++++++++++++++++++ 5 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 idea/resources/liveTemplates/Kotlin.xml create mode 100644 idea/src/org/jetbrains/jet/plugin/liveTemplates/JetLiveTemplatesProvider.java create mode 100644 idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java diff --git a/idea/resources/liveTemplates/Kotlin.xml b/idea/resources/liveTemplates/Kotlin.xml new file mode 100644 index 00000000000..5c4a7de2eae --- /dev/null +++ b/idea/resources/liveTemplates/Kotlin.xml @@ -0,0 +1,22 @@ + + + + + + diff --git a/idea/src/META-INF/plugin.xml b/idea/src/META-INF/plugin.xml index fafa00cc6b7..182d7452bf7 100644 --- a/idea/src/META-INF/plugin.xml +++ b/idea/src/META-INF/plugin.xml @@ -65,6 +65,9 @@ + + + diff --git a/idea/src/org/jetbrains/jet/plugin/JetBundle.properties b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties index e539390534e..57624468c26 100644 --- a/idea/src/org/jetbrains/jet/plugin/JetBundle.properties +++ b/idea/src/org/jetbrains/jet/plugin/JetBundle.properties @@ -25,4 +25,8 @@ replace.cast.with.static.assert=Replace a cast with a static assert replace.with.dot.call=Replace with dot call replace.with.safe.call=Replace with safe call change.to.backing.field=Change reference to backing field -implement.members=Implement members \ No newline at end of file +implement.members=Implement members + +livetemplate.description.fm=main() function +livetemplate.description.sout=Prints a string to System.out +livetemplate.description.serr=Prints a string to System.err \ No newline at end of file diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetLiveTemplatesProvider.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetLiveTemplatesProvider.java new file mode 100644 index 00000000000..820e2871e7c --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetLiveTemplatesProvider.java @@ -0,0 +1,19 @@ +package org.jetbrains.jet.plugin.liveTemplates; + +import com.intellij.codeInsight.template.impl.DefaultLiveTemplatesProvider; + +/** + * @author Evgeny Gerashchenko + * @since 1/27/12 + */ +public class JetLiveTemplatesProvider implements DefaultLiveTemplatesProvider { + @Override + public String[] getDefaultLiveTemplateFiles() { + return new String[]{"liveTemplates/Kotlin"}; + } + + @Override + public String[] getHiddenLiveTemplateFiles() { + return new String[0]; + } +} diff --git a/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java b/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java new file mode 100644 index 00000000000..c77621d55c9 --- /dev/null +++ b/idea/src/org/jetbrains/jet/plugin/liveTemplates/JetTemplateContextType.java @@ -0,0 +1,23 @@ +package org.jetbrains.jet.plugin.liveTemplates; + +import com.intellij.codeInsight.template.EverywhereContextType; +import com.intellij.codeInsight.template.TemplateContextType; +import com.intellij.psi.PsiFile; +import com.intellij.psi.util.PsiUtilBase; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.plugin.JetLanguage; + +/** + * @author Evgeny Gerashchenko + * @since 1/27/12 + */ +public class JetTemplateContextType extends TemplateContextType { + public JetTemplateContextType() { + super("KOTLIN", "Kotlin", EverywhereContextType.class); + } + + @Override + public boolean isInContext(@NotNull PsiFile file, int offset) { + return PsiUtilBase.getLanguageAtOffset(file, offset).isKindOf(JetLanguage.INSTANCE); + } +}