Пример #1
0
        internal static Hashtable[] GetMatchColors <T>()
        {
            IColorMatcher <T> matcher = (IColorMatcher <T>)MatcherManager.GetMatcher(typeof(T));

            return((from match in matcher.GetMatches()
                    select new Hashtable {
                [HashtableColor] = match.ForegroundColor,
                [HashtableMatch] = match.GetMatchData()
            }).ToArray());
        }
Пример #2
0
        internal static void SetMatcherColors <T>(Hashtable[] matcherColors)
        {
            IColorMatcher <T> matcher = (IColorMatcher <T>)MatcherManager.GetMatcher(typeof(T));

            var matches = from matcherColor in matcherColors
                          let foregroundColor                         = (ConsoleColor)matcherColor[HashtableColor]
                                                            let match = matcherColor[HashtableMatch]
                                                                        select matcher.CreateMatch(foregroundColor, match);

            matcher.SetMatches(matches);
        }
Пример #3
0
        static AnsiColorOut()
        {
            sFileInfoColorMatcher = new Lazy <IColorMatcher>(() => MatcherManager.GetMatcher(typeof(FileSystemInfo)));

            sProcessColorMatcher = new Lazy <IColorMatcher>(() => MatcherManager.GetMatcher(typeof(Process)));

            sForegroundAnsiColors = new Dictionary <ConsoleColor, string> {
                { ConsoleColor.DarkGray, "\x1B[1;30m" },
                { ConsoleColor.Black, "\x1B[0;30m" },

                { ConsoleColor.Red, "\x1B[1;31m" },
                { ConsoleColor.DarkRed, "\x1B[0;31m" },

                { ConsoleColor.Green, "\x1B[1;32m" },
                { ConsoleColor.DarkGreen, "\x1B[0;32m" },

                { ConsoleColor.Yellow, "\x1B[1;33m" },
                { ConsoleColor.DarkYellow, "\x1B[0;33m" },

                { ConsoleColor.Blue, "\x1B[1;34m" },
                { ConsoleColor.DarkBlue, "\x1B[0;34m" },

                { ConsoleColor.Magenta, "\x1B[1;35m" },
                { ConsoleColor.DarkMagenta, "\x1B[0;35m" },

                { ConsoleColor.Cyan, "\x1B[1;36m" },
                { ConsoleColor.DarkCyan, "\x1B[0;36m" },

                { ConsoleColor.White, "\x1B[1;37m" },
                { ConsoleColor.Gray, "\x1B[0;37m" },
            };

            sBackgroundAnsiColors = new Dictionary <ConsoleColor, string> {
                { ConsoleColor.DarkGray, "\x1B[1;40m" },
                { ConsoleColor.Black, "\x1B[0;40m" },

                { ConsoleColor.Red, "\x1B[1;41m" },
                { ConsoleColor.DarkRed, "\x1B[0;41m" },

                { ConsoleColor.Green, "\x1B[1;42m" },
                { ConsoleColor.DarkGreen, "\x1B[0;42m" },

                { ConsoleColor.Yellow, "\x1B[1;43m" },
                { ConsoleColor.DarkYellow, "\x1B[0;43m" },

                { ConsoleColor.Blue, "\x1B[1;44m" },
                { ConsoleColor.DarkBlue, "\x1B[0;44m" },

                { ConsoleColor.Magenta, "\x1B[1;45m" },
                { ConsoleColor.DarkMagenta, "\x1B[0;45m" },

                { ConsoleColor.Cyan, "\x1B[1;46m" },
                { ConsoleColor.DarkCyan, "\x1B[0;46m" },

                { ConsoleColor.White, "\x1B[1;47m" },
                { ConsoleColor.Gray, "\x1B[0;47m" },
            };

            ForegroundColorReset = "\x1B[39m";
            BackgroundColorReset = "\x1B[49m";
            ColorReset           = "\x1B[0m";
        }