actually make filters work right

This commit is contained in:
2026-02-15 23:38:48 -05:00
parent b510c000ec
commit c6a78ca054
7 changed files with 2193 additions and 26 deletions

View File

@@ -144,7 +144,7 @@ is_ident_char :: proc(c: byte) -> bool {
// Helper: convert Maybe(string) tokens into (string, bool) so or_return works.
// ---------------------------------------------------------------------------
@(private = "file")
// Package-visible: used by update.odin and filter.odin
next_token :: proc(t: ^Tokenizer) -> (tok: string, ok: bool) {
if v, has := tokenizer_next(t).?; has {
tok = v
@@ -319,7 +319,7 @@ parse_operator :: proc(token: string) -> (Sort_Key_Operator, bool) {
return .EQ, false
}
@(private = "file")
// Package-visible: used by update.odin and filter.odin
resolve_attribute_name :: proc(token: string, names: Maybe(map[string]string)) -> (string, bool) {
if len(token) > 0 && token[0] == '#' {
if n, has_names := names.?; has_names {
@@ -332,7 +332,7 @@ resolve_attribute_name :: proc(token: string, names: Maybe(map[string]string)) -
return token, true
}
@(private = "file")
// Package-visible: used by update.odin and filter.odin
resolve_attribute_value :: proc(
token: string,
values: map[string]Attribute_Value,