Пример #1
0
        /// <summary>
        /// The Dispose.
        /// </summary>
        public void Dispose()
        {
            if (ErrorProvider != null)
            {
                ErrorProvider.Tasks.Clear();
                ErrorProvider.Dispose();
            }

            BufferIdleEventUtil.RemoveBufferIdleEventListener(Buffer, ReparseFile);
        }
Пример #2
0
#pragma warning restore SA1401 // Fields must be private

        /// <summary>
        /// Initializes a new instance of the <see cref="ErrorTagger"/> class.
        /// </summary>
        /// <param name="buffer">The buffer.</param>
        /// <param name="aggregatorFactory">The aggregator factory.</param>
        /// <param name="serviceProvider">The service provider.</param>
        /// <param name="textDocumentFactory">The text document factory.</param>
        internal ErrorTagger(ITextBuffer buffer, IBufferTagAggregatorFactoryService aggregatorFactory, IServiceProvider serviceProvider, ITextDocumentFactoryService textDocumentFactory)
        {
            Buffer = buffer;

            Aggregator = aggregatorFactory.CreateTagAggregator <ProtobufTokenTag>(buffer);

            if (!textDocumentFactory.TryGetTextDocument(Buffer, out Document))
            {
                Document = null;
            }

            ErrorProvider = new ErrorListProvider(serviceProvider);

            ReparseFile(null, EventArgs.Empty);

            BufferIdleEventUtil.AddBufferIdleEventListener(Buffer, ReparseFile);
        }