diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-09-09 21:45:04 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-09-10 11:46:36 +1000 |
commit | b89874b7c0bb9ad8e2276b652580f3aaf3e5c621 (patch) | |
tree | f3b1705209df7d0322b622ba740a6533de48d54c /src/interactive/scala/tools/nsc | |
parent | 46211ddd07432f06d125d9926cd8b42bc7bfba40 (diff) | |
download | scala-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/scala/tools/nsc')
-rw-r--r-- | src/interactive/scala/tools/nsc/interactive/Global.scala | 3 |
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 { |