admit that the caret may move whenever it likes during completion

This commit is contained in:
peter
2011-04-21 15:10:29 +02:00
parent ccf0506983
commit 4160cdbc15
@@ -593,10 +593,6 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement
}
public void addWatchedPrefix(int startOffset, ElementPattern<String> restartCondition) {
int caret = myEditor.getCaretModel().getOffset();
if (caret < startOffset) {
LOG.error("caret=" + caret + "; start=" + startOffset);
}
myRestartingPrefixConditions.add(Pair.create(startOffset, restartCondition));
}
@@ -605,14 +601,13 @@ public class CompletionProgressIndicator extends ProgressIndicatorBase implement
final int caretOffset = myEditor.getCaretModel().getOffset();
for (Pair<Integer, ElementPattern<String>> pair : myRestartingPrefixConditions) {
int start = pair.first;
if (caretOffset < start) {
LOG.error("caret=" + caretOffset + "; start=" + start + "; phase=" + CompletionServiceImpl.getPhaseRaw() + "; running=" + isRunning() + "; canceled=" + isCanceled());
}
final String newPrefix = text.subSequence(start, caretOffset).toString();
if (pair.second.accepts(newPrefix)) {
scheduleRestart();
myRestartingPrefixConditions.clear();
return;
if (caretOffset >= start) {
final String newPrefix = text.subSequence(start, caretOffset).toString();
if (pair.second.accepts(newPrefix)) {
scheduleRestart();
myRestartingPrefixConditions.clear();
return;
}
}
}