Function: forge--topic-template

forge--topic-template is a byte-compiled function defined in forge-topic.el.

Signature

(forge--topic-template REPO CLASS)

Source Code

;; Defined in ~/.emacs.d/elpa/forge-20260408.1922/forge-topic.el
;;; Templates

(defun forge--topic-template (repo class)
  (unless repo
    (setq repo (forge-get-repository :tracked)))
  (let* ((templates (forge--topic-templates repo class))
         (template
          (if (cdr templates)
              (let ((c (magit-completing-read
                        (pcase class
                          ('forge-issue   "Select issue template")
                          ('forge-pullreq "Select pull-request template"))
                        (mapcar (##alist-get 'prompt %) templates)
                        nil t)))
                (seq-find (##equal (alist-get 'prompt %) c) templates))
            (car templates))))
    (if-let ((url (alist-get 'url template)))
        (if (string-match (forge--format repo "\
\\`https://%h/[^/]+/[^/]+/discussions\\(?:/categories/\\(.+\\)\\)?")
                          url)
            `((type . forge-discussion)
              (category . ,(or (match-string 1 url)
                               (forge-read-topic-category
                                nil "Category for new discussion"))))
          `((type . redirect) ,@template))
      `((type . ,class) ,@template))))