mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-07-30 03:23:08 +03:00
showing changes for directories
This commit is contained in:
@ -59,3 +59,20 @@ func (f *File) SubmoduleConfig(configs []*SubmoduleConfig) *SubmoduleConfig {
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (f *File) GetHasUnstagedChanges() bool {
|
||||
return f.HasUnstagedChanges
|
||||
}
|
||||
|
||||
func (f *File) GetHasStagedChanges() bool {
|
||||
return f.HasStagedChanges
|
||||
}
|
||||
|
||||
func (f *File) GetIsTracked() bool {
|
||||
return f.Tracked
|
||||
}
|
||||
|
||||
func (f *File) GetPath() string {
|
||||
names := f.Names()
|
||||
return names[len(names)-1]
|
||||
}
|
||||
|
8
pkg/commands/models/status_line.go
Normal file
8
pkg/commands/models/status_line.go
Normal file
@ -0,0 +1,8 @@
|
||||
package models
|
||||
|
||||
type IStatusLine interface {
|
||||
GetHasUnstagedChanges() bool
|
||||
GetHasStagedChanges() bool
|
||||
GetIsTracked() bool
|
||||
GetPath() string
|
||||
}
|
@ -20,23 +20,23 @@ func (s *StatusLineNode) GetShortStatus() string {
|
||||
|
||||
firstChar := " "
|
||||
secondChar := " "
|
||||
if s.HasStagedChanges() {
|
||||
if s.GetHasStagedChanges() {
|
||||
firstChar = "M"
|
||||
}
|
||||
if s.HasUnstagedChanges() {
|
||||
if s.GetHasUnstagedChanges() {
|
||||
secondChar = "M"
|
||||
}
|
||||
|
||||
return firstChar + secondChar
|
||||
}
|
||||
|
||||
func (s *StatusLineNode) HasUnstagedChanges() bool {
|
||||
func (s *StatusLineNode) GetHasUnstagedChanges() bool {
|
||||
if s.IsLeaf() {
|
||||
return s.File.HasUnstagedChanges
|
||||
}
|
||||
|
||||
for _, child := range s.Children {
|
||||
if child.HasUnstagedChanges() {
|
||||
if child.GetHasUnstagedChanges() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
@ -44,13 +44,13 @@ func (s *StatusLineNode) HasUnstagedChanges() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (s *StatusLineNode) HasStagedChanges() bool {
|
||||
func (s *StatusLineNode) GetHasStagedChanges() bool {
|
||||
if s.IsLeaf() {
|
||||
return s.File.HasStagedChanges
|
||||
}
|
||||
|
||||
for _, child := range s.Children {
|
||||
if child.HasStagedChanges() {
|
||||
if child.GetHasStagedChanges() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
@ -136,3 +136,16 @@ func (s *StatusLineNode) sortChildren() {
|
||||
// TODO: think about making this in-place
|
||||
s.Children = sortedChildren
|
||||
}
|
||||
|
||||
func (s *StatusLineNode) GetIsTracked() bool {
|
||||
if s.File != nil {
|
||||
return s.File.GetIsTracked()
|
||||
}
|
||||
|
||||
// pretty sure I'm allowed to do this
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *StatusLineNode) GetPath() string {
|
||||
return s.Path
|
||||
}
|
||||
|
Reference in New Issue
Block a user