From d4ed26d0e181b8fed052694b0a55f7e26a19ee2f Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 1 Sep 2022 15:58:18 -0500 Subject: [PATCH] added single quote formatting option --- core/conv.onyx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/conv.onyx b/core/conv.onyx index f9642cd1..abc2231e 100644 --- a/core/conv.onyx +++ b/core/conv.onyx @@ -310,6 +310,7 @@ Format_Output :: struct { Format :: struct { pretty_printing := false; quote_strings := false; + single_quote_strings := false; dereference := false; custom_format := true; interpret_numbers := true; @@ -431,6 +432,11 @@ format_va :: #match {} formatting.quote_strings = true; } + case #char "'" { + i += 1; + formatting.single_quote_strings = true; + } + case #char "d" { i += 1; formatting.interpret_numbers = false; @@ -543,16 +549,18 @@ format_any :: (output: ^Format_Output, formatting: ^Format, v: any) { case str { if formatting.quote_strings do output->write("\""); + if formatting.single_quote_strings do output->write("'"); width := formatting.minimum_width; to_output := *cast(^str) v.data; @Todo // escape '"' when quote_strings is enabled. output->write(to_output); - if to_output.count < width && !formatting.quote_strings { + if to_output.count < width && !(formatting.quote_strings || formatting.single_quote_strings) { for width - to_output.count do output->write(#char " "); } if formatting.quote_strings do output->write("\""); + if formatting.single_quote_strings do output->write("'"); } case rawptr { -- 2.25.1