示例#1
0
        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");
            }
        }
示例#2
0
        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;
        }