示例#1
0
        private void MoveIgnoredMarkersToCurrentSnapshot()
        {
            var snapshot = _buffer.TextSnapshot;
            var i        = 0;

            while (i < _ignoreMarkers.Count)
            {
                if (_ignoreMarkers[i].Span.Snapshot == snapshot)
                {
                    i++;
                    continue;
                }

                var mapped = _ignoreMarkers[i].Span.SafeTranslateTo(snapshot, SpanTrackingMode.EdgeInclusive);
                if (mapped.IsValue)
                {
                    _ignoreMarkers[i] = new ExternalEditMarker(_ignoreMarkers[i].ExternalEditKind, mapped.Value);
                }
                else
                {
                    _ignoreMarkers.RemoveAt(i);
                }
                i++;
            }
        }
示例#2
0
        private bool ShouldIgnore(ExternalEditMarker marker)
        {
            foreach (var ignore in _ignoreMarkers)
            {
                if (ignore.Span.OverlapsWith(marker.Span))
                {
                    return(true);
                }
            }

            return(false);
        }
示例#3
0
        private bool ShouldIgnore(ExternalEditMarker marker)
        {
            foreach ( var ignore in _ignoreMarkers)
            {
                if (ignore.Span.OverlapsWith(marker.Span))
                {
                    return true;
                }
            }

            return false;
        }
示例#4
0
        private void MoveIgnoredMarkersToCurrentSnapshot()
        {
            var snapshot = _buffer.TextSnapshot;
            var i = 0;
            while (i < _ignoreMarkers.Count)
            {
                if (_ignoreMarkers[i].Span.Snapshot == snapshot)
                {
                    i++;
                    continue;
                }

                var mapped = _ignoreMarkers[i].Span.SafeTranslateTo(snapshot, SpanTrackingMode.EdgeInclusive);
                if (mapped.IsValue)
                {
                    _ignoreMarkers[i] = new ExternalEditMarker(_ignoreMarkers[i].ExternalEditKind, mapped.Value);
                }
                else
                {
                    _ignoreMarkers.RemoveAt(i);
                }
                i++;
            }
        }