boolean (@NotNull Editor editor, @NotNull PsiFile file) { int offset = editor.getCaretModel().getOffset(); PsiElement element = file.findElementAt(offset); if (element == null) return false; final ParserDefinition definition = LanguageParserDefinitions.INSTANCE.forLanguage(element.getLanguage()); if (definition != null) { final TokenSet stringLiteralElements = definition.getStringLiteralElements(); final ASTNode node = element.getNode(); if (node == null) return false; final IElementType elementType = node.getElementType(); if (stringLiteralElements.contains(elementType)) { return true; } PsiElement parent = element.getParent(); if (parent != null) { ASTNode parentNode = parent.getNode(); return parentNode != null && stringLiteralElements.contains(parentNode.getElementType()); } } return false; }