Function: forge-read-repository

forge-read-repository is a natively compiled function defined in forge-repo.el.

Signature

(forge-read-repository PROMPT)

Source Code

;; Defined in /nix/store/923zwib42c4qw6x4xps0cv1wi8qcd6lp-emacs-packages-deps/share/emacs/site-lisp/elpa/forge-20261005.753/forge-repo.el
;;; Read

(defun forge-read-repository (prompt)
  (let ((choice (magit-completing-read
                 prompt
                 (mapcar (pcase-lambda (`(,host ,owner ,name))
                           (format "%s/%s @%s" owner name host))
                         (forge-sql [:select [githost owner name]
                                     :from repository]))
                 nil t nil nil
                 (and$ (forge-get-repository :known?)
                       (format "%s/%s @%s"
                               (oref $ owner)
                               (oref $ name)
                               (oref $ githost))))))
    (save-match-data
      (if (string-match "\\`\\(.+\\)/\\([^/]+\\) @\\(.+\\)\\'" choice)
          (forge-get-repository (list (match-string 3 choice)
                                      (match-string 1 choice)
                                      (match-string 2 choice))
                                nil :known?)
        (error "BUG")))))