예제 #1
0
        internal void NewVersion()
        {
            _tokenCache.Clear();
            var changed = ClassificationChanged;

            if (changed != null)
            {
                var snapshot = _buffer.CurrentSnapshot;

                changed(this, new ClassificationChangedEventArgs(new SnapshotSpan(snapshot, 0, snapshot.Length)));
            }
        }
예제 #2
0
        internal void NewVersion()
        {
            _tokenCache.Clear();

            var analyzer = _buffer.GetAnalyzer(_provider._serviceProvider);

            Debug.Assert(analyzer != null);
            _version = analyzer.InterpreterFactory.GetLanguageVersion();

            var changed = ClassificationChanged;

            if (changed != null)
            {
                var snapshot = _buffer.CurrentSnapshot;

                changed(this, new ClassificationChangedEventArgs(new SnapshotSpan(snapshot, 0, snapshot.Length)));
            }
        }
예제 #3
0
        private Task OnNewAnalysisEntryAsync(PythonTextBufferInfo sender, AnalysisEntry entry)
        {
            var analyzer = entry?.Analyzer;

            if (analyzer == null)
            {
                Debug.Assert(entry == null, "Should not have new analysis entry without an analyzer");
                return(Task.CompletedTask);
            }
            _tokenCache.Clear();

            var snapshot = sender.CurrentSnapshot;

            ClassificationChanged?.Invoke(
                this,
                new ClassificationChangedEventArgs(new SnapshotSpan(snapshot, 0, snapshot.Length))
                );

            return(Task.CompletedTask);
        }
예제 #4
0
        private void NewAnalysisEntry(AnalysisEntry entry)
        {
            var analyzer   = entry.Analyzer;
            var newVersion = _version;

            if (newVersion != _version)
            {
                _tokenCache.Clear();

                Debug.Assert(analyzer != null);
                _version = analyzer.InterpreterFactory.GetLanguageVersion();

                var changed = ClassificationChanged;
                if (changed != null)
                {
                    var snapshot = _buffer.CurrentSnapshot;

                    changed(this, new ClassificationChangedEventArgs(new SnapshotSpan(snapshot, 0, snapshot.Length)));
                }
            }
        }