void ReadStyleRule(XElement reader, IStylePropertyContext context, List <IStyleRule> rules, IStyleSelector parent = null, bool directChild = false) { var element = reader.AttributeLocal("element")?.Value; var selector = CreateSelector(reader, parent, directChild, element, context); var style = new PredefinedStyle(StyleSystem); var hasStyle = false; foreach (var propertyNode in reader.Elements().Where(pn => pn.Name.LocalName == "property")) { var p = ReadProperty(propertyNode, context); style.SetValue(p.Key, p.Value); hasStyle = true; } if (hasStyle) { var rule = new StyleRule(selector, style); rules.Add(rule); } foreach (var propertyNode in reader.Elements().Where(pn => pn.Name.LocalName == "style")) { var attr = propertyNode.AttributeLocal("direct-child"); ReadStyleRule(propertyNode, context, rules, selector, attr?.Value == "true"); } }
public void SetDefaultChameleonStyleOptions() { predefinedStyle = PredefinedStyle.ALLMAN; // tabs / spaces options indentLength = 4; indentType = Indent.TABS; // brackets option bracketFormatMode = Brackets.NONE; // fileMode option - FILEMODE_JAVA is required for Java files fileMode = FormatFileMode.CPP; // indentation options classIndent = true; switchIndent = true; caseIndent = false; bracketIndent = false; blockIndent = false; namespaceIndent = true; labelIndent = false; preprocessorIndent = false; col1CommentIndent = false; maxInStatementIndent = 50; minConditionalIndent = 10; // padding options breakHeaderBlocks = false; breakClosingBlocks = false; padOperators = true; padParensOutside = false; padParensInside = false; padHeaders = false; unpadParens = true; deleteEmptyLines = false; fillEmptyLines = false; // formatting options breakCloseBrackets = true; breakElseIfs = false; addBrackets = true; addOneLineBrackets = false; breakOneLineStmts = true; breakOneLineBlocks = true; convertTabs = true; alignPointers = Align.TYPE; }