Skip to content

Commit b7d5b14

Browse files
lathapatilmerks
authored andcommitted
Fix Issues introduced by PR eclipse-platform#2051
Fixes eclipse-platform#2600 Review points implementation
1 parent 8bd169c commit b7d5b14

File tree

3 files changed

+6
-17
lines changed

3 files changed

+6
-17
lines changed

Diff for: bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/SurroundWithBracketsStrategy.java

+3-8
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,9 @@ public SurroundWithBracketsStrategy(ISourceViewer sourceViewer) {
3636

3737
@Override
3838
public void customizeDocumentCommand(IDocument document, DocumentCommand command) {
39-
if (bracketsMap.containsKey(command.text)) {
39+
if (command.text != null && bracketsMap.containsKey(command.text)) {
4040
try {
41-
ITextSelection selection= (ITextSelection) sourceViewer.getSelectionProvider().getSelection();
41+
ITextSelection selection= command.fSelection;
4242
if (selection != null && selection.getLength() > 0) {
4343
String selectedText= document.get(selection.getOffset(), selection.getLength());
4444
String closingBracket= bracketsMap.get(command.text);
@@ -51,12 +51,7 @@ public void customizeDocumentCommand(IDocument document, DocumentCommand command
5151
command.shiftsCaret= false;
5252

5353
// Run this in a UI thread asynchronously to ensure the selection is updated correctly
54-
sourceViewer.getTextWidget().getDisplay().asyncExec(new Runnable() {
55-
@Override
56-
public void run() {
57-
sourceViewer.setSelectedRange(command.offset + 1, selectedText.length());
58-
}
59-
});
54+
sourceViewer.getTextWidget().getDisplay().asyncExec(() -> sourceViewer.setSelectedRange(command.offset + 1, selectedText.length()));
6055
}
6156
} catch (BadLocationException e) {
6257
SWT.error(SWT.ERROR_INVALID_ARGUMENT);

Diff for: bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewer.java

+1-8
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
package org.eclipse.jface.text.source;
2020

2121
import java.util.ArrayList;
22-
import java.util.Arrays;
2322
import java.util.Iterator;
2423
import java.util.List;
2524
import java.util.Stack;
@@ -59,7 +58,6 @@
5958
import org.eclipse.jface.text.ITextViewerLifecycle;
6059
import org.eclipse.jface.text.Position;
6160
import org.eclipse.jface.text.Region;
62-
import org.eclipse.jface.text.SurroundWithBracketsStrategy;
6361
import org.eclipse.jface.text.TextViewer;
6462
import org.eclipse.jface.text.codemining.ICodeMiningProvider;
6563
import org.eclipse.jface.text.contentassist.IContentAssistant;
@@ -546,12 +544,7 @@ public void configure(SourceViewerConfiguration configuration) {
546544
String[] types= configuration.getConfiguredContentTypes(this);
547545
for (String t : types) {
548546

549-
IAutoEditStrategy[] autoEditStrategies= configuration.getAutoEditStrategies(this, t);
550-
List<IAutoEditStrategy> autoEditStrategiesList= new ArrayList<>(Arrays.asList(autoEditStrategies));
551-
autoEditStrategiesList.add(new SurroundWithBracketsStrategy(this));
552-
IAutoEditStrategy[] newStrategies= autoEditStrategiesList.toArray(new IAutoEditStrategy[0]);
553-
554-
doSetAutoEditStrategies(newStrategies, t);
547+
doSetAutoEditStrategies(configuration.getAutoEditStrategies(this, t), t);
555548
setTextDoubleClickStrategy(configuration.getDoubleClickStrategy(this, t), t);
556549

557550
int[] stateMasks= configuration.getConfiguredTextHoverStateMasks(this, t);

Diff for: bundles/org.eclipse.jface.text/src/org/eclipse/jface/text/source/SourceViewerConfiguration.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.eclipse.jface.text.ITextHover;
3131
import org.eclipse.jface.text.ITextViewerExtension2;
3232
import org.eclipse.jface.text.IUndoManager;
33+
import org.eclipse.jface.text.SurroundWithBracketsStrategy;
3334
import org.eclipse.jface.text.TextViewerUndoManager;
3435
import org.eclipse.jface.text.codemining.ICodeMiningProvider;
3536
import org.eclipse.jface.text.contentassist.IContentAssistant;
@@ -190,7 +191,7 @@ public org.eclipse.jface.text.IAutoIndentStrategy getAutoIndentStrategy(ISourceV
190191
* @since 3.1
191192
*/
192193
public IAutoEditStrategy[] getAutoEditStrategies(ISourceViewer sourceViewer, String contentType) {
193-
return new IAutoEditStrategy[] { getAutoIndentStrategy(sourceViewer, contentType) };
194+
return new IAutoEditStrategy[] { getAutoIndentStrategy(sourceViewer, contentType), new SurroundWithBracketsStrategy(sourceViewer) };
194195
}
195196

196197
/**

0 commit comments

Comments
 (0)