;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&\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\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 ripgrep. By default assumes it is in path. If not found fallbacks to grep." dumb-jump-git-grep-cmd #[0 "\300\207" [#5="git grep"] 1 #5#] "The the path to git grep. By default assumes it is in path. If not found fallbacks to grep." dumb-jump-ag-word-boundary #[0 "\300\207" [#6="(?![a-zA-Z0-9\\?\\*-])"] 1 #6#] "`\\b` thinks `-` is a word boundary. When this matters use `\\j` instead and ag will use this value." dumb-jump-rg-word-boundary #[0 "\300\207" [#7="($|[^a-zA-Z0-9\\?\\*-])"] 1 #7#] "`\\b` thinks `-` is a word boundary. When this matters use `\\j` instead and rg will use this value." dumb-jump-git-grep-word-boundary #[0 "\300\207" [#8="($|[^a-zA-Z0-9\\?\\*-])"] 1 #8#] "`\\b` thinks `-` is a word boundary. When this matters use `\\j` instead and git grep will use this value." dumb-jump-grep-word-boundary #[0 "\300\207" [#9="($|[^a-zA-Z0-9\\?\\*-])"] 1 #9#] "`\\b` thinks `-` is a word boundary. When this matters use `\\j` instead and grep will use this value." dumb-jump-fallback-regex #[0 "\300\207" [#10="\\bJJJ\\j"] 1 #10#] "When dumb-jump-fallback-search is t use this regex. Defaults to boundary search of symbol under point." dumb-jump-fallback-search #[0 "\300\207" [t] 1] "If nothing is found with normal search fallback to searching the fallback regex." dumb-jump-force-grep #[0 "\300\207" [nil] 1] "When t will use grep even if ag is available." dumb-jump-zgrep-cmd #[0 "\300\207" [#11="zgrep"] 1 #11#] "The path to grep to use for gzipped files. By default assumes it is in path." dumb-jump-grep-args #[0 "\300\207" [#12="-REn"] 1 #12#] "Grep command args [R]ecursive, [E]xtended regexes, and show line [n]umbers." dumb-jump-gnu-grep-args #[0 "\300\207" [#13="-rEn"] 1 #13#] "Grep command args [r]ecursive and [E]xtended regexes, and show line [n]umbers." dumb-jump-max-find-time #[0 "\300\207" [2] 1] "Number of seconds a grep/find command can take before being warned to use ag and config." integer dumb-jump-functions-only #[0 "\300\207" [nil] 1] "Should we only jump to functions?" dumb-jump-quiet #[0 "\300\207" [nil] 1] "If non-nil Dumb Jump will not log anything to *Messages*." dumb-jump-ignore-context #[0 "\300\207" [nil] 1] "If non-nil Dumb Jump will ignore the context of point when jumping." dumb-jump-git-grep-search-untracked #[0 "\300\207" [t] 1] "If non-nil Dumb Jump will also search untracked files when using searcher git-grep." dumb-jump-git-grep-search-args #[0 "\300\207" [#14=""] 1 #14#] "Appends the passed arguments to the git-grep search function. Default: \"\"" dumb-jump-ag-search-args #[0 "\300\207" [#14#] 1 #14#] "Appends the passed arguments to the ag search function. Default: \"\"" dumb-jump-rg-search-args #[0 "\300\207" [#15="--pcre2"] 1 #15#] "Appends the passed arguments to the rg search function. Default: \"--pcre2\"" dumb-jump-find-rules #[0 "\300\207" [((:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "elisp" :regex "\\((defun|cl-defun)\\s+JJJ\\j" :tests ("(defun test (blah)" "(defun test\n" "(cl-defun test (blah)" "(cl-defun test\n") :not ("(defun test-asdf (blah)" "(defun test-blah\n" "(cl-defun test-asdf (blah)" "(cl-defun test-blah\n" "(defun tester (blah)" "(defun test? (blah)" "(defun test- (blah)")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "elisp" :regex "\\(defvar\\b\\s*JJJ\\j" :tests ("(defvar test " "(defvar test\n") :not ("(defvar tester" "(defvar test?" "(defvar test-")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "elisp" :regex "\\(defcustom\\b\\s*JJJ\\j" :tests ("(defcustom test " "(defcustom test\n") :not ("(defcustom tester" "(defcustom test?" "(defcustom test-")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "elisp" :regex "\\(setq\\b\\s*JJJ\\j" :tests ("(setq test 123)") :not ("setq test-blah 123)" "(setq tester" "(setq test?" "(setq test-")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "elisp" :regex "\\(JJJ\\s+" :tests ("(let ((test 123)))") :not ("(let ((test-2 123)))")) (:type "variable" :supports ("ag" "rg" "git-grep") :language "elisp" :regex "\\((defun|cl-defun)\\s*.+\\(?\\s*JJJ\\j\\s*\\)?" :tests ("(defun blah (test)" "(defun blah (test blah)" "(defun (blah test)") :not ("(defun blah (test-1)" "(defun blah (test-2 blah)" "(defun (blah test-3)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "commonlisp" :regex "\\(defun\\s+JJJ\\j" :tests ("(defun test (blah)" "(defun test\n") :not ("(defun test-asdf (blah)" "(defun test-blah\n" "(defun tester (blah)" "(defun test? (blah)" "(defun test- (blah)")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "commonlisp" :regex "\\(defparameter\\b\\s*JJJ\\j" :tests ("(defparameter test " "(defparameter test\n") :not ("(defparameter tester" "(defparameter test?" "(defparameter test-")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "\\(define\\s+\\(\\s*JJJ\\j" :tests ("(define (test blah)" "(define (test\n") :not ("(define test blah" "(define (test-asdf blah)" "(define test (lambda (blah")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "\\(define\\s+JJJ\\s*\\(\\s*lambda" :tests ("(define test (lambda (blah" "(define test (lambda\n") :not ("(define test blah" "(define test-asdf (lambda (blah)" "(define (test)" "(define (test blah) (lambda (foo")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "\\(let\\s+JJJ\\s*(\\(|\\[)*" :tests ("(let test ((blah foo) (bar bas))" "(let test\n" "(let test [(foo") :not ("(let ((test blah")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "\\(define\\s+JJJ\\j" :tests ("(define test " "(define test\n") :not ("(define (test")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "(\\(|\\[)\\s*JJJ\\s+" :tests ("(let ((test 'foo" "(let [(test 'foo" "(let [(test 'foo" "(let [[test 'foo" "(let ((blah 'foo) (test 'bar)") :not ("{test foo")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "\\(lambda\\s+\\(?[^()]*\\s*JJJ\\j\\s*\\)?" :tests ("(lambda (test)" "(lambda (foo test)" "(lambda test (foo)") :not ("(lambda () test")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scheme" :regex "\\(define\\s+\\([^()]+\\s*JJJ\\j\\s*\\)?" :tests ("(define (foo test)" "(define (foo test bar)") :not ("(define foo test" "(define (test foo" "(define (test)")) (:type "function" :supports ("ag" "rg" "git-grep") :language "c++" :regex "\\bJJJ(\\s|\\))*\\((\\w|[,&*.<>]|\\s)*(\\))\\s*(const|->|\\{|$)|typedef\\s+(\\w|[(*]|\\s)+JJJ(\\)|\\s)*\\(" :tests ("int test(){" "my_struct (*test)(int a, int b){" "auto MyClass::test ( Builder& reference, ) -> decltype( builder.func() ) {" "int test( int *random_argument) const {" "test::test() {" "typedef int (*test)(int);") :not ("return test();)" "int test(a, b);" "if( test() ) {" "else test();")) (:type "variable" :supports ("ag" "rg") :language "c++" :regex "\\b(?!(class\\b|struct\\b|return\\b|else\\b|delete\\b))(\\w+|[,>])([*&]|\\s)+JJJ\\s*(\\[(\\d|\\s)*\\])*\\s*([=,(){;]|:\\s*\\d)|#define\\s+JJJ\\b" :tests ("int test=2;" "char *test;" "int x = 1, test = 2" "int test[20];" "#define test" "typedef int test;" "unsigned int test:2") :not ("return test;" "#define NOT test" "else test=2;")) (:type "type" :supports ("ag" "rg" "git-grep") :language "c++" :regex "\\b(class|struct|enum|union)\\b\\s*JJJ\\b\\s*(final\\s*)?(:((\\s*\\w+\\s*::)*\\s*\\w*\\s*?\\s*,*)+)?((\\{|$))|}\\s*JJJ\\b\\s*;" :tests ("typedef struct test {" "enum test {" "} test;" "union test {" "class test final: public Parent1, private Parent2{" "class test : public std::vector {") :not ("union test var;" "struct test function() {")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(def\\s+JJJ\\j" :tests ("(def test (foo)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(defn-?\\s+JJJ\\j" :tests ("(defn test [foo]" "(defn- test [foo]") :not ("(defn test? [foo]" "(defn- test? [foo]")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(defmacro\\s+JJJ\\j" :tests ("(defmacro test [foo]")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(deftask\\s+JJJ\\j" :tests ("(deftask test [foo]")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(deftype\\s+JJJ\\j" :tests ("(deftype test [foo]")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(defmulti\\s+JJJ\\j" :tests ("(defmulti test fn")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(defmethod\\s+JJJ\\j" :tests ("(defmethod test type")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(definterface\\s+JJJ\\j" :tests ("(definterface test (foo)")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(defprotocol\\s+JJJ\\j" :tests ("(defprotocol test (foo)")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "clojure" :regex "\\(defrecord\\s+JJJ\\j" :tests ("(defrecord test [foo]")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "coffeescript" :regex "^\\s*JJJ\\s*[=:].*[-=]>" :tests ("test = () =>" "test= =>" "test = ->" "test=()->" "test : () =>" "test: =>" "test : ->" "test:()->") :not ("# test = =>" "test = 1")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "coffeescript" :regex "^\\s*JJJ\\s*[:=][^:=-][^>]+$" :tests ("test = $" "test : [" "test = {" "test = a") :not ("test::a" "test: =>" "test == 1" "# test = 1")) (:type "class" :supports ("ag" "grep" "rg" "git-grep") :language "coffeescript" :regex "^\\s*\\bclass\\s+JJJ" :tests ("class test" "class test extends") :not ("# class")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "objc" :regex "\\)\\s*JJJ(:|\\b|\\s)" :tests ("- (void)test" "- (void)test:(UIAlertView *)alertView") :not ("- (void)testnot" "- (void)testnot:(UIAlertView *)alertView")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "objc" :regex "\\b\\*?JJJ\\s*=[^=\\n]+" :tests ("NSString *test = @\"asdf\"") :not ("NSString *testnot = @\"asdf\"" "NSString *nottest = @\"asdf\"")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "swift" :regex "(let|var)\\s*JJJ\\s*(=|:)[^=:\\n]+" :tests ("let test = 1234" "var test = 1234" "private lazy var test: UITapGestureRecognizer") :not ("if test == 1234:")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "swift" :regex "func\\s*JJJ\\b\\s*\\(" :tests ("func test(asdf)" "func test()") :not ("func testnot(asdf)" "func testnot()")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "swift" :regex "(class|struct)\\s*JJJ\\b\\s*?" :tests ("class test:" "class test: UIWindow") :not ("class testnot:" "class testnot(object):")) (:type "function" :supports ("ag" "rg") :language "csharp" :regex "^\\s*(?:[\\w\\[\\]]+\\s+){1,3}JJJ\\s*\\(" :tests ("int test()" "int test(param)" "static int test()" "static int test(param)" "public static MyType test()" "private virtual SomeType test(param)" "static int test()") :not ("test()" "testnot()" "blah = new test()")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "csharp" :regex "\\s*\\bJJJ\\s*=[^=\\n)]+" :tests ("int test = 1234") :not ("if test == 1234:" "int nottest = 44")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "csharp" :regex "(class|interface)\\s*JJJ\\b" :tests ("class test:" "public class test : IReadableChannel, I") :not ("class testnot:" "public class testnot : IReadableChannel, I")) (:type "function" :supports ("ag" "rg") :language "java" :regex "^\\s*(?:[\\w\\[\\]]+\\s+){1,3}JJJ\\s*\\(" :tests ("int test()" "int test(param)" "static int test()" "static int test(param)" "public static MyType test()" "private virtual SomeType test(param)" "static int test()" "private foo[] test()") :not ("test()" "testnot()" "blah = new test()" "foo bar = test()")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "java" :regex "\\s*\\bJJJ\\s*=[^=\\n)]+" :tests ("int test = 1234") :not ("if test == 1234:" "int nottest = 44")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "java" :regex "(class|interface)\\s*JJJ\\b" :tests ("class test:" "public class test implements Something") :not ("class testnot:" "public class testnot implements Something")) (:type "function" :supports ("ag" "rg") :language "vala" :regex "^\\s*(?:[\\w\\[\\]]+\\s+){1,3}JJJ\\s*\\(" :tests ("int test()" "int test(param)" "static int test()" "static int test(param)" "public static MyType test()" "private virtual SomeType test(param)" "static int test()") :not ("test()" "testnot()" "blah = new test()")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "vala" :regex "\\s*\\bJJJ\\s*=[^=\\n)]+" :tests ("int test = 1234") :not ("if test == 1234:" "int nottest = 44")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "vala" :regex "(class|interface)\\s*JJJ\\b" :tests ("class test:" "public class test : IReadableChannel, I") :not ("class testnot:" "public class testnot : IReadableChannel, I")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Variable\\s+JJJ\\b" :tests ("Variable test") :not ("Variable testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Inductive\\s+JJJ\\b" :tests ("Inductive test") :not ("Inductive testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Lemma\\s+JJJ\\b" :tests ("Lemma test") :not ("Lemma testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Definition\\s+JJJ\\b" :tests ("Definition test") :not ("Definition testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Hypothesis\\s+JJJ\\b" :tests ("Hypothesis test") :not ("Hypothesis testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Theorm\\s+JJJ\\b" :tests ("Theorm test") :not ("Theorm testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Fixpoint\\s+JJJ\\b" :tests ("Fixpoint test") :not ("Fixpoint testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*Module\\s+JJJ\\b" :tests ("Module test") :not ("Module testx")) (:type "function" :supports ("ag" "rg" "git-grep") :language "coq" :regex "\\s*CoInductive\\s+JJJ\\b" :tests ("CoInductive test") :not ("CoInductive testx")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "python" :regex "\\s*\\bJJJ\\s*=[^=\\n]+" :tests ("test = 1234") :not ("if test == 1234:" "_test = 1234")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "python" :regex "def\\s*JJJ\\b\\s*\\(" :tests (" def test(asdf)" "def test()") :not (" def testnot(asdf)" "def testnot()")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "python" :regex "class\\s*JJJ\\b\\s*\\(?" :tests ("class test(object):" "class test:") :not ("class testnot:" "class testnot(object):")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "matlab" :regex "^\\s*\\bJJJ\\s*=[^=\\n]+" :tests ("test = 1234") :not ("for test = 1:2:" "_test = 1234")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "matlab" :regex "^\\s*function\\s*[^=]+\\s*=\\s*JJJ\\b" :tests (" function y = test(asdf)" "function x = test()" "function [x, losses] = test(A, y, lambda, method, qtile)") :not (" function testnot(asdf)" "function testnot()")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "matlab" :regex "^\\s*classdef\\s*JJJ\\b\\s*" :tests ("classdef test") :not ("classdef testnot")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "nim" :regex "(const|let|var)\\s*JJJ\\s*(=|:)[^=:\\n]+" :tests ("let test = 1234" "var test = 1234" "var test: Stat" "const test = 1234") :not ("if test == 1234:")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "nim" :regex "(proc|func|macro|template)\\s*`?JJJ`?\\b\\s*\\(" :tests (" proc test(asdf)" "proc test()" "func test()" "macro test()" "template test()") :not (" proc testnot(asdf)" "proc testnot()")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "nim" :regex "type\\s*JJJ\\b\\s*(\\{[^}]+\\})?\\s*=\\s*\\w+" :tests ("type test = object" "type test {.pure.} = enum") :not ("type testnot = object")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "nix" :regex "\\b\\s*JJJ\\s*=[^=;]+" :tests ("test = 1234;" "test = 123;" "test=123") :not ("testNot = 1234;" "Nottest = 1234;" "AtestNot = 1234;")) (:type "variable" :supports ("ag" "rg" "git-grep") :language "ruby" :regex "^\\s*((\\w+[.])*\\w+,\\s*)*JJJ(,\\s*(\\w+[.])*\\w+)*\\s*=([^=>~]|$)" :tests ("test = 1234" "self.foo, test, bar = args") :not ("if test == 1234" "foo_test = 1234")) (:type "function" :supports ("ag" "rg" "git-grep") :language "ruby" :regex "(^|[^\\w.])((private|public|protected)\\s+)?def\\s+(\\w+(::|[.]))*JJJ($|[^\\w|:])" :tests ("def test(foo)" "def test()" "def test foo" "def test; end" "def self.test()" "def MODULE::test()" "private def test") :not ("def test_foo")) (:type "function" :supports ("ag" "rg" "git-grep") :language "ruby" :regex "(^|\\W)define(_singleton|_instance)?_method(\\s|[(])\\s*:JJJ($|[^\\w|:])" :tests ("define_method(:test, &body)" "mod.define_instance_method(:test) { body }")) (:type "type" :supports ("ag" "rg" "git-grep") :language "ruby" :regex "(^|[^\\w.])class\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("class test" "class Foo::test")) (:type "type" :supports ("ag" "rg" "git-grep") :language "ruby" :regex "(^|[^\\w.])module\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("module test" "module Foo::test")) (:type "function" :supports ("ag" "rg" "git-grep") :language "ruby" :regex "(^|\\W)alias(_method)?\\W+JJJ(\\W|$)" :tests ("alias test some_method" "alias_method :test, :some_method" "alias_method 'test' 'some_method'" "some_class.send(:alias_method, :test, :some_method)") :not ("alias some_method test" "alias_method :some_method, :test" "alias test_foo test")) (:type "variable" :supports ("ag" "rg" "git-grep") :language "groovy" :regex "^\\s*((\\w+[.])*\\w+,\\s*)*JJJ(,\\s*(\\w+[.])*\\w+)*\\s*=([^=>~]|$)" :tests ("test = 1234" "self.foo, test, bar = args") :not ("if test == 1234" "foo_test = 1234")) (:type "function" :supports ("ag" "rg" "git-grep") :language "groovy" :regex "(^|[^\\w.])((private|public)\\s+)?def\\s+(\\w+(::|[.]))*JJJ($|[^\\w|:])" :tests ("def test(foo)" "def test()" "def test foo" "def test; end" "def self.test()" "def MODULE::test()" "private def test") :not ("def test_foo")) (:type "type" :supports ("ag" "rg" "git-grep") :language "groovy" :regex "(^|[^\\w.])class\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("class test" "class Foo::test")) (:type "variable" :supports ("ag" "rg" "git-grep") :language "crystal" :regex "^\\s*((\\w+[.])*\\w+,\\s*)*JJJ(,\\s*(\\w+[.])*\\w+)*\\s*=([^=>~]|$)" :tests ("test = 1234" "self.foo, test, bar = args") :not ("if test == 1234" "foo_test = 1234")) (:type "function" :supports ("ag" "rg" "git-grep") :language "crystal" :regex "(^|[^\\w.])((private|public|protected)\\s+)?def\\s+(\\w+(::|[.]))*JJJ($|[^\\w|:])" :tests ("def test(foo)" "def test()" "def test foo" "def test; end" "def self.test()" "def MODULE::test()" "private def test") :not ("def test_foo")) (:type "type" :supports ("ag" "rg" "git-grep") :language "crystal" :regex "(^|[^\\w.])class\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("class test" "class Foo::test")) (:type "type" :supports ("ag" "rg" "git-grep") :language "crystal" :regex "(^|[^\\w.])module\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("module test" "module Foo::test")) (:type "type" :supports ("ag" "rg" "git-grep") :language "crystal" :regex "(^|[^\\w.])struct\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("struct test" "struct Foo::test")) (:type "type" :supports ("ag" "rg" "git-grep") :language "crystal" :regex "(^|[^\\w.])alias\\s+(\\w*::)*JJJ($|[^\\w|:])" :tests ("alias test" "alias Foo::test")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "\\bval\\s*JJJ\\s*=[^=\\n]+" :tests ("val test = 1234") :not ("case test => 1234")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "\\bvar\\s*JJJ\\s*=[^=\\n]+" :tests ("var test = 1234") :not ("case test => 1234")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "\\btype\\s*JJJ\\s*=[^=\\n]+" :tests ("type test = 1234") :not ("case test => 1234")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "\\bdef\\s*JJJ\\s*\\(" :tests ("def test(asdf)" "def test()")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "class\\s*JJJ\\s*\\(?" :tests ("class test(object)")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "trait\\s*JJJ\\s*\\(?" :tests ("trait test(object)")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "scala" :regex "object\\s*JJJ\\s*\\(?" :tests ("object test(object)")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "r" :regex "\\bJJJ\\s*=[^=><]" :tests ("test = 1234") :not ("if (test == 1234)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "r" :regex "\\bJJJ\\s*<-\\s*function\\b" :tests ("test <- function" "test <- function(") :not ("test <- functionX")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "perl" :regex "sub\\s*JJJ\\s*(\\{|\\()" :tests ("sub test{" "sub test {" "sub test(" "sub test (")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "perl" :regex "JJJ\\s*=\\s*" :tests ("$test = 1234")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "shell" :regex "function\\s*JJJ\\s*" :tests ("function test{" "function test {" "function test () {") :not ("function nottest {")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "shell" :regex "JJJ\\(\\)\\s*\\{" :tests ("test() {") :not ("testx() {")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "shell" :regex "\\bJJJ\\s*=\\s*" :tests ("test = 1234") :not ("blahtest = 1234")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "function\\s*JJJ\\s*\\(" :tests ("function test()" "function test ()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "\\*\\s@method\\s+[^ ]+\\s+JJJ\\(" :tests ("/** @method string|false test($a)" " * @method bool test()")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "(\\s|->|\\$|::)JJJ\\s*=\\s*" :tests ("$test = 1234" "$foo->test = 1234")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "\\*\\s@property(-read|-write)?\\s+([^ ]+\\s+)&?\\$JJJ(\\s+|$)" :tests ("/** @property string $test" "/** @property string $test description for $test property" " * @property-read bool|bool $test" " * @property-write \\ArrayObject $test")) (:type "trait" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "trait\\s*JJJ\\s*\\{" :tests ("trait test{" "trait test {")) (:type "interface" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "interface\\s*JJJ\\s*\\{" :tests ("interface test{" "interface test {")) (:type "class" :supports ("ag" "grep" "rg" "git-grep") :language "php" :regex "class\\s*JJJ\\s*(extends|implements|\\{)" :tests ("class test{" "class test {" "class test extends foo" "class test implements foo")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "dart" :regex "\\bJJJ\\s*\\([^()]*\\)\\s*[{]" :tests ("test(foo) {" "test (foo){" "test(foo){")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "dart" :regex "class\\s*JJJ\\s*[\\(\\{]" :tests ("class test(object) {" "class test{")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "faust" :regex "\\bJJJ(\\(.+\\))*\\s*=" :tests ("test = osc + 0.5;" "test(freq) = osc(freq) + 0.5;")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "fortran" :regex "\\s*\\bJJJ\\s*=[^=\\n]+" :tests ("test = 1234") :not ("if (test == 1234)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "fortran" :regex "\\b(function|subroutine|FUNCTION|SUBROUTINE)\\s+JJJ\\b\\s*\\(" :tests ("function test (foo)" "integer function test(foo)" "subroutine test (foo, bar)" "FUNCTION test (foo)" "INTEGER FUNCTION test(foo)" "SUBROUTINE test (foo, bar)") :not ("end function test" "end subroutine test" "END FUNCTION test" "END SUBROUTINE test")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "fortran" :regex "^\\s*(interface|INTERFACE)\\s+JJJ\\b" :tests ("interface test" "INTERFACE test") :not ("interface test2" "end interface test" "INTERFACE test2" "END INTERFACE test")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "fortran" :regex "^\\s*(module|MODULE)\\s+JJJ\\s*" :tests ("module test" "MODULE test") :not ("end module test" "END MODULE test")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "go" :regex "\\s*\\bJJJ\\s*=[^=\\n]+" :tests ("test = 1234") :not ("if test == 1234 {")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "go" :regex "\\s*\\bJJJ\\s*:=\\s*" :tests ("test := 1234")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "go" :regex "func\\s+\\([^\\)]*\\)\\s+JJJ\\s*\\(" :tests ("func (s *blah) test(filename string) string {")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "go" :regex "func\\s+JJJ\\s*\\(" :tests ("func test(url string) (string, error)")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "go" :regex "type\\s+JJJ\\s+struct\\s+\\{" :tests ("type test struct {")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "(service|factory)\\(['\"]JJJ['\"]" :tags ("angular") :tests ("module.factory('test', [\"$rootScope\", function($rootScope) {")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "\\bJJJ\\s*[=:]\\s*\\([^\\)]*\\)\\s+=>" :tags ("es6") :tests ("const test = (foo) => " "test: (foo) => {" " test: (foo) => {")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "\\bJJJ\\s*\\([^()]*\\)\\s*[{]" :tags ("es6") :tests ("test(foo) {" "test (foo){" "test(foo){") :not ("test = blah.then(function(){")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :tags ("es6") :regex "class\\s*JJJ\\s*[\\(\\{]" :tests ("class test(object) {" "class test{")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :tags ("es6") :regex "class\\s*JJJ\\s+extends" :tests ("class test extends Component{")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "\\s*\\bJJJ\\s*=[^=\\n]+" :tests ("test = 1234" "const test = props =>") :not ("if (test === 1234)")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "\\bfunction\\b[^\\(]*\\(\\s*[^\\)]*\\bJJJ\\b\\s*,?\\s*\\)?" :tests ("function (test)" "function (test, blah)" "function somefunc(test, blah) {" "function(blah, test)") :not ("function (testLen)" "function (test1, blah)" "function somefunc(testFirst, blah) {" "function(blah, testLast)" "function (Lentest)" "function (blahtest, blah)" "function somefunc(Firsttest, blah) {" "function(blah, Lasttest)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "function\\s*JJJ\\s*\\(" :tests ("function test()" "function test ()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "\\bJJJ\\s*:\\s*function\\s*\\(" :tests ("test: function()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "javascript" :regex "\\bJJJ\\s*=\\s*function\\s*\\(" :tests ("test = function()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "julia" :regex "(@noinline|@inline)?\\s*function\\s*JJJ(\\{[^\\}]*\\})?\\(" :tests ("function test()" "@inline function test()" "function test{T}(h)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "julia" :regex "(@noinline|@inline)?JJJ(\\{[^\\}]*\\})?\\([^\\)]*\\) *=" :tests ("test(a)=1" "test(a,b)=1*8" "@noinline test()=1" "test{T}(x)=x")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "julia" :regex "macro\\s*JJJ\\(" :tests ("macro test(a)=1" " macro test(a,b)=1*8")) (:type "variable" :supports ("ag" "rg") :language "julia" :regex "const\\s+JJJ\\b" :tests ("const test = ")) (:type "type" :supports ("ag" "rg") :language "julia" :regex "(mutable)?\\s*struct\\s*JJJ" :tests ("struct test")) (:type "type" :supports ("ag" "rg") :language "julia" :regex "(type|immutable|abstract)\\s*JJJ" :tests ("type test" "immutable test" "abstract test <:Testable")) (:type "module" :supports ("ag") :language "haskell" :regex "^module\\s+JJJ\\s+" :tests ("module Test (exportA, exportB) where")) (:type "top level function" :supports ("ag") :language "haskell" :regex "^\\bJJJ(?!(\\s+::))\\s+((.|\\s)*?)=\\s+" :tests ("test n = n * 2" "test X{..} (Y a b c) \n bcd \n =\n x * y" "test ab cd e@Datatype {..} (Another thing, inTheRow) = \n undefined" "test = runRealBasedMode @ext @ctx identity identity" "test unwrap wrap nr@Naoeu {..} (Action action, specSpecs) = \n undefined") :not ("nottest n = n * 2" "let testnot x y = x * y" "test $ y z" "let test a o = mda" "test :: Sometype -> AnotherType aoeu kek = undefined")) (:type "type-like" :supports ("ag") :language "haskell" :regex "^\\s*((data(\\s+family)?)|(newtype)|(type(\\s+family)?))\\s+JJJ\\s+" :tests ("newtype Test a = Something { b :: Kek }" "data Test a b = Somecase a | Othercase b" "type family Test (x :: *) (xs :: [*]) :: Nat where" "data family Test " "type Test = TestAlias") :not ("newtype NotTest a = NotTest (Not a)" "data TestNot b = Aoeu")) (:type "(data)type constructor 1" :supports ("ag") :language "haskell" :regex "(data|newtype)\\s{1,3}(?!JJJ\\s+)([^=]{1,40})=((\\s{0,3}JJJ\\s+)|([^=]{0,500}?((?\\s*)?JJJ\\s+" :tests ("class (Constr1 m, Constr 2) => Test (Kek a) where" "class Test (Veryovka a) where ") :not ("class Test2 (Kek a) where" "class MakeTest (AoeuTest x y z) where")) (:type "type" :supports ("ag" "rg") :language "ocaml" :regex "^\\s*(and|type)\\s+.*\\bJJJ\\b" :tests ("type test =" "and test =" "type 'a test =" "type ('a, _, 'c) test")) (:type "variable" :supports ("ag" "rg") :language "ocaml" :regex "let\\s+JJJ\\b" :tests ("let test =" "let test x y =")) (:type "variable" :supports ("ag" "rg") :language "ocaml" :regex "let\\s+rec\\s+JJJ\\b" :tests ("let rec test =" "let rec test x y =")) (:type "variable" :supports ("ag" "rg") :language "ocaml" :regex "\\s*val\\s*\\bJJJ\\b\\s*" :tests ("val test")) (:type "module" :supports ("ag" "rg") :language "ocaml" :regex "^\\s*module\\s*\\bJJJ\\b" :tests ("module test =")) (:type "module" :supports ("ag" "rg") :language "ocaml" :regex "^\\s*module\\s*type\\s*\\bJJJ\\b" :tests ("module type test =")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "lua" :regex "\\s*\\bJJJ\\s*=[^=\\n]+" :tests ("test = 1234") :not ("if test === 1234")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "lua" :regex "\\bfunction\\b[^\\(]*\\(\\s*[^\\)]*\\bJJJ\\b\\s*,?\\s*\\)?" :tests ("function (test)" "function (test, blah)" "function somefunc(test, blah)" "function(blah, test)") :not ("function (testLen)" "function (test1, blah)" "function somefunc(testFirst, blah)" "function(blah, testLast)" "function (Lentest)" "function (blahtest, blah)" "function somefunc(Firsttest, blah)" "function(blah, Lasttest)")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "lua" :regex "function\\s*JJJ\\s*\\(" :tests ("function test()" "function test ()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "lua" :regex "function\\s*.+[.:]JJJ\\s*\\(" :tests ("function MyClass.test()" "function MyClass.test ()" "function MyClass:test()" "function MyClass:test ()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "lua" :regex "\\bJJJ\\s*=\\s*function\\s*\\(" :tests ("test = function()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "lua" :regex "\\b.+\\.JJJ\\s*=\\s*function\\s*\\(" :tests ("MyClass.test = function()")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\blet\\s+(\\([^=\\n]*)?(mut +)?JJJ([^=\\n]*\\))?(:\\s*[^=\\n]+)?\\s*=\\s*[^=\\n]+" :tests ("let test = 1234;" "let test: u32 = 1234;" "let test: Vec = Vec::new();" "let mut test = 1234;" "let mut test: Vec = Vec::new();" "let (a, test, b) = (1, 2, 3);" "let (a, mut test, mut b) = (1, 2, 3);" "let (mut a, mut test): (u32, usize) = (1, 2);")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\bconst\\s+JJJ:\\s*[^=\\n]+\\s*=[^=\\n]+" :tests ("const test: u32 = 1234;")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\bstatic\\s+(mut\\s+)?JJJ:\\s*[^=\\n]+\\s*=[^=\\n]+" :tests ("static test: u32 = 1234;" "static mut test: u32 = 1234;")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\bfn\\s+.+\\s*\\((.+,\\s+)?JJJ:\\s*[^=\\n]+\\s*(,\\s*.+)*\\)" :tests ("fn abc(test: u32) -> u32 {" "fn abc(x: u32, y: u32, test: Vec, z: Vec)" "fn abc(x: u32, y: u32, test: &mut Vec, z: Vec)")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "(if|while)\\s+let\\s+([^=\\n]+)?(mut\\s+)?JJJ([^=\\n\\(]+)?\\s*=\\s*[^=\\n]+" :tests ("if let Some(test) = abc() {" "if let Some(mut test) = abc() {" "if let Ok(test) = abc() {" "if let Ok(mut test) = abc() {" "if let Foo(mut test) = foo {" "if let test = abc() {" "if let Some(test) = abc()" "if let Some((a, test, b)) = abc()" "while let Some(test) = abc() {" "while let Some(mut test) = abc() {" "while let Ok(test) = abc() {" "while let Ok(mut test) = abc() {") :not ("while let test(foo) = abc() {")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "struct\\s+[^\\n{]+[{][^}]*(\\s*JJJ\\s*:\\s*[^\\n},]+)[^}]*}" :tests ("struct Foo { abc: u32, test: Vec, b: PathBuf }" "struct Foo{test:Vec}" "struct FooBar<'a> { test: Vec }") :not ("struct Foo { abc: u32, b: Vec }" "/// ... construct the equivalent ...\nfn abc() {\n")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "enum\\s+[^\\n{]+\\s*[{][^}]*\\bJJJ\\b[^}]*}" :tests ("enum Foo { VariantA, test, VariantB(u32) }" "enum Foo { test(T) }" "enum BadStyle{test}" "enum Foo32 { Bar, testing, test(u8) }") :not ("enum Foo { testing }")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\bfn\\s+JJJ\\s*\\(" :tests ("fn test(asdf: u32)" "fn test()" "pub fn test()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\bmacro_rules!\\s+JJJ" :tests ("macro_rules! test")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "struct\\s+JJJ\\s*[{\\(]?" :tests ("struct test(u32, u32)" "struct test;" "struct test { abc: u32, def: Vec }")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "trait\\s+JJJ\\s*[{]?" :tests ("trait test;" "trait test { fn abc() -> u32; }")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "\\btype\\s+JJJ([^=\\n]+)?\\s*=[^=\\n]+;" :tests ("type test = Rc>;" "type test = Arc>>;")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "impl\\s+((\\w+::)*\\w+\\s+for\\s+)?(\\w+::)*JJJ\\s+[{]?" :tests ("impl test {" "impl abc::test {" "impl std::io::Read for test {" "impl std::io::Read for abc::test {")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "rust" :regex "mod\\s+JJJ\\s*[{]?" :tests ("mod test;" "pub mod test {")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "elixir" :regex "\\bdef(p)?\\s+JJJ\\s*[ ,\\(]" :tests ("def test do" "def test, do:" "def test() do" "def test(), do:" "def test(foo, bar) do" "def test(foo, bar), do:" "defp test do" "defp test(), do:")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "elixir" :regex "\\s*JJJ\\s*=[^=\\n]+" :tests ("test = 1234") :not ("if test == 1234")) (:type "module" :supports ("ag" "grep" "rg" "git-grep") :language "elixir" :regex "defmodule\\s+(\\w+\\.)*JJJ\\s+" :tests ("defmodule test do" "defmodule Foo.Bar.test do")) (:type "module" :supports ("ag" "grep" "rg" "git-grep") :language "elixir" :regex "defprotocol\\s+(\\w+\\.)*JJJ\\s+" :tests ("defprotocol test do" "defprotocol Foo.Bar.test do")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "erlang" :regex "^JJJ\\b\\s*\\(" :tests ("test() ->" "test()->" "test(Foo) ->" "test (Foo,Bar) ->" "test(Foo, Bar)->")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "erlang" :regex "\\s*JJJ\\s*=[^:=\\n]+" :tests ("test = 1234") :not ("if test =:= 1234" "if test == 1234")) (:type "module" :supports ("ag" "grep" "rg" "git-grep") :language "erlang" :regex "^-module\\(JJJ\\)" :tests ("-module(test).")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "scss" :regex "@mixin\\sJJJ\\b\\s*\\(" :tests ("@mixin test()")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "scss" :regex "@function\\sJJJ\\b\\s*\\(" :tests ("@function test()")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "scss" :regex "JJJ\\s*:\\s*" :tests ("test :")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "sml" :regex "\\s*(data)?type\\s+.*\\bJJJ\\b" :tests ("datatype test =" "datatype test=" "datatype 'a test =" "type test =" "type 'a test =" "type 'a test" "type test") :not ("datatypetest =")) (:type "variable" :supports ("ag" "grep" "rg" "git-grep") :language "sml" :regex "\\s*val\\s+\\bJJJ\\b" :tests ("val test =" "val test=" "val test : bool")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "sml" :regex "\\s*fun\\s+\\bJJJ\\b.*\\s*=" :tests ("fun test list =" "fun test (STRING_NIL, a) =" "fun test ((s1,s2): 'a queue) : 'a * 'a queue =" "fun test (var : q) : int =" "fun test f e xs =")) (:type "module" :supports ("ag" "grep" "rg" "git-grep") :language "sml" :regex "\\s*(structure|signature|functor)\\s+\\bJJJ\\b" :tests ("structure test =" "structure test : MYTEST =" "signature test =" "functor test (T:TEST) =" "functor test(T:TEST) =")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "sql" :regex "(CREATE|create)\\s+(.+?\\s+)?(FUNCTION|function|PROCEDURE|procedure)\\s+JJJ\\s*\\(" :tests ("CREATE FUNCTION test(i INT) RETURNS INT" "create or replace function test (int)" "CREATE PROCEDURE test (OUT p INT)" "create definer = 'test'@'localhost' procedure test()")) (:type "table" :supports ("ag" "grep" "rg" "git-grep") :language "sql" :regex "(CREATE|create)\\s+(.+?\\s+)?(TABLE|table)(\\s+(IF NOT EXISTS|if not exists))?\\s+JJJ\\b" :tests ("CREATE TABLE test (" "create temporary table if not exists test" "CREATE TABLE IF NOT EXISTS test (" "create global temporary table test")) (:type "view" :supports ("ag" "grep" "rg" "git-grep") :language "sql" :regex "(CREATE|create)\\s+(.+?\\s+)?(VIEW|view)\\s+JJJ\\b" :tests ("CREATE VIEW test (" "create sql security definer view test" "CREATE OR REPLACE VIEW test AS foo")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "sql" :regex "(CREATE|create)\\s+(.+?\\s+)?(TYPE|type)\\s+JJJ\\b" :tests ("CREATE TYPE test" "CREATE OR REPLACE TYPE test AS foo (" "create type test as (")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "systemverilog" :regex "\\s*class\\s+\\bJJJ\\b" :tests ("virtual class test;" "class test;" "class test extends some_class") :not ("virtual class testing;" "class test2;" "class some_test" "class some_class extends test")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "systemverilog" :regex "\\s*task\\s+\\bJJJ\\b" :tests ("task test (" "task test(") :not ("task testing (" "task test2(")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "systemverilog" :regex "\\s*\\bJJJ\\b\\s*=" :tests ("assign test =" "assign test=" "int test =" "int test=") :not ("assign testing =" "assign test2=")) (:type "function" :supports ("ag" "rg" "git-grep") :language "systemverilog" :regex "function\\s[^\\s]+\\s*\\bJJJ\\b" :tests ("function Matrix test ;" "function Matrix test;") :not ("function test blah")) (:type "function" :supports ("ag" "rg" "git-grep") :language "systemverilog" :regex "^\\s*[^\\s]*\\s*[^\\s]+\\s+\\bJJJ\\b" :tests ("some_class_name test" " another_class_name test ;" "some_class test[];" "some_class #(1) test") :not ("test some_class_name" "class some_class extends test")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "vhdl" :regex "\\s*type\\s+\\bJJJ\\b" :tests ("type test is" "type test is") :not ("type testing is" "type test2 is")) (:type "type" :supports ("ag" "grep" "rg" "git-grep") :language "vhdl" :regex "\\s*constant\\s+\\bJJJ\\b" :tests ("constant test :" "constant test:") :not ("constant testing " "constant test2:")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "vhdl" :regex "function\\s*\"?JJJ\"?\\s*\\(" :tests ("function test(signal)" "function test (signal)" "function \"test\" (signal)") :not ("function testing(signal")) (:type "command" :supports ("ag" "grep" "rg" "git-grep") :language "tex" :regex "\\\\.*newcommand\\*?\\s*\\{\\s*(\\\\)JJJ\\s*}" :tests ("\\newcommand{\\test}" "\\renewcommand{\\test}" "\\renewcommand*{\\test}" "\\newcommand*{\\test}" "\\renewcommand{ \\test }") :not ("\\test" "test")) (:type "command" :supports ("ag" "grep" "rg" "git-grep") :language "tex" :regex "\\\\.*newcommand\\*?\\s*(\\\\)JJJ\\j" :tests ("\\newcommand\\test {}" "\\renewcommand\\test{}" "\\newcommand \\test") :not ("\\test" "test")) (:type "length" :supports ("ag" "grep" "rg" "git-grep") :language "tex" :regex "\\\\(s)etlength\\s*\\{\\s*(\\\\)JJJ\\s*}" :tests ("\\setlength { \\test}" "\\setlength{\\test}" "\\setlength{\\test}{morecommands}") :not ("\\test" "test")) (:type "counter" :supports ("ag" "grep" "rg" "git-grep") :language "tex" :regex "\\\\newcounter\\{\\s*JJJ\\s*}" :tests ("\\newcounter{test}") :not ("\\test" "test")) (:type "environment" :supports ("ag" "grep" "rg" "git-grep") :language "tex" :regex "\\\\.*newenvironment\\s*\\{\\s*JJJ\\s*}" :tests ("\\newenvironment{test}" "\\newenvironment {test}{morecommands}" "\\lstnewenvironment{test}" "\\newenvironment {test}") :not ("\\test" "test")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "pascal" :regex "\\bfunction\\s+JJJ\\b" :tests (" function test : ")) (:type "function" :supports ("ag" "grep" "rg" "git-grep") :language "pascal" :regex "\\bprocedure\\s+JJJ\\b" :tests (" procedure test ; ")) (:type "variable" :supports ("ag" "grep" "git-grep") :language "fsharp" :regex "let\\s+JJJ\\b.*\\=" :tests ("let test = 1234" "let test() = 1234" "let test abc def = 1234") :not ("let testnot = 1234" "let testnot() = 1234" "let testnot abc def = 1234")) (:type "interface" :supports ("ag" "grep" "git-grep") :language "fsharp" :regex "member(\\b.+\\.|\\s+)JJJ\\b.*\\=" :tests ("member test = 1234" "member this.test = 1234") :not ("member testnot = 1234" "member this.testnot = 1234")) (:type "type" :supports ("ag" "grep" "git-grep") :language "fsharp" :regex "type\\s+JJJ\\b.*\\=" :tests ("type test = 1234") :not ("type testnot = 1234")))] 1] "List of regex patttern templates organized by language and type to use for generating the grep command." (repeat (plist :options ((:type string) (:supports string) (:language string) (:regex string) (:tests (repeat string)) (:not (repeat string))))) dumb-jump-language-file-exts #[0 "\300\207" [((:language "elisp" :ext "el" :agtype "elisp" :rgtype "elisp") (:language "elisp" :ext "el.gz" :agtype "elisp" :rgtype "elisp") (:language "commonlisp" :ext "lisp" :agtype "lisp" :rgtype "lisp") (:language "commonlisp" :ext "lsp" :agtype "lisp" :rgtype "lisp") (:language "c++" :ext "c" :agtype "cc" :rgtype "c") (:language "c++" :ext "h" :agtype "cc" :rgtype "c") (:language "c++" :ext "C" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "H" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "tpp" :agtype "cpp" :rgtype nil) (:language "c++" :ext "cpp" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "hpp" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "cxx" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "hxx" :agtype "cpp" :rgtype nil) (:language "c++" :ext "cc" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "hh" :agtype "cpp" :rgtype "cpp") (:language "c++" :ext "c++" :agtype nil :rgtype nil) (:language "c++" :ext "h++" :agtype nil :rgtype nil) (:language "coq" :ext "v" :agtype nil :rgtype nil) (:language "ocaml" :ext "ml" :agtype "ocaml" :rgtype "ocaml") (:language "ocaml" :ext "mli" :agtype "ocaml" :rgtype "ocaml") (:language "ocaml" :ext "mll" :agtype "ocaml" :rgtype "ocaml") (:language "ocaml" :ext "mly" :agtype "ocaml" :rgtype "ocaml") (:language "groovy" :ext "gradle" :agtype nil :rgtype nil) (:language "groovy" :ext "groovy" :agtype nil :rgtype nil) (:language "groovy" :ext "jenkinsfile" :agtype nil :rgtype nil) (:language "haskell" :ext "hs" :agtype "haskell" :rgtype "haskell") (:language "haskell" :ext "lhs" :agtype "haskell" :rgtype "haskell") (:language "objc" :ext "m" :agtype "objc" :rgtype "objc") (:language "csharp" :ext "cs" :agtype "csharp" :rgtype "csharp") (:language "java" :ext "java" :agtype "java" :rgtype "java") (:language "vala" :ext "vala" :agtype "vala" :rgtype "vala") (:language "vala" :ext "vapi" :agtype "vala" :rgtype "vala") (:language "julia" :ext "jl" :agtype "julia" :rgtype "julia") (:language "clojure" :ext "clj" :agtype "clojure" :rgtype "clojure") (:language "clojure" :ext "cljc" :agtype "clojure" :rgtype "clojure") (:language "clojure" :ext "cljs" :agtype "clojure" :rgtype "clojure") (:language "clojure" :ext "cljx" :agtype "clojure" :rgtype "clojure") (:language "coffeescript" :ext "coffee" :agtype "coffee" :rgtype "coffeescript") (:language "faust" :ext "dsp" :agtype nil :rgtype nil) (:language "faust" :ext "lib" :agtype nil :rgtype nil) (:language "fortran" :ext "f" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "f77" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "f90" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "f95" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "F77" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "F90" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "F95" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "f03" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "for" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "ftn" :agtype "fortran" :rgtype "fortran") (:language "fortran" :ext "fpp" :agtype "fortran" :rgtype "fortran") (:language "go" :ext "go" :agtype "go" :rgtype "go") (:language "javascript" :ext "js" :agtype "js" :rgtype "js") (:language "javascript" :ext "jsx" :agtype "js" :rgtype "js") (:language "javascript" :ext "vue" :agtype "js" :rgtype "js") (:language "javascript" :ext "html" :agtype "html" :rgtype "html") (:language "javascript" :ext "css" :agtype "css" :rgtype "css") (:language "dart" :ext "dart" :agtype nil :rgtype "dart") (:language "lua" :ext "lua" :agtype "lua" :rgtype "lua") (:language "matlab" :ext "m" :agtype "matlab" :rgtype "matlab") (:language "nim" :ext "nim" :agtype "nim" :rgtype "nim") (:language "nix" :ext "nix" :agtype "nix" :rgtype "nix") (:language "org" :ext "org" :agtype nil :rgtype "org") (:language "perl" :ext "pl" :agtype "perl" :rgtype "perl") (:language "perl" :ext "pm" :agtype "perl" :rgtype "perl") (:language "perl" :ext "pm6" :agtype "perl" :rgtype nil) (:language "perl" :ext "perl" :agtype nil :rgtype "perl") (:language "perl" :ext "plh" :agtype nil :rgtype "perl") (:language "perl" :ext "plx" :agtype nil :rgtype "perl") (:language "perl" :ext "pod" :agtype "perl" :rgtype "pod") (:language "perl" :ext "t" :agtype "perl" :rgtype nil) (:language "php" :ext "php" :agtype "php" :rgtype "php") (:language "php" :ext "php3" :agtype "php" :rgtype "php") (:language "php" :ext "php4" :agtype "php" :rgtype "php") (:language "php" :ext "php5" :agtype "php" :rgtype "php") (:language "php" :ext "phtml" :agtype "php" :rgtype "php") (:language "php" :ext "inc" :agtype "php" :rgtype nil) (:language "python" :ext "py" :agtype "python" :rgtype "py") (:language "r" :ext "R" :agtype "r" :rgtype "r") (:language "r" :ext "r" :agtype "r" :rgtype "r") (:language "r" :ext "Rmd" :agtype "r" :rgtype "r") (:language "r" :ext "Rnw" :agtype "r" :rgtype "r") (:language "r" :ext "Rtex" :agtype "r" :rgtype nil) (:language "r" :ext "Rrst" :agtype "r" :rgtype nil) (:language "crystal" :ext "cr" :agtype "crystal" :rgtype "crystal") (:language "crystal" :ext "ecr" :agtype "crystal" :rgtype nil) (:language "ruby" :ext "rb" :agtype "ruby" :rgtype "ruby") (:language "ruby" :ext "erb" :agtype "ruby" :rgtype nil) (:language "ruby" :ext "haml" :agtype "ruby" :rgtype nil) (:language "ruby" :ext "rake" :agtype "ruby" :rgtype nil) (:language "ruby" :ext "slim" :agtype "ruby" :rgtype nil) (:language "rust" :ext "rs" :agtype "rust" :rgtype "rust") (:language "scala" :ext "scala" :agtype "scala" :rgtype "scala") (:language "scheme" :ext "scm" :agtype "scheme" :rgtype "lisp") (:language "scheme" :ext "ss" :agtype "scheme" :rgtype "lisp") (:language "scheme" :ext "sld" :agtype "scheme" :rgtype "lisp") (:language "shell" :ext "sh" :agtype nil :rgtype nil) (:language "shell" :ext "bash" :agtype nil :rgtype nil) (:language "shell" :ext "csh" :agtype nil :rgtype nil) (:language "shell" :ext "ksh" :agtype nil :rgtype nil) (:language "shell" :ext "tcsh" :agtype nil :rgtype nil) (:language "sml" :ext "sml" :agtype "sml" :rgtype "sml") (:language "sql" :ext "sql" :agtype "sql" :rgtype "sql") (:language "swift" :ext "swift" :agtype nil :rgtype "swift") (:language "tex" :ext "tex" :agtype "tex" :rgtype "tex") (:language "elixir" :ext "ex" :agtype "elixir" :rgtype "elixir") (:language "elixir" :ext "exs" :agtype "elixir" :rgtype "elixir") (:language "elixir" :ext "eex" :agtype "elixir" :rgtype "elixir") (:language "erlang" :ext "erl" :agtype "erlang" :rgtype "erlang") (:language "systemverilog" :ext "sv" :agtype "verilog" :rgtype "verilog") (:language "systemverilog" :ext "svh" :agtype "verilog" :rgtype "verilog") (:language "vhdl" :ext "vhd" :agtype "vhdl" :rgtype "vhdl") (:language "vhdl" :ext "vhdl" :agtype "vhdl" :rgtype "vhdl") (:language "scss" :ext "scss" :agtype "css" :rgtype "css") (:language "pascal" :ext "pas" :agtype "delphi" :rgtype nil) (:language "pascal" :ext "dpr" :agtype "delphi" :rgtype nil) (:language "pascal" :ext "int" :agtype "delphi" :rgtype nil) (:language "pascal" :ext "dfm" :agtype "delphi" :rgtype nil) (:language "fsharp" :ext "fs" :agtype "fsharp" :rgtype nil) (:language "fsharp" :ext "fsi" :agtype "fsharp" :rgtype nil) (:language "fsharp" :ext "fsx" :agtype "fsharp" :rgtype nil))] 1] "Mapping of programming language(s) to file extensions." (repeat (plist :options ((:language (string :tag "Language")) (:ext (string :tag "Extension")) (:agtype (string :tag "Ag type")) (:rgtype (string :tag "Ripgrep type"))))) dumb-jump-language-contexts #[0 "\300\207" [((:language "javascript" :type "function" :right "^(" :left nil) (:language "javascript" :type "variable" :right nil :left "($") (:language "javascript" :type "variable" :right "^)" :left "($") (:language "javascript" :type "variable" :right "^\\." :left nil) (:language "javascript" :type "variable" :right "^;" :left nil) (:language "perl" :type "function" :right "^(" :left nil) (:language "elisp" :type "function" :right nil :left "($") (:language "elisp" :type "variable" :right "^)" :left nil) (:language "scheme" :type "function" :right nil :left "($") (:language "scheme" :type "variable" :right "^)" :left nil))] 1] "List of under points contexts for each language.\nThis helps limit the number of regular expressions we use\nif we know that if there's a '(' immediately to the right of\na symbol then it's probably a function call" (repeat (plist :options ((:language (string :tag "Language")) (:type (choice (const "function") (const "variable"))) (:left (choice (const :tag "Anything" nil) (string :tag "Regular expression"))) (:right (choice (const :tag "Anything" nil) (string :tag "Regular expression")))))) dumb-jump-project-denoters #[0 "\300\207" [(".dumbjump" ".projectile" ".git" ".hg" ".fslckout" ".bzr" "_darcs" ".svn" "Makefile" "PkgInfo" "-pkg.el")] 1] "Files and directories that signify a directory is a project root." (repeat (string :tag "Name")) dumb-jump-default-project #[0 "\300\207" [#16="~"] 1 #16#] "The default project to search within if a project root is not found." dumb-jump-project #[0 "\300\207" [nil] 1] "The project to search within if normal denoters will not work. This should only be needed in the rarest of cases." dumb-jump-after-jump-hook #[0 "\300\207" [nil] 1] "Hooks called after jumping." hook dumb-jump-aggressive #[0 "\300\207" [nil] 1] "If `t` jump aggressively with the possiblity of a false positive.\nIf `nil` always show list of more than 1 match." dumb-jump-debug #[0 "\300\207" [nil] 1] "If `t` will print helpful debug information." dumb-jump-confirm-jump-to-modified-file #[0 "\300\207" [t] 1] "If t, confirm before jumping to a modified file (which may lead to an\ninaccurate jump). If nil, jump without confirmation but print a warning."] 10) #@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 (#$ . 59818)]) (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 (#$ . 60082)]) (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 (#$ . 60394)]) (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=\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 (#$ . 60704)]) (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 (#$ . 61139)]) (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 (#$ . 61463)]) #@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\2033\2043\211\211TO\307\"\211\204*\310\262\266\202\nS\262\266\202\nT\207" [tab-width nil s-replace " " s-repeat " " 0 s-index-of t] 9 (#$ . 61862)]) #@60 Use TEST as the standard input for the CMD. (fn TEST CMD) (defalias 'dumb-jump-run-test #[514 "\300\301\302\"r\211q\210\303\304\"\216c\210\305ed\306\302%\210\307ed\"*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] shell-command-on-region nil buffer-substring-no-properties] 9 (#$ . 62216)]) #@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\302\"r\211q\210\303\304\"\216c\210\305\306\"\210ed|\210\307\302\"\210\310!\210\311ed\"*\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] write-file nil shell-command delete-file buffer-substring-no-properties] 7 (#$ . 62588)]) #@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\302P#\207" [dumb-jump-run-test-temp-file ".git.grep.test" " .git.grep.test"] 7 (#$ . 63045)]) #@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\302P#\207" [dumb-jump-run-test-temp-file ".ag.test" " .ag.test"] 7 (#$ . 63351)]) #@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\311\211\203=\211A\262\242\262\262T\262\313\314\315\"\235\203B\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-closure #[257 "\303\304\305\300\301\302%\306\300\203\307\202\310\"\"\207" [V0 V1 V2 -mapcat make-closure #[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" [V0 V1 V2 V3 "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] 8 "\n\n(fn RULE)"] nil 0 "grep" plist-get :supports] 14 (#$ . 63697)]) #@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\305\211\2030\211A\262\242\262\262T\262\307\310\311\"\235\203\fB\262\202\f\266\211\237\262\"\207" [dumb-jump-find-rules "ag FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" -mapcat make-closure #[257 "\302\303\304\300\301$\305\300\203\306\202\307\"\"\207" [V0 V1 -mapcat make-closure #[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" [V0 V1 V2 "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] 7 "\n\n(fn RULE)"] nil 0 "ag" plist-get :supports] 13 (#$ . 64812)]) #@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\305\211\2030\211A\262\242\262\262T\262\307\310\311\"\235\203\fB\262\202\f\266\211\237\262\"\207" [dumb-jump-find-rules "rg FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" -mapcat make-closure #[257 "\302\303\304\300\301$\305\300\203\306\202\307\"\"\207" [V0 V1 -mapcat make-closure #[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" [V0 V1 V2 "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] 7 "\n\n(fn RULE)"] nil 0 "rg" plist-get :supports] 13 (#$ . 65817)]) #@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\305\211\2030\211A\262\242\262\262T\262\307\310\311\"\235\203\fB\262\202\f\266\211\237\262\"\207" [dumb-jump-find-rules "rg FAILURE '%s' %s in response '%s' | CMD: '%s' | rule: '%s'" -mapcat make-closure #[257 "\302\303\304\300\301$\305\300\203\306\202\307\"\"\207" [V0 V1 -mapcat make-closure #[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" [V0 V1 V2 "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] 7 "\n\n(fn RULE)"] nil 0 "grep" plist-get :supports] 13 (#$ . 66826)]) #@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 (#$ . 67865)]) #@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 (#$ . 68084)]) #@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\"\"\211\205\2118\211\205\303!\207" [-find-index make-closure #[257 "\300\230\207" [V0] 3 "\n\n(fn IT)"] dumb-jump-result-follow] 7 (#$ . 68367)]) #@187 Previews CANDIDATE in a temporary buffer displaying the file at the matched line. \ 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 (#$ . 68689)]) #@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 (#$ . 69274)]) #@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 (#$ . 69498)]) #@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=\203\306\307!\203 #\207\310=\203:\306\310!\203:\310\311\312\313\314\315\316\317\n\"\320\321&\322\323$\207\324\325!#\207" [dumb-jump-selector dumb-jump-ivy-jump-to-selected-function mapcar make-closure #[257 "\301\300\"\207" [V0 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 (#$ . 69799)]) #@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 (#$ . 70590)]) #@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\"!?\205;\304\305\304\211\2034\211A\262\242\262\262T\262\301\302\"!\203B\262\202\266\211\237\262@\207" [dumb-jump-project-denoters f-exists\? f-join ".dumbjumpignore" nil 0] 10 (#$ . 70915)]) #@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\207\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 (#$ . 71354)]) #@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 (#$ . 71830)]) #@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 (#$ . 72000)]) #@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\304\211\203;\211A\262\242\262\262T\262\301\306\307\310\"P\"\203B\262\202\266\211\237\262\211\205J\307@\311\"\207" [dumb-jump-language-file-exts s-ends-with\? ".gz" f-no-ext nil 0 "." plist-get :ext :language] 12 (#$ . 72282)]) #@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 (#$ . 72689)]) #@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 (#$ . 72978)]) #@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 (#$ . 73615)]) #@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 (#$ . 74008)]) #@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 (#$ . 74381)]) #@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 (#$ . 74893)]) #@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 (#$ . 75080)]) #@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\302\211\2035\211A\262\242\262\262T\262\304\305\306\307\"\310Q\"\203\fB\262\202\f\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)"]] 12 (#$ . 75380)]) #@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\332\333\336\"\"!\337\340\204\265\341\202\267\342\343\204\304\341\202\306\344 \345!\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-closure #[257 "\310\303\306\301\307\300\302\304\305& \207" [V0 V1 V2 V3 V4 V5 V6 V7 dumb-jump-run-command] 11 "\n\n(fn IT)"] delete-dups #[257 "\301\302\300#\207" [V0 plist-put :target] 5 "\n\n(fn IT)"] :results :lang "" :symbol :ctx-type :file :root] 36 (#$ . 75858)]) #@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 (#$ . 77364) 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 (#$ . 77646) 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 (#$ . 77836) 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 (#$ . 78037) 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 (#$ . 78211) 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 (#$ . 78393) 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 (#$ . 78608) 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\2038\311\312\313!$\207\314\267\202F\311\315!\207\311\316!\207\317\320\"\203R\311\321\"\207\211\322U\203b\323@#\207\211\322V\203\200\324\303 \325\"\303 \326\" &\207\211\327U\205\233\311\330\331!\203\224\332\202\225\303 \326\"$\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 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nogrep 62 nosymbol 66)) "Please install ag, rg, git grep or grep!" "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 (#$ . 78856) "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 "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"))] 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\302\211\203+\211A\262\242\262\262T\262\304\305\"\230\203B\262\202\266\211\237\262!\211G\306U\205>\304@\307\"\207" [dumb-jump-language-comments -distinct nil 0 plist-get :language 1 :comment] 10 (#$ . 81702)]) #@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\203=\301\302\303\302\211\2035\211A\262\242\262\262T\262\304\305\306\307\"!\"\204 B\262\202 \266\211\237\262!\207\207" [dumb-jump-get-comment-by-language -concat nil 0 s-starts-with\? s-trim plist-get :context] 15 (#$ . 82066)]) #@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\311\211\203\213\211A\262\242\262\262T\262\313\314\"\312V\203S\313\315\"\230\204\203\313\315\"\230\203SB\262\202S\266\211\237\262\311\312\311\211\203\316\211A\262\242\262\262T\262\313\314\"\312X\203\226\313\315\"\230\204\306\313\315\"\230\203\226B\262\202\226\266\211\237\262\304\316\311\312\311\211\203 \211A\262\242\262\262T\262\313\315\"\230\204\334\313\315\" \230\204\334B\262\202\334\266\211\237\262\"#\202\217\310\304\317\311\312\311\211\203M\211A\262\242\262\262T\262\313\315\"\230\204\313\315\" \230\204B\262\202\266\211\237\262\"\311\312\311\211\203\210\211A\262\242\262\262T\262\313\315\"\230\204\200\313\315\"\230\203YB\262\202Y\266\211\237\262\"\204\243\320\321\322 \"\322\"\"!\202\244\211\211@ \204\261G\323U\205\307G\323U\204\306\n\324\230\204\306\n\325\230\205\307\211\n\203\347\326\327\f\330 !\330! & \210 \203\370\331\332\333\334\"\"!\207\211\203\335 #\207\336 \"\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-closure #[257 "\301\300\"\207" [V0 dumb-jump--format-result] 4 "\n\n(fn IT)"] dumb-jump-result-follow dumb-jump-prompt-user-for-choice] 27 (#$ . 82504)]) #@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\307\211\203?\211A\262\242\262\262T\262\311\312\"\203B\262\202\266\211\237\262\307\310\307\211\203l\211A\262\242\262\262T\262\311\313\"\203JB\262\202J\266\211\237\262\314!\203\202\315\316 !!\202\204\317\320\321\"\"\317\320\322\"\"\323\324\325\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-closure #[257 "\211\301\302O\303\304\"\203\211\301\302O\202\211\305\300\"\207" [V0 1 nil s-starts-with\? "/" f-join] 6 "\n\n(fn F)"] #[257 "\211\301\302O\303\304\"\203\f\207\305\300\"\207" [V0 1 nil s-starts-with\? "/" f-join] 5 "\n\n(fn F)"] :exclude :include :language] 17 (#$ . 85252)]) #@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\300\211\2035\211A\262\242\262\262T\262\303!\203\304!\203\305\304!!\203B\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)"]] 9 (#$ . 86252)]) #@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#\207\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 (#$ . 86698)]) #@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 (#$ . 87409)]) #@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!\266\202?\n\312=\203:\313!\266\202?\314!\266eb\210Sy\210\211u\210\3151R\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 (#$ . 88044)]) #@47 Return the PATH's RESULTS. (fn PATH RESULTS) (defalias 'dumb-jump-current-file-results #[514 "\300\301\300\211\203*\211A\262\242\262\262T\262\302\303\"\230\203B\262\202\266\211\237\207" [nil 0 plist-get :path] 11 (#$ . 88708)]) #@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\267\202N\301\302\303\304\305\306\307\257\207\301\310\303\311\305\312\307\257\207\301\310\303\313\305\314\307\257\207\301\315\303\316\305\317\307\257\207\301\320\303\321\305\322\307\257\207\301\320\303\323\305\322\307\257\207\324\207" [#s(hash-table size 6 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (git-grep 6 ag 18 git-grep-plus-ag 30 rg 42 gnu-grep 54 grep 66)) :parse dumb-jump-parse-git-grep-response :generate dumb-jump-generate-git-grep-command :installed dumb-jump-git-grep-installed\? :searcher dumb-jump-parse-ag-response dumb-jump-generate-ag-command dumb-jump-ag-installed\? dumb-jump-generate-git-grep-plus-ag-command dumb-jump-git-grep-plus-ag-installed\? dumb-jump-parse-rg-response dumb-jump-generate-rg-command dumb-jump-rg-installed\? dumb-jump-parse-grep-response dumb-jump-generate-gnu-grep-command dumb-jump-grep-installed\? dumb-jump-generate-grep-command nil] 9 (#$ . 88965)]) #@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 (#$ . 90123)]) #@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\207\211\307\230\203 \310\207 \207" [shell-file-name shell-command-switch file-name-base "zsh" "csh" "tcsh" "-icf" "bash" "-c"] 3 (#$ . 90698)]) #@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\240#\316\317\316\211\203\230\211A\262\242\262\262T\262\320\321\322\"\"\203rB\262\202r\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] 23 (#$ . 91109)]) #@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\300\211\203)\211A\262\242\262\262T\262\304\230\204B\262\202\266\211\237\262\305\306\"\305\307\"\203<\300\207\205`\211\205`G\310U\203W\311@!A@A@E\207\311!A@@E\207" [nil s-split "\\(?:^\\|:\\)[0-9]+:" 0 "" s-match "\\(?:^\\|:\\)\\([0-9]+\\):" ":[0-9]+:$" 2 f-join] 9 (#$ . 92303)]) #@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\306\211\203B\211A\262\242\262\262T\262\310\311\" \230\203:\310\312\"U\204B\262\202\266\211\237\207" [apply append mapcar make-closure #[257 "\211\205\301A@!\300Z\302@\303\304\3058\306\257C\266\202\207" [V0 string-to-number :path :line :context 2 :diff] 11 "\n\n(fn IT)"] -non-nil nil 0 plist-get :path :line] 13 (#$ . 92807)]) #@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\300\211\2034\211A\262\242\262\262T\262\305\306\"\204 \307\310\"\204 B\262\202 \266\211\237\262\311\312\313\"\"\314#\207" [nil s-split "\n" s-trim 0 s-starts-with\? "grep:" s-contains\? "No such file or" mapcar make-closure #[257 "\301\300\"\207" [V0 dumb-jump-parse-response-line] 4 "\n\n(fn IT)"] dumb-jump-parse-response-lines] 11 (#$ . 93418)]) #@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#\207" [s-split "\n" s-trim mapcar make-closure #[257 "\301\300\"\207" [V0 dumb-jump-parse-response-line] 4 "\n\n(fn IT)"] dumb-jump-parse-response-lines] 9 (#$ . 93965)]) #@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#\207" [s-split "\n" s-trim mapcar make-closure #[257 "\301\300\"\207" [V0 dumb-jump-parse-response-line] 4 "\n\n(fn IT)"] dumb-jump-parse-response-lines] 9 (#$ . 94323)]) #@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#\207" [s-split "\n" s-trim mapcar make-closure #[257 "\301\300\"\207" [V0 dumb-jump-parse-response-line] 4 "\n\n(fn IT)"] dumb-jump-parse-response-lines] 9 (#$ . 94681)]) #@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 (#$ . 95051)]) #@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\301\211\203*\211A\262\242\262\262T\262\303\304\"\230\203B\262\202\266\211\237\262\211G\302V\205\207\301\302\301\211\203\201\211A\262\242\262\262T\262\303\305\"\203d\306\303\305\"\303 \305\"\"\203<\303\307\"\203y\306\303\307\"\303 \307\"\"\203<B\262\202<\266\211\237\262\301\302\301\211\203\272\211A\262\242\262\262T\262\303\310\"\205\256\303@\310\"\230\203\214B\262\202\214\266\211\237\262GGU\205\321\211\205\321\303@\310\"\207" [dumb-jump-language-contexts nil 0 plist-get :language :left dumb-jump-re-match :right :type] 13 (#$ . 95233)]) #@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 (#$ . 96009)]) #@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#\207\304\207" [s-join format " %s " " %s %s " ""] 7 (#$ . 96331)]) #@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\203A\302\303\302\211\2038\211A\262\242\262\262T\262\304\305\"\230\203B\262\202\266\211\237\262\202B\211\206G\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)"]] 13 (#$ . 96583)]) #@69 Populate IT regex template with LOOK-FOR. (fn IT LOOK-FOR VARIANT) (defalias 'dumb-jump-populate-regex #[771 "\211\304\267\202\202 \202 \202\n\202 \305\306#\262\307=\203,\305\310\311#\262\305\312\313!#\262\314=\203K\315\316\"\203K\317\320\321OP\262\207" [dumb-jump-rg-word-boundary dumb-jump-ag-word-boundary dumb-jump-git-grep-word-boundary dumb-jump-grep-word-boundary #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (rg 6 ag 10 git-grep-plus-ag 14 git-grep 18)) s-replace "\\j" gnu-grep "\\s" "[[:space:]]" "JJJ" regexp-quote rg string-prefix-p "-" "[-]" 1 nil] 9 (#$ . 97097)]) #@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#\"\207" [mapcar make-closure #[257 "\302\300\301#\207" [V0 V1 dumb-jump-populate-regex] 5 "\n\n(fn IT)"]] 8 (#$ . 97753)]) #@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 \"\203\311\202\312\313 !?\205&\314 P\315\312\316\317 \"\"\260\320\321\316\322\323\"\"\"\324\315\325\"!G\326U\203M\312\207\327 $\207" [dumb-jump-ag-cmd dumb-jump-ag-search-args dumb-jump-populate-regexes ag dumb-jump-get-ag-type-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)"] dumb-jump-arg-joiner "--ignore-dir" make-closure #[257 "\301\302\300\303#!\207" [V0 shell-quote-argument s-replace #1#] 6 "\n\n(fn IT)"] shell-quote-argument "|" 0 dumb-jump-concat-command] 18 (#$ . 98052)]) #@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\302\"!\207" [first s-split ":"] 5 "\n\n(fn IT)"] s-split "\n"] 9 (#$ . 98924)]) #@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\"\"\"\"\207" [format "'(%s)'" s-join "|" mapcar make-closure #[257 "\301\300\"\207" [V0 f-join] 4 "\n\n(fn IT)"]] 10 (#$ . 99357)]) #@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 (#$ . 99675)]) #@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\"!G\324U\203?\311\207\325 $\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-closure #[257 "\301\302\300\303#!\207" [V0 shell-quote-argument s-replace #1#] 6 "\n\n(fn IT)"] shell-quote-argument s-join "|" 0 dumb-jump-concat-command] 17 (#$ . 100001)]) #@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\311\322\"!G\323U\203?\312\207\324 $\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-closure #[257 "\301\302\303\300\304#P!\207" [V0 shell-quote-argument "!" s-replace #1#] 7 "\n\n(fn IT)"] shell-quote-argument "|" 0 dumb-jump-concat-command] 17 (#$ . 100869)]) #@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 \"\"\"\314\312\315\320\"\"\321\314\322\"!G\323U\203H\324\207\325\326%\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-closure #[257 "\301\302\303\300#!\207" [V0 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 (#$ . 101698)]) #@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\207\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 (#$ . 102602)]) #@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\316\317\"G\320U\2032\312\207\321\f\312\211\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] 16 (#$ . 103300)]) #@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\304\211\203+\211A\262\242\262\262T\262G\305V\203 B\262\202 \266\211\237\262\"\"\207" [s-join " " -map s-trim nil 0] 12 (#$ . 103955)]) #@63 Return list of file extensions for a LANGUAGE. (fn LANGUAGE) (defalias 'dumb-jump-get-file-exts-by-language #[257 "\301\302\303\304\303\211\203,\211A\262\242\262\262T\262\305\306\"\230\203B\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] 11 (#$ . 104257)]) #@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\304\211\2034\211A\262\242\262\262T\262\306\307\"\203\306\310\" \230\203B\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] 12 (#$ . 104648)]) #@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\304\211\2034\211A\262\242\262\262T\262\306\307\"\203\306\310\" \230\203B\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] 12 (#$ . 105081)]) #@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\304\211\2034\211A\262\242\262\262T\262\306\307\"\203\306\310\" \230\203B\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] 12 (#$ . 105514)]) #@78 Return a list of rules for the LANGUAGE by SEARCHER. (fn LANGUAGE SEARCHER) (defalias 'dumb-jump-get-rules-by-language #[514 "\211\302\267\202\303\202\304\202\305\202\305\202\306\307\310\307\211\203J\211A\262\242\262\262T\262\311\312\"\230\203\311\313\"\235\203B\262\202\266\211\237\262 \203\202\307\310\307\211\203}\211A\262\242\262\262T\262\311\314\"\315\230\203YB\262\202Y\266\211\237\207\207" [dumb-jump-find-rules dumb-jump-functions-only #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (git-grep 6 rg 10 ag 14 git-grep-plus-ag 18)) "git-grep" "rg" "ag" "grep" nil 0 plist-get :language :supports :type "function"] 12 (#$ . 105953)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \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 :type boolean] 10) #@630 Minor mode for jumping to variable and function definitions This is a minor mode. If called interactively, toggle the `Dumb-Jump mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `(default-value 'dumb-jump-mode)'. The mode's hook is called both when the mode is enabled and when it is disabled. (fn &optional ARG) (defalias 'dumb-jump-mode #[256 "\301 \302\303\304=\203\305\303!?\202!\247\203 \306W\203 \307\202!\310\"\210\311\300!\2038\312\303\"\305\303!\2038\303B\313\314\305\303!\203D\315\202E\316\"\210\317\320!\203m\321\303!\210\301 \203]\211\301 \232\203m\322\323\305\303!\203i\324\202j\325\326#\210\210\327 \210\305\303!\207" [global-minor-modes current-message set-default dumb-jump-mode toggle default-value 1 nil t boundp delq 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] 6 (#$ . 107039) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar dumb-jump-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\310\310\211%\210\313\314!\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.)" custom-type hook standard-value nil add-minor-mode dumb-jump-mode provide dumb-jump] 6)