package cn.yiiguxing.plugin.translate.compat;
import com.intellij.codeInsight.editorActions.SelectWordUtil;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.util.TextRange;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@SuppressWarnings("SpellCheckingInspection")
public final class SelectWordUtilCompat {
private SelectWordUtilCompat() {
}
public static final SelectWordUtil.CharCondition DEFAULT_CONDITION = SelectWordUtil.JAVA_IDENTIFIER_PART_CONDITION;
public static final SelectWordUtil.CharCondition HANZI_CONDITION = new SelectWordUtil.CharCondition() {
public boolean value(char ch) {
return ch >= '\u4E00' && ch <= '\u9FBF';
}
};
public static void addWordOrLexemeSelection(boolean camel,
@NotNull Editor editor,
int cursorOffset,
@NotNull List<TextRange> ranges,
@NotNull SelectWordUtil.CharCondition isWordPartCondition) {
if (IdeaCompat.BUILD_NUMBER >= IdeaCompat.Version.IDEA2016_2) {
SelectWordUtil.addWordOrLexemeSelection(camel, editor, cursorOffset, ranges, isWordPartCondition);
} else {
CharSequence editorText = editor.getDocument().getImmutableCharSequence();
SelectWordUtil.addWordSelection(camel, editorText, cursorOffset, ranges, isWordPartCondition);
}
}
}