private static String[] getKeywords(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;
  }
private static String[] getKeywords(PsiElement context)