// returns false if not a leaf or strlen(n.O)>maxlen public bool WriteLeaf(YNode n, int maxlen) { var o = n.O; if (o == null) { YAMLWriter.Write(n.Depth, "~"); return(true); } else if (n.IsLeaf) { var s = n.O.ToString(); if (s.Length > maxlen) { return(false); } if (n.O is string || n.O is char) { if (LineBreakp(s)) { var matches = LineBreaker.Matches(s); YAMLWriter.WriteLine(n.Depth, "|2"); var olddepth = YAMLWriter.Depth; YAMLWriter.Depth += " "; foreach (Match i in matches) { YAMLWriter.Lw.Column = 0; YAMLWriter.Write(n.Depth, i.Groups[0].Value); } YAMLWriter.Depth = olddepth; } else { YAMLWriter.Write(n.Depth, Escape(s)); } } else { YAMLWriter.Write(n.Depth, s); } return(true); } return(false); }