mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-12-12 11:15:00 +02:00
31 lines
662 B
Go
31 lines
662 B
Go
package patch
|
|
|
|
import "github.com/samber/lo"
|
|
|
|
type PatchLineKind int
|
|
|
|
const (
|
|
PATCH_HEADER PatchLineKind = iota
|
|
HUNK_HEADER
|
|
ADDITION
|
|
DELETION
|
|
CONTEXT
|
|
NEWLINE_MESSAGE
|
|
)
|
|
|
|
type PatchLine struct {
|
|
Kind PatchLineKind
|
|
Content string // something like '+ hello' (note the first character is not removed)
|
|
}
|
|
|
|
func (self *PatchLine) isChange() bool {
|
|
return self.Kind == ADDITION || self.Kind == DELETION
|
|
}
|
|
|
|
// Returns the number of lines in the given slice that have one of the given kinds
|
|
func nLinesWithKind(lines []*PatchLine, kinds []PatchLineKind) int {
|
|
return lo.CountBy(lines, func(line *PatchLine) bool {
|
|
return lo.Contains(kinds, line.Kind)
|
|
})
|
|
}
|