;ELC   
;;; Compiled by daniel@waffles on Sun Jul 20 19:47:30 2014
;;; from file /Users/daniel/.emacs.d/elpa/projectile-20140716.416/projectile.el
;;; in Emacs version 24.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\310\311!\2045 \312\311\313\314B\"\210\315\311\316\317#\210\315\311\320\321#\210\322\323\324\325\326\327\326\330&\210\331\332\333\334\335DD\336\326\323\337\340\341\342&	\210\331\343\333\334\344DD\345\326\323\337\346&\210\331\347\333\334\350DD\351\326\323\337\352&\210\331\353\333\334\354DD\355\326\323\337\356&\210\331\357\333\334\360DD\361\326\323\337\346&\210\331\362\333\334\363DD\364\326\323\337\340\341\365&	\210\331\366\333\334\367DD\370\326\323\337\371&\210\331\372\333\334\373DD\374\326\323\337\371&\210\331\375\333\334\376DD\377\326\323\337\371&\210\331\201@ \333\334\201A DD\201B \326\323\337\371&\210\331\201C \333\334\201D DD\201E \326\323\337\340\341\201F &	\210\331\201G \333\334\201H DD\201I \326\323\337\340&\210\331\201J \333\334\201K DD\201L \326\323\337\201M &\210\331\201N \333\334\201O DD\201P \326\323\337\201Q &\210\331\201R \333\334\201S DD\201T \326\323\337\201U &\210\331\201V \333\334\201W DD\201X \326\323\337\201Y &\210\331\201Z \333\334\201[ DD\201\\ \326\323\337\201] &\210\331\201^ \333\334\201_ DD\201` \326\323\337\201a &\210\331\201b \333\334\201c DD\201d \326\323\337\201e &\210\331\201f \333\334\201g DD\201h \326\323\337\201i &\210\331\201j \333\334\201k DD\201l \326\323\337\201i &\210\331\201m \333\334\201n DD\201o \326\323\337\340&\210\331\201p \333\334\201q DD\201r \326\323\337\346&\210\331\201s \333\334\201t DD\201u \326\323\337\346&\210\331\201v \333\334\201w DD\201x \326\323\337\346&\207" [require thingatpt s dash grep pkg-info ibuffer ibuf-ext fboundp defvar-local defalias macro #[770 "\300\301F\302\303DDE\207" [progn defvar make-variable-buffer-local quote] 8 "Define VAR as a buffer-local variable with default value VAL.\nLike `defvar' but additionally marks the variable as being automatically\nbuffer-local wherever it is set.\n\n(fn VAR VAL &optional DOCSTRING)"] put edebug-form-spec defvar doc-string-elt 3 custom-declare-group projectile nil "Manage and navigate projects easily." :group tools convenience custom-declare-variable projectile-indexing-method funcall function #[0 "\301=\203 \302\207\303\207" [system-type windows-nt native alien] 2 "\n\n(fn)"] "Specifies the indexing method used by Projectile.\n\nThere are two indexing methods - native and alien.\n\nThe native method is implemented in Emacs Lisp (therefore it is\nnative to Emacs).  It's advantage is that is portable and will\nwork everywhere that Emacs does.  It's disadvantage is that is a\nbit slow (especially for large projects).  Generally it's a good\nidea to pair the native indexing method with caching.\n\nThe alien indexing method uses external tools (e.g. git, find,\netc) to speed up the indexing process.  The disadvantage of this\nmethod is that it's not well supported on Windows systems.\n\nBy default alien indexing is the default on all operating\nsystems, except Windows." :type symbol :options (native alien) projectile-enable-caching #[0 "\301=\207" [projectile-indexing-method native] 2 "\n\n(fn)"] "When t enables project files caching.\n\nProject caching is automatically enabled by default if you're\nusing the native indexing method." boolean projectile-file-exists-local-cache-expire #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Number of seconds before file existence cache expires for a\nfile on a local file system.\n\n A value of nil disables this cache." (choice (const :tag "Disabled" nil) (integer :tag "Seconds")) projectile-file-exists-remote-cache-expire #[0 "\300\207" [300] 1 "\n\n(fn)"] "Number of seconds before file existence cache expires for a\nfile on a remote file system such as tramp.\n\n A value of nil disables this cache." (choice (const :tag "Disabled" nil) (integer :tag "Seconds")) projectile-require-project-root #[0 "\300\207" [t] 1 "\n\n(fn)"] "Require the presence of a project root to operate when true.\nOtherwise consider the current directory the project root." projectile-completion-system #[0 "\300\207" [ido] 1 "\n\n(fn)"] "The completion system to be used by Projectile." (ido grizzl helm default) projectile-keymap-prefix #[0 "\300\207" ["p"] 1 "\n\n(fn)"] "Projectile keymap prefix." string projectile-cache-file #[0 "\301\302\"\207" [user-emacs-directory expand-file-name "projectile.cache"] 3 "\n\n(fn)"] "The name of Projectile's cache file." projectile-tags-file-name #[0 "\300\207" ["TAGS"] 1 "TAGS\n\n(fn)"] "The tags filename Projectile's going to use." projectile-tags-command #[0 "\300\207" ["ctags -Re -f %s %s"] 1 "ctags -Re -f %s %s\n\n(fn)"] "The command Projectile's going to use to generate a TAGS file." projectile-sort-order #[0 "\300\207" [default] 1 "\n\n(fn)"] "The sort order used for a project's files." (default recentf recently-active access-time modification-time) projectile-buffers-filter-function #[0 "\300\207" [nil] 1 "\n\n(fn)"] "A function used to filter the buffers in `projectile-project-buffers'.\n\nThe function should accept and return a list of Emacs buffers.\nTwo example filter functions are shipped by default - `projectile-buffers-with-file'\nand `projectile-buffers-with-file-or-process'." projectile-project-root-files #[0 "\300\207" [("rebar.config" "project.clj" "pom.xml" "build.sbt" "build.gradle" "Gemfile" "requirements.txt" "package.json" "gulpfile.js" "Gruntfile.js" "bower.json" "composer.json" "Cargo.toml" "mix.exs")] 1 "\n\n(fn)"] "A list of files considered to mark the root of a project." (repeat string) projectile-project-root-files-top-down-recurring #[0 "\300\207" [(".svn" "CVS")] 1 "\n\n(fn)"] "A list of files considered to mark the root of a project.\nThis root files pattern stops at the parentmost match." (repeat string) projectile-project-root-files-bottom-up #[0 "\300\207" [(".projectile" ".git" ".hg" ".fslckout" ".bzr" "_darcs")] 1 "\n\n(fn)"] "A list of files considered to mark the root of a project.\nThis root files pattern overrides discovery of any root files\npattern that would have found a project root in a subdirectory." (repeat string) projectile-project-root-files-functions #[0 "\300\207" [(projectile-root-bottom-up projectile-root-top-down projectile-root-top-down-recurring)] 1 "\n\n(fn)"] "A list of functions for finding project roots." (repeat function) projectile-globally-ignored-files #[0 "C\207" [projectile-tags-file-name] 1 "\n\n(fn)"] "A list of files globally ignored by projectile." (repeat string) projectile-globally-ignored-directories #[0 "\300\207" [(".idea" ".eunit" ".git" ".hg" ".fslckout" ".bzr" "_darcs" ".tox" ".svn" "build")] 1 "\n\n(fn)"] "A list of directories globally ignored by projectile." (repeat string) projectile-globally-ignored-modes #[0 "\300\207" [("erc-mode" "help-mode" "completion-list-mode" "Buffer-menu-mode" "gnus-.*-mode" "occur-mode")] 1 "\n\n(fn)"] "A list of regular expressions for major modes ignored by projectile.\n\nIf a buffer is using a given major mode, projectile will ignore\nit for functions working with buffers." (repeat string) projectile-find-file-hook #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Hooks run when a file is opened with `projectile-find-file'." hook projectile-find-dir-hook #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Hooks run when a directory is opened with `projectile-find-dir'." projectile-switch-project-action #[0 "\300\207" [projectile-find-file] 1 "\n\n(fn)"] "Action invoked after switching projects with `projectile-switch-project'.\n\nAny function that does not take arguments will do." projectile-find-dir-includes-top-level #[0 "\300\207" [nil] 1 "\n\n(fn)"] "If true, add top-level dir to options offered by `projectile-find-dir'." projectile-use-git-grep #[0 "\300\207" [nil] 1 "\n\n(fn)"] "If true, use `vc-git-grep' in git projects." projectile-remember-window-configs #[0 "\300\207" [nil] 1 "\n\n(fn)"] "If true, restore the last window configuration when switching projects.\nIf no configuration exists, just run `projectile-switch-project-action' as usual."] 10)
#@71 The timer object created when `project-enable-idle-timer' is non-nil.
(defvar projectile-idle-timer nil (#$ . 8501))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\210\300\316\302\303\317DD\320\306\307\321\322\310\323&	\207" [custom-declare-variable projectile-idle-timer-seconds funcall function #[0 "\300\207" [30] 1 "\n\n(fn)"] "The idle period to use when `projectile-enable-idle-timer' is non-nil." :group projectile :type number projectile-idle-timer-hook #[0 "\300\207" [(projectile-regenerate-tags)] 1 "\n\n(fn)"] "The hook run when `projectile-enable-idle-timer' is non-nil." (repeat symbol) projectile-enable-idle-timer #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Enables idle timer hook `projectile-idle-timer-functions'.\n\nWhen `projectile-enable-idle-timer' is non-nil, the hook\n`projectile-idle-timer-hook' is run each time Emacs has been idle\nfor `projectile-idle-timer-seconds' seconds and we're in a\nproject." :set #[514 "L\210\203\f \303!\210\304	\205 \305\n\306\307#\211\207" [projectile-idle-timer projectile-enable-idle-timer projectile-idle-timer-seconds cancel-timer nil run-with-idle-timer t #[0 "\300 \205 \301\302!\207" [projectile-project-p run-hooks projectile-idle-timer-hook] 2 "\n\n(fn)"]] 6 "\n\n(fn SYMBOL VALUE)"] boolean] 10)
#@112 Serialize DATA to FILENAME.

The saved data can be restored with `projectile-unserialize'.

(fn DATA FILENAME)
(defalias 'projectile-serialize #[514 "\301!\2058 \211\302\303\304!!\305\306\307\310\311\312!\313\"\314\315%DC\216r\211q\210\316\317!)c)rq\210\320\316\211\316\307%\210*\266\202\207" [print-length file-writable-p get-buffer-create generate-new-buffer-name " *temp file*" funcall make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" nil prin1-to-string write-region] 11 (#$ . 9831)])
#@78 Read data serialized by `projectile-serialize' from FILENAME.

(fn FILENAME)
(defalias 'projectile-unserialize #[257 "\300!\205) \301\302!r\211q\210\303\304\305\306\307\310!\311\"\312\313%DC\216\314!\210\315\316 !*\262\207" [file-exists-p generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" insert-file-contents read buffer-string] 9 (#$ . 10386)])
#@76 A hashmap used to cache project file names to speed up related operations.
(defvar projectile-projects-cache (byte-code "\301!\206\n \302\303\304\"\207" [projectile-cache-file projectile-unserialize make-hash-table :test equal] 3) (#$ . 10834))
#@128 List of locations where we have previously seen projects.
The list of projects is ordered by the time they have been accessed.
(defvar projectile-known-projects nil (#$ . 11087))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315\316\317&	\207" [custom-declare-variable projectile-known-projects-file funcall function #[0 "\301\302\"\207" [user-emacs-directory expand-file-name "projectile-bookmarks.eld"] 3 "\n\n(fn)"] "Name and location of the Projectile's known projects file." :group projectile :type string projectile-ignored-projects #[0 "\300\207" [nil] 1 "\n\n(fn)"] "A list of projects not to be added to `projectile-known-projects'." list :package-version (projectile . "0.11.0")] 10)
#@453 Get the Projectile version as string.

If called interactively or if SHOW-VERSION is non-nil, show the
version in the echo area and the messages buffer.

The returned string includes both, the version from package.el
and the library version, if both a present and different.

If the version number could not be determined, signal an error,
if called interactively, or if SHOW-VERSION is non-nil, otherwise
just return nil.

(fn &optional SHOW-VERSION)
(defalias 'projectile-version #[256 "\300\301!\203\f \302\303\"\210\211\207" [pkg-info-version-info projectile message "Projectile version: %s"] 5 (#$ . 11842) (list t)])
#@44 Cached `projectile-file-exists-p' results.
(defvar projectile-file-exists-cache (make-hash-table :test 'equal) (#$ . 12473))
#@61 Timer for scheduling`projectile-file-exists-cache-cleanup'.
(defvar projectile-file-exists-cache-timer nil (#$ . 12604))
#@110 Removed timed out cache entries and reschedules or remove the
timer if no more items are in the cache.

(fn)
(defalias 'projectile-file-exists-cache-cleanup #[0 "\302 \303\304\305\306\307\310!\311\"\312\313%\"\210\314!\315V\205  \316\317\320\321#\211\207" [projectile-file-exists-cache projectile-file-exists-cache-timer current-time maphash make-byte-code 514 "\302A\300\"\205\f \303	\"\207" vconcat vector [projectile-file-exists-cache time-less-p remhash] 5 "\n\n(fn KEY VALUE)" hash-table-count 0 run-with-timer 10 nil projectile-file-exists-cache-cleanup] 8 (#$ . 12732)])
#@115 Return t if file FILENAME exist.
A wrapper around `file-exists-p' with additional caching support.

(fn FILENAME)
(defalias 'projectile-file-exists-p #[257 "\305!\211\203 \205  \306V\205  \202  	\205  	\306V\205  	\211\203( \211\202) \n\211\2044 \307!\202\215 \310 \311\"\211\205@ \211@\205F A\203Q \312\"\202R \313\211\204Z \206f \307!\203e \314\202f \315\203n \203~ \316	\317	\320\f!\"B#\210\f\204\210 \321\322\323\324#\211\314\232\266\206)\207" [projectile-file-exists-remote-cache-expire projectile-file-exists-local-cache-expire remote-file-name-inhibit-cache projectile-file-exists-cache projectile-file-exists-cache-timer file-remote-p 0 file-exists-p current-time gethash time-less-p t found notfound puthash time-add seconds-to-time run-with-timer 10 nil projectile-file-exists-cache-cleanup] 16 (#$ . 13324)])
#@171 Remove the current project's files from `projectile-projects-cache'.

With a prefix argument ARG prompts for the name of the project whose cache
to invalidate.

(fn ARG)
(defalias 'projectile-invalidate-cache #[257 "\211\203 \301\302\303!\"\202 \304 \305\"\210\306 \210\307\310\311\312\313#\"\207" [projectile-projects-cache completing-read "Remove cache for: " projectile-hash-keys projectile-project-root remhash projectile-serialize-cache message "Invalidated Projectile cache for %s." propertize face font-lock-keyword-face] 8 (#$ . 14176) "P"])
#@102 Cache PROJECTs FILES.
The cache is created both in memory and on the hard drive.

(fn PROJECT FILES)
(defalias 'projectile-cache-project #[514 "\205\f \302	#\210\303 \207" [projectile-enable-caching projectile-projects-cache puthash projectile-serialize-cache] 6 (#$ . 14739)])
#@62 Purge FILE from the cache of the current project.

(fn FILE)
(defalias 'projectile-purge-file-from-cache #[257 "\301 \302\"\303\"\203  \304\305\"#\210\306 \210\307\310\"\202$ \311\312\"\207" [projectile-projects-cache projectile-project-root gethash projectile-file-cached-p puthash remove projectile-serialize-cache message "%s removed from cache" error "%s is not in the cache"] 8 (#$ . 15026) (byte-code "\300\301\302 \"C\207" [projectile-completing-read "Remove file from cache: " projectile-current-project-files] 3)])
#@60 Purge DIR from the cache of the current project.

(fn DIR)
(defalias 'projectile-purge-dir-from-cache #[257 "\301 \302\"\303\304\305\306\307\310\311\n!\312\"\313\314%\"#\207" [projectile-projects-cache projectile-project-root gethash puthash -filter make-byte-code 257 "\301\300\"\207" vconcat vector [s-starts-with-p] 4 "\n\n(fn FILE)"] 12 (#$ . 15566) (byte-code "\300\301\302 \"C\207" [projectile-completing-read "Remove directory from cache: " projectile-current-project-dirs] 3)])
#@63 Check if FILE is already in PROJECT cache.

(fn FILE PROJECT)
(defalias 'projectile-file-cached-p #[514 "\301\"\235\207" [projectile-projects-cache gethash] 6 (#$ . 16065)])
#@52 Add the currently visited file to the cache.

(fn)
(defalias 'projectile-cache-current-file #[0 "\301 \302p!\303\"\304\"\206 \305\306!!\206 \307!?\205< \310\311\"B#\210\312 \210\313\314\315\316\317#\315\316\317##\207" [projectile-projects-cache projectile-project-root buffer-file-name file-relative-name projectile-file-cached-p projectile-ignored-directory-p file-name-directory projectile-ignored-file-p puthash gethash projectile-serialize-cache message "File %s added to project %s cache." propertize face font-lock-keyword-face] 10 (#$ . 16248) nil])
#@57 Function for caching files with `find-file-hook'.

(fn)
(defalias 'projectile-cache-files-find-file-hook #[0 "\301 \205 \205 \302 \207" [projectile-enable-caching projectile-project-p projectile-cache-current-file] 1 (#$ . 16828)])
#@60 Function for caching projects with `find-file-hook'.

(fn)
(defalias 'projectile-cache-projects-find-file-hook #[0 "\300 \205\f \301\302 !\210\303 \207" [projectile-project-p projectile-add-known-project projectile-project-root projectile-save-known-projects] 2 (#$ . 17069)])
#@74 Invalidate if FORCE or project's dirconfig newer than cache.

(fn FORCE)
(defalias 'projectile-maybe-invalidate-cache #[257 "\211\204\f \301\302 \"\205 \303\304!\207" [projectile-cache-file file-newer-than-file-p projectile-dirconfig-file projectile-invalidate-cache nil] 4 (#$ . 17352)])
#@69 A mapping from project names to their latest window configurations.
(defvar projectile-window-config-map (make-hash-table :test 'equal) (#$ . 17649))
#@89 Save PROJECT-NAME's configuration to `projectile-window-config-map'.

(fn PROJECT-NAME)
(defalias 'projectile-save-window-config #[257 "\301\302 #\207" [projectile-window-config-map puthash current-window-configuration] 5 (#$ . 17805)])
#@136 Return the window configuration corresponding to PROJECT-NAME.
If no such window configuration exists,
returns nil.

(fn PROJECT-NAME)
(defalias 'projectile-get-window-config #[257 "\301\"\207" [projectile-window-config-map gethash] 4 (#$ . 18051)])
#@137 Restore the window configuration corresponding to the PROJECT-NAME.
Returns nil if no window configuration was found

(fn PROJECT-NAME)
(defalias 'projectile-restore-window-config #[257 "\300!\211\205\n \301!\207" [projectile-get-window-config set-window-configuration] 4 (#$ . 18310)])
(byte-code "\300\301\302\303\304$\210\305\301\304\"\210\300\306\307\303\304$\210\305\306\304\"\210\300\306\310\311\304$\210\305\306\304\"\207" [ad-add-advice projectile-switch-project (projectile-save-window-configuration-before-switching-projects nil t (advice lambda nil "Save the current project's window configuration before switching projects." (when (and projectile-remember-window-configs (projectile-project-p)) (projectile-save-window-config (projectile-project-name))))) before nil ad-activate projectile-kill-buffers (projectile-remove-window-configuration-before-kill-buffers nil t (advice lambda nil "Remove's this project's window configuration from the table before killing buffers." (remhash (projectile-project-name) projectile-window-config-map))) (projectile-restore-window-configuration-after-kill-buffers nil t (advice lambda nil "Restore previous (if any) project's window configuration after killing a project's buffers." (when (and projectile-remember-window-configs (projectile-project-p)) (projectile-restore-window-config (projectile-project-name))))) after] 5)
#@123 Return the parent directory of PATH.
PATH may be a file or directory and directory paths may end with a slash.

(fn PATH)
(defalias 'projectile-parent #[257 "\300\301\300\302!!!!\207" [directory-file-name file-name-directory expand-file-name] 6 (#$ . 19695)])
#@371 Look up the directory hierarchy from FILE for a directory containing NAME.
Stop at the first parent directory containing a file NAME,
and return the directory.  Return nil if not found.
Instead of a string, NAME can also be a predicate taking one argument
(a directory) and returning a non-nil value if that directory is the one for
which we're looking.

(fn FILE NAME)
(defalias 'projectile-locate-dominating-file #[514 "\301!\262\302\211\204H \203H \303\"\204H ;\203% \304\305\"!\202( !\262\211\2034 \262\202 \306\307!!\211\262\232\203 \302\262\202 \205O \310!\207" [locate-dominating-stop-dir-regexp abbreviate-file-name nil string-match projectile-file-exists-p expand-file-name file-name-directory directory-file-name file-name-as-directory] 8 (#$ . 19963)])
#@173 Identify a project root in DIR by looking at `projectile-project-root-files-bottom-up'.
Returns a project root directory path or nil if not found.

(fn DIR &optional LIST)
(defalias 'projectile-root-bottom-up #[513 "\301\206\n \206\n \301\302\203( @\206 \303\"\262\210\211T\262A\262\202 \266\211\207" [projectile-project-root-files-bottom-up nil 0 projectile-locate-dominating-file] 9 (#$ . 20759)])
#@172 Identify a project root in DIR by looking at `projectile-project-root-files-top-down'.
Returns a project root directory path or nil if not found.

(fn DIR &optional LIST)
(defalias 'projectile-root-top-down #[513 "\300\301\302\303\304\305!\306\"\307\310%\"\207" [projectile-locate-dominating-file make-byte-code 257 "\302\300\206\n 	\206\n \302\303\304\2039 \2039 @\203  \302\262\202- \305\306\"!\203- \211\262\210\211T\262A\262\202\f \266\211\207" vconcat vector [projectile-project-root-files nil t 0 projectile-file-exists-p expand-file-name] 10 "\n\n(fn DIR)"] 10 (#$ . 21181)])
#@182 Identify a project root in DIR by looking at `projectile-project-root-files-top-down-recurring'.
Returns a project root directory path or nil if not found.

(fn DIR &optional LIST)
(defalias 'projectile-root-top-down-recurring #[513 "\301\206\n \206\n \301\302\2034 @\206& \303\304\305\306\307\310!\311\"\312\313%\"\262\210\211T\262A\262\202 \266\211\207" [projectile-project-root-files-top-down-recurring nil 0 projectile-locate-dominating-file make-byte-code 257 "\302\303\300\"!\205 \304	\305!\"\206 \302\303\300\305!\"!?\207" vconcat vector [locate-dominating-stop-dir-regexp projectile-file-exists-p expand-file-name string-match projectile-parent] 6 "\n\n(fn DIR)"] 14 (#$ . 21787)])
#@132 Retrieves the root directory of a project if available.
The current directory is assumed to be the project's root otherwise.

(fn)
(defalias 'projectile-project-root #[0 "\303\211!\304	\305\203\" @\206 \211!\262\210\211T\262A\262\202 \266\211\262\2065 \n\2034 \306\307!\2025 \262!\207" [default-directory projectile-project-root-files-functions projectile-require-project-root file-truename nil 0 error "You're not in a project"] 8 (#$ . 22504)])
#@107 Return the truename of FILE-NAME.
A thin wrapper around `file-truename' that handles nil.

(fn FILE-NAME)
(defalias 'projectile-file-truename #[257 "\211\205 \300!\207" [file-truename] 3 (#$ . 22973)])
#@36 Check if we're in a project.

(fn)
(defalias 'projectile-project-p #[0 "\300\301\302D\303\301\304\300EDC\217\207" [#1=#:err funcall #[0 "\300 \207" [projectile-project-root] 1 "\n\n(fn)"] error #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"]] 6 (#$ . 23183)])
#@28 Return project name.

(fn)
(defalias 'projectile-project-name #[0 "\300\301\302D\303\301\304\300EDC\217\305\306!!\207" [#1=#:err funcall #[0 "\300 \207" [projectile-project-root] 1 "\n\n(fn)"] error #[257 "\207" [default-directory] 2 "\n\n(fn IGNORED)"] file-name-nondirectory directory-file-name] 6 (#$ . 23446)])
#@77 Get the list of project directories that are of interest to the user.

(fn)
(defalias 'projectile-get-project-directories #[0 "\300\301\302 @\206	 \303\"\207" [-map #[257 "\300 P\207" [projectile-project-root] 3 "\n\n(fn SUBDIR)"] projectile-parse-dirconfig-file ("")] 3 (#$ . 23769)])
#@131 List the files in DIRECTORY and in its sub-directories.
Files are returned as relative paths to the project root.

(fn DIRECTORY)
(defalias 'projectile-dir-files #[257 "\205 \303	\"\304 \206! \n\305=\203 \306\"\202! \307\310\"!\207" [projectile-enable-caching projectile-projects-cache projectile-indexing-method gethash projectile-project-root native projectile-dir-files-native projectile-remove-ignored projectile-dir-files-external] 7 (#$ . 24063)])
#@84 Get the files for ROOT under DIRECTORY using just Emacs Lisp.

(fn ROOT DIRECTORY)
(defalias 'projectile-dir-files-native #[514 "\300\301\302\303\304#\"\210\305\306\307\310\311\312!\313\"\314\315%\316\317 \"\"\207" [message "Projectile is indexing %s. This may take a while." propertize face font-lock-keyword-face -map make-byte-code 257 "\301\300\"\207" vconcat vector [file-relative-name] 4 "\n\n(fn FILE)" projectile-index-directory projectile-patterns-to-ignore] 9 (#$ . 24532)])
#@83 Get the files for ROOT under DIRECTORY using external tools.

(fn ROOT DIRECTORY)
(defalias 'projectile-dir-files-external #[514 "\211\301\301\262\302\303\304\305\306\307		\"\310\"\311\312%\313 \"\262)\207" [default-directory nil -map make-byte-code 257 "\302\303\301\"\300\"\207" vconcat vector [file-relative-name expand-file-name] 5 "\n\n(fn F)" projectile-get-repo-files] 12 (#$ . 25028)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\311&\210\300\315\302\303\316DD\317\306\307\310\311&\210\300\320\302\303\321DD\322\306\307\310\311&\210\300\323\302\303\324DD\325\306\307\310\311&\210\300\326\302\303\327DD\330\306\307\310\311&\210\300\331\302\303\332DD\333\306\307\310\311&\207" [custom-declare-variable projectile-git-command funcall function #[0 "\300\207" ["git ls-files -zco --exclude-standard"] 1 "git ls-files -zco --exclude-standard\n\n(fn)"] "Command used by projectile to get the files in a git project." :group projectile :type string projectile-hg-command #[0 "\300\207" ["hg locate -0 -I ."] 1 "hg locate -0 -I .\n\n(fn)"] "Command used by projectile to get the files in a hg project." projectile-fossil-command #[0 "\300\207" ["fossil ls"] 1 "fossil ls\n\n(fn)"] "Command used by projectile to get the files in a fossil project." projectile-bzr-command #[0 "\300\207" ["bzr ls -R --versioned -0"] 1 "bzr ls -R --versioned -0\n\n(fn)"] "Command used by projectile to get the files in a bazaar project." projectile-darcs-command #[0 "\300\207" ["darcs show files -0 . "] 1 "darcs show files -0 . \n\n(fn)"] "Command used by projectile to get the files in a darcs project." projectile-svn-command #[0 "\300\207" ["svn list -R . | grep -v '$/' | tr '\\n' '\\0'"] 1 "svn list -R . | grep -v '$/' | tr '\\n' '\\0'\n\n(fn)"] "Command used by projectile to get the files in a svn project." projectile-generic-command #[0 "\300\207" ["find . -type f -print0"] 1 "find . -type f -print0\n\n(fn)"] "Command used by projectile to get the files in a generic project."] 8)
#@78 Determine which external command to invoke based on the project's VCS.

(fn)
(defalias 'projectile-get-ext-command #[0 "\306 \211\307=\203\f \202@ \211\310=\203 	\202@ \211\311=\203  \n\202@ \211\312=\203* \202@ \211\313=\2034 \f\202@ \211\314=\203> \202@ \207" [projectile-git-command projectile-hg-command projectile-fossil-command projectile-bzr-command projectile-darcs-command projectile-svn-command projectile-project-vcs git hg fossil bzr darcs svn projectile-generic-command] 3 (#$ . 27078)])
#@47 Get a list of the files in the project.

(fn)
(defalias 'projectile-get-repo-files #[0 "\300\301 !\207" [projectile-files-via-ext-command projectile-get-ext-command] 2 (#$ . 27591)])
#@91 Get a list of relative file names in the project root by executing COMMAND.

(fn COMMAND)
(defalias 'projectile-files-via-ext-command #[257 "\300\301!\302\303#\207" [split-string shell-command-to-string " " t] 5 (#$ . 27780)])
#@155 Index DIRECTORY taking into account PATTERNS.
The function calls itself recursively until all sub-directories
have been indexed.

(fn DIRECTORY PATTERNS)
(defalias 'projectile-index-directory #[514 "\300\301\302\"\211\203{ \211@\303\"\304\305\"\203O \306\307\310\311\312\313!\314\"\315\316%\317\"\204O \320!\204O \203> \321#\204O \322\323\303\n\"\"\"\262\202s \304\305\"\204s \324!\204s \203j \321#\204s \303\"B\262\210A\266\202\202 \300\262\262\207" [nil file-name-all-completions "" expand-file-name s-ends-with-p "/" -any\? make-byte-code 257 "\301\302\300\"\230\207" vconcat vector [s-chop-suffix "/"] 4 "\n\n(fn FILE)" ("." ".." ".svn" ".cvs") projectile-ignored-directory-p projectile-ignored-rel-p append projectile-index-directory projectile-ignored-file-p] 13 (#$ . 28015)])
#@111 Remove ignored files and folders from FILES.

Operates on filenames relative to the project root.

(fn FILES)
(defalias 'projectile-remove-ignored #[257 "\300\301 \302 \"\303\304\305\306\307\310!\311\"\312\313%\"\207" [append projectile-ignored-files-rel projectile-ignored-directories-rel -remove make-byte-code 257 "\301\302\300\303\304\2030 \2030 @\203 \302\262\202$ \305\"\203$ \211\262\210\211T\262A\262\202 \266\211\262!\207" vconcat vector [---truthy\? nil t 0 s-starts-with-p] 10 "\n\n(fn FILE)"] 9 (#$ . 28845)])
#@58 Return only those BUFFERS backed by files.

(fn BUFFERS)
(defalias 'projectile-buffers-with-file #[257 "\300\301\203  @\302!\203 \211B\262\210\211T\262A\262\202 \266\211\237\207" [nil 0 buffer-file-name] 7 (#$ . 29392)])
#@71 Return only those BUFFERS backed by files or processes.

(fn BUFFERS)
(defalias 'projectile-buffers-with-file-or-process #[257 "\300\301\203& @\302!\204 \303!\203 \211B\262\210\211T\262A\262\202 \266\211\237\207" [nil 0 buffer-file-name get-buffer-process] 7 (#$ . 29631)])
#@38 Get a list of project buffers.

(fn)
(defalias 'projectile-project-buffers #[0 "\301 \302\303\304\305\306\307!\310\"\311\312%\313 \"\203 !\202 \211\207" [projectile-buffers-filter-function projectile-project-root -filter make-byte-code 257 "\301\300\"\207" vconcat vector [projectile-project-buffer-p] 4 "\n\n(fn BUFFER)" buffer-list] 8 (#$ . 29925)])
#@66 Process the current project's buffers using ACTION.

(fn ACTION)
(defalias 'projectile-process-current-project-buffers #[257 "\300 \211\211\205 \211@!\210A\266\202\202 \262\207" [projectile-project-buffers] 6 (#$ . 30291)])
#@43 Get a list of project buffer files.

(fn)
(defalias 'projectile-project-buffer-files #[0 "\300 \301\302\303\304\305\306!\307\"\310\311%\312\313 !\"\207" [projectile-project-root -map make-byte-code 257 "\301\302!\300\"\207" vconcat vector [file-relative-name buffer-file-name] 4 "\n\n(fn BUFFER)" projectile-buffers-with-file projectile-project-buffers] 8 (#$ . 30527)])
#@66 Check if BUFFER is under PROJECT-ROOT.

(fn BUFFER PROJECT-ROOT)
(defalias 'projectile-project-buffer-p #[514 "rq\210\301\302\303!\"?\205& \304!?\205& \305\306!\306!\"\205& \301\307!\")\207" [default-directory s-starts-with\? " " buffer-name projectile-ignored-buffer-p s-equals\? file-remote-p file-truename] 6 (#$ . 30907)])
#@49 Check if BUFFER should be ignored.

(fn BUFFER)
(defalias 'projectile-ignored-buffer-p #[257 "r\211q\210\302\303\304\305\2038 \2038 @\203 \303\262\202, \306\307\310Q\311	!\"\203, \211\262\210\211T\262A\262\202	 \266\211\262!)\207" [projectile-globally-ignored-modes major-mode ---truthy\? nil t 0 s-matches\? "^" "$" symbol-name] 11 (#$ . 31247)])
#@138 Get list of recently active files.

Files are ordered by recently active buffers, and then recently
opened through use of recentf.

(fn)
(defalias 'projectile-recently-active-files #[0 "\300 \301\302\303 \"\"\207" [projectile-project-buffer-files append -difference projectile-recentf-files] 6 (#$ . 31616)])
#@43 Get a list of project buffer names.

(fn)
(defalias 'projectile-project-buffer-names #[0 "\300\301\302 \"\207" [-map buffer-name projectile-project-buffers] 3 (#$ . 31933)])
#@60 Prepend the current project's name to STRING.

(fn STRING)
(defalias 'projectile-prepend-project-name #[257 "\300\301\302 #\207" [format "[%s] %s" projectile-project-name] 5 (#$ . 32113)])
#@35 Switch to a project buffer.

(fn)
(defalias 'projectile-switch-to-buffer #[0 "\300\301\302\303 \"!\207" [switch-to-buffer projectile-completing-read "Switch to buffer: " projectile-project-buffer-names] 4 (#$ . 32309) nil])
#@65 Switch to a project buffer and show it in another window.

(fn)
(defalias 'projectile-switch-to-buffer-other-window #[0 "\300\301\302\303 \"!\207" [switch-to-buffer-other-window projectile-completing-read "Switch to buffer: " projectile-project-buffer-names] 4 (#$ . 32539) nil])
#@72 Display a project buffer in another window without selecting it.

(fn)
(defalias 'projectile-display-buffer #[0 "\300\301\302\303 \"!\207" [display-buffer projectile-completing-read "Display buffer: " projectile-project-buffer-names] 4 (#$ . 32825) nil])
#@117 Switch to the most recently selected buffer project buffer.
Only buffers not visible in windows are returned.

(fn)
(defalias 'projectile-project-buffers-other-buffer #[0 "\300\301 @!\210\302\207" [switch-to-buffer projectile-project-buffers-non-visible t] 2 (#$ . 33087) nil])
#@50 Get a list of non visible project buffers.

(fn)
(defalias 'projectile-project-buffers-non-visible #[0 "\300\301\302 \"\207" [-filter #[257 "\300\301\"?\207" [get-buffer-window visible] 4 "\n\n(fn BUFFER)"] projectile-project-buffers] 3 (#$ . 33371)])
#@52 Do a `multi-occur' in the project's buffers.

(fn)
(defalias 'projectile-multi-occur #[0 "\300\301 \302 @\"\207" [multi-occur projectile-project-buffers occur-read-primary-args] 3 (#$ . 33630) nil])
#@55 Check if DIRECTORY should be ignored.

(fn DIRECTORY)
(defalias 'projectile-ignored-directory-p #[257 "\211\300 \235\207" [projectile-ignored-directories] 3 (#$ . 33835)])
#@45 Check if FILE should be ignored.

(fn FILE)
(defalias 'projectile-ignored-file-p #[257 "\211\300 \235\207" [projectile-ignored-files] 3 (#$ . 34013)])
#@108 Check if FILE should be ignored relative to DIRECTORY according to PATTERNS.

(fn FILE DIRECTORY PATTERNS)
(defalias 'projectile-ignored-rel-p #[771 "\301\302\303\304\305\306!\307\"\310\311%\")\207" [default-directory -any\? make-byte-code 257 "\301\302\303\"\302\303\300\"\"\206 \300\304\305\"\235\207" vconcat vector [s-ends-with\? s-chop-suffix "/" file-expand-wildcards t] 6 "\n\n(fn PATTERN)"] 10 (#$ . 34171)])
#@37 Return list of ignored files.

(fn)
(defalias 'projectile-ignored-files #[0 "\301\302\303\304 \"\"\207" [projectile-globally-ignored-files -map projectile-expand-root append projectile-project-ignored-files] 5 (#$ . 34602)])
#@43 Return list of ignored directories.

(fn)
(defalias 'projectile-ignored-directories #[0 "\301\302\301\303\304\305 \"\"\"\207" [projectile-globally-ignored-directories -map file-name-as-directory projectile-expand-root append projectile-project-ignored-directories] 7 (#$ . 34834)])
#@65 Return list of ignored directories, relative to the root.

(fn)
(defalias 'projectile-ignored-directories-rel #[0 "\300 \301\302\303\304\305\306!\307\"\310\311%\312 \"\207" [projectile-project-root mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [file-relative-name] 4 "\n\n(fn IT)" projectile-ignored-directories] 8 (#$ . 35123)])
#@59 Return list of ignored files, relative to the root.

(fn)
(defalias 'projectile-ignored-files-rel #[0 "\300 \301\302\303\304\305\306!\307\"\310\311%\312 \"\207" [projectile-project-root mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [file-relative-name] 4 "\n\n(fn IT)" projectile-ignored-files] 8 (#$ . 35474)])
#@45 Return list of project ignored files.

(fn)
(defalias 'projectile-project-ignored-files #[0 "\300\301\302 \"\207" [-remove file-directory-p projectile-project-ignored] 3 (#$ . 35807)])
#@51 Return list of project ignored directories.

(fn)
(defalias 'projectile-project-ignored-directories #[0 "\300\301\302 \"\207" [-filter file-directory-p projectile-project-ignored] 3 (#$ . 35998)])
#@47 Return a list of ignored project paths.

(fn)
(defalias 'projectile-paths-to-ignore #[0 "\300\301\302\303\304 A\"\"\207" [-map #[257 "\300\301\"\207" [s-chop-prefix "/"] 4 "\n\n(fn PATTERN)"] -filter #[257 "\300\301\"\207" [s-starts-with\? "/"] 4 "\n\n(fn PATTERN)"] projectile-parse-dirconfig-file] 5 (#$ . 36201)])
#@48 Return a list of relative file patterns.

(fn)
(defalias 'projectile-patterns-to-ignore #[0 "\300\301\302 A\"\207" [-remove #[257 "\300\301\"\207" [s-starts-with\? "/"] 4 "\n\n(fn PATTERN)"] projectile-parse-dirconfig-file] 3 (#$ . 36526)])
#@57 Return list of project ignored files/directories.

(fn)
(defalias 'projectile-project-ignored #[0 "\301 \302 \303\304\305\"!)\207" [default-directory projectile-paths-to-ignore projectile-project-root -flatten -map #[257 "\300\301\"\206\n \302!\207" [file-expand-wildcards t projectile-expand-root] 4 "\n\n(fn PATTERN)"]] 5 (#$ . 36774)])
#@65 Return the absolute path to the project's dirconfig file.

(fn)
(defalias 'projectile-dirconfig-file #[0 "\300\301\302 \"\207" [expand-file-name ".projectile" projectile-project-root] 3 (#$ . 37123)])
#@471 Parse project ignore file and return directories to ignore and keep.

The return value will be a cons, the car being the list of
directories to keep, and the cdr being the list of files or
directories to ignore.

Strings starting with + will be added to the list of directories
to keep, and strings starting with - will be added to the list of
directories to ignore.  For backward compatibility, without a
prefix the string will be assumed to be an ignore string.

(fn)
(defalias 'projectile-parse-dirconfig-file #[0 "\302 \303!\205x \304\305!r\211q\210\306\307\310\311\312\313!\314\"\315\316%DC\216\317!\210\320\321\322\323\324\325\326 !\"\"\327\211\310\203Z @\330\331\"\203I \211B\262\202N \211B\262\210\211T\262A\262\2024 \266\237\237D\266\202\321\332@\"\321\333\211A@)\")B\266\202*\262\207" [split-string-default-separators x projectile-dirconfig-file projectile-file-exists-p generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" insert-file-contents-literally "[\n]" -map s-trim delete "" split-string buffer-string nil s-starts-with\? "+" #[257 "\300\301!!\207" [projectile-ensure-trailing-slash projectile-strip-dir-prefix] 4 "\n\n(fn DIR)"] projectile-strip-dir-prefix] 12 (#$ . 37331)])
#@39 Append / to DIR if missing.

(fn DIR)
(defalias 'projectile-ensure-trailing-slash #[257 "\300\301\"\203 \207\211\301P\207" [s-ends-with\? "/"] 4 (#$ . 38645)])
#@41 Strip + or - prefix from DIR.

(fn DIR)
(defalias 'projectile-strip-dir-prefix #[257 "\300\301\"\207" [s-chop-prefixes ("-" "+")] 4 (#$ . 38813)])
#@131 Expand NAME to project root.

Never use on many files since it's going to recalculate the
project-root for every file.

(fn NAME)
(defalias 'projectile-expand-root #[257 "\300\301 \"\207" [expand-file-name projectile-project-root] 4 (#$ . 38968)])
#@94 Present a project tailored PROMPT with CHOICES.

(fn PROMPT CHOICES &optional INITIAL-INPUT)
(defalias 'projectile-completing-read #[770 "\301!\302=\203 \303\304\211%\202j \305=\203% \306\304\211%\202j \307=\203E \310\311!\203? \311\312\313\314\315\316&\202j \317\320!\202j \321=\203f \310\322!\203` \310\323!\203` \322\323!\"\202j \317\324!\202j \"\207" [projectile-completion-system projectile-prepend-project-name ido ido-completing-read nil default completing-read helm fboundp helm-comp-read :initial-input :candidates-in-buffer t :must-match confirm user-error "Please install helm from https://github.com/emacs-helm/helm" grizzl grizzl-completing-read grizzl-make-index "Please install grizzl from https://github.com/d11wtq/grizzl"] 13 (#$ . 39223)])
#@55 Return a list of files for the current project.

(fn)
(defalias 'projectile-current-project-files #[0 "\205	 \302\303 	\"\211\204 \304\305\306 \"\262\203 \307\303 \"\210\310!\207" [projectile-enable-caching projectile-projects-cache gethash projectile-project-root -mapcat projectile-dir-files projectile-get-project-directories projectile-cache-project projectile-sort-files] 4 (#$ . 40010)])
#@64 Process the current project's files using ACTION.

(fn ACTION)
(defalias 'projectile-process-current-project-files #[257 "\301 \302\211\302\262\211\205 \211@!\210A\266\202\202\n \262)\207" [default-directory projectile-current-project-files nil] 8 (#$ . 40417)])
#@54 Return a list of dirs for the current project.

(fn)
(defalias 'projectile-current-project-dirs #[0 "\300\301\302\303\304\305 \"!\"\207" [-remove null -distinct -map file-name-directory projectile-current-project-files] 6 (#$ . 40695)])
#@44 Return a list of all HASH keys.

(fn HASH)
(defalias 'projectile-hash-keys #[257 "\300C\301\302\303\304\305\306!\307\"\310\311%\"\210\211@\207" [nil maphash make-byte-code 514 "\300\300@B\240\207" vconcat vector [] 5 "\n\n(fn K V)"] 9 (#$ . 40938)])
#@112 Jump to a project's file using completion.

With a prefix ARG invalidates the cache first.

(fn &optional ARG)
(defalias 'projectile-find-file #[256 "\300!\210\301\302\303 \"\304\305\306 \"!\210\307\310!\207" [projectile-maybe-invalidate-cache projectile-completing-read "Find file: " projectile-current-project-files find-file expand-file-name projectile-project-root run-hooks projectile-find-file-hook] 6 (#$ . 41199) "P"])
#@142 Jump to a project's file using completion and show it in another window.

With a prefix ARG invalidates the cache first.

(fn &optional ARG)
(defalias 'projectile-find-file-other-window #[256 "\300!\210\301\302\303 \"\304\305\306 \"!\210\307\310!\207" [projectile-maybe-invalidate-cache projectile-completing-read "Find file: " projectile-current-project-files find-file-other-window expand-file-name projectile-project-root run-hooks projectile-find-file-hook] 6 (#$ . 41635) "P"])
#@62 Sort FILES according to `projectile-sort-order'.

(fn FILES)
(defalias 'projectile-sort-files #[257 "\301=\203 \207\302=\203 \303!\207\304=\203 \305!\207\306=\203% \307!\207\310=\203/ \311!\207\312\207" [projectile-sort-order default recentf projectile-sort-by-recentf-first recently-active projectile-sort-by-recently-active-first modification-time projectile-sort-by-modification-time access-time projectile-sort-by-access-time nil] 3 (#$ . 42126)])
#@50 Sort FILES by a recent first scheme.

(fn FILES)
(defalias 'projectile-sort-by-recentf-first #[257 "\300 \301\302\"\"\207" [projectile-recentf-files append -difference] 7 (#$ . 42596)])
#@73 Sort FILES by most recently active buffers or opened files.

(fn FILES)
(defalias 'projectile-sort-by-recently-active-first #[257 "\300 \301\302\"\"\207" [projectile-recently-active-files append -difference] 7 (#$ . 42791)])
#@46 Sort FILES by modification time.

(fn FILES)
(defalias 'projectile-sort-by-modification-time #[257 "\301 \302\303\")\207" [default-directory projectile-project-root -sort #[514 "\300\301!8\300\301!8\302\"?\207" [5 file-attributes time-less-p] 7 "\n\n(fn FILE1 FILE2)"]] 4 (#$ . 43025)])
#@40 Sort FILES by access time.

(fn FILES)
(defalias 'projectile-sort-by-access-time #[257 "\301 \302\303\")\207" [default-directory projectile-project-root -sort #[514 "\300\301!8\300\301!8\302\"?\207" [4 file-attributes time-less-p] 7 "\n\n(fn FILE1 FILE2)"]] 4 (#$ . 43324)])
#@117 Jump to a project's directory using completion.

With a prefix ARG invalidates the cache first.

(fn &optional ARG)
(defalias 'projectile-find-dir #[256 "\300!\210\301 \302\303\304 \"!\210\305\306!\207" [projectile-maybe-invalidate-cache projectile-complete-dir dired expand-file-name projectile-project-root run-hooks projectile-find-dir-hook] 6 (#$ . 43612) "P"])
#@133 Jump to a project's directory in other window using completion.

With a prefix ARG invalidates the cache first.

(fn &optional ARG)
(defalias 'projectile-find-dir-other-window #[256 "\211\203 \300\301!\210\302 \303\304\305 \"!\210\306\307!\207" [projectile-invalidate-cache nil projectile-complete-dir dired-other-window expand-file-name projectile-project-root run-hooks projectile-find-dir-hook] 6 (#$ . 43987) "P"])
(defalias 'projectile-complete-dir #[0 "\301\302\203 \303\304\305 \"\202 \305 \"\207" [projectile-find-dir-includes-top-level projectile-completing-read "Find dir: " append ("./") projectile-current-project-dirs] 5 "\n\n(fn)"])
#@117 Jump to a project's test file using completion.

With a prefix ARG invalidates the cache first.

(fn &optional ARG)
(defalias 'projectile-find-test-file #[256 "\300!\210\301\302\303 \"\304\305\306 \"!\207" [projectile-maybe-invalidate-cache projectile-completing-read "Find test file: " projectile-current-project-test-files find-file expand-file-name projectile-project-root] 6 (#$ . 44646) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\307\310\315&\207" [custom-declare-variable projectile-test-files-prefixes funcall function #[0 "\300\207" [("test_")] 1 "\n\n(fn)"] "Some common prefixes of test files." :group projectile :type (repeat string) projectile-test-files-suffices #[0 "\300\207" [("_test" "_spec" "Spec" "Test" "-test")] 1 "\n\n(fn)"] "Some common suffices of test files." (repeat string)] 8)
#@41 Return only the test FILES.

(fn FILES)
(defalias 'projectile-test-files #[257 "\300\301\"\207" [-filter projectile-test-file-p] 4 (#$ . 45514)])
#@42 Check if FILE is a test file.

(fn FILE)
(defalias 'projectile-test-file-p #[257 "\302\303\304\305\306\307!\310\"\311\312%\"\206# \302\303\304\305\306\307!\313\"\311\314%	\"\207" [projectile-test-files-prefixes projectile-test-files-suffices -any\? make-byte-code 257 "\301\302\300!\"\207" vconcat vector [s-starts-with\? file-name-nondirectory] 5 "\n\n(fn PREFIX)" [s-ends-with\? file-name-sans-extension] "\n\n(fn SUFFIX)"] 8 (#$ . 45667)])
#@60 Return a list of test files for the current project.

(fn)
(defalias 'projectile-current-project-test-files #[0 "\300\301 !\207" [projectile-test-files projectile-current-project-files] 2 (#$ . 46122)])
(defvar projectile-rails-rspec '("Gemfile" "app" "lib" "db" "config" "spec"))
(defvar projectile-rails-test '("Gemfile" "app" "lib" "db" "config" "test"))
(defvar projectile-symfony '("composer.json" "app" "src" "vendor"))
(defvar projectile-ruby-rspec '("Gemfile" "lib" "spec"))
(defvar projectile-ruby-test '("Gemfile" "lib" "test"))
(defvar projectile-django '("manage.py"))
(defvar projectile-python-pip '("requirements.txt"))
(defvar projectile-python-egg '("setup.py"))
(defvar projectile-maven '("pom.xml"))
(defvar projectile-gradle '("build.gradle"))
(defvar projectile-grails '("application.properties" "grails-app"))
(defvar projectile-lein '("project.clj"))
(defvar projectile-rebar '("rebar"))
(defvar projectile-sbt '("build.sbt"))
(defvar projectile-make '("Makefile"))
(defvar projectile-grunt '("Gruntfile.js"))
(defvar projectile-gulp '("gulpfile.js"))
(defalias 'projectile-go #[0 "\300\301\302 \"\207" [-any\? #[257 "\300!\301\230\207" [file-name-extension "go"] 3 "\n\n(fn FILE)"] projectile-current-project-files] 3 "\n\n(fn)"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\303&\207" [custom-declare-variable projectile-go-function funcall function #[0 "\300\207" [projectile-go] 1 "\n\n(fn)"] "Function to determine if project's type is go." :group projectile :type] 8)
#@60 Determine the project's type based on its structure.

(fn)
(defalias 'projectile-project-type #[0 "\306!\203 \307\207\306	!\203 \310\207\306\n!\203 \311\207\306!\203  \312\207\306\f!\203( \313\207\306!\2030 \314\207\306!\2039 \314\207\306!\203B \315\207\306!\203K \316\207\306!\203T \317\207\306!\203] \320\207\306!\203f \321\207\306!\203o \322\207\306 !\203x \323\207\306!!\203\201 \324\207\306\"!\203\212 \325\207\306#!\203\223 \326\207$ \203\233 \327\207\330\207" [projectile-rails-rspec projectile-rails-test projectile-ruby-rspec projectile-ruby-test projectile-django projectile-python-pip projectile-verify-files rails-rspec rails-test ruby-rspec ruby-test django python symfony lein maven gradle grails rebar sbt make gulp grunt go generic projectile-python-egg projectile-symfony projectile-lein projectile-maven projectile-gradle projectile-grails projectile-rebar projectile-sbt projectile-make projectile-gulp projectile-grunt projectile-go-function] 2 (#$ . 47632)])
#@67 Check whether all FILES exist in the current project.

(fn FILES)
(defalias 'projectile-verify-files #[257 "\300\301\"\207" [-all\? projectile-verify-file] 4 (#$ . 48643)])
#@62 Check whether FILE exists in the current project.

(fn FILE)
(defalias 'projectile-verify-file #[257 "\300\301!!\207" [projectile-file-exists-p projectile-expand-root] 4 (#$ . 48823)])
#@53 Determine the VCS used by the project if any.

(fn)
(defalias 'projectile-project-vcs #[0 "\300 \301\302\303\"!\203 \304\202\223 \301\302\305\"!\203 \306\202\223 \301\302\307\"!\203) \310\202\223 \301\302\311\"!\2036 \312\202\223 \301\302\313\"!\203C \314\202\223 \301\302\315\"!\203P \316\202\223 \317\303\"\203[ \304\202\223 \317\305\"\203f \306\202\223 \317\307\"\203q \310\202\223 \317\311\"\203| \312\202\223 \317\313\"\203\207 \314\202\223 \317\315\"\203\222 \316\202\223 \320\207" [projectile-project-root projectile-file-exists-p expand-file-name ".git" git ".hg" hg ".fossil" fossil ".bzr" bzr "_darcs" darcs ".svn" svn projectile-locate-dominating-file none] 5 (#$ . 49015)])
#@88 Given a FILE-NAME return the matching implementation or test filename.

(fn FILE-NAME)
(defalias 'projectile-find-implementation-or-test #[257 "\211\204 \300\301!\210\302!\203 \303!\211\203 \304!\202 \300\305!\207\306!\211\203, \304!\202/ \300\307!\207" [error "The current buffer is not visiting a file" projectile-test-file-p projectile-find-matching-file projectile-expand-root "No matching source file found" projectile-find-matching-test "No matching test file found"] 4 (#$ . 49721)])
#@66 Open matching implementation or test file in other window.

(fn)
(defalias 'projectile-find-implementation-or-test-other-window #[0 "\300\301\302 !!\207" [find-file-other-window projectile-find-implementation-or-test buffer-file-name] 3 (#$ . 50227) nil])
#@64 Toggle between an implementation file and its test file.

(fn)
(defalias 'projectile-toggle-between-implementation-and-test #[0 "\300\301\302 !!\207" [find-file projectile-find-implementation-or-test buffer-file-name] 3 (#$ . 50489) nil])
#@65 Find test files affix based on PROJECT-TYPE.

(fn PROJECT-TYPE)
(defalias 'projectile-test-affix #[257 "!\206 	!\206 \302\303!\207" [projectile-test-prefix-function projectile-test-suffix-function error "Project type not supported!"] 3 (#$ . 50734)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\303&\210\300\311\302\303\312DD\313\306\307\310\303&\207" [custom-declare-variable projectile-test-prefix-function funcall function #[0 "\300\207" [projectile-test-prefix] 1 "\n\n(fn)"] "Function to find test files prefix based on PROJECT-TYPE." :group projectile :type projectile-test-suffix-function #[0 "\300\207" [projectile-test-suffix] 1 "\n\n(fn)"] "Function to find test files suffix based on PROJECT-TYPE."] 8)
#@74 Find default test files prefix based on PROJECT-TYPE.

(fn PROJECT-TYPE)
(defalias 'projectile-test-prefix #[257 "\211\300\235\205 \301\207" [(django python) "test_"] 3 (#$ . 51468)])
#@74 Find default test files suffix based on PROJECT-TYPE.

(fn PROJECT-TYPE)
(defalias 'projectile-test-suffix #[257 "\211\300\235\203 \301\207\211\302\235\203 \303\207\211\304\235\203 \305\207\211\306\235\205 \307\207" [(rails-rspec ruby-rspec) "_spec" (rails-test ruby-test lein go) "_test" (maven symfony) "Test" (gradle grails) "Spec"] 3 (#$ . 51659)])
#@56 Compute the name of the test matching FILE.

(fn FILE)
(defalias 'projectile-find-matching-test #[257 "\300\301!!\302\303 !\304\305\306\307\310\311\"\312\"\313\314%\315 \"\207" [file-name-nondirectory file-name-sans-extension projectile-test-affix projectile-project-type -first make-byte-code 257 "\302\303!!\304\301\300P\"\206 \304\300\301P\"\207" vconcat vector [file-name-nondirectory file-name-sans-extension s-equals\?] 6 "\n\n(fn CURRENT-FILE)" projectile-current-project-files] 11 (#$ . 52022)])
#@64 Compute the name of a file matching TEST-FILE.

(fn TEST-FILE)
(defalias 'projectile-find-matching-file #[257 "\300\301!!\302\303 !\304\305\306\307\310\311\"\312\"\313\314%\315 \"\207" [file-name-nondirectory file-name-sans-extension projectile-test-affix projectile-project-type -first make-byte-code 257 "\302\303!!\304\301P\300\"\206 \304\301P\300\"\207" vconcat vector [file-name-nondirectory file-name-sans-extension s-equals\?] 5 "\n\n(fn CURRENT-FILE)" projectile-current-project-files] 11 (#$ . 52541)])
#@199 Try to find a default pattern for `projectile-grep'.
This is a subset of `grep-read-files', where either a matching entry from
`grep-files-aliases' or file name extension pattern is returned.

(fn)
(defalias 'projectile-grep-default-files #[0 "\205N \302!\303\304\305	\"	\"\306\2037 @\262A\262\307\310\311\312A\306\313#\314#\"\2031 \306\262\202 \306\262\202 \211A\266\202\315!\211\205E \316P\262\206L \211\266\203\207" [buffer-file-name grep-files-aliases file-name-nondirectory remove assoc "all" nil string-match mapconcat wildcard-to-regexp split-string t "\\|" file-name-extension "*."] 10 (#$ . 53069)])
#@232 Perform rgrep in the project.

With a prefix ARG asks for files (globbing-aware) which to grep in.
With prefix ARG of `-' (such as `M--'), default the files (without prompt),
to `projectile-grep-default-files'.

(fn &optional ARG)
(defalias 'projectile-grep #[256 "\306 \203 	\203 \307 \310 {\202 \311\312\313!\314 \"\205/ \n\315\232\203( \316 \206/ \311\312\317!\316 \"\211\205\222 \211@\320\321!\210\322 \323=\203R \203R \324\206L \325#\210\202\213 \326\327\330\331\332\333\334!\335\"\336\337%\340 A\"\f\"\326\327\330\331\341\333\334!\342\"\343\344%\345 \"\"\346 \210\347\206\207 \350#\210*A\266\202\2020 \262\207" [transient-mark-mode mark-active current-prefix-arg projectile-use-git-grep grep-find-ignored-directories grep-find-ignored-files projectile-get-project-directories region-beginning region-end read-string projectile-prepend-project-name "Grep for: " projectile-symbol-at-point - projectile-grep-default-files "Grep in: " require grep projectile-project-vcs git vc-git-grep "" -union -map make-byte-code 257 "\301\302\303\300\"\"\207" vconcat vector [s-chop-suffix "/" file-relative-name] 6 "\n\n(fn DIR)" projectile-ignored-directories "\301\300\"\207" [file-relative-name] 4 "\n\n(fn FILE)" projectile-ignored-files grep-compute-defaults rgrep "* .*"] 15 (#$ . 53702) "P"])
#@165 Run an ack search with REGEXP in the project.

With a prefix argument ARG prompts you for a directory on which the search is performed .

(fn REGEXP &optional ARG)
(defalias 'projectile-ack #[513 "\301\302\303\304#\2039 \203 \305\306 \307 \"\202 \307 \310\311\312\313\314 \"\312\315\316\317\320\321\n!\322\"\323\324%\325 \"\"\"\302\326#\207\327\330!\207" [ack-and-a-half-arguments require ack-and-a-half nil noerror expand-file-name projectile-complete-dir projectile-project-root append -union -map #[257 "\300\301\302!!P\207" ["--ignore-dir=" file-name-nondirectory directory-file-name] 5 "\n\n(fn PATH)"] projectile-ignored-directories make-byte-code 257 "\301\302\300\"P\207" vconcat vector ["--ignore-file=is:" file-relative-name] 5 "\n\n(fn PATH)" projectile-ignored-files t error "ack-and-a-half not available"] 15 (#$ . 55025) (byte-code "\301\302\303!\304 \"D\207" [current-prefix-arg read-from-minibuffer projectile-prepend-project-name "Ack search for: " projectile-symbol-at-point] 3)])
#@173 Run an ag search with SEARCH-TERM in the project.

With an optional prefix argument ARG SEARCH-TERM is interpreted as a
regular expression.

(fn SEARCH-TERM &optional ARG)
(defalias 'projectile-ag #[513 "\301\302!\203 \211\203 \302\202 \303\304\211\305 \")\207\306\307!\207" [current-prefix-arg fboundp ag-regexp ag nil projectile-project-root error "Ag is not available"] 6 (#$ . 56042) (byte-code "\301\302\303!\304 \"D\207" [current-prefix-arg read-from-minibuffer projectile-prepend-project-name "Ag search for: " projectile-symbol-at-point] 3)])
#@56 Return a string with exclude patterns for ctags.

(fn)
(defalias 'projectile-tags-exclude-patterns #[0 "\300\301\302 \303#\207" [mapconcat #[257 "\300\301\302!\"\207" [format "--exclude=%s" directory-file-name] 5 "\n\n(fn PATTERN)"] projectile-ignored-directories-rel " "] 4 (#$ . 56605)])
#@43 Regenerate the project's [e|g]tags.

(fn)
(defalias 'projectile-regenerate-tags #[0 "\303\304!\203 \305 \211\306 \210\307\310!)\207\305 \311 \312	!\313\n#\314\211\315\316!r\211q\210\317\320\321\322\323\324!\325\"\326\327%DC\216\330\314p#\262\331ed{!\262*\210\332!\204T \333!\210\334!)\207" [default-directory projectile-tags-file-name projectile-tags-command boundp ggtags-mode projectile-project-root ggtags-ensure-project ggtags-update-tags t projectile-tags-exclude-patterns expand-file-name format nil generate-new-buffer " *temp*" funcall make-byte-code 0 "\301\300!\205	 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 "\n\n(fn)" call-process-shell-command s-trim zerop error visit-tags-table] 14 (#$ . 56902) nil])
#@47 Visit the current project's tags table.

(fn)
(defalias 'projectile-visit-project-tags-table #[0 "\302 \205? \303!\304!\205= \305\306\307\310\311!\312\"\313\314%	\203# \211 \202; \315\316\305\306\317\310\311!\320\"\321\314%D\322\316\323\315EDC\217\262\262\207" [projectile-tags-file-name debug-on-error projectile-project-p projectile-expand-root file-exists-p make-byte-code 0 "\301\300\302\"\207" vconcat vector [visit-tags-table t] 3 "\n\n(fn)" #1=#:err funcall "\300 \207" [] 1 error #[257 "\300\301\"\210\302\207" [message "Error: %S" nil] 4 "\n\n(fn ERR)"]] 10 (#$ . 57654)])
#@28 Find tag in project.

(fn)
(defalias 'projectile-find-tag #[0 "\302\303!\203\n \304\202 \305\302\303!\203 \306\307\310\"!\202\" \311\301 \210\306	!\312\313\314 #!\207" [ggtags-completion-table tags-completion-table boundp ggtags-mode ggtags-find-tag find-tag projectile--tags all-completions "" nil projectile-completing-read "Find tag: " projectile-symbol-at-point] 7 (#$ . 58250) nil])
#@58 Find tags using COMPLETION-TABLE.

(fn COMPLETION-TABLE)
(defalias 'projectile--tags #[257 "\300\301\302\303\"\"\207" [-reject null -map #[257 "\211\250?\205\n \300\301\"\207" [prin1-to-string t] 4 "\n\n(fn X)"]] 6 (#$ . 58650)])
#@46 Invoke in DIR the BODY.

(fn DIR &rest BODY)
(defalias 'projectile-with-default-dir '(macro . #[385 "\300\301DCBB\207" [let default-directory] 5 (#$ . 58888)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put projectile-with-default-dir edebug-form-spec t lisp-indent-function 1] 4)
#@64 Invoke `execute-extended-command' in the project's root.

(fn)
(defalias 'projectile-run-command-in-root #[0 "\301 \302\303!)\207" [default-directory projectile-project-root call-interactively execute-extended-command] 2 (#$ . 59192) nil])
#@53 Invoke `shell-command' in the project's root.

(fn)
(defalias 'projectile-run-shell-command-in-root #[0 "\301 \302\303!)\207" [default-directory projectile-project-root call-interactively shell-command] 2 (#$ . 59439) nil])
#@59 Invoke `async-shell-command' in the project's root.

(fn)
(defalias 'projectile-run-async-shell-command-in-root #[0 "\301 \302\303!)\207" [default-directory projectile-project-root call-interactively async-shell-command] 2 (#$ . 59670) nil])
#@54 Return a list of files in DIRECTORY.

(fn DIRECTORY)
(defalias 'projectile-files-in-project-directory #[257 "\300\301!\302 \"\303\304\305\306\307\310!\311\"\312\313%\314 \"\207" [file-relative-name expand-file-name projectile-project-root -filter make-byte-code 257 "\301\300\"\207" vconcat vector [s-starts-with-p] 4 "\n\n(fn FILE)" projectile-current-project-files] 9 (#$ . 59919)])
#@59 Check to see if unixy text utilities are installed.

(fn)
(defalias 'projectile-unixy-system-p #[0 "\300\301\300\302\203) \203) @\204 \303\262\202 \304!\262\210\211T\262A\262\202 \266\305!\207" [t ("grep" "cut" "uniq") 0 nil executable-find ---truthy\?] 7 (#$ . 60314)])
#@277 Use a grep-like CMD to search for files within DIRECTORY.

CMD should include the necessary search params and should output
equivalently to grep -H (colon-deliminated, with the relative
filename as the first column).  Returns a list of expanded
filenames.

(fn CMD DIRECTORY)
(defalias 'projectile-files-from-cmd #[514 "\211\301\302\303\304\305\306!\307\"\310\311%\312\313\314\315\316\317	\320P!!\"\"\")\207" [default-directory mapcar make-byte-code 257 "\300\301\302\"P\207" vconcat vector [s-chop-prefix "./"] 5 "\n\n(fn IT)" -filter s-present\? s-split "\n+" s-trim shell-command-to-string " | cut -d: -f1 | uniq"] 12 (#$ . 60607)])
#@236 Return a list of all files containing STRING in DIRECTORY.

Tries to use ag, ack, git-grep, and grep in that order.  If those
are impossible (for instance on Windows), returns a list of all
files in the project.

(fn STRING DIRECTORY)
(defalias 'projectile-files-with-string #[514 "\300 \203< \301!\302\303!\203 \304P\2027 \302\305!\203  \306P\2027 \302\307!\2033 \310 \311=\2033 \312P\2027 \313\314Q\315\"\207\316\317\320\321\322!\"\"\207" [projectile-unixy-system-p shell-quote-argument executable-find "ag" "ag --literal --nocolor --noheading -- " "ack" "ack --noheading --nocolor -- " "git" projectile-project-vcs git "git grep -H " "grep -rH " " ." projectile-files-from-cmd -reject file-directory-p -map projectile-expand-root projectile-dir-files] 8 (#$ . 61255)])
#@160 Replace a string in the project using `tags-query-replace'.

With a prefix argument ARG prompts you for a directory on which
to run the replacement.

(fn ARG)
(defalias 'projectile-replace #[257 "\300\301\302!\303 \"\300\301\304\305\"!!\203 \306\307!\202 \310 \311\"\312\313\314B$\207" [read-string projectile-prepend-project-name "Replace: " projectile-symbol-at-point format "Replace %s with: " read-directory-name "Replace in directory: " projectile-project-root projectile-files-with-string tags-query-replace nil list] 11 (#$ . 62043) "P"])
#@57 Get the symbol at point and strip its properties.

(fn)
(defalias 'projectile-symbol-at-point #[0 "\300\301\302!\206 \303!\207" [substring-no-properties thing-at-point symbol ""] 3 (#$ . 62604)])
#@33 Kill all project buffers.

(fn)
(defalias 'projectile-kill-buffers #[0 "\300 \301\302G\303 #\304!\205 \305\306\307\310\"\"\207" [projectile-project-buffers format "Are you sure you want to kill %d buffer(s) for '%s'? " projectile-project-name yes-or-no-p mapc kill-buffer -remove buffer-base-buffer] 7 (#$ . 62807) nil])
#@33 Save all project buffers.

(fn)
(defalias 'projectile-save-project-buffers #[0 "\301 \302\205! @r\211q\210\203 \303 \210)\210\211T\262A\262\202 \207" [buffer-file-name projectile-project-buffers 0 save-buffer] 4 (#$ . 63138) nil])
#@48 Open `dired' at the root of the project.

(fn)
(defalias 'projectile-dired #[0 "\300\301 !\207" [dired projectile-project-root] 2 (#$ . 63383) nil])
#@104 Open `vc-dir' at the root of the project.

For git projects `magit-status' is used if available.

(fn)
(defalias 'projectile-vc #[0 "\300 \301=\203 \302\303!\203 \303\304 !\207\305\304 !\207" [projectile-project-vcs git fboundp magit-status projectile-project-root vc-dir] 2 (#$ . 63539) nil])
#@59 Show a list of recently visited files in a project.

(fn)
(defalias 'projectile-recentf #[0 "\300\301!\203 \302\303\304\305\306 \"!!\207\307\310!\207" [boundp recentf-list find-file projectile-expand-root projectile-completing-read "Recently visited files: " projectile-recentf-files message "recentf is not enabled"] 5 (#$ . 63841) nil])
#@61 Return a list of recently visited files in a project.

(fn)
(defalias 'projectile-recentf-files #[0 "\301\300!\205) \302 \303\304\305\306\307\310!\311\"\312\313%\314\304\305\315\307\310!\316\"\312\313%\"\"\262\207" [recentf-list boundp projectile-project-root -map make-byte-code 257 "\301\300\"\207" vconcat vector [file-relative-name] 4 "\n\n(fn FILE)" -filter "\301\300\"\207" [s-starts-with-p]] 10 (#$ . 64187)])
#@54 Serializes the memory cache to the hard drive.

(fn)
(defalias 'projectile-serialize-cache #[0 "\302	\"\207" [projectile-projects-cache projectile-cache-file projectile-serialize] 3 (#$ . 64618)])
(defvar projectile-rails-compile-cmd "bundle exec rails server")
(defvar projectile-ruby-compile-cmd "bundle exec rake build")
(defvar projectile-ruby-test-cmd "bundle exec rake test")
(defvar projectile-ruby-rspec-cmd "bundle exec rspec")
(defvar projectile-django-compile-cmd "python manage.py runserver")
(defvar projectile-django-test-cmd "python manage.py test")
(defvar projectile-python-compile-cmd "python setup.py build")
(defvar projectile-python-test-cmd "python -m unittest discover")
(defvar projectile-symfony-compile-cmd "app/console server:run")
(defvar projectile-symfony-test-cmd "phpunit -c app ")
(defvar projectile-maven-compile-cmd "mvn clean install")
(defvar projectile-maven-test-cmd "mvn test")
(defvar projectile-gradle-compile-cmd "gradle build")
(defvar projectile-gradle-test-cmd "gradle test")
(defvar projectile-grails-compile-cmd "grails package")
(defvar projectile-grails-test-cmd "grails test-app")
(defvar projectile-lein-compile-cmd "lein compile")
(defvar projectile-lein-test-cmd "lein test")
(defvar projectile-rebar-compile-cmd "rebar")
(defvar projectile-rebar-test-cmd "rebar eunit")
(defvar projectile-sbt-compile-cmd "sbt compile")
(defvar projectile-sbt-test-cmd "sbt test")
(defvar projectile-make-compile-cmd "make")
(defvar projectile-make-test-cmd "make test")
(defvar projectile-grunt-compile-cmd "grunt")
(defvar projectile-grunt-test-cmd "grunt test")
(defvar projectile-gulp-compile-cmd "gulp")
(defvar projectile-gulp-test-cmd "gulp test")
(defvar projectile-go-compile-cmd "go build ./...")
(defvar projectile-go-test-cmd "go test ./...")
(byte-code "\300\211\203 \211@\301\302\303#\210A\266\202\202 \207" [(projectile-rails-compile-cmd projectile-ruby-compile-cmd projectile-ruby-test-cmd projectile-ruby-rspec-cmd projectile-django-compile-cmd projectile-django-test-cmd projectile-python-compile-cmd projectile-python-test-cmd projectile-symfony-compile-cmd projectile-symfony-test-cmd projectile-maven-compile-cmd projectile-maven-test-cmd projectile-lein-compile-cmd projectile-lein-test-cmd projectile-rebar-compile-cmd projectile-rebar-test-cmd projectile-sbt-compile-cmd projectile-sbt-test-cmd projectile-make-compile-cmd projectile-make-test-cmd projectile-grunt-compile-cmd projectile-grunt-test-cmd) put safe-local-variable stringp] 6)
#@75 A mapping between projects and the last compilation command used on them.
(defvar projectile-compilation-cmd-map (make-hash-table :test 'equal) (#$ . 67131))
#@68 A mapping between projects and the last test command used on them.
(defvar projectile-test-cmd-map (make-hash-table :test 'equal) (#$ . 67295))
#@75 Retrieve default compilation command for PROJECT-TYPE.

(fn PROJECT-TYPE)
(defalias 'projectile-default-compilation-command #[257 "\211\306\235\203 \207\211\307\235\203 	\207\211\310=\203 \n\207\211\311=\203  \207\211\312=\203( \f\207\211\313=\2030 \207\211\314=\2039 \207\211\315=\203B \207\211\316=\203K \207\211\317=\203T \207\211\320=\203] \207\211\321=\203f \207\211\322=\203o \207\211\323=\203x \207\211\324=\203\201 \207\207" [projectile-rails-compile-cmd projectile-ruby-compile-cmd projectile-django-compile-cmd projectile-python-compile-cmd projectile-symfony-compile-cmd projectile-lein-compile-cmd (rails-rspec rails-test) (ruby-rspec ruby-test) django python symfony lein make rebar maven gradle grails sbt grunt gulp go projectile-make-compile-cmd projectile-rebar-compile-cmd projectile-maven-compile-cmd projectile-gradle-compile-cmd projectile-grails-compile-cmd projectile-sbt-compile-cmd projectile-grunt-compile-cmd projectile-gulp-compile-cmd projectile-go-compile-cmd] 3 (#$ . 67445)])
#@68 Retrieve default test command for PROJECT-TYPE.

(fn PROJECT-TYPE)
(defalias 'projectile-default-test-command #[257 "\211\306\235\203 \207\211\307\235\203 	\207\211\310=\203 \n\207\211\311=\203  \207\211\312=\203( \f\207\211\313=\2030 \207\211\314=\2039 \207\211\315=\203B \207\211\316=\203K \207\211\317=\203T \207\211\320=\203] \207\211\321=\203f \207\211\322=\203o \207\211\323=\203x \207\211\324=\203\201 \207\207" [projectile-ruby-rspec-cmd projectile-ruby-test-cmd projectile-django-test-cmd projectile-python-test-cmd projectile-symfony-test-cmd projectile-lein-test-cmd (rails-rspec ruby-rspec) (rails-test ruby-test) django python symfony lein make rebar maven gradle grails sbt grunt gulp go projectile-make-test-cmd projectile-rebar-test-cmd projectile-maven-test-cmd projectile-gradle-test-cmd projectile-grails-test-cmd projectile-sbt-test-cmd projectile-grunt-test-cmd projectile-gulp-test-cmd projectile-go-test-cmd] 3 (#$ . 68485)])
#@61 Retrieve the compilation command for PROJECT.

(fn PROJECT)
(defalias 'projectile-compilation-command #[257 "\301\"\206 \302\303 !\207" [projectile-compilation-cmd-map gethash projectile-default-compilation-command projectile-project-type] 4 (#$ . 69466)])
#@54 Retrieve the test command for PROJECT.

(fn PROJECT)
(defalias 'projectile-test-command #[257 "\301\"\206 \302\303 !\207" [projectile-test-cmd-map gethash projectile-default-test-command projectile-project-type] 4 (#$ . 69732)])
#@189 Run project compilation command.

Normally you'll be prompted for a compilation command, unless
variable `compilation-read-command'.  You can force the prompt
with a prefix ARG.

(fn ARG)
(defalias 'projectile-compile-project #[257 "\303 \304!\204 \203 \300!\202 \211\305\n#\210\306!)\207" [compilation-read-command default-directory projectile-compilation-cmd-map projectile-project-root projectile-compilation-command puthash compilation-start] 8 (#$ . 69971) "P"])
(ad-add-advice 'compilation-find-file '(projectile-compilation-find-file nil t (advice lambda nil "Try to find a buffer for FILENAME, if we cannot find it,\nfallback to the original function." (let ((filename (ad-get-arg 1))) (setf ad-return-value (or (if (file-exists-p (expand-file-name filename)) (find-file-noselect filename)) (and (projectile-project-p) (loop with root = (projectile-project-root) for dir in (cons "" (projectile-current-project-dirs)) for file = (expand-file-name filename (expand-file-name dir root)) if (file-exists-p file) return (find-file-noselect file))) ad-do-it))))) 'around nil)
#@182 Run project test command.

Normally you'll be prompted for a compilation command, unless
variable `compilation-read-command'.  You can force the prompt
with a prefix ARG.

(fn ARG)
(defalias 'projectile-test-project #[257 "\303 \304!\204 \203 \300!\202 \211\305\n#\210\306!)\207" [compilation-read-command default-directory projectile-test-cmd-map projectile-project-root projectile-test-command puthash compilation-start] 8 (#$ . 71069) "P"])
#@76 Return a list of known projects except the current one (if present).

(fn)
(defalias 'projectile-relevant-known-projects #[0 "\301 \203 \302\303\304 !C\"\207\207" [projectile-known-projects projectile-project-p -difference abbreviate-file-name projectile-project-root] 4 (#$ . 71531)])
#@241 Switch to a project we have visited before.
Invokes the command referenced by `projectile-switch-project-action' on switch.
With a prefix ARG invokes `projectile-commander' instead of
`projectile-switch-project-action.'

(fn &optional ARG)
(defalias 'projectile-switch-project #[256 "\300\301\302 \"\303\"\207" [projectile-completing-read "Switch to project: " projectile-relevant-known-projects projectile-switch-project-by-name] 5 (#$ . 71827) "P"])
#@268 Switch to project by project name PROJECT-TO-SWITCH.
Invokes the command referenced by `projectile-switch-project-action' on switch.
With a prefix ARG invokes `projectile-commander' instead of
`projectile-switch-project-action.'

(fn PROJECT-TO-SWITCH &optional ARG)
(defalias 'projectile-switch-project-by-name #[513 "\211\203\n \303\202 	\n\203 \304\305 !\204\" \211 \210\306 \210\202\" \211 \210\307\310!)\207" [default-directory projectile-switch-project-action projectile-remember-window-configs projectile-commander projectile-restore-window-config projectile-project-name delete-other-windows run-hooks projectile-switch-project-hook] 5 (#$ . 72288)])
#@140 Jump to a file in a (maybe regular) DIRECTORY.

This command will first prompt for the directory the file is in.

(fn &optional DIRECTORY)
(defalias 'projectile-find-file-in-directory #[256 "\211\302\303 \203 \304\305\306!\"\307\310\311 \"!\210\312\313!\262\202! \314 *\207" [projectile-require-project-root default-directory nil projectile-project-p projectile-completing-read "Find file: " projectile-dir-files find-file expand-file-name projectile-project-root run-hooks projectile-find-file-hook projectile-find-file] 6 (#$ . 72958) "DFind file in directory: "])
#@52 Jump to a file in any of the known projects.

(fn)
(defalias 'projectile-find-file-in-known-projects #[0 "\302\211C\302\262\303	\304\305\306\307\310!\311\"\312\313%\"\210\314\315\316@\"!)\207" [projectile-require-project-root projectile-known-projects nil -each make-byte-code 257 "\302!\205  \211\300\303\300@\304\305\306\307\310\311	!\312\"\313\314%\315 \"\"\240)\207" vconcat vector [default-directory file-exists-p append -map make-byte-code 257 "\301\300\"\207" vconcat vector [expand-file-name] 4 "\n\n(fn FILE)" projectile-current-project-files] 11 "\n\n(fn PROJECT)" find-file projectile-completing-read "Find file in projects: "] 10 (#$ . 73537) nil])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable projectile-switch-project-hook funcall function #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Hooks run when project is switched." :group projectile :type hook] 8)
#@55 Remove known projects that don't exist anymore.

(fn)
(defalias 'projectile-cleanup-known-projects #[0 "\301\302\203  @\303!\203 \211B\262\210\211T\262A\262\202 \266\211\237\262\304 \207" [projectile-known-projects nil 0 projectile-file-exists-p projectile-save-known-projects] 6 (#$ . 74455) nil])
#@84 Clear both `projectile-known-projects' and `projectile-known-projects-file'.

(fn)
(defalias 'projectile-clear-known-projects #[0 "\301\302 \207" [projectile-known-projects nil projectile-save-known-projects] 1 (#$ . 74774) nil])
#@73 Remove PROJECT from the list of known projects.

(fn &optional PROJECT)
(defalias 'projectile-remove-known-project #[256 "\301\302\203  @\230\204 \211B\262\210\211T\262A\262\202 \266\211\237\262\303 \210\304\305\"\207" [projectile-known-projects nil 0 projectile-save-known-projects message "Project %s removed from the list of known projects."] 7 (#$ . 75011) (byte-code "\301\302\"C\207" [projectile-known-projects projectile-completing-read "Remove from known projects: "] 3)])
#@67 Remove the current project from the list of known projects.

(fn)
(defalias 'projectile-remove-current-project-from-known-projects #[0 "\300\301\302 !!\207" [projectile-remove-known-project abbreviate-file-name projectile-project-root] 3 (#$ . 75515) nil])
#@82 A list of projects that should not be save in `projectile-known-projects'.

(fn)
(defalias 'projectile-ignored-projects #[0 "\301\302\"\207" [projectile-ignored-projects -map file-truename] 3 (#$ . 75778)])
#@68 Add PROJECT-ROOT to the list of known projects.

(fn PROJECT-ROOT)
(defalias 'projectile-add-known-project #[257 "\211\301 \235?\205 \302\303!B!\211\207" [projectile-known-projects projectile-ignored-projects -distinct abbreviate-file-name] 4 (#$ . 75992)])
#@104 Load saved projects from `projectile-known-projects-file'.
Also set `projectile-known-projects'.

(fn)
(defalias 'projectile-load-known-projects #[0 "\302!\211\207" [projectile-known-projects-file projectile-known-projects projectile-unserialize] 2 (#$ . 76261)])
(projectile-load-known-projects)
#@73 Save PROJECTILE-KNOWN-PROJECTS to PROJECTILE-KNOWN-PROJECTS-FILE.

(fn)
(defalias 'projectile-save-known-projects #[0 "\302	\"\207" [projectile-known-projects projectile-known-projects-file projectile-serialize] 3 (#$ . 76566)])
#@71 Show Ibuffer with all buffers in the current project.

(fn QUALIFIER)
(defalias 'ibuffer-filter-by-projectile-files #[257 "\300\301B!\210\302\303\304\305\"\"\210\306\307\310\"\207" [ibuffer-push-filter projectile-files message "%s" format "Filter by nil added:  %s" ibuffer-update nil t] 6 (#$ . 76802) (byte-code "\300\301\302\303\304D\305\303\306\302EDC\217\"C\207" [read-directory-name "Project root: " #1=#:err funcall #[0 "\300 \207" [projectile-project-root] 1 "\n\n(fn)"] error #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"]] 8)])
(byte-code "\301\302\303EB\302\207" [ibuffer-filtering-alist projectile-files nil #[514 "rq\210\300\301!!\302\303\304D\305\303\306\302EDC\217\232)\207" [file-name-as-directory expand-file-name #:err funcall #[0 "\300 \207" [projectile-project-root] 1 "\n\n(fn)"] error #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"]] 9 "\n\n(fn BUF QUALIFIER)"]] 3)
#@80 Open an IBuffer window showing all buffers in PROJECT-ROOT.

(fn PROJECT-ROOT)
(defalias 'projectile-ibuffer-by-project #[257 "\300\301!!\302\303\304\305\"\306BC#\207" [file-name-nondirectory directory-file-name ibuffer nil format "*%s Buffers*" projectile-files] 7 (#$ . 77697)])
#@139 Open an IBuffer window showing all buffers in the current project.

Let user choose another project when PREFIX is supplied.

(fn PREFIX)
(defalias 'projectile-ibuffer #[257 "\211\300U\203 \301\302\303 \"\202 \304 \305!\207" [4 projectile-completing-read "Project name: " projectile-relevant-known-projects projectile-project-root projectile-ibuffer-by-project] 4 (#$ . 77988) "p"])
(defconst projectile-commander-help-buffer "*Commander Help*")
#@186 List of file-selection methods for the `projectile-commander' command.
Each element is a list (KEY DESCRIPTION FUNCTION).
DESCRIPTION is a one-line description of what the key selects.
(defvar projectile-commander-methods nil (#$ . 78444))
#@252 Execute a Projectile command with a single letter.
The user is prompted for a single character indicating the action to invoke.
The `?' character describes then
available actions.

See `def-projectile-commander-method' for defining new methods.

(fn)
(defalias 'projectile-commander #[0 "\301\302\303\304\305\306\"\"\"\210\307 \310\311\312\313\314\315!\316\"\317\320%DC\216\321\322 !\210\323 )\262\324\325\306$\211\203: \211AA@ \202K \301\326\"\210\327 \210\330\331!\210\332 \210\333 \207" [projectile-commander-methods message "Commander [%s]: " apply string mapcar car current-window-configuration funcall make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 "\n\n(fn)" select-window minibuffer-window read-char cl-find :key "No method for character: ?\\%c" ding sleep-for 1 discard-input projectile-commander] 8 (#$ . 78691) nil])
#@272 Define a new `projectile-commander' method.

KEY is the key the user will enter to choose this method.

DESCRIPTION is a one-line sentence describing how the method.

BODY is a series of forms which are evaluated when the find
is chosen.

(fn KEY DESCRIPTION &rest BODY)
(defalias 'def-projectile-commander-method '(macro . #[642 "\300\301BB\302\303\304\305\306F\307	\310BBE\311BBE\207" [lambda nil setq projectile-commander-methods cl-sort cons list cl-remove (projectile-commander-methods :key #'car) (#'< :key #'car)] 12 (#$ . 79563)]))
(byte-code "\301\302\303\304E\305\302\306\307$B\310\306\307$\301\311\312\313E\305\311\306\307$B\310\306\307$\301\314\315\316E\305\314\306\307$B\310\306\307$\301\317\320\321E\305\317\306\307$B\310\306\307$\301\322\323\324E\305\322\306\307$B\310\306\307$\301\325\326\327E\305\325\306\307$B\310\306\307$\301\330\331\332E\305\330\306\307$B\310\306\307$\301\333\334\335E\305\333\306\307$B\310\306\307$\301\336\337\340E\305\336\306\307$B\310\306\307$\301\341\342\343E\305\341\306\307$B\310\306\307$\301\344\345\346E\305\344\306\307$B\310\306\307$\301\347\350\351E\305\347\306\307$B\310\306\307$\301\352\353\354E\305\352\306\307$B\310\306\307$\301\355\356\357E\305\355\306\307$B\310\306\307$\301\360\361\362E\305\360\306\307$B\310\306\307$\301\363\364\365E\305\363\306\307$B\310\306\307$\301\207" [projectile-commander-methods cl-sort 63 "Commander help buffer." #[0 "\302\303\304D\305\303\306\302EDC\217\210r\307!q\210\310c\210	\311\211\211\211:\203F @\262\211A\262@\262\211A\262@\262@\262\312\313#c\210A\262\202 \266eb\210\314 \210\315p\316\"\210)\317 \207" [projectile-commander-help-buffer projectile-commander-methods #:err funcall #[0 "\301!\207" [projectile-commander-help-buffer kill-buffer] 2 "\n\n(fn)"] error #[257 "\300\207" [nil] 2 "\n\n(fn IGNORED)"] get-buffer-create "Projectile Commander Methods:\n\n" nil format "%c:	%s\n" help-mode display-buffer t projectile-commander] 9 "\n\n(fn)"] cl-remove :key car < 97 "Run ack on project." #[0 "\300\301!\207" [call-interactively projectile-ack] 2 "\n\n(fn)"] 65 "Find ag on project." #[0 "\300\301!\207" [call-interactively projectile-ag] 2 "\n\n(fn)"] 102 "Find file in project." #[0 "\300 \207" [projectile-find-file] 1 "\n\n(fn)"] 84 "Find test file in project." #[0 "\300 \207" [projectile-find-test-file] 1 "\n\n(fn)"] 98 "Switch to project buffer." #[0 "\300 \207" [projectile-switch-to-buffer] 1 "\n\n(fn)"] 100 "Find directory in project." #[0 "\300 \207" [projectile-find-dir] 1 "\n\n(fn)"] 68 "Open project root in dired." #[0 "\300 \207" [projectile-dired] 1 "\n\n(fn)"] 118 "Open project root in vc-dir or magit." #[0 "\300 \207" [projectile-vc] 1 "\n\n(fn)"] 82 "Regenerate the project's [e|g]tags." #[0 "\300 \207" [projectile-regenerate-tags] 1 "\n\n(fn)"] 103 "Run grep on project." #[0 "\300 \207" [projectile-grep] 1 "\n\n(fn)"] 115 "Switch project." #[0 "\300 \207" [projectile-switch-project] 1 "\n\n(fn)"] 111 "Run multi-occur on project buffers." #[0 "\300 \207" [projectile-multi-occur] 1 "\n\n(fn)"] 106 "Find tag in project." #[0 "\300 \207" [projectile-find-tag] 1 "\n\n(fn)"] 107 "Kill all project buffers." #[0 "\300 \207" [projectile-kill-buffers] 1 "\n\n(fn)"] 101 "Find recently visited file in project." #[0 "\300 \207" [projectile-recentf] 1 "\n\n(fn)"]] 7)
#@65 Keymap for Projectile commands after `projectile-keymap-prefix'
(defvar projectile-command-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\301\340\341#\210\301\342\343#\210\301\344\345#\210\301\346\347#\210\301\350\351#\210\301\352\353#\210\301\354\355#\210\301\356\357#\210\301\360\361#\210\301\362\363#\210\301\364\365#\210\301\366\367#\210\301\370\371#\210\301\372\373#\210\301\374\375#\210\301\376\377#\210\301\201@ \201A #\210\301\201B \201C #\210\301\201D \201E #\210\211\207" [make-sparse-keymap define-key "4b" projectile-switch-to-buffer-other-window "4" projectile-display-buffer "4d" projectile-find-dir-other-window "4f" projectile-find-file-other-window "4t" projectile-find-implementation-or-test-other-window "!" projectile-run-shell-command-in-root "&" projectile-run-async-shell-command-in-root "b" projectile-switch-to-buffer "c" projectile-compile-project "d" projectile-find-dir "D" projectile-dired "e" projectile-recentf "f" projectile-find-file "F" projectile-find-file-in-known-projects "i" projectile-invalidate-cache "I" projectile-ibuffer "j" projectile-find-tag "k" projectile-kill-buffers "l" projectile-find-file-in-directory "m" projectile-commander "o" projectile-multi-occur "p" projectile-switch-project "P" projectile-test-project "r" projectile-replace "R" projectile-regenerate-tags "sa" projectile-ack "sg" projectile-grep "ss" projectile-ag "S" projectile-save-project-buffers "t" projectile-toggle-between-implementation-and-test "T" projectile-find-test-file "v" projectile-vc "z" projectile-cache-current-file "" projectile-project-buffers-other-buffer] 5) (#$ . 82913))
(fset 'projectile-command-map projectile-command-map)
#@29 Keymap for Projectile mode.
(defvar projectile-mode-map (byte-code "\301 \302\303#\210\211\207" [projectile-keymap-prefix make-sparse-keymap define-key projectile-command-map] 5) (#$ . 84851))
(byte-code "\300\301\302\303\304$\210\300\305\306\307\304$\210\310\311\312\313\314DD\315\316\317\320\321&\207" [easy-menu-change ("Tools") "Projectile" (["Find file" projectile-find-file] ["Find file in known projects" projectile-find-file-in-known-projects] ["Find test file" projectile-find-test-file] ["Find directory" projectile-find-dir] ["Find file in directory" projectile-find-file-in-directory] ["Switch to buffer" projectile-switch-to-buffer] ["Jump between implementation file and test file" projectile-toggle-between-implementation-and-test] ["Kill project buffers" projectile-kill-buffers] ["Recent files" projectile-recentf] "--" ["Open project in dired" projectile-dired] ["Switch to project" projectile-switch-project] ["Find in project (grep)" projectile-grep] ["Find in project (ack)" projectile-ack] ["Replace in project" projectile-replace] ["Multi-occur in project" projectile-multi-occur] "--" ["Cache current file" projectile-cache-current-file] ["Invalidate cache" projectile-invalidate-cache] ["Regenerate [e|g]tags" projectile-regenerate-tags] "--" ["Compile project" projectile-compile-project] ["Test project" projectile-test-project] "--" ["About" projectile-version]) "Search Files (Grep)..." ("Tools") "--" nil custom-declare-variable projectile-mode-line-lighter funcall function #[0 "\300\207" ["Projectile"] 1 "Projectile\n\n(fn)"] "The default lighter for `projectile-mode'." :group projectile :type string] 8)
#@63 The dynamic mode line lighter variable for `projectile-mode'.
(defvar projectile-mode-line (format " %s" projectile-mode-line-lighter) (#$ . 86499))
(make-variable-buffer-local 'projectile-mode-line)
#@36 Report project in mode-line.

(fn)
(defalias 'projectile-update-mode-line #[0 "\302 \303\304#\210\305 \207" [projectile-mode-line-lighter projectile-mode-line projectile-project-name format " %s[%s]" force-mode-line-update] 5 (#$ . 86705)])
#@99 Non-nil if Projectile mode is enabled.
Use the command `projectile-mode' to change this variable.
(defvar projectile-mode nil (#$ . 86955))
(make-variable-buffer-local 'projectile-mode)
#@417 Minor mode to assist project management and navigation.

When called interactively, toggle `projectile-mode'.  With prefix
ARG, enable `projectile-mode' if ARG is positive, otherwise disable
it.

When called from Lisp, enable `projectile-mode' if ARG is omitted,
nil or positive.  If ARG is `toggle', toggle `projectile-mode'.
Otherwise behave as if called interactively.

\{projectile-mode-map}

(fn &optional ARG)
(defalias 'projectile-mode #[256 "\301 \302=\203 ?\202 \303!\304V\211\203? \305\306\307\310\211$\210\305\306\311\310\211$\210\305\312\311\"\210\305\306\313\310\211$\210\305\306\314\310\211$\210\315\316!\210\202[ \317\306\307\310#\210\317\306\311\310#\210\317\306\313\310#\210\317\306\314\310#\210\320\316!\210\321\322\203e \323\202f \324\"\210\325\326!\203\207 \301 \203z \211\301 \232\203\207 \327\330\203\204 \331\202\205 \332\"\210\210\333 \210\207" [projectile-mode current-message toggle prefix-numeric-value 0 add-hook find-file-hook projectile-cache-files-find-file-hook t projectile-cache-projects-find-file-hook projectile-find-dir-hook projectile-update-mode-line projectile-visit-project-tags-table ad-activate compilation-find-file remove-hook ad-deactivate run-hooks projectile-mode-hook projectile-mode-on-hook projectile-mode-off-hook called-interactively-p any message "Projectile mode %sabled" "en" "dis" force-mode-line-update] 8 (#$ . 87148) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(byte-code "\301\302\303\304\211%\207" [projectile-mode-map add-minor-mode projectile-mode projectile-mode-line nil] 6)
(defvar projectile-mode-major-mode nil)
(byte-code "\300\301!\210\302\303\304\305\306DD\307\310\311\312\313\314\315\316\317&\207" [make-variable-buffer-local projectile-mode-major-mode custom-declare-variable projectile-global-mode funcall function #[0 "\300\207" [nil] 1 "\n\n(fn)"] "Non-nil if Projectile-Global mode is enabled.\nSee the command `projectile-global-mode' for 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 `projectile-global-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group projectile :type boolean] 12)
#@355 Toggle Projectile mode in all buffers.
With prefix ARG, enable Projectile-Global mode if ARG is positive;
otherwise, disable it.  If called from Lisp, enable the mode if
ARG is omitted or nil.

Projectile mode is enabled in all buffers where
`projectile-on' would do it.
See `projectile-mode' for more information on Projectile mode.

(fn &optional ARG)
(defalias 'projectile-global-mode #[256 "\302 \303=\203 ?\202 \304!\305V\211\203. \306\307\310\"\210\306\311\310\"\210\306\312\313\"\210\306\314\315\"\210\202B \316\307\310\"\210\316\311\310\"\210\316\312\313\"\210\316\314\315\"\210\317 \211\203h \211@r\211q\210\203X \320 \210\202` 	\203` \301\321!\210)A\266\202\202D \210\322\323\203s \324\202t \325\"\210\326\327!\203\231 \330\300!\210\302 \203\214 \211\302 \232\203\231 \331\332\203\226 \333\202\227 \334\"\210\210\335 \210\207" [projectile-global-mode projectile-mode current-message toggle prefix-numeric-value 0 add-hook after-change-major-mode-hook projectile-global-mode-enable-in-buffers change-major-mode-after-body-hook find-file-hook projectile-global-mode-check-buffers change-major-mode-hook projectile-global-mode-cmhh remove-hook buffer-list projectile-on -1 run-hooks projectile-global-mode-hook projectile-global-mode-on-hook projectile-global-mode-off-hook called-interactively-p any customize-mark-as-set message "Projectile-Global mode %sabled" "en" "dis" force-mode-line-update] 7 (#$ . 89404) (byte-code "\206 \301C\207" [current-prefix-arg toggle] 1)])
(byte-code "\301\302\303\304\300!\205\n \303\211%\207" [projectile-global-mode-map add-minor-mode projectile-global-mode nil boundp] 6)
(defvar projectile-global-mode-buffers nil)
(defalias 'projectile-global-mode-enable-in-buffers #[0 "\211\2054 \211@\304!\203- r\211q\210	\n=\204, \203' \303\305!\210\306 \210\n\202, \306 \210\n)A\266\202\202 \207" [projectile-global-mode-buffers projectile-mode-major-mode major-mode projectile-mode buffer-live-p -1 projectile-on] 4 "\n\n(fn)"])
(put 'projectile-global-mode-enable-in-buffers 'definition-name 'projectile-global-mode)
(defalias 'projectile-global-mode-check-buffers #[0 "\301 \210\302\303\304\305\"\207" [projectile-global-mode-buffers projectile-global-mode-enable-in-buffers nil remove-hook post-command-hook projectile-global-mode-check-buffers] 3 "\n\n(fn)"])
(put 'projectile-global-mode-check-buffers 'definition-name 'projectile-global-mode)
(defalias 'projectile-global-mode-cmhh #[0 "\300\301p\"\210\302\303\304\"\207" [add-to-list projectile-global-mode-buffers add-hook post-command-hook projectile-global-mode-check-buffers] 3 "\n\n(fn)"])
(put 'projectile-global-mode-cmhh 'definition-name 'projectile-global-mode)
#@37 Enable Projectile minor mode.

(fn)
(defalias 'projectile-on #[0 "\300\301!\207" [projectile-mode 1] 2 (#$ . 92097)])
#@38 Disable Projectile minor mode.

(fn)
(defalias 'projectile-off #[0 "\300\301!\207" [projectile-mode -1] 2 (#$ . 92221)])
#@44 Enable Projectile global minor mode.

(fn)
(defalias 'projectile-global-on #[0 "\300\301!\207" [projectile-global-mode 1] 2 (#$ . 92348)])
#@45 Disable Projectile global minor mode.

(fn)
(defalias 'projectile-global-off #[0 "\300\301!\207" [projectile-global-mode -1] 2 (#$ . 92493)])
(provide 'projectile)
