Added auto-importing when methods are implemented or overriden.

This commit is contained in:
Evgeny Gerashchenko
2012-02-08 00:06:54 +04:00
parent a2602ce521
commit 8d50d17f92
5 changed files with 73 additions and 0 deletions
+9
View File
@@ -39,6 +39,15 @@
<option name="KOTLIN_STATEMENT" value="true"/>
</context>
</template>
<template resource-bundle="messages.CodeInsightBundle" key="livetemplate.description.iter"
name="iter" toReformat="true" toShortenFQNames="true"
value="for ($VAR$ in $ITERABLE$) {&#10;$END$&#10;}">
<variable alwaysStopAt="false" defaultValue="kotlinIterableVariable()" expression="" name="ITERABLE" />
<variable alwaysStopAt="false" defaultValue="kotlinSuggestVariableName()" expression="" name="VAR" />
<context>
<option name="KOTLIN_STATEMENT" value="true" />
</context>
</template>
<template resource-bundle="org.jetbrains.jet.plugin.JetBundle" key="livetemplate.description.void"
name="void" toReformat="true" toShortenFQNames="true" value="fun $NAME$($PARAMS$) {&#10;$END$&#10;}">
+2
View File
@@ -97,6 +97,8 @@
<liveTemplateMacro implementation="org.jetbrains.jet.plugin.liveTemplates.macro.JetVariableOfTypeMacro"/>
<liveTemplateMacro implementation="org.jetbrains.jet.plugin.liveTemplates.macro.JetFunctionParametersMacro"/>
<liveTemplateMacro implementation="org.jetbrains.jet.plugin.liveTemplates.macro.JetAnonymousSuperMacro"/>
<liveTemplateMacro implementation="org.jetbrains.jet.plugin.liveTemplates.macro.JetIterableVariableMacro"/>
<liveTemplateMacro implementation="org.jetbrains.jet.plugin.liveTemplates.macro.JetSuggestVariableNameMacro"/>
<annotator language="jet" implementationClass="org.jetbrains.jet.plugin.annotations.SoftKeywordsAnnotator"/>
<annotator language="jet" implementationClass="org.jetbrains.jet.plugin.annotations.LabelsAnnotator"/>
@@ -29,6 +29,7 @@ implement.members=Implement members
livetemplate.description.main=main() function
livetemplate.description.soutp=Prints function parameter names and values to System.out
livetemplate.description.iter=Iterate over elements of iterable
livetemplate.description.void=Function returning nothing
livetemplate.description.fun0=Function with no parameters
livetemplate.description.fun1=Function with one parameter
@@ -41,5 +42,7 @@ livetemplate.description.exfun=Extension function
livetemplate.description.exval=Extension read-only property
livetemplate.description.exvar=Extension read-write property
macro.variable.of.type=kotlinVariableOfType(Type)
macro.iterable.variable=kotlinIterableVariable()
macro.suggest.variable.name=kotlinSuggestVariableName()
macro.fun.parameters=functionParameters()
macro.fun.anonymousSuper=anonymousSuper()
@@ -0,0 +1,30 @@
package org.jetbrains.jet.plugin.liveTemplates.macro;
import com.intellij.codeInsight.template.Expression;
import com.intellij.codeInsight.template.ExpressionContext;
import com.intellij.codeInsight.template.Macro;
import com.intellij.codeInsight.template.Result;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.JetBundle;
/**
* @author Evgeny Gerashchenko
* @since 2/7/12
*/
public class JetIterableVariableMacro extends Macro {
@Override
public String getName() {
return "kotlinIterableVariable";
}
@Override
public String getPresentableName() {
return JetBundle.message("macro.iterable.variable");
}
@Override
public Result calculateResult(@NotNull Expression[] params, ExpressionContext context) {
// TODO
return null;
}
}
@@ -0,0 +1,29 @@
package org.jetbrains.jet.plugin.liveTemplates.macro;
import com.intellij.codeInsight.template.Expression;
import com.intellij.codeInsight.template.ExpressionContext;
import com.intellij.codeInsight.template.Macro;
import com.intellij.codeInsight.template.Result;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.JetBundle;
/**
* @author Evgeny Gerashchenko
* @since 2/7/12
*/
public class JetSuggestVariableNameMacro extends Macro {
@Override
public String getName() {
return "suggestVariableName";
}
@Override
public String getPresentableName() {
return JetBundle.message("macro.suggest.variable.name");
}
@Override
public Result calculateResult(@NotNull Expression[] params, ExpressionContext context) {
return null; //TODO
}
}