;; The `setup' tool loads this module with bytecode files disabled,
;; so minimize its dependencies

(module command-name '#%kernel
  (#%require raco/command-name)
  (#%provide get-names)

  (define-values (get-names)
    (lambda ()
      (let-values ([(p) (find-system-path 'run-file)])
        (let-values ([(base name dir?) (split-path p)])
          (if (current-command-name)
              (values (format "~a ~a" name (current-command-name))
                      (program+command-name))
              ;; Hack for bootstrapping, if the program name is "raco",
              ;; then claim to be the "setup" command:
              ;; if the program name is "racket", assume that there's a "racket -l setup"
              ;; going on in there and also claim to be the "raco setup" command
              (if (if (equal? (path->string name) "raco")
                      #t
                      (equal? (path->string name) "racket"))
                  (values "raco setup"
                          (string-append (regexp-replace*
                                          #rx"racket$"
                                          (format "~a" p)
                                          "raco")
                                         " setup")
                          #t)
                  (values (path->string name) p #f))))))))
