Catel.LogAnalyzer.AvalonEdit.ColorizeAvalonEdit.ColorizeLine C# (CSharp) Метод

ColorizeLine() защищенный Метод

Override this method to colorize an individual document line.
protected ColorizeLine ( DocumentLine documentLine ) : void
documentLine ICSharpCode.AvalonEdit.Document.DocumentLine The document line.
Результат void
        protected override void ColorizeLine(DocumentLine documentLine)
        {
            Argument.IsNotNull(() => documentLine);

            var lineStartOffset = documentLine.Offset;
            var text = CurrentContext.Document.GetText(documentLine);
            var start = 0;

            if (_textToHighlight == null)
            {
                return;
            }

            var endOffset = _textToHighlight.ToCharArray().Length;

            try
            {
                int index;
                while ((index = text.IndexOf(_textToHighlight, start, StringComparison.Ordinal)) >= 0)
                {
                    ChangeLinePart(
                        lineStartOffset + index,
                        lineStartOffset + index + endOffset,
                        element =>
                            {
                                var typeface = element.TextRunProperties.Typeface;

                                element.TextRunProperties.SetTypeface(new Typeface(
                                                                          typeface.FontFamily,
                                                                          FontStyles.Normal,
                                                                          FontWeights.UltraBold,
                                                                          typeface.Stretch
                                                                          ));
                            });
                    start = index + 1;
                }
            }
            catch (Exception)
            {
                //Swallow the exception
            }
        }
        #endregion