summaryrefslogtreecommitdiff
path: root/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java')
-rw-r--r--platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java22
1 files changed, 10 insertions, 12 deletions
diff --git a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java
index 624d60fd8688..2c152b595421 100644
--- a/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java
+++ b/platform/lang-api/src/com/intellij/codeInsight/completion/CompletionInitializationContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2010 JetBrains s.r.o.
+ * Copyright 2000-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -16,8 +16,8 @@
package com.intellij.codeInsight.completion;
import com.intellij.lang.Language;
+import com.intellij.openapi.editor.Caret;
import com.intellij.openapi.editor.Editor;
-import com.intellij.openapi.editor.SelectionModel;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiFile;
import com.intellij.psi.util.PsiUtilBase;
@@ -45,26 +45,24 @@ public class CompletionInitializationContext {
private final OffsetMap myOffsetMap;
private String myDummyIdentifier = DUMMY_IDENTIFIER;
- public CompletionInitializationContext(final Editor editor, final PsiFile file, final CompletionType completionType, int invocationCount) {
+ public CompletionInitializationContext(final Editor editor, final Caret caret, final PsiFile file, final CompletionType completionType, int invocationCount) {
myEditor = editor;
myFile = file;
myCompletionType = completionType;
myInvocationCount = invocationCount;
myOffsetMap = new OffsetMap(editor.getDocument());
- myOffsetMap.addOffset(START_OFFSET, calcStartOffset(editor));
- myOffsetMap.addOffset(SELECTION_END_OFFSET, calcSelectionEnd(editor));
- myOffsetMap.addOffset(IDENTIFIER_END_OFFSET, calcDefaultIdentifierEnd(editor, calcSelectionEnd(editor)));
+ myOffsetMap.addOffset(START_OFFSET, calcStartOffset(caret));
+ myOffsetMap.addOffset(SELECTION_END_OFFSET, calcSelectionEnd(caret));
+ myOffsetMap.addOffset(IDENTIFIER_END_OFFSET, calcDefaultIdentifierEnd(editor, calcSelectionEnd(caret)));
}
- private static int calcSelectionEnd(Editor editor) {
- final SelectionModel selectionModel = editor.getSelectionModel();
- return selectionModel.hasSelection() ? selectionModel.getSelectionEnd() : editor.getCaretModel().getOffset();
+ private static int calcSelectionEnd(Caret caret) {
+ return caret.hasSelection() ? caret.getSelectionEnd() : caret.getOffset();
}
- public static int calcStartOffset(Editor editor) {
- final SelectionModel selectionModel = editor.getSelectionModel();
- return selectionModel.hasSelection() ? selectionModel.getSelectionStart() : editor.getCaretModel().getOffset();
+ public static int calcStartOffset(Caret caret) {
+ return caret.hasSelection() ? caret.getSelectionStart() : caret.getOffset();
}
static int calcDefaultIdentifierEnd(Editor editor, int startFrom) {