vet: remove false positive space indent errors inside strings (#9568)
parent
7f81702d81
commit
094441c863
|
@ -1,3 +1,5 @@
|
||||||
cmd/tools/vvet/tests/indent_with_space.vv:2: error: Looks like you are using spaces for indentation.
|
cmd/tools/vvet/tests/indent_with_space.vv:2: error: Looks like you are using spaces for indentation.
|
||||||
cmd/tools/vvet/tests/indent_with_space.vv:10: error: Looks like you are using spaces for indentation.
|
cmd/tools/vvet/tests/indent_with_space.vv:10: error: Looks like you are using spaces for indentation.
|
||||||
|
cmd/tools/vvet/tests/indent_with_space.vv:16: error: Looks like you are using spaces for indentation.
|
||||||
|
cmd/tools/vvet/tests/indent_with_space.vv:19: error: Looks like you are using spaces for indentation.
|
||||||
NB: You can run `v fmt -w file.v` to fix these errors automatically
|
NB: You can run `v fmt -w file.v` to fix these errors automatically
|
||||||
|
|
|
@ -4,10 +4,17 @@ fn main() {
|
||||||
|
|
||||||
fn block_comments() {
|
fn block_comments() {
|
||||||
/* tab to indent the comment
|
/* tab to indent the comment
|
||||||
spaces before
|
spaces before
|
||||||
also spaces before
|
also spaces before
|
||||||
same here */
|
same here */
|
||||||
/* spaces for comment indentation (ouch)
|
/* spaces for comment indentation (ouch)
|
||||||
and inside too
|
and inside too
|
||||||
*/
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
fn space_inside_strings() {
|
||||||
|
str := "Bad space usage for variable indentation.
|
||||||
|
Here it's fine.
|
||||||
|
Here too."
|
||||||
|
str2 := 'linebreak and space\n inside'
|
||||||
}
|
}
|
||||||
|
|
|
@ -2330,9 +2330,14 @@ fn (mut p Parser) string_expr() ast.Expr {
|
||||||
}
|
}
|
||||||
mut node := ast.empty_expr()
|
mut node := ast.empty_expr()
|
||||||
val := p.tok.lit
|
val := p.tok.lit
|
||||||
pos := p.tok.position()
|
mut pos := p.tok.position()
|
||||||
|
pos.last_line = pos.line_nr + val.count('\n')
|
||||||
if p.peek_tok.kind != .str_dollar {
|
if p.peek_tok.kind != .str_dollar {
|
||||||
p.next()
|
p.next()
|
||||||
|
if p.vet_errors.len > 0 && val.contains('\n ') {
|
||||||
|
p.vet_errors = p.vet_errors.filter(!(it.pos.line_nr > pos.line_nr - 1
|
||||||
|
&& it.pos.line_nr <= pos.last_line - 1))
|
||||||
|
}
|
||||||
node = ast.StringLiteral{
|
node = ast.StringLiteral{
|
||||||
val: val
|
val: val
|
||||||
is_raw: is_raw
|
is_raw: is_raw
|
||||||
|
|
Loading…
Reference in New Issue