Added templates for named object.

This commit is contained in:
Evgeny Gerashchenko
2012-02-02 14:49:55 +04:00
parent e4953f60fb
commit 679862778c
2 changed files with 8 additions and 5 deletions
@@ -622,7 +622,9 @@ public class JetParsing extends AbstractJetParsing {
if (named) {
PsiBuilder.Marker propertyDeclaration = mark();
expect(IDENTIFIER, "Expecting object name", TokenSet.create(LBRACE));
if (!parseIdeTemplate()) {
expect(IDENTIFIER, "Expecting object name", TokenSet.create(LBRACE));
}
propertyDeclaration.done(OBJECT_DECLARATION_NAME);
}
else {
@@ -62,6 +62,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
private static final String VAR_WITH_GETTER_AND_SETTER_TEMPLATE = "var <#<name>#> : <#<varType>#>\nget() {\n<#<body>#>\n}\nset(value) {\n<#<body>#>\n}";
private static final String TRAIT_TEMPLATE = "trait <#<name>#> {\n<#<body>#>\n}";
private static final String CLASS_TEMPLATE = "class <#<name>#> {\n<#<body>#>\n}";
private static final String OBJECT_NAMED_TEMPLATE = "object <#<name>#> {\n<#<body>#>\n}";
private static class CommentFilter implements ElementFilter {
@Override
@@ -203,7 +204,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
registerScopeKeywordsCompletion(new InClassBodyFilter(),
ABSTRACT_KEYWORD, ENUM_KEYWORD,
FINAL_KEYWORD, GET_KEYWORD,
INLINE_KEYWORD, INTERNAL_KEYWORD, OBJECT_KEYWORD,
INLINE_KEYWORD, INTERNAL_KEYWORD,
OPEN_KEYWORD, OVERRIDE_KEYWORD, PRIVATE_KEYWORD,
PROTECTED_KEYWORD, PUBLIC_KEYWORD, SET_KEYWORD,
TYPE_KEYWORD);
@@ -215,7 +216,7 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
FALSE_KEYWORD, FINALLY_KEYWORD, FOR_KEYWORD,
GET_KEYWORD,
IN_KEYWORD, INLINE_KEYWORD, INTERNAL_KEYWORD,
IS_KEYWORD, NULL_KEYWORD, OBJECT_KEYWORD,
IS_KEYWORD, NULL_KEYWORD,
PRIVATE_KEYWORD, PROTECTED_KEYWORD, PUBLIC_KEYWORD,
RETURN_KEYWORD, SET_KEYWORD, SUPER_KEYWORD,
CAPITALIZED_THIS_KEYWORD, THIS_KEYWORD, THROW_KEYWORD,
@@ -238,11 +239,11 @@ public class JetKeywordCompletionContributor extends CompletionContributor {
registerScopeKeywordsCompletion(new InClassBodyFilter(),
FUN_TEMPLATE, VAL_WITH_TYPE_TEMPLATE, VAL_WITH_GETTER_TEMPLATE,
VAR_WITH_TYPE_TEMPLATE, VAR_WITH_GETTER_AND_SETTER_TEMPLATE,
TRAIT_TEMPLATE, CLASS_TEMPLATE);
TRAIT_TEMPLATE, CLASS_TEMPLATE, OBJECT_NAMED_TEMPLATE);
registerScopeKeywordsCompletion(new InNonClassBlockFilter(),
IF_TEMPLATE, IF_ELSE_TEMPLATE, IF_ELSE_ONELINE_TEMPLATE,
FUN_TEMPLATE, VAL_SIMPLE_TEMPLATE, VAR_SIMPLE_TEMPLATE,
TRAIT_TEMPLATE, CLASS_TEMPLATE);
TRAIT_TEMPLATE, CLASS_TEMPLATE, OBJECT_NAMED_TEMPLATE);
registerScopeKeywordsCompletion(new InPropertyFilter(),
IF_ELSE_ONELINE_TEMPLATE);
}