コード例 #1
0
        static NavigationPoint GetNavPointForDoc(Document doc)
        {
            if (doc == null)
            {
                return(null);
            }

            NavigationPoint point = null;

            INavigable navigable = doc.GetContent <INavigable> ();

            if (navigable != null)
            {
                point = navigable.BuildNavigationPoint();
                if (point != null)
                {
                    return(point);
                }
            }

            IEditableTextBuffer editBuf = doc.GetContent <IEditableTextBuffer> ();

            if (editBuf != null)
            {
                point = new TextFileNavigationPoint(doc, editBuf);
                if (point != null)
                {
                    return(point);
                }
            }

            return(new DocumentNavigationPoint(doc));
        }
コード例 #2
0
        NavigationPoint GetNavPointForDoc(Document doc, bool forClosedHistory)
        {
            if (doc == null)
            {
                return(null);
            }

            NavigationPoint point = null;

            INavigable navigable = doc.GetContent <INavigable> (true);

            if (navigable != null)
            {
                point = navigable.BuildNavigationPoint();
                if (point != null)
                {
                    return(point);
                }
            }

                        #pragma warning disable CS0618, CS0612 // Type or member is obsolete
            var editBuf = doc.Editor;
            if (editBuf != null)
            {
                if (forClosedHistory)
                {
                    point = new TextFileNavigationPoint(doc.FileName, editBuf.CaretLine, editBuf.CaretColumn);
                }
                else
                {
                    point = new TextFileNavigationPoint(doc, editBuf);
                }
                if (point != null)
                {
                    return(point);
                }
            }
                        #pragma warning restore CS0618, CS0612 // Type or member is obsolete

            return(new DocumentNavigationPoint(doc));
        }
コード例 #3
0
        NavigationPoint GetNavPointForDoc(Document doc, bool forClosedHistory)
        {
            if (doc == null)
            {
                return(null);
            }

            NavigationPoint point = null;

            INavigable navigable = doc.GetContent <INavigable> (true);

            if (navigable != null)
            {
                point = navigable.BuildNavigationPoint();
                if (point != null)
                {
                    return(point);
                }
            }

            if (doc.GetContent <ITextView> (forActiveView: true) is ITextView textView)
            {
                if (forClosedHistory)
                {
                    var caretPosition = textView.Caret.Position.BufferPosition;
                    var line          = textView.TextBuffer.CurrentSnapshot.GetLineFromPosition(caretPosition);
                    var column        = caretPosition.Position - line.Start.Position;
                    point = new TextFileNavigationPoint(doc.FileName, line.LineNumber, column);
                }
                else
                {
                    point = new TextFileNavigationPoint(doc, textView);
                }
                if (point != null)
                {
                    return(point);
                }
            }

            return(new DocumentNavigationPoint(doc));
        }
コード例 #4
0
        static NavigationPoint GetNavPointForDoc(Document doc, bool forClosedHistory)
        {
            if (doc == null)
            {
                return(null);
            }

            NavigationPoint point = null;

            INavigable navigable = doc.GetContent <INavigable> ();

            if (navigable != null)
            {
                point = navigable.BuildNavigationPoint();
                if (point != null)
                {
                    return(point);
                }
            }

            var editBuf = doc.Editor;

            if (editBuf != null)
            {
                if (forClosedHistory)
                {
                    point = new TextFileNavigationPoint(doc.FileName, editBuf.CaretLine, editBuf.CaretColumn);
                }
                else
                {
                    point = new TextFileNavigationPoint(doc, editBuf);
                }
                if (point != null)
                {
                    return(point);
                }
            }

            return(new DocumentNavigationPoint(doc));
        }