diff --git a/pkg/yqlib/doc/usage/formatting-expressions.md b/pkg/yqlib/doc/usage/formatting-expressions.md index 59503dd1..51e24117 100644 --- a/pkg/yqlib/doc/usage/formatting-expressions.md +++ b/pkg/yqlib/doc/usage/formatting-expressions.md @@ -31,3 +31,31 @@ a: c: frog ``` +## Commenting out yq expressions +Note that `c` is no longer set to 'frog'. + +Given a sample.yaml file of: +```yaml +a: + b: old +``` +And an 'update.yq' expression file of: +```bash +# This is a yq expression that updates the map +# for several great reasons outlined here. + +.a.b = "new" # line comment here +# | .a.c = "frog" + +# Now good things will happen. +``` +then +```bash +yq --from-file update.yq sample.yml +``` +will output +```yaml +a: + b: new +``` + diff --git a/pkg/yqlib/formatting_expressions_test.go b/pkg/yqlib/formatting_expressions_test.go index 65ed3e10..17f8fbdc 100644 --- a/pkg/yqlib/formatting_expressions_test.go +++ b/pkg/yqlib/formatting_expressions_test.go @@ -15,6 +15,13 @@ var formattingExpressionScenarios = []formatScenario{ expression: "\n# This is a yq expression that updates the map\n# for several great reasons outlined here.\n\n.a.b = \"new\" # line comment here\n| .a.c = \"frog\"\n\n# Now good things will happen.\n", expected: "a:\n b: new\n c: frog\n", }, + { + description: "Commenting out yq expressions", + subdescription: "Note that `c` is no longer set to 'frog'.", + input: "a:\n b: old", + expression: "\n# This is a yq expression that updates the map\n# for several great reasons outlined here.\n\n.a.b = \"new\" # line comment here\n# | .a.c = \"frog\"\n\n# Now good things will happen.\n", + expected: "a:\n b: new\n", + }, } func documentExpressionScenario(_ *testing.T, w *bufio.Writer, i interface{}) {