Esempio n. 1
0
 public override IEnumerable <LineSpan> GetModified()
 {
     if (Nearest != null)
     {
         while (Modified.Remove(Nearest))
         {
         }
         Nearest.Highlight = true;
         Modified.Add(Nearest);
         Modified.AddRange(Nearest.LinkedLines);
         Nearest = null;
     }
     return(Modified);
 }
Esempio n. 2
0
        public override void AddLine(LineSpan line, bool willUpdateImmediately)
        {
            bool isTouching = false;

            if (line.FirstLine - 1 == LineNumber ||
                line.LastLine + 1 == LineNumber)
            {
                isTouching = true;
            }

            if (line.Highlight != isTouching)
            {
                line.Highlight = isTouching;
                if (!willUpdateImmediately)
                {
                    Modified.Add(line);
                }
                Modified.AddRange(line.LinkedLines);
            }
        }
Esempio n. 3
0
        public override void AddLine(LineSpan line, bool willUpdateImmediately)
        {
            if (line.FirstLine <= LineNumber &&
                LineNumber <= line.LastLine &&
                (line.LastLine - line.FirstLine >= MinimumLength || line.LinkedLines.Any()) &&
                line.Indent <= Position &&
                (Nearest == null || line.Indent > Nearest.Indent))
            {
                Nearest = line;
            }

            if (line.Highlight)
            {
                line.Highlight = false;
                if (!willUpdateImmediately)
                {
                    Modified.Add(line);
                }
                Modified.AddRange(line.LinkedLines);
            }
        }
Esempio n. 4
0
        public override void AddLine(LineSpan line, bool willUpdateImmediately)
        {
            bool isTouching = false;

            if (line.FirstLine - 1 <= LineNumber &&
                LineNumber <= line.LastLine + 1 &&
                line.LastLine - line.FirstLine >= MinimumLength &&
                line.Indent == Position)
            {
                isTouching = true;
            }

            if (line.Highlight != isTouching)
            {
                line.Highlight = isTouching;
                if (!willUpdateImmediately)
                {
                    Modified.Add(line);
                }
                Modified.AddRange(line.LinkedLines);
            }
        }