diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-19 19:51:48 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-03-24 20:14:41 +1100 |
commit | 94a53484a183bb32b066dc51fb90948dead634a1 (patch) | |
tree | 51e76a607b68a309c3e7573432392b125a3e2783 /pkg/commands | |
parent | 1b75ed37403ac2997cb6a5ede92d87f1a1eb96b1 (diff) |
would you believe that I'm adding even more generics
Diffstat (limited to 'pkg/commands')
-rw-r--r-- | pkg/commands/hosting_service/hosting_service.go | 8 | ||||
-rw-r--r-- | pkg/commands/loaders/commits.go | 5 | ||||
-rw-r--r-- | pkg/commands/loaders/remotes.go | 5 | ||||
-rw-r--r-- | pkg/commands/loaders/stash.go | 9 | ||||
-rw-r--r-- | pkg/commands/patch/patch_parser.go | 2 |
5 files changed, 14 insertions, 15 deletions
diff --git a/pkg/commands/hosting_service/hosting_service.go b/pkg/commands/hosting_service/hosting_service.go index 15fc244ba..091da3ebb 100644 --- a/pkg/commands/hosting_service/hosting_service.go +++ b/pkg/commands/hosting_service/hosting_service.go @@ -111,10 +111,10 @@ func (self *HostingServiceMgr) getCandidateServiceDomains() []ServiceDomain { serviceDefinition, ok := serviceDefinitionByProvider[provider] if !ok { - providerNames := []string{} - for _, serviceDefinition := range serviceDefinitions { - providerNames = append(providerNames, serviceDefinition.provider) - } + providerNames := slices.Map(serviceDefinitions, func(serviceDefinition ServiceDefinition) string { + return serviceDefinition.provider + }) + self.log.Errorf("Unknown git service type: '%s'. Expected one of %s", provider, strings.Join(providerNames, ", ")) continue } diff --git a/pkg/commands/loaders/commits.go b/pkg/commands/loaders/commits.go index 20721be42..c370cc059 100644 --- a/pkg/commands/loaders/commits.go +++ b/pkg/commands/loaders/commits.go @@ -307,6 +307,7 @@ func (self *CommitLoader) getInteractiveRebasingCommits() ([]*models.Commit, err commits := []*models.Commit{} lines := strings.Split(string(bytesContent), "\n") + for _, line := range lines { if line == "" || line == "noop" { return commits, nil @@ -315,12 +316,12 @@ func (self *CommitLoader) getInteractiveRebasingCommits() ([]*models.Commit, err continue } splitLine := strings.Split(line, " ") - commits = append([]*models.Commit{{ + commits = slices.Prepend(commits, &models.Commit{ Sha: splitLine[1], Name: strings.Join(splitLine[2:], " "), Status: "rebasing", Action: splitLine[0], - }}, commits...) + }) } return commits, nil diff --git a/pkg/commands/loaders/remotes.go b/pkg/commands/loaders/remotes.go index 3cd57d9a2..1323560f5 100644 --- a/pkg/commands/loaders/remotes.go +++ b/pkg/commands/loaders/remotes.go @@ -10,7 +10,6 @@ import ( "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/commands/oscommands" "github.com/jesseduffield/lazygit/pkg/common" - "github.com/samber/lo" ) type RemoteLoader struct { @@ -43,12 +42,12 @@ func (self *RemoteLoader) GetRemotes() ([]*models.Remote, error) { } // first step is to get our remotes from go-git - remotes := lo.Map(goGitRemotes, func(goGitRemote *gogit.Remote, _ int) *models.Remote { + remotes := slices.Map(goGitRemotes, func(goGitRemote *gogit.Remote) *models.Remote { remoteName := goGitRemote.Config().Name re := regexp.MustCompile(fmt.Sprintf(`(?m)^\s*%s\/([\S]+)`, remoteName)) matches := re.FindAllStringSubmatch(remoteBranchesStr, -1) - branches := lo.Map(matches, func(match []string, _ int) *models.RemoteBranch { + branches := slices.Map(matches, func(match []string) *models.RemoteBranch { return &models.RemoteBranch{ Name: match[1], RemoteName: remoteName, diff --git a/pkg/commands/loaders/stash.go b/pkg/commands/loaders/stash.go index 689bf30ce..66cfeaa3e 100644 --- a/pkg/commands/loaders/stash.go +++ b/pkg/commands/loaders/stash.go @@ -5,6 +5,7 @@ import ( "strconv" "strings" + "github.com/jesseduffield/generics/slices" "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/commands/oscommands" "github.com/jesseduffield/lazygit/pkg/common" @@ -65,11 +66,9 @@ outer: func (self *StashLoader) getUnfilteredStashEntries() []*models.StashEntry { rawString, _ := self.cmd.New("git stash list --pretty='%gs'").DontLog().RunWithOutput() - stashEntries := []*models.StashEntry{} - for i, line := range utils.SplitLines(rawString) { - stashEntries = append(stashEntries, self.stashEntryFromLine(line, i)) - } - return stashEntries + return slices.MapWithIndex(utils.SplitLines(rawString), func(line string, index int) *models.StashEntry { + return self.stashEntryFromLine(line, index) + }) } func (c *StashLoader) stashEntryFromLine(line string, index int) *models.StashEntry { diff --git a/pkg/commands/patch/patch_parser.go b/pkg/commands/patch/patch_parser.go index 097f01329..fa730afe7 100644 --- a/pkg/commands/patch/patch_parser.go +++ b/pkg/commands/patch/patch_parser.go @@ -191,7 +191,7 @@ func (p *PatchParser) Render(firstLineIndex int, lastLineIndex int, incLineIndic return "" } - renderedLines := lo.Map(p.PatchLines, func(patchLine *PatchLine, index int) string { + renderedLines := slices.MapWithIndex(p.PatchLines, func(patchLine *PatchLine, index int) string { selected := index >= firstLineIndex && index <= lastLineIndex included := lo.Contains(incLineIndices, index) return patchLine.render(selected, included) |