MCPcopy
hub / github.com/go-yaml/yaml / yaml_emitter_write_single_quoted_scalar

Function yaml_emitter_write_single_quoted_scalar

emitterc.go:1668–1725  ·  view source on GitHub ↗
(emitter *yaml_emitter_t, value []byte, allow_breaks bool)

Source from the content-addressed store, hash-verified

1666}
1667
1668func yaml_emitter_write_single_quoted_scalar(emitter *yaml_emitter_t, value []byte, allow_breaks bool) bool {
1669
1670 if !yaml_emitter_write_indicator(emitter, []byte{'\''}, true, false, false) {
1671 return false
1672 }
1673
1674 spaces := false
1675 breaks := false
1676 for i := 0; i < len(value); {
1677 if is_space(value, i) {
1678 if allow_breaks && !spaces && emitter.column > emitter.best_width && i > 0 && i < len(value)-1 && !is_space(value, i+1) {
1679 if !yaml_emitter_write_indent(emitter) {
1680 return false
1681 }
1682 i += width(value[i])
1683 } else {
1684 if !write(emitter, value, &i) {
1685 return false
1686 }
1687 }
1688 spaces = true
1689 } else if is_break(value, i) {
1690 if !breaks && value[i] == '\n' {
1691 if !put_break(emitter) {
1692 return false
1693 }
1694 }
1695 if !write_break(emitter, value, &i) {
1696 return false
1697 }
1698 //emitter.indention = true
1699 breaks = true
1700 } else {
1701 if breaks {
1702 if !yaml_emitter_write_indent(emitter) {
1703 return false
1704 }
1705 }
1706 if value[i] == '\'' {
1707 if !put(emitter, '\'') {
1708 return false
1709 }
1710 }
1711 if !write(emitter, value, &i) {
1712 return false
1713 }
1714 emitter.indention = false
1715 spaces = false
1716 breaks = false
1717 }
1718 }
1719 if !yaml_emitter_write_indicator(emitter, []byte{'\''}, false, false, false) {
1720 return false
1721 }
1722 emitter.whitespace = false
1723 emitter.indention = false
1724 return true
1725}

Callers 1

Calls 9

is_spaceFunction · 0.85
widthFunction · 0.85
writeFunction · 0.85
is_breakFunction · 0.85
put_breakFunction · 0.85
write_breakFunction · 0.85
putFunction · 0.85

Tested by

no test coverage detected