fun isHorizontalRule()

in src/commonMain/kotlin/org/intellij/markdown/parser/markerblocks/providers/HorizontalRuleProvider.kt [34:57]


        fun isHorizontalRule(line: CharSequence, offset: Int): Boolean {
            var hrChar: Char? = null
            var startSpace = 0
            var charCount = 1
            for (i in offset..line.length - 1) {
                val c = line[i]
                if (hrChar == null) {
                    if (c == '*' || c == '-' || c == '_') {
                        hrChar = c
                    } else if (startSpace < 3 && c == ' ') {
                        startSpace++
                    } else {
                        return false
                    }
                } else {
                    if (c == hrChar) {
                        charCount++
                    } else if (c != ' ' && c != '\t') {
                        return false
                    }
                }
            }
            return charCount >= 3
        }