def parseRepoConfig()

in modules/core/src/main/scala/org/scalasteward/core/repoconfig/RepoConfigAlg.scala [80:105]


  def parseRepoConfig(input: String): Either[io.circe.Error, RepoConfig] =
    parser.decode[RepoConfig](input)

  private val repoConfigFileSearchPath: List[List[String]] =
    List(List.empty, List(".github"), List(".config"))

  private def activeConfigFile[F[_]](
      repoDir: File
  )(implicit fileAlg: FileAlg[F], logger: Logger[F], F: Monad[F]): F[Option[File]] = {
    val configFileCandidates: F[List[File]] = (repoConfigFileSearchPath
      .map(_ :+ repoConfigBasename) ++
      repoConfigFileSearchPath
        .map(_ :+ repoConfigBasename.substring(1)))
      .map(path => path.foldLeft(repoDir)(_ / _))
      .filterA(fileAlg.isRegularFile)

    configFileCandidates.flatMap {
      case Nil => F.pure(None)
      case active :: remaining =>
        F.pure(active.some)
          .productL(
            remaining
              .traverse_(file => logger.warn(s"""Ignored config file "${file.pathAsString}""""))
          )
    }
  }