private def settingStringValue()

in extractor-legacy-0.13/src/main/scala/org/jetbrains/sbt/extractors/KeysExtractor.scala [73:83]


  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.trim
    if (trimmed.length > maxValueStringLength)
      trimmed.substring(0, maxValueStringLength - 3) + "..."
    else trimmed
  }