Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ jobs:
uses: golangci/golangci-lint-action@ba0d7d2ec06a0ea1cb5fa41b2e4a3ab91d21278a # v9
with:
# If you change this, make sure to also update scripts/golangci-lint-shim.sh
version: v2.4.0
version: v2.12.2
upload-coverage:
# List all jobs that produce coverage files
needs: [unit-tests, integration-tests]
Expand Down
2 changes: 0 additions & 2 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,6 @@ linters:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- vendor/
Expand Down
2 changes: 1 addition & 1 deletion pkg/cheatsheet/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ func getHeader(binding *types.Binding, tr *i18n.TranslationSet) header {

func formatSections(tr *i18n.TranslationSet, bindingSections []*bindingSection) string {
var content strings.Builder
content.WriteString(fmt.Sprintf("# Lazygit %s\n", tr.Keybindings))
fmt.Fprintf(&content, "# Lazygit %s\n", tr.Keybindings)

for _, section := range bindingSections {
content.WriteString(formatTitle(section.title))
Expand Down
3 changes: 2 additions & 1 deletion pkg/commands/patch/hunk.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ func (self *Hunk) lineCount() int {

// Returns all lines in the hunk, including the header line
func (self *Hunk) allLines() []*PatchLine {
lines := []*PatchLine{{Content: self.formatHeaderLine(), Kind: HUNK_HEADER}}
lines := make([]*PatchLine, 1, 1+len(self.bodyLines))
lines[0] = &PatchLine{Content: self.formatHeaderLine(), Kind: HUNK_HEADER}
lines = append(lines, self.bodyLines...)
return lines
}
Expand Down
13 changes: 4 additions & 9 deletions pkg/gocui/view_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/gdamore/tcell/v3"
"github.com/gdamore/tcell/v3/color"
"github.com/rivo/uniseg"
"github.com/samber/lo"
"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -106,10 +107,8 @@ func TestWriteString(t *testing.T) {
for _, s := range test.stringsToWrite {
v.writeString(s)
}
var resultingLines [][]string
for _, l := range v.buf.lines {
resultingLines = append(resultingLines, cellsToStrings(l.cells))
}
resultingLines := lo.Map(v.buf.lines,
func(l lineType, _ int) []string { return cellsToStrings(l.cells) })
assert.Equal(t, test.expectedLines, resultingLines)
}
}
Expand Down Expand Up @@ -465,11 +464,7 @@ func cellsToString(cells []cell) string {
}

func cellsToStrings(cells []cell) []string {
s := []string{}
for _, c := range cells {
s = append(s, c.chr)
}
return s
return lo.Map(cells, func(c cell, _ int) string { return c.chr })
}

func TestLineWrap(t *testing.T) {
Expand Down
4 changes: 2 additions & 2 deletions pkg/gui/context/base_context.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ func (self *BaseContext) GetKey() types.ContextKey {
}

func (self *BaseContext) GetKeybindings(opts types.KeybindingsOpts) []*types.Binding {
bindings := []*types.Binding{}
bindings := make([]*types.Binding, 0, len(self.keybindingsFns))
for i := range self.keybindingsFns {
// the first binding in the bindings array takes precedence but we want the
// last keybindingsFn to take precedence to we add them in reverse
Expand Down Expand Up @@ -216,7 +216,7 @@ func (self *BaseContext) AddOnQuitFn(fn func()) {
}

func (self *BaseContext) GetMouseKeybindings(opts types.KeybindingsOpts) []*gocui.ViewMouseBinding {
bindings := []*gocui.ViewMouseBinding{}
bindings := make([]*gocui.ViewMouseBinding, 0, len(self.mouseKeybindingsFns))
for i := range self.mouseKeybindingsFns {
// the first binding in the bindings array takes precedence but we want the
// last keybindingsFn to take precedence to we add them in reverse
Expand Down
27 changes: 13 additions & 14 deletions pkg/gui/controllers/basic_commits_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,18 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e
}
}

commitTagsItem := &types.MenuItem{
Label: self.c.Tr.CommitTags,
OnPress: func() error {
return self.copyCommitTagsToClipboard(commit)
},
Keys: menuKey('t'),
}

if len(commit.Tags) == 0 {
commitTagsItem.DisabledReason = &types.DisabledReason{Text: self.c.Tr.CommitHasNoTags}
}

items := []*types.MenuItem{
{
Label: self.c.Tr.CommitHash,
Expand Down Expand Up @@ -207,22 +219,9 @@ func (self *BasicCommitsController) copyCommitAttribute(commit *models.Commit) e
},
Keys: menuKey('a'),
},
commitTagsItem,
}

commitTagsItem := types.MenuItem{
Label: self.c.Tr.CommitTags,
OnPress: func() error {
return self.copyCommitTagsToClipboard(commit)
},
Keys: menuKey('t'),
}

if len(commit.Tags) == 0 {
commitTagsItem.DisabledReason = &types.DisabledReason{Text: self.c.Tr.CommitHasNoTags}
}

items = append(items, &commitTagsItem)

return self.c.Menu(types.CreateMenuOptions{
Title: self.c.Tr.Actions.CopyCommitAttributeToClipboard,
Items: items,
Expand Down
5 changes: 3 additions & 2 deletions pkg/gui/keybindings.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,8 +295,9 @@ func (gui *Gui) GetInitialKeybindings() ([]*types.Binding, []*gocui.ViewMouseBin
},
}

mouseKeybindings := []*gocui.ViewMouseBinding{}
for _, c := range gui.State.Contexts.Flatten() {
contexts := gui.State.Contexts.Flatten()
mouseKeybindings := make([]*gocui.ViewMouseBinding, 0, len(contexts))
for _, c := range contexts {
viewName := c.GetViewName()
for _, binding := range c.GetKeybindings(opts) {
// TODO: move all mouse keybindings into the mouse keybindings approach below
Expand Down
10 changes: 5 additions & 5 deletions pkg/integration/components/env.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package components
import (
"fmt"
"os"

"github.com/samber/lo"
)

const (
Expand Down Expand Up @@ -43,11 +45,9 @@ var hostEnvironmentAllowlist = [...]string{
// Returns a copy of the environment filtered by
// hostEnvironmentAllowlist
func allowedHostEnvironment() []string {
env := []string{}
for _, envVar := range hostEnvironmentAllowlist {
env = append(env, fmt.Sprintf("%s=%s", envVar, os.Getenv(envVar)))
}
return env
return lo.Map(hostEnvironmentAllowlist[:], func(envVar string, _ int) string {
return fmt.Sprintf("%s=%s", envVar, os.Getenv(envVar))
})
}

func NewTestEnvironment(rootDir string) []string {
Expand Down
5 changes: 3 additions & 2 deletions pkg/integration/components/runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,14 +256,15 @@ func getLazygitCommand(
return nil, err
}

cmdArgs := []string{tempLazygitPath(), "-debug", "--use-config-dir=" + paths.Config()}

resolvedExtraArgs := lo.Map(test.ExtraCmdArgs(), func(arg string, _ int) string {
return utils.ResolvePlaceholderString(arg, map[string]string{
"actualPath": paths.Actual(),
"actualRepoPath": paths.ActualRepo(),
})
})

cmdArgs := make([]string, 0, 3+len(resolvedExtraArgs))
cmdArgs = append(cmdArgs, tempLazygitPath(), "-debug", "--use-config-dir="+paths.Config())
cmdArgs = append(cmdArgs, resolvedExtraArgs...)

// Use a limited environment for test isolation, including pass through
Expand Down
4 changes: 2 additions & 2 deletions pkg/jsonschema/generate.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ func setDefaultVals(rootSchema, schema *jsonschema.Schema, defaults any) {
t := reflect.TypeOf(defaults)
v := reflect.ValueOf(defaults)

if t.Kind() == reflect.Ptr || t.Kind() == reflect.Interface {
if t.Kind() == reflect.Pointer || t.Kind() == reflect.Interface {
t = t.Elem()
v = v.Elem()
}
Expand Down Expand Up @@ -202,7 +202,7 @@ func isZeroValue(v any) bool {
switch rv.Kind() {
case reflect.Slice, reflect.Map:
return rv.Len() == 0
case reflect.Ptr, reflect.Interface:
case reflect.Pointer, reflect.Interface:
return rv.IsNil()
case reflect.Struct:
for i := range rv.NumField() {
Expand Down
2 changes: 1 addition & 1 deletion scripts/golangci-lint-shim.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
set -e

# Must be kept in sync with the version in .github/workflows/ci.yml
version="v2.4.0"
version="v2.12.2"

go run "github.com/golangci/golangci-lint/v2/cmd/golangci-lint@$version" "$@"
Loading