diff --git a/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinListSelectioner.kt b/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinListSelectioner.kt
index 75c0d09dae4..06b41f15c26 100644
--- a/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinListSelectioner.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/editor/wordSelection/KotlinListSelectioner.kt
@@ -39,6 +39,11 @@ public class KotlinListSelectioner : ExtendWordSelectionHandlerBase() {
val node = e.getNode()!!
val startNode = node.findChildByType(TokenSet.create(JetTokens.LPAR, JetTokens.LT)) ?: return null
val endNode = node.findChildByType(TokenSet.create(JetTokens.RPAR, JetTokens.GT)) ?: return null
- return listOf(TextRange(startNode.getStartOffset() + 1, endNode.getStartOffset()))
+ val innerRange = TextRange(startNode.getStartOffset() + 1, endNode.getStartOffset())
+ if (e is JetTypeArgumentList || e is JetTypeParameterList) {
+ return listOf(innerRange,
+ TextRange(startNode.getStartOffset(), endNode.getStartOffset() + endNode.getTextLength()))
+ }
+ return listOf(innerRange)
}
}
diff --git a/idea/testData/wordSelection/TypeArguments/2.kt b/idea/testData/wordSelection/TypeArguments/2.kt
index 97b3e533098..ea163a40a16 100644
--- a/idea/testData/wordSelection/TypeArguments/2.kt
+++ b/idea/testData/wordSelection/TypeArguments/2.kt
@@ -1,3 +1,3 @@
fun foo() {
- foont, B>()
+ foont, B>()
}
diff --git a/idea/testData/wordSelection/TypeArguments/3.kt b/idea/testData/wordSelection/TypeArguments/3.kt
new file mode 100644
index 00000000000..97b3e533098
--- /dev/null
+++ b/idea/testData/wordSelection/TypeArguments/3.kt
@@ -0,0 +1,3 @@
+fun foo() {
+ foont, B>()
+}
diff --git a/idea/testData/wordSelection/TypeParameters/2.kt b/idea/testData/wordSelection/TypeParameters/2.kt
index a2cb2140ada..15e16f7a2ae 100644
--- a/idea/testData/wordSelection/TypeParameters/2.kt
+++ b/idea/testData/wordSelection/TypeParameters/2.kt
@@ -1,3 +1,2 @@
-fun B> foo() {
+fun B> foo() {
}
-
\ No newline at end of file
diff --git a/idea/testData/wordSelection/TypeParameters/3.kt b/idea/testData/wordSelection/TypeParameters/3.kt
new file mode 100644
index 00000000000..a2cb2140ada
--- /dev/null
+++ b/idea/testData/wordSelection/TypeParameters/3.kt
@@ -0,0 +1,3 @@
+fun B> foo() {
+}
+
\ No newline at end of file