commit c6d69701744c2b42b11680ae60f53c69bab1af63 parent 651a2650eb7d7471e0903b210a97ed1b15b6fe77 Author: Charlie Stanton <charlie@shtanton.xyz> Date: Thu, 20 Apr 2023 14:20:28 +0100 Add a shorthand for subexes that start and end with `, ~, = or " Diffstat:
M | main/parse.go | | | 8 | +++++++- |
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/main/parse.go b/main/parse.go @@ -42,7 +42,13 @@ func (p *parser) parseSubex() subex.SubexState { if subexProgramToken.typ != TokenSubex { panic("Missing subex from substitution") } - reader := subex.NewStringRuneReader(subexProgramToken.val) + var subexProgram string + if delim.val == "=" || delim.val == "~" || delim.val == "\"" || delim.val == "`" { + subexProgram = delim.val + subexProgramToken.val + delim.val + } else { + subexProgram = subexProgramToken.val + } + reader := subex.NewStringRuneReader(subexProgram) subexAST := subex.Parse(reader) subex := subex.CompileTransducer(subexAST) delim = p.next()