vfmt: make ${} more robust; require it for every interpolation that uses '...' or "..."

pull/9744/head
Delyan Angelov 2021-04-15 09:13:43 +03:00
parent 4ecc5001b9
commit f1549b3ee7
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED
4 changed files with 11 additions and 4 deletions

View File

@ -190,7 +190,7 @@ fn (mut context Context) kill_pgroup() {
}
fn (mut context Context) compilation_runner_loop() {
cmd := '"$context.vexe" ${context.opts.join(' ')}'
cmd := '"${context.vexe}" ${context.opts.join(' ')}'
_ := <-context.rerun_channel
for {
context.elog('>> loop: v_cycles: $context.v_cycles')

View File

@ -200,7 +200,7 @@ pub fn (b &Benchmark) total_message(msg string) string {
if b.nskip > 0 {
tmsg += term.colorize(term.bold, term.colorize(term.yellow, '$b.nskip skipped')) + ', '
}
tmsg += '$b.ntotal total. ${term.colorize(term.bold, 'Runtime:')} ${b.bench_timer.elapsed().microseconds() / 1000} ms.\n'
tmsg += '${b.ntotal} total. ${term.colorize(term.bold, 'Runtime:')} ${b.bench_timer.elapsed().microseconds() / 1000} ms.\n'
return tmsg
}

View File

@ -140,6 +140,13 @@ pub fn (lit &StringInterLiteral) get_fspec_braces(i int) (string, bool) {
|| (lit.fills[i] && lit.fwidths[i] >= 0) || lit.fwidths[i] != 0
|| lit.precisions[i] != 987698
mut needs_braces := needs_fspec
for x in lit.exprs {
sx := x.str()
if sx.contains(r'"') || sx.contains(r"'") {
needs_braces = true
break
}
}
if !needs_braces {
if i + 1 < lit.vals.len && lit.vals[i + 1].len > 0 {
next_char := lit.vals[i + 1][0]
@ -477,7 +484,7 @@ pub fn (node Stmt) str() string {
}
fn field_to_string(f ConstField) string {
return '${f.name.trim_prefix(f.mod + '.')} = $f.expr'
return '${f.name.trim_prefix(f.mod + '.')} = ${f.expr}'
}
pub fn (e CompForKind) str() string {

View File

@ -901,7 +901,7 @@ fn (mut g Gen) table_gen(node ast.SqlStmt, typ SqlType) string {
for f in v {
tmp << '`$f`'
}
fields << '/* $k */UNIQUE(${tmp.join(', ')})'
fields << '/* ${k} */UNIQUE(${tmp.join(', ')})'
}
}
if typ == .mysql {