public ITagger <T> CreateTagger <T>(ITextBuffer buffer) where T : ITag { var classifier = VsServiceManager.GetScriptColorizer(buffer) ?? ClassifierAggregatorService.GetClassifier(buffer); return(buffer.Properties.GetOrCreateSingletonProperty( () => new OutliningTagger(buffer, classifier)) as ITagger <T>); }
public ScriptCompletionReplacementSource(ITextBuffer textBuffer) { _textBuffer = textBuffer; if (textBuffer.ContentType.TypeName.Equals("HTML", StringComparison.OrdinalIgnoreCase)) { _lbm = VsServiceManager.GetLanguageBlockManager(textBuffer); } }
public ITagger <T> CreateTagger <T>(ITextView textView, ITextBuffer buffer) where T : ITag { var textStructureNavigator = TextStructureNavigatorSelector.GetTextStructureNavigator(textView.TextBuffer); var classifier = VsServiceManager.GetScriptColorizer(buffer) ?? ClassifierAggregatorService.GetClassifier(buffer); return(new HighlightWordTagger(textView, buffer, TextSearchService, textStructureNavigator, classifier) as ITagger <T>); }
public static VsServiceManager Setup(VsAppShell instance) { var serviceManager = new VsServiceManager(instance); var catalog = VsTestCompositionCatalog.Current; var batch = new CompositionBatch().AddValue <ICoreShell>(instance); VsTestCompositionCatalog.Current.Container.Compose(batch); serviceManager.CompositionService = catalog.CompositionService; serviceManager.ExportProvider = catalog.ExportProvider; serviceManager // ICoreShell .AddService(instance) // MEF .AddService(catalog) .AddService(catalog.CompositionService) .AddService(catalog.ExportProvider) // IMainThread and basic services .AddService(UIThreadHelper.Instance.MainThread) .AddService(Substitute.For <IActionLog>()) .AddService(Substitute.For <IIdleTimeService>()) .AddService(new VsApplicationMock()) .AddService(new SecurityServiceStub()) .AddService(new MaxLoggingPermissions()) .AddService(new WindowsFileSystem()) .AddService <IOutputService, TestOutputService>() .AddService(new RegistryImpl()) .AddService(new ProcessServices()) .AddService(new TestUIServices(UIThreadHelper.Instance.ProgressDialog)) .AddService(UIThreadHelper.Instance.TaskService) .AddService(new TestPlatformServices()) .AddService(new RSettingsStub()) .AddService(new REditorSettings(new TestSettingsStorage())) .AddService(new TestImageService()) .AddService(new VsEditorSupport(serviceManager)) .AddRComponentsServices() .AddWindowsRInterpretersServices() .AddWindowsHostClientServices() .AddWindowsRComponentsServices() // OLE and VS specifics .AddService(new TestStatusBar()) .AddService(new VsRegisterProjectGeneratorsMock(), typeof(SVsRegisterProjectTypes)) .AddService(VsRegisterEditorsMock.Create(), typeof(SVsRegisterEditors)) .AddService(new MenuCommandServiceMock(), typeof(IMenuCommandService)) .AddService(new ComponentModelMock(VsTestCompositionCatalog.Current), typeof(SComponentModel)) .AddService(new TextManagerMock(), typeof(SVsTextManager)) .AddService(VsImageServiceMock.Create(), typeof(SVsImageService)) .AddService(new VsUiShellMock(), typeof(SVsUIShell)) .AddService(OleComponentManagerMock.Create(), typeof(SOleComponentManager)) .AddService(VsSettingsManagerMock.Create(), typeof(SVsSettingsManager)) .AddService(new UIHostLocaleMock(), typeof(SUIHostLocale)); return(serviceManager); }
public ITagger <T> CreateTagger <T>(ITextView textView, ITextBuffer buffer) where T : ITag { if (textView == null) { return(null); } var classifier = VsServiceManager.GetScriptColorizer(buffer) ?? ClassifierAggregatorService.GetClassifier(buffer); return(new JScriptBraceMatchingTagger(textView, buffer, classifier) as ITagger <T>); }
public ScriptCompletionWatcher(IWpfTextView view, ICompletionBroker broker) { _textView = view; _broker = broker; var htmlBuffers = view.BufferGraph.GetTextBuffers(tb => tb.ContentType.TypeName.Equals("HTML", StringComparison.OrdinalIgnoreCase)); if (htmlBuffers.Any()) { _lbm = VsServiceManager.GetLanguageBlockManager(htmlBuffers.First()); } }
internal JScriptBraceMatchingTagger(ITextView view, ITextBuffer sourceBuffer, IClassifier classifier) { _view = view; _sourceBuffer = sourceBuffer; _currentCharPoint = null; _classifier = classifier; _view.TextBuffer.Changed += TextBuffer_Changed; _view.Caret.PositionChanged += Caret_PositionChanged; if (sourceBuffer.ContentType.TypeName.Equals("HTML", StringComparison.OrdinalIgnoreCase)) { _lbm = VsServiceManager.GetLanguageBlockManager(_sourceBuffer); } }
public OutliningTagger(ITextBuffer buffer, IClassifier classifier) { _buffer = buffer; _classifier = classifier; _sections = new List <ITrackingSpan>(); if (buffer.ContentType.TypeName.Equals("HTML", StringComparison.OrdinalIgnoreCase)) { _lbm = VsServiceManager.GetLanguageBlockManager(buffer); } _timer = new DispatcherTimer(DispatcherPriority.ApplicationIdle); _timer.Interval = TimeSpan.FromMilliseconds(3000); // We'll force a reparse after 3 secs of no buffer changes _timer.Tick += (sender, args) => { Debug.WriteLine("OutliningTagger: _timer.Tick fired"); _timer.Stop(); ReparseFile(); }; buffer.Changed += BufferChanged; ReparseFile(); // Force an initial full parse _timer.Start(); }