;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\300\306!\210\307\310\311\312\313\302%\210\314\315\316\317\320DD\321\313\310\322\323&\210\314\324\316\317\325DD\326\313\310\322\317&\210\314\327\316\317\330DD\331\322\332\313\310&\210\314\333\316\317\334DD\335\322\336\313\310&\210\314\337\316\317\340DD\341\313\342\322\343&\210\314\344\316\317\345DD\346\313\310\322\347&\207" [require cl-lib helm helm-lib imenu helm-utils helm-help custom-declare-group helm-imenu nil "Imenu related libraries and applications for Helm." :group custom-declare-variable helm-imenu-delimiter funcall function #[0 "\300\207" [#1=" / "] 1 #1#] "Delimit types of candidates and their value in `helm-buffer'." :type string helm-imenu-execute-action-at-once-if-one #[0 "\300\207" [helm-imenu--execute-action-at-once-p] 1] "Goto the candidate when only one is remaining." helm-imenu-all-buffer-assoc #[0 "\300\207" [nil] 1] "Major mode association alist for `helm-imenu-in-all-buffers'.\nAllow `helm-imenu-in-all-buffers' searching in these associated\nbuffers even if they are not derived from each other. The alist\nis bidirectional, i.e. no need to add '((foo . bar) (bar . foo)),\nonly '((foo . bar)) is needed." (alist :key-type symbol :value-type symbol) helm-imenu-in-all-buffers-separate-sources #[0 "\300\207" [t] 1] "Display imenu index of each buffer in its own source when non-nil.\n\nWhen nil all candidates are displayed in a single source.\n\nNOTE: Each source will have as name \"Imenu \".\n`helm-source-imenu-all' will not be set, however it will continue\nto be used as a flag for using default as input. If you do not\nwant this behavior, remove it from\n`helm-sources-using-default-as-input' even if not using a single\nsource to display imenu in all buffers." boolean helm-imenu-type-faces #[0 "\300\207" [(("^Variables$" . font-lock-variable-name-face) ("^\\(Function\\|Functions\\|Defuns\\)$" . font-lock-function-name-face) ("^\\(Types\\|Provides\\|Requires\\|Classes\\|Class\\|Includes\\|Imports\\|Misc\\|Code\\)$" . font-lock-type-face))] 1] "Faces for showing type in helm-imenu.\nThis is a list of cons cells. The cdr of each cell is a face to\nbe used, and it can also just be like \\='(:foreground\n\"yellow\"). Each car is a regexp match pattern of the imenu type\nstring." helm-faces (repeat (cons (regexp :tag "Imenu type regexp pattern") (sexp :tag "Face"))) helm-imenu-extra-modes #[0 "\300\207" [nil] 1] "Extra modes where `helm-imenu-in-all-buffers' should look into." (repeat symbol)] 8) (defvar helm-imenu-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\307#\210\207" [helm-map make-sparse-keymap set-keymap-parent define-key [M-down] helm-imenu-next-section [M-up] helm-imenu-previous-section] 5)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable helm-imenu-lynx-style-map funcall function #[0 "\300\207" [nil] 1] "Use Arrow keys to jump to occurences." :group helm-imenu :type boolean :set #[514 "L\210\211\203\301\302\303#\210\301\304\305#\207\301\306\307#\210\301\310\307#\207" [helm-imenu-map define-key [right] helm-execute-persistent-action [left] helm-maybe-exit-minibuffer [right] nil [left]] 6 "\n\n(fn VAR VAL)"]] 10) #@10 (fn N) (defalias 'helm-imenu-next-or-previous-section #[257 "\300\301 !r\302\303\"\216\304@\305\"\210\306\211 \307V\203\310\202\311\211 \2040 \230\2030y\210\202\312 \210\313 \266\203*\207" [internal--before-with-selected-window helm-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord #[0 "\301\302 \303 {\"@\207" [helm-imenu-delimiter split-string point-at-bol point-at-eol] 3] 0 helm-end-of-source-p helm-beginning-of-source-p helm-mark-current-line helm-follow-execute-persistent-action-maybe] 7 (#$ . 3348)]) (defalias 'helm-imenu-next-section #[0 "\300\301!\207" [helm-imenu-next-or-previous-section 1] 2 nil nil]) (defalias 'helm-imenu-previous-section #[0 "\300\301!\207" [helm-imenu-next-or-previous-section -1] 2 nil nil]) (defvar helm-cached-imenu-alist nil) (make-variable-buffer-local 'helm-cached-imenu-alist) (defvar helm-cached-imenu-candidates nil) (make-variable-buffer-local 'helm-cached-imenu-candidates) (defvar helm-cached-imenu-tick nil) (make-variable-buffer-local 'helm-cached-imenu-tick) (defvar helm-imenu--in-all-buffers-cache nil) #@27 See (info "(emacs)Imenu") (defvar helm-source-imenu nil (#$ . 4486)) (defvar helm-source-imenu-all nil) (byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias helm-imenu-source-p eieio-make-class-predicate helm-imenu-source helm-imenu-source--eieio-childp eieio-make-child-predicate helm-imenu-source-child-p make-obsolete "use (cl-typep ... \\='helm-imenu-source) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (helm-source-sync) ((candidates :initform 'helm-imenu-candidates) (candidate-transformer :initform 'helm-imenu-transformer) (persistent-action :initform 'helm-imenu-persistent-action) (persistent-help :initform "Show this entry") (nomark :initform t) (keymap :initform helm-imenu-map) (help-message :initform 'helm-imenu-help-message) (action :initform 'helm-imenu-action) (group :initform 'helm-imenu)) nil] 6) #@74 Create a new object of class type `helm-imenu-source'. (fn &rest SLOTS) (defalias 'helm-imenu-source #[128 "\300\301\302#\207" [apply make-instance helm-imenu-source] 5 (#$ . 5445)]) (byte-code "\300\301\302\303#\300\207" [function-put helm-imenu-source compiler-macro helm-imenu-source--anon-cmacro] 4) #@26 (fn WHOLE &rest SLOTS) (defalias 'helm-imenu-source--anon-cmacro #[385 "\211@;\204\207\300\301\302@@#@\303@DABB\"\207" [macroexp-warn-and-return format "Obsolete name arg %S to constructor %S" identity] 7 (#$ . 5757)]) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable helm-imenu-fuzzy-match funcall function #[0 "\300\207" [nil] 1] "Enable fuzzy matching in `helm-source-imenu'." :group helm-imenu :type boolean :set #[514 "L\210\302\303\304\305$\211\207" [helm-imenu-fuzzy-match helm-source-imenu helm-make-source "Imenu" helm-imenu-source :fuzzy-match] 7 "\n\n(fn VAR VAL)"]] 10) #@18 (fn CANDIDATE) (defalias 'helm-imenu--maybe-switch-to-buffer #[257 "\211A\300!\205 \301!\211\205\302!\207" [markerp marker-buffer switch-to-buffer] 5 (#$ . 6405)]) (defalias 'helm-imenu--execute-action-at-once-p #[0 "\301 r\302!\203 \206p\211q\210\212\303 b\210\304 *A\232\203*\305\306\307!\210\310 \210\207\311\207" [helm-current-buffer helm-get-selection buffer-live-p point-at-bol point-marker nil helm-set-pattern "" helm-force-update t] 5]) #@57 Default action for `helm-source-imenu'. (fn CANDIDATE) (defalias 'helm-imenu-action #[257 "\301\302!\210\303!\210\304!\210\305=?\205\306 \207" [imenu-default-goto-function helm-log-run-hook helm-goto-line-before-hook helm-imenu--maybe-switch-to-buffer imenu semantic-imenu-goto-function helm-highlight-current-line] 3 (#$ . 6874)]) #@68 Default persistent action for `helm-source-imenu'. (fn CANDIDATE) (defalias 'helm-imenu-persistent-action #[257 "\300!\210\301!\210\302 \207" [helm-imenu--maybe-switch-to-buffer imenu helm-highlight-current-line] 3 (#$ . 7218)]) #@25 (fn &optional BUFFER) (defalias 'helm-imenu-candidates #[256 "r\211\206q\210\304 =\203\n\202(\305\306\307!\310\311\312\313\"\"!\262\211\262)\207" [helm-current-buffer helm-cached-imenu-tick helm-cached-imenu-candidates imenu--index-alist buffer-modified-tick nil imenu--make-index-alist t helm-imenu--candidates-1 delete assoc "*Rescan*"] 8 (#$ . 7456)]) #@32 (fn &optional BUILD-SOURCES) (defalias 'helm-imenu-candidates-in-all-buffers #[256 "\305 \306\307\310G#\203p\202\311\310\311:\203\211@\262rq\210 \n\235\204.\312\313!\2052\314 \")\203h\203Z\315\316\317\320!\"\321\322rq\210\323!)\324\f&B\262\202h\325rq\210\323!)!\244\262\311\247\203w@Y\205|\326#\266A\262T\262\202\211\237\266\205\327!\210\207" [helm-current-buffer major-mode helm-imenu-extra-modes helm-imenu-all-buffer-assoc helm-imenu-fuzzy-match buffer-list make-progress-reporter "Imenu indexing buffers..." 1 nil derived-mode-p prog-mode helm-same-major-mode-p helm-make-source format "Imenu in %s" buffer-name helm-imenu-source :candidates helm-imenu-candidates :fuzzy-match reverse progress-reporter-do-update progress-reporter-done] 15 (#$ . 7835)]) #@14 (fn ALIST) (defalias 'helm-imenu--candidates-1 #[257 "\211\300\211:\203\244@\262\301!\203P\302A\300\211\211:\203H@\262\211A\262\242\262\303\304 @#\250\203;\305!\202<BB\262A\262\202\211\237\266\204!\202\230A<\203_\205\230C\202\230A\205\230\211A\306!\203v\211\307!\262\202\220\310!\203\205\211\305!\262\202\220\211\250\205\220\211\305!\262\262\241\205\230C\237\244\262A\262\202\211\237\207" [nil imenu--subalist-p helm-imenu--candidates-1 propertize helm-imenu-type copy-marker overlayp copy-overlay markerp] 13 (#$ . 8653)]) #@13 (fn ITEM) (defalias 'helm-imenu--get-prop #[257 "\300\301\302#\211D\205$\203#\300\301\302#\262\203\fB\262\202\f\211\207" [get-text-property 0 helm-imenu-type] 7 (#$ . 9244)]) #@19 (fn CANDIDATES) (defalias 'helm-imenu-transformer #[257 "\211\301\211\211\211\211\211\211\211:\203\214@\262\211A\262 \242\262\302\303 !\203,\304 !\202D\305 !\203:\306 !\202D\250\205D\306 !!\262\307!\206arq\210\310\311!)\203]\312\202^\313D\262\314\315#\262\316\317\320 %\262 BBB\262A\262 \301\262\202 \237\207" [helm-imenu-delimiter nil buffer-name overlayp overlay-buffer markerp marker-buffer helm-imenu--get-prop derived-mode-p prog-mode "Function" "Top level" mapconcat #[257 "\301\302\303\211\304\303:\2036@\262\211A\262\242\262\305\n\"\203+\262\303\211\262\202,\304\2036A\262\202\203@\266\306\202C\211\266\205#\207" [helm-imenu-type-faces propertize face nil t string-match default] 12 "\n\n(fn X)"] propertize help-echo types] 16 (#$ . 9441)]) #@35 Preconfigured `helm' for `imenu'. (defalias 'helm-imenu #[0 "\306\307!\210\204\310\311\312\313 $\314\315\316\317!\211\205 \320\321!\322Q\f\323\324\300\325\205.D\326\327 \211\203>\320\321!\322Q\202@\262\330\331&+\207" [helm-source-imenu helm-imenu-fuzzy-match imenu-auto-rescan helm-highlight-matches-around-point-max-lines helm-imenu-execute-action-at-once-if-one helm-execute-action-at-once-if-one require which-func helm-make-source "Imenu" helm-imenu-source :fuzzy-match t never thing-at-point symbol "\\_<" regexp-quote "\\_>" helm :sources :default :preselect which-function :buffer "*helm imenu*"] 12 (#$ . 10275) nil]) #@238 Preconfigured `helm' for fetching imenu entries in all buffers with similar mode as current. A mode is similar as current if it is the same, it is derived i.e. `derived-mode-p' or it have an association in `helm-imenu-all-buffer-assoc'. (defalias 'helm-imenu-in-all-buffers #[0 "\306\307!\210\204 \204\310\311\312\313\314\315\316\317\n&\320\321\322\323!\211\205)\324\325!\326Q !\301\">??#\203>\327\330!\202?\331\332\333\334\205LD\335\336 \211\203\\\324\325!\326Q\202^\262\337\340&,\207" [helm-imenu-in-all-buffers-separate-sources helm-source-imenu-all helm-imenu-fuzzy-match imenu-auto-rescan helm-highlight-matches-around-point-max-lines helm-imenu-execute-action-at-once-if-one require which-func helm-make-source "Imenu in all buffers" helm-imenu-source :init #[0 "\301 \211\207" [helm-imenu--in-all-buffers-cache helm-imenu-candidates-in-all-buffers] 2] :candidates helm-imenu--in-all-buffers-cache :fuzzy-match t never thing-at-point symbol "\\_<" regexp-quote "\\_>" helm-imenu-candidates-in-all-buffers build-sources (helm-source-imenu-all) helm :sources :default :preselect which-function :buffer "*helm imenu all*" helm-execute-action-at-once-if-one helm-sources-using-default-as-input helm-maybe-use-default-as-input] 13 (#$ . 10929) nil]) (provide 'helm-imenu)