public static DocumentView GetDocumentView(this TextSnapshotOffset offset) { var position = offset.ToOffset(); var document = offset.Snapshot.ToDocument(); return(new DocumentView(document, position)); }
public static TextSpan ToTextSpan(this TextSnapshotRange range) { var startOffset = new TextSnapshotOffset(range.Snapshot, range.StartOffset); var endOffset = new TextSnapshotOffset(range.Snapshot, range.EndOffset); var start = startOffset.ToOffset(); var end = endOffset.ToOffset(); return(TextSpan.FromBounds(start, end)); }
public override object GetContext(IEditorView view, int offset) { var documentView = view.SyntaxEditor.GetDocumentView(); var document = documentView.Document; SemanticModel semanticModel; if (!document.TryGetSemanticModel(out semanticModel)) { return(null); } var snapshot = document.Text.ToTextSnapshot(); var snapshotOffset = new TextSnapshotOffset(snapshot, offset); var position = snapshotOffset.ToOffset(); var model = semanticModel.GetQuickInfoModel(position, Providers); return(model); }