private void indentLine(StrTypePair elem) { // On stocke le retour à la ligne, s'il faut la modifier par la suite _currentLineBreak = elem; if (_indentLevel < 0) _indentLevel = 0; _currentLineBreak.str = '\n' + new string(' ', indentSize * _indentLevel); }
private void indentItem(StrTypePair elem) { switch (elem.type) { case StrTypePair.StrType.USR_OPEN_TAG: case StrTypePair.StrType.AUTO_OPEN_TAG: _indentLevel++; break; case StrTypePair.StrType.USR_TAG_NAME: case StrTypePair.StrType.AUTO_TAG_NAME: if (HtmlElement.singleTags.Exists(v => v == elem.str)) { // si ce n'est pas une balise simple, on annule la précédente auto-indentation _indentLevel--; _currentLineBreak.str = '\n' + new string(' ', indentSize * (_indentLevel)); } break; case StrTypePair.StrType.USR_END_TAG: case StrTypePair.StrType.AUTO_END_TAG: _indentLevel--; _currentLineBreak.str = '\n' + new string(' ', indentSize * (_indentLevel)); break; case StrTypePair.StrType.LINE_BREAK: indentLine(elem); break; } }