File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -510,6 +510,17 @@ forges and hosts."
510510 (cadr (car (cl-member host forge-alist :test #'equal :key #'caddr )))
511511 (error " Cannot determine apihost for %S " host)))
512512
513+ (defun forge--as-webhost (host &optional noerror )
514+ (or (caddr (car (cl-member host forge-alist :test #'equal :key #'cadr )))
515+ (caddr (car (cl-member host forge-alist :test #'equal :key #'car )))
516+ (caddr (car (cl-member host forge-alist :test #'equal :key #'caddr )))
517+ (and (not noerror)
518+ (error " Cannot determine webhost for %S " host))))
519+
520+ (defun forge--host-id (host )
521+ (or (forge--as-webhost host t )
522+ (error " Cannot determine identifier for %S " host)))
523+
513524(cl-defmethod ghub--host ((repo forge-repository))
514525 (cl-call-next-method (forge--ghub-type-symbol (eieio-object-class repo))))
515526
@@ -519,10 +530,9 @@ forges and hosts."
519530 (when-let ((worktree (forge-get-worktree repo)))
520531 (setq default-directory worktree)))
521532 (with-slots (apihost) repo
522- (cl-call-next-method
523- (caddr (car (cl-member apihost forge-alist :test #'equal :key #'cadr )))
524- (forge--ghub-type-symbol (eieio-object-class repo))
525- apihost))))
533+ (cl-call-next-method (forge--host-id apihost)
534+ (forge--ghub-type-symbol (eieio-object-class repo))
535+ apihost))))
526536
527537(defun forge--ghub-type-symbol (class )
528538 (pcase-exhaustive class
You can’t perform that action at this time.
0 commit comments