in extractor/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala [74:84]
private def settingStringValue(extracted: Extracted, key: AttributeKey[_]) = for {
value <- extracted.getOpt(SettingKey(key))
// only get a display string if it has a chance of being meaningful to the user, ie is redefined
if value != null && (value.getClass.getMethod("toString").getDeclaringClass ne classOf[Any])
stringValue <- Option(value.toString) // some zany settings might return a null toString
} yield {
val trimmed = stringValue.toString.trim
if (trimmed.length > maxValueStringLength)
trimmed.substring(0, maxValueStringLength - 3) + "..."
else trimmed
}