Problem
For kind: "line" syntaxes (YAML, Python, ...) renderHeaderLines emits only the prefixed field lines. Files that carry the common org-template header, with a bare # line above and below the field block, lose those two lines on the first run, and the header then runs directly into the next comment or code with no delimiter:
-#
-# @Project: @cldmv/sizeofvar
+# @Project: @cldmv/sizeofvar
...
-# @Copyright: ...
-#
+# @Copyright: ...
# Individual repo: ...
Seen in CLDMV/sizeofvar#24 on all 29 workflow files. Block headers had no frame at all either: /** was followed directly by the first field.
Design
Two top-level options (config file, API and CLI flags), applying to every header kind:
spacing (default 1): empty comment lines just inside the header's opening and before its closing. Block headers get /**, *, fields, *, */; line headers get a bare # above and below.
margin (default 2): blank lines between the header and the file's next content. Line headers always keep at least one blank line, so a following comment is not read as part of the header.
The parser already consumes the whole leading comment run, so an existing header of any layout is restyled in place and a second run updates 0 files.
Note
Existing headers are restyled to the new layout on the first run. spacing: 0, margin: 1 keeps the previous compact layout.
Problem
For
kind: "line"syntaxes (YAML, Python, ...)renderHeaderLinesemits only the prefixed field lines. Files that carry the common org-template header, with a bare#line above and below the field block, lose those two lines on the first run, and the header then runs directly into the next comment or code with no delimiter:Seen in CLDMV/sizeofvar#24 on all 29 workflow files. Block headers had no frame at all either:
/**was followed directly by the first field.Design
Two top-level options (config file, API and CLI flags), applying to every header kind:
spacing(default1): empty comment lines just inside the header's opening and before its closing. Block headers get/**,*, fields,*,*/; line headers get a bare#above and below.margin(default2): blank lines between the header and the file's next content. Line headers always keep at least one blank line, so a following comment is not read as part of the header.The parser already consumes the whole leading comment run, so an existing header of any layout is restyled in place and a second run updates 0 files.
Note
Existing headers are restyled to the new layout on the first run.
spacing: 0, margin: 1keeps the previous compact layout.