Example #1
0
        internal void GoWordRight(bool shift)
        {
            Range range = this.Clone();//for OnSelectionChanged disable

            Place prev;
            bool  findIdentifier = IsIdentifierChar(range.CharAfterStart);

            do
            {
                prev = range.Start;
                if (IsIdentifierChar(range.CharAfterStart) ^ findIdentifier)
                {
                    break;
                }

                //move right
                range.GoRight(shift);
            } while (prev != range.Start);

            this.Start = range.Start;
            this.End   = range.End;

            if (tb.lineInfos[Start.iLine].VisibleState != VisibleState.Visible)
            {
                GoLeft(shift);
            }
        }
Example #2
0
        public void GoWordRight(bool shift)
        {
            ColumnSelectionMode = false;

            if (!shift && start < end)
            {
                Start = End;
                return;
            }

            Range range = this.Clone();//for OnSelectionChanged disable

            Place prev;
            bool  findIdentifier = IsIdentifierChar(range.CharAfterStart);

            do
            {
                prev = range.Start;
                if (IsIdentifierChar(range.CharAfterStart) ^ findIdentifier)
                {
                    break;
                }

                //move right
                range.GoRight(shift);
            } while (prev != range.Start);

            this.Start = range.Start;
            this.End   = range.End;

            if (tb.lineInfos[Start.iLine].VisibleState != VisibleState.Visible)
            {
                GoLeft(shift);
            }
        }
Example #3
0
        /// <summary>
        /// Returns range of token
        /// </summary>
        public Range GetTokenRange(Token t)
        {
            var loc = t.Location;

            var place = new Place(loc.Column, loc.Line);
            var r     = new Range(this, place, place);

            foreach (var c in t.Text)
            {
                if (c != '\r')
                {
                    r.GoRight(true);
                }
            }

            return(r);
        }
Example #4
0
        internal void GoWordRight(bool shift)
        {
            Range range = this.Clone();//for OnSelectionChanged disable

            Place prev;
            bool  wasNonSpace = false;
            bool  wasSpace    = false;

            do
            {
                prev = range.Start;
                switch (range.CharAfterStart)
                {
                case '\r':
                case '\n':
                    wasSpace    = true;
                    wasNonSpace = true;
                    break;

                case ' ':
                    if (wasNonSpace)
                    {
                        wasSpace = true;
                    }
                    break;

                default:
                    if (wasSpace && wasNonSpace)
                    {
                        goto found;
                    }
                    wasNonSpace = true; break;
                }
                //move right
                range.GoRight(shift);
            } while (prev != range.Start);

found:
            this.Start = range.Start;
            this.End   = range.End;

            if (tb.lines[Start.iLine].VisibleState != VisibleState.Visible)
            {
                GoLeft(shift);
            }
        }