public ITagger <T> CreateTagger <T>(ITextBuffer buffer) where T : ITag { var dte = (DTE)ServiceProvider.GetService(typeof(DTE)); ClangServices.Initialize(dte); Func <ITagger <T> > taggerFunc = () => new DiagnosticTagger(dte, buffer) as ITagger <T>; return(buffer.Properties.GetOrCreateSingletonProperty <ITagger <T> >(taggerFunc)); }
public IClassifier GetClassifier(ITextBuffer textBuffer) { var dte = (DTE)ServiceProvider.GetService(typeof(DTE)); ClangServices.Initialize(dte); Func <IClassifier> preprocessorClassifierFunc = () => new PreprocessorClassifier(dte, textBuffer, classificationTypeRegistry) as IClassifier; return(textBuffer.Properties.GetOrCreateSingletonProperty <IClassifier>(preprocessorClassifierFunc)); }
public static void Initialize(IServiceProvider serviceProvider, DTE dte) { ErrorList.Initialize(serviceProvider, dte); ClangServices.Initialize(dte); DiagnosticsBlacklist.Initialize(); }