From 03560a3d848f7eebb599c4d9735fce84f3a5ed30 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Mon, 31 Jul 2023 08:32:38 +0200 Subject: [PATCH] Allow special characters in Lua prefix and suffix --lua-suffix='});^M' didn't work, so taking this approach instead --- pkg/yqlib/encoder_lua.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/yqlib/encoder_lua.go b/pkg/yqlib/encoder_lua.go index aa44ddcf..d83b817b 100644 --- a/pkg/yqlib/encoder_lua.go +++ b/pkg/yqlib/encoder_lua.go @@ -57,7 +57,15 @@ func NewLuaEncoder(prefs LuaPreferences) Encoder { "\\", "\\\\", "\177", "\\127", ) - return &luaEncoder{prefs.DocPrefix, prefs.DocSuffix, prefs.UnquotedKeys, escape} + unescape := strings.NewReplacer( + "\\'", "'", + "\\\"", "\"", + "\\n", "\n", + "\\r", "\r", + "\\t", "\t", + "\\\\", "\\", + ) + return &luaEncoder{unescape.Replace(prefs.DocPrefix), unescape.Replace(prefs.DocSuffix), prefs.UnquotedKeys, escape} } func (le *luaEncoder) PrintDocumentSeparator(writer io.Writer) error {