public TagComputer( ITextBuffer subjectBuffer, IForegroundNotificationService notificationService, IAsynchronousOperationListener asyncListener, ClassificationTypeMap typeMap, SyntacticClassificationTaggerProvider taggerProvider, IViewSupportsClassificationService viewSupportsClassificationServiceOpt, ITextBufferAssociatedViewService associatedViewService, IEditorClassificationService editorClassificationService, string languageName) { _subjectBuffer = subjectBuffer; _notificationService = notificationService; _listener = asyncListener; _typeMap = typeMap; _taggerProvider = taggerProvider; _viewSupportsClassificationServiceOpt = viewSupportsClassificationServiceOpt; _associatedViewService = associatedViewService; _editorClassificationService = editorClassificationService; _languageName = languageName; _workQueue = new AsynchronousSerialWorkQueue(asyncListener); _reportChangeCancellationSource = new CancellationTokenSource(); _lastLineCache = new LastLineCache(); _workspaceRegistration = Workspace.GetWorkspaceRegistration(subjectBuffer.AsTextContainer()); _workspaceRegistration.WorkspaceChanged += OnWorkspaceRegistrationChanged; ConnectToWorkspace(_workspaceRegistration.Workspace); }
public SyntacticClassificationTaggerProvider( IForegroundNotificationService notificationService, ClassificationTypeMap typeMap, [Import(AllowDefault = true)] IViewSupportsClassificationService viewSupportsClassificationServiceOpt, ITextBufferAssociatedViewService associatedViewService, [ImportMany] IEnumerable <Lazy <ILanguageService, LanguageServiceMetadata> > allLanguageServices, [ImportMany] IEnumerable <Lazy <ILanguageService, ContentTypeLanguageMetadata> > contentTypes, [ImportMany] IEnumerable <Lazy <IAsynchronousOperationListener, FeatureMetadata> > asyncListeners) { _notificationService = notificationService; _typeMap = typeMap; _viewSupportsClassificationServiceOpt = viewSupportsClassificationServiceOpt; _associatedViewService = associatedViewService; _editorClassificationLanguageServices = allLanguageServices.Where(s => s.Metadata.ServiceType == typeof(IEditorClassificationService).AssemblyQualifiedName); _contentTypesToLanguageNames = contentTypes.Where(x => x.Metadata.DefaultContentType != null); _asyncListeners = asyncListeners; }