private def transformSettings()

in extractor/src/main/scala/org/jetbrains/sbt/operations.scala [23:48]


  private def transformSettings(thisScope: Scope, uri: URI, rootProject: URI => String, settings: Seq[Setting[_]]): Seq[Setting[_]] =
    Project.transform(Scope.resolveScope(thisScope, uri, rootProject), settings.toSbtSeqType)

  // copied from sbt.internal.SessionSettings
  private def reapply(session: SessionSettings, s: State): State =
    BuiltinCommands.reapply(session, Project.structure(s), s)

  def structure(state: State): BuildStructure =
    sbt.Project.structure(state)

  implicit final class SettingKeyOps[T](key: SettingKey[T]) {
    def find(state: State): Option[T] =
      key.get(structure(state).data)

    def get(state: State): T =
      find(state).get

    def getValueOrElse(state: State, default: => T): T =
      find(state).getOrElse(default)

    def forAllProjects(state: State, projects: Seq[ProjectRef]): Seq[(ProjectRef, T)] =
      projects.flatMap(p => (p / key).find(state).map(it => (p, it)))

    def forAllConfigurations(state: State, configurations: Seq[sbt.Configuration]): Seq[(sbt.Configuration, T)] =
      configurations.flatMap(c => (c / key).get(structure(state).data).map(it => (c, it)))
  }