int (@NotNull PsiElement element, @NotNull CharSequence text, int cursorOffset) { if (WebEditorOptions.getInstance().isSelectWholeCssIdentifierOnDoubleClick()) { final XmlAttribute attribute = PsiTreeUtil.getParentOfType(element, XmlAttribute.class); final XmlAttributeValue attributeValue = PsiTreeUtil.getParentOfType(element, XmlAttributeValue.class); if (attribute != null && attributeValue != null) { if (getClassAttributeName().equalsIgnoreCase(attribute.getName())) { final TextRange valueTextRange = attributeValue.getValueTextRange(); if (!valueTextRange.isEmpty()) { int start = cursorOffset; int end = cursorOffset; while (start > valueTextRange.getStartOffset()) { if (!JAVA_IDENTIFIER_AND_HYPHEN_CONDITION.value(text.charAt(start - 1))) { break; } start--; } while (end < valueTextRange.getEndOffset()) { if (!JAVA_IDENTIFIER_AND_HYPHEN_CONDITION.value(text.charAt(end + 1))) { break; } end++; } return end - start; } } } } return super.getMinimalTextRangeLength(element, text, cursorOffset); }