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

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

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

                //move left
                range.GoLeft(shift);
            } while (prev != range.Start);

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

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

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

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

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

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

                //move left
                range.GoLeft(shift);
            } while (prev != range.Start);

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

            if (tb.lineInfos[Start.iLine].VisibleState != VisibleState.Visible)
            {
                GoRight(shift);
            }
        }
Example #3
0
        internal void GoWordLeft(bool shift)
        {
            Range range = this.Clone();//for OnSelectionChanged disable

            Place prev;
            bool  wasNonSpace = false;

            do
            {
                prev = range.Start;
                switch (range.CharBeforeStart)
                {
                case ' ':
                case '\r':
                case '\n':
                    if (wasNonSpace)
                    {
                        goto found;
                    }
                    break;

                default:
                    wasNonSpace = true; break;
                }
                //move left
                range.GoLeft(shift);
            } while (prev != range.Start);

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

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