1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-17 21:18:31 +02:00

Support updating values in empty documents

This commit is contained in:
Stefan Haller 2023-06-08 08:36:13 +02:00
parent a14794bf5c
commit 90084d115e
2 changed files with 15 additions and 0 deletions

View File

@ -15,6 +15,13 @@ func UpdateYamlValue(yamlBytes []byte, path []string, value string) ([]byte, err
return nil, fmt.Errorf("failed to parse YAML: %w", err)
}
// Empty document: need to create the top-level map ourselves
if len(node.Content) == 0 {
node.Content = append(node.Content, &yaml.Node{
Kind: yaml.MappingNode,
})
}
body := node.Content[0]
updateYamlNode(body, path, value)

View File

@ -31,6 +31,14 @@ func TestUpdateYamlValue(t *testing.T) {
expectedOut: "foo: bar\nfoo2: baz\n",
expectedErr: "",
},
{
name: "add new key and value when document was empty",
in: "",
path: []string{"foo"},
value: "bar",
expectedOut: "foo: bar\n",
expectedErr: "",
},
{
name: "preserve inline comment",
in: "foo: bar # my comment\n",