private Color GetTokenTypeColour(CppTokenType tokenType)
        {
            // TODO try to get colours from IClassificationFormatMap

            switch (tokenType)
            {
            case CppTokenType.Keyword:
                return(Colors.Blue);

            default:
                return(Colors.Black);
            }
        }
Example #2
0
        public CppToken[] GetTokens(string content)
        {
            var  tokens = new List <CppToken>();
            var  sr     = new StringReader(content);
            char c;

            while (sr.TryPeek(out c))
            {
                CppToken tok;
                if (Char.IsWhiteSpace(c))
                {
                    tok = new CppToken(ReadWhitespace(sr), CppTokenType.Whitespace);
                }
                else if (Char.IsLetter(c))
                {
                    string       text = ReadAlphaNumeric(sr);
                    CppTokenType type = CppTokenType.General;
                    if (IsKeyword(text))
                    {
                        type = CppTokenType.Keyword;
                    }
                    tok = new CppToken(text, type);
                }
                else if (Char.IsDigit(c))
                {
                    tok = new CppToken(ReadNumber(sr), CppTokenType.Number);
                }
                else
                {
                    tok = new CppToken(c.ToString(), CppTokenType.General);
                    sr.Read();
                }
                tokens.Add(tok);
            }
            return(tokens.ToArray());
        }
Example #3
0
 public CppToken(string text, CppTokenType type)
 {
     Text = text;
     Type = type;
 }