diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 24d8e10..3beceee 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -12,10 +12,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: actions/setup-go@v5 + - uses: actions/setup-go@v7 with: - go-version: stable + go-version-file: "go.mod" - name: Lint uses: golangci/golangci-lint-action@v9 with: - version: v2.11.3 + version: v2.12.2 diff --git a/devbox.json b/devbox.json index a1aa3e9..5fde00a 100644 --- a/devbox.json +++ b/devbox.json @@ -1,12 +1,12 @@ { "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.14.0/.schema/devbox.schema.json", "packages": { - "go": "1.22.6", - "gopls": "latest", - "golangci-lint": "2.11.3", - "svu": "latest", - "git": "latest", - "go-task": "latest" + "go": "1.26.5", + "gopls": "latest", + "svu": "latest", + "git": "latest", + "go-task": "latest", + "golangci-lint": "2.12.2" }, "shell": { "scripts": { diff --git a/devbox.lock b/devbox.lock index e1c7f7e..ee742ba 100644 --- a/devbox.lock +++ b/devbox.lock @@ -124,99 +124,89 @@ } } }, - "go@1.22.6": { - "last_modified": "2024-08-31T10:12:23Z", - "resolved": "github:NixOS/nixpkgs/5629520edecb69630a3f4d17d3d33fc96c13f6fe#go", + "go@1.26.5": { + "last_modified": "2026-08-12T11:28:58Z", + "resolved": "github:NixOS/nixpkgs/044bfe75bfe4c7bbe043dc17b5e42ea823b84a09#go", "source": "devbox-search", - "version": "1.22.6", + "version": "1.26.5", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/bman2jjx2ykfclj3g0wb89cxyzqygh8y-go-1.22.6", + "path": "/nix/store/4im44k446822ixjai0mdaizqskc90qxr-go-1.26.5", "default": true } ], - "store_path": "/nix/store/bman2jjx2ykfclj3g0wb89cxyzqygh8y-go-1.22.6" + "store_path": "/nix/store/4im44k446822ixjai0mdaizqskc90qxr-go-1.26.5" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/gnm672jywl1b778ql6pf57xka45452b6-go-1.22.6", + "path": "/nix/store/yjifjy7qjzm9jli8xhzwy3y6fzw84405-go-1.26.5", "default": true } ], - "store_path": "/nix/store/gnm672jywl1b778ql6pf57xka45452b6-go-1.22.6" - }, - "x86_64-darwin": { - "outputs": [ - { - "name": "out", - "path": "/nix/store/qvr3slzx5av20xkw6i97yz7wla9sf4nc-go-1.22.6", - "default": true - } - ], - "store_path": "/nix/store/qvr3slzx5av20xkw6i97yz7wla9sf4nc-go-1.22.6" + "store_path": "/nix/store/yjifjy7qjzm9jli8xhzwy3y6fzw84405-go-1.26.5" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/6rybf4g5b77kz27k07avr7qd44ssw3l2-go-1.22.6", + "path": "/nix/store/xrgn6m0c5vbz06467q06zdwnk6qqdl7z-go-1.26.5", "default": true } ], - "store_path": "/nix/store/6rybf4g5b77kz27k07avr7qd44ssw3l2-go-1.22.6" + "store_path": "/nix/store/xrgn6m0c5vbz06467q06zdwnk6qqdl7z-go-1.26.5" } } }, - "golangci-lint@2.11.3": { - "last_modified": "2026-03-11T04:01:32Z", - "resolved": "github:NixOS/nixpkgs/b6067cc0127d4db9c26c79e4de0513e58d0c40c9#golangci-lint", + "golangci-lint@2.12.2": { + "last_modified": "2026-08-12T11:28:58Z", + "resolved": "github:NixOS/nixpkgs/044bfe75bfe4c7bbe043dc17b5e42ea823b84a09#golangci-lint", "source": "devbox-search", - "version": "2.11.3", + "version": "2.12.2", "systems": { "aarch64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/zalxgqwyng4jdbv5cpsmm9xbmim9hjjj-golangci-lint-2.11.3", + "path": "/nix/store/cqawpcdr4iif6g81i9flza941zxzgac5-golangci-lint-2.12.2", "default": true } ], - "store_path": "/nix/store/zalxgqwyng4jdbv5cpsmm9xbmim9hjjj-golangci-lint-2.11.3" + "store_path": "/nix/store/cqawpcdr4iif6g81i9flza941zxzgac5-golangci-lint-2.12.2" }, "aarch64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/mbra9idrmw8f8a4sqv2d0bf6vw8gcmfp-golangci-lint-2.11.3", + "path": "/nix/store/dyiky0qyz8p8z3c54rz5z2qdwbrf05c7-golangci-lint-2.12.2", "default": true } ], - "store_path": "/nix/store/mbra9idrmw8f8a4sqv2d0bf6vw8gcmfp-golangci-lint-2.11.3" + "store_path": "/nix/store/dyiky0qyz8p8z3c54rz5z2qdwbrf05c7-golangci-lint-2.12.2" }, "x86_64-darwin": { "outputs": [ { "name": "out", - "path": "/nix/store/ph64c01zwvbr9xvxydxa8ijvbdfax8fy-golangci-lint-2.11.3", + "path": "/nix/store/w8c3i6vmxnnj0xixvjsa9lva3rcd2rvs-golangci-lint-2.12.2", "default": true } ], - "store_path": "/nix/store/ph64c01zwvbr9xvxydxa8ijvbdfax8fy-golangci-lint-2.11.3" + "store_path": "/nix/store/w8c3i6vmxnnj0xixvjsa9lva3rcd2rvs-golangci-lint-2.12.2" }, "x86_64-linux": { "outputs": [ { "name": "out", - "path": "/nix/store/i1xcg5f24w70llk4v6lzi0vi4jf3ma5k-golangci-lint-2.11.3", + "path": "/nix/store/yl3hlickshlf7smf4iql5lalmhi6hhqg-golangci-lint-2.12.2", "default": true } ], - "store_path": "/nix/store/i1xcg5f24w70llk4v6lzi0vi4jf3ma5k-golangci-lint-2.11.3" + "store_path": "/nix/store/yl3hlickshlf7smf4iql5lalmhi6hhqg-golangci-lint-2.12.2" } } }, diff --git a/pkg/ui/panes/diffviewer/diffviewer.go b/pkg/ui/panes/diffviewer/diffviewer.go index c01d5d4..f7f88fa 100644 --- a/pkg/ui/panes/diffviewer/diffviewer.go +++ b/pkg/ui/panes/diffviewer/diffviewer.go @@ -214,7 +214,6 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { m.fvp.SetObjects(msg.lines) } - m.fvp.SetHeader(strings.Split(m.headerView(), "\n")) fvp, fvpCmd := m.fvp.Update(msg) cmds = append(cmds, fvpCmd) m.fvp = fvp @@ -344,6 +343,7 @@ func (m Model) SetFilePatch(file *gitdiff.File) (Model, tea.Cmd) { key := cacheKey(fname, m.sideBySide) if cached, ok := m.cache[key]; ok { m.file = cached + m.updateHeader() m.fvp.SetObjects(cached.diff) return m, nil } @@ -358,7 +358,7 @@ func (m Model) SetFilePatch(file *gitdiff.File) (Model, tea.Cmd) { deletions: deletions, } m.cache[key] = m.file - + m.updateHeader() return m, diffFile(m.file, m.contentWidth(), m.sideBySide) } @@ -368,6 +368,7 @@ func (m Model) SetDirPatch(dirPath string, files []*gitdiff.File) (Model, tea.Cm key := cacheKey(dirPath, m.sideBySide) if cached, ok := m.cache[key]; ok { m.dir = cached + m.updateHeader() m.fvp.SetObjects(cached.diff) return m, nil } @@ -389,9 +390,15 @@ func (m Model) SetDirPatch(dirPath string, files []*gitdiff.File) (Model, tea.Cm if dirPath == "/" { preamble = m.preamble } + + m.updateHeader() return m, diffDir(m.dir, m.contentWidth(), m.sideBySide, preamble) } +func (m *Model) updateHeader() { + m.fvp.SetHeader(strings.Split(m.headerView(), "\n")) +} + // SetSideBySide updates the diff view mode and re-renders. func (m *Model) SetSideBySide(sideBySide bool) tea.Cmd { m.sideBySide = sideBySide