Repository: apple/pkl
File: pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli/commands/BaseOptions.kt (Kotlin)

Code before:
      .choice(*output)
      .single()

  val envVars: Map<String, String> by
    option(
        names = arrayOf("-e", "--env-var"),
        metavar = "name=value",
        help = "Environment variable to set (repeatable).",
      )
      .associate()

  val modulePath: List<Path> by
    option(
        names = arrayOf("--module-path"),
        metavar = "path1${File.pathSeparator}path2",
        help =
          "Directories, ZIP archives, or JAR archives to search when resolving `modulepath:` URIs.",
      )
      .path()
      .splitAll(File.pathSeparator)

  val settings: URI? by
    option(names = arrayOf("--settings"), help = "Pkl settings module to use.")
      .path()
      .single()
      .convert { parseModuleName(it.toString()) }

  val timeout: Duration? by
    option(
        names = arrayOf("-t", "--timeout"),
        metavar = "number",
        help = "Duration, in seconds, after which evaluation of a source module will be timed out.",
      )
      .single()
      .long()
      .convert { Duration.ofSeconds(it) }

  val caCertificates: List<Path> by
    option(
        names = arrayOf("--ca-certificates"),
        metavar = "path",
        help = "Only trust CA certificates from the provided file(s).",
      )
      .path()
      .multiple()

  val proxy: URI? by
    option(
        names = arrayOf("--http-proxy"),
        metavar = "address",
        help = "Proxy to use for HTTP(S) connections.",

Review comment (suggestion):
See comment above

```suggestion
  val settings: URI? by
    option(
        names = arrayOf("--settings"),
        help = "Pkl settings module to use.",
        completionCandidates = CompletionCandidates.Path,
      )
      .single()
      .convert { parseModuleName(it) }
```

Code after:
      )
      .single()

  val envVars: Map<String, String> by
    option(
        names = arrayOf("-e", "--env-var"),
        metavar = "name=value",
        help = "Environment variable to set (repeatable).",
      )
      .associate()

  val modulePath: List<Path> by
    option(
        names = arrayOf("--module-path"),
        metavar = "path1${File.pathSeparator}path2",
        help =
          "Directories, ZIP archives, or JAR archives to search when resolving `modulepath:` URIs.",
      )
      .path()
      .splitAll(File.pathSeparator)

  val settings: URI? by
    option(
        names = arrayOf("--settings"),
        help = "Pkl settings module to use.",
        completionCandidates = CompletionCandidates.Path,
      )
      .single()
      .convert { parseModuleName(it) }

  val timeout: Duration? by
    option(
        names = arrayOf("-t", "--timeout"),
        metavar = "number",
        help = "Duration, in seconds, after which evaluation of a source module will be timed out.",
      )
      .single()
      .long()
      .convert { Duration.ofSeconds(it) }

  val caCertificates: List<Path> by
    option(
        names = arrayOf("--ca-certificates"),
        metavar = "path",
        help = "Only trust CA certificates from the provided file(s).",
      )
      .path()
      .multiple()

  val proxy: URI? by
    option(