Skip to content

Commit 33fd418

Browse files
committed
Use color REPL after writing a def
1 parent 8a560a2 commit 33fd418

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

src/repl/scala/tools/nsc/interpreter/MemberHandlers.scala

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ trait MemberHandlers {
102102

103103
class GenericHandler(member: Tree) extends MemberHandler(member)
104104

105+
import scala.io.AnsiColor.{ BOLD, BLUE, GREEN, RESET }
106+
107+
def color(c: String, s: String) =
108+
if (replProps.colorOk) string2code(BOLD) + string2code(c) + s + string2code(RESET)
109+
else s
110+
111+
def colorName(s: String) =
112+
color(BLUE, string2code(s))
113+
114+
def colorType(s: String) =
115+
color(GREEN, string2code(s))
116+
105117
class ValHandler(member: ValDef) extends MemberDefHandler(member) {
106118
val maxStringElements = 1000 // no need to mkString billions of elements
107119
override def definesValue = true
@@ -119,23 +131,20 @@ trait MemberHandlers {
119131
if (replProps.vids) s"""" + f"@$${System.identityHashCode($path)}%8x" + """"
120132
else ""
121133

122-
import scala.io.AnsiColor.{ BOLD, BLUE, GREEN, RESET }
123-
124-
def color(c: String, s: String) =
125-
if (replProps.colorOk) string2code(BOLD) + string2code(c) + s + string2code(RESET)
126-
else s
127-
128-
val nameString = color(BLUE, string2code(prettyName)) + vidString
129-
val typeString = color(GREEN, string2code(req typeOf name))
134+
val nameString = colorName(prettyName) + vidString
135+
val typeString = colorType(req typeOf name)
130136
s""" + "$nameString: $typeString = " + $resultString"""
131137
}
132138
}
133139
}
134140

135141
class DefHandler(member: DefDef) extends MemberDefHandler(member) {
136142
override def definesValue = flattensToEmpty(member.vparamss) // true if 0-arity
137-
override def resultExtractionCode(req: Request) =
138-
if (mods.isPublic) codegenln(name, ": ", req.typeOf(name)) else ""
143+
override def resultExtractionCode(req: Request) = {
144+
val nameString = colorName(name)
145+
val typeString = colorType(req typeOf name)
146+
if (mods.isPublic) s""" + "$nameString: $typeString\\n"""" else ""
147+
}
139148
}
140149

141150
abstract class MacroHandler(member: DefDef) extends MemberDefHandler(member) {

0 commit comments

Comments
 (0)