Example #1
0
        public ISassStylesheet Parse(IParsingRequest request)
        {
            var tokens      = Tokenize(request);
            var stream      = CreateTokenStream(tokens, new ParsingRequestExecutionContext(request));
            var itemFactory = new ItemFactory(new DefaultSassItemFactory());

            var stylesheet = new Stylesheet();

            if (stylesheet.Parse(itemFactory, request.Text, stream) && !request.IsCancelled)
            {
                stylesheet.Freeze();

                foreach (var import in stylesheet.Children.OfType <SassImportDirective>())
                {
                    import.ResolveImports(request.Text, request.Document, DocumentManager);
                }

                foreach (var reference in ResolveReferences(stylesheet))
                {
                    reference.ResolveImports(request.Text, request.Document, DocumentManager);
                }

                return(stylesheet);
            }

            return(null);
        }
 public ISassStylesheet Parse(IParsingRequest request)
 {
     try
     {
         var parser = ParserFactory.Create();
         return(parser.Parse(request));
     }
     catch (Exception ex)
     {
         Logger.Log(ex, "Failed to parse document changes.");
         return(null);
     }
 }
 public ISassStylesheet Parse(IParsingRequest request)
 {
     try
     {
         var parser = ParserFactory.Create();
         return parser.Parse(request);
     }
     catch (Exception ex)
     {
         Logger.Log(ex, "Failed to parse document changes.");
         return null;
     }
 }
Example #4
0
        public ISassStylesheet Parse(IParsingRequest request)
        {
            var tokens = Tokenize(request);
            var stream = CreateTokenStream(tokens, new ParsingRequestExecutionContext(request));
            var itemFactory = new ItemFactory(new DefaultSassItemFactory());

            var stylesheet = new Stylesheet();
            if (stylesheet.Parse(itemFactory, request.Text, stream) && !request.IsCancelled)
            {
                stylesheet.Freeze();

                foreach (var import in stylesheet.Children.OfType<SassImportDirective>())
                    import.ResolveImports(request.Text, request.Document, DocumentManager);

                foreach (var reference in ResolveReferences(stylesheet))
                    reference.ResolveImports(request.Text, request.Document, DocumentManager);

                return stylesheet;
            }

            return null;
        }
Example #5
0
 public ParsingRequestExecutionContext(IParsingRequest request)
 {
     Request = request;
 }
Example #6
0
        private TokenList Tokenize(IParsingRequest request)
        {
            var stream = new TextStream(request.Text);

            return Lexer.Tokenize(stream, new ParsingRequestLexingContext(request));
        }
Example #7
0
 public ParsingRequestLexingContext(IParsingRequest request)
 {
     Request = request;
 }
Example #8
0
 public ParsingRequestExecutionContext(IParsingRequest request)
 {
     Request = request;
 }
Example #9
0
 public ParsingRequestLexingContext(IParsingRequest request)
 {
     Request = request;
 }
Example #10
0
        private TokenList Tokenize(IParsingRequest request)
        {
            var stream = new TextStream(request.Text);

            return(Lexer.Tokenize(stream, new ParsingRequestLexingContext(request)));
        }