private static Collection<String> suggestKeywords(PsiElement position) {
if (position instanceof LeafPsiElement && ((LeafPsiElement)position).getElementType() == FLEX_STRING) return Collections.emptySet();
if (PsiTreeUtil.getParentOfType(position, JFlexUserCodeSection.class) != null) return Collections.emptySet();
boolean inDeclare = PsiTreeUtil.getParentOfType(position, JFlexDeclarationsSection.class) != null;
PsiFile flexFile = position.getContainingFile();
Language language = flexFile.getLanguage();
String flexFileText = flexFile.getText();
int positionOffset = position.getTextRange().getEndOffset();
JFlexExpression expr = PsiTreeUtil.getParentOfType(position, JFlexExpression.class);
final boolean inMacro =