コード例 #1
0
ファイル: Extensions.cs プロジェクト: vvmk/VsVim
        public static TextSpan ToTextSpan(this SnapshotSpan span)
        {
            var start  = SnapshotPointUtil.GetLineNumberAndOffset(span.Start);
            var option = SnapshotSpanUtil.GetLastIncludedPoint(span);
            var end    = option.IsSome()
                ? SnapshotPointUtil.GetLineNumberAndOffset(option.Value)
                : start;

            return(new TextSpan
            {
                iStartLine = start.Item1,
                iStartIndex = start.Item2,
                iEndLine = end.Item1,
                iEndIndex = end.Item2
            });
        }
コード例 #2
0
ファイル: TextManager.cs プロジェクト: vvmk/VsVim
        internal bool NavigateTo(VirtualSnapshotPoint point)
        {
            var tuple    = SnapshotPointUtil.GetLineNumberAndOffset(point.Position);
            var line     = tuple.Item1;
            var column   = tuple.Item2;
            var vsBuffer = _vsAdapter.EditorAdapter.GetBufferAdapter(point.Position.Snapshot.TextBuffer);
            var viewGuid = VSConstants.LOGVIEWID_Code;
            var hr       = _textManager.NavigateToLineAndColumn(
                vsBuffer,
                ref viewGuid,
                line,
                column,
                line,
                column);

            return(ErrorHandler.Succeeded(hr));
        }
コード例 #3
0
        public bool NavigateTo(VirtualSnapshotPoint point)
        {
            var tuple    = SnapshotPointUtil.GetLineNumberAndOffset(point.Position);
            var line     = tuple.Item1;
            var column   = tuple.Item2;
            var buffer   = point.Position.Snapshot.TextBuffer;
            var fileName = GetName(buffer);

            try
            {
                IdeApp.Workbench.OpenDocument(fileName, null, line, column).Wait(System.Threading.CancellationToken.None);
                return(true);
            }
            catch
            {
                return(false);
            }
        }