diff options
| author | Junegunn Choi <junegunn.c@gmail.com> | 2025-01-16 09:23:25 +0900 |
|---|---|---|
| committer | Junegunn Choi <junegunn.c@gmail.com> | 2025-01-16 09:23:25 +0900 |
| commit | b712f2bb6a5c1eed5661072604e308951ef655f2 (patch) | |
| tree | 553697ecbb91c3af4867e3a5e0b3452307311ac4 /src/tokenizer.go | |
| parent | 938c15ec635c0147eda2510776fd63057165e69e (diff) | |
| download | fzf-b712f2bb6a5c1eed5661072604e308951ef655f2.tar.gz | |
Export the current nth value as $FZF_NTH
Diffstat (limited to 'src/tokenizer.go')
| -rw-r--r-- | src/tokenizer.go | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/tokenizer.go b/src/tokenizer.go index 7f4aef48..fade1d10 100644 --- a/src/tokenizer.go +++ b/src/tokenizer.go @@ -18,6 +18,32 @@ type Range struct { end int } +func RangesToString(ranges []Range) string { + strs := []string{} + for _, r := range ranges { + s := "" + if r.begin == rangeEllipsis && r.end == rangeEllipsis { + s = ".." + } else if r.begin == r.end { + s = strconv.Itoa(r.begin) + } else { + if r.begin != rangeEllipsis { + s += strconv.Itoa(r.begin) + } + + if r.begin != -1 { + s += ".." + if r.end != rangeEllipsis { + s += strconv.Itoa(r.end) + } + } + } + strs = append(strs, s) + } + + return strings.Join(strs, ",") +} + // Token contains the tokenized part of the strings and its prefix length type Token struct { text *util.Chars @@ -41,7 +67,7 @@ func (d Delimiter) String() string { } func newRange(begin int, end int) Range { - if begin == 1 { + if begin == 1 && end != 1 { begin = rangeEllipsis } if end == -1 { |
