Skip to content

YAML: consider starting # and ending : as quotable characters - #465

Merged
cowtowncoder merged 2 commits into
FasterXML:2.17from
MikeEdgar:include-boundary-quotecheck
Feb 29, 2024
Merged

YAML: consider starting # and ending : as quotable characters#465
cowtowncoder merged 2 commits into
FasterXML:2.17from
MikeEdgar:include-boundary-quotecheck

Conversation

@MikeEdgar

Copy link
Copy Markdown
Contributor

Scalar values starting with # or ending with : should be quoted. Currently, SnakeYAML will single-quote them automatically. This change will proactively trigger the double quote style used for other values that require quotes when MINIMIZE_QUOTES is enabled.

Signed-off-by: Michael Edgar <michael@xlate.io>

@cowtowncoder cowtowncoder left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, will make some minor tweaks before merging but idea makes sense (change was subtle had to look carefully :) ).

@cowtowncoder

Copy link
Copy Markdown
Member

@MikeEdgar one procedural thing before merging: if we don't yet have CLA (only needs to be sent once for all contributions, before merging the first), it's here:

https://github.com/FasterXML/jackson/blob/master/contributor-agreement.pdf

and it's usually easiest to print, fill & sign, scan/photo, email to cla at fasterxml dot com.
Once we have it I'll go ahead and merge this.

Thank you very much for contributing this (esp. great to have test coverage); looking forward to merging it.

@cowtowncoder
cowtowncoder merged commit a743df1 into FasterXML:2.17 Feb 29, 2024
@MikeEdgar
MikeEdgar deleted the include-boundary-quotecheck branch February 29, 2024 17:42
@oliversaggau

oliversaggau commented May 16, 2024

Copy link
Copy Markdown

I'm not quite sure if this is/was desired behavior, as the original description only states

Scalar values starting with # or ending with : should be quoted.

But upgrading springdoc in our project to version 1.8.0 (which uses jackson version 2.17 with this change) in our project resulted in all scalar values being double-quoted instead of single-quoted in the generated .yaml file, not only the ones starting with # or ending with : Nevermind me, it indeed only affected values starting with #. Just ignore my comment 🙈

@cowtowncoder

Copy link
Copy Markdown
Member

@oliversaggau Thank you for double-checking :)

@ivangal2

ivangal2 commented Aug 6, 2024

Copy link
Copy Markdown

@MikeEdgar , can you please explain/elaborate what was wrong with the single quotes before? And why do you think the double quotes are necessary for scalar values starting with # char?

@MikeEdgar

Copy link
Copy Markdown
Contributor Author

@ivangal2 it was inconsistent. Jackson would quote some values with " and SnakeYAML would detect other values and automatically use '. The point of this PR was to make use of one quoting style when quotes are automatically added.

@Weinan-Zhang

Weinan-Zhang commented Aug 9, 2024

Copy link
Copy Markdown

one question, what if single quote(') is needed to keep consistency, is there a way to configure(select) the style of quoting(single or double), thanks!

@cowtowncoder

Copy link
Copy Markdown
Member

@Weinan-Zhang I am not 100% sure but I think there is no option for using single quote. If this is something you would like, feel free to file an issue requesting such feature (and if you have time and interest possibly even contribute a PR for adding). I don't know whether this would be easy to do -- considering complexity in configuring details of SnakeYAML output used by this module -- but it should be doable.

@cowtowncoder cowtowncoder added the yaml Issue related to YAML format backend label Aug 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

yaml Issue related to YAML format backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants