fix: Empty tags now report diagnostics.

This commit is contained in:
Spencer Brower
2026-08-10 17:42:43 -04:00
parent 3551eb3b2c
commit a9d7525dd6
3 changed files with 35 additions and 1 deletions
+5
View File
@@ -28,6 +28,11 @@ test_diag_empty_tag :: proc(t: ^testing.T) {
run_diag_case(t, "empty tag")
}
@(test)
test_diag_empty_raw_tag :: proc(t: ^testing.T) {
run_diag_case(t, "empty raw tag")
}
@(test)
test_diag_missing_pipe_arguement :: proc(t: ^testing.T) {
run_diag_case(t, "Missing pipe arguement")
+16
View File
@@ -271,6 +271,14 @@ parse_section :: proc(
pos^ += 1
case .Variable:
if len(strings.trim_space(tok.value)) == 0 {
return Error_Body {
msg = "Empty tag",
pos = tok.pos,
kind = .Syntax,
hint = "tag must contain a key",
}
}
idx := len(nodes)
append(nodes, Node{kind = .Variable})
pipe_key, perr := parse_pipeline(
@@ -290,6 +298,14 @@ parse_section :: proc(
pos^ += 1
case .Unescaped:
if len(strings.trim_space(tok.value)) == 0 {
return Error_Body {
msg = "Empty tag",
pos = tok.pos,
kind = .Syntax,
hint = "tag must contain a key",
}
}
idx := len(nodes)
append(nodes, Node{kind = .Unescaped})
pipe_key, perr := parse_pipeline(