mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
46 lines
632 B
Go
46 lines
632 B
Go
|
package gitignore
|
||
|
|
||
|
import (
|
||
|
"os"
|
||
|
"strings"
|
||
|
)
|
||
|
|
||
|
func cutN(path string, n int) (string, bool) {
|
||
|
isLast := true
|
||
|
|
||
|
var i, count int
|
||
|
for i < len(path)-1 {
|
||
|
if os.IsPathSeparator(path[i]) {
|
||
|
count++
|
||
|
if count >= n {
|
||
|
isLast = false
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
i++
|
||
|
}
|
||
|
return path[:i+1], isLast
|
||
|
}
|
||
|
|
||
|
func cutLastN(path string, n int) (string, bool) {
|
||
|
isLast := true
|
||
|
i := len(path) - 1
|
||
|
|
||
|
var count int
|
||
|
for i >= 0 {
|
||
|
if os.IsPathSeparator(path[i]) {
|
||
|
count++
|
||
|
if count >= n {
|
||
|
isLast = false
|
||
|
break
|
||
|
}
|
||
|
}
|
||
|
i--
|
||
|
}
|
||
|
return path[i+1:], isLast
|
||
|
}
|
||
|
|
||
|
func hasMeta(path string) bool {
|
||
|
return strings.IndexAny(path, "*?[") >= 0
|
||
|
}
|