Esempio n. 1
0
        private void ParseNode(HamlNode node, HamlFile hamlFile)
        {
            //node.IsMultiLine = true;
            while ((!hamlFile.EndOfFile) && (hamlFile.CurrentLine.IndentCount > node.IndentCount))
            {
                var nodeLine  = hamlFile.CurrentLine;
                var childNode = HamlNodeFactory.GetHamlNode(nodeLine);
                node.AddChild(childNode);

                hamlFile.MoveNext();
                if (hamlFile.EndOfFile == false &&
                    hamlFile.CurrentLine.IndentCount > nodeLine.IndentCount)
                {
                    if (hamlFile.CurrentLine.IsInline == false)
                    {
                        childNode.AppendInnerTagNewLine();
                    }
                    ParseNode(childNode, hamlFile);
                }

                if (hamlFile.EndOfFile == false &&
                    hamlFile.CurrentLine.IndentCount >= nodeLine.IndentCount)
                {
                    node.AppendPostTagNewLine(childNode, hamlFile.CurrentLine.SourceFileLineNo);
                }
            }
        }
Esempio n. 2
0
        private void ParseNode(HamlNode node, HamlFile hamlFile)
        {
            //node.IsMultiLine = true;
            while ((!hamlFile.EndOfFile) && (hamlFile.CurrentLine.IndentCount > node.IndentCount))
            {
                var nodeLine  = hamlFile.CurrentLine;
                var childNode = HamlNodeFactory.GetHamlNode(nodeLine);
                node.AddChild(childNode);

                hamlFile.MoveNext();
                if (hamlFile.EndOfFile == false &&
                    hamlFile.CurrentLine.IndentCount > nodeLine.IndentCount)
                {
                    ParseNode(childNode, hamlFile);
                }
            }
        }