mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 13:39:19 -05:00
23 lines
487 B
Go
23 lines
487 B
Go
|
package git
|
||
|
|
||
|
import "strings"
|
||
|
|
||
|
const defaultDotGitPath = ".git"
|
||
|
|
||
|
// countLines returns the number of lines in a string à la git, this is
|
||
|
// The newline character is assumed to be '\n'. The empty string
|
||
|
// contains 0 lines. If the last line of the string doesn't end with a
|
||
|
// newline, it will still be considered a line.
|
||
|
func countLines(s string) int {
|
||
|
if s == "" {
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
nEOL := strings.Count(s, "\n")
|
||
|
if strings.HasSuffix(s, "\n") {
|
||
|
return nEOL
|
||
|
}
|
||
|
|
||
|
return nEOL + 1
|
||
|
}
|