suggest short keywords like 'if', 'do' and 'new' in java

This commit is contained in:
peter.gromov
2010-10-26 20:49:32 +04:00
parent fd720feced
commit b901a47268
4 changed files with 39 additions and 1 deletions
@@ -92,6 +92,15 @@ public class TailTypes {
return styleSettings.SPACE_WITHIN_FOR_PARENTHESES;
}
};
public static final TailType IF_LPARENTH = new ParenthesesTailType() {
protected boolean isSpaceBeforeParentheses(final CodeStyleSettings styleSettings, final Editor editor, final int tailOffset) {
return styleSettings.SPACE_BEFORE_IF_PARENTHESES;
}
protected boolean isSpaceWithinParentheses(final CodeStyleSettings styleSettings, final Editor editor, final int tailOffset) {
return styleSettings.SPACE_WITHIN_IF_PARENTHESES;
}
};
public static final TailType FINALLY_LBRACE = new BracesTailType() {
protected boolean isSpaceBeforeLBrace(final CodeStyleSettings styleSettings, final Editor editor, final int tailOffset) {
return styleSettings.SPACE_BEFORE_FINALLY_LBRACE;
@@ -525,6 +525,7 @@ public class JavaCompletionData extends JavaAwareCompletionData{
variant.addCompletion(PsiKeyword.NULL, TailType.NONE);
variant.addCompletion(PsiKeyword.TRUE, TailType.NONE);
variant.addCompletion(PsiKeyword.FALSE, TailType.NONE);
variant.addCompletion(PsiKeyword.NEW, TailType.SPACE);
variant.includeScopeClass(PsiExpressionList.class);
variant.includeScopeClass(PsiStatement.class);
registerVariant(variant);
@@ -547,7 +548,9 @@ public class JavaCompletionData extends JavaAwareCompletionData{
private static void addKeywords(CompletionVariant variant){
variant.addCompletion(PsiKeyword.SWITCH, TailTypes.SWITCH_LPARENTH);
variant.addCompletion(PsiKeyword.WHILE, TailTypes.WHILE_LPARENTH);
variant.addCompletion(PsiKeyword.DO, TailType.createSimpleTailType('{'));
variant.addCompletion(PsiKeyword.FOR, TailTypes.FOR_LPARENTH);
variant.addCompletion(PsiKeyword.IF, TailTypes.IF_LPARENTH);
variant.addCompletion(PsiKeyword.TRY, TailType.createSimpleTailType('{'));
variant.addCompletion(PsiKeyword.THROW, TailType.SPACE);
variant.addCompletion(PsiKeyword.RETURN, TailType.SPACE);
@@ -81,7 +81,7 @@ class CompletionAutoPopupTest extends LightCodeInsightFixtureTestCase {
}
""")
type('i')
assertSameElements myFixture.lookupElementStrings, "iterable", "int"
assertSameElements myFixture.lookupElementStrings, "if", "iterable", "int"
type('t')
assertOrderedEquals myFixture.lookupElementStrings, "iterable"
type('er')
@@ -795,4 +795,30 @@ public class NormalCompletionTest extends LightFixtureCompletionTestCase {
assertOneElement myFixture.completeBasic()
}
public void testStatementKeywords() {
myFixture.configureByText("a.java", """
class Bar {{
<caret>xxx
}}
""")
myFixture.completeBasic()
final def strings = myFixture.lookupElementStrings
assertTrue 'if' in strings
assertTrue 'while' in strings
assertTrue 'do' in strings
assertTrue 'new' in strings
assertTrue 'try' in strings
}
public void testExpressionKeywords() {
myFixture.configureByText("a.java", """
class Bar {{
foo(<caret>xxx)
}}
""")
myFixture.completeBasic()
final def strings = myFixture.lookupElementStrings
assertTrue 'new' in strings
}
}