func (c *Command) UnmarshalYAML(unmarshal func(interface{}) error) error {
	var do string
	doCandidate := marshal.UnmarshalCandidate{
		Unmarshal: func() error { return unmarshal(&do) },
		Assign: func() {
			*c = Command{
				Exec:  do,
				Print: do,
			}
		},
	}

	type commandType Command // Use new type to avoid recursion
	var commandItem commandType
	commandCandidate := marshal.UnmarshalCandidate{
		Unmarshal: func() error { return unmarshal(&commandItem) },
		Assign: func() {
			*c = Command(commandItem)
			if c.Print == "" {
				c.Print = c.Exec
			}
		},
	}

	return marshal.UnmarshalOneOf(doCandidate, commandCandidate)
}
// UnmarshalYAML allows strings to be interpreted as Do actions.
UnmarshalYAML allows strings to be interpreted as Do actions.
// UnmarshalYAML allows strings to be interpreted as Do actions .
func (c *Command) UnmarshalYAML(unmarshal func(interface{}) error) error {
	var do string
	doCandidate := marshal.UnmarshalCandidate{
		Unmarshal: func() error { return unmarshal(&do) },
		Assign: func() {
			*c = Command{
				Exec:  do,
				Print: do,
			}
		},
	}
	type commandType Command 
	var commandItem commandType
	commandCandidate := marshal.UnmarshalCandidate{
		Unmarshal: func() error { return unmarshal(&commandItem) },
		Assign: func() {
			*c = Command(commandItem)
			if c.Print == "" {
				c.Print = c.Exec
			}
		},
	}
	return marshal.UnmarshalOneOf(doCandidate, commandCandidate)
}
func ( c * Command ) UnmarshalYAML ( unmarshal func ( interface { } ) error ) error { var do string doCandidate := marshal . UnmarshalCandidate { Unmarshal : func ( ) error { return unmarshal ( & do ) } , Assign : func ( ) { * c = Command { Exec : do , Print : do , } } , } type commandType Command var commandItem commandType commandCandidate := marshal . UnmarshalCandidate { Unmarshal : func ( ) error { return unmarshal ( & commandItem ) } , Assign : func ( ) { * c = Command ( commandItem ) if c . Print == " " { c . Print = c . Exec } } , } return marshal . UnmarshalOneOf ( doCandidate , commandCandidate ) }
UnmarshalYAML allows strings to be interpreted as Do actions.
UnmarshalYAML allows strings to be interpreted as Do actions .
// Use new type to avoid recursion