예제 #1
0
        public static DocumentView GetDocumentView(this TextSnapshotOffset offset)
        {
            var position = offset.ToOffset();
            var document = offset.Snapshot.ToDocument();

            return(new DocumentView(document, position));
        }
예제 #2
0
        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);
        }