fun getParts()

in src/main/kotlin/mobi/hsz/idea/gitignore/util/MatcherUtil.kt [49:68]


        fun getParts(pattern: Pattern?): Array<String?> {
            if (pattern == null) {
                return arrayOfNulls(0)
            }
            val parts: MutableList<String?> = ArrayList()
            val sPattern = pattern.toString()
            var part = StringBuilder()
            var inSquare = false
            for (i in sPattern.indices) {
                val ch = sPattern[i]
                if (!inSquare && Character.isLetterOrDigit(ch)) {
                    part.append(sPattern[i])
                } else if (part.isNotEmpty()) {
                    parts.add(part.toString())
                    part = StringBuilder()
                }
                inSquare = ch != ']' && (ch == '[' || inSquare)
            }
            return parts.toTypedArray()
        }