fix string interpolations
Showing 2 of 3 files from the diff.
src/lexer.jl
changed.
src/components/strings.jl
changed.
Other files ignored by Codecov
test/parser.jl
has changed.
@@ -104,7 +104,7 @@
Loading
104 | 104 | Having hit an initial whitespace/comment/semicolon continues collecting similar |
|
105 | 105 | `Chars` until they end. Returns a WS token with an indication of newlines/ semicolons. Indicating a semicolons takes precedence over line breaks as the former is equivalent to the former in most cases. |
|
106 | 106 | """ |
|
107 | - | function lex_ws_comment(l::Lexer, c::Char) |
|
107 | + | function read_ws_comment(l, c::Char) |
|
108 | 108 | newline = c == '\n' |
|
109 | 109 | semicolon = c == ';' |
|
110 | 110 | if c == '#' |
@@ -124,14 +124,17 @@
Loading
124 | 124 | newline, semicolon = read_ws(l, newline, semicolon) |
|
125 | 125 | end |
|
126 | 126 | end |
|
127 | + | return newline, semicolon |
|
128 | + | end |
|
127 | 129 | ||
130 | + | function lex_ws_comment(l::Lexer, c::Char) |
|
131 | + | newline, semicolon = read_ws_comment(l, c) |
|
128 | 132 | return emit(l, semicolon ? SemiColonWS : |
|
129 | 133 | newline ? NewLineWS : WS) |
|
130 | 134 | end |
|
131 | 135 | ||
132 | 136 | ||
133 | - | ||
134 | - | function read_ws(l::Lexer, newline, semicolon) |
|
137 | + | function read_ws(l, newline, semicolon) |
|
135 | 138 | while iswhitespace(peekchar(l)) |
|
136 | 139 | c = readchar(l) |
|
137 | 140 | c == '\n' && (newline = true) |
@@ -140,7 +143,7 @@
Loading
140 | 143 | return newline, semicolon |
|
141 | 144 | end |
|
142 | 145 | ||
143 | - | function read_comment(l::Lexer) |
|
146 | + | function read_comment(l) |
|
144 | 147 | if peekchar(l) != '=' |
|
145 | 148 | while true |
|
146 | 149 | pc = peekchar(l) |
@@ -118,9 +118,14 @@
Loading
118 | 118 | startbytes = 0 |
|
119 | 119 | op = mOPERATOR(1, 1, Tokens.EX_OR, false) |
|
120 | 120 | if peekchar(input) == '(' |
|
121 | - | lparen = mPUNCTUATION(Tokens.LPAREN, 1, 1) |
|
121 | + | skip(input, 1) # skip past '(' |
|
122 | + | lpfullspan = -position(input) |
|
123 | + | if iswhitespace(peekchar(input)) || peekchar(input) === '#' |
|
124 | + | read_ws_comment(input, readchar(input)) |
|
125 | + | end |
|
126 | + | lparen = mPUNCTUATION(Tokens.LPAREN, lpfullspan + position(input) + 1, 1) |
|
122 | 127 | rparen = mPUNCTUATION(Tokens.RPAREN, 1, 1) |
|
123 | - | skip(input, 1) |
|
128 | + | ||
124 | 129 | ps1 = ParseState(input) |
|
125 | 130 | ||
126 | 131 | if kindof(ps1.nt) === Tokens.RPAREN |
Files | Coverage |
---|---|
src | 84.37% |
Project Totals (14 files) | 84.37% |
Sunburst
The inner-most circle is the entire project, moving away from the center are folders then, finally, a single file.
The size and color of each slice is representing the number of statements and the coverage, respectively.
Icicle
The top section represents the entire project. Proceeding with folders and finally individual files.
The size and color of each slice is representing the number of statements and the coverage, respectively.