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

Function yaml_emitter_write_folded_scalar

emitterc.go:1927–1983  ·  view source on GitHub ↗
(emitter *yaml_emitter_t, value []byte)

Source from the content-addressed store, hash-verified

1925}
1926
1927func yaml_emitter_write_folded_scalar(emitter *yaml_emitter_t, value []byte) bool {
1928 if !yaml_emitter_write_indicator(emitter, []byte{'>'}, true, false, false) {
1929 return false
1930 }
1931 if !yaml_emitter_write_block_scalar_hints(emitter, value) {
1932 return false
1933 }
1934 if !yaml_emitter_process_line_comment(emitter) {
1935 return false
1936 }
1937
1938 //emitter.indention = true
1939 emitter.whitespace = true
1940
1941 breaks := true
1942 leading_spaces := true
1943 for i := 0; i < len(value); {
1944 if is_break(value, i) {
1945 if !breaks && !leading_spaces && value[i] == '\n' {
1946 k := 0
1947 for is_break(value, k) {
1948 k += width(value[k])
1949 }
1950 if !is_blankz(value, k) {
1951 if !put_break(emitter) {
1952 return false
1953 }
1954 }
1955 }
1956 if !write_break(emitter, value, &i) {
1957 return false
1958 }
1959 //emitter.indention = true
1960 breaks = true
1961 } else {
1962 if breaks {
1963 if !yaml_emitter_write_indent(emitter) {
1964 return false
1965 }
1966 leading_spaces = is_blank(value, i)
1967 }
1968 if !breaks && is_space(value, i) && !is_space(value, i+1) && emitter.column > emitter.best_width {
1969 if !yaml_emitter_write_indent(emitter) {
1970 return false
1971 }
1972 i += width(value[i])
1973 } else {
1974 if !write(emitter, value, &i) {
1975 return false
1976 }
1977 }
1978 emitter.indention = false
1979 breaks = false
1980 }
1981 }
1982 return true
1983}
1984

Callers 1

Calls 12

is_breakFunction · 0.85
widthFunction · 0.85
is_blankzFunction · 0.85
put_breakFunction · 0.85
write_breakFunction · 0.85
is_blankFunction · 0.85
is_spaceFunction · 0.85
writeFunction · 0.85

Tested by

no test coverage detected