cmds.projects.CmdCreateFile: Add --field-separator option

List values in a rendered template are joined with a fixed separator of
",\n" (comma plus newline), and there is no way to change that. Templates
sometimes want a different separator, e.g. a plain newline or a single-line
comma-separated list.

Add a --field-separator option that controls how list values are joined
in the rendered output. %n expands to a newline, and the default remains
",\n" for both formats. render_tmpl() applies the separator to the rendered
template, while render_pyright() rejects any other value: the built-in
pyrightconfig.json template is a fixed JSON document, and no alternative
separator is supported for it.

Update the help output test expectation accordingly.

Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.85.1
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-09-12 19:33:54 +02:00
commit 1349665c39
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61
4 changed files with 76 additions and 8 deletions

View file

@ -337,6 +337,7 @@ usage: jw-pkg.py projects create-file [-h] --format {pyright,tmpl}
[--template-name TEMPLATE_NAME]
[--quote] [-f KEY=VALUE]
[--field-keys FIELD_KEYS]
[--field-separator FIELD_SEPARATOR]
module
Generate a file from project metadata
@ -365,6 +366,9 @@ options:
not specified here is an error, and not passing one
makes the respective field go away from the rendering
output (default: None)
--field-separator FIELD_SEPARATOR
Field separator. %n expands to newline. Default value
depends on --format (default: None)
============= Running: jw-pkg.py -t ../../../.. --log-level info projects create-pkg-config --help
usage: jw-pkg.py projects create-pkg-config [-h] [-F PROJECT_DESCR_FILE]
[-d DESCRIPTION] [-n NAME]