Function: forge--topics-spec-p
forge--topics-spec-p is a byte-compiled function defined in
forge-topic.el.
Signature
(forge--topics-spec-p OBJ)
Documentation
Return non-nil if OBJ is an object of type forge--topics-spec(var)/forge--topics-spec(fun).
Source Code
;; Defined in ~/.emacs.d/elpa/forge-20260408.1922/forge-topic.el
(defclass forge--topics-spec ()
((type :documentation "\
Limit list based on topic type."
:initarg :type
:initform 'topic
:type (member topic discussion issue pullreq nil)
:custom (choice
(const topic)
(const discussion)
(const issue)
(const pullreq)
(const :tag "disable topic sections (nil)" nil)))
(active :documentation "\
Limit list to active topics.
A topic is \"active\" if its state (public condition) is open and/or
its status (private condition) is unread or pending.
When this is t, then the value of the `state' and `status' slots are
ignored."
:initarg :active
:initform t
:type boolean
:custom boolean)
(state :documentation "\
Limit list based on topic (public) state.
State is the \"public condition\". I.e., is the topic still open?"
:initarg :state
:initform 'open
:type (satisfies
(lambda (val)
(member val '(open
closed
(completed merged)
completed
merged
(unplanned duplicate outdated rejected)
unplanned
duplicate
outdated
rejected
nil))))
:custom (choice
(const open)
(const closed)
(const (completed merged))
(const completed)
(const merged)
(const (unplanned duplicate outdated rejected))
(const unplanned)
(const duplicate)
(const outdated)
(const rejected)
(const :tag "all (nil)" nil)))
(status :documentation "\
Limit list based on topic (private) status.
Status is the \"private condition\". I.e., have you decided yet
that *you* are done with the topic, and have others made changes,
which *you* have not seen yet?
`inbox' means \"`unread' or `pending'\"."
:initarg :status
:initform nil
:type (member inbox unread pending done nil)
:custom (choice
(const inbox)
(const unread)
(const pending)
(const done)
(const :tag "all (nil)" nil)))
(updated :documentation "\
Date when topic was last updated."
:initarg :updated
:initform nil
:type (or string null))
(category :documentation "\
Limit list to discussions of given category.
Issues and pull-requests are unaffected."
:initarg :category
:initform nil
:type (or string null)
:custom (choice
(string :tag "name")
(const :tag "all (nil)" nil)))
(milestone :documentation "\
Limit list to issues and pull-requests assigned to given milestone.
Discussions are unaffected."
:initarg :milestone
:initform nil
:type (or string null)
:custom (choice
(string :tag "name")
(const :tag "all (nil)" nil)))
(labels :documentation "\
Limit list to topics with at least one of the given labels."
:initarg :labels
:initform nil
:type (list-of string)
:custom (repeat string))
(marks :documentation "\
Limit list to topics with at least one of the given marks.
Marks are like labels, but they are private and local to the
current Forge database."
:initarg :marks
:initform nil
:type (list-of string)
:custom (repeat string))
(saved :documentation "Limit list to saved topics."
:initarg :saved
:initform nil
:type boolean
:custom boolean)
(author :documentation "\
Limit list to topics created by given user."
:initarg :author
:initform nil
:label "Author"
:type (or string null)
:custom (choice
(string :tag "username")
(const :tag "no filter (nil)" nil)))
(assignee :documentation "\
Limit list to topics assigned to given user."
:initarg :assignee
:initform nil
:label "Assignee"
:type (or string null)
:custom (choice
(string :tag "username")
(const :tag "no filter (nil)" nil)))
(reviewer :documentation "\
Limit list to topics for which a review by the given user was requested."
:initarg :reviewer
:initform nil
:label "Reviewer"
:type (or string null)
:custom (choice
(string :tag "username")
(const :tag "no filter (nil)" nil)))
(global :documentation "Whether to list topics for all repositories."
:initarg :global
:initform nil
:type boolean)
(order :documentation "Order in which topics are listed."
:initarg :order
:initform 'newest
:type (member newest oldest recently-updated anciently-updated)
:custom (choice (const newest)
(const oldest)
(const recently-updated)
(const anciently-updated)))
(limit :documentation "Number of topics to list at most."
:initarg :limit
:initform 200
:type (or integer null)
:custom (choice natnum (const :tag "no limit" nil)))
(grouped :documentation "Whether to group topics by repository."
:initarg :grouped
:initform nil
:type boolean
:custom boolean)))