fun formatKDoc()

in core/src/main/java/com/facebook/ktfmt/kdoc/KDocFormatter.kt [62:83]


  fun formatKDoc(input: String, blockIndent: Int, maxLineLength: Int): String {
    val escapedInput = Escaping.escapeKDoc(input)
    val kDocLexer = KDocLexer()
    kDocLexer.start(escapedInput)
    val tokens = mutableListOf<KDocToken>()
    var previousType: IElementType? = null
    while (kDocLexer.tokenType != null) {
      val tokenType = kDocLexer.tokenType
      val tokenText =
          with(kDocLexer.tokenText) {
            if (previousType == KDocTokens.LEADING_ASTERISK && first() == ' ') substring(1)
            else this
          }

      processToken(tokenType, tokens, tokenText, previousType)

      previousType = tokenType
      kDocLexer.advance()
    }
    val result = render(tokens, blockIndent, maxLineLength)
    return makeSingleLineIfPossible(blockIndent, result, maxLineLength)
  }