Added comments, not entirely correct

This commit is contained in:
Jesse Beder
2012-05-22 12:29:36 -05:00
parent 0f3f1e26a7
commit 0814813302
5 changed files with 18 additions and 4 deletions

View File

@@ -589,7 +589,13 @@ namespace YAML
if(!good())
return *this;
m_pState->StartedScalar();
PrepareNode(EmitterNodeType::None);
if(m_stream.col() > 0)
m_stream << Indentation(m_pState->GetPreCommentIndent());
Utils::WriteComment(m_stream, comment.content, m_pState->GetPostCommentIndent());
m_pState->SetNonContent();
return *this;
}

View File

@@ -333,15 +333,18 @@ namespace YAML
{
const unsigned curIndent = out.col();
out << "#" << Indentation(postCommentIndent);
out.set_comment();
int codePoint;
for(std::string::const_iterator i = str.begin();
GetNextCodePointAndAdvance(codePoint, i, str.end());
)
{
if(codePoint == '\n')
if(codePoint == '\n') {
out << "\n" << IndentTo(curIndent) << "#" << Indentation(postCommentIndent);
else
out.set_comment();
} else {
WriteCodePoint(out, codePoint);
}
}
return true;
}

View File

@@ -3,7 +3,7 @@
namespace YAML
{
ostream::ostream(): m_buffer(0), m_pos(0), m_size(0), m_row(0), m_col(0)
ostream::ostream(): m_buffer(0), m_pos(0), m_size(0), m_row(0), m_col(0), m_comment(false)
{
reserve(1024);
}
@@ -37,6 +37,7 @@ namespace YAML
if(ch == '\n') {
m_row++;
m_col = 0;
m_comment = false;
} else
m_col++;
}