Skip to content

Commit 5deed79

Browse files
authored
Feature: Prefixes with limit macros (e.g. limit end:all) (#336)
1 parent ca84960 commit 5deed79

3 files changed

Lines changed: 14 additions & 8 deletions

File tree

internal/pipeline/filtering/matchers.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,24 +39,24 @@ var DateMatchers = RangeMatcher{
3939

4040
var SizeMatchers = RangeMatcher{
4141
true: {
42-
consts.MatchFuzzy: func(start, _ int64) RangeFilter {
42+
consts.MatchFuzzy: func(start int64, _ int64) RangeFilter {
4343
return func(value int64) bool {
4444
return pkgdata.FuzzySize(value, start)
4545
}
4646
},
47-
consts.MatchStrict: func(start, _ int64) RangeFilter {
47+
consts.MatchStrict: func(start int64, _ int64) RangeFilter {
4848
return func(value int64) bool {
4949
return pkgdata.StrictSize(value, start)
5050
}
5151
},
5252
},
5353
false: {
54-
consts.MatchFuzzy: func(start, end int64) RangeFilter {
54+
consts.MatchFuzzy: func(start int64, end int64) RangeFilter {
5555
return func(value int64) bool {
5656
return pkgdata.FuzzySizeRange(value, start, end)
5757
}
5858
},
59-
consts.MatchStrict: func(start, end int64) RangeFilter {
59+
consts.MatchStrict: func(start int64, end int64) RangeFilter {
6060
return func(value int64) bool {
6161
return pkgdata.StrictSizeRange(value, start, end)
6262
}

internal/pipeline/filtering/size.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ func parseSizeFilter(sizeFilterInput string) (RangeSelector, error) {
3939
}
4040

4141
return RangeSelector{
42-
start,
43-
end,
44-
isExact,
42+
Start: start,
43+
End: end,
44+
IsExact: isExact,
4545
}, nil
4646
}
4747

internal/preprocess/macro_engine.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,15 @@ func expandWhereMacro(token string) ([]string, bool) {
5656
}
5757

5858
func expandLimitMacro(token string) ([]string, bool) {
59+
var prefix string
60+
if strings.ContainsRune(token, ':') {
61+
parts := strings.SplitAfter(token, ":")
62+
prefix, token = parts[0], parts[1]
63+
}
64+
5965
switch token {
6066
case "all":
61-
return []string{"0"}, true
67+
return []string{prefix + "0"}, true
6268
default:
6369
return nil, false
6470
}

0 commit comments

Comments
 (0)