@Nullable String getPropertyDescription(@NotNull final PsiElement element, @Nullable final String name) { final RegExpLanguageHost host = findRegExpHost(element); return host != null ? host.getPropertyDescription(name) : myDefaultProvider.getPropertyDescription(name); }
@NotNull String[][] getKnownCharacterClasses(@NotNull final PsiElement element) { final RegExpLanguageHost host = findRegExpHost(element); return host != null ? host.getKnownCharacterClasses() : myDefaultProvider.getKnownCharacterClasses(); }
public boolean supportsNamedGroupRefSyntax(@Nullable final RegExpNamedGroupRef ref) { final RegExpLanguageHost host = findRegExpHost(ref); try { return host != null && host.supportsNamedGroupRefSyntax(ref); } catch (AbstractMethodError e) { // supportsNamedGroupRefSyntax() not present return false; } }
public boolean supportsExtendedHexCharacter(@Nullable RegExpChar regExpChar) { final RegExpLanguageHost host = findRegExpHost(regExpChar); try { return host != null && host.supportsExtendedHexCharacter(regExpChar); } catch (AbstractMethodError e) { // supportsExtendedHexCharacter not present return false; } }
public boolean isRedundantEscape(@NotNull final RegExpChar ch, @NotNull final String text) { if (text.length() <= 1) { return false; } final RegExpLanguageHost host = findRegExpHost(ch); if (host != null) { final char c = text.charAt(1); final boolean needsEscaping = host.characterNeedsEscaping(c); return !needsEscaping; } else { return !("\\]".equals(text) || "\\}".equals(text)); } }
public boolean supportsNamedGroupSyntax(@Nullable final RegExpGroup group) { final RegExpLanguageHost host = findRegExpHost(group); return host != null && host.supportsNamedGroupSyntax(group); }
@NotNull public String[][] getAllKnownProperties(@NotNull final PsiElement element) { final RegExpLanguageHost host = findRegExpHost(element); return host != null ? host.getAllKnownProperties() : myDefaultProvider.getAllKnownProperties(); }
public boolean isValidCategory(@NotNull final PsiElement element, @NotNull String category) { final RegExpLanguageHost host = findRegExpHost(element); return host != null ? host.isValidCategory(category) : myDefaultProvider.isValidCategory(category); }
public boolean supportsPossessiveQuantifiers(@Nullable final RegExpQuantifier quantifier) { final RegExpLanguageHost host = findRegExpHost(quantifier); return host == null || host.supportsPossessiveQuantifiers(); }
public boolean supportsPythonConditionalRefs(@Nullable final RegExpPyCondRef condRef) { final RegExpLanguageHost host = findRegExpHost(condRef); return host != null && host.supportsPythonConditionalRefs(); }
public boolean supportsPerl5EmbeddedComments(@Nullable final PsiComment comment) { final RegExpLanguageHost host = findRegExpHost(comment); return host != null && host.supportsPerl5EmbeddedComments(); }