;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315& \210\316\317\320\321\322\323\312\324&\210\302\325\304\305\326DD\327\310\330\312\317\314\331\332\333\334\335& \210\302\336\304\305\337DD\340\310\341\312\317\314\342& \210\302\343\304\305\344DD\345\310\346\312\317\314\347& \207" [require magit-core custom-declare-variable magit-repository-directories funcall function #[0 "\300\207" [nil] 1] "List of directories that are or contain Git repositories.\n\nEach element has the form (DIRECTORY . DEPTH). DIRECTORY has\nto be a directory or a directory file-name, a string. DEPTH,\nan integer, specifies the maximum depth to look for Git\nrepositories. If it is 0, then only add DIRECTORY itself.\n\nThis option controls which repositories are being listed by\n`magit-list-repositories'. It also affects `magit-status'\n(which see) in potentially surprising ways." :package-version (magit . "3.0.0") :group magit-essentials :type (repeat (cons directory (integer :tag "Depth"))) custom-declare-group magit-repolist nil "List repositories in a buffer." :link (info-link "(magit)Repository List") magit-modes magit-repolist-mode-hook #[0 "\300\207" [(hl-line-mode)] 1] "Hook run after entering Magit-Repolist mode." (magit . "2.9.0") hook :get magit-hook-custom-get :options (hl-line-mode) magit-repolist-columns #[0 "\300\207" [(("Name" 25 magit-repolist-column-ident nil) ("Version" 25 magit-repolist-column-version nil) ("BU" 3 magit-repolist-column-unpushed-to-upstream ((:right-align t) (:help-echo "Local changes not in upstream"))) ("Path" 99 magit-repolist-column-path nil))] 1] "List of columns displayed by `magit-list-repositories'.\n\nEach element has the form (HEADER WIDTH FORMAT PROPS).\n\nHEADER is the string displayed in the header. WIDTH is the width\nof the column. FORMAT is a function that is called with one\nargument, the repository identification (usually its basename),\nand with `default-directory' bound to the toplevel of its working\ntree. It has to return a string to be inserted or nil. PROPS is\nan alist that supports the keys `:right-align' and `:pad-right'.\nSome entries also use `:help-echo', but `tabulated-list' does not\nactually support that yet." (magit . "2.12.0") (repeat (list :tag "Column" (string :tag "Header Label") (integer :tag "Column Width") (function :tag "Inserter Function") (repeat :tag "Properties" (list (choice :tag "Property" (const :right-align) (const :pad-right) (symbol)) (sexp :tag "Value"))))) magit-repolist-column-flag-alist #[0 "\300\207" [((magit-untracked-files . "N") (magit-unstaged-files . "U") (magit-staged-files . "S"))] 1] "Association list of predicates and flags for `magit-repolist-column-flag'.\n\nEach element is of the form (FUNCTION . FLAG). Each FUNCTION is\ncalled with no arguments, with `default-directory' bound to the\ntop level of a repository working tree, until one of them returns\na non-nil value. FLAG corresponding to that function is returned\nas the value of `magit-repolist-column-flag'." (magit . "3.0.0") (alist :key-type (function :tag "Predicate Function") :value-type (string :tag "Flag"))] 14) #@126 Display a list of repositories. Use the options `magit-repository-directories' to control which repositories are displayed. (defalias 'magit-list-repositories #[0 "\203 r\301\302!q\210\303\304!\210\305 \210\306 \210\307 \210\310p!\210\303\311!)\207\303\312\313\"\207" [magit-repository-directories get-buffer-create "*Magit Repositories*" message "Listing repositories..." magit-repolist-mode magit-repolist-refresh tabulated-list-print switch-to-buffer "Listing repositories...done" "You need to customize `magit-repository-directories' %s" "before you can list repositories"] 3 (#$ . 3343) nil]) #@47 Local keymap for Magit-Repolist mode buffers. (defvar magit-repolist-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\207" [tabulated-list-mode-map make-sparse-keymap set-keymap-parent define-key " " magit-repolist-status] 5) (#$ . 3950)) #@69 Show the status for the repository at point. (fn &optional BUTTON) (defalias 'magit-repolist-status #[256 "\300\301\206`\302\"\262\211\203\303\304!!\207\305\306!\207" [nil get-text-property tabulated-list-id magit-status-setup-buffer expand-file-name user-error "There is no repository at point"] 5 (#$ . 4203) nil]) (defvar magit-repolist-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [magit-repolist-mode-hook variable-documentation put "Hook run after entering Repos mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp magit-repolist-mode-map definition-name magit-repolist-mode] 4) (defvar magit-repolist-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\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [magit-repolist-mode-abbrev-table magit-repolist-mode-map variable-documentation put purecopy "Keymap for `magit-repolist-mode'." boundp magit-repolist-mode-syntax-table definition-name magit-repolist-mode (lambda (def-tmp-var) (defvar magit-repolist-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `magit-repolist-mode'." (lambda (def-tmp-var) (defvar magit-repolist-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `magit-repolist-mode'." derived-mode-parent tabulated-list-mode] 5) #@269 Major mode for browsing a list of Git repositories. In addition to any hooks its parent mode `tabulated-list-mode' might have run, this mode runs the hook `magit-repolist-mode-hook', as the final or penultimate step during initialization. \{magit-repolist-mode-map} (defalias 'magit-repolist-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2035\211\321 =\203;\322\f\323 \"\210\210\324 \325\"\204R )=\204R\326 \325)C#\210\327 !\210\330\f!\210 )\306\331!\210\332\333*\334\335+\"@\206t+@@C,\336\337\340+\"!-\341 \210\342\343\344\332\307$\210\345.\346/)\347\350!\207" [delay-mode-hooks major-mode mode-name magit-repolist-mode-map magit-repolist-mode-syntax-table magit-repolist-mode-abbrev-table make-local-variable t tabulated-list-mode magit-repolist-mode "Repos" 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 assoc "Path" vconcat mapcar #[257 "\211\242\243\211\242\243\211\242\243\211\242\243\300\301E\302!\244\207" [nil t -flatten] 16 "\n\n(fn ARG0)"] tabulated-list-init-header add-hook tabulated-list-revert-hook magit-repolist-refresh magit-imenu--repolist-prev-index-position-function magit-imenu--repolist-extract-index-name-function run-mode-hooks magit-repolist-mode-hook local-abbrev-table tabulated-list-padding magit-repolist-columns tabulated-list-sort-key tabulated-list-format imenu-prev-index-position-function imenu-extract-index-name-function] 5 (#$ . 5813) nil]) (defalias 'magit-repolist-refresh #[0 "\301\302\303\301\304\305 \"!\"\211\207" [tabulated-list-entries mapcar #[257 "\211\242\243\211\211\302\303\304\305\" \"!)D\207" [default-directory magit-repolist-columns vconcat mapcar make-closure #[257 "\3018\300!\206 \302\207" [V0 2 ""] 3 "\n\n(fn IT)"]] 11 "\n\n(fn ARG0)"] magit-list-repos-uniquify #[257 "\300\301!!B\207" [file-name-nondirectory directory-file-name] 4 "\n\n(fn IT)"] magit-list-repos] 6]) #@90 Insert the identification of the repository. Usually this is just its basename. (fn ID) (defalias 'magit-repolist-column-ident #[257 "\207" [] 2 (#$ . 7965)]) #@54 Insert the absolute path of the repository. (fn ID) (defalias 'magit-repolist-column-path #[257 "\301!\207" [default-directory abbreviate-file-name] 3 (#$ . 8131)]) #@68 Insert a description of the repository's `HEAD' revision. (fn ID) (defalias 'magit-repolist-column-version #[257 "\300\301\302\303#\206\300\304\305\306\307$\211\205?\310 \311\312\"\216\313\314\"\203*\315\316\224TG\317$\210\203;\313\320\"\203;\321P\202<)\262\207" [magit-git-string "describe" "--tags" "--dirty" "show" "--no-patch" "--format=%cd-g%h" "--date=format:%Y%m%d.%H%M" match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] string-match "-dirty\\'" magit--put-face 0 error "\\`[0-9]" " "] 8 (#$ . 8304)]) #@37 Insert the current branch. (fn ID) (defalias 'magit-repolist-column-branch #[257 "\300 \207" [magit-get-current-branch] 2 (#$ . 8868)]) #@60 Insert the upstream branch of the current branch. (fn ID) (defalias 'magit-repolist-column-upstream #[257 "\300 \207" [magit-get-upstream-branch] 2 (#$ . 9011)]) #@323 Insert a flag as specified by `magit-repolist-column-flag-alist'. By default this indicates whether there are uncommitted changes. - N if there is at least one untracked file. - U if there is at least one unstaged file. - S if there is at least one staged file. Only one letter is shown, the first that applies. (fn ID) (defalias 'magit-repolist-column-flag #[257 "\301\302\"\207" [magit-repolist-column-flag-alist seq-some #[257 "\211\242\243 \205\f\211\207" [] 6 "\n\n(fn ARG0)"]] 4 (#$ . 9181)]) #@71 Insert number of upstream commits not in the current branch. (fn ID) (defalias 'magit-repolist-column-unpulled-from-upstream #[257 "\300 \211\205\301\302\"A@\303\304!\305V\203\306\202\307\"\262\207" [magit-get-upstream-branch magit-rev-diff-count "HEAD" magit--propertize-face number-to-string 0 bold shadow] 7 (#$ . 9694)]) #@82 Insert number of commits in the push branch but not the current branch. (fn ID) (defalias 'magit-repolist-column-unpulled-from-pushremote #[257 "\300\301\302\"\211\205 \303\304\"A@\305\306!\307V\203\310\202\311\"\262\207" [magit-get-push-branch nil t magit-rev-diff-count "HEAD" magit--propertize-face number-to-string 0 bold shadow] 7 (#$ . 10036)]) #@79 Insert number of commits in the current branch but not its upstream. (fn ID) (defalias 'magit-repolist-column-unpushed-to-upstream #[257 "\300 \211\205\301\302\"@\303\304!\305V\203\306\202\307\"\262\207" [magit-get-upstream-branch magit-rev-diff-count "HEAD" magit--propertize-face number-to-string 0 bold shadow] 7 (#$ . 10403)]) #@82 Insert number of commits in the current branch but not its push branch. (fn ID) (defalias 'magit-repolist-column-unpushed-to-pushremote #[257 "\300\301\302\"\211\205\303\304\"@\305\306!\307V\203\310\202\311\"\262\207" [magit-get-push-branch nil t magit-rev-diff-count "HEAD" magit--propertize-face number-to-string 0 bold shadow] 7 (#$ . 10751)]) #@37 Insert number of branches. (fn ID) (defalias 'magit-repolist-column-branches #[257 "\300 G\301\302!\303V\203\304\202\305\"\207" [magit-list-local-branches magit--propertize-face number-to-string 1 bold shadow] 6 (#$ . 11115)]) #@36 Insert number of stashes. (fn ID) (defalias 'magit-repolist-column-stashes #[257 "\300 G\301\302!\303V\203\304\202\305\"\207" [magit-list-stashes magit--propertize-face number-to-string 0 bold shadow] 6 (#$ . 11355)]) #@608 Read a Git repository in the minibuffer, with completion. The completion choices are the basenames of top-levels of repositories found in the directories specified by option `magit-repository-directories'. In case of name conflicts the basenames are prefixed with the name of the respective parent directories. The returned value is the actual path to the selected repository. If READ-DIRECTORY-NAME is non-nil or no repositories can be found based on the value of `magit-repository-directories', then read an arbitrary directory using `read-directory-name' instead. (fn &optional READ-DIRECTORY-NAME) (defalias 'magit-read-repository #[256 "\211?\205 \205 \302 \211\203.\303\304\"\305\306\"A\206,\307!\203(\310!\202,\311\312\"!\207\305\313\314\315 \2067 \"!\207" [magit-repository-directories default-directory magit-repos-alist magit-completing-read "Git repository" file-name-as-directory assoc file-directory-p expand-file-name user-error "Not a repository or a directory: %s" read-directory-name "Git repository: " magit-toplevel] 7 (#$ . 11587)]) (defalias 'magit-list-repos #[0 "\301\302\"\207" [magit-repository-directories cl-mapcan #[257 "\211\242\243\300\"\207" [magit-list-repos-1] 8 "\n\n(fn ARG0)"]] 3]) #@24 (fn DIRECTORY DEPTH) (defalias 'magit-list-repos-1 #[514 "\301\302\303\"!\203\304!C\207\211\305V\205*\306!\205*\307\310\311\312\313\"\314\315\315$\"\"\207" [directory-files-no-dot-files-regexp file-readable-p expand-file-name ".git" file-name-as-directory 0 magit-file-accessible-directory-p apply append mapcar make-closure #[257 "\301!\205 \302\300S\"\207" [V0 file-directory-p magit-list-repos-1] 4 "\n\n(fn IT)"] directory-files t] 11 (#$ . 12836)]) #@14 (fn ALIST) (defalias 'magit-list-repos-uniquify #[257 "\300C\301\302\303\"\304!\211\203%\211@\305@A\306@\"B#\210A\266\202\202 \210\307\310\311\"\"\210\242\207" [nil make-hash-table :test equal delete-dups puthash gethash maphash make-closure #[514 "\211G\301U\203\300@B\300\242B\240\207\300\302\300\242\303\304\305\306\"\"!\"\240\207" [V0 1 append magit-list-repos-uniquify mapcar make-closure #[257 "\300\301\302\303\304\300GT[O!!QB\207" [V0 "\\" file-name-nondirectory directory-file-name 0] 8 "\n\n(fn IT)"]] 10 "\n\n(fn KEY VALUE)"]] 11 (#$ . 13312)]) (defalias 'magit-repos-alist #[0 "\300\301\302\303 \"!\207" [magit-list-repos-uniquify mapcar #[257 "\300\301!!B\207" [file-name-nondirectory directory-file-name] 4 "\n\n(fn IT)"] magit-list-repos] 4]) (provide 'magit-repos)