summaryrefslogtreecommitdiffstats
path: root/src/terminal.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-03-28 20:42:01 +0900
committerGitHub <noreply@github.com>2024-03-28 20:42:01 +0900
commit8a74976c1f02730cfd1b83fc38a57b737a24ac9a (patch)
treea985beb9b52ffca0cabb621e5cf356cd16cf88bf /src/terminal.go
parentb6bfd4a5cbd829e7c59894673fa9eaf4544af928 (diff)
Add track-current, untrack-current, and toggle-track-current (#3699)
Close #3691
Diffstat (limited to 'src/terminal.go')
-rw-r--r--src/terminal.go24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/terminal.go b/src/terminal.go
index c2eda995..726cb498 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -394,8 +394,10 @@ const (
actToggleIn
actToggleOut
actToggleTrack
+ actToggleTrackCurrent
actToggleHeader
- actTrack
+ actTrackCurrent
+ actUntrackCurrent
actDown
actUp
actPageUp
@@ -1645,8 +1647,11 @@ func (t *Terminal) printInfo() {
output += " -S"
}
}
- if t.track != trackDisabled {
+ switch t.track {
+ case trackEnabled:
output += " +T"
+ case trackCurrent:
+ output += " +t"
}
if t.multi > 0 {
if t.multi == maxMulti {
@@ -3778,6 +3783,14 @@ func (t *Terminal) Loop() {
t.track = trackEnabled
}
req(reqInfo)
+ case actToggleTrackCurrent:
+ switch t.track {
+ case trackCurrent:
+ t.track = trackDisabled
+ case trackDisabled:
+ t.track = trackCurrent
+ }
+ req(reqInfo)
case actShowHeader:
t.headerVisible = true
req(reqList, reqInfo, reqPrompt, reqHeader)
@@ -3787,11 +3800,16 @@ func (t *Terminal) Loop() {
case actToggleHeader:
t.headerVisible = !t.headerVisible
req(reqList, reqInfo, reqPrompt, reqHeader)
- case actTrack:
+ case actTrackCurrent:
if t.track == trackDisabled {
t.track = trackCurrent
}
req(reqInfo)
+ case actUntrackCurrent:
+ if t.track == trackCurrent {
+ t.track = trackDisabled
+ }
+ req(reqInfo)
case actEnableSearch:
t.paused = false
changed = true