private List <TagSpan <IOutliningRegionTag> > GetOutlineSpans(ITextSnapshot textSnapshot) { try { var docs = textSnapshot.GetRelatedDocumentsWithChanges(); var doc = docs.First(); var tree = doc.GetSyntaxTreeAsync(_cancellationTokenSource.Token).Result; var walker = new SytaxWalkerForOutlining(textSnapshot, _ideServices, _cancellationTokenSource.Token); walker.Visit(tree.GetRoot()); return(walker.OutlineSpans); } catch (OperationCanceledException) { return(new List <TagSpan <IOutliningRegionTag> >()); } }