From bd59dd67f1e75f23edb3741cd7fc3037ef93b6bb Mon Sep 17 00:00:00 2001 From: moonwhaler Date: Sat, 8 Aug 2026 21:23:39 +0200 Subject: [PATCH] feat: add newline_wrapped_separator advanced option to Dynamic String Concat Wraps a custom string with LF on both sides between joined inputs, e.g. (input) LF (text) LF (input). Takes precedence over newline_between_inputs and separator. --- dynamic_string_concat_node.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dynamic_string_concat_node.py b/dynamic_string_concat_node.py index 7057b1d..b13d1ea 100644 --- a/dynamic_string_concat_node.py +++ b/dynamic_string_concat_node.py @@ -46,6 +46,12 @@ class DynamicStringConcat: "default": False, "tooltip": "Join inputs with a linefeed (\\n) instead of 'separator' (join mode only).", }), + "newline_wrapped_separator": ("STRING", { + "default": "", "multiline": False, + "tooltip": "Advanced. If non-empty, joins inputs as LF + this text + LF, e.g. " + "'(input) LF (text) LF (input)'. Takes precedence over " + "'newline_between_inputs' and 'separator' (join mode only).", + }), "prefix": ("STRING", { "default": "", "multiline": False, "tooltip": "Prepended to the final result.", @@ -70,7 +76,8 @@ class DynamicStringConcat: OUTPUT_NODE = False def concatenate(self, separator=" ", ignore_empty=True, strip_whitespace=True, - newline_between_inputs=False, prefix="", suffix="", template="", **kwargs): + newline_between_inputs=False, newline_wrapped_separator="", + prefix="", suffix="", template="", **kwargs): slots = {} for key, value in kwargs.items(): if not key.startswith("input_"): @@ -93,7 +100,12 @@ class DynamicStringConcat: ordered = [slots[k] for k in sorted(slots.keys())] if ignore_empty: ordered = [s for s in ordered if s] - join_char = "\n" if newline_between_inputs else separator + if newline_wrapped_separator: + join_char = f"\n{newline_wrapped_separator}\n" + elif newline_between_inputs: + join_char = "\n" + else: + join_char = separator body = join_char.join(ordered) result = f"{prefix}{body}{suffix}"