Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a new quoting option,
echo -quoting json
as suggested in #3783. This option formats each argument as a json string and prints them joined by newlines. A simple use case is:This way large and list-valued outputs are easy to handle in external scripts without having to pass them in environment.
The implementation is not very complex, but does involve some minor refactoring,
splitting quoting.hh
andoption_strings.hh
out fromstring_utils.hh
. While this could have been done with a split ofquoting.hh
alone, it seemed to me less awkward to split them both. I followed the apparent conventions as I understand them, but would appreciate a review from a real C++ programmer, especially of the#include
updates .Also
string.hh
needed#include <algorithm>
to compile on FreeBSD 14.1, clang 18.1.5.