From 32cf5e5e01429981747bf5f438a9c8a247ff7e30 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 21 Nov 2011 17:40:52 +0100 Subject: [PATCH] skip "one character" step when doing "select word" in a regexp (PY-3581) --- RegExpSupport/src/META-INF/RegExpPlugin.xml | 1 + .../regexp/RegExpWordSelectionFilter.java | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 RegExpSupport/src/org/intellij/lang/regexp/RegExpWordSelectionFilter.java diff --git a/RegExpSupport/src/META-INF/RegExpPlugin.xml b/RegExpSupport/src/META-INF/RegExpPlugin.xml index 54f6f622997a..3c37bbbac875 100644 --- a/RegExpSupport/src/META-INF/RegExpPlugin.xml +++ b/RegExpSupport/src/META-INF/RegExpPlugin.xml @@ -9,5 +9,6 @@ + diff --git a/RegExpSupport/src/org/intellij/lang/regexp/RegExpWordSelectionFilter.java b/RegExpSupport/src/org/intellij/lang/regexp/RegExpWordSelectionFilter.java new file mode 100644 index 000000000000..29ce387b7465 --- /dev/null +++ b/RegExpSupport/src/org/intellij/lang/regexp/RegExpWordSelectionFilter.java @@ -0,0 +1,33 @@ +/* + * Copyright 2000-2011 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.intellij.lang.regexp; + +import com.intellij.openapi.util.Condition; +import com.intellij.psi.PsiElement; +import org.intellij.lang.regexp.psi.RegExpChar; + +/** + * @author yole + */ +public class RegExpWordSelectionFilter implements Condition { + @Override + public boolean value(PsiElement element) { + if (element.getNode().getElementType() == RegExpTT.CHARACTER || element instanceof RegExpChar) { + return false; + } + return true; + } +}