;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313\312\314&\210\315\316\317\320\321\322\312\307&\210\315\323\324\325\321\326\312\307&\210\315\327\330\331\321\332\312\307&\210\315\333\310\334\321\335\312\307&\210\315\336\337\340\321\341\312\307&\210\315\342\310\343\321\341\312\307&\210\315\344\310\345\321\341\312\307&\210\315\346\310\347\321\341\312\307&\210\315\350\310\351\321\352\312\307&\210\315\353\310\354\321\355\312\307&\210\356\353!\210\357\353\360\361#\210\300\362!\210\363\364\365\366\312\307%\210\363\367\370\366\312\307%\207" [require cl-lib dired dash s find-dired custom-declare-group ag nil "A front-end for ag - The Silver Searcher." :group tools matching custom-declare-variable ag-executable "ag" "Name of the ag executable to use." :type string ag-arguments (list "--smart-case" "--stats") "Additional arguments passed to ag.\n\nAg.el internally uses --column, --line-number and --color\noptions (with specific colors) to match groups, so options\nspecified here should not conflict.\n\n--line-number is required on Windows, as otherwise ag will not\nprint line numbers when the input is a stream." (repeat (string)) ag-dired-arguments (list "--nocolor" "-S") "Additional arguments passed to ag-dired." (repeat (string)) ag-context-lines "Number of context lines to include before and after a matching line." integer ag-group-matches t "Group matches in the same file together.\n\nIf nil, the file name is repeated at the beginning of every match line." boolean ag-highlight-search "Non-nil means we highlight the current search term in results.\n\nThis requires the ag command to support --color-match, which is only in v0.14+" ag-reuse-buffers "Non-nil means we reuse the existing search results buffer or\ndired results buffer, rather than creating one buffer per unique\nsearch." ag-reuse-window "Non-nil means we open search results in the same window,\nhiding the results buffer." ag-project-root-function "A function to determine the project root for `ag-project'.\n\nIf set to a function, call this function with the name of the\nfile or directory for which to determine the project root\ndirectory.\n\nIf set to nil, fall back to finding VCS root directories." (choice (const :tag "Default (VCS root)" nil) (function :tag "Function")) ag-ignore-list "A list of patterns for files/directories to ignore when searching." (repeat (string)) make-variable-buffer-local put safe-local-variable listp compile custom-declare-face ag-hit-face ((t :inherit compilation-info)) "Face name to use for ag matches." ag-match-face ((t :inherit match))] 8) #@50 Hook run when ag completes a search in a buffer. (defvar ag-search-finished-hook nil (#$ . 2719)) #@58 Run the ag hook to signal that the search has completed. (defalias 'ag/run-finished-hook #[(buffer how-finished) "rq\210\301\302!)\207" [buffer run-hooks ag-search-finished-hook] 2 (#$ . 2823)]) #@160 Temporarily override the definition of FUN-NAME whilst BODY is executed. Assumes FUNCTION is already defined (see http://emacs.stackexchange.com/a/3452/304). (defalias 'ag/with-patch-function '(macro . #[(fun-name fun-args fun-body &rest body) "\304\305D\306 \nEDC BB\207" [fun-name fun-args fun-body body cl-letf symbol-function lambda] 5 (#$ . 3026)])) #@110 Open the search result at point in the current window or a different window, according to `ag-reuse-window'. (defalias 'ag/next-error-function #[(n &optional reset) "\203\305\306K\307\216\306 M\210\310 \f\"+\207\310 \f\"\207" [ag-reuse-window #1=#:vnew #2=#:old n reset #[(buffer &rest args) "\301!\207" [buffer switch-to-buffer] 2] pop-to-buffer #[nil "\301M\207" [#2# pop-to-buffer] 2] compilation-next-error-function] 3 (#$ . 3390)]) #@83 A regexp pattern that groups output into filename, line number and column number. (defvar ag/file-column-pattern-nogroup "^\\(.+?\\):\\([1-9][0-9]*\\):\\([1-9][0-9]*\\):" (#$ . 3840)) #@78 A regexp pattern to match line number and column number with grouped output. (defvar ag/file-column-pattern-group "^\\([[:digit:]]+\\):\\([[:digit:]]+\\):" (#$ . 4030)) #@84 Match filename backwards when a line/column match is found in grouped output mode. (defalias 'ag/compilation-match-grouped-filename #[nil "\301 \302\216\212\303\304e\305#\205\306\307!C+\207" [save-match-data-internal match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] re-search-backward "^File: \\(.*\\)$" t match-string 1] 4 (#$ . 4205)]) (defvar ag-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [ag-mode-hook variable-documentation put "Hook run after entering Ag mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp ag-mode-map definition-name ag-mode] 4) (defvar ag-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\307!\204\303\307\310\311#\210\312\313 !\210\307\302N\204-\303\307\302\304\314!#\210\306\300!\204B\303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P\303\300\302\304\320!#\210\303\311\321\322#\207" [ag-mode-abbrev-table ag-mode-map variable-documentation put purecopy "Keymap for `ag-mode'." boundp ag-mode-syntax-table definition-name ag-mode (lambda (def-tmp-var) (defvar ag-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `ag-mode'." (lambda (def-tmp-var) (defvar ag-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `ag-mode'." derived-mode-parent compilation-mode] 5) #@218 Ag results compilation mode In addition to any hooks its parent mode `compilation-mode' might have run, this mode runs the hook `ag-mode-hook', as the final or penultimate step during initialization. \{ag-mode-map} (defalias 'ag-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203\314\311\313\310\313N#\210\315 !\204'\316 \317 \"\210\320\f!\211\2036 \321 =\203<\322\f\323 \"\210)\324.\325\"\204V./=\204V\326.\325/C#\210\327 !\210\330\f!\210./\306\331!\210\332\306\333!\210\3340\335\336\337FB\3401\341\335\336FBD\306\342!\210\343\"\306\344!\210\345$\306\346!\210\347&\350\351\352\353\307$\210)\354\355!\207" [delay-mode-hooks major-mode mode-name ag-mode-map ag-mode-syntax-table parent make-local-variable t compilation-mode ag-mode "Ag" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table compilation-error-regexp-alist (compilation-ag-nogroup compilation-ag-group) compilation-error-regexp-alist-alist compilation-ag-nogroup 1 2 3 compilation-ag-group ag/compilation-match-grouped-filename compilation-error-face ag-hit-face next-error-function ag/next-error-function compilation-finish-functions ag/run-finished-hook add-hook compilation-filter-hook ag-filter nil run-mode-hooks ag-mode-hook ag-mode-abbrev-table local-abbrev-table ag/file-column-pattern-nogroup ag/file-column-pattern-group] 7 (#$ . 5698) nil]) (byte-code "\301\302\303#\210\301\304\305#\210\301\306\307#\207" [ag-mode-map define-key "p" compilation-previous-error "n" compilation-next-error "k" (lambda nil (interactive) (let (kill-buffer-query-functions) (kill-buffer)))] 4) #@64 Return a buffer name formatted according to ag.el conventions. (defalias 'ag/buffer-name #[(search-string directory regexp) "\203\304\207 \203\305\306\n #\207\305\307\n #\207" [ag-reuse-buffers regexp search-string directory "*ag search*" format "*ag search regexp:%s dir:%s*" "*ag search text:%s dir:%s*"] 4 (#$ . 7454)]) #@46 Prepend '--ignore' to every item in IGNORES. (defalias 'ag/format-ignore #[(ignores) "\301\302\303\304\"\"\207" [ignores apply append mapcar #[(item) "\301D\207" [item "--ignore"] 2]] 5 (#$ . 7788)]) #@263 Run ag searching for the STRING given in DIRECTORY. If `files` is passed, tell ag to look only on those files. If REGEXP is non-nil, treat STRING as a regular expression. (fn STRING DIRECTORY &key (REGEXP nil) (FILE-REGEX nil) (FILE-TYPE nil) (FILES \='("."))) (defalias 'ag/search #[(string directory &rest #1=#:--cl-rest--) "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"\206\313A@ \203L @\314>\2035 AA\211\202#\315>A@\203C\316\211\202#\317\320 @\"\210\202\")\3216!7\32289:\3239!@\324\232\204k\3259\326\"9\325\3279\"9;\203\200\3309B9\202\206\3319B9 \204\220\3329B9<\333=\204\236<\334=\203\244\3359B9\336\n!\203\263\325\337\nD9\"9 \203\300\340\341 \"9B9=\250\203\325\340\342\343=!\"9B9\202\344>\203\344\340\342>\"9B9?\203\363\325\344?!9\"9\345:!\204\317\346:\"\210\347\350\325@C9\325AC\f\"#\351#B=\203B=\250\203%=\352V\204B\353B\354\355#\211BGAGZ\356ZC\357\360BCB\"B)\361B\362\363\364\365A6 #E#.\207" [#1# regexp file-regex file-type files #2=#:--cl-keys-- plist-member :regexp :file-regex :file-type :files (nil (".")) (:regexp :file-regex :file-type :files :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:regexp :file-regex :file-type :files)" file-name-as-directory "-c" last "--" append ("--") ("--line-number" "--column" "--color" "--color-match" "30;43" "--color-path" "1;32") "--group" "--nogroup" "--literal" windows-nt cygwin "--vimgrep" char-or-string-p "--file-search-regex" format "--%s" "--context=%d" abs ag/format-ignore file-exists-p "No such directory %s" mapconcat shell-quote-argument " " 0 ag/replace-first " -- " " -- " 5 read-from-minibuffer "ag command: " compilation-start ag-mode lambda (mode-name) ag/buffer-name directory ag-arguments shell-command-switch arguments default-directory ag-group-matches system-type current-prefix-arg ag-context-lines ag-ignore-list ag-executable string command-string adjusted-point] 10 (#$ . 7997)]) #@95 If there's an active selection, return that. Otherwise, get the symbol at point, as a string. (defalias 'ag/dwim-at-point #[nil "\300 \203\f\301\302 \303 \"\207\304 \205\305\306\304 !!\207" [use-region-p buffer-substring-no-properties region-beginning region-end symbol-at-point substring-no-properties symbol-name] 3 (#$ . 9994)]) #@138 If the current buffer has an extension, return a PCRE pattern that matches files with that extension. Returns an empty string otherwise. (defalias 'ag/buffer-extension-regex #[nil "\301 \211;\203\302\303\304\305!!\"\202\306)\207" [file-name buffer-file-name format "\\.%s$" ag/escape-pcre file-name-extension ""] 6 (#$ . 10336)]) #@62 Given a list of strings and nils, return the longest string. (defalias 'ag/longest-string #[(&rest strings) "\304\305 !\304\211\203 @G\nGW\203\n A\211\204\f*)\207" [longest-string strings string --dolist-tail-- nil -non-nil] 3 (#$ . 10678)]) #@62 Replace the first occurrence of BEFORE in STRING with AFTER. (defalias 'ag/replace-first #[(string before after) "\303\304\305!\306Q \n\307\211\310&\207" [before after string replace-regexp-in-string "\\(" regexp-quote "\\).*\\'" nil 1] 7 (#$ . 10939)]) (byte-code "\300\301\302\"\210\303\304!\210\305\306!\204\307\306\310\"\210\300\311\312\"\210\300\313\314\"\207" [autoload vc-git-root "vc-git" require vc-svn functionp vc-svn-root defalias #[(file) "\302 \"\207" [file vc-svn-admin-directory vc-find-root] 3] vc-hg-root "vc-hg" vc-bzr-root "vc-bzr"] 3) #@115 Guess the project root of the given FILE-PATH. Use `ag-project-root-function' if set, or fall back to VCS roots. (defalias 'ag/project-root #[(file-path) "\203 !\207\302\303 !\304 !\305 !\306 !$\206 \207" [ag-project-root-function file-path ag/longest-string vc-git-root vc-svn-root vc-hg-root vc-bzr-root] 6 (#$ . 11507)]) (defalias 'ag/dired-align-size-column #[nil "\303 \210\304\305!\205>\306u\210\307\310\311\312\313$\210`\307\310\311\312#\211\205\" Z \205=\n\314W\205=\n\315V\205=b\210\316\314\nZ\317\"c+\207" [size-start size-end width beginning-of-line looking-at "^ " 2 search-forward " " nil t 4 12 1 make-string 32] 6]) #@63 Filter the output of ag to make it suitable for `dired-mode'. (defalias 'ag/dired-filter #[(proc string) "\306!\307\310\n!\203vr\nq\210\212\214~\210d\211b\210\fc\210 b\210\311\312!\204+\313 \210\314y\210\311\312!\203=\315c\210\313 \210\314y\210\202+ b\210\316 \210\317\320 P\321\307#\203V\322\320\321\307#\210\202Cdb\210\323\324\325!\307#\205r\326\325!`T\"\210\325!`T\321\223,\202y\327!*\207" [proc inhibit-read-only buf beg string default-directory process-buffer t buffer-name looking-at "^" ag/dired-align-size-column 1 " " beginning-of-line search-forward " " nil replace-match search-backward "\n" process-mark dired-insert-set-properties delete-process] 5 (#$ . 12162)]) #@56 Update the status/modeline after the process finishes. (defalias 'ag/dired-sentinel #[(proc state) "\306!\307\310\n!\205Cr\nq\210\311\212db\210\312\f\261\210\313u\210\314\315 \316\317O\261\210\320u\210\321\322\323!!P\324!\210\325 \210*\326\327!\210\330\331p\")*\207" [proc inhibit-read-only buf buffer-read-only state mode-line-process process-buffer t buffer-name nil "\n ag " -1 " at " current-time-string 0 19 1 ":" symbol-name process-status delete-process force-mode-line-update run-hooks dired-after-readin-hook message "%s finished."] 4 (#$ . 12862)]) #@54 Kill the `ag' process running in the current buffer. (defalias 'ag/kill-process #[nil "\301p!\211\205%\302!\303=\205%\304!\305=\205%\3061#\307!0\202%\210\310)\207" [ag get-buffer-process process-status run process-filter find-dired-filter (error) delete-process nil] 3 (#$ . 13438) nil]) #@79 Escape the PCRE-special characters in REGEXP so that it is matched literally. (defalias 'ag/escape-pcre #[(regexp) "\302\303\304\305\306\305\307 \310\311\"\262\"\"\")\207" [alphanum regexp "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" apply concat mapcar #[(c) "\303! \304\305\306#)\266\203\204\307P\207\207" [c alphanum inhibit-changing-match-data regexp-quote nil t string-match "\\"] 7] char-to-string append nil] 10 (#$ . 13741)]) #@182 Search using ag in a given DIRECTORY for a given literal search STRING, with STRING defaulting to the symbol under point. If called with a prefix, prompts for flags to pass to ag. (defalias 'ag #[(string directory) "\302 \"\207" [string directory ag/search] 3 (#$ . 14214) (list (ag/read-from-minibuffer "Search string") (read-directory-name "Directory: "))]) #@214 Search using ag in a given DIRECTORY for a given literal search STRING, limited to files that match FILE-TYPE. STRING defaults to the symbol under point. If called with a prefix, prompts for flags to pass to ag. (defalias 'ag-files #[(string file-type directory) "\303\304 \n$\207" [string directory file-type apply ag/search] 5 (#$ . 14583) (list (ag/read-from-minibuffer "Search string") (ag/read-file-type) (read-directory-name "Directory: "))]) #@179 Search using ag in a given directory for a given regexp. The regexp should be in PCRE syntax, not Emacs regexp syntax. If called with a prefix, prompts for flags to pass to ag. (defalias 'ag-regexp #[(string directory) "\302 \303\304$\207" [string directory ag/search :regexp t] 5 (#$ . 15041) "sSearch regexp: \nDDirectory: "]) #@157 Guess the root of the current project and search it with ag for the given literal search STRING. If called with a prefix, prompts for flags to pass to ag. (defalias 'ag-project #[(string) "\302\303 !\"\207" [string default-directory ag/search ag/project-root] 4 (#$ . 15379) (list (ag/read-from-minibuffer "Search string"))]) #@193 Search using ag for a given literal search STRING, limited to files that match FILE-TYPE. STRING defaults to the symbol under point. If called with a prefix, prompts for flags to pass to ag. (defalias 'ag-project-files #[(string file-type) "\303\304\305 !\n$\207" [string default-directory file-type apply ag/search ag/project-root] 5 (#$ . 15714) (list (ag/read-from-minibuffer "Search string") (ag/read-file-type))]) #@102 Read a value from the minibuffer with PROMPT. If there's a string at point, offer that as a default. (defalias 'ag/read-from-minibuffer #[(prompt) "\304 \211\203\305\306 #\202\305\307 \"\310\n\311\211\211\211&\211G\312V\203) \202*+\207" [suggested prompt final-prompt user-input ag/dwim-at-point format "%s (default %s): " "%s: " read-from-minibuffer nil 0] 8 (#$ . 16142)]) #@204 Guess the root of the current project and search it with ag for the given regexp. The regexp should be in PCRE syntax, not Emacs regexp syntax. If called with a prefix, prompts for flags to pass to ag. (defalias 'ag-project-regexp #[(regexp) "\302\303 !\304\305$\207" [regexp default-directory ag/search ag/project-root :regexp t] 5 (#$ . 16537) (list (ag/read-from-minibuffer "Search regexp"))]) (byte-code "\300\301\302\"\210\303\304\305\"\210\306\304\305\307#\210\303\310\311\"\210\306\310\311\312#\207" [autoload symbol-at-point "thingatpt" defalias ag-project-at-point ag-project make-obsolete "0.19" ag-regexp-project-at-point ag-project-regexp "0.46"] 4) #@271 Recursively find files in DIR matching literal search STRING. The PATTERN is matched against the full path to the file, not only against the file name. The results are presented as a `dired-mode' buffer with `default-directory' being DIR. See also `ag-dired-regexp'. (defalias 'ag-dired #[(dir string) "\302\303 !\"\207" [dir string ag-dired-regexp ag/escape-pcre] 4 (#$ . 17208) "DDirectory: \nsFile pattern: "]) #@304 Recursively find files in DIR matching REGEXP. REGEXP should be in PCRE syntax, not Emacs regexp syntax. The REGEXP is matched against the full path to the file, not only against the file name. Results are presented as a `dired-mode' buffer with `default-directory' being DIR. See also `find-dired'. (defalias 'ag-dired-regexp #[(dir regexp) " \306\307 !! \203\310\202\311\312\f #>\313\230\2039?\314\315@\314\"\316\f\317\320 !\321A\314B\322\260\f\202P?\314\315@\314\"\323\f\324\320 !\325A\314B\322\260\fCr\326 !q\210\327p!\210~\210\330 \210\331\332!\203n\332\333!\210\202q\334D\335E\336 \210) F\337\340!\210\341Cp\"\210\342 \343\261\210\342C\344\261\210\345 !\210\346 G\347G\350 \"\210\351G\352\353#\210\354G!\210)\355\356!\210\335.\355\357!\210\360\361\362\n\fEE/\331\363!\203\316\363 \210\202\332\355\364!\210F\365 BC4\366p!H\367H\370\"\210\371H\372\"\210\373H!\374p\223\210)\375\211I.\207" [dired-buffers dir orig-dir ag-reuse-buffers regexp buffer-name file-name-as-directory expand-file-name "*ag dired*" format "*ag dired pattern:%s dir:%s*" "windows-nt" " " combine-and-quote-strings " -g \"" "\" " shell-quote-argument " | grep -v \"^$\" | sed \"s/'/\\\\\\\\'/g\" | xargs -I '{}' " " '{}' &" " -g '" "' " " | grep -v '^$' | sed s/\\'/\\\\\\\\\\'/g | xargs -I '{}' " get-buffer-create switch-to-buffer kill-all-local-variables fboundp read-only-mode -1 nil t erase-buffer run-hooks dired-before-readin-hook shell-command " " ":\n" "\n" dired-mode make-sparse-keymap set-keymap-parent current-local-map define-key " " ag/kill-process use-local-map make-local-variable dired-sort-inhibit revert-buffer-function lambda (ignore-auto noconfirm) ag-dired-regexp dired-simple-subdir-alist dired-subdir-alist point-min-marker get-buffer-process set-process-filter ag/dired-filter set-process-sentinel ag/dired-sentinel process-mark 1 (":%s") system-type ag-executable ag-dired-arguments insert-directory-program dired-listing-switches cmd buffer-read-only inhibit-read-only default-directory map proc mode-line-process] 12 (#$ . 17633) "DDirectory: \nsFile regexp: "]) #@83 Recursively find files in current project matching PATTERN. See also `ag-dired'. (defalias 'ag-project-dired #[(pattern) "\302\303!\304 !\"\207" [default-directory pattern ag-dired-regexp ag/project-root ag/escape-pcre] 4 (#$ . 19758) "sFile pattern: "]) #@89 Recursively find files in current project matching REGEXP. See also `ag-dired-regexp'. (defalias 'ag-project-dired-regexp #[(regexp) "\302\303! \"\207" [default-directory regexp ag-dired-regexp ag/project-root] 3 (#$ . 20021) "sFile regexp: "]) #@29 Kill all `ag-mode' buffers. (defalias 'ag-kill-buffers #[nil "\302 \303\211\205! @\304\305\"\306=\203\307!\210 A\211\204 \303*\207" [buffer --dolist-tail-- buffer-list nil buffer-local-value major-mode ag-mode kill-buffer] 4 (#$ . 20274) nil]) #@59 Kill all `ag-mode' buffers other than the current buffer. (defalias 'ag-kill-other-buffers #[nil "p\303 \304\211\205)\n@\305\306 \"\307=\203! =\204!\310 !\210\nA\211\204 \304+\207" [current-buffer buffer --dolist-tail-- buffer-list nil buffer-local-value major-mode ag-mode kill-buffer] 4 (#$ . 20534) nil]) #@109 Handle escape sequences inserted by the ag process. This function is called from `compilation-filter-hook'. (defalias 'ag-filter #[nil "\212\305y\210`\306\nb\210\305y\210`` W\205m\307 ! \2037\310\311 \312#\2037\313\314\315\312!\316\306\317\320%\321\211#\210\202\f\203Yb\210\310\322 \312#\203Y\313\323\314\315\312!\316\306\317\324%P\321\211#\210\202>b\210\310\325 \312#\205m\313\326\321\211#\210\202\\+\207" [beg end compilation-filter-start ag-highlight-search ag-group-matches 0 nil copy-marker re-search-forward "\\[30;43m\\(.*?\\)\\[0m\\[K" 1 replace-match propertize match-string face font-lock-face ag-match-face t "\\[1;32m\\(.*\\)\\[0m\\[K" "File: " compilation-info "\\[[0-9;]*[mK]" ""] 8 (#$ . 20859)]) #@61 Query the ag executable for which file types it recognises. (defalias 'ag/get-supported-types #[nil "\306\307\310\"!\311\312\313 !\"\314\n\315\314\211\203I\211A\242T\316\317 \"\205:\320\317 \"\211\203E B)\202, \237)\321\322\314\n\315\314\211\203\203\211A\242T\316\323 \"\203^ B\202^,\237)\"\324\",\207" [ag-executable ag-output lines #1=#:result it-index it shell-command-to-string format "%s --list-file-types" -map s-trim s-lines nil 0 s-starts-with\? "--" s-chop-prefix mapcar #[(it) "\301\302\"\207" [it s-split " "] 3] "." -zip #2=#:i #3=#:list #4=#:mapped types #5=#:result #6=#:i #7=#:list extensions] 7 (#$ . 21600)]) #@74 Prompt the user for a known file type, or let them specify a PCRE regex. (defalias 'ag/read-file-type #[nil "\304 \305\306\"\307\310\311\312 \"\"\313\n\"A\211\203 \314\nD\202'\315\316\317\320 \"D,\207" [all-types-with-extensions all-types file-type file-type-extensions ag/get-supported-types mapcar car completing-read "Select file type: " append ("custom (provide a PCRE regex)") assoc :file-type :file-regex read-from-minibuffer "Filenames which match PCRE: " ag/buffer-extension-regex] 6 (#$ . 22307)]) (provide 'ag)