Skip to content

Commit 77cebca

Browse files
committed
Add reader support for shebang-style comments
Signed-off-by: James Hamlin <jfhamlin@gmail.com>
1 parent acc2d00 commit 77cebca

8 files changed

+24
-0
lines changed

pkg/reader/reader.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -937,6 +937,18 @@ func (r *Reader) readDispatch() (interface{}, error) {
937937
return r.readExpr()
938938
case '#':
939939
return r.readSymbolicValue()
940+
case '!':
941+
// comment, discard until end of line
942+
for {
943+
rn, _, err := r.rs.ReadRune()
944+
if err != nil {
945+
return nil, r.error("error reading input: %w", err)
946+
}
947+
if rn == '\n' {
948+
break
949+
}
950+
}
951+
return r.readExpr()
940952
default:
941953
return nil, r.error("invalid dispatch character: %c", rn)
942954
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
true
2+
291
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
true
2+
1.0E10
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
true
2+
42
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
true
2+
0M
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
true
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#! this is treated as a comment
2+
42
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
42

0 commit comments

Comments
 (0)