Add ICommitMessageProvider2 for caret positioning in commit messages
commitec811c09c1b533717a6f4fa790585c9a63479a9b
authorStefan Rademacher <stefan.rademacher@tk.de>
Mon, 22 May 2017 06:52:05 +0000 (22 08:52 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Sun, 25 Jun 2017 22:09:35 +0000 (26 00:09 +0200)
tree1072a8ac0e1d4d6ed96cd055367adfc99988de03
parentba2cc369e1c6d3063ca944328848508472f895ca
Add ICommitMessageProvider2 for caret positioning in commit messages

The caret in the CommitMessageComponent is placed according to the
value of getDesiredCaretPosition() of the first implementation of
ICommitMessageProvider2 that provides caret position. In case there
are multiple implementations available that provide a defined caret
position the second and subsequent positions are ignored.

Commit messages are not trimmed anymore to ensure consistency between
a provided message and the provided caret position.

Includes unit and UI tests.

CQ: 13790
Bug: 516867
Change-Id: I1b0ffd33ef37196d53077d09774672c2b033835f
Signed-off-by: Stefan Rademacher <stefan.rademacher@tk.de>
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
19 files changed:
org.eclipse.egit.ui.test/fragment.xml
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/common/StagingViewTester.java
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageBuilderTest.java [new file with mode: 0644]
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentTest.java
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/stagview/AbstractStagingViewTestCase.java [new file with mode: 0644]
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/stagview/CommitMessageProvidersTest.java [new file with mode: 0644]
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/stagview/StagingViewTest.java
org.eclipse.egit.ui.test/src/org/eclipse/egit/ui/test/stagview/TestCommitMessageProviderExtensionFactory.java [new file with mode: 0644]
org.eclipse.egit.ui/schema/commitMessageProvider.exsd
org.eclipse.egit.ui/src/org/eclipse/egit/ui/Activator.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/CommitMessageWithCaretPosition.java [new file with mode: 0644]
org.eclipse.egit.ui/src/org/eclipse/egit/ui/ICommitMessageProvider2.java [new file with mode: 0644]
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/UIText.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageBuilder.java [new file with mode: 0644]
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponent.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentState.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitMessageComponentStateManager.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/uitext.properties