summaryrefslogtreecommitdiffstats
path: root/src/options.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2023-04-22 23:39:35 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2023-04-22 23:42:09 +0900
commit65dd2bb42947d4ede31d160214f3a4c6fdc619e1 (patch)
tree8f5744ddc7d0ab91983fdf6df28d96d253b2aa54 /src/options.go
parent6be855be6af102a0f89932e5752ce75aa9713108 (diff)
Add 'track' action
Diffstat (limited to 'src/options.go')
-rw-r--r--src/options.go18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/options.go b/src/options.go
index 3718cf5a..e0a5caf6 100644
--- a/src/options.go
+++ b/src/options.go
@@ -165,6 +165,14 @@ func defaultMargin() [4]sizeSpec {
return [4]sizeSpec{}
}
+type trackOption int
+
+const (
+ trackDisabled trackOption = iota
+ trackEnabled
+ trackCurrent
+)
+
type windowPosition int
const (
@@ -267,7 +275,7 @@ type Options struct {
WithNth []Range
Delimiter Delimiter
Sort int
- Track bool
+ Track trackOption
Tac bool
Criteria []criterion
Multi int
@@ -340,7 +348,7 @@ func defaultOptions() *Options {
WithNth: make([]Range, 0),
Delimiter: Delimiter{},
Sort: 1000,
- Track: false,
+ Track: trackDisabled,
Tac: false,
Criteria: []criterion{byScore, byLength},
Multi: 0,
@@ -1085,6 +1093,8 @@ func parseActionList(masked string, original string, prevActions []*action, putA
appendAction(actToggleSearch)
case "toggle-track":
appendAction(actToggleTrack)
+ case "track":
+ appendAction(actTrack)
case "select":
appendAction(actSelect)
case "select-all":
@@ -1574,9 +1584,9 @@ func parseOptions(opts *Options, allArgs []string) {
case "+s", "--no-sort":
opts.Sort = 0
case "--track":
- opts.Track = true
+ opts.Track = trackEnabled
case "--no-track":
- opts.Track = false
+ opts.Track = trackDisabled
case "--tac":
opts.Tac = true
case "--no-tac":