summaryrefslogtreecommitdiff
path: root/src/interactive
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-09-09 21:45:04 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-09-10 11:46:36 +1000
commitb89874b7c0bb9ad8e2276b652580f3aaf3e5c621 (patch)
treef3b1705209df7d0322b622ba740a6533de48d54c /src/interactive
parent46211ddd07432f06d125d9926cd8b42bc7bfba40 (diff)
downloadscala-b89874b7c0bb9ad8e2276b652580f3aaf3e5c621.tar.gz
scala-b89874b7c0bb9ad8e2276b652580f3aaf3e5c621.tar.bz2
scala-b89874b7c0bb9ad8e2276b652580f3aaf3e5c621.zip
Fix REPL completion of symbolic identifiers
Recover part of the identifier that preceded the cursor from the source, rather than from the name in the `Select` node, which might contains an encoded name that differs in length from the one in source.
Diffstat (limited to 'src/interactive')
-rw-r--r--src/interactive/scala/tools/nsc/interactive/Global.scala3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/interactive/scala/tools/nsc/interactive/Global.scala b/src/interactive/scala/tools/nsc/interactive/Global.scala
index d6be6331ce..cc4b845b2c 100644
--- a/src/interactive/scala/tools/nsc/interactive/Global.scala
+++ b/src/interactive/scala/tools/nsc/interactive/Global.scala
@@ -1223,9 +1223,8 @@ class Global(settings: Settings, _reporter: Reporter, projectName: String = "")
def typeCompletions(tree: Tree, qual: Tree, nameStart: Int, name: Name): CompletionResult = {
val qualPos = qual.pos
val allTypeMembers = typeMembers(qualPos).toList.flatten
-
val positionDelta: Int = nameStart - pos.start
- val subName = name.subName(0, -positionDelta)
+ val subName: Name = name.newName(new String(pos.source.content, nameStart, pos.start - nameStart)).encodedName
CompletionResult.TypeMembers(positionDelta, qual, tree, allTypeMembers, subName)
}
focus1 match {