public static bool IsValidModifier(ITextProvider text, Token token, string name) { if (token.Type == TokenType.Identifier) return text.CompareOrdinal(token.Start, name); return false; }
public static bool IsValidModifier(ITextProvider text, Token token, string name) { if (token.Type == TokenType.Identifier) { return(text.CompareOrdinal(token.Start, name)); } return(false); }
public static bool IsConditionalDirective(ITextProvider text, ITokenStream stream) { if (stream.Current.Type == TokenType.At) { var name = stream.Peek(1); if (name.Type == TokenType.Identifier || name.Type == TokenType.Function) return text.CompareOrdinal(name.Start, "if"); } return false; }
public static bool IsConditionalDirective(ITextProvider text, ITokenStream stream) { if (stream.Current.Type == TokenType.At) { var name = stream.Peek(1); if (name.Type == TokenType.Identifier || name.Type == TokenType.Function) { return(text.CompareOrdinal(name.Start, "if")); } } return(false); }
public override bool Parse(IItemFactory itemFactory, ITextProvider text, ITokenStream stream) { if (stream.Current.Type == TokenType.Identifier && text.CompareOrdinal(stream.Current.Start, "and")) { Combinator = Children.AddCurrentAndAdvance(stream, SassClassifierType.Keyword); } if (stream.Current.Type == TokenType.OpenFunctionBrace) { OpenBrace = Children.AddCurrentAndAdvance(stream, SassClassifierType.FunctionBrace); } ParseItem feature; if (itemFactory.TryCreateParsedOrDefault(this, text, stream, out feature)) { Feature = feature; Children.Add(feature); } if (stream.Current.Type == TokenType.Colon) { Colon = Children.AddCurrentAndAdvance(stream, SassClassifierType.Punctuation); } // dump all values while (!IsExpressionTerminator(stream.Current.Type)) { ParseItem value; if (itemFactory.TryCreateParsedOrDefault(this, text, stream, out value)) { FeatureValues.Add(value); Children.Add(value); } else { Children.AddCurrentAndAdvance(stream); } } if (stream.Current.Type == TokenType.CloseFunctionBrace) { CloseBrace = Children.AddCurrentAndAdvance(stream, SassClassifierType.FunctionBrace); } return(Children.Count > 0); }
public override bool Parse(IItemFactory itemFactory, ITextProvider text, ITokenStream stream) { if (stream.Current.Type == TokenType.Identifier && text.CompareOrdinal(stream.Current.Start, "and")) Combinator = Children.AddCurrentAndAdvance(stream, SassClassifierType.Keyword); if (stream.Current.Type == TokenType.OpenFunctionBrace) OpenBrace = Children.AddCurrentAndAdvance(stream, SassClassifierType.FunctionBrace); ParseItem feature; if (itemFactory.TryCreateParsedOrDefault(this, text, stream, out feature)) { Feature = feature; Children.Add(feature); } if (stream.Current.Type == TokenType.Colon) Colon = Children.AddCurrentAndAdvance(stream, SassClassifierType.Punctuation); // dump all values while (!IsExpressionTerminator(stream.Current.Type)) { ParseItem value; if (itemFactory.TryCreateParsedOrDefault(this, text, stream, out value)) { FeatureValues.Add(value); Children.Add(value); } else { Children.AddCurrentAndAdvance(stream); } } if (stream.Current.Type == TokenType.CloseFunctionBrace) CloseBrace = Children.AddCurrentAndAdvance(stream, SassClassifierType.FunctionBrace); return Children.Count > 0; }
private bool IsKeyword(ITextProvider text, ITokenStream stream, string keyword) { return(text.CompareOrdinal(stream.Current.Start, keyword)); }