mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-11-26 09:00:57 +02:00
d5e443e8e3
WIP
43 lines
1.0 KiB
Go
43 lines
1.0 KiB
Go
package commands
|
|
|
|
import (
|
|
"github.com/fatih/color"
|
|
"github.com/jesseduffield/lazygit/pkg/theme"
|
|
)
|
|
|
|
// CommitFile : A git commit file
|
|
type CommitFile struct {
|
|
Sha string
|
|
Name string
|
|
DisplayString string
|
|
Status int // one of 'WHOLE' 'PART' 'NONE'
|
|
}
|
|
|
|
const (
|
|
// UNSELECTED is for when the commit file has not been added to the patch in any way
|
|
UNSELECTED = iota
|
|
// WHOLE is for when you want to add the whole diff of a file to the patch,
|
|
// including e.g. if it was deleted
|
|
WHOLE = iota
|
|
// PART is for when you're only talking about specific lines that have been modified
|
|
PART
|
|
)
|
|
|
|
// GetDisplayStrings is a function.
|
|
func (f *CommitFile) GetDisplayStrings(isFocused bool) []string {
|
|
yellow := color.New(color.FgYellow)
|
|
green := color.New(color.FgGreen)
|
|
defaultColor := color.New(theme.DefaultTextColor)
|
|
|
|
var colour *color.Color
|
|
switch f.Status {
|
|
case UNSELECTED:
|
|
colour = defaultColor
|
|
case WHOLE:
|
|
colour = green
|
|
case PART:
|
|
colour = yellow
|
|
}
|
|
return []string{colour.Sprint(f.DisplayString)}
|
|
}
|