;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315&	\210\302\316\304\305\317DD\320\310\321\312\313\314\315&	\210\302\322\304\305\323DD\324\310\325\312\313\314\326&	\210\302\327\304\305\330DD\331\310\332\312\313\314\333&	\207" [require forge-topic custom-declare-variable forge-list-buffer-default-topic-filters funcall function #[0 "\300\301\302\303\304\305\306\307\310&\207" [forge--topics-spec :type topic :active t :state open :order newest] 9 #1=""] "Filters initially used to limit topics listed in list buffers.\n\nThis option controls which topics are listed when initially creating\na `forge-topics-mode' buffer.  To temporarily change which topics are\nlisted in a given buffer, instead use \\`N m' (`forge-topics-menu')." :package-version (forge . "0.4.0") :group forge :type object forge-status-buffer-default-topic-filters #[0 "\300\301\302\303\304\305\306\307\310&\207" [forge--topics-spec :type topic :active t :state open :order newest] 9 #1#] "Filters initially used to limit topics listed in status buffers.\n\nThis option controls which topics are listed when initially creating\na `magit-status-mode' buffer.  To temporarily change which topics are\nlisted in a given buffer, instead use \\<forge-topics-mode-map> \\[forge-topics-menu] (`forge-topics-menu').\n\nTo initially list no topics, set the `type' slot to nil." (forge . "0.4.0") forge-owned-accounts #[0 "\300\207" [nil] 1 #1#] "An alist of accounts that are owned by you.\nThis should include your username as well as any organization\nthat you own.  Used by the commands `forge-list-owned-issues',\n`forge-list-owned-pullreqs' and `forge-fork'.\n\nEach element has the form (ACCOUNT . PLIST).  The following\nproperties are currently being used:\n\n`remote-name' The default name suggested by `forge-fork' for a\n  fork created within this account.  If unspecified, then the\n  name of the account is used." (forge . "0.2.0") (repeat (cons (string :tag "Account") plist)) forge-owned-ignored #[0 "\300\207" [nil] 1 #1#] "A list of repositories that are ignored when listing those owned by you.\nThis is a list of package names.  Used by the commands\n`forge-list-owned-issues' and `forge-list-owned-pullreqs'." (forge . "0.2.0") (repeat (string :tag "Name"))] 10)
(custom-declare-face 'forge-suffix-active '((t :inherit transient-value :weight bold)) "Face used for suffixes whose effects is currently active." :group 'forge-faces)
(custom-declare-face 'forge-suffix-active-and-implied '((t :inherit transient-value :weight semibold)) "Face used for suffixes whose effects is currently active and implied." :group 'forge-faces)
(custom-declare-face 'forge-suffix-implied '((t :inherit transient-value :weight normal)) "Face used for suffixes whose effects is currently implied." :group 'forge-faces)#@49 Local keymap for Forge-Topic-List mode buffers.
(defvar forge-topics-mode-map (byte-code "\302\303\304	\"\305\306\307\306\310\311\312\313\314\315\316\317&\207" [forge-common-map magit-mode-map define-keymap :parent make-composed-keymap "RET" forge-visit-this-topic "<return>" "o" forge-browse-this-topic "<remap> <forge--list-menu>" forge-topics-menu "<remap> <forge--item-menu>" forge-topic-menu "<remap> <magit-refresh>" forge-refresh-buffer] 15) (#$ . 2890))#@106 Information shown in the mode-line for `forge-topics-mode'.
Must be set before `forge-topics' is loaded.
(defvar forge-topics-mode-name '((:eval (forge-topics-buffer-desc))) (#$ . 3360))
(defvar forge-topics-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [forge-topics-mode-hook variable-documentation put "Hook run after entering forge-topics-mode-name mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp forge-topics-mode-map definition-name forge-topics-mode] 4)
(defvar forge-topics-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [forge-topics-mode-abbrev-table forge-topics-mode-map variable-documentation put purecopy "Keymap for `forge-topics-mode'." boundp forge-topics-mode-syntax-table definition-name forge-topics-mode defvar-1 nil make-syntax-table "Syntax table for `forge-topics-mode'." define-abbrev-table "Abbrev table for `forge-topics-mode'." derived-mode-parent magit-mode] 5)#@246 Major mode for browsing a list of topics.

In addition to any hooks its parent mode `magit-mode' might have run,
this mode runs the hook `forge-topics-mode-hook', as the final or
penultimate step during initialization.

\{forge-topics-mode-map}
(defalias 'forge-topics-mode #[0 "\306\300!\210\307\310 \210\311\n\310\312N\203 \313\311\312\310\312N#\210\314\f!\204' \315\f\316 \"\210\317!\211\2035 \211\320 =\203; \321\322 \"\210\210\323\324\"\204U =\204U \325\324C#\210\326\f!\210\327!\210\330 )\210\331\332!\207" [delay-mode-hooks major-mode forge-topics-mode-name mode-name forge-topics-mode-map forge-topics-mode-syntax-table make-local-variable t magit-mode forge-topics-mode mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table magit-hack-dir-local-variables run-mode-hooks forge-topics-mode-hook forge-topics-mode-abbrev-table local-abbrev-table] 5 (#$ . 4730)])#@1778 List a set of topics in a buffer.

The buffer is determined using `forge-topics-buffer-name', which uses
the same buffer for all global lists, and likewise just one buffer per
repository for repository-local lists.  You could use `cl-letf' to use
a different buffer for certain sets.

If optional REPO is non-nil, it must be a `forge-repository' object.
It is only relevant when not showing a global topic list, as determined
by the value of `:global' in PARAMS.  Even when showing a local list,
REPO may be nil, in that case the repository is determined from context.

If optional SPEC is non-nil, it must be a `forge--topics-spec' object.
If nil, a clone of the existing filter spec from the buffer determined
above is used, provided that buffer already exists and has a local
filter spec.  A clone of `forge-list-buffer-default-topic-filters' is
used otherwise.

Optional PARAMS can be used to set slots of SPEC.  PARAMS is a plist
where each key is an initarg for a slot of the `forge--topics-spec'
class.

Usually you would use nil for SPEC, so that a clone of the currently
effective filter spec is used, and then you would set only some of
the available filters using PARAMS.

  (transient-define-suffix my-forge-list-assigned-issues ()
    "List issues of the current repository that are assigned to me."
    :description "issues"
    (declare (interactive-only nil))
    (interactive)
    (when-let* ((repo (forge-get-repository :tracked))
                (me (ghub--username repo)))
      (forge-topics-setup-buffer repo nil :type \='issue :assignee me)
      (transient-setup \='forge-topics-menu)))

Grep Forge for more examples.

Alternatively you can use `forge-insert-topics' list topics in, e.g.,
the Magit status buffer.

(fn &optional REPO SPEC &rest PARAMS)
(defalias 'forge-topics-setup-buffer #[640 "\301\302\"\206 \205 \303\304\"\2064 \211?\2054 \30524 \306 \211\205% \307!\211\203. \310\305\"\210\266\307\311!0\211\203> \312!\206? \313\314!\315!\206I \211\203U \316!\202e \317!\203b \320\321\"\206e \316!\3222\224 \211A\262\242\211\203\213 \323\324\325!\326\327O!\n\211A\262\f\242#\266\202i \310\322\327\"\266\202i \210\303\330\"\204\242 \323\330\331#\210\332!\210\204\262 \204\262 \333\334!\210\335\336\327\337\205\300 \303	\340\"D\321D\341DE\342\343!\344\n&\207" [forge-list-buffer-default-topic-filters plist-get :global eieio-oref global #1=#::if-let*1123 forge-topic-at-point forge-get-repository throw :tracked? forge-get-worktree "/" forge-topics-buffer-name get-buffer clone bufferp buffer-local-value forge--buffer-topics-spec #2=#::while-let1124 eieio-oset intern symbol-name 1 nil type topic forge--cast-topics-spec-state error "Cannot determine repository" magit-setup-buffer-internal forge-topics-mode forge-buffer-repository id forge-buffer-unassociated-p :buffer get-buffer-create :directory] 17 (#$ . 5787)])
(defalias 'forge-topics-refresh-buffer #[0 "\305\306 !\210\307\310\311!\"\312\313\314\211#\211\n\206 ?\205 \f\211\3152\260 \204/ \316c\210\202\254 \317\320\"\204M \211\203I \211@\321\322\"\210A\266\202\2027 \210\202\254 \323\324\"\211\203\253 \211@\211\243\310@!\312\325\314#\211\n\206p ?\205p \f\211\3152\241 \326\327\317\330\"\331\332#\333\334G\"P!\210\211\203\234 \211@\321\322\"\210A\266\202\202\212 \210\335!0+\266A\266\202\202Q \210\335!0+\210\207" [forge--buffer-topics-spec magit-insert-section--current magit-insert-section--oldroot magit-insert-section--parent magit-root-section magit-set-header-line-format forge-topics-buffer-desc forge--list-topics forge-get-repository :tracked? magit-insert-section--create topicbuf nil cancel-section "No matching topics\n" eieio-oref grouped forge--insert-topic 5 seq-group-by #[257 "\300\301\"\207" [eieio-oref repository] 4 "\n\n(fn %)"] forge-repo magit-insert-heading propertize slug font-lock-face bold format " (%s)" magit-insert-section--finish] 12])
(defalias 'forge-topics-buffer-desc #[0 "\301\302\303\304\"!\305P!\207" [forge--buffer-topics-spec capitalize symbol-name eieio-oref type "s"] 5])#@23 

(fn &optional REPO)
(defalias 'forge-topics-buffer-name #[256 "\211\203\f \300\301\302\303\"\"\207\304\207" [format "*forge-topics: %s*" eieio-oref slug "*forge-topics*"] 6 (#$ . 9873)])
(defalias 'forge-topics-menu #[0 "\301\302\303\"\203 \304\305!\207\301\306!\203 \307\304\307!\207\310 \207" [this-command derived-mode-p forge-topics-mode magit-status-mode transient-setup forge-topics-menu forge-notifications-mode forge-notifications-menu forge-list-topics] 3 nil nil])
(byte-code "\301\302\303\304#\210\301\302\305\306#\210\301\302\307\310\311\302\312\304\313\314\315\316\317\304\320\321\322&#\210\323\302\324\325\326\327D\330\331\332\311\333\257C#\324\334\316\335\324\325\336\337D\330\331\340\311\341\257\330\331\342\311\343\257\330\331\344\311\345\257\330\331\346\311\347\257\330\331\350\311\351\257\330\331\352\311\353\257\330\331\354\311\355\257\257#\324\325\336\356D\330\331\357\311\360\257\330\331\361\311\362\257\330\331\363\311\364\257\330\331\365\311\366\257F#\324\325\336\367D\330\331\370\311\371\257\330\331\372\311\373\257\330\331\374\311\375\257\330\331\376\311\377\257F#F#\324\334\316\201@ \324\325\336\201A D\330\331\201B \311\201C \257\330\331\201D \311\201E \257\330\331\201F \311\201G \257\330\331\201H \311\201I \257\330\331\201J \311\201K \257\330\331\201L \311\201M \257\330\331\201N \311\201O \257\330\331\201P \311\201Q \257\257#\324\325\336\201R D\330\331\201S \311\201T \257\330\331\201U \311\201V \257\330\331\201W \311\201X \257\330\331\201Y \311\201Z \257\330\331\201[ \311\201\\ \257\330\331\201] \311\201^ \257\257#E#\324\334\316\201_ C#F\"\210\301\302\201` \330\311\302\201a \201b \201c \201d \201e \201f \201g \201h &\n#\207" [forge--topic-menus-column-widths put forge-topics-menu interactive-only t function-documentation "Control list of topics displayed in the current buffer." transient--prefix transient-prefix :command :transient-suffix :transient-non-suffix transient--do-call :transient-switch-frame nil :refresh-suffixes :environment forge--menu-environment :column-widths transient--set-layout vector transient-column :hide always transient-suffix :key "q" forge-menu-quit-list transient-columns forge--topic-menus-group :description "State" "a" forge-topics-filter-active "o" forge-topics-filter-state-open "r" forge-topics-filter-state-realized "e" forge-topics-filter-state-expunged "U" forge-topics-filter-state-unplanned "O" forge-topics-filter-state-outdated "D" forge-topics-filter-state-duplicate "Status" "i" forge-topics-filter-status-inbox "u" forge-topics-filter-status-unread "p" forge-topics-filter-status-pending "d" forge-topics-filter-status-done "Type" "t t" forge-topics-all-types "t d" forge-topics-filter-discussions "t i" forge-topics-filter-issues "t p" forge-topics-filter-pullreqs forge--lists-group "Filter                                      " "-c" forge-topics-filter-category "-m" forge-topics-filter-milestone "-l" forge-topics-filter-labels "-x" forge-topics-filter-marks "-A" forge-topics-filter-author "-a" forge-topics-filter-assignee "-r" forge-topics-filter-reviewer "-s" forge-topics-filter-saved "Display" "-O" forge-topics-set-order "-L" forge-topics-set-limit "-F" forge-topics-ungroup "-G" forge-topics-group "-S" forge-toggle-display-in-status-buffer "-H" forge-toggle-topic-legend forge--topic-legend-group transient--suffix :transient transient--do-replace :if-not-derived (forge-notifications-mode forge-repository-list-mode) :inapt-if #[0 "\301\302\"\303=\207" [transient--prefix eieio-oref command forge-topics-menu] 3] :inapt-face forge-suffix-active] 23)
(defvar forge--quit-keep-topic-menu nil nil)
(make-variable-buffer-local 'forge--quit-keep-topic-menu)#@257 From a transient menu, quit the list buffer and the menu.

If quitting the list buffer causes another topic, repository list or
notification list buffer to become current in the selected window,
then display the respective menu, otherwise display no menu.
(defalias 'forge-menu-quit-list #[0 "\303\304\305\306\307$\203 \310\300!\210\311 \210\303\304!\203 \312\313\314\211!\207\303\305!\2032 \211?\205U \312\313\315\211!\207\303\306!\203@ \312\313\316\211!\207\303\307!\203N \312\313\317\211!\207\320\321 \210\322 \207" [forge--quit-keep-topic-menu transient--exitp this-command derived-mode-p forge-topic-mode forge-topics-mode forge-repository-list-mode forge-notifications-mode kill-local-variable quit-window replace transient-setup forge-topic-menu forge-topics-menu forge-repositories-menu forge-notifications-menu t transient--pre-exit transient--stack-zap] 6 (#$ . 13578) nil])#@23 

(fn &optional REPO)
(defalias 'forge-list-topics #[256 "\300!\210\301\302!\207" [forge-topics-setup-buffer transient-setup forge-topics-menu] 3 (#$ . 14480) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put forge-list-topics interactive-only nil function-documentation "List topics of the current repository." transient--suffix transient-suffix :command :description "topics" :inapt-if #[0 "\302\303!?\206 \304=\205 \305	\306\"?\207" [major-mode forge--buffer-topics-spec forge-get-repository :tracked? forge-topics-mode eieio-oref global] 3] :inapt-face #[0 "\300\301!\204 \302\207\303\207" [forge-get-repository :tracked? transient-inapt-suffix forge-suffix-active] 2]] 12)#@23 

(fn &optional REPO)
(defalias 'forge-list-discussions #[256 "\300\301\302\303$\210\304\305!\207" [forge-topics-setup-buffer nil :type discussion transient-setup forge-topics-menu] 6 (#$ . 15240) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-list-discussions interactive-only nil function-documentation "List discussions of the current repository." transient--suffix transient-suffix :command :description "discussions"] 8)#@23 

(fn &optional REPO)
(defalias 'forge-list-issues #[256 "\300\301\302\303$\210\304\305!\207" [forge-topics-setup-buffer nil :type issue transient-setup forge-topics-menu] 6 (#$ . 15736) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-list-issues interactive-only nil function-documentation "List issues of the current repository." transient--suffix transient-suffix :command :description "issues"] 8)#@23 

(fn &optional REPO)
(defalias 'forge-list-pullreqs #[256 "\300\301\302\303$\210\304\305!\207" [forge-topics-setup-buffer nil :type pullreq transient-setup forge-topics-menu] 6 (#$ . 16207) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-list-pullreqs interactive-only nil function-documentation "List pull-requests of the current repository." transient--suffix transient-suffix :command :description "pull-requests"] 8)#@23 

(fn &optional REPO)
(defalias 'forge-list-global-topics #[256 "\300\301\302\303$\210\304\305!\207" [forge-topics-setup-buffer nil :global t transient-setup forge-topics-menu] 6 (#$ . 16698) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316&#\207" [put forge-list-global-topics interactive-only nil function-documentation "List topics across all tracked repository." transient--suffix transient-suffix :command :description "topics" :inapt-if #[0 "\302=\205\n \303	\304\"\207" [major-mode forge--buffer-topics-spec forge-topics-mode eieio-oref global] 3] :inapt-face forge-suffix-active] 12)#@23 

(fn &optional REPO)
(defalias 'forge-list-global-issues #[256 "\300\301\302\303\304\305&\210\306\307!\207" [forge-topics-setup-buffer nil :global t :type issue transient-setup forge-topics-menu] 8 (#$ . 17358) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-list-global-issues interactive-only nil function-documentation "List issues across all tracked repository." transient--suffix transient-suffix :command :description "issues"] 8)#@23 

(fn &optional REPO)
(defalias 'forge-list-global-pullreqs #[256 "\300\301\302\303\304\305&\210\306\307!\207" [forge-topics-setup-buffer nil :global t :type pullreq transient-setup forge-topics-menu] 8 (#$ . 17866) nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\210\313\314\315\316!\"\210\313\317\320\316!\"\210\313\321\317\"\210\322\321\323\324#\210\325\316\326\317#\327\316\330\331\303$\207" [put forge-list-global-pullreqs interactive-only nil function-documentation "List pull-requests across all tracked repository." transient--suffix transient-suffix :command :description "pull-requests" defalias forge--topics-filter-type-command-p eieio-make-class-predicate forge--topics-filter-type-command forge--topics-filter-type-command--eieio-childp eieio-make-child-predicate forge--topics-filter-type-command-child-p make-obsolete "use (cl-typep ... 'forge--topics-filter-type-command) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) ((type :initarg :type) (definition :initform (lambda (&optional repo) (interactive) (oset forge--buffer-topics-spec type (oref (transient-suffix-object) type)) (forge--cast-topics-spec-state forge--buffer-topics-spec) (forge-refresh-buffer))) (inapt-face :initform 'forge-suffix-active) (inapt-if :initform (lambda nil (eq (oref forge--buffer-topics-spec type) (oref (transient-suffix-object) type)))))] 8)#@90 Create a new object of class type
`forge--topics-filter-type-command'.

(fn &rest SLOTS)
(defalias 'forge--topics-filter-type-command #[128 "\300\301\302#\207" [apply make-instance forge--topics-filter-type-command] 5 (#$ . 19315)])
(byte-code "\300\301\302\303#\300\207" [function-put forge--topics-filter-type-command compiler-macro forge--topics-filter-type-command--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'forge--topics-filter-type-command--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 19707)])
(byte-code "\300\301\302\303\304\"\"\210\305\301\306\307#\210\305\301\310\311#\210\305\301\312\303\313\301\314\315\316\317&#\210\300\320\302\303\304\"\"\210\305\320\306\307#\210\305\320\310\321#\210\305\320\312\303\313\320\314\322\316\323&#\210\300\324\302\303\304\"\"\210\305\324\306\307#\210\305\324\310\325#\210\305\324\312\303\313\324\314\326\316\327&#\210\300\330\302\303\304\"\"\210\305\330\306\307#\210\305\330\310\331#\210\305\330\312\303\313\330\314\332\316\333&#\207" [defalias forge-topics-all-types eieio-oref-default forge--topics-filter-type-command definition put interactive-only t function-documentation nil transient--suffix :command :type topic :description "topics" forge-topics-filter-discussions "List discussions of the current repository." discussion "discussions" forge-topics-filter-issues "List issues of the current repository." issue "issues" forge-topics-filter-pullreqs "List pull-requests of the current repository." pullreq "pull-requests"] 10)
(defalias 'forge-topics-filter-active #[0 "\301\302\303\302\"?#\210\304 \207" [forge--buffer-topics-spec eieio-oset active eieio-oref forge-refresh-buffer] 6 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314&#\210\315\316\317\320!\"\210\315\321\322\320!\"\210\315\323\321\"\210\324\323\325\326#\210\327\320\330\321#\331\320\332\333\334$\207" [put forge-topics-filter-active interactive-only t function-documentation "Limit topic list to active topics." transient--suffix transient-suffix :command :description "active" :face #[0 "\301\302\"\205 \303\207" [forge--buffer-topics-spec eieio-oref active forge-suffix-active] 3] defalias forge--topics-filter-state-command-p eieio-make-class-predicate forge--topics-filter-state-command forge--topics-filter-state-command--eieio-childp eieio-make-child-predicate forge--topics-filter-state-command-child-p make-obsolete "use (cl-typep ... 'forge--topics-filter-state-command) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) ((state :initarg :state) (definition :initform (lambda nil (interactive) (let ((want (oref (transient-suffix-object) state)) (spec forge--buffer-topics-spec)) (cond ((and (eq want 'open) (oref spec active)) (oset spec active nil) (oset spec state want)) ((equal (oref spec state) want) (oset spec state nil)) (t (oset spec active nil) (oset spec state want)))) (forge-refresh-buffer))) (description :initform (lambda (suffix) (symbol-name (oref suffix state)))) (face :initform (lambda (suffix) (let ((want (oref suffix state)) (have (oref forge--buffer-topics-spec state)) (active (oref forge--buffer-topics-spec active))) (cond ((and (not active) (equal have want)) 'forge-suffix-active) ((and (or active (eq have 'open)) (eq want 'open)) (if (eq have want) 'forge-suffix-active-and-implied 'forge-suffix-implied)) ((and (memq want '(unplanned duplicate outdated)) (equal have '(unplanned duplicate outdated rejected)) (not active)) 'forge-suffix-implied)))))) nil] 10)#@91 Create a new object of class type
`forge--topics-filter-state-command'.

(fn &rest SLOTS)
(defalias 'forge--topics-filter-state-command #[128 "\300\301\302#\207" [apply make-instance forge--topics-filter-state-command] 5 (#$ . 23005)])
(byte-code "\300\301\302\303#\300\207" [function-put forge--topics-filter-state-command compiler-macro forge--topics-filter-state-command--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'forge--topics-filter-state-command--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 23402)])
(byte-code "\300\301\302\303\304\"\"\210\305\301\306\307#\210\305\301\310\311#\210\305\301\312\303\313\301\314\315$#\210\300\316\302\303\304\"\"\210\305\316\306\307#\210\305\316\310\317#\210\305\316\312\303\313\316\314\320\321\322&#\210\300\323\302\303\304\"\"\210\305\323\306\307#\210\305\323\310\324#\210\305\323\312\303\313\323\314\325\321\326&#\210\300\327\302\303\304\"\"\210\305\327\306\307#\210\305\327\310\330#\210\305\327\312\303\313\327\314\331\321\332\333\334&#\210\300\335\302\303\304\"\"\210\305\335\306\307#\210\305\335\310\336#\210\305\335\312\303\313\335\314\337\321\340\333\341&#\210\300\342\302\303\304\"\"\210\305\342\306\307#\210\305\342\310\343#\210\305\342\312\303\313\342\314\344\321\345\333\346&#\210\300\347\350\351!\"\210\300\352\353\351!\"\210\300\354\352\"\210\355\354\356\357#\210\360\351\361\352#\362\351\363\364\365$\207" [defalias forge-topics-filter-state-open eieio-oref-default forge--topics-filter-state-command definition put interactive-only t function-documentation "Limit topic list to open topics." transient--suffix :command :state open forge-topics-filter-state-realized "Limit topic list to realized topics.\nRealized topics include:\n- completed discussions,\n- completed issues, and\n- merged pull-requests." (completed merged) :description #[0 "\301\302\"\211\303\267\202 \304\207\304\207\305\207\306\207\307\207" [forge--buffer-topics-spec eieio-oref type #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (discussion 10 issue 12 pullreq 14 topic 16)) "completed" "merged" "realized" nil] 3] forge-topics-filter-state-expunged "Limit topic list to expunged topics.\nExpunged topics include:\n- discussions closed as outdated,\n- discussions closed as duplicates,\n- issues closed as unplanned,\n- issues closed as duplicates, and\n- pull-requests closed without merging." (unplanned duplicate outdated rejected) #[0 "\301\302\"\211\303\267\202 \304\207\304\207\305\207\304\207\306\207" [forge--buffer-topics-spec eieio-oref type #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (discussion 10 issue 12 pullreq 14 topic 16)) "expunged" "rejected" nil] 3] forge-topics-filter-state-unplanned "Limit topic list to issues closed as unplanned." unplanned "  unplanned" :if #[0 "\301\302\"\303=\207" [forge--buffer-topics-spec eieio-oref type issue] 3] forge-topics-filter-state-outdated "Limit topic list to discussions closed as outdated." outdated "  outdated" #[0 "\301\302\"\303=\207" [forge--buffer-topics-spec eieio-oref type discussion] 3] forge-topics-filter-state-duplicate "Limit topic list to discussions and issues closed as duplicates." duplicate "  duplicate" #[0 "\301\302\"\303>\207" [forge--buffer-topics-spec eieio-oref type (discussion issue)] 3] forge--topics-filter-status-command-p eieio-make-class-predicate forge--topics-filter-status-command forge--topics-filter-status-command--eieio-childp eieio-make-child-predicate forge--topics-filter-status-command-child-p make-obsolete "use (cl-typep ... 'forge--topics-filter-status-command) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) ((status :initarg :status) (definition :initform (lambda nil (interactive) (let* ((want (oref (transient-suffix-object) status)) (spec forge--buffer-topics-spec) (have (oref spec status)) (active (oref spec active))) (cond (active (oset spec active nil) (oset spec status want)) ((eq have want) (oset spec status nil)) ((oset spec status want)))) (forge-refresh-buffer))) (description :initform (lambda (suffix) (symbol-name (oref suffix status)))) (face :initform (lambda (suffix) (let ((want (oref suffix status)) (have (oref forge--buffer-topics-spec status)) (active (oref forge--buffer-topics-spec active))) (cond ((and (not active) (equal have want)) 'forge-suffix-active) ((and (or active (eq have 'inbox)) (memq want '(inbox unread pending))) (if (eq have want) 'forge-suffix-active-and-implied 'forge-suffix-implied))))))) nil] 12)#@92 Create a new object of class type
`forge--topics-filter-status-command'.

(fn &rest SLOTS)
(defalias 'forge--topics-filter-status-command #[128 "\300\301\302#\207" [apply make-instance forge--topics-filter-status-command] 5 (#$ . 27692)])
(byte-code "\300\301\302\303#\300\207" [function-put forge--topics-filter-status-command compiler-macro forge--topics-filter-status-command--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'forge--topics-filter-status-command--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 28094)])
(byte-code "\300\301\302\303\304\"\"\210\305\301\306\307#\210\305\301\310\311#\210\305\301\312\303\313\301\314\315$#\210\300\316\302\303\304\"\"\210\305\316\306\307#\210\305\316\310\317#\210\305\316\312\303\313\316\314\320$#\210\300\321\302\303\304\"\"\210\305\321\306\307#\210\305\321\310\322#\210\305\321\312\303\313\321\314\323$#\210\300\324\302\303\304\"\"\210\305\324\306\307#\210\305\324\310\325#\210\305\324\312\303\313\324\314\326$#\210\300\327\330\331!\"\210\300\332\333\331!\"\210\300\334\332\"\210\335\334\336\337#\210\340\331\341\332#\342\331\343\344\345$\207" [defalias forge-topics-filter-status-inbox eieio-oref-default forge--topics-filter-status-command definition put interactive-only t function-documentation "Limit topic list to unread and pending topics." transient--suffix :command :status inbox forge-topics-filter-status-unread "Limit topic list to unread topics." unread forge-topics-filter-status-pending "Limit topic list to pending topics." pending forge-topics-filter-status-done "Limit topic list to done topics." done forge--topics-filter-command-p eieio-make-class-predicate forge--topics-filter-command forge--topics-filter-command--eieio-childp eieio-make-child-predicate forge--topics-filter-command-child-p make-obsolete "use (cl-typep ... 'forge--topics-filter-command) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) ((slot :initarg :slot) (reader :initarg :reader) (formatter :initarg :formatter :initform nil) (definition :initform (lambda nil (interactive) (with-slots (slot reader) (transient-suffix-object) (eieio-oset forge--buffer-topics-spec slot (if (eieio-oref forge--buffer-topics-spec slot) nil (funcall reader))) (forge-refresh-buffer)))) (description :initform (lambda (obj) (with-slots (slot formatter) obj (let ((value (eieio-oref forge--buffer-topics-spec slot))) (if value (format "%s %s" slot (if formatter (funcall formatter value) (propertize (format "%s" value) 'face 'forge-suffix-active))) (format "%s" slot))))))) nil] 8)#@85 Create a new object of class type `forge--topics-filter-command'.

(fn &rest SLOTS)
(defalias 'forge--topics-filter-command #[128 "\300\301\302#\207" [apply make-instance forge--topics-filter-command] 5 (#$ . 30396)])
(byte-code "\300\301\302\303#\300\207" [function-put forge--topics-filter-command compiler-macro forge--topics-filter-command--anon-cmacro] 4)#@26 

(fn WHOLE &rest SLOTS)
(defalias 'forge--topics-filter-command--anon-cmacro #[385 "\211@;\204 \207\300\301\302@@#@\303@DABB\304\211@%\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity nil] 8 (#$ . 30763)])
(byte-code "\300\301\302\303\304\305%\210\306\307\310\311\312\"\"\210\313\307\314\315#\210\313\307\316\317#\210\313\307\320\311\321\307\322\323\324\325&#\210\306\326\310\311\312\"\"\210\313\326\314\315#\210\313\326\316\327#\210\313\326\320\311\321\326\322\330\324\331&#\210\306\332\310\311\312\"\"\210\313\332\314\315#\210\313\332\316\333#\210\313\332\320\311\321\332\322\334\324\335&#\210\306\336\310\311\312\"\"\210\313\336\314\315#\210\313\336\316\337#\210\313\336\320\311\321\336\322\340\324\341&#\210\306\342\310\311\312\"\"\210\313\342\314\315#\210\313\342\316\343#\210\313\342\320\311\321\342\322\344\345\346\347\350&#\210\306\351\310\311\312\"\"\210\313\351\314\315#\210\313\351\316\352#\210\313\351\320\311\321\351\322\353\345\354&#\210\306\355\310\311\312\"\"\210\313\355\314\315#\210\313\355\316\356#\210\313\355\320\311\321\355\322\357\345\360&#\210\306\361\310\311\312\"\"\210\313\361\314\315#\210\313\361\316\362#\210\313\361\320\311\321\361\322\363\345\364&#\207" [cl-generic-define-method initialize-instance (:after) ((obj forge--topics-filter-command) &optional _slots) nil #[513 "\300\301\"?\205 \302\301\303\304\305\306\307\"\"!#\207" [slot-boundp reader eieio-oset intern format "forge-read-topic-%s" eieio-oref slot] 11 "\n\n(fn OBJ &optional SLOTS)"] defalias forge-topics-filter-category eieio-oref-default forge--topics-filter-command definition put interactive-only t function-documentation "Read a category and limit discussions to that category." transient--suffix :command :slot category :formatter #[257 "\300\301\302#\207" [propertize face forge-topic-label] 5 "\n\n(fn %)"] forge-topics-filter-milestone "Read a milestone and limit topic list to topics with that milestone." milestone #[257 "\300\301\302#\207" [propertize face forge-topic-label] 5 "\n\n(fn %)"] forge-topics-filter-labels "Read labels and limit topic list to topics with one of these labels." labels #[257 "\211\205 \300\301\"\207" [forge--format-labels " "] 4 "\n\n(fn %)"] forge-topics-filter-marks "Read marks and limit topic list to topics with one of these marks." marks #[257 "\211\205 \300\301\"\207" [forge--format-marks " "] 4 "\n\n(fn %)"] forge-topics-filter-saved "Toggle whether to limit topic list to saved topics." saved :reader always :description #[0 "\301\302\303#\207" [forge--buffer-topics-spec forge--format-boolean saved "saved"] 4] forge-topics-filter-author "Read an author and limit topic list to topics created by that author." author #[0 "\300\301!\207" [forge--read-filter-by-user "Author"] 2] forge-topics-filter-assignee "Read an assignee and limit topic list to topics assignee to that person." assignee #[0 "\300\301!\207" [forge--read-filter-by-user "Assignee"] 2] forge-topics-filter-reviewer "Read a reviewer and limit topic list to reviews requested from that person." reviewer #[0 "\300\301!\207" [forge--read-filter-by-user "Reviewer"] 2]] 12)#@15 

(fn PROMPT)
(defalias 'forge--read-filter-by-user #[257 "\300\301!\302\303\304\305\"\"\306\"\207" [forge-get-repository :tracked mapcar cadr eieio-oref assignees magit-completing-read] 7 (#$ . 33924)])#@14 

(fn ORDER)
(defalias 'forge-topics-set-order #[257 "\301\302#\210\303 \207" [forge--buffer-topics-spec eieio-oset order forge-refresh-buffer] 5 (#$ . 34136) (byte-code "\300\301\302\303\304F\305C\244\306\307!\310\311\312#\266\202\313\314!@\315\260\262\316\"\211\317\267\2027 \320\2028 \321\2028 \322\2028 \323\2028 \324\262\325\326!\210C\207" [read-char-choice "[n]ewest" "[o]ldest" "[r]ecently updated" "[a]nciently updated" "[C-g] to abort" "Order by: " butlast ", " mapconcat identity ", or " last " " (110 111 114 97) #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (110 39 111 43 114 47 97 51)) newest oldest recently-updated anciently-updated nil message ""] 9)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-topics-set-order interactive-only t function-documentation "Select order used to display topics in topic list." transient--suffix transient-suffix :command :description #[0 "\301\302\303\301\304\305\306\"\"\307\310#\"\207" [forge--buffer-topics-spec format "order by %s" propertize "%s" eieio-oref order face bold] 8]] 8)#@14 

(fn LIMIT)
(defalias 'forge-topics-set-limit #[257 "\301\302\303U?\205 #\210\304 \207" [forge--buffer-topics-spec eieio-oset limit 0 forge-refresh-buffer] 6 (#$ . 35287) (byte-code "\300\301!C\207" [read-number "Limit number (0 for no limit): "] 2)])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312$#\207" [put forge-topics-set-limit interactive-only t function-documentation "Read maximal number of topics to be displayed in topic list." transient--suffix transient-suffix :command :description #[0 "\301\302\303\"\211\262\203 \304\305\306\304\307\"\310\311#\"\207\312\207" [forge--buffer-topics-spec nil eieio-oref limit format "limit to %s" propertize "%s" face bold "no limit"] 7]] 8)
(defalias 'forge-topics-group #[0 "\301\302\303#\210\304 \207" [forge--buffer-topics-spec eieio-oset grouped t forge-refresh-buffer] 4 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316\317\320&\n#\207" [put forge-topics-group interactive-only t function-documentation "Group topics by repository." transient--suffix transient-suffix :command :description "group by repo" :if #[0 "\301\302\"\207" [forge--buffer-topics-spec eieio-oref global] 3] :inapt-if #[0 "\301\302\"\207" [forge--buffer-topics-spec eieio-oref grouped] 3] :inapt-face forge-suffix-active] 14)
(defalias 'forge-topics-ungroup #[0 "\301\302\303#\210\304 \207" [forge--buffer-topics-spec eieio-oset grouped nil forge-refresh-buffer] 4 nil nil])
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\300\301\306\307\310\301\311\312\313\314\315\316\317\320&\n#\210\321\322!\207" [put forge-topics-ungroup interactive-only t function-documentation "Show a flat topic list." transient--suffix transient-suffix :command :description "single list" :if #[0 "\301\302\"\207" [forge--buffer-topics-spec eieio-oref global] 3] :inapt-if-not #[0 "\301\302\"\207" [forge--buffer-topics-spec eieio-oref grouped] 3] :inapt-face forge-suffix-active provide forge-topics] 14)
