diff options
author | AzraelSec <me@azraelsec.sh> | 2023-12-20 20:51:39 +0100 |
---|---|---|
committer | Stefan Haller <stefan@haller-berlin.de> | 2023-12-27 11:21:49 +0100 |
commit | bc330b8ff3ef7533bc1f96c7d2b309eaf94adf61 (patch) | |
tree | a55d85c53fae10731c34e5d9ea16945d5ef948f6 /pkg/commands/git_commands/stash_loader.go | |
parent | 7f36494eb2710588dc08b2dd110608f90764fd87 (diff) |
feat: add age on stash lines
Diffstat (limited to 'pkg/commands/git_commands/stash_loader.go')
-rw-r--r-- | pkg/commands/git_commands/stash_loader.go | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/pkg/commands/git_commands/stash_loader.go b/pkg/commands/git_commands/stash_loader.go index 1ab0e0ad0..318e1ce0f 100644 --- a/pkg/commands/git_commands/stash_loader.go +++ b/pkg/commands/git_commands/stash_loader.go @@ -32,7 +32,7 @@ func (self *StashLoader) GetStashEntries(filterPath string) []*models.StashEntry return self.getUnfilteredStashEntries() } - cmdArgs := NewGitCmd("stash").Arg("list", "--name-only").ToArgv() + cmdArgs := NewGitCmd("stash").Arg("list", "--name-only", "--pretty=%ct|%gs").ToArgv() rawString, err := self.cmd.New(cmdArgs).DontLog().RunWithOutput() if err != nil { return self.getUnfilteredStashEntries() @@ -66,7 +66,7 @@ outer: } func (self *StashLoader) getUnfilteredStashEntries() []*models.StashEntry { - cmdArgs := NewGitCmd("stash").Arg("list", "-z", "--pretty=%gs").ToArgv() + cmdArgs := NewGitCmd("stash").Arg("list", "-z", "--pretty=%ct|%gs").ToArgv() rawString, _ := self.cmd.New(cmdArgs).DontLog().RunWithOutput() return lo.Map(utils.SplitNul(rawString), func(line string, index int) *models.StashEntry { @@ -75,8 +75,23 @@ func (self *StashLoader) getUnfilteredStashEntries() []*models.StashEntry { } func (c *StashLoader) stashEntryFromLine(line string, index int) *models.StashEntry { - return &models.StashEntry{ + model := &models.StashEntry{ Name: line, Index: index, } + + tstr, msg, ok := strings.Cut(line, "|") + if !ok { + return model + } + + t, err := strconv.ParseInt(tstr, 10, 64) + if err != nil { + return model + } + + model.Name = msg + model.Recency = utils.UnixToTimeAgo(t) + + return model } |