From 93a8b7dd218acaa591e3e6b2bc5ea45c0c512bee Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Fri, 14 Oct 2016 17:56:31 +0300 Subject: [PATCH] vcs: allow to get total line number in up-to-date revision --- .../openapi/localVcs/UpToDateLineNumberProvider.java | 1 + .../openapi/vcs/actions/AnnotateDiffViewerAction.java | 5 +++++ .../openapi/vcs/impl/UpToDateLineNumberProviderImpl.java | 9 +++++++++ 3 files changed, 15 insertions(+) diff --git a/platform/vcs-api/src/com/intellij/openapi/localVcs/UpToDateLineNumberProvider.java b/platform/vcs-api/src/com/intellij/openapi/localVcs/UpToDateLineNumberProvider.java index a10f34645ab6..e367ad0ecf7b 100644 --- a/platform/vcs-api/src/com/intellij/openapi/localVcs/UpToDateLineNumberProvider.java +++ b/platform/vcs-api/src/com/intellij/openapi/localVcs/UpToDateLineNumberProvider.java @@ -19,6 +19,7 @@ public interface UpToDateLineNumberProvider { int ABSENT_LINE_NUMBER = -1; int FAKE_LINE_NUMBER = -2; + int getLineCount(); int getLineNumber(int currentNumber); boolean isLineChanged(int currentNumber); boolean isRangeChanged(final int start, final int end); diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java index c172a7dca544..9768edae6d92 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/AnnotateDiffViewerAction.java @@ -515,6 +515,11 @@ public class AnnotateDiffViewerAction extends ToggleAction implements DumbAware } return myLocalChangesProvider.isRangeChanged(line1, line2); } + + @Override + public int getLineCount() { + return myLocalChangesProvider.getLineCount(); + } } private static class ThreesideAnnotatorFactory extends ThreesideViewerAnnotatorFactory { diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/UpToDateLineNumberProviderImpl.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/UpToDateLineNumberProviderImpl.java index 921d6432da7c..a53fa7a1019c 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/UpToDateLineNumberProviderImpl.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/impl/UpToDateLineNumberProviderImpl.java @@ -58,4 +58,13 @@ public class UpToDateLineNumberProviderImpl implements UpToDateLineNumberProvide } return tracker.transferLineToVcs(currentNumber, false); } + + @Override + public int getLineCount() { + LineStatusTracker tracker = myLineStatusTrackerManagerI.getLineStatusTracker(myDocument); + if (tracker == null || !tracker.isOperational()) { + return myDocument.getLineCount(); + } + return tracker.getVcsDocument().getLineCount(); + } }