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



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\307\302&\207" [require counsel projectile custom-declare-group counsel-projectile nil "Ivy integration for Projectile." :group ivy] 8)#@409 Create a custom variable named "COMMAND-action" in GROUP,
with default value ACTION, to be used as `:action' parameter for
COMMAND's `ivy-read' call.

This variable holds either a single action function, or an action
list whose first element is the index of the default action in
the list and the remaining elements are the actions (a key, a
function, and a name for each action).

(fn COMMAND ACTION GROUP)
(defalias 'counsel-projectile--defcustom-action #[771 "\300\301\302\303\304\"!\305D\303\306\"\307\310\311\305	D\257!\207" [eval defcustom intern format "%s-action" quote "Action(s) for `%s'.\n\nThis variable holds either a single action function (function of\none variable, the selected candidate) or an action list\nconsisting of:\n\n- the index of the default action in the list (1 for the first\n  action, etc),\n- the available actions, each of which consists of:\n  - a key (string) to call the action,\n  - an action function of one variable,\n  - a name (string) for the action.\n\nIn both cases, extra actions can be added with `ivy-set-actions'.\nAn action is triggered for the selected candidate with `M-o\n<key>' or `C-M-o <key>'.  The default action can also be\ntriggered with `M-RET' or `C-M-RET'. If this variable holds a\nsingle action function, this action becomes the default action\nand is assigned the key \"o\".  For an action list, it is also\nusual to assign the key \"o\" to the default action." :type '(choice (function :tag "Single action function") (cons :tag "Action list" (integer :tag "Index of default action" :value 1) (repeat :tag "Actions" (list :tag "Action" (string :tag "     key") (function :tag "function") (string :tag "    name"))))) :group] 13 (#$ . 283)])#@406 Return the index in ACTION-LIST of the action whose key,
function, name, or index in the list (1 for the first action,
etc) is ACTION-ITEM.  If there is no such action, throw an error.

ACTION-LIST is an action list whose first element is the index of
the default action in the list and the remaining elements are the
actions (a key, a function, and a name for each action).

(fn ACTION-ITEM ACTION-LIST)
(defalias 'counsel-projectile--action-index #[514 "\300\250\203 \301\302G#\2039 \262\2029 \303\304!\203# \305\306\"\202, ;\205, \305\307\"A\"\262\211\2039 \211T\262\211\206A \310\311\"\207" [nil < 0 cl-position-if functionp make-closure #[257 "\300A@\232\207" [V0] 3 "\n\n(fn ACTION)"] #[257 "\300@AA@D\235\207" [V0] 4 "\n\n(fn ACTION)"] error "Action not found: %s"] 7 (#$ . 2003)])#@2140 Make MODIFICATIONS to ACTION-VAR.

ACTION-VAR is a variable holding an action list whose first
element is the index of the default action in the list and the
remaining elements are the actions (a key, a function, and a name
for each action).

MODIFICATIONS is a list of modifications to be applied
sequentially to ACTION-LIST. Each modification has one of the
following formats:

    (remove ACTION-ITEM)
        Remove the action whose key, function, name, or index in
        the list (1 for the first action, etc) is ACTION-ITEM
        from the list.

    (add ACTION TARGET-ITEM)
        Add ACTION (a list containing a key, a function, and a
        name) to the list, just before the action whose key,
        function, name, or index in the list (1 for the first
        action, etc) is TARGET-ITEM.  If TARGET-ITEM is omitted,
        add the action at the end of the list.

    (move ACTION-ITEM TARGET-ITEM)
        Move the action whose key, function, name, or index in
        the list (1 for the first action, etc) is ACTION-ITEM
        just before the action whose key, function, name, or
        index in the list (1 for the first action, etc) is
        TARGET-ITEM.  If TARGET-ITEM is omitted, move the action
        to the end of the list.

    (setkey ACTION-ITEM KEY)
        Set the key of the action whose key, function, name, or
        index in the list (1 for the first action, etc) is
        ACTION-ITEM to KEY.

    (setfun ACTION-ITEM FUNCTION)
        Set the function of the action whose key, function, name,
        or index in the list (1 for the first action, etc) is
        ACTION-ITEM to FUNCTION.

    (setname ACTION-ITEM NAME)
        Set the name of the action whose key, function, name, or
        index in the list (1 for the first action, etc) is
        ACTION-ITEM to NAME.

    (default ACTION-ITEM)
        Set the index of the default action in the list to that
        of the action whose key, function, name, or index in the
        list (1 for the first action, etc) is ACTION-ITEM.

If anything goes wrong, throw an error and do not modify ACTION-VAR.

(fn ACTION-VAR MODIFICATIONS)
(defalias 'counsel-projectile-modify-action #[514 "J\300<\204 \301\302\"\210\211A\262\242\211\262\203K\211:\203 \211\242\211\303\267\210\202 \243\211:\203F \211\242\243\211\204D \304\305\"8\"\262\266\266\202 \243\211:\203\254 \211\242\243\211:\203\236 \211\242\243\211\204\231 \305	\"\300\306\300:\203\222 @\262B\262U\203\207 B\262A\262T\262\202m \211\237\266\204\262	\210\266\202 \211\204\252 \307C\"\262\266\266\202 \243\211:\203\211\242\243\211:\203\346 \211\242\243\211\204\341 \310\305\n\"	8E	B\262	\304D	B\262	\266\202 \211\204\310\305\"8DB\262\304DB\262\266\266\202 \243\211:\203`\211\242\243\211:\203^\211\242\243\211\204\\\305	\"\300\311\300:\203U@\262U\203EABB\262\202JB\262A\262T\262\202*\211\237\266\204\262	\210\266\266\266\202 \243\211:\203\301\211\242\243\211:\203\277\211\242\243\211\204\275\305	\"\300\311\300:\203\266@\262U\203\246@AA@EB\262\202\253B\262A\262T\262\202\207\211\237\266\204\262	\210\266\266\266\202 \243\211:\203!\211\242\243\211:\203\211\242\243\211\204\305	\"\300\311\300:\203@\262U\203@A@EB\262\202B\262A\262T\262\202\350\211\237\266\204\262	\210\266\266\266\202 \243\211:\203B\211\242\243\211\204@\305\"AB\262\266\266\202 \210\202 L\207" [nil error "%s's value is not a list" #s(hash-table size 7 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (remove 39 add 75 move 177 setkey 264 setfun 357 setname 454 default 550)) remove counsel-projectile--action-index 1 append add 0] 18 (#$ . 2816)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\210\300\316\302\303\317DD\320\306\321\310\311&\210\322\323\324\311#\207" [custom-declare-variable counsel-projectile-sort-files funcall function #[0 "\300\207" [nil] 1 #1=""] "Non-nil if files should be sorted in\n`counsel-projectile-find-file' and `counsel-projectile'.\n\nThe sorting function can be modified by adding an entry for\n`counsel-projectile-find-file' in `ivy-sort-functions-alist'." :type boolean :group counsel-projectile counsel-projectile-find-file-matcher #[0 "\300\207" [counsel--find-file-matcher] 1 #1#] "Function returning candidates matching minibuffer input in\n`counsel-projectile-find-file', also used to match files in\n`counsel-projectile'.\n\nSeveral choices are proposed:\n\n- Ivy generic matcher (`ivy--re-filter'). This is the matcher\n  used by default in all ivy commands.\n\n- Counsel matcher (`counsel--find-file-matcher').  This is the\n  matcher used in `counsel-find-file', allowing to ignore some\n  files based on `counsel-find-file-ignore-regexp'.\n\n- Counsel-projectile basename\n  matcher (`counsel-projectile-basename-matcher').  This one only\n  displays files whose basename matches minibuffer input, or if\n  there is none all files whose name (relative to the project\n  root) matches. It also uses the counsel matcher to ignore some\n  files.\n\nIt is also possible to use a custom matcher.  It must be a function taking two argument, the regexp and the candidates (see e.g. `counsel--find-file-matcher')." (choice (const :tag "Ivy generic matcher" ivy--re-filter) (const :tag "Counsel matcher" counsel--find-file-matcher) (const :tag "Counsel-projectile basename matcher" counsel-projectile-find-file-matcher-basename) (function :tag "Custom function")) counsel-projectile-find-file-more-chars #[0 "\300\207" [0] 1 #1#] "Number of characters to input before matching project files are shown.\n\nSetting it to a strictly positive value can improve performance in large projects." integer counsel-projectile--defcustom-action counsel-projectile-find-file (1 ("o" counsel-projectile-find-file-action "current window") ("j" counsel-projectile-find-file-action-other-window "other window") ("x" counsel-projectile-find-file-action-extern "open externally") ("r" counsel-projectile-find-file-action-root "open as root") ("m" counsel-projectile-find-file-action-find-file-manually "find file manually") ("k" counsel-projectile-find-file-action-delete "delete") ("p" counsel-projectile-find-file-action-switch-project "switch project"))] 8)#@26 

(fn REGEXP CANDIDATES)
(defalias 'counsel-projectile--find-file-matcher #[514 "\303BC\304 \206 \n\")\207" [counsel-projectile-find-file-more-chars ivy-more-chars-alist counsel-projectile-find-file-matcher t ivy-more-chars] 5 (#$ . 9212)])#@254 Return the list of CANDIDATES whose basename matches REGEXP,
or if there is none the list of all CANDIDATES matching REGEXP.
Also uses `counsel--find-file-matcher' to ignore candidates based
on `counsel-find-file-ignore-regexp'.

(fn REGEXP CANDIDATES)
(defalias 'counsel-projectile-find-file-matcher-basename #[514 "\301\"\302\230\204P ;\203 \303BC\202 \211\203F \211@\3041; \211A\203, \305\202- \306@\307\310\"\262\"0\202= \210\311\262A\266\202\202 \210\312\311\"\266\202\206T \312\311\"\207" [ivy-text ivy--re-filter "" t (error) cl-remove-if-not cl-remove-if make-closure #[257 "\301\300\302!\"\207" [V0 string-match file-name-nondirectory] 5 "\n\n(fn X)"] nil counsel--find-file-matcher] 12 (#$ . 9464)])#@59 Find FILE and run `projectile-find-file-hook'.

(fn FILE)
(defalias 'counsel-projectile-find-file-action #[257 "\300\301!!\210\302\303!\207" [find-file projectile-expand-root run-hooks projectile-find-file-hook] 4 (#$ . 10199)])#@77 Find FILE in another window and run
`projectile-find-file-hook'.

(fn FILE)
(defalias 'counsel-projectile-find-file-action-other-window #[257 "\300\301!!\210\302\303!\207" [find-file-other-window projectile-expand-root run-hooks projectile-find-file-hook] 4 (#$ . 10434)])#@60 Call `counsel-find-file' from FILE's directory.

(fn FILE)
(defalias 'counsel-projectile-find-file-action-find-file-manually #[257 "\301!\302!\303 )\207" [default-directory projectile-expand-root file-name-directory counsel-find-file] 4 (#$ . 10713)])#@70 Find FILE externally and run `projectile-find-file-hook'.

(fn FILE)
(defalias 'counsel-projectile-find-file-action-extern #[257 "\300\301!!\210\302\303!\207" [counsel-find-file-extern projectile-expand-root run-hooks projectile-find-file-hook] 4 (#$ . 10973)])#@67 Find FILE as root and run `projectile-find-file-hook'.

(fn FILE)
(defalias 'counsel-projectile-find-file-action-root #[257 "\300\301!!\210\302\303!\207" [counsel-find-file-as-root projectile-expand-root run-hooks projectile-find-file-hook] 4 (#$ . 11241)])#@25 Delete FILE.

(fn FILE)
(defalias 'counsel-projectile-find-file-action-delete #[257 "\300\301!!\207" [counsel-find-file-delete projectile-expand-root] 4 (#$ . 11505)])#@77 Switch project action for `counsel-projectile-find-file'.

(fn &optional _)
(defalias 'counsel-projectile-find-file-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-find-file] 3 (#$ . 11679)])#@69 Transform non-visited file names with `ivy-virtual' face.

(fn STR)
(defalias 'counsel-projectile-find-file-transformer #[257 "\300\301!!\204 \302\303\304#\207\207" [get-file-buffer projectile-expand-root propertize face ivy-virtual] 5 (#$ . 11948)])#@167 Jump to a file in the current project.

With a prefix ARG, invalidate the cache first.  If DWIM is
non-nil, use completion based on context.

(fn &optional ARG DWIM)
(defalias 'counsel-projectile-find-file #[512 "\303=\203 \304 \204 \305 \207\306!\210\307 \205 \310!\311\312\313!\206$ \314\315\316\317\320	\321\n\322\323&\f\207" [projectile-require-project-root counsel-projectile-sort-files counsel-projectile-find-file-action prompt projectile-project-p counsel-projectile-find-file-action-switch-project projectile-maybe-invalidate-cache projectile-current-project-files projectile-select-files ivy-read projectile-prepend-project-name "Find file: " :matcher counsel-projectile--find-file-matcher :require-match t :sort :action :caller counsel-projectile-find-file] 17 (#$ . 12208) "P"])
(ivy-configure 'counsel-projectile-find-file :display-transformer-fn 'counsel-projectile-find-file-transformer)#@142 Jump to a file in the current project using completion based on context.

With a prefix ARG, invalidate the cache first.

(fn &optional ARG)
(defalias 'counsel-projectile-find-file-dwim #[256 "\300\301\"\207" [counsel-projectile-find-file t] 4 (#$ . 13126) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\311#\207" [custom-declare-variable counsel-projectile-sort-directories funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil if directories should be sorted in\n`counsel-projectile-find-dir'.\n\nThe sorting function can be modified by adding an entry for\n`counsel-projectile-find-dir' in `ivy-sort-functions-alist'." :type boolean :group counsel-projectile counsel-projectile--defcustom-action counsel-projectile-find-dir (1 ("o" counsel-projectile-find-dir-action "current window") ("j" counsel-projectile-find-dir-action-other-window "other window") ("x" counsel-projectile-find-dir-action-extern "open externally") ("r" counsel-projectile-find-dir-action-root "open as root") ("m" counsel-projectile-find-file-action-find-file-manually "find file manually") ("p" counsel-projectile-find-dir-action-switch-project "switch project"))] 8)#@49 Return a list of current project's directories.
(defalias 'counsel-projectile--project-directories #[0 "\203	 \301\302 B\207\302 \207" [projectile-find-dir-includes-top-level "./" projectile-current-project-dirs] 2 (#$ . 14307)])#@68 Visit DIR with dired and run `projectile-find-dir-hook'.

(fn DIR)
(defalias 'counsel-projectile-find-dir-action #[257 "\300\301!!\210\302\303!\207" [dired projectile-expand-root run-hooks projectile-find-dir-hook] 4 (#$ . 14543)])#@86 Visit DIR with dired in another window and run
`projectile-find-dir-hook'.

(fn DIR)
(defalias 'counsel-projectile-find-dir-action-other-window #[257 "\300\301!!\210\302\303!\207" [dired-other-window projectile-expand-root run-hooks projectile-find-dir-hook] 4 (#$ . 14781)])#@68 Visit DIR externally and run `projectile-find-dir-hook'.

(fn DIR)
(defalias 'counsel-projectile-find-dir-action-extern #[257 "\300\301!!\210\302\303!\207" [counsel-find-file-extern projectile-expand-root run-hooks projectile-find-dir-hook] 4 (#$ . 15063)])#@65 Visit DIR as root and run `projectile-find-dir-hook'.

(fn DIR)
(defalias 'counsel-projectile-find-dir-action-root #[257 "\300\301!!\210\302\303!\207" [counsel-find-file-as-root projectile-expand-root run-hooks projectile-find-dir-hook] 4 (#$ . 15327)])#@76 Switch project action for `counsel-projectile-find-dir'.

(fn &optional _)
(defalias 'counsel-projectile-find-dir-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-find-dir] 3 (#$ . 15587)])#@56 Transform candidates with `ivy-subdir' face.

(fn STR)
(defalias 'counsel-projectile-find-dir-transformer #[257 "\300\301\302#\207" [propertize face ivy-subdir] 5 (#$ . 15853)])#@113 Jump to a directory in the current project.

With a prefix ARG, invalidate the cache first.

(fn &optional ARG)
(defalias 'counsel-projectile-find-dir #[256 "\303=\203 \304 \204 \305 \207\306!\210\307\310\311!\312 \313\314\315	\316\n\317\320&\n\207" [projectile-require-project-root counsel-projectile-sort-directories counsel-projectile-find-dir-action prompt projectile-project-p counsel-projectile-find-dir-action-switch-project projectile-maybe-invalidate-cache ivy-read projectile-prepend-project-name "Find dir: " counsel-projectile--project-directories :require-match t :sort :action :caller counsel-projectile-find-dir] 12 (#$ . 16038) "P"])
(byte-code "\300\301\302\303#\210\304\305\306\307\310DD\311\312\313\314\315&\210\304\316\306\307\317DD\320\312\313\314\315&\210\304\321\306\307\322DD\323\312\313\314\315&\210\324\325\326\315#\207" [ivy-configure counsel-projectile-find-dir :display-transformer-fn counsel-projectile-find-dir-transformer custom-declare-variable counsel-projectile-sort-buffers funcall function #[0 "\300\207" [nil] 1 #1=""] "Non-nil if buffers should be sorted in\n`counsel-projectile-switch-to-buffer' and `counsel-projectile'.\n\nThe sorting function can be modified by adding an entry for\n`counsel-projectile-switch-to-buffer' in\n`ivy-sort-functions-alist'." :type boolean :group counsel-projectile counsel-projectile-remove-current-buffer #[0 "\300\207" [nil] 1 #1#] "Non-nil if current buffer should be removed from the\ncandidates list of `counsel-projectile-switch-to-buffer' and\n`counsel-projectile'." counsel-projectile-preview-buffers #[0 "\300\207" [nil] 1 #1#] "When non-nil, `counsel-projectile-switch-to-buffer' and `counsel-projectile'\ndisplay a preview of the selected buffer in the current window.\n\nThis makes these commands behave similarly to `counsel-switch-buffer'.  If\n`counsel-switch-buffer-preview-virtual-buffers' is also non-nil,\n`counsel-projectile' also displays a preview of the selected\nnon-visited file." counsel-projectile--defcustom-action counsel-projectile-switch-to-buffer (1 ("o" counsel-projectile-switch-to-buffer-action "current window") ("j" switch-to-buffer-other-window "other window") ("k" ivy--kill-buffer-action "kill") ("m" counsel-projectile-switch-to-buffer-action-find-file-manually "find file manually") ("p" counsel-projectile-switch-to-buffer-action-switch-project "switch project"))] 8)#@51 Keymap for `counsel-projectile-switch-to-buffer'.
(defvar counsel-projectile-switch-to-buffer-map (byte-code "\300 \301\302\303#\210\207" [make-sparse-keymap define-key "" #[0 "\302\303!	>\204 \304\305\306D\"\210\307H!\207" [ivy-last cl-struct-ivy-state-tags ivy--kill-buffer-action type-of signal wrong-type-argument ivy-state 23] 5 nil nil]] 5) (#$ . 18433))#@244 Return a list of buffers in the current project.

Like `projectile-project-buffer-names', but propertize buffer
names as in `ivy--buffer-list', and remove current buffer if
`counsel-projectile-remove-currennt-buffer' is non-nil.

(fn &rest _)
(defalias 'counsel-projectile--project-buffers #[128 "\301 C\203 \211\302\303p!\242\"\240\210\304\305\306\307\310\"#\207" [counsel-projectile-remove-current-buffer projectile-project-buffer-names delete buffer-name ivy--buffer-list "" nil make-closure #[257 "\211@\300\242\235\207" [V0] 3 "\n\n(fn X)"]] 8 (#$ . 18807)])#@32 Switch to BUFFER.

(fn BUFFER)
(defalias 'counsel-projectile-switch-to-buffer-action #[257 "\300\301\302#\207" [switch-to-buffer nil force-same-window] 5 (#$ . 19380)])#@72 Call `counsel-find-file' from BUFFER's default directory.

(fn BUFFER)
(defalias 'counsel-projectile-switch-to-buffer-action-find-file-manually #[257 "\301!\211\203 \302\300\"\206 \303 \304 )\207" [default-directory get-buffer buffer-local-value projectile-project-root counsel-find-file] 5 (#$ . 19555)])#@84 Switch project action for `counsel-projectile-switch-to-buffer'.

(fn &optional _)
(defalias 'counsel-projectile-switch-to-buffer-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-switch-to-buffer] 3 (#$ . 19871)])#@247 Transform candidate STR when switching project buffers.

This simply applies the same transformer as in `ivy-switch-buffer', which is `ivy-switch-buffer-transformer' by default but could have been modified e.g. by the ivy-rich package.

(fn STR)
(defalias 'counsel-projectile-switch-to-buffer-transformer #[257 "\301\302\"!\207" [ivy--display-transformers-alist ivy-alist-setting ivy-switch-buffer] 4 (#$ . 20162)])#@61 Update function for `counsel-projectile--switch-to-buffer'.
(defalias 'counsel-projectile--switch-to-buffer-update-fn #[0 "\204 \306 	\205'\307\n!>\204 \310\311\312\nD\"\210\n\313H\f\235\203M \307\n!>\2041 \310\311\312\nD\"\210\n\211\313\307\n!>\204C \310\311\312\nD\"\210\n\313HG\314OI\266\307\n!>\204\\ \310\311\312\nD\"\210\n\313H\315\230\204\201 \316\307\n!>\204t \310\311\312\nD\"\210\n\313H!\203\201 \314\317 )\207\307\n!>\204\220 \310\311\312\nD\"\210\n\313H\315\230\204\347  \203\347 \320\321\307\n!>\204\256 \310\311\312\nD\"\210\n\313H!!\203\347 \3221\324 \323\321\307\n!>\204\313 \310\311\312\nD\"\210\n\313H!!0\202\326 \210\314\211\203\343 \211!B!\317 \207\324\315!\207\325\326\n!!r\327\330\"\216\331@\332\"\210\333\334\307\n!>\204	\310\311\312\nD\"\210\n\335H\336\"\206#\307\n!>\204 \310\311\312\nD\"\210\n\337H!*\262\207" [counsel--switch-buffer-previous-buffers counsel-projectile-preview-buffers ivy-last cl-struct-ivy-state-tags ivy-marked-candidates ivy-mark-prefix buffer-list type-of signal wrong-type-argument ivy-state 23 nil "" get-buffer ivy-call file-exists-p projectile-expand-root (error) find-file-noselect message internal--before-with-selected-window ivy--get-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord switch-to-buffer plist-get 27 :from-buffer 13 counsel-switch-buffer-preview-virtual-buffers counsel--switch-buffer-temporary-buffers] 7 (#$ . 20585)])#@282 Jump to a buffer in the current project.

If `counsel-projectile-preview-buffers' is non-nil, display a
preview of the selected ivy completion candidate buffer as in
`counsel-switch-buffer', falling back to the current buffer or
optionally FROM-BUFFER.

(fn &optional FROM-BUFFER)
(defalias 'counsel-projectile-switch-to-buffer #[256 "\304=\203 \305 \204 \306 \207\307\310\311!\312\313\314\315\316\317	\320\n\321\322\323D\324\325&\207" [projectile-require-project-root counsel-projectile-sort-buffers counsel-projectile-switch-to-buffer-action counsel-projectile-switch-to-buffer-map prompt projectile-project-p counsel-projectile-switch-to-buffer-action-switch-project ivy-read projectile-prepend-project-name "Switch to buffer: " counsel-projectile--project-buffers :matcher ivy--switch-buffer-matcher :require-match t :sort :action :keymap :extra-props :from-buffer :caller counsel-projectile-switch-to-buffer] 18 (#$ . 22067) nil])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\320\321&\210\322\323\324\321#\210\310\325\312\313\326DD\327\316\330\320\321&\207" [ivy-configure counsel-projectile-switch-to-buffer :display-transformer-fn counsel-projectile-switch-to-buffer-transformer :update-fn counsel-projectile--switch-to-buffer-update-fn :unwind-fn counsel--switch-buffer-unwind custom-declare-variable counsel-projectile-grep-initial-input funcall function #[0 "\300\207" [nil] 1 #1=""] "Initial minibuffer input for `counsel-projectile-grep'.  If\nnon-nil, it should be a Lisp expression whose evaluation yields\nthe initial input string.\n\nNote that you can always insert the value\nof `(ivy-thing-at-point)' by hitting \"M-n\" in the minibuffer." :type (choice (const :tag "None" nil) (const :tag "Symbol at point (generic)" (thing-at-point 'symbol t)) (const :tag "Symbol or selection at point (projectile)" (projectile-symbol-or-selection-at-point)) (const :tag "Thing at point (ivy)" (ivy-thing-at-point)) (sexp :tag "Custom expression")) :group counsel-projectile counsel-projectile--defcustom-action counsel-projectile-grep (1 ("o" counsel-git-grep-action "default") ("p" counsel-projectile-grep-action-switch-project "switch project")) counsel-projectile-git-grep-extra-actions #[0 "\300\207" [(("p" counsel-projectile-git-grep-action-switch-project "switch project"))] 1 #1#] "List of extra actions to add to\n`counsel-projectile-git-grep' (in addition to the actions of\n`counsel-git-grep')." (repeat :tag "Actions" (list :tag "Action" (string :tag "     key") (function :tag "function") (string :tag "    name")))] 8)#@76 Format string to use in `cousel-projectile-grep' to
construct the command.
(defvar counsel-projectile-grep-base-command "grep -rnEI %s" (#$ . 24659))#@72 Switch project action for `counsel-projectile-grep'.

(fn &optional _)
(defalias 'counsel-projectile-grep-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-grep] 3 (#$ . 24814)])#@76 Switch project action for `counsel-projectile-git-grep'.

(fn &optional _)
(defalias 'counsel-projectile-git-grep-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-git-grep] 3 (#$ . 25068)])#@424 Search the current project with grep.

If inside a git project and `projectile-use-git-grep' is non-nil,
use git grep. Otherwise use grep recursively.

OPTIONS-OR-CMD, if non-nil, is a string containing either
additional options to be passed to grep, or an alternative git
grep command. It is read from the minibuffer if the function is
called with a `\[universal-argument]' prefix argument.

(fn &optional OPTIONS-OR-CMD)
(defalias 'counsel-projectile-grep #[256 "\306=\203 \307 \204 \310 \207\311 \312=\203 	\203 \313!\207\314\315\316\317 \320 \"\321#\314\322\323 \321#\321Q\n\324\325\")\326!\327U\203C \330\331\332!!\333 \334\f<\203V \f\202Y \335\f!@\336P!\337\340&)\207" [projectile-require-project-root projectile-use-git-grep counsel-projectile-grep-base-command counsel-ag-command counsel-ag-base-command current-prefix-arg prompt projectile-project-p counsel-projectile-grep-action-switch-project projectile-project-vcs git counsel-projectile-git-grep mapconcat #[257 "\300\301!P\207" ["--exclude=" shell-quote-argument] 4 "\n\n(fn I)"] append projectile--globally-ignored-file-suffixes-glob projectile-ignored-files-rel " " #[257 "\300\301!P\207" ["--exclude-dir=" shell-quote-argument] 4 "\n\n(fn I)"] projectile-ignored-directories-rel counsel--format-ag-command "%s" prefix-numeric-value 4 (16) counsel-ag eval projectile-project-root projectile-prepend-project-name split-string ": " :caller counsel-projectile-grep counsel-projectile-grep-initial-input] 11 (#$ . 25335) nil])
(ivy-configure 'counsel-projectile-grep :occur 'counsel-ag-occur :unwind-fn 'counsel--grep-unwind :display-transformer-fn 'counsel-git-grep-transformer :grep-p t :exit-codes '(1 "No matches found"))#@242 Search the current project with git grep.

CMD, if non-nil, is a string containing an alternative git grep
command. It is read from the minibuffer if the function is called
with a `\[universal-argument]' prefix argument.

(fn &optional CMD)
(defalias 'counsel-projectile-git-grep #[256 "\305=\203 \306 \204 \307 \207\310	!\311\312\n\"\210\312\313!\314 \f\206\" #)\207" [projectile-require-project-root ivy--actions-list counsel-projectile-git-grep-extra-actions counsel-projectile-grep-initial-input current-prefix-arg prompt projectile-project-p counsel-projectile-git-grep-action-switch-project copy-sequence ivy-add-actions counsel-git-grep eval projectile-project-root] 5 (#$ . 27049) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\207" [custom-declare-variable counsel-projectile-ag-initial-input funcall function #[0 "\300\207" [nil] 1 #1=""] "Initial minibuffer input for `counsel-projectile-ag'.  If\nnon-nil, it should be a Lisp expression whose evaluation yields\nthe initial input string.\n\nNote that you can always insert the value\nof `(ivy-thing-at-point)' by hitting \"M-n\" in the minibuffer." :type (choice (const :tag "None" nil) (const :tag "Symbol at point (generic)" (thing-at-point 'symbol t)) (const :tag "Symbol or selection at point (projectile)" (projectile-symbol-or-selection-at-point)) (const :tag "Thing at point (ivy)" (ivy-thing-at-point)) (sexp :tag "Custom expression")) :group counsel-projectile counsel-projectile-ag-extra-actions #[0 "\300\207" [(("p" counsel-projectile-ag-action-switch-project "switch project"))] 1 #1#] "List of extra actions to add to\n`counsel-projectile-ag' (in addition to the actions of\n`counsel-ag')." (repeat :tag "Actions" (list :tag "Action" (string :tag "     key") (function :tag "function") (string :tag "    name")))] 8)#@70 Switch project action for `counsel-projectile-ag'.

(fn &optional _)
(defalias 'counsel-projectile-ag-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-ag] 3 (#$ . 28917)])#@250 Search the current project with ag.

OPTIONS, if non-nil, is a string containing additional options to
be passed to ag. It is read from the minibuffer if the function
is called with a `\[universal-argument]' prefix argument.

(fn &optional OPTIONS)
(defalias 'counsel-projectile-ag #[256 "\306=\203 \307 \204 \310 \207\311	!\312\313\314\315 \316 \317 #\320#\n\321\322\")\323\324\f\"\210\325!\326U\2035 \327\324\330!\331 \332\n<\203G \n\202J \333\n!@\334P!$*\207" [projectile-require-project-root ivy--actions-list counsel-ag-base-command counsel-ag-command counsel-projectile-ag-extra-actions current-prefix-arg prompt projectile-project-p counsel-projectile-ag-action-switch-project copy-sequence mapconcat #[257 "\300\301!P\207" ["--ignore " shell-quote-argument] 4 "\n\n(fn I)"] append projectile--globally-ignored-file-suffixes-glob projectile-ignored-files-rel projectile-ignored-directories-rel " " counsel--format-ag-command "%s" ivy-add-actions counsel-ag prefix-numeric-value 4 (16) eval projectile-project-root projectile-prepend-project-name split-string ": " counsel-projectile-ag-initial-input] 9 (#$ . 29166) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\207" [custom-declare-variable counsel-projectile-rg-initial-input funcall function #[0 "\300\207" [nil] 1 #1=""] "Initial minibuffer input for `counsel-projectile-rg'.  If\nnon-nil, it should be a Lisp expression whose evaluation yields\nthe initial input string.\n\nNote that you can always insert the value\nof `(ivy-thing-at-point)' by hitting \"M-n\" in the minibuffer." :type (choice (const :tag "None" nil) (const :tag "Symbol at point (generic)" (thing-at-point 'symbol t)) (const :tag "Symbol or selection at point (projectile)" (projectile-symbol-or-selection-at-point)) (const :tag "Thing at point (ivy)" (ivy-thing-at-point)) (sexp :tag "Custom expression")) :group counsel-projectile counsel-projectile-rg-extra-actions #[0 "\300\207" [(("p" counsel-projectile-rg-action-switch-project "switch project"))] 1 #1#] "List of extra actions to add to\n`counsel-projectile-rg' (in addition to the actions of\n`counsel-rg')." (repeat :tag "Actions" (list :tag "Action" (string :tag "     key") (function :tag "function") (string :tag "    name")))] 8)#@70 Switch project action for `counsel-projectile-rg'.

(fn &optional _)
(defalias 'counsel-projectile-rg-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action-rg] 3 (#$ . 31475)])#@250 Search the current project with rg.

OPTIONS, if non-nil, is a string containing additional options to
be passed to rg. It is read from the minibuffer if the function
is called with a `\[universal-argument]' prefix argument.

(fn &optional OPTIONS)
(defalias 'counsel-projectile-rg #[256 "\306=\203 \307 \204 \310 \207\311	!\312\313\314\315 \316 \317 #\320#\n\321\322\")\323\324\f\"\210\325!\326U\2035 \327\324\330!\331 \332\n<\203G \n\202J \333\n!@\334P!$*\207" [projectile-require-project-root ivy--actions-list counsel-rg-base-command counsel-ag-command counsel-projectile-rg-extra-actions current-prefix-arg prompt projectile-project-p counsel-projectile-rg-action-switch-project copy-sequence mapconcat #[257 "\300\301!P\207" ["--glob !" shell-quote-argument] 4 "\n\n(fn I)"] append projectile--globally-ignored-file-suffixes-glob projectile-ignored-files-rel projectile-ignored-directories-rel " " counsel--format-ag-command "%s" ivy-add-actions counsel-rg prefix-numeric-value 4 (16) eval projectile-project-root projectile-prepend-project-name split-string ": " counsel-projectile-rg-initial-input] 9 (#$ . 31724) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315\316\317\320\321\322\311\316\323\315\316\324\325\257\326\315\316\327\330\331BBBBB\315\316\332\333\334BBBBB\315\316\335\336\337BBBBB\315\316\340\341\342BBBBB\315\316\343\344\345BBBBB\346BBBBBBBBBB\347BBBBBBB\257D\262\350\351&\210\300\352\302\303\353DD\354\306\355\350\351&\210\300\356\302\303\357DD\360\306\361\350\351&\210\300\362\302\303\363DD\364\306\365\350\351&\207" [custom-declare-variable counsel-projectile-org-capture-templates funcall function #[0 "\300\207" [(("t" "[${name}] Task" entry (file+headline "${root}/notes.org" "Tasks") "* TODO %?\n  %u\n  %a"))] 1 #1=""] "Project-specific templates for the creation of new entries\nwith `counsel-projectile-org-capture'.\n\nThe format is the same as in `org-capture-templates', except that\nin a template's name or target, the placeholders \"${root}\" and\n\"${name}\" can be used to stand for the current project root and\nname, respectively.\n\nThe default value contains a single template, whose name is\n\"[${name}] Task\" and whose target is:\n\n    (file+headline \"${root}/notes.org}\" \"Tasks\")\n\nThis points to headline \"Tasks\" in file \"notes.org\" in the\nproject root directory (one file per project).\n\nTwo other examples of valid targets are:\n\n    (file+headline \"${root}/${name}.org}\" \"Tasks\")\n    (file+olp \"~/notes.org\" \"${root}\" \"Tasks\")\n\nThe first one is similar to the default value's target, except\nthat the file is named after the project name (this can be handy\nif you use org-mode's agenda since the project name is then\ndisplayed as category). The second one points to outline path\n\"<project-root>/Tasks\" in file \"~/notes.org\" (same file for\nall projects)." :type (choice :tag "Filename       " (file :tag "Literal") (function :tag "Function") (variable :tag "Variable") (sexp :tag "Form")) repeat choice :value (#1# #1# entry (file "~/org/notes.org") #1#) (list :tag "Multikey description" (string :tag "Keys       ") (string :tag "Description")) list :tag "Template entry" (string :tag "Keys           ") (string :tag "Description    ") (choice :tag "Capture Type   " :value entry (const :tag "Org entry" entry) (const :tag "Plain list item" item) (const :tag "Checkbox item" checkitem) (const :tag "Plain text" plain) (const :tag "Table line" table-line)) "Target location" "File" (const :format #1# file) (list :tag "ID" (const :format #1# id) (string :tag "  ID")) "File & Headline" (const :format #1# file+headline) ((string :tag "  Headline")) "File & Outline path" (const :format #1# file+olp) ((repeat :tag "Outline path" :inline t (string :tag "Headline"))) "File & Regexp" (const :format #1# file+regexp) ((regexp :tag "  Regexp")) "File [ & Outline path ] & Date tree" (const :format #1# file+olp+datetree) ((option (repeat :tag "Outline path" :inline t (string :tag "Headline")))) "File & function" (const :format #1# file+function) ((sexp :tag "  Function")) ((list :tag "Current clocking task" (const :format #1# clock)) (list :tag "Function" (const :format #1# function) (sexp :tag "  Function"))) ((choice :tag "Template       " (string) (list :tag "File" (const :format #1# file) (file :tag "Template file")) (list :tag "Function" (const :format #1# function) (function :tag "Template function"))) (plist :inline t :options (((const :format "%v " :prepend) (const t)) ((const :format "%v " :immediate-finish) (const t)) ((const :format "%v " :jump-to-captured) (const t)) ((const :format "%v " :empty-lines) (const 1)) ((const :format "%v " :empty-lines-before) (const 1)) ((const :format "%v " :empty-lines-after) (const 1)) ((const :format "%v " :clock-in) (const t)) ((const :format "%v " :clock-keep) (const t)) ((const :format "%v " :clock-resume) (const t)) ((const :format "%v " :time-prompt) (const t)) ((const :format "%v " :tree-type) (const week)) ((const :format "%v " :unnarrowed) (const t)) ((const :format "%v " :table-line-pos) (string)) ((const :format "%v " :kill-buffer) (const t))))) :group counsel-projectile counsel-projectile-org-capture-templates-contexts #[0 "\300\207" [nil] 1 #1#] "Alist of capture templates and valid contexts for `counsel-projectile-org-capture'.\n\nThe format is the same as in `org-capture-templates-contexts'." (repeat (list :tag "Rule" (string :tag "        Capture key") (string :tag "Replace by template") (repeat :tag "Available when" (choice (cons :tag "Condition" (choice (const :tag "In file" in-file) (const :tag "Not in file" not-in-file) (const :tag "In buffer" in-buffer) (const :tag "Not in buffer" not-in-buffer) (const :tag "In mode" in-mode) (const :tag "Not in mode" not-in-mode)) (regexp)) (function :tag "Custom function"))))) counsel-projectile-org-capture-extra-actions #[0 "\300\207" [(("P" counsel-projectile-org-capture-action-switch-project "switch project"))] 1 #1#] "List of extra actions to add to\n`counsel-projectile-org-capture' (in addition to the actions of\n`counsel-org-capture')." (repeat :tag "Actions" (list :tag "Action" (string :tag "     key") (function :tag "function") (string :tag "    name"))) counsel-projectile-org-capture-templates-first-p #[0 "\300\207" [t] 1 #1#] "Non-nil if `counsel-projectile-org-capture' should display templates from `counsel-projectile-org-capture-templates' before those from `org-capture-templates'." boolean] 32)#@45 Stores a backup of `org-capture-templates'.
(defvar counsel-projectile--org-capture-templates-backup nil (#$ . 38226))#@79 Switch project action for `counsel-projectile-org-capture'.

(fn &optional _)
(defalias 'counsel-projectile-org-capture-action-switch-project #[256 "\302\303!\207" [counsel-projectile--org-capture-templates-backup org-capture-templates counsel-projectile-switch-project counsel-projectile-switch-project-action-org-capture] 3 (#$ . 38350)])#@590 Capture into the current project.

This command is a replacement for `org-capture' (or
`counsel-org-capture') offering project-specific capture
templates, in addition to the regular templates available from
`org-capture'. These project templates, which are "expanded"
relatively to the current project, are determined by the
variables `counsel-projectile-org-capture-templates' and
`counsel-projectile-org-capture-templates-contexts'. See the
former variable in particular for details.

Optional argument FROM-BUFFER specifies the buffer from which to
capture.

(fn &optional FROM-BUFFER)
(defalias 'counsel-projectile-org-capture #[256 "\306\307!\210\310\n!\3111 \312 0\202 \210\313\314 \315\205 \f\"\315?\205( \205\315 \316\317\320\321\316\322\323\324\325\fD\326\fDFE\327BBBE\313\211:\203\311 @\262\313\211:\203\272 @\262\330\"\331U\203q !B\262\202\263 \330\"\332U\203\256 \313\211:\203\243 @\262;\203\227 	!B\262\202\234 B\262A\262\202~ \211\237\266\203B\262\202\263 B\262A\262\202S \211\237\266\203B\262A\262\202G \211\237\266\204\205\322 #\333\334\"\210r\206\340 pq\210\334 ,\207" [org-capture-templates counsel-projectile--org-capture-templates-backup ivy--actions-list counsel-projectile-org-capture-templates-contexts org-capture-templates-contexts counsel-projectile-org-capture-templates-first-p require org-capture copy-sequence (error) projectile-project-root nil projectile-project-name append lambda (string) replace-regexp-in-string "\\${[^}]+}" (s) pcase s "${root}" "${name}" (string) cl-position 1 3 ivy-add-actions counsel-org-capture counsel-projectile-org-capture-templates counsel-projectile-org-capture-extra-actions] 17 (#$ . 38699) nil])#@250 Open project agenda.

This command simply calls `org-agenda' after filtering out all
agenda files that do not belong to the current project.

Optional arguments ARG, KEYS, and RESTRICTION are as in
`org-agenda'.

(fn &optional ARG KEYS RESTRICTION)
(defalias 'counsel-projectile-org-agenda #[768 "\302=\203 \303 \204 \304\305!\207\306\307!\210\310 \311\312\313\"\301\314\315\"\"\307#)\207" [projectile-require-project-root org-agenda-files prompt projectile-project-p counsel-projectile-switch-project counsel-projectile-switch-project-action-org-agenda require org-agenda projectile-project-root cl-remove-if-not make-closure #[257 "\301\300\302!\"\207" [V0 string-prefix-p expand-file-name] 5 "\n\n(fn FILE)"] t ifmode] 9 (#$ . 40433) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\315\316\317\311#\207" [custom-declare-variable counsel-projectile-sort-projects funcall function #[0 "\300\207" [nil] 1 #1=""] "Non-nil if projects should be sorted in\n`counsel-projectile-switch-project'.\n\nThe sorting function can be modified by adding an entry for\n`counsel-projectile-switch-project' in\n`ivy-sort-functions-alist'." :type boolean :group counsel-projectile counsel-projectile-remove-current-project #[0 "\300\207" [nil] 1 #1#] "Non-nil if current project should be removed from the\ncandidates list of `counsel-projectile-switch-project'." counsel-projectile--defcustom-action counsel-projectile-switch-project (1 ("o" counsel-projectile-switch-project-action "jump to a project buffer or file") ("f" counsel-projectile-switch-project-action-find-file "jump to a project file") ("d" counsel-projectile-switch-project-action-find-dir "jump to a project directory") ("D" counsel-projectile-switch-project-action-dired "open project in dired") ("b" counsel-projectile-switch-project-action-switch-to-buffer "jump to a project buffer") ("m" counsel-projectile-switch-project-action-find-file-manually "find file manually from project root") ("S" counsel-projectile-switch-project-action-save-all-buffers "save all project buffers") ("k" counsel-projectile-switch-project-action-kill-buffers "kill all project buffers") ("K" counsel-projectile-switch-project-action-remove-known-project "remove project from known projects") ("c" counsel-projectile-switch-project-action-compile "run project compilation command") ("C" counsel-projectile-switch-project-action-configure "run project configure command") ("E" counsel-projectile-switch-project-action-edit-dir-locals "edit project dir-locals") ("v" counsel-projectile-switch-project-action-vc "open project in vc-dir / magit / monky") ("sg" counsel-projectile-switch-project-action-grep "search project with grep") ("si" counsel-projectile-switch-project-action-git-grep "search project with git grep") ("ss" counsel-projectile-switch-project-action-ag "search project with ag") ("sr" counsel-projectile-switch-project-action-rg "search project with rg") ("xs" counsel-projectile-switch-project-action-run-shell "invoke shell from project root") ("xe" counsel-projectile-switch-project-action-run-eshell "invoke eshell from project root") ("xt" counsel-projectile-switch-project-action-run-term "invoke term from project root") ("xv" counsel-projectile-switch-project-action-run-vterm "invoke vterm from project root") ("Oc" counsel-projectile-switch-project-action-org-capture "capture into project") ("Oa" counsel-projectile-switch-project-action-org-agenda "open project agenda"))] 8)#@381 Switch to PROJECT.
Invokes the command referenced by
`projectile-switch-project-action' on switch.

This is a replacement for `projectile-switch-project-by-name'
with a different switching mechanism: the switch-project action
is called from a dedicated buffer rather than the initial buffer.
Also, PROJECT's dir-local variables are loaded before calling the
action.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-by-name #[257 "\302\303!\210\3041 \305\306!0\210\202 \210\307\306!q\210\211\310 \210	 \210r\306q\210\302\311!)\207" [default-directory projectile-switch-project-action run-hooks projectile-before-switch-project-hook (error) kill-buffer " *counsel-projectile*" get-buffer-create hack-dir-local-variables-non-file-buffer projectile-after-switch-project-hook] 3 (#$ . 43953)])#@52 Jump to a file or buffer in PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action #[257 "\303!	>\204 \304\305\306D\"\210\307H\310\311\312\313EE\314!)\207" [ivy-last cl-struct-ivy-state-tags projectile-switch-project-action type-of signal wrong-type-argument ivy-state 13 lambda nil counsel-projectile ivy-current-prefix-arg counsel-projectile-switch-project-by-name] 7 (#$ . 44760)])#@42 Jump to a file in PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-find-file #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg counsel-projectile-find-file] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 45177)])#@53 Call `find-file' from PROJECT's root.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-find-file-manually #[257 "\301\302\"\303!)\207" [projectile-switch-project-action make-closure #[0 "\301\300!\207" [V0 counsel-find-file] 2] counsel-projectile-switch-project-by-name] 4 (#$ . 45478)])#@47 Jump to a directory in PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-find-dir #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg counsel-projectile-find-dir] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 45791)])#@45 Open `dired' at PROJECT root.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-dired #[257 "\301\302!)\207" [projectile-switch-project-action projectile-dired counsel-projectile-switch-project-by-name] 3 (#$ . 46095)])#@44 Jump to a buffer in PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-switch-to-buffer #[257 "\303!	>\204 \304\305\306D\"\210\307H\310\311\312DE\313!)\207" [ivy-last cl-struct-ivy-state-tags projectile-switch-project-action type-of signal wrong-type-argument ivy-state 13 lambda nil counsel-projectile-switch-to-buffer counsel-projectile-switch-project-by-name] 6 (#$ . 46338)])#@44 Save all buffers in PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-save-all-buffers #[257 "\301\302!)\207" [projectile-switch-project-action projectile-save-project-buffers counsel-projectile-switch-project-by-name] 3 (#$ . 46754)])#@44 Kill all buffers in PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-kill-buffers #[257 "\301\302!)\207" [projectile-switch-project-action projectile-kill-buffers counsel-projectile-switch-project-by-name] 3 (#$ . 47022)])#@63 Remove PROJECT from the list of known projects.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-remove-known-project #[257 "\302!\210\303\"\304	!\207" [ivy--all-candidates ivy-last projectile-remove-known-project delete ivy--reset-state] 4 (#$ . 47278)])#@48 Run PROJECT compliation command.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-compile #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg projectile-compile-project] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 47560)])#@46 Run PROJECT configure command.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-configure #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg projectile-configure-project] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 47863)])#@42 Edit PROJECT's dir-locals.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-edit-dir-locals #[257 "\301\302!)\207" [projectile-switch-project-action projectile-edit-dir-locals counsel-projectile-switch-project-by-name] 3 (#$ . 48168)])#@55 Open PROJECT in vc-dir / magit / monky.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-vc #[257 "\301\302!)\207" [projectile-switch-project-action projectile-vc counsel-projectile-switch-project-by-name] 3 (#$ . 48428)])#@51 Invoke `shell' from PROJECT's root.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-run-shell #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg projectile-run-shell] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 48675)])#@52 Invoke `eshell' from PROJECT's root.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-run-eshell #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg projectile-run-eshell] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 48977)])#@50 Invoke `term' from PROJECT's root.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-run-term #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg projectile-run-term] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 49282)])#@51 Invoke `vterm' from PROJECT's root.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-run-vterm #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\301!\207" [ivy-current-prefix-arg projectile-run-vterm] 2] counsel-projectile-switch-project-by-name] 3 (#$ . 49581)])#@41 Search PROJECT with grep.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-grep #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\302 \207" [ivy-current-prefix-arg current-prefix-arg counsel-projectile-grep] 1] counsel-projectile-switch-project-by-name] 3 (#$ . 49883)])#@45 Search PROJECT with git grep.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-git-grep #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\302 \207" [ivy-current-prefix-arg current-prefix-arg counsel-projectile-git-grep] 1] counsel-projectile-switch-project-by-name] 3 (#$ . 50193)])#@39 Search PROJECT with ag.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-ag #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\302 \207" [ivy-current-prefix-arg current-prefix-arg counsel-projectile-ag] 1] counsel-projectile-switch-project-by-name] 3 (#$ . 50515)])#@39 Search PROJECT with rg.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-rg #[257 "\301\302!)\207" [projectile-switch-project-action #[0 "\302 \207" [ivy-current-prefix-arg current-prefix-arg counsel-projectile-rg] 1] counsel-projectile-switch-project-by-name] 3 (#$ . 50819)])#@37 Capture into PROJECT.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-org-capture #[257 "\303!	>\204 \304\305\306D\"\210\307H\310\311\312DE\313!)\207" [ivy-last cl-struct-ivy-state-tags projectile-switch-project-action type-of signal wrong-type-argument ivy-state 13 lambda nil counsel-projectile-org-capture counsel-projectile-switch-project-by-name] 6 (#$ . 51123)])#@36 Open PROJECT agenda.

(fn PROJECT)
(defalias 'counsel-projectile-switch-project-action-org-agenda #[257 "\301\302!)\207" [projectile-switch-project-action counsel-projectile-org-agenda counsel-projectile-switch-project-by-name] 3 (#$ . 51522)])#@237 Switch project.

Optional argument DEFAULT-ACTION is the key, function, name, or
index in the list `counsel-projectile-switch-project-action' (1
for the first action, etc) of the action to set as default.

(fn &optional DEFAULT-ACTION)
(defalias 'counsel-projectile-switch-project #[256 "\304\305\306!\203 \307 \202 	\310\311 \205 \312\313 !\314\2034 \n<\2034 \n@\250\2034 \315\n\"\nAB\2065 \n\316\317\320\321\322&\f\207" [counsel-projectile-remove-current-project projectile-known-projects counsel-projectile-switch-project-action counsel-projectile-sort-projects ivy-read projectile-prepend-project-name "Switch to project: " projectile-relevant-known-projects :preselect projectile-project-p abbreviate-file-name projectile-project-root :action counsel-projectile--action-index :require-match t :sort :caller counsel-projectile-switch-project] 14 (#$ . 51775) nil])
(counsel-projectile--defcustom-action 'counsel-projectile '(1 ("o" counsel-projectile-action "current window") ("j" counsel-projectile-action-other-window "other window") ("k" counsel-projectile-action-kill-delete "kill buffer / delete-file") ("x" counsel-projectile-action-file-extern "open file externally") ("r" counsel-projectile-action-file-root "open file as root") ("m" counsel-projectile-action-find-file-manually "find file manually") ("p" counsel-projectile-action-switch-project "switch project")) 'counsel-projectile)#@34 Keymap for `counsel-projectile'.
(defvar counsel-projectile-map (byte-code "\300 \301\302\303#\210\207" [make-sparse-keymap define-key "" #[0 "\302\303!	>\204 \304\305\306D\"\210\307H!\207" [ivy-last cl-struct-ivy-state-tags counsel-projectile-action-kill-delete type-of signal wrong-type-argument ivy-state 23] 5 nil nil]] 5) (#$ . 53188))#@35 Stores a list of project buffers.
(defvar counsel-projectile--buffers nil (#$ . 53541))#@78 Stores a list of project files that are not currently
  visited by a buffer.
(defvar counsel-projectile--non-visited-files nil (#$ . 53634))#@231 Return a list of buffers and non-visited files in the current
  project.  Buffers and files are separately sorted depending on
  `counsel-projectile-sort-buffers' and
  `counsel-projectile-sort-files', respectively.

(fn &rest _)
(defalias 'counsel-projectile--project-buffers-and-files #[128 "\305 \306 \307 \310\211\211\203, \211@\311\312!!\211\262\203% \313\314\"\"\262A\266\202\202	 \210\203J G	X\203J \315\316!\211\262\203J \317\320!\"\262\n\203f G	X\203f \315\321!\211\262\203f \317\320!\"\262\322\211\211\"\207" [counsel-projectile-sort-buffers ivy-sort-max-size counsel-projectile-sort-files counsel-projectile--buffers counsel-projectile--non-visited-files counsel-projectile--project-buffers projectile-current-project-files projectile-project-root nil buffer-file-name get-buffer remove file-relative-name ivy--sort-function counsel-projectile-switch-to-buffer sort copy-sequence counsel-projectile-find-file append] 12 (#$ . 53781)])#@216 Return REGEXP-matching CANDIDATES for `counsel-projectile'.

Relies on `ivy--switch-buffer-matcher' for buffers and the
matcher specified in `counsel-projectile-find-file-matcher' for
files.

(fn REGEXP CANDIDATES)
(defalias 'counsel-projectile--matcher #[514 "\302\303\"\304	\"\"\207" [counsel-projectile--buffers counsel-projectile--non-visited-files append ivy--switch-buffer-matcher counsel-projectile--find-file-matcher] 7 (#$ . 54759)])#@54 Switch to buffer or find file named NAME.

(fn NAME)
(defalias 'counsel-projectile-action #[257 "\211\235\203\n \301!\207\302!\207" [counsel-projectile--buffers counsel-projectile-switch-to-buffer-action counsel-projectile-find-file-action] 3 (#$ . 55210)])#@72 Switch to buffer or find file named NAME in another window.

(fn NAME)
(defalias 'counsel-projectile-action-other-window #[257 "\211\235\203\n \301!\207\302!\207" [counsel-projectile--buffers switch-to-buffer-other-window counsel-projectile-find-file-action-other-window] 3 (#$ . 55476)])#@51 Kill buffer or delete-file named NAME.

(fn NAME)
(defalias 'counsel-projectile-action-kill-delete #[257 "\211\235\203\n \301!\207\302!\207" [counsel-projectile--buffers ivy--kill-buffer-action counsel-projectile-find-file-action-delete] 3 (#$ . 55773)])#@100 Call `counsel-find-file' from default directory of buffer
directory of file named NAME.

(fn NAME)
(defalias 'counsel-projectile-action-find-file-manually #[257 "\211\235\203\n \301!\207\302!\207" [counsel-projectile--buffers counsel-projectile-switch-to-buffer-action-find-file-manually counsel-projectile-find-file-action-find-file-manually] 3 (#$ . 56037)])#@45 Find file named NAME externally.

(fn NAME)
(defalias 'counsel-projectile-action-file-extern #[257 "\211\235\203\n \301\302!\207\303!\207" [counsel-projectile--buffers message "This action does not apply to buffers." counsel-projectile-find-file-action-extern] 3 (#$ . 56406)])#@42 Find file named NAME as root.

(fn NAME)
(defalias 'counsel-projectile-action-file-root #[257 "\211\235\203\n \301\302!\207\303!\207" [counsel-projectile--buffers message "This action does not apply to buffers." counsel-projectile-find-file-action-root] 3 (#$ . 56691)])#@67 Switch project action for `counsel-projectile'.

(fn &optional _)
(defalias 'counsel-projectile-action-switch-project #[256 "\300\301!\207" [counsel-projectile-switch-project counsel-projectile-switch-project-action] 3 (#$ . 56969)])#@83 Fontifies modified, file-visiting buffers as well as non-visited files.

(fn STR)
(defalias 'counsel-projectile-transformer #[257 "\211\235\203\n \301!\207\302\303\304#\207" [counsel-projectile--buffers counsel-projectile-switch-to-buffer-transformer propertize face ivy-virtual] 5 (#$ . 57208)])#@493 Jump to a buffer or file in the current project.

With a prefix ARG, invalidate the cache first.

If `counsel-projectile-preview-buffers' is non-nil, display a
preview of the selected ivy completion candidate buffer as in
`counsel-switch-buffer', falling back to the current buffer or
optionally FROM-BUFFER.

If `counsel-switch-buffer-preview-virtual-buffers' is also
non-nil, also display a preview of the selected ivy completion
candidate non-visited file.

(fn &optional ARG FROM-BUFFER)
(defalias 'counsel-projectile #[512 "\303=\203 \304 \204 \305 \207\306!\210\307\310\311!\312\313\314\315\316\317	\320\n\321\322D\323\324&\207" [projectile-require-project-root counsel-projectile-action counsel-projectile-map prompt projectile-project-p counsel-projectile-action-switch-project projectile-maybe-invalidate-cache ivy-read projectile-prepend-project-name "Load buffer or file: " counsel-projectile--project-buffers-and-files :matcher counsel-projectile--matcher :require-match t :action :keymap :extra-props :from-buffer :caller counsel-projectile] 17 (#$ . 57514) "P"])
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\320\301&\210\310\321\312\313\322DD\323\324\325\326\327\316\330\320\301\331\301&\207" [ivy-configure counsel-projectile :display-transformer-fn counsel-projectile-transformer :update-fn counsel-projectile--switch-to-buffer-update-fn :unwind-fn counsel--switch-buffer-unwind custom-declare-variable counsel-projectile-key-bindings funcall function #[0 "\300\207" [((projectile-find-file . counsel-projectile-find-file) (projectile-find-file-dwim . counsel-projectile-find-file-dwim) (projectile-find-dir . counsel-projectile-find-dir) (projectile-switch-to-buffer . counsel-projectile-switch-to-buffer) (projectile-grep . counsel-projectile-grep) (projectile-ag . counsel-projectile-ag) (projectile-ripgrep . counsel-projectile-rg) (projectile-switch-project . counsel-projectile-switch-project) (" " . counsel-projectile) ("si" . counsel-projectile-git-grep) ("Oc" . counsel-projectile-org-capture) ("Oa" . counsel-projectile-org-agenda))] 1 #1=""] "Alist of counsel-projectile key bindings.\n\nEach element is of the form (KEY . DEF) where KEY is either a\nkey sequence to bind in `projectile-command-map' or a projectile\ncommand to remap in `projectile-mode-map', and DEF is the\ncounsel-projectile command to which KEY is remapped or bound." :type (alist :key-type (choice (function :tag "Projectile command") key-sequence) :value-type (function :tag "Counsel-projectile command")) :group counsel-projectile-mode #[0 "\300\207" [nil] 1 #1#] "Non-nil if Counsel-Projectile mode is enabled.\nSee the `counsel-projectile-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `counsel-projectile-mode'." :set custom-set-minor-mode :initialize custom-initialize-default boolean :require] 14)#@609 Toggle Counsel-Projectile mode on or off.

With a prefix argument ARG, enable the mode if ARG is positive,
and disable it otherwise.  If called from Lisp, enable the mode
if ARG is omitted or nil, and toggle it if ARG is `toggle'.

Counsel-Projectile mode turns on Projectile mode, thus enabling
all projectile key bindings, and adds the counsel-projectile key
bindings on top of them.

The counsel-projectile key bindings either remap existing
projectile commands to their counsel-projectile replacements or
bind keys to counsel-projectile commands that have no projectile
counterparts.

(fn &optional ARG)
(defalias 'counsel-projectile-mode #[256 "\305 \306\301\307=\203 \310\301!?\202! \247\203  \311W\203  \312\202! \313\"\210\314\300!\2038 \315\301\"\310\301!\2038 \301B	\203n \316 \210\n\211\203j \211@\317@!\203[ \320\321\322@\"A#\210\202c \320\f@A#\210A\266\202\202@ \210\202\234 \n\211\203\227 \211@\317@!\203\211 \320\321\322@\"\312#\210\202\220 \320\f@\312#\210A\266\202\202o \210\316\323!\210\324\325\310\301!\203\250 \326\202\251 \327\"\210\330\331!\203\322 \332\301!\210\305 \203\301 \211\305 \232\203\322 \333\334\335\310\301!\203\316 \336\202\317 \337\340$\210\210\341 \210\310\301!\207" [global-minor-modes counsel-projectile-mode counsel-projectile-key-bindings projectile-mode-map projectile-command-map current-message set-default toggle default-value 1 nil t boundp delq projectile-mode functionp define-key vector remap -1 run-hooks counsel-projectile-mode-hook counsel-projectile-mode-on-hook counsel-projectile-mode-off-hook called-interactively-p any customize-mark-as-set message "%s %sabled%s" "Counsel-Projectile mode" "en" "dis" "" force-mode-line-update] 9 (#$ . 60518) (byte-code "\203\n \301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)])
(defvar counsel-projectile-mode-hook nil)
(byte-code "\301\302N\204\f \303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\313\300!\205# \310\211%\210\314\315!\207" [counsel-projectile-mode-map counsel-projectile-mode-hook variable-documentation put "Hook run after entering or leaving `counsel-projectile-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode counsel-projectile-mode boundp provide counsel-projectile] 6)
