private def filterVariableNames()

in scala-repl/src/main/scala/org/jetbrains/ztools/scala/VariablesView.scala [157:175]


  private def filterVariableNames(interpreterVariablesNames: Seq[String]) = {
    val variablesNames = interpreterVariablesNames.seq
      .filter { name => !blackList.contains(name) }
      .filter { name => whiteList == null || whiteList.contains(name) }


    val p = Pattern.compile("res\\d*")
    val (resVariables, otherVariables: immutable.Seq[String]) = variablesNames.partition(x => p.matcher(x).matches())
    val sortedResVariables = resVariables
      .map(res => Try(res.stripPrefix("res").toInt))
      .filter(_.isSuccess)
      .map(_.get)
      .sortWith(_ > _)
      .take(interpreterResCountLimit)
      .map(num => "res" + num)

    val finalNames = otherVariables ++ sortedResVariables
    finalNames
  }