static @NotNull List<TextRange> extractTextRangesFromLiteralText(@NotNull String text, int indent) {
    List<TextRange> linesRanges = new ArrayList<>();
    boolean isLastLine = false;
    int start = StringUtil.indexOf(text, '\n', 3);
    if (start == -1) return Collections.emptyList();
    linesRanges.add(new TextRange(0, start));
    start += 1;
    while (start < text.length()) {
      int end = StringUtil.indexOf(text, '\n', start);
      if (end == -1) {
        isLastLine = true;
        end = text.length();
      }
      if (start + indent <= end) {
        int quoteStartIndex = end - 3;
        if (!isLastLine && containsOnlyWhitespaces(start + indent, end, text)) {
          start = end;
        }
        else if (isLastLine && containsOnlyWhitespaces(start + indent, quoteStartIndex, text) && text.endsWith("\"\"\"")) {
          start = quoteStartIndex;
        }
        else {
          start += indent;
        }
      }
      else {
        start = end;
      }
      linesRanges.add(new TextRange(start, end));
      start = end + 1;
    }

    return linesRanges;
  }
static @NotNull List<TextRange> extractTextRangesFromLiteralText(@NotNull String text, int indent)