summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java')
-rw-r--r--platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java b/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java
index d0288d71a9a2..da44ae6c123c 100644
--- a/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java
+++ b/platform/lang-impl/src/com/intellij/injected/editor/CaretModelWindow.java
@@ -212,13 +212,24 @@ public class CaretModelWindow implements CaretModel {
@Override
public void setCaretsAndSelections(@NotNull List<CaretState> caretStates) {
+ List<CaretState> convertedStates = convertCaretStates(caretStates);
+ myDelegate.setCaretsAndSelections(convertedStates);
+ }
+
+ @Override
+ public void setCaretsAndSelections(@NotNull List<CaretState> caretStates, boolean updateSystemSelection) {
+ List<CaretState> convertedStates = convertCaretStates(caretStates);
+ myDelegate.setCaretsAndSelections(convertedStates, updateSystemSelection);
+ }
+
+ private List<CaretState> convertCaretStates(List<CaretState> caretStates) {
List<CaretState> convertedStates = new ArrayList<CaretState>(caretStates.size());
for (CaretState state : caretStates) {
convertedStates.add(new CaretState(injectedToHost(state.getCaretPosition()),
injectedToHost(state.getSelectionStart()),
injectedToHost(state.getSelectionEnd())));
}
- myDelegate.setCaretsAndSelections(convertedStates);
+ return convertedStates;
}
private LogicalPosition injectedToHost(@Nullable LogicalPosition position) {