IDEADEV-40651:'Select word' (ctrl+w) should select closure content at one of steps
authorMaxim Medvedev <maxim.medvedev@jetbrains.com>
Mon, 28 Dec 2009 16:22:20 +0000 (19:22 +0300)
committerMaxim Medvedev <maxim.medvedev@jetbrains.com>
Mon, 28 Dec 2009 16:22:20 +0000 (19:22 +0300)
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyBlockStatementsSelectioner.java
plugins/groovy/src/org/jetbrains/plugins/groovy/editor/selection/GroovyGStringSelectioner.java

index 50f9789fc00fc9986f3a623b288b3f470c6280eb..0ad71eca17f463eeeb924ba24ec4c9f7ecef4eb0 100644 (file)
@@ -19,9 +19,8 @@ package org.jetbrains.plugins.groovy.editor.selection;
 import com.intellij.openapi.editor.Editor;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.psi.PsiElement;
-import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrBlockStatement;
 import org.jetbrains.plugins.groovy.lang.psi.api.statements.GrStatement;
-import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrOpenBlock;
+import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrCodeBlock;
 
 import java.util.List;
 
@@ -31,14 +30,14 @@ import java.util.List;
 public class GroovyBlockStatementsSelectioner extends GroovyBasicSelectioner {
 
   public boolean canSelect(PsiElement e) {
-    return e instanceof GrOpenBlock;
+    return e instanceof GrCodeBlock;
   }
 
   public List<TextRange> select(PsiElement e, CharSequence editorText, int cursorOffset, Editor editor) {
     List<TextRange> result = super.select(e, editorText, cursorOffset, editor);
 
-    if (e instanceof GrOpenBlock) {
-      GrOpenBlock block = ((GrOpenBlock) e);
+    if (e instanceof GrCodeBlock) {
+      GrCodeBlock block = ((GrCodeBlock) e);
       GrStatement[] statements = block.getStatements();
 
       if (statements.length > 0) {
index 982fc134e54aab00a45ddf507f8ad1da07b9dc4f..d8d2f3cab19852aeef772e09c3fe3a4d4d900266 100644 (file)
@@ -21,8 +21,6 @@ import com.intellij.openapi.editor.Editor;
 import com.intellij.openapi.util.TextRange;
 import com.intellij.psi.PsiElement;
 import com.intellij.psi.tree.IElementType;
-import static org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes.*;
-import org.jetbrains.plugins.groovy.lang.psi.api.statements.blocks.GrClosableBlock;
 import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.GrReferenceExpression;
 import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrString;
 import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals.GrStringInjection;
@@ -30,15 +28,14 @@ import org.jetbrains.plugins.groovy.lang.psi.api.statements.expressions.literals
 import java.util.ArrayList;
 import java.util.List;
 
+import static org.jetbrains.plugins.groovy.lang.lexer.GroovyTokenTypes.*;
+
 /**
  * @author Maxim.Medvedev
  */
 public class GroovyGStringSelectioner extends GroovyBasicSelectioner {
   public boolean canSelect(PsiElement e) {
     PsiElement parent = e.getParent();
-    if (parent instanceof GrClosableBlock || parent instanceof GrReferenceExpression) {
-      parent = parent.getParent();
-    }
     return parent instanceof GrStringInjection || parent instanceof GrString;
   }
 
@@ -46,13 +43,6 @@ public class GroovyGStringSelectioner extends GroovyBasicSelectioner {
   public List<TextRange> select(PsiElement e, CharSequence editorText, int cursorOffset, Editor editor) {
     List<TextRange> ranges = new ArrayList<TextRange>();
     PsiElement parent = e.getParent();
-    if (parent instanceof GrReferenceExpression) {
-      e = parent;
-      parent = e.getParent();
-    }
-    if (parent instanceof GrClosableBlock) {
-      parent = parent.getParent();
-    }
 
     if (parent instanceof GrString) {
       final TextRange selection =