summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-06-01 22:30:45 +1000
committerGitHub <noreply@github.com>2023-06-01 22:30:45 +1000
commit75293ff57296f9ffef6849376da517502b216c2e (patch)
tree2529ff20f5e9471c0c97412b73228d963c41175f
parentcaab31ff38b4bd1ee7172e24a7ee3dcd8681be33 (diff)
parent4ff02bd3b7d59cb9d8542d757d3f744c4e7c1264 (diff)
Merge pull request #2700 from jesseduffield/refresh-commits-viewport-on-focus-lost
-rw-r--r--go.mod8
-rw-r--r--go.sum18
-rw-r--r--pkg/gui/context/list_context_trait.go8
-rw-r--r--pkg/gui/context/local_commits_context.go8
-rw-r--r--pkg/gui/context/sub_commits_context.go8
-rw-r--r--pkg/gui/presentation/graph/graph.go11
-rw-r--r--pkg/gui/presentation/graph/graph_test.go12
-rw-r--r--pkg/integration/components/view_driver.go28
-rw-r--r--pkg/integration/tests/commit/highlight.go37
-rw-r--r--pkg/integration/tests/test_list.go1
-rw-r--r--vendor/github.com/jesseduffield/gocui/view.go36
-rw-r--r--vendor/golang.org/x/sys/unix/ioctl_signed.go70
-rw-r--r--vendor/golang.org/x/sys/unix/ioctl_unsigned.go (renamed from vendor/golang.org/x/sys/unix/ioctl.go)4
-rw-r--r--vendor/golang.org/x/sys/unix/ioctl_zos.go12
-rw-r--r--vendor/golang.org/x/sys/unix/mkerrors.sh5
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_aix.go4
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_aix_ppc.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_darwin.go3
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_dragonfly.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_freebsd.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux.go10
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_386.go27
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_amd64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_arm.go27
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_arm64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_loong64.go5
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go27
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_ppc.go27
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_s390x.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_netbsd.go2
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_openbsd.go1
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_solaris.go21
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_unix.go7
-rw-r--r--vendor/golang.org/x/sys/unix/syscall_zos_s390x.go4
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go19
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go19
-rw-r--r--vendor/golang.org/x/sys/unix/zerrors_linux.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go15
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go18
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go39
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s11
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go39
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s11
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_386.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go10
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s5
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s5
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s5
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s5
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s5
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s6
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go14
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s5
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go17
-rw-r--r--vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go4
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go11
-rw-r--r--vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go11
-rw-r--r--vendor/golang.org/x/sys/windows/env_windows.go6
-rw-r--r--vendor/golang.org/x/sys/windows/exec_windows.go7
-rw-r--r--vendor/golang.org/x/sys/windows/service.go7
-rw-r--r--vendor/golang.org/x/sys/windows/types_windows.go10
-rw-r--r--vendor/golang.org/x/sys/windows/zsyscall_windows.go9
-rw-r--r--vendor/modules.txt8
99 files changed, 444 insertions, 686 deletions
diff --git a/go.mod b/go.mod
index be41e072f..691c9b1a3 100644
--- a/go.mod
+++ b/go.mod
@@ -18,7 +18,7 @@ require (
github.com/integrii/flaggy v1.4.0
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d
- github.com/jesseduffield/gocui v0.3.1-0.20230324073941-36f2e87458fa
+ github.com/jesseduffield/gocui v0.3.1-0.20230601121845-cb89273fdd4e
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5
github.com/jesseduffield/minimal/gitignore v0.3.3-0.20211018110810-9cde264e6b1e
@@ -67,8 +67,8 @@ require (
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
golang.org/x/exp v0.0.0-20220318154914-8dddf5d87bd8 // indirect
golang.org/x/net v0.7.0 // indirect
- golang.org/x/sys v0.6.0 // indirect
- golang.org/x/term v0.6.0 // indirect
- golang.org/x/text v0.8.0 // indirect
+ golang.org/x/sys v0.8.0 // indirect
+ golang.org/x/term v0.8.0 // indirect
+ golang.org/x/text v0.9.0 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect
)
diff --git a/go.sum b/go.sum
index e59956947..4f961d11c 100644
--- a/go.sum
+++ b/go.sum
@@ -6,8 +6,6 @@ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
-github.com/atotto/clipboard v0.1.2 h1:YZCtFu5Ie8qX2VmVTBnrqLSiU9XOWwqNRmdT3gIQzbY=
-github.com/atotto/clipboard v0.1.2/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4=
github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI=
github.com/aybabtme/humanlog v0.4.1 h1:D8d9um55rrthJsP8IGSHBcti9lTb/XknmDAX6Zy8tek=
@@ -74,8 +72,8 @@ github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68 h1:EQP2Tv8T
github.com/jesseduffield/generics v0.0.0-20220320043834-727e535cbe68/go.mod h1:+LLj9/WUPAP8LqCchs7P+7X0R98HiFujVFANdNaxhGk=
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d h1:bO+OmbreIv91rCe8NmscRwhFSqkDJtzWCPV4Y+SQuXE=
github.com/jesseduffield/go-git/v5 v5.1.2-0.20221018185014-fdd53fef665d/go.mod h1:nGNEErzf+NRznT+N2SWqmHnDnF9aLgANB1CUNEan09o=
-github.com/jesseduffield/gocui v0.3.1-0.20230324073941-36f2e87458fa h1:E9G1mj94rMal1YLaABwdxLUUgKq+xGbElFjHRNaDJUg=
-github.com/jesseduffield/gocui v0.3.1-0.20230324073941-36f2e87458fa/go.mod h1:znJuCDnF2Ph40YZSlBwdX/4GEofnIoWLGdT4mK5zRAU=
+github.com/jesseduffield/gocui v0.3.1-0.20230601121845-cb89273fdd4e h1:NpsrRAbYUmMkxDgNAVSlu3LxtfwdDe140vWVo/VldgA=
+github.com/jesseduffield/gocui v0.3.1-0.20230601121845-cb89273fdd4e/go.mod h1:dJ/BEUt3OWtaRg/PmuJWendRqREhre9JQ1SLvqrVJ8s=
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10 h1:jmpr7KpX2+2GRiE91zTgfq49QvgiqB0nbmlwZ8UnOx0=
github.com/jesseduffield/kill v0.0.0-20220618033138-bfbe04675d10/go.mod h1:aA97kHeNA+sj2Hbki0pvLslmE4CbDyhBeSSTUUnOuVo=
github.com/jesseduffield/lazycore v0.0.0-20221012050358-03d2e40243c5 h1:CDuQmfOjAtb1Gms6a1p5L2P8RhbLUq5t8aL7PiQd2uY=
@@ -208,21 +206,21 @@ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
-golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU=
+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw=
-golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
-golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
diff --git a/pkg/gui/context/list_context_trait.go b/pkg/gui/context/list_context_trait.go
index e001bd3a7..e993719d5 100644
--- a/pkg/gui/context/list_context_trait.go
+++ b/pkg/gui/context/list_context_trait.go
@@ -21,7 +21,7 @@ type ListContextTrait struct {
// TODO: now that we allow scrolling, we should be smarter about what gets refreshed:
// we should find out exactly which lines are now part of the path and refresh those.
// We should also keep track of the previous path and refresh those lines too.
- refreshViewportOnLineFocus bool
+ refreshViewportOnChange bool
}
func (self *ListContextTrait) IsListContext() {}
@@ -34,7 +34,7 @@ func (self *ListContextTrait) FocusLine() {
self.GetViewTrait().FocusPoint(self.list.GetSelectedLineIdx())
self.setFooter()
- if self.refreshViewportOnLineFocus {
+ if self.refreshViewportOnChange {
self.refreshViewport()
}
}
@@ -65,6 +65,10 @@ func (self *ListContextTrait) HandleFocus(opts types.OnFocusOpts) error {
func (self *ListContextTrait) HandleFocusLost(opts types.OnFocusLostOpts) error {
self.GetViewTrait().SetOriginX(0)
+ if self.refreshViewportOnChange {