public override bool IsPartialMatch(Token token) { if (token.Value.Length < Value.Length) return Value.StartsWith(token.Value, StringComparison.InvariantCultureIgnoreCase); if (!token.Value.StartsWith(Value, StringComparison.InvariantCultureIgnoreCase)) return false; if (token.Value.Length > Value.Length) return token.Value[Value.Length] == '['; return true; }
public override bool IsCompleteMatch(Token token) { var regex = new Regex(string.Format(Pattern, Value)); return regex.IsMatch(token.Value); }
public TokenInfo(Token identifier, ExpressionInfo info) { Identifier = identifier; Info = info; }
public CodeCompletionResult(IEnumerable<ExpressionInfo> expressionInfos, Token activeToken, Range replaceRange) { ExpressionInfos = expressionInfos; ActiveToken = activeToken; ReplaceRange = replaceRange; }
public bool Equals(Token other) { if (ReferenceEquals(null, other)) return false; if (ReferenceEquals(this, other)) return true; return Equals(other.Value, Value) && Equals(other.Type, Type); }
public virtual bool IsPartialMatch(Token token) { return Type == token.Type && Value.StartsWith(token.Value, StringComparison.InvariantCultureIgnoreCase); }
public virtual bool IsCompleteMatch(Token token) { return this == token; }