Files
emacsd/elpa/dumb-jump-20190928.1758/dumb-jump.elc

375 lines
111 KiB
Plaintext
Raw Normal View History

;ELC
;;; Compiled
;;; in Emacs version 26.3
;;; 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\306\307\310\311\312\313\312\314&\207" [require etags f s dash popup custom-declare-group dumb-jump nil "Easily jump to project function and variable definitions" :group tools convenience] 8)
(defvar dumb-jump-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\211\207" [make-sparse-keymap define-key [134217735] dumb-jump-go [134217744] dumb-jump-back [134217745] dumb-jump-quick-look] 5))
(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\310\321&\210\300\322\302\303\323DD\324#\210\300\325\302\303\326DD\327\306\307\310\330&\210\300\331\302\303\332DD\333\306\307\310\334&\210\300\335\302\303\336DD\337\306\307\310\340&\210\300\341\302\303\342DD\343\306\307\310\340&\210\300\344\302\303\345DD\346\306\307\310\340&\210\300\347\302\303\350DD\351\306\307\310\340&\210\300\352\302\303\353DD\354\306\307\310\340&\210\300\355\302\303\356DD\357\306\307\310\340&\210\300\360\302\303\361DD\362\306\307\310\340&\210\300\363\302\303\364DD\365\306\307\310\340&\210\300\366\302\303\367DD\370\306\307\310\340&\210\300\371\302\303\372DD\373\306\307\310\340&\210\300\374\302\303\375DD\376\306\307\310\315&\210\300\377\302\303\201@DD\201A\306\307\310\315&\210\300\201B\302\303\201CDD\201D\306\307\310\340&\210\300\201E\302\303\201FDD\201G\306\307\310\340&\210\300\201H\302\303\201IDD\201J\306\307\310\340&\210\300\201K\302\303\201LDD\201M\306\307\310\201N&\210\300\201O\302\303\201PDD\201Q\306\307\310\315&\210\300\201R\302\303\201SDD\201T\306\307\310\315&\210\300\201U\302\303\201VDD\201W\306\307\310\315&\210\300\201X\302\303\201YDD\201Z\306\307\310\315&\210\300\201[\302\303\201\\DD\201]\306\307\310\340&\210\300\201^\302\303\201_DD\201`\306\307\310\340&\210\300\201a\302\303\201bDD\201c\306\307\310\340&\210\300\201d\302\303\201eDD\201f\306\307\310\201g&\210\300\201h\302\303\201iDD\201j\306\307\310\201k&\210\300\201l\302\303\201mDD\201n\306\307\310\201o&\210\300\201p\302\303\201qDD\201r\306\307\310\201s&\210\300\201t\302\303\201uDD\201v\306\307\310\340&\210\300\201w\302\303\201xDD\201y\306\307\310\340&\210\300\201z\302\303\201{DD\201|\310\201}\306\307\310\201}& \210\300\201~\302\303\201DD\201\200\306\307\310\315&\210\300\201\201\302\303\201\202DD\201\203\306\307\310\315&\210\300\201\204\302\303\201\205DD\201\206\306\307\310\315&\207" [custom-declare-variable dumb-jump-window funcall function #[0 "\300\207" [current] 1] "Which window to use when jumping. Valid options are 'current (default) or 'other." :group dumb-jump :type (choice (const :tag "Current window" current) (const :tag "Other window" other)) dumb-jump-use-visible-window #[0 "\300\207" [t] 1] "When true will jump in a visible window if that window already has the file open." boolean dumb-jump-selector #[0 "\300\207" [popup] 1] "Which selector to use when there is multiple choices. `ivy` and `helm' are also supported." (choice (const :tag "Popup" popup) (const :tag "Helm" helm) (const :tag "Ivy" ivy)) dumb-jump-ivy-jump-to-selected-function #[0 "\300\207" [dumb-jump-ivy-jump-to-selected] 1] "Prompts user for a choice using ivy then dumb-jump to that choice." dumb-jump-prefer-searcher #[0 "\300\207" [nil] 1] "The preferred searcher to use 'ag, 'rg, 'git-grep, 'gnu-grep,or 'grep.\nIf nil then the most optimal searcher will be chosen at runtime." (choice (const :tag "Best Available" nil) (const :tag "ag" ag) (const :tag "rg" rg) (const :tag "grep" gnu-grep) (const :tag "git grep" git-grep) (const :tag "git grep + ag" git-grep-plus-ag)) dumb-jump-force-searcher #[0 "\300\207" [nil] 1] "Forcibly use searcher: 'ag, 'rg, 'git-grep, 'gnu-grep, or 'grep.\nSet to nil to not force anything and use `dumb-jump-prefer-searcher'\nor most optimal searcher." (choice (const :tag "Best Available" nil) (const :tag "ag" ag) (const :tag "rg" rg) (const :tag "grep" gnu-grep) (const :tag "git grep" git-grep) (const :tag "git grep + ag" git-grep-plus-ag)) dumb-jump-grep-prefix #[0 "\300\207" [#1="LANG=C"] 1 #1#] "Prefix to grep command. Seemingly makes it faster for pure text." string dumb-jump-grep-cmd #[0 "\300\207" [#2="grep"] 1 #2#] "The path to grep. By default assumes it is in path." dumb-jump-ag-cmd #[0 "\300\207" [#3="ag"] 1 #3#] "The the path to the silver searcher. By default assumes it is in path. If not found fallbacks to grep." dumb-jump-rg-cmd #[0 "\300\207" [#4="rg"] 1 #4#] "The the path to
#@94 Helper function when debugging apply STR 'prin1-to-string' to all ARGS.
(fn STR &rest ARGS)
(defalias 'dumb-jump-message-prin1 #[385 "\300\301\302\303\"#\207" [apply message -map prin1-to-string] 8 (#$ . 64422)])
(defvar dumb-jump--ag-installed\? 'unset)
#@30 Return t if ag is installed.
(defalias 'dumb-jump-ag-installed\? #[0 "\302=\203\303\304\305 \306P!\"\211\207\207" [dumb-jump--ag-installed\? dumb-jump-ag-cmd unset s-contains\? "ag version" shell-command-to-string " --version"] 5 (#$ . 64686)])
(defvar dumb-jump--git-grep-plus-ag-installed\? 'unset)
#@43 Return t if git grep and ag is installed.
(defalias 'dumb-jump-git-grep-plus-ag-installed\? #[0 "\301=\203\302 \205 \303 \211\207\207" [dumb-jump--git-grep-plus-ag-installed\? unset dumb-jump-git-grep-installed\? dumb-jump-ag-installed\?] 2 (#$ . 64998)])
(defvar dumb-jump--rg-installed\? 'unset)
#@30 Return t if rg is installed.
(defalias 'dumb-jump-rg-installed\? #[0 "\302=\2035\303\304\305 \306P!\"\211G\307\232\2050\310A@!\310\3118!\312U\203+\211\313Y\206.\314Y\266\202\262\211\207\207" [dumb-jump--rg-installed\? dumb-jump-rg-cmd unset s-match "ripgrep \\([0-9]+\\)\\.\\([0-9]+\\).*" shell-command-to-string " --version" 3 string-to-number 2 0 10 1] 5 (#$ . 65308)])
(defvar dumb-jump--git-grep-installed\? 'unset)
#@36 Return t if git-grep is installed.
(defalias 'dumb-jump-git-grep-installed\? #[0 "\302=\203\303\304\305 \260!\"\211\207\207" [dumb-jump--git-grep-installed\? dumb-jump-git-grep-cmd unset s-contains\? "fatal: no pattern given" shell-command-to-string] 4 (#$ . 65746)])
(defvar dumb-jump--grep-installed\? 'unset)
#@89 Return 'gnu if GNU grep is installed, 'bsd if BSD grep is installed, and nil otherwise.
(defalias 'dumb-jump-grep-installed\? #[0 "\302=\203&\303 \304P!\305\306\"\203\307\202\"\305\310\"\203!\311\202\"\312\211\211\207\207" [dumb-jump--grep-installed\? dumb-jump-grep-cmd unset shell-command-to-string " --version" s-match "GNU grep" gnu "[0-9]+\\.[0-9]+" bsd nil] 4 (#$ . 66070)])
#@108 Find start column position for LINE-IN of LOOK-FOR using CUR-POS as a hint.
(fn LINE-IN LOOK-FOR CUR-POS)
(defalias 'dumb-jump-find-start-pos #[771 "\301\302\303\304\305\"#\306V\2031\2041\211\211TO\307\"\211\204(\310\262\202,S\262\266\202\nT\207" [tab-width nil s-replace " " s-repeat " " 0 s-index-of t] 9 (#$ . 66469)])
#@60 Use TEST as the standard input for the CMD.
(fn TEST CMD)
(defalias 'dumb-jump-run-test #[514 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216c\210\311ed\312\313%\210\314ed\"*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 shell-command-on-region nil t buffer-substring-no-properties] 9 (#$ . 66817)])
#@94 Write content to the temporary file, run cmd on it, return result
(fn TEST THEFILE REALCMD)
(defalias 'dumb-jump-run-test-temp-file #[771 "\300\301!r\211q\210\302\303\304\305\306!\307\"\310$\216c\210\311\312\"\210ed|\210\313\314\"\210\315!\210\316ed\"*\207" [generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205 \302\300!\207" vconcat vector [buffer-name kill-buffer] 2 write-file nil shell-command t delete-file buffer-substring-no-properties] 10 (#$ . 67217)])
#@149 Use string TEST as input through a local, temporary file for CMD.
Because git grep must be given a file as input, not just a string.
(fn TEST CMD)
(defalias 'dumb-jump-run-git-grep-test #[514 "\300\301\302Q#\207" [".git.grep.test" dumb-jump-run-test-temp-file " "] 9 (#$ . 67703)])
#@207 Use TEST as input, but first write it into temporary file
and then run ag on it. The difference is that ag ignores multiline
matches when passed input from stdin, which is a crucial feature.
(fn TEST CMD)
(defalias 'dumb-jump-run-ag-test #[514 "\300\301\302Q#\207" [".ag.test" dumb-jump-run-test-temp-file " "] 9 (#$ . 67997)])
#@163 Test all the grep rules and return count of those that fail.
Optionally pass t for RUN-NOT-TESTS to see a list of all failed rules.
(fn &optional RUN-NOT-TESTS)
(defalias 'dumb-jump-test-grep-rules #[256 "\301\302 \303=\203\f\304\202 \305\306\307\310\311\312\313#\314\"\315\316%\317\320\203B@\321\322\323\"\235\2036\211B\262\210\211T\262A\262\202\"\266\211\237\262\"\207" [dumb-jump-find-rules "grep FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" dumb-jump-grep-installed\? gnu gnu-grep grep -mapcat make-byte-code 257 "\303\304\305\306\307\310\300\301\302 $\311\"\312\313%\314\300\203\315\202\316\"\"\207" vconcat vector [-mapcat make-byte-code 257 "\304\305\306\307\303\310\"\311\302#!P\312\"\300\204\313\"\203&\300\205E\211G\314V\205E\315\301\300\2030\316\2021\317\300\203:\320\202;\321\307\303\310\"&C\207" vconcat vector ["grep -En -e " shell-quote-argument dumb-jump-populate-regex plist-get :regex "test" dumb-jump-run-test s-contains\? 0 format "not" "" "IS unexpectedly" "NOT"] 13 "\n\n(fn TEST)" plist-get :not :tests] 11 "\n\n(fn RULE)" nil 0 "grep" plist-get :supports] 13 (#$ . 68337)])
#@160 Test all the ag rules and return count of those that fail.
Optionally pass t for RUN-NOT-TESTS to see a list of all failed rules
(fn &optional RUN-NOT-TESTS)
(defalias 'dumb-jump-test-ag-rules #[256 "\301\302\303\304\305\306\307\"\310\"\311\312%\313\314\2034@\315\316\317\"\235\203(\211B\262\210\211T\262A\262\202\266\211\237\262\"\207" [dumb-jump-find-rules "ag FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" -mapcat make-byte-code 257 "\302\303\304\305\306\307\300\301#\310\"\311\312%\313\300\203\314\202\315\"\"\207" vconcat vector [-mapcat make-byte-code 257 "\303\304\305\306\302\307\"\310\311#!P\312\"\300\204\313\"\203&\300\2059\211G\314V\2059\315\301\300\2031\316\2022\317\302&C\207" vconcat vector ["ag --nocolor --nogroup --nonumber " shell-quote-argument dumb-jump-populate-regex plist-get :regex "test" ag dumb-jump-run-ag-test s-contains\? 0 format "IS unexpectedly" "NOT"] 10 "\n\n(fn TEST)" plist-get :not :tests] 10 "\n\n(fn RULE)" nil 0 "ag" plist-get :supports] 12 (#$ . 69503)])
#@160 Test all the rg rules and return count of those that fail.
Optionally pass t for RUN-NOT-TESTS to see a list of all failed rules
(fn &optional RUN-NOT-TESTS)
(defalias 'dumb-jump-test-rg-rules #[256 "\301\302\303\304\305\306\307\"\310\"\311\312%\313\314\2034@\315\316\317\"\235\203(\211B\262\210\211T\262A\262\202\266\211\237\262\"\207" [dumb-jump-find-rules "rg FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" -mapcat make-byte-code 257 "\302\303\304\305\306\307\300\301#\310\"\311\312%\313\300\203\314\202\315\"\"\207" vconcat vector [-mapcat make-byte-code 257 "\303\304\305\306\302\307\"\310\311#!P\312\"\300\204\313\"\203&\300\2059\211G\314V\2059\315\301\300\2031\316\2022\317\302&C\207" vconcat vector ["rg --color never --no-heading -U --pcre2 " shell-quote-argument dumb-jump-populate-regex plist-get :regex "test" rg dumb-jump-run-test s-contains\? 0 format "IS unexpectedly" "NOT"] 10 "\n\n(fn TEST)" plist-get :not :tests] 10 "\n\n(fn RULE)" nil 0 "rg" plist-get :supports] 12 (#$ . 70563)])
#@166 Test all the git grep rules and return count of those that fail.
Optionally pass t for RUN-NOT-TESTS to see a list of all failed rules
(fn &optional RUN-NOT-TESTS)
(defalias 'dumb-jump-test-git-grep-rules #[256 "\301\302\303\304\305\306\307\"\310\"\311\312%\313\314\2034@\315\316\317\"\235\203(\211B\262\210\211T\262A\262\202\266\211\237\262\"\207" [dumb-jump-find-rules "rg FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" -mapcat make-byte-code 257 "\302\303\304\305\306\307\300\301#\310\"\311\312%\313\300\203\314\202\315\"\"\207" vconcat vector [-mapcat make-byte-code 257 "\303\304\305\306\302\307\"\310\311#!P\312\"\300\204\313\"\203&\300\2059\211G\314V\2059\315\301\300\2031\316\2022\317\302&C\207" vconcat vector ["git grep --color=never -h --untracked -E " shell-quote-argument dumb-jump-populate-regex plist-get :regex "test" git-grep dumb-jump-run-git-grep-test s-contains\? 0 format "IS unexpectedly" "NOT"] 10 "\n\n(fn TEST)" plist-get :not :tests] 10 "\n\n(fn RULE)" nil 0 "grep" plist-get :supports] 12 (#$ . 71627)])
#@103 Log message STR with ARGS to the *Messages* buffer if not using dumb-jump-quiet.
(fn STR &rest ARGS)
(defalias 'dumb-jump-message #[385 "?\205\n\301\302#\207" [dumb-jump-quiet apply message] 6 (#$ . 72721)])
#@99 Get the LINE context to the left and right of FUNC using CUR-POS as hint.
(fn LINE FUNC CUR-POS)
(defalias 'dumb-jump-get-point-context #[771 "\300#GG\\G\301OV\203\302\202$O\303\304F\207" [dumb-jump-find-start-pos 0 "" :left :right] 14 (#$ . 72940)])
#@108 With RESULTS use CHOICES to find the SELECTED choice from multiple options.
(fn RESULTS CHOICES SELECTED)
(defalias 'dumb-jump-to-selected #[771 "\300\301\302\303\304\305!\306\"\307\310%\"\211\205\2118\211\205\311!\207" [-find-index make-byte-code 257 "\300\230\207" vconcat vector [] 3 "\n\n(fn IT)" dumb-jump-result-follow] 10 (#$ . 73223)])
#@187 Previews CANDIDATE in a temporary buffer displaying the file at the matched line.
\<helm-map>
This is the persistent action (\[helm-execute-persistent-action]) for helm.
(fn CANDIDATE)
(defalias 'dumb-jump-helm-persist-action #[257 "\302\303\"\302\304\"\305\306\307!!\210\211\310 \210\311 \210\312!\210\313 \210\314ed\"\210eb\210Sy)\207" [default-directory buffer-file-name plist-get :path :line switch-to-buffer get-buffer-create " *helm dumb jump persistent*" fundamental-mode erase-buffer insert-file-contents set-auto-mode font-lock-fontify-region] 7 (#$ . 73585)])
#@20
(fn PROJ RESULT)
(defalias 'dumb-jump--format-result #[514 "\300\301\302\303\304\305\"#\304\306\"\307\304\310\"!$\207" [format "%s:%s: %s" s-replace "" plist-get :path :line s-trim :context] 10 (#$ . 74170)])
#@159 Offer CHOICES as canidates through ivy-read then execute
dumb-jump-to-selected on RESULTS CHOICES and selected choice.
Ignore PROJ
(fn RESULTS CHOICES PROJ)
(defalias 'dumb-jump-ivy-jump-to-selected #[771 "\300\301\302\"#\207" [dumb-jump-to-selected ivy-read "Jump to: "] 9 (#$ . 74394)])
#@144 Put a PROJ's list of RESULTS in a 'popup-menu' (or helm/ivy)
for user to select. Filters PROJ path from files for display.
(fn PROJ RESULTS)
(defalias 'dumb-jump-prompt-user-for-choice #[514 "\302\303\304\305\306\307!\310\"\311\312%\"\313=\203$\314\315!\203$ #\202N\316=\203G\314\316!\203G\316\317\320\321\322\323\324\325\n\"\326\327&\330\331$\202N\332\333!#\207" [dumb-jump-selector dumb-jump-ivy-jump-to-selected-function mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [dumb-jump--format-result] 4 "\n\n(fn IT)" ivy fboundp ivy-read helm :sources helm-build-sync-source "Jump to: " :action (("Jump to match" . dumb-jump-result-follow)) :candidates -zip :persistent-action dumb-jump-helm-persist-action :buffer "*helm dumb jump choices*" dumb-jump-to-selected popup-menu*] 13 (#$ . 74695)])
#@94 Keep looking at the parent dir of FILEPATH until a denoter file/dir is found.
(fn FILEPATH)
(defalias 'dumb-jump-get-project-root #[257 "\302\303\304\206\305\306\"\206 !\"\207" [dumb-jump-project dumb-jump-default-project s-chop-suffix "/" f-expand locate-dominating-file dumb-jump-get-config] 7 (#$ . 75528)])
#@167 If a project denoter is in DIR then return it, otherwise
nil. However, if DIR contains a `.dumbjumpignore' it returns nil
to keep looking for another root.
(fn DIR)
(defalias 'dumb-jump-get-config #[257 "\301\302\303\"!?\2055\304\305\203.@\301\302\"!\203\"\211B\262\210\211T\262A\262\202 \266\211\237\262@\207" [dumb-jump-project-denoters f-exists\? f-join ".dumbjumpignore" nil 0] 9 (#$ . 75853)])
#@91 Get language from FILE extension and then fallback to using 'major-mode' name.
(fn FILE)
(defalias 'dumb-jump-get-language #[257 "\301\302\303\"!\304 \206\305!\206\306 \211\235\203\211\202'\307\310\311!\206&\312\"\207" [dumb-jump-find-rules -distinct mapcar #[257 "\300\301\"\207" [plist-get :language] 4 "\n\n(fn IT)"] dumb-jump-get-language-from-mode dumb-jump-get-language-by-filename dumb-jump-get-mode-base-name format ".%s file" f-ext ""] 7 (#$ . 76277)])
#@32 Get the base name of the mode.
(defalias 'dumb-jump-get-mode-base-name #[0 "\301\302\303\304!#\207" [major-mode s-replace "-mode" "" symbol-name] 5 (#$ . 76759)])
#@93 Extract the language from the 'major-mode' name. Currently just everything before '-mode'.
(defalias 'dumb-jump-get-language-from-mode #[0 "\300\301 \302\303!\"\207" [(sh "shell" cperl "perl" matlab "matlab") dumb-jump-get-mode-base-name plist-get intern] 6 (#$ . 76929)])
#@56 Get the programming language from the FILE.
(fn FILE)
(defalias 'dumb-jump-get-language-by-filename #[257 "\301\302\"\203 \303!\202\211\304\305\2035@\301\306\307\310\"P\"\203)\211B\262\210\211T\262A\262\202\266\211\237\262\211\205D\307@\311\"\207" [dumb-jump-language-file-exts s-ends-with\? ".gz" f-no-ext nil 0 "." plist-get :ext :language] 11 (#$ . 77211)])
#@89 Return a result property list with the ISSUE set as :issue property symbol.
(fn ISSUE)
(defalias 'dumb-jump-issue-result #[257 "\300\301\302\301\303\301\304\301\305\301\306\301\307\310!\257\207" [:results nil :lang :symbol :ctx-type :file :root :issue intern] 16 (#$ . 77603)])
#@126 Run dumb-jump-fetch-results if searcher installed, buffer is saved, and there's a symbol under point.
(fn &optional PROMPT)
(defalias 'dumb-jump-get-results #[256 "\300 \204\301 \204\302 \204\303 \204\304\305!\207\306 \307\230\204&\306 \310\230\203*\311!\207\211\204=\312 \204=\313\314!\204=\304\315!\207\316!\207" [dumb-jump-ag-installed\? dumb-jump-rg-installed\? dumb-jump-git-grep-installed\? dumb-jump-grep-installed\? dumb-jump-issue-result "nogrep" buffer-name "*shell*" "*eshell*" dumb-jump-fetch-shell-results region-active-p thing-at-point symbol "nosymbol" dumb-jump-fetch-file-results] 3 (#$ . 77892)])
#@25
(fn &optional PROMPT)
(defalias 'dumb-jump-fetch-shell-results #[256 "\301 \302!\303!\304\305\"\205\306\"\307\310\"\206\311\301 !@\312\n%\207" [default-directory buffer-name dumb-jump-get-project-root dumb-jump-get-config s-ends-with\? ".dumbjump" dumb-jump-read-config plist-get :language dumb-jump-get-lang-by-shell-contents dumb-jump-fetch-results] 12 (#$ . 78529)])
#@25
(fn &optional PROMPT)
(defalias 'dumb-jump-fetch-file-results #[256 "\300 \206\301\302!\303!\304\305\"\205\306\"\307\310\"\206!\311!\312\n%\207" [buffer-file-name "" dumb-jump-get-project-root dumb-jump-get-config s-ends-with\? ".dumbjump" dumb-jump-read-config plist-get :language dumb-jump-get-language dumb-jump-fetch-results] 12 (#$ . 78922)])
#@99 Process LANG's LOOK-FOR. For instance, clojure needs namespace part removed.
(fn LANG LOOK-FOR)
(defalias 'dumb-jump-process-symbol-by-lang #[514 "\300\230\203\301\302\"\203\303\302\"A@\207\304\230\203(\301\305\"\203(\306\303\305\"!\207\304\230\2044\307\230\203@\310\311\"\203@\312\311\"\207\313\230\203R\310\314\"\203R\312\314\"\207\207" ["clojure" s-contains\? "/" s-split "ruby" "::" -last-item "crystal" s-starts-with\? ":" s-chop-prefix "systemverilog" "`"] 6 (#$ . 79295)])
#@20 Get line at point.
(defalias 'dumb-jump-get-point-line #[0 "\301\302\"\203 \303\304!\207\303\304\305\"\207" [emacs-version version< "24.4" thing-at-point line t] 3 (#$ . 79807)])
#@22 Get symbol at point.
(defalias 'dumb-jump-get-point-symbol #[0 "\301 \203\f\302\303 \304 \"\207\305\306\"\203\307\310!\207\307\310\311\"\207" [emacs-version region-active-p buffer-substring-no-properties region-beginning region-end version< "24.4" thing-at-point symbol t] 3 (#$ . 79994)])
#@85 Return languages in BUFFER by checking if file extension is mentioned.
(fn BUFFER)
(defalias 'dumb-jump-get-lang-by-shell-contents #[257 "r\211q\210\301 )\302\303\203/@\304\305\306\307\"\310Q\"\203#\211B\262\210\211T\262A\262\202\n\266\211\237\262\311\312\"\207" [dumb-jump-language-file-exts buffer-string nil 0 s-match "\\." plist-get :ext "\\b" mapcar #[257 "\300\301\"\207" [plist-get :language] 4 "\n\n(fn IT)"]] 11 (#$ . 80294)])
#@315 Return a list of results based on current file context and calling grep/ag.
CUR-FILE is the path of the current buffer.
PROJ-ROOT is that file's root project directory.
LANG is a string programming langage with CONFIG a property list
of project configuraiton.
(fn CUR-FILE PROJ-ROOT LANG CONFIG &optional PROMPT)
(defalias 'dumb-jump-fetch-results #[1284 "\211\203\300\202\n\301 ?\205\302\303!@\304 Z\305 \306!\307\310\"\205(\311\"\206.\312 \2068\313 \"?\205M\230?\205M\314#\315 \"\316 !\317\320\"\317\321\"\317\322\"\323# \205s\317\n\324\"\n\205}\317 \325\"\326\327C\"!\330\331\332\333\334\335\336\337&\340\"\341\342%\"\"\343\332\333\334\344\336\337!\345\"\346\342%\"!\347\350\204\305\351\202\307\352\353\204\324\351\202\326\354 \355!\257\f\207" [0 dumb-jump-get-point-line bounds-of-thing-at-point symbol point-at-bol line-number-at-pos dumb-jump-get-config s-ends-with\? ".dumbjump" dumb-jump-read-config dumb-jump-get-point-symbol dumb-jump-process-symbol-by-lang dumb-jump-get-point-context dumb-jump-get-ctx-type-by-language dumb-jump-pick-grep-variant plist-get :parse :generate :searcher dumb-jump-get-contextual-regexes :exclude :include -distinct -concat apply append mapcar make-byte-code 257 "\310\303\306\301\307\300\302\304\305& \207" vconcat vector [dumb-jump-run-command] 11 "\n\n(fn IT)" delete-dups "\301\302\300#\207" [plist-put :target] 5 :results :lang "" :symbol :ctx-type :file :root] 38 (#$ . 80756)])
#@44 Jump back to where the last jump was done.
(defalias 'dumb-jump-back #[0 "\300 \210\3011\f\302\303!0\207\304\305\"\210\306\207" [pop-tag-mark (debug error) run-hooks dumb-jump-after-jump-hook message "Error running `dumb-jump-after-jump-hook': %S" nil] 4 (#$ . 82281) nil])
#@95 Run dumb-jump-go in quick look mode. That is, show a tooltip of where it would jump instead.
(defalias 'dumb-jump-quick-look #[0 "\300\301!\207" [dumb-jump-go t] 2 (#$ . 82563) nil])
#@78 Like 'dumb-jump-go' but use 'find-file-other-window' instead of 'find-file'.
(defalias 'dumb-jump-go-other-window #[0 "\301\302 )\207" [dumb-jump-window other dumb-jump-go] 1 (#$ . 82753) nil])
#@47 Like dumb-jump-go but always use 'find-file'.
(defalias 'dumb-jump-go-current-window #[0 "\301\302 )\207" [dumb-jump-window current dumb-jump-go] 1 (#$ . 82954) nil])
#@70 Like dumb-jump-go but prefer external matches from the current file.
(defalias 'dumb-jump-go-prefer-external #[0 "\300\301\302\"\207" [dumb-jump-go nil t] 3 (#$ . 83128) nil])
#@73 Like dumb-jump-go but prompts for function instead of using under point
(defalias 'dumb-jump-go-prompt #[0 "\300\301\211\302\303!#\207" [dumb-jump-go nil read-from-minibuffer "Jump to: "] 5 (#$ . 83310) nil])
#@92 Like dumb-jump-go-prefer-external but use 'find-file-other-window' instead of 'find-file'.
(defalias 'dumb-jump-go-prefer-external-other-window #[0 "\301\302 )\207" [dumb-jump-window other dumb-jump-go-prefer-external] 1 (#$ . 83525) nil])
#@253 Go to the function/variable declaration for thing at point.
When USE-TOOLTIP is t a tooltip jump preview will show instead.
When PREFER-EXTERNAL is t it will sort external matches before
current file.
(fn &optional USE-TOOLTIP PREFER-EXTERNAL PROMPT)
(defalias 'dumb-jump-go #[768 "\301 \302!\301 \211Z\303\304\"\206\303\305\"\303\306\"\303\307\"\303\310\"GV\203:\311\312\313!$\202\255\314=\203F\311\315!\202\255\316=\203R\311\317!\202\255\320\321\"\203`\311\322\"\202\255\211\323U\203r\324@#\202\255\211\323V\203\222\325\303 \326\"\303 \327\" &\202\255\211\330U\205\255\311\331\332!\203\246\333\202\247\303 \327\"$\207" [dumb-jump-max-find-time float-time dumb-jump-get-results plist-get :results :symbol :root :issue :lang dumb-jump-message "Took over %ss to find '%s'. Please install ag or rg, or add a .dumbjump file to '%s' with path exclusions" number-to-string nogrep "Please install ag, rg, git grep or grep!" nosymbol "No symbol under point." s-ends-with\? " file" "Could not find rules for '%s'." 1 dumb-jump-result-follow dumb-jump-handle-results :file :ctx-type 0 "'%s' %s %s declaration not found." s-blank\? "with unknown language so"] 21 (#$ . 83773) "P"])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\207" [custom-declare-variable dumb-jump-language-comments funcall function #[0 "\300\207" [((:comment "//" :language "c++") (:comment ";" :language "elisp") (:comment ";" :language "commonlisp") (:comment "//" :language "javascript") (:comment "//" :language "typescript") (:comment "//" :language "dart") (:comment "--" :language "haskell") (:comment "--" :language "lua") (:comment "//" :language "rust") (:comment "#" :language "julia") (:comment "//" :language "objc") (:comment "//" :language "csharp") (:comment "//" :language "java") (:comment ";" :language "clojure") (:comment "#" :language "coffeescript") (:comment "//" :language "faust") (:comment "!" :language "fortran") (:comment "//" :language "go") (:comment "#" :language "perl") (:comment "//" :language "php") (:comment "#" :language "python") (:comment "%" :language "matlab") (:comment "#" :language "r") (:comment "#" :language "ruby") (:comment "#" :language "crystal") (:comment "#" :language "nim") (:comment "#" :language "nix") (:comment "//" :language "scala") (:comment ";" :language "scheme") (:comment "#" :language "shell") (:comment "//" :language "swift") (:comment "#" :language "elixir") (:comment "%" :language "erlang") (:comment "%" :language "tex") (:comment "//" :language "systemverilog") (:comment "--" :language "vhdl") (:comment "//" :language "scss") (:comment "//" :language "pascal") (:comment "//" :language "protobuf"))] 1] "List of one-line comments organized by language." :group dumb-jump :type (repeat (plist :options ((:comment string) (:language string))))] 8)
#@60 Yields the one-line comment for the given LANG.
(fn LANG)
(defalias 'dumb-jump-get-comment-by-language #[257 "\301\302\303\203%@\304\305\"\230\203\211B\262\210\211T\262A\262\202\266\211\237\262!\211G\306U\2058\304@\307\"\207" [dumb-jump-language-comments -distinct nil 0 plist-get :language 1 :comment] 9 (#$ . 86640)])
#@118 Filter out RESULTS with a :context that starts with a comment
given the LANG of the current file.
(fn RESULTS LANG)
(defalias 'dumb-jump-filter-no-start-comments #[514 "\300!\211\2039\301\302\303\203/@\304\305\306\307\"!\"\204#\211B\262\210\211T\262A\262\202 \266\211\237\262!\202:\207" [dumb-jump-get-comment-by-language -concat nil 0 s-starts-with\? s-trim plist-get :context] 14 (#$ . 86988)])
#@402 Handle the searchers results.
RESULTS is a list of property lists with the searcher's results.
CUR-FILE is the current file within PROJ-ROOT.
CTX-TYPE is a string of the current context.
LOOK-FOR is the symbol we're jumping for.
USE-TOOLTIP shows a preview instead of jumping.
PREFER-EXTERNAL will sort current file last.
(fn RESULTS CUR-FILE PROJ-ROOT CTX-TYPE LOOK-FOR USE-TOOLTIP PREFER-EXTERNAL)
(defalias 'dumb-jump-handle-results #[1799 "\303!\304\305 \"\306\"\307\n\"\203)\307\n\"\203)G\nGO\202I\307\n\"\203G\307\n\"\204GGT\nGO\202I\204\310\311\312\203\205@\313\314\"\312V\203y\313\315\"\230\204t\313\315\"\230\203y\211B\262\210\211T\262A\262\202Q\266\211\237\262\311\312\203\302@\313\314\"\312X\203\266\313\315\"\230\204\261\313\315\"\230\203\266\211B\262\210\211T\262A\262\202\216\266\211\237\262\304\316\311\312\203\371@\313\315\"\230\204\355\313\315\"\n\230\204\355\211B\262\210\211T\262A\262\202\316\266\211\237\262\"#\202q\310\304\317\311\312\2035@\313\315\"\230\204)\313\315\"\230\204)\211B\262\210\211T\262A\262\202\n\266\211\237\262\"\311\312\203j@\313\315\"\230\204Y\313\315\"\230\203^\211B\262\210\211T\262A\262\202?\266\211\237\262\"\204\205\320\321\322 \"\322\"\"!\202\206\211\211@ \204\223G\323U\205\251G\323U\204\250\n\324\230\204\250\n\325\230\205\251\211\n\203\311\326\327\f\330 !\330! & \210 \203\344\331\332\333\334\335\336\337!\340\"\341\342%\"!\202\367\211\203\362\343 #\202\367\344 \"\207" [default-directory dumb-jump-aggressive dumb-jump-debug dumb-jump-get-language-by-filename -sort #[514 "\300\301\"\300\301\"W\207" [plist-get :diff] 6 "\n\n(fn X Y)"] dumb-jump-filter-no-start-comments s-starts-with\? -concat nil 0 plist-get :diff :path #[514 "\300\301\"\300\301\"W\205\300\302\"G\300\302\"GW\207" [plist-get :line :path] 6 "\n\n(fn X Y)"] #[514 "\300\301\"\300\301\"W\205\300\302\"G\300\302\"GW\207" [plist-get :line :path] 6 "\n\n(fn X Y)"] -distinct append dumb-jump-current-file-results 1 "variable" "" dumb-jump-message "-----\nDUMB JUMP DEBUG `dumb-jump-handle-results` START\n----- \n\nlook for: \n %s\n\ntype: \n %s \n\njump? \n %s \n\nmatches: \n %s \n\nresults: \n %s \n\nprefer external: \n %s\n\nmatch-cur-file-front: \n %s\n\nproj-root: \n %s\n\ncur-file: \n %s\n\nreal-cur-file: \n %s \n\n-----\nDUMB JUMP DEBUG `dumb-jump-handle-results` END\n-----\n" pp-to-string popup-menu* mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [dumb-jump--format-result] 4 "\n\n(fn IT)" dumb-jump-result-follow dumb-jump-prompt-user-for-choice] 27 (#$ . 87413)])
#@115 Load and return options (exclusions, inclusions, etc).
Ffrom the ROOT project CONFIG-FILE.
(fn ROOT CONFIG-FILE)
(defalias 'dumb-jump-read-config #[514 "\300\301\"!\302\303\"\304\305\"\211G\306U\205\211A@\307\310\2039@\311\312\"\203-\211B\262\210\211T\262A\262\202\266\211\237\262\307\310\203`@\311\313\"\203T\211B\262\210\211T\262A\262\202B\266\211\237\262\314!\203v\315\316 !!\202x\317\320\321\322\323\324!\325\"\326\327%\"\317\320\321\330\323\324!\331\"\332\327%\"\333\334\335\n\257\207" [f-read-text f-join s-split "\n" s-match "^language \\(.+\\)$" 2 nil 0 s-starts-with\? "-" "+" file-remote-p tramp-file-name-localname tramp-dissect-file-name -map make-byte-code 257 "\211\301\302O\303\304\"\203\211\301\302O\202\211\305\300\"\207" vconcat vector [1 nil s-starts-with\? "/" f-join] 6 "\n\n(fn F)" "\211\301\302O\303\304\"\203\211\202\305\300\"\207" [1 nil s-starts-with\? "/" f-join] 5 :exclude :include :language] 17 (#$ . 90129)])
#@80 Check if PATH is currently open in Emacs and has a modified buffer.
(fn PATH)
(defalias 'dumb-jump-file-modified-p #[257 "\300\301 \302\203/@\303!\203#\304!\203#\305\304!!\203#\211B\262\210\211T\262A\262\202\266\211\237\262\306!\307\310\"\235\207" [nil buffer-list 0 buffer-modified-p buffer-file-name file-exists-p f-full mapcar #[257 "\300!\207" [buffer-file-name] 3 "\n\n(fn IT)"]] 8 (#$ . 91140)])
#@277 Take the RESULT to jump to and record the jump, for jumping back, and then trigger jump. If dumb-jump-confirm-jump-to-modified-file is t, prompt if we should continue if destination has been modified. If it is nil, display a warning.
(fn RESULT &optional USE-TOOLTIP PROJ)
(defalias 'dumb-jump-result-follow #[769 "\301\302\303\"!\203,\302\303\"\203!\304\305P!\205+\306#\202+\307\310\"\210\306#\207\306#\207" [dumb-jump-confirm-jump-to-modified-file dumb-jump-file-modified-p plist-get :path y-or-n-p " has been modified so we may have the wrong location. Continue?" dumb-jump--result-follow message "Warning: %s has been modified so we may have the wrong location."] 8 (#$ . 91571)])
#@130 Take the RESULT to jump to and record the jump, for jumping back, and then trigger jump.
(fn RESULT &optional USE-TOOLTIP PROJ)
(defalias 'dumb-jump--result-follow #[769 "\301\302\303\304\305\"!\302Q\304\306\"\"\211\203\211@@\202%\307\304\305\"\304\306\"\"\304\310\"\311!\205C\211\205C\312!\203@\211P\202CP\211\206H\304 \313\"\203i\203b\314\315 \f\"!\210\202i\316#\210\207" [default-directory s-matched-positions-all "\\b" regexp-quote plist-get :target :context s-index-of :path file-remote-p f-absolute\? :line popup-tip dumb-jump--format-result dumb-jump-goto-file-line] 14 (#$ . 92284)])
#@60 Open THEFILE and go line THELINE
(fn THEFILE THELINE POS)
(defalias 'dumb-jump-goto-file-line #[771 "\303\304!\203\f\304 \210\202\305\306 \"\210\307!\211\205\310!\211\203+ \203+\311!\210\202<\n\312=\2038\313!\210\202<\314!\210\266eb\210Sy\210\211u\210\3151Q\316\317!0\207\320\321\"\210\322\207" [find-tag-marker-ring dumb-jump-use-visible-window dumb-jump-window fboundp xref-push-marker-stack ring-insert point-marker find-buffer-visiting get-buffer-window select-window other find-file-other-window find-file (debug error) run-hooks dumb-jump-after-jump-hook message "Error running `dumb-jump-after-jump-hook': %S" nil] 7 (#$ . 92919)])
#@47 Return the PATH's RESULTS.
(fn PATH RESULTS)
(defalias 'dumb-jump-current-file-results #[514 "\300\301\203#@\302\303\"\230\203\211B\262\210\211T\262A\262\202\266\211\237\262\211\207" [nil 0 plist-get :path] 10 (#$ . 93585)])
#@153 For a SEARCHER it yields a response parser, a command
generator function, an installed? function, and the corresponding
searcher symbol.
(fn SEARCHER)
(defalias 'dumb-jump-generators-by-searcher #[257 "\211\300\232\203\301\302\303\304\305\306\307\257\207\211\310\232\203$\301\311\303\312\305\313\307\257\207\211\314\232\2036\301\311\303\315\305\316\307\257\207\211\317\232\203H\301\320\303\321\305\322\307\257\207\211\323\232\203Z\301\324\303\325\305\326\307\257\207\211\327\232\205k\301\324\303\330\305\326\307\257\207" [git-grep :parse dumb-jump-parse-git-grep-response :generate dumb-jump-generate-git-grep-command :installed dumb-jump-git-grep-installed\? :searcher ag dumb-jump-parse-ag-response dumb-jump-generate-ag-command dumb-jump-ag-installed\? git-grep-plus-ag dumb-jump-generate-git-grep-plus-ag-command dumb-jump-git-grep-plus-ag-installed\? rg dumb-jump-parse-rg-response dumb-jump-generate-rg-command dumb-jump-rg-installed\? gnu-grep dumb-jump-parse-grep-response dumb-jump-generate-gnu-grep-command dumb-jump-grep-installed\? grep dumb-jump-generate-grep-command] 9 (#$ . 93835)])
#@28
(fn &optional PROJ-ROOT)
(defalias 'dumb-jump-pick-grep-variant #[256 "\203\302!\207\211\203\303 \203\304\305\306\"!\203\302\307!\207 \2030\310\302 !\311\" \2030\302 !\207\312 \2039\302\313!\207\314 \203B\302\315!\207\316 \317=\203M\302\320!\207\302\321!\207" [dumb-jump-force-searcher dumb-jump-prefer-searcher dumb-jump-generators-by-searcher dumb-jump-git-grep-installed\? f-exists\? f-join ".git" git-grep plist-get :installed dumb-jump-ag-installed\? ag dumb-jump-rg-installed\? rg dumb-jump-grep-installed\? gnu gnu-grep grep] 5 (#$ . 94966)])
#@144 Yields the shell command switch to use for the current
`shell-file-name' in order to not load the shell profile/RC for
speeding up things.
(defalias 'dumb-jump-shell-command-switch #[0 "\302!\227\211\303\230\204\211\304\230\204\211\305\230\203\306\202%\211\307\230\203$\310\202% \207" [shell-file-name shell-command-switch file-name-base "zsh" "csh" "tcsh" "-icf" "bash" "-c"] 3 (#$ . 95541)])
#@162 Run the grep command based on the needle LOOK-FOR in the directory TOSEARCH
(fn LOOK-FOR PROJ REGEXES LANG EXCLUDE-ARGS CUR-FILE LINE-NUM PARSE-FN GENERATE-FN)
(defalias 'dumb-jump-run-command #[2313 "\304!\203\305\306\307\n!!!\202\n   &\310 \311! \2032\312\313#\210\314!\203_\n\203_ C\262\n\f   &\262\311!\262 \203_\312\315#\210\314!?\205\232#\316\317\203\222@\320\321\322\"\"\203\206\211B\262\210\211T\262A\262\202p\266\211\237\262\262)\207" [shell-command-switch dumb-jump-debug dumb-jump-fallback-search dumb-jump-fallback-regex file-remote-p directory-file-name tramp-file-name-localname tramp-dissect-file-name dumb-jump-shell-command-switch shell-command-to-string dumb-jump-message "-----\nDUMB JUMP DEBUG `dumb-jump-run-command` START\n----- \n\ncmd: \n %s\n\nraw results: \n\n %s \n\n-----\nDUMB JUMP DEBUG `dumb-jump-run-command` END\n-----\n" s-blank\? "-----\nDUMB JUMP DEBUG `dumb-jump-run-command` (FALLBACK!) START\n----- \n\ncmd: \n %s\n\nraw results: \n %s \n\n-----\nDUMB JUMP DEBUG `dumb-jump-run-command` (FALLBACK) END\n-----\n" nil 0 s-contains\? plist-get :context] 22 (#$ . 95956)])
#@117 Parse a search program's single RESP-LINE for CUR-FILE into a list of (path line context).
(fn RESP-LINE CUR-FILE)
(defalias 'dumb-jump-parse-response-line #[514 "\300\301\302\"\303\203#@\211\304\230\204\211B\262\210\211T\262A\262\202\266\211\237\262\305\306\"\305\307\"\2038\300\202^\205^\211\205^G\310U\203U\311@!A@A@E\202^\311!A@@E\207" [nil s-split "\\(?:^\\|:\\)[0-9]+:" 0 "" s-match "\\(?:^\\|:\\)\\([0-9]+\\):" ":[0-9]+:$" 2 f-join] 8 (#$ . 97138)])
#@151 Turn PARSED response lines into a list of property lists. Using CUR-FILE and CUR-LINE-NUM to exclude jump origin.
(fn PARSED CUR-FILE CUR-LINE-NUM)
(defalias 'dumb-jump-parse-response-lines #[771 "\300\301\302\303\304\305\306\307!\310\"\311\312%\"\"\313!\314\315\203E@\316\317\"\230\2034\316\320\"U\2049\211B\262\210\211T\262A\262\202\266\211\237\262\207" [apply append mapcar make-byte-code 257 "\211\205\301A@!\300Z\302@\303\304\3058\306\257C\266\202\207" vconcat vector [string-to-number :path :line :context 2 :diff] 11 "\n\n(fn IT)" -non-nil nil 0 plist-get :path :line] 12 (#$ . 97634)])
#@95 Takes a grep response RESP and parses into a list of plists.
(fn RESP CUR-FILE CUR-LINE-NUM)
(defalias 'dumb-jump-parse-grep-response #[771 "\300\301\302\303!\"\304\203.@\305\306\"\204\"\307\310\"\204\"\211B\262\210\211T\262A\262\202 \266\211\237\262\311\312\313\314\315\316!\317\"\320\321%\"\322#\207" [nil s-split "\n" s-trim 0 s-starts-with\? "grep:" s-contains\? "No such file or" mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [dumb-jump-parse-response-line] 4 "\n\n(fn IT)" dumb-jump-parse-response-lines] 11 (#$ . 98273)])
#@93 Takes a ag response RESP and parses into a list of plists.
(fn RESP CUR-FILE CUR-LINE-NUM)
(defalias 'dumb-jump-parse-ag-response #[771 "\300\301\302!\"\303\304\305\306\307\310!\311\"\312\313%\"\314#\207" [s-split "\n" s-trim mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [dumb-jump-parse-response-line] 4 "\n\n(fn IT)" dumb-jump-parse-response-lines] 11 (#$ . 98845)])
#@93 Takes a rg response RESP and parses into a list of plists.
(fn RESP CUR-FILE CUR-LINE-NUM)
(defalias 'dumb-jump-parse-rg-response #[771 "\300\301\302!\"\303\304\305\306\307\310!\311\"\312\313%\"\314#\207" [s-split "\n" s-trim mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [dumb-jump-parse-response-line] 4 "\n\n(fn IT)" dumb-jump-parse-response-lines] 11 (#$ . 99242)])
#@99 Takes a git grep response RESP and parses into a list of plists.
(fn RESP CUR-FILE CUR-LINE-NUM)
(defalias 'dumb-jump-parse-git-grep-response #[771 "\300\301\302!\"\303\304\305\306\307\310!\311\"\312\313%\"\314#\207" [s-split "\n" s-trim mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [dumb-jump-parse-response-line] 4 "\n\n(fn IT)" dumb-jump-parse-response-lines] 11 (#$ . 99639)])
#@80 Does regular expression RE match string S. If RE is nil return nil.
(fn RE S)
(defalias 'dumb-jump-re-match #[514 "\205\f\211\205\f\300\"\207" [s-match] 5 (#$ . 100048)])
#@91 Detect the type of context by the language LANG and its context PT-CTX.
(fn LANG PT-CTX)
(defalias 'dumb-jump-get-ctx-type-by-language #[514 "\301\302\203$@\303\304\"\230\203\211B\262\210\211T\262A\262\202\266\211\237\262\211G\302V\205{\301\302\203u@\303\305\"\203O\306\303\305\"\303\305\"\"\203i\303\307\"\203d\306\303\307\"\303\307\"\"\203i\211B\262\210\211T\262A\262\2024\266\211\237\262\301\302\203\247@\303\310\"\205\222\303@\310\"\230\203\233\211B\262\210\211T\262A\262\202~\266\211\237\262GGU\205\276\211\205\276\303@\310\"\207" [dumb-jump-language-contexts nil 0 plist-get :language :left dumb-jump-re-match :right :type] 12 (#$ . 100231)])
#@85 Generate the --include grep argument of file extensions by LANGUAGE.
(fn LANGUAGE)
(defalias 'dumb-jump-get-ext-includes #[257 "\300!\301\302\303\304\"\"\207" [dumb-jump-get-file-exts-by-language dumb-jump-arg-joiner "--include" mapcar #[257 "\300\301\"\207" [format "\\*.%s"] 4 "\n\n(fn IT)"]] 7 (#$ . 100953)])
#@94 Helper to generate command arg with its PREFIX for each value in VALUES.
(fn PREFIX VALUES)
(defalias 'dumb-jump-arg-joiner #[514 "\300\301\302\"\"\211\203\203\301\303#\202\304\207" [s-join format " %s " " %s %s " ""] 7 (#$ . 101276)])
#@117 Get list of search regular expressions by LANG and CTX-TYPE (variable, function, etc).
(fn LANG CTX-TYPE SEARCHER)
(defalias 'dumb-jump-get-contextual-regexes #[771 "\301\"?\205\n\211\203:\302\303\2031@\304\305\"\230\203%\211B\262\210\211T\262A\262\202\266\211\237\262\202;\211\206@\306\307\"\207" [dumb-jump-ignore-context dumb-jump-get-rules-by-language nil 0 plist-get :type mapcar #[257 "\300\301\"\207" [plist-get :regex] 4 "\n\n(fn IT)"]] 12 (#$ . 101531)])
#@69 Populate IT regex template with LOOK-FOR.
(fn IT LOOK-FOR VARIANT)
(defalias 'dumb-jump-populate-regex #[771 "\211\304=\203\n\202)\211\305=\203 \202)\211\306=\203 \202)\211\307=\203(\n\202) \310\311#\262\312=\203>\310\313\314#\262\310\315\316!#\262\304=\203]\317\320\"\203]\321\322\323OP\262\211\262\207" [dumb-jump-rg-word-boundary dumb-jump-ag-word-boundary dumb-jump-git-grep-word-boundary dumb-jump-grep-word-boundary rg ag git-grep-plus-ag git-grep s-replace "\\j" gnu-grep "\\s" "[[:space:]]" "JJJ" regexp-quote string-prefix-p "-" "[-]" 1 nil] 9 (#$ . 102030)])
#@108 Take list of REGEXES and populate the LOOK-FOR target and return that list.
(fn LOOK-FOR REGEXES VARIANT)
(defalias 'dumb-jump-populate-regexes #[771 "\300\301\302\303\304\305\"\306\"\307\310%\"\207" [mapcar make-byte-code 257 "\302\300\301#\207" vconcat vector [dumb-jump-populate-regex] 5 "\n\n(fn IT)"] 11 (#$ . 102637)])
#@134 Generate the ag response based on the needle LOOK-FOR in the directory PROJ.
(fn LOOK-FOR CUR-FILE PROJ REGEXES LANG EXCLUDE-PATHS)
(defalias 'dumb-jump-generate-ag-command #[1542 "\302\303#\304!\305!\306!\307\310\311\f\"\203\312\202\313\314 !?\205)\315 P\2039\316\313\317\320\n\"\"\202A\316\313\317\321 \"\"\260\322\323\317\324\325\326\327\330 !\331\"\332\333% \"\"\334\316\335\"! G\336U\203j\313\202q\337$\207" [dumb-jump-ag-cmd dumb-jump-ag-search-args dumb-jump-populate-regexes ag dumb-jump-get-ag-type-by-language dumb-jump-get-file-exts-by-language file-name-as-directory " --nocolor --nogroup" s-ends-with\? ".gz" " --search-zip" #1="" s-blank\? " " s-join mapcar #[257 "\300\301\"\207" [format " --%s"] 4 "\n\n(fn IT)"] #[257 "\300\301\"\207" [format " -G '\\.%s$'"] 4 "\n\n(fn IT)"] dumb-jump-arg-joiner "--ignore-dir" make-byte-code 257 "\301\302\300\303#!\207" vconcat vector [shell-quote-argument s-replace #1#] 6 "\n\n(fn IT)" shell-quote-argument "|" 0 dumb-jump-concat-command] 20 (#$ . 102976)])
#@112 Search for the literal SYMBOL in the PROJ-ROOT via git grep for a list of file matches.
(fn SYMBOL PROJ-ROOT)
(defalias 'dumb-jump-get-git-grep-files-matching-symbol #[514 "\300\301\302!#\303\304!!\305\306\307\310\"\"\207" [format "git grep --full-name -F -c %s %s" shell-quote-argument s-trim shell-command-to-string mapcar #[257 "\300\301\"@\207" [s-split ":"] 4 "\n\n(fn IT)"] s-split "\n"] 9 (#$ . 104033)])
#@95 Take a list of FILES and their PROJ-ROOT and return a `ag -G` argument.
(fn FILES PROJ-ROOT)
(defalias 'dumb-jump-format-files-as-ag-arg #[514 "\300\301\302\303\304\305\306\307\310\311\n!\312\"\313\314%\"\"\"\207" [format "'(%s)'" s-join "|" mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [f-join] 4 "\n\n(fn IT)"] 13 (#$ . 104457)])
#@129 Get the files matching the SYMBOL via `git grep` in the PROJ-ROOT and return them formatted for `ag -G`.
(fn SYMBOL PROJ-ROOT)
(defalias 'dumb-jump-get-git-grep-files-matching-symbol-as-ag-arg #[514 "\300\301\"\"\207" [dumb-jump-format-files-as-ag-arg dumb-jump-get-git-grep-files-matching-symbol] 6 (#$ . 104814)])
#@210 Generate the ag response based on the needle LOOK-FOR in the directory PROJ.
Using ag to search only the files found via git-grep literal symbol search.
(fn LOOK-FOR CUR-FILE PROJ REGEXES LANG EXCLUDE-PATHS)
(defalias 'dumb-jump-generate-git-grep-plus-ag-command #[1542 "\301\302#\303!\304\"\305\306\307 \"\203\310\202\311\312\313\260\314\315\316\317\320\321\322\323\n!\324\"\325\326%\"\"\327\330\331\"!G\332U\203I\311\202P\333 $\207" [dumb-jump-ag-cmd dumb-jump-populate-regexes ag file-name-as-directory dumb-jump-get-git-grep-files-matching-symbol-as-ag-arg " --nocolor --nogroup" s-ends-with\? ".gz" " --search-zip" #1="" " -G " " " dumb-jump-arg-joiner "--ignore-dir" mapcar make-byte-code 257 "\301\302\300\303#!\207" vconcat vector [shell-quote-argument s-replace #1#] 6 "\n\n(fn IT)" shell-quote-argument s-join "|" 0 dumb-jump-concat-command] 19 (#$ . 105141)])
#@134 Generate the rg response based on the needle LOOK-FOR in the directory PROJ.
(fn LOOK-FOR CUR-FILE PROJ REGEXES LANG EXCLUDE-PATHS)
(defalias 'dumb-jump-generate-rg-command #[1542 "\302\303#\304!\305!\306\307 !?\205\310 P\311\312\313\314\"\"R\315\316\313\317\320\321\322\323 !\324\"\325\326%\"\"\327\311\330\"!G\331U\203I\312\202P\332 $\207" [dumb-jump-rg-cmd dumb-jump-rg-search-args dumb-jump-populate-regexes rg dumb-jump-get-rg-type-by-language file-name-as-directory " --color never --no-heading --line-number -U" s-blank\? " " s-join #1="" mapcar #[257 "\300\301\"\207" [format " --type %s"] 4 "\n\n(fn IT)"] dumb-jump-arg-joiner "-g" make-byte-code 257 "\301\302\303\300\304#P!\207" vconcat vector [shell-quote-argument "!" s-replace #1#] 7 "\n\n(fn IT)" shell-quote-argument "|" 0 dumb-jump-concat-command] 19 (#$ . 106049)])
#@140 Generate the git grep response based on the needle LOOK-FOR in the directory PROJ.
(fn LOOK-FOR CUR-FILE PROJ REGEXES LANG EXCLUDE-PATHS)
(defalias 'dumb-jump-generate-git-grep-command #[1542 "\303\304#\305!\205\306!\307 \205\310\311\n!?\205!\312\nP\313\260\314\312\315\316\317\320\321\322!\323\"\324\325%\"\"\314\312\315\326\"\"\327\314\330\"!G\331U\203R\332\202[\333\334%\207" [dumb-jump-git-grep-cmd dumb-jump-git-grep-search-untracked dumb-jump-git-grep-search-args dumb-jump-populate-regexes git-grep f-ext dumb-jump-get-git-grep-type-by-language " --color=never --line-number" " --untracked" s-blank\? " " " -E" s-join mapcar make-byte-code 257 "\301\302\303\300#!\207" vconcat vector [shell-quote-argument format "%s/*.%s"] 6 "\n\n(fn IT)" #[257 "\300\301P!\207" [shell-quote-argument ":(exclude)"] 4 "\n\n(fn IT)"] shell-quote-argument "|" 0 "" dumb-jump-concat-command "--"] 18 (#$ . 106917)])
#@146 Find LOOK-FOR's CUR-FILE in the PROJ with REGEXES for the LANG but not in EXCLUDE-PATHS.
(fn LOOK-FOR CUR-FILE PROJ REGEXES LANG EXCLUDE-PATHS)
(defalias 'dumb-jump-generate-grep-command #[1542 "\305\306\307\310#\"\311=\203\312\202 \313P\314\315\"\203#\n\202$ P\316\317\"\320!\316\321\"G\322U\203<\312\202F\323\f&\207" [system-type dumb-jump-grep-prefix dumb-jump-zgrep-cmd dumb-jump-grep-cmd dumb-jump-grep-args mapcar #[257 "\300!\207" [shell-quote-argument] 3 "\n\n(fn IT)"] dumb-jump-populate-regexes grep windows-nt "" " " s-ends-with\? ".gz" dumb-jump-arg-joiner "--exclude-dir" dumb-jump-get-ext-includes "-e" 0 dumb-jump-concat-command] 18 (#$ . 107860)])
#@146 Find LOOK-FOR's CUR-FILE in the PROJ with REGEXES for the LANG but not in EXCLUDE-PATHS.
(fn LOOK-FOR CUR-FILE PROJ REGEXES LANG EXCLUDE-PATHS)
(defalias 'dumb-jump-generate-gnu-grep-command #[1542 "\305\306\307\310#\"\311=\203\312\202 \313P\314\315\"\203#\n\202$ P\312\211\316\317\"G\320U\2037\312\202A\321\f&\207" [system-type dumb-jump-grep-prefix dumb-jump-zgrep-cmd dumb-jump-grep-cmd dumb-jump-gnu-grep-args mapcar #[257 "\300!\207" [shell-quote-argument] 3 "\n\n(fn IT)"] dumb-jump-populate-regexes gnu-grep windows-nt "" " " s-ends-with\? ".gz" dumb-jump-arg-joiner "-e" 0 dumb-jump-concat-command] 18 (#$ . 108560)])
#@76 Concat the PARTS of a command if each part has a length.
(fn &rest PARTS)
(defalias 'dumb-jump-concat-command #[128 "\300\301\302\303\304\305\203%@\211G\305V\203\211B\262\210\211T\262A\262\202\266\211\237\262\"\"\207" [s-join " " -map s-trim nil 0] 11 (#$ . 109219)])
#@63 Return list of file extensions for a LANGUAGE.
(fn LANGUAGE)
(defalias 'dumb-jump-get-file-exts-by-language #[257 "\301\302\303\304\203&@\305\306\"\230\203\211B\262\210\211T\262A\262\202\266\211\237\262\"\207" [dumb-jump-language-file-exts mapcar #[257 "\300\301\"\207" [plist-get :ext] 4 "\n\n(fn IT)"] nil 0 plist-get :language] 10 (#$ . 109509)])
#@64 Return list of ag type argument for a LANGUAGE.
(fn LANGUAGE)
(defalias 'dumb-jump-get-ag-type-by-language #[257 "\301\302\303\304\305\203.@\306\307\"\203\"\306\310\"\230\203\"\211B\262\210\211T\262A\262\202\266\211\237\262\"!\207" [dumb-jump-language-file-exts -distinct mapcar #[257 "\300\301\"\207" [plist-get :agtype] 4 "\n\n(fn IT)"] nil 0 plist-get :agtype :language] 11 (#$ . 109885)])
#@64 Return list of rg type argument for a LANGUAGE.
(fn LANGUAGE)
(defalias 'dumb-jump-get-rg-type-by-language #[257 "\301\302\303\304\305\203.@\306\307\"\203\"\306\310\"\230\203\"\211B\262\210\211T\262A\262\202\266\211\237\262\"!\207" [dumb-jump-language-file-exts -distinct mapcar #[257 "\300\301\"\207" [plist-get :rgtype] 4 "\n\n(fn IT)"] nil 0 plist-get :rgtype :language] 11 (#$ . 110305)])
#@70 Return list of git grep type argument for a LANGUAGE.
(fn LANGUAGE)
(defalias 'dumb-jump-get-git-grep-type-by-language #[257 "\301\302\303\304\305\203.@\306\307\"\203\"\306\310\"\230\203\"\211B\262\210\211T\262A\262\202\266\211\237\262\"!\207" [dumb-jump-language-file-exts -distinct mapcar #[257 "\300\301\"\207" [plist-get :ext] 4 "\n\n(fn IT)"] nil 0 plist-get :ext :language] 11 (#$ . 110725)])
#@78 Return a list of rules for the LANGUAGE by SEARCHER.
(fn LANGUAGE SEARCHER)
(defalias 'dumb-jump-get-rules-by-language #[514 "\211\302=\203\n\303\202)\211\304=\203\305\202)\211\306=\203\307\202)\211\310=\203(\307\202)\311\312\313\203V@\314\315\"\230\203J\314\316\"\235\203J\211B\262\210\211T\262A\262\202,\266\211\237\262 \203\214\312\313\203\203@\314\317\"\320\230\203w\211B\262\210\211T\262A\262\202c\266\211\237\262\202\215\211\207" [dumb-jump-find-rules dumb-jump-functions-only git-grep "git-grep" rg "rg" ag "ag" git-grep-plus-ag "grep" nil 0 plist-get :language :supports :type "function"] 11 (#$ . 111151)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315& \207" [custom-declare-variable dumb-jump-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Dumb-Jump mode is enabled.\nSee the `dumb-jump-mode' command\nfor a description of this minor mode." :set custom-set-minor-mode :initialize custom-initialize-default :group dumb-jump :type boolean] 12)
#@81 Minor mode for jumping to variable and function definitions
(fn &optional ARG)
(defalias 'dumb-jump-mode #[256 "\300 \301\302\303=\203\304\302!?\202\305!\306V\"\210\307\310\304\302!\203$\311\202%\312\"\210\313\314!\203O\315\302!\210\300 \203=\211\300 \232\203O\316\317\320\304\302!\203J\321\202K\322#\266\210\323 \210\304\302!\207" [current-message set-default dumb-jump-mode toggle default-value prefix-numeric-value 0 run-hooks dumb-jump-mode-hook dumb-jump-mode-on-hook dumb-jump-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Dumb-Jump mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 112192) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar dumb-jump-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\307\211%\210\310\311!\207" [dumb-jump-mode-map dumb-jump-mode-hook variable-documentation put "Hook run after entering or leaving `dumb-jump-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode dumb-jump-mode nil provide dumb-jump] 6)