<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/main/parse.go
diff options
context:
space:
mode:
Diffstat (limited to 'main/parse.go')
-rw-r--r--main/parse.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/main/parse.go b/main/parse.go
index bf2f0ac..aed87cc 100644
--- a/main/parse.go
+++ b/main/parse.go
@@ -234,7 +234,18 @@ func (p *parser) parseBasicCommand(commandChar rune) Command {
return AppendNextCommand{}
case 's':
subex := p.parseSubex()
- return SubstituteCommand {subex: subex}
+ var next Command
+ token := p.peek()
+ switch token.typ {
+ case TokenEOF, TokenRBrace:
+ next = NoopCommand{}
+ default:
+ next = p.parseCommand()
+ }
+ return SubstituteCommand {
+ subex: subex,
+ next: next,
+ }
case 'i':
items := p.parseLiterals()
return PrintLiteralsCommand {items: items}