String[] (PsiElement context) { final PsiElement next = PsiTreeUtil.skipWhitespacesForward(context); if (next != null && EscapeUtil.unescapeText(next).equals("=")) { return new String[]{ "start" }; } if (DEFAULT_PATTERN.accepts(context)) { return new String[]{ "namespace" }; } else if (DECL_PATTERN.accepts(context)) { return ArrayUtilRt.EMPTY_STRING_ARRAY; } else if (context.getParent() instanceof RncDefine && context.getParent().getFirstChild() == context) { if (DEFINE_PATTERN.accepts(context)) { return ArrayUtilRt.EMPTY_STRING_ARRAY; } if (TOP_LEVEL.accepts(context)) { if (!afterPattern(context)) { return ArrayUtil.mergeArrays(DECL_KEYWORDS, ArrayUtil.mergeArrays(GRAMMAR_CONTENT_KEYWORDS, PATTERN_KEYWORDS)); } } return GRAMMAR_CONTENT_KEYWORDS; } return PATTERN_KEYWORDS; }