@Override
  public boolean isOpeningQuote(HighlighterIterator iterator, int offset) {
    final IElementType tokenType = iterator.getTokenType();

    if (!QUOTE_TYPES.contains(tokenType)) {
      return false;
    }

    final CharSequence chars = iterator.getDocument().getCharsSequence();

    final boolean isBacktick = chars.charAt(offset) == '`';
    if (isBacktick && isClosingQuote(iterator, offset)) {
      return false;
    }

    return getRangeOfThisType(chars, offset).getLength() != 1 ||
           ((offset <= 0 || Character.isWhitespace(chars.charAt(offset - 1)))
            && (offset + 1 >= chars.length() || Character.isWhitespace(chars.charAt(offset + 1))));
  }
@Override
  public boolean isOpeningQuote(HighlighterIterator iterator, int offset)