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



(byte-code "\301\302!\210\301\303!\210\301\304!\210\305\306\307\310\311DD\312\313\314\315\316\317\320\321\322&\210\305\323\307\310\324DD\325\313\326\315\316\317&	\207" [forge--tablist-columns-type require hl-line forge-repo forge-tablist custom-declare-variable forge-repository-list-mode-hook funcall function #[0 "\300\207" [(hl-line-mode)] 1 #1=""] "Hook run after entering Forge-Repository-List mode." :package-version (forge . "0.4.0") :group forge :type hook :options (hl-line-mode) forge-repository-list-columns #[0 "\300\207" [(("Owner" owner 20 t nil) ("Name" name 20 t nil) ("T" forge-format-repo-condition 1 t nil) ("S" forge-format-repo-selective 1 t nil) ("Worktree" worktree 99 t nil))] 1 #1#] "List of columns displayed when listing repositories.\n\nEach element has the form (HEADER SOURCE WIDTH SORT PROPS).\n\nHEADER is the string displayed in the header.  WIDTH is the width\nof the column.  SOURCE is used to get the value, it has to be the\nname of a slot of `forge-repository' or a function that takes\nsuch an object as argument.  SORT is a boolean or a function used\nto sort by this column.  Supported PROPS include `:right-align'\nand `:pad-right'." (forge . "0.4.0")] 12)#@54 Local keymap for Forge-Repository-List mode buffers.
(defvar forge-repository-list-mode-map (byte-code "\302\303\304	\"\305\306\307\310\311\310\312\313\314\315&\f\207" [forge-common-map tabulated-list-mode-map define-keymap :parent make-composed-keymap "n" forge-dispatch "RET" forge-visit-this-repository "<return>" "o" forge-browse-this-repository "<remap> <forge--list-menu>" forge-repositories-menu] 13) (#$ . 1284))
(defvar forge--buffer-list-filter nil nil)
(make-variable-buffer-local 'forge--buffer-list-filter)#@58 Buffer name to use for displaying lists of repositories.
(defvar forge-repository-list-buffer-name "*forge-repositories*" (#$ . 1810))#@113 Information shown in the mode-line for `forge-repository-list-mode'.
Must be set before `forge-list' is loaded.
(defvar forge-repository-list-mode-name '((:eval (capitalize (concat (if forge--buffer-list-filter (format "%s " forge--buffer-list-filter) "") "repositories")))) (#$ . 1951))
(defvar forge-repository-list-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-repository-list-mode-hook variable-documentation put "Hook run after entering forge-repository-list-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-repository-list-mode-map definition-name forge-repository-list-mode] 4)
(defvar forge-repository-list-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-repository-list-mode-abbrev-table forge-repository-list-mode-map variable-documentation put purecopy "Keymap for `forge-repository-list-mode'." boundp forge-repository-list-mode-syntax-table definition-name forge-repository-list-mode defvar-1 nil make-syntax-table "Syntax table for `forge-repository-list-mode'." define-abbrev-table "Abbrev table for `forge-repository-list-mode'." derived-mode-parent tabulated-list-mode] 5)#@279 Major mode for browsing a list of repositories.

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

\{forge-repository-list-mode-map}
(defalias 'forge-repository-list-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\306\330!\210\331\332 \333C!)\334\335!\207" [delay-mode-hooks major-mode forge-repository-list-mode-name mode-name forge-repository-list-mode-map forge-repository-list-mode-syntax-table make-local-variable t tabulated-list-mode forge-repository-list-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 x-stretch-cursor nil 0 "Owner" run-mode-hooks forge-repository-list-mode-hook forge-repository-list-mode-abbrev-table local-abbrev-table tabulated-list-padding tabulated-list-sort-key] 5 (#$ . 3548)])#@18 

(fn FILTER FN)
(defalias 'forge-repository-list-setup #[514 "\306!r\211q\210\307\n\310K\311\312\"\216\310\313M\210\314 )\266\315 \210\316\317\315\320\321$\210\322 \210\2034 \323 \210)\324!\207" [forge-repository-list-buffer-name default-directory forge-repository-list-columns forge--tabulated-list-columns forge--tabulated-list-query forge--buffer-list-filter get-buffer-create "/" tabulated-list-revert make-closure #[0 "\301\300M\207" [V0 tabulated-list-revert] 2] ignore forge-repository-list-mode forge--tablist-refresh add-hook tabulated-list-revert-hook nil t tabulated-list-print hl-line-highlight switch-to-buffer hl-line-mode] 8 (#$ . 4778)])#@82 Return a character representing the value of REPO's `condition' slot.

(fn REPO)
(defalias 'forge-format-repo-condition #[257 "\300\301\"\211\302\267\202 \303\207\304\207\305\306\307\310#\207\311\312\"\207" [eieio-oref condition #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:tracked 10 :known 12 :stub 14)) "*" " " propertize "s" face warning error "No clause matching `%S'"] 6 (#$ . 5450)])#@84 Return a character representing the value of REPO's `selective-p' slot.

(fn REPO)
(defalias 'forge-format-repo-selective #[257 "\300\301\"\211\302\267\202 \303\207\304\207\305\306\"\207" [eieio-oref selective-p #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (t 10 nil 12)) "*" " " error "No clause matching `%S'"] 5 (#$ . 5891)])#@13 

(fn SPEC)
(defalias 'forge-repolist-column-discussions #[257 "\300\301\302\303#\211\205 \304\305\306\307\"\"@@\211\205 \310\"\207" [forge-get-repository :tracked? nil t forge-sql [:select (funcall count *) :from discussion :where (and (= repository $s1) (isnull closed))] eieio-oref id magit-repolist-insert-count] 7 (#$ . 6268)])#@13 

(fn SPEC)
(defalias 'forge-repolist-column-issues #[257 "\300\301\302\303#\211\205 \304\305\306\307\"\"@@\211\205 \310\"\207" [forge-get-repository :tracked? nil t forge-sql [:select (funcall count *) :from issue :where (and (= repository $s1) (isnull closed))] eieio-oref id magit-repolist-insert-count] 7 (#$ . 6611)])#@13 

(fn SPEC)
(defalias 'forge-repolist-column-pullreqs #[257 "\300\301\302\303#\211\205 \304\305\306\307\"\"@@\211\205 \310\"\207" [forge-get-repository :tracked? nil t forge-sql [:select (funcall count *) :from pullreq :where (and (= repository $s1) (isnull closed))] eieio-oref id magit-repolist-insert-count] 7 (#$ . 6944)])
(defalias 'forge-repositories-menu #[0 "\3012# \302\303!\211\203 \304\301\"\210\210\305!\211\203 \304\301\306!\"\210\210\307 0\210\310\311!\207" [forge-repository-list-buffer-name #1=#::cond-let971 derived-mode-p forge-repository-list-mode throw get-buffer switch-to-buffer forge-list-repositories transient-setup forge-repositories-menu] 5 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\336\324\325\337\340D\330\331\341\337\342\311\343\344\345\257	\330\331\341\337\342\311\346\347\350\351\345\352\316\257D#E#D\"\210\301\302\353\330\311\302\354\355\356\357\360\361\362\350&\n#\210\363\364\365\366!\"\210\363\367\370\366!\"\210\363\371\367\"\210\372\371\373\374#\210\375\366\376\367#\377\366\201@ \201A \316$\207" [forge--topic-menus-column-widths put forge-repositories-menu interactive-only t function-documentation "Control list of repositories 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 forge--lists-group :description "Filter" "o" "owned" forge-list-owned-repositories :if-nil forge--buffer-list-filter forge-list-repositories :face forge-suffix-active :if-non-nil :inapt-if-mode transient--suffix :transient transient--do-replace :if-mode forge-repository-list-mode :inapt-if #[0 "\301\302\"\303=\207" [transient--prefix eieio-oref command forge-repositories-menu] 3] :inapt-face defalias forge--repo-list-command-p eieio-make-class-predicate forge--repo-list-command forge--repo-list-command--eieio-childp eieio-make-child-predicate forge--repo-list-command-child-p make-obsolete "use (cl-typep ... 'forge--repo-list-command) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (transient-suffix) ((type :initarg :type :initform nil) (filter :initarg :filter :initform nil) (global :initarg :global :initform nil))] 25)#@81 Create a new object of class type `forge--repo-list-command'.

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

(fn WHOLE &rest SLOTS)
(defalias 'forge--repo-list-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 (#$ . 9891)])
(defalias 'forge-list-repositories #[0 "\300\301\302\"\210\303\304!\207" [forge-repository-list-setup nil forge--ls-repos transient-setup forge-repositories-menu] 3 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-list-repositories interactive-only nil function-documentation "List known repositories in a separate buffer.\nHere \"known\" means that an entry exists in the local database." transient--suffix forge--repo-list-command :command :type repo :global t :inapt-if-mode forge-repository-list-mode :inapt-face forge-suffix-active] 14)
(defalias 'forge-list-owned-repositories #[0 "\300\301\302\"\210\303\304!\207" [forge-repository-list-setup owned forge--ls-owned-repos transient-setup forge-repositories-menu] 3 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\303&#\210\316\317!\207" [put forge-list-owned-repositories interactive-only t function-documentation "List your own known repositories in a separate buffer.\nHere \"known\" means that an entry exists in the local database\nand options `forge-owned-accounts' and `forge-owned-ignored'\ncontrols which repositories are considered to be owned by you.\nOnly Github is supported for now." transient--suffix forge--repo-list-command :command :type repo :filter owned :global provide forge-repos] 12)
