summaryrefslogtreecommitdiff
path: root/src/tokenizer.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2025-01-16 09:23:25 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2025-01-16 09:23:25 +0900
commitb712f2bb6a5c1eed5661072604e308951ef655f2 (patch)
tree553697ecbb91c3af4867e3a5e0b3452307311ac4 /src/tokenizer.go
parent938c15ec635c0147eda2510776fd63057165e69e (diff)
downloadfzf-b712f2bb6a5c1eed5661072604e308951ef655f2.tar.gz
Export the current nth value as $FZF_NTH
Diffstat (limited to 'src/tokenizer.go')
-rw-r--r--src/tokenizer.go28
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 {