Exemplo n.º 1
0
        internal PythonAnalysisClassifier(PythonAnalysisClassifierProvider provider, ITextBuffer buffer) {
            buffer.ContentTypeChanged += BufferContentTypeChanged;

            _provider = provider;
            _buffer = buffer;
            _buffer.RegisterForNewAnalysis(OnNewAnalysis);
        }
Exemplo n.º 2
0
 internal PythonAnalysisClassifier(PythonAnalysisClassifierProvider provider, PythonTextBufferInfo buffer)
 {
     _provider                     = provider;
     _buffer                       = buffer;
     _buffer.OnNewAnalysis        += OnNewAnalysis;
     _buffer.OnContentTypeChanged += BufferContentTypeChanged;
 }
Exemplo n.º 3
0
        internal PythonAnalysisClassifier(PythonAnalysisClassifierProvider provider, ITextBuffer buffer)
        {
            buffer.ContentTypeChanged += BufferContentTypeChanged;

            _provider = provider;
            _buffer   = buffer;
            _buffer.RegisterForNewAnalysis(OnNewAnalysis);
        }
Exemplo n.º 4
0
        internal PythonAnalysisClassifier(PythonAnalysisClassifierProvider provider, ITextBuffer buffer) {
            buffer.Changed += BufferChanged;
            buffer.ContentTypeChanged += BufferContentTypeChanged;

            _provider = provider;
            _buffer = buffer;
            EnsureAnalysis();
        }
Exemplo n.º 5
0
        internal PythonAnalysisClassifier(PythonAnalysisClassifierProvider provider, ITextBuffer buffer)
        {
            buffer.Changed            += BufferChanged;
            buffer.ContentTypeChanged += BufferContentTypeChanged;

            _provider = provider;
            _buffer   = buffer;
            EnsureAnalysis();
        }
Exemplo n.º 6
0
 internal PythonAnalysisClassifier(PythonAnalysisClassifierProvider provider)
 {
     _provider = provider;
 }
Exemplo n.º 7
0
            public ClassifierHelper(string code, PythonLanguageVersion version) {
                _view = new PythonEditor("", version);

                var providers = _view.VS.ComponentModel.GetExtensions<IClassifierProvider>().ToArray();
                _provider1 = providers.OfType<PythonClassifierProvider>().Single();
                _provider2 = providers.OfType<PythonAnalysisClassifierProvider>().Single();

                _classificationsReady1 = new ManualResetEventSlim();
                _classificationsReady2 = new ManualResetEventSlim();

                AstClassifier.ClassificationChanged += (s, e) => SafeSetEvent(_classificationsReady1);
                AnalysisClassifier.ClassificationChanged += (s, e) => SafeSetEvent(_classificationsReady2);

                _view.Text = code;
            }
Exemplo n.º 8
0
            public ClassifierHelper(string code, PythonLanguageVersion version) {
                _view = new PythonEditor("", version);

                var providers = _view.VS.ComponentModel.GetExtensions<IClassifierProvider>().ToArray();
                _provider1 = providers.OfType<PythonClassifierProvider>().Single();
                _provider2 = providers.OfType<PythonAnalysisClassifierProvider>().Single();

                _classificationsReady1 = new ManualResetEventSlim();
                _classificationsReady2 = new ManualResetEventSlim();

                AstClassifier.ClassificationChanged += (s, e) => SafeSetEvent(_classificationsReady1);
                var startVersion = _view.CurrentSnapshot.Version;
                AnalysisClassifier.ClassificationChanged += (s, e) => {
                    var analysis = _view.View.TextView.GetAnalysisEntry(_view.CurrentSnapshot.TextBuffer, _view.VS.ServiceProvider);
                    // make sure we have classifications from the version we analyzed after
                    // setting the text below.
                    if (analysis.GetAnalysisVersion(_view.CurrentSnapshot.TextBuffer).VersionNumber > startVersion.VersionNumber) {
                        SafeSetEvent(_classificationsReady2);
                    }
                };

                _view.Text = code;
            }