Files
emacsd/elpa/helm-20191201.633/helm-mode.elc

405 lines
54 KiB
Plaintext
Raw Normal View History

2019-12-01 19:55:19 +01:00
;ELC
;;; Compiled
;;; in Emacs version 26.3
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\302%\210\312\313\314\315\316DD\317\311\306\320\321&\210\312\322\314\315\323DD\324\311\306\320\325&\210\312\326\314\315\327DD\330\311\306\320\331&\210\312\332\314\315\333DD\334\311\306\320\315&\210\312\335\314\315\336DD\337\311\306\320\331&\210\340\335\341\342#\210\312\343\314\315\344DD\345\311\306\320\331&\207" [require cl-lib helm helm-lib helm-files custom-declare-group helm-mode nil "Enable helm completion." :group custom-declare-variable helm-completing-read-handlers-alist funcall function #[0 "\300\207" [((find-tag . helm-completing-read-default-find-tag) (xref-find-definitions . helm-completing-read-default-find-tag) (xref-find-references . helm-completing-read-default-find-tag) (tmm-menubar) (find-file) (execute-extended-command) (dired-do-rename . helm-read-file-name-handler-1) (dired-do-copy . helm-read-file-name-handler-1) (dired-do-symlink . helm-read-file-name-handler-1) (dired-do-relsymlink . helm-read-file-name-handler-1) (dired-do-hardlink . helm-read-file-name-handler-1) (basic-save-buffer . helm-read-file-name-handler-1) (write-file . helm-read-file-name-handler-1) (write-region . helm-read-file-name-handler-1))] 1] "Completing read functions for specific Emacs commands.\n\nBy default `helm-mode' use `helm-completing-read-default-handler' to\nprovide helm completion in each `completing-read' or `read-file-name'\nfound, but other functions can be specified here for specific\ncommands. This also allow disabling helm completion for some commands\nwhen needed.\n\nEach entry is a cons cell like (EMACS_COMMAND . COMPLETING-READ_HANDLER)\nwhere key and value are symbols.\n\nEach key is an Emacs command that use originaly `completing-read'.\n\nEach value maybe a helm function that takes same arguments as\n`completing-read' plus NAME and BUFFER, where NAME is the name of the new\nhelm source and BUFFER the name of the buffer we will use, but it can\nbe also a function not using helm, in this case the function should\ntake same args as `completing-read' and not be prefixed by \"helm-\".\n\n`helm' will use the name of the command calling `completing-read' as\nNAME and BUFFER will be computed as well with NAME but prefixed with\n\"*helm-mode-\".\n\nThis function prefix name must start by \"helm-\" when it uses helm,\notherwise `helm' assumes the function is not a helm function and\nexpects same args as `completing-read', this allow you to define a\nhandler not using helm completion.\n\nExample:\n\n (defun foo/test ()\n (interactive)\n (message \"%S\" (completing-read \"test: \" '(a b c d e))))\n\n (defun helm-foo/test-completing-read-handler (prompt collection\n predicate require-match\n initial-input hist def\n inherit-input-method\n name buffer)\n (helm-comp-read prompt collection :marked-candidates t\n :name name\n :buffer buffer))\n\n (add-to-list 'helm-completing-read-handlers-alist\n '(foo/test . helm-foo/test-completing-read-handler))\n\n\nWe want here to make the regular `completing-read' in `foo/test'\nreturns a list of candidate(s) instead of a single candidate.\n\nNote that this function will be reused for ALL the `completing-read'\nof this command, so it should handle all cases, e.g\nIf first `completing-read' complete against symbols and\nsecond `completing-read' should handle only buffer,\nyour specialized function should handle the both.\n\nIf the value of an entry is nil completion will fall back to\nemacs vanilla behavior.\nExample:\n\nIf you want to disable helm completion for `describe-function', use:\n\n (describe-function . nil)\n\nIdo is also supported, you can use `ido-completing-read' and\n`ido-read-file-name' as value of an entry or just 'ido.\nExample:\nEnable ido completion for `find-file
#@266 Incompatible `minibuffer-setup-hook' functions go here.
A list of symbols. Helm-mode is rejecting all lambda's, byte-code fns
and all functions belonging in this list from `minibuffer-setup-hook'.
This is mainly needed to prevent "*Completions*" buffers to popup.
(defvar helm-mode-minibuffer-setup-hook-black-list '(minibuffer-completion-help) (#$ . 6053))
(custom-declare-face 'helm-mode-prefix '((t (:background "red" :foreground "black"))) "Face used for prefix completion." :group 'helm-mode)
#@30 Keymap for `helm-comp-read'.
(defvar helm-comp-read-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\305#\210\211\207" [helm-map make-sparse-keymap set-keymap-parent define-key [C-return] helm-cr-empty-string [134217741]] 5) (#$ . 6558))
(defalias 'helm-mode-delete-char-backward-1 #[0 "\3001 \301\302!0\207\303\304 !r\305\306\307\310\311!\312\"\313$\216\314@\315\"\210\316 \317\230*?\262\2031\320\321!\2026\322\323@\"\207" [(text-read-only) call-interactively delete-backward-char internal--before-with-selected-window minibuffer-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord minibuffer-contents "" message "Trying to delete prefix completion, next hit will quit" user-error "%s"] 8 nil nil])
(put 'helm-mode-delete-char-backward-1 'helm-only t)
(defalias 'helm-mode-delete-char-backward-2 #[0 "\3011 \302\303!0\207\304\305 !r\306\307\310\311\312!\313\"\314$\216\315@\316\"\210\317 \320\230*\262?\205Dr\321!\2036\2069p\211q\210\322\323\324\325#\210)\326 \207" [helm-current-buffer (text-read-only) call-interactively delete-backward-char internal--before-with-selected-window minibuffer-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-with-selected-window] 2 select-window norecord minibuffer-contents "" buffer-live-p run-with-timer 0.1 nil #[0 "\300\301!\207" [call-interactively delete-backward-char] 2] helm-keyboard-quit] 8 nil nil])
(byte-code "\300\301\302\303#\210\304\305\306\307\310\"\311#\210\312\313\314\315\316DD\317\320\321\322\323\324\325& \207" [put helm-mode-delete-char-backward-2 helm-only t defalias helm-mode-delete-char-backward-maybe helm-make-multi-command (helm-mode-delete-char-backward-1 helm-mode-delete-char-backward-2) 1 "Delete char backward when text is not the prefix helm is completing against.\nFirst call warn user about deleting prefix completion.\nSecond call delete backward char in current-buffer and quit helm completion,\nletting user starting a new completion with a new prefix.\n\n" custom-declare-variable helm-completion-style funcall function #[0 "\300\207" [emacs] 1] "Style of completion to use in `completion-in-region'.\n\nThis affect only `completion-at-point' and friends, and\nthe `completing-read' using the default handler\ni.e. `helm-completing-read-default-handler'.\n\nNB: This have nothing to do with `completion-styles', it is independent to\nhelm, but when using emacs as helm-completion-style helm\nwill use the `completion-styles' for its completions.\nUp to the user to configure `completion-styles'.\n\nThere is three possible value to use:\n\n- helm, use multi match regular helm completion.\n\n- helm-fuzzy, use fuzzy matching, note that as usual when\n entering a space helm switch to multi matching mode.\n\n- emacs, use regular emacs completion according to\n `completion-styles', note that even in this style, helm allows using\n multi match. Emacs-27 provide a style called `flex' that can be used\n aside `helm' style (see `completion-styles-alist'). When `flex' style\n is not available (Emacs<27) helm provide `helm-flex' style which is similar to\n `flex' and helm fuzzy matching.\n\nFor a better experience, if you don't know what to use, set\n`completion-styles' to '(flex) if you are using emacs-27 or to\n'(helm-flex) if you are using emacs-26 and keep 'emacs as default\nvalue for `helm-completion-style'. Advanced users can also have a\nlook to `completion-category-overrides' to set styles according to category.\n\nPlease use custom interface or `customize-set-variable' to set this,\nNOT `setq'." :group helm-mode :type (choice (const :tag "Emacs" emacs) (const :tag "Helm" helm) (const :tag "Helm-fuzzy" helm-fuzzy)) :set #[514 "L\210\211\301>\203\302\303\304#\207\302\303\305#\207" [helm-comp-read-map (helm helm-fuzzy) define-key "" helm-mode-delete-char-backward-maybe delete-backward-char] 6 "\n\n(fn VAR VAL)"]] 10)
(defconst helm-completion--all-styles (byte-code "\301\236\203\n\301\202 \302\303\304\305D\306\307\"\"!\207" [completion-styles-alist flex helm-flex helm-fast-remove-dups append helm mapcar car] 7))
(defconst helm-completion--styles-type (byte-code "\301\302\303\304\305\306\"BF\207" [helm-completion--all-styles repeat :tag "with other completion styles" choice mapcar #[257 "\300D\207" [const] 3 "\n\n(fn X)"]] 7))
(byte-code "\301\302\303\304\305DD\306\307\310\311\312\313\314\315\316\317\320\321\322\317\323\324\257\257\257&\207" [helm-completion--styles-type custom-declare-variable helm-completion-styles-alist funcall function #[0 "\300\207" [((gud-mode . helm))] 1] "Allow configuring `helm-completion-style' per mode.\n\nEach entry is a cons cell like (mode . style) where style must be a\nsuitable value for `helm-completion-style'.\nWhen specifying emacs as style for a mode, `completion-styles' can be\nspecified by using a cons cell specifying completion-styles to use\nwith helm emacs style, e.g. (foo-mode . (emacs helm flex)) will set\n`completion-styles' to '(helm flex) for foo-mode, this affect only\ncompletions happening in buffers and not minibuffer completions,\ni.e. completing-read's." :group helm-mode :type alist :key-type (symbol :tag "Major Mode") :value-type choice :tag "Use helm style or completion styles" (radio :tag "Helm Style" (const helm) (const helm-fuzzy) (const emacs)) cons "Completion Styles" (const :tag "Using Helm `emacs' style" emacs)] 20)
#@22 Return empty string.
(defalias 'helm-cr-empty-string #[0 "\203\301\302!\207\303\304!\207" [helm-alive-p helm-exit-and-execute-action #[257 "\300\207" [""] 2 "\n\n(fn CANDIDATE)"] error "Running helm command outside of context"] 2 (#$ . 12014) nil])
(put 'helm-cr-empty-string 'helm-only t)
(defalias 'helm-mode--keyboard-quit #[0 "\301\302\303\301\")\207" [debug-on-quit nil signal quit] 3])
#@1644 Convert COLLECTION to list removing elements that don't match TEST.
See `helm-comp-read' about supported COLLECTION arguments.
SORT-FN is a predicate to sort COLLECTION.
ALISTP when non--nil will not use `all-completions' to collect
candidates because it doesn't handle alists correctly for helm.
i.e In `all-completions' the car of each pair is used as value.
In helm we want to use the cdr instead like (display . real),
so we return the alist as it is with no transformation by
`all-completions'.
e.g
(setq A '((a . 1) (b . 2) (c . 3)))
==>((a . 1) (b . 2) (c . 3))
(helm-comp-read "test: " A :alistp nil
:exec-when-only-one t
:initial-input "a")
==>"a" Which is not what we expect.
(helm-comp-read "test: " A :alistp t
:exec-when-only-one t
:initial-input "1")
==>"1"
See docstring of `all-completions' for more info.
INPUT is the string you want to complete against, defaulting to
`helm-pattern' which is the value of what you enter in minibuffer.
Note that when using a function as COLLECTION this value will be
available with the input argument of the function only when using a
sync source from `helm-comp-read', i.e not using
`:candidates-in-buffer', otherwise the function is called only once
with an empty string as value for `helm-pattern' because
`helm-pattern' is not yet computed, which is what we want otherwise
data would not be fully collected at init time.
If COLLECTION is an `obarray', a TEST should be needed. See `obarray'.
(fn COLLECTION &optional TEST SORT-FN ALISTP (INPUT helm-pattern))
(defalias 'helm-comp-read-get-candidates #[1153 "\211\203 \211A\262\242\202\203\304\305\306\307G\\D\"\210r\310 !\203' \206*p\211q\210\311!\203=\312#\2029\203S\313!\203SJ9\203S\314\2029\203|\313!\203|\203|\315\316\317\320\321 !\322\"\307\323%\312J#\262\2029\203\221\313!\203\221\312J\"\202\324!\203\340\211\325\230\204\340\n\203\340\"\314\211:\203\331@\262\326\235\204\322\327 \"\203\307B\262\202\322\330\331!!PB\262A\262\202\251\211\237\266\203\202\324!\203\360\332#\202\203\374\204\374\202\312#\203\333\"\202\211\262)\207" [helm-pattern helm-current-buffer minibuffer-completing-file-name helm--url-regexp signal wrong-number-of-arguments helm-comp-read-get-candidates 5 buffer-live-p vectorp all-completions boundp nil make-byte-code 257 "\3011\300\302=\203\300\303!!\202\300!0\207\300\303!!\207" vconcat vector [(wrong-type-argument) commandp intern] "\n\n(fn ELM)" functionp "" ("./" "../") string-match file-name-as-directory helm-basedir t sort] 12 (#$ . 12418)])
#@19
(fn CANDIDATES)
(defalias 'helm-cr--pattern-in-candidates-p #[257 "\301\"\206 \302!\236\206 \235\206 \227\235\206 \226\235\207" [helm-pattern assoc intern] 4 (#$ . 15163)])
#@81 Default filter candidate function for `helm-comp-read'.
(fn CANDIDATES SOURCE)
(defalias 'helm-cr-default-transformer #[514 "\301\302\"\303\304=\204!\305\230\204!\306!\204!\307C\"\262\304\262\303\211\211\211:\203\220@\262;\203=\310\311\305#\202>\262\310\311\305#\262\232\204S\232\203l\203l\211\312\313\314\312\315\316\317##PBC\244\262\202\211\211;\203\204\320\321\"\203\204\310\321\322#B\202\205C\244\262A\262\202&\323\324\325#\266\205\207" [helm-pattern helm-attr must-match nil t "" helm-cr--pattern-in-candidates-p append replace-regexp-in-string "\\s\\" propertize " " display "[?]" face helm-ff-prefix string-match "\n" "->" helm-fast-remove-dups :test equal] 17 (#$ . 15358)])
(defalias 'helm-comp-read--move-to-first-real-candidate #[0 "\300\301\302\"\211\205\303\304\305#\306\230\205\307 \207" [helm-get-selection nil withprop get-text-property 0 display "[?]" helm-next-line] 5])
#@22
(fn DEFAULT CANDS)
(defalias 'helm-cr-default #[514 "\301\302;\203\303\230\204\303\230\203\304\"B\202T:\203S\303\230\203S\305\302\211:\203J@\262\204<\202?\306!B\262A\262\202+\211\237\266\203\"\202T\"\207" [helm-pattern delq nil "" delete append helm-stringify] 10 (#$ . 16310)])
#@4195 Read a string in the minibuffer, with helm completion.
It is helm `completing-read' equivalent.
- PROMPT is the prompt name to use.
- COLLECTION can be a list, vector, obarray or hash-table.
It can be also a function that receives three arguments:
the values string, predicate and t. See `all-completions' for more details.
Keys description:
- TEST: A predicate called with one arg i.e candidate.
- INITIAL-INPUT: Same as input arg in `helm'.
- PRESELECT: See preselect arg of `helm'.
- DEFAULT: This option is used only for compatibility with regular
Emacs `completing-read' (Same as DEFAULT arg of `completing-read').
- BUFFER: Name of helm-buffer.
- MUST-MATCH: Candidate selected must be one of COLLECTION.
- FUZZY: Enable fuzzy matching.
- REVERSE-HISTORY: When non--nil display history source after current
source completion.
- REQUIRES-PATTERN: Same as helm attribute, default is 0.
- HISTORY: A list containing specific history, default is nil.
When it is non--nil, all elements of HISTORY are displayed in
a special source before COLLECTION.
- INPUT-HISTORY: A symbol. the minibuffer input history will be
stored there, if nil or not provided, `minibuffer-history'
will be used instead.
- CASE-FOLD: Same as `helm-case-fold-search'.
- DEL-INPUT: Boolean, when non--nil (default) remove the partial
minibuffer input from HISTORY is present.
- PERSISTENT-ACTION: A function called with one arg i.e candidate.
- PERSISTENT-HELP: A string to document PERSISTENT-ACTION.
- MODE-LINE: A string or list to display in mode line.
Default is `helm-comp-read-mode-line'.
- KEYMAP: A keymap to use in this `helm-comp-read'.
(the keymap will be shared with history source)
- NAME: The name related to this local source.
- HEADER-NAME: A function to alter NAME, see `helm'.
- EXEC-WHEN-ONLY-ONE: Bound `helm-execute-action-at-once-if-one'
to non--nil. (possibles values are t or nil).
- VOLATILE: Use volatile attribute.
- SORT: A predicate to give to `sort' e.g `string-lessp'
Use this only on small data as it is ineficient.
If you want to sort faster add a sort function to
FC-TRANSFORMER.
Note that FUZZY when enabled is already providing a sort function.
- FC-TRANSFORMER: A `filtered-candidate-transformer' function
or a list of functions.
- HIST-FC-TRANSFORMER: A `filtered-candidate-transformer'
function for the history source.
- MARKED-CANDIDATES: If non--nil return candidate or marked candidates as a list.
- NOMARK: When non--nil don't allow marking candidates.
- ALISTP: (default is non--nil) See `helm-comp-read-get-candidates'.
- CANDIDATES-IN-BUFFER: when non--nil use a source build with
`helm-source-in-buffer' which is much faster.
Argument VOLATILE have no effect when CANDIDATES-IN-BUFFER is non--nil.
- MATCH-PART: Allow matching only one part of candidate.
See match-part documentation in `helm-source'.
- MATCH-DYNAMIC: See match-dynamic in `helm-source-sync'
It have no effect when used with CANDIDATES-IN-BUFFER.
- ALLOW-NEST: Allow nesting this `helm-comp-read' in a helm session.
See `helm'.
- MULTILINE: See multiline in `helm-source'.
- GROUP: See group in `helm-source'.
Any prefix args passed during `helm-comp-read' invocation will be recorded
in `helm-current-prefix-arg', otherwise if prefix args were given before
`helm-comp-read' invocation, the value of `current-prefix-arg' will be used.
That's mean you can pass prefix args before or after calling a command
that use `helm-comp-read' See `helm-M-x' for example.
(fn PROMPT COLLECTION &key TEST INITIAL-INPUT DEFAULT PRESELECT (BUFFER "*Helm Completions*") MUST-MATCH FUZZY REVERSE-HISTORY (REQUIRES-PATTERN 0) HISTORY INPUT-HISTORY (CASE-FOLD helm-comp-read-case-fold-search) (DEL-INPUT t) (PERSISTENT-ACTION nil) (PERSISTENT-HELP "DoNothing") (MODE-LINE helm-comp-read-mode-line) HELP-MESSAGE (KEYMAP helm-comp-read-map) (NAME "Helm Completions") HEADER-NAME CANDIDATES-IN-BUFFER MATCH-PART MATCH-DYNAMIC EXEC-WHEN-ONLY-ONE QUIT-WHEN-NO-CAND (VOLATILE t) SORT FC-TRANSFORMER HIST-FC-TRANSFORMER MARKED-CANDIDATES NOMARK (ALISTP t) (CANDIDATE-NUMBER-LIMIT helm-candidate-number-limit) MULTILINE ALLOW-NEST (GROUP \='helm))
(defalias 'helm-comp-read #[642 "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"\206 \314A@\306\315\"A@\306\316\"A@\306\317\"A@\306 \320\"\206@\321A@\306\n\322\"A@\306 \323\"A@\306\f\324\"\206[\325DA@\306 \326\"\206f\327A@\306\330\"A@\306\331\"\206x\332A@\306\333\"\206\205\325 DA@\306\334\"A@\306\335\"\206\231\325\nDA@\306\336\"\206\244\337A@\306\340\"A@\306\341\"A@\306\342\"A@\306\343\"A@\306\344\"A@\306\345\"A@\306\346\"\206\331\347A@\306\350\"A@\306\351\"A@\306\352\"A@\306\353\"A@\306\354\"A@\306 \355\"\206\356A@\306!\357\"\206\325 DA@\306\"\360\"A@\306#\361\"A@\306$\362\"\206-\363A@$\211\203\\\211@\364>\203D\211AA\262\2021\365&>A@\203S\325\262\2021\366\367@\"\210\2021\210\370\f!\203g\371\f!\210\372\373\374\375\n\376BBFC$@&A\377\201E\201FB#B\201G\201H\201I\201J\201K+*)&\201L\"\201M$\201G\201H\201N\201J\201K*)#$\201O\"\201M$\201P\201Q\201R\"\201S\201T\201U&\360 \342\201V\201W\201X\205\201Y!\"\330'\331(\335'\3155\362\333/\3340\201Z&\201P\201S\201T\342\360\340\201V\201Y!\201W\201[\235?\205N\201\\\"\262\320-\330*\331+\201U5\335,\315:\362\3334\343/\3347\201Z%\3462&$\201P\201]\201^\342\360\340\201V\201W\201Y!\201_\"\320.\330+\201U4\335+\3159\362\3314\3335\3346\201Z$& \201`&B\203\325\202\326BDCD\325 \203\325\211:\203@\262\201aBB\262A\262\202\351\211\237\266\203\262$\203\237\262\201b\201c\201d\"\210\201e\216\201f\201g\201h.\311/\3120\201i8\201j\201k\335(\361\357\201l4\32279\205T7\313?&\262)\211\203\232\"\203\232\203\232\"9\203\206\"J9\204\206\"J\211\203\202\211\240\210\210\202\232\":\203\224\"\240\210\202\232\"CL\210\211\206\242\201m .\266\207\262\207" [helm-comp-read-case-fold-search helm-comp-read-mode-line helm-comp-read-map helm-candidate-number-limit helm-action-buffer minibuffer-completion-confirm plist-member :test :initial-input :default :preselect :buffer (nil "*Helm Completions*") :must-match :fuzzy :reverse-history :requires-pattern (nil 0) :history :input-history :case-fold nil :del-input (nil t) :persistent-action :persistent-help (nil "DoNothing") :mode-line :help-message :keymap :name (nil "Helm Completions") :header-name :candidates-in-buffer :match-part :match-dynamic :exec-when-only-one :quit-when-no-cand :volatile (nil t) :sort :fc-transformer :hist-fc-transformer :marked-candidates :nomark :alistp (nil t) :candidate-number-limit :multiline :allow-nest :group (nil helm) (:test :initial-input :default :preselect :buffer :must-match :fuzzy :reverse-history :requires-pattern :history :input-history :case-fold :del-input :persistent-action :persistent-help :mode-line :help-message :keymap :name :header-name :candidates-in-buffer :match-part :match-dynamic :exec-when-only-one :quit-when-no-cand :volatile :sort :fc-transformer :hist-fc-transformer :marked-candidates :nomark :alistp :candidate-number-limit :multiline :allow-nest :group :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:test :initial-input :default :preselect :buffer :must-match :fuzzy :reverse-history :requires-pattern :history :input-history :case-fold :del-input :persistent-action :persistent-help :mode-line :help-message :keymap :name :header-name :candidates-in-buffer :match-part :match-dynamic :exec-when-only-one :quit-when-no-cand :volatile :sort :fc-transformer :hist-fc-transformer :marked-candidates :nomark :alistp :candidate-number-limit :multiline :allow-nest :group)" get-buffer kill-buffer "Sole action (Identity)" lambda (candidate) if ((helm-marked-candidates) (identity candidate)) replace-regexp-in-string minibuffer-completion-predicate minibuffer-completion-table helm-read-file-name-mode-line-string helm-execute-action-at-once-if-one helm-quit-if-no-candidate "helm-maybe-exit-minibuffer" "helm-confirm-and-exit-minibuffer" make-byte-code 0 "\307\300\301\305\306\304\203\303\204
(defvar helm-completion-mode-string " Helm")
(defvar helm-completion-mode-quit-message "Helm completion disabled")
(defvar helm-completion-mode-start-message "Helm completion enabled")
#@160 Specialized function for fast symbols completion in `helm-mode'.
(fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
(defalias 'helm-completing-read-symbols #[2570 "\301\302!\210\303\304\305\306\307\310\311\312\313\314\"\315\"\316$\317\320\321\322\323\324\310\325\326\313\314!\327\"\330\331%\332\333 &\334 \335\336 \337\340\341\342\206F\343&\206M\344 \207" [helm-mode-fuzzy-match require helm-elisp helm :sources helm-make-source helm-source-in-buffer :init make-byte-code 0 "\302\303\304\305\306\307\300!\310\"\311\312%\301\242\206\301\"\207" vconcat vector [helm-apropos-init make-byte-code 257 "\300!\205\n\301!?\207" vconcat vector [keywordp] 3 "\n\n(fn X)"] 7 :filtered-candidate-transformer helm-apropos-default-sort-fn :help-message helm-comp-read-help-message :fuzzy-match :persistent-action 257 "\301\300\"\207" [helm-lisp-completion-persistent-action] 4 "\n\n(fn CANDIDATE)" :persistent-help helm-lisp-completion-persistent-help :prompt :buffer :input :history :resume noresume :default "" helm-mode--keyboard-quit] 30 (#$ . 26049)])
#@363 Call `helm-comp-read' with same args as `completing-read'.
Extra optional arg CANDS-IN-BUFFER mean use `candidates-in-buffer'
method which is faster.
It should be used when candidate list don't need to rebuild dynamically.
(fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER &optional CANDS-IN-BUFFER EXEC-WHEN-ONLY-ONE)
(defalias 'helm-completing-read-default-1 #[3082 "\242\206;\203\202):\203(@ A\211\262\266\202\202)\302\211\205.\211\262\303\304\305\306\307 \310\311\302\312\313\314\315;\203j\316\230\203j\317=\204f\320=\203j\321\202k\322\323\324\325 \326 \327%\206}\316\330 & \207" [helm-mode-reverse-history helm-mode-fuzzy-match nil helm-comp-read :test :history :reverse-history :input-history :must-match :alistp :help-message helm-comp-read-help-message :name :requires-pattern "" confirm confirm-after-completion 1 0 :candidates-in-buffer :exec-when-only-one :fuzzy :buffer :default :initial-input] 47 (#$ . 27168)])
#@266 Call `helm-comp-read' with same args as `completing-read'.
This handler use dynamic matching which allow honouring `completion-styles'.
(fn PROMPT COLLECTION PREDICATE REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER &optional EXEC-WHEN-ONLY-ONE)
(defalias 'helm-completing-read-default-2 #[2826 "\242\206;\203\202':\203&@A\211\262\266\202\202'\306\307\310\311!\312\2063\313  #\206<\314\315\n\316\"\206G\317\320\"\317\321\"\322=\323\324\325\326\327\n\n\n&\330\"\331\332% \333>\203w\211\206q\313\306\211#\202x\211\334\335\216\336\337 \340 \341\342\343 \344 \345=\205\227\346\347\350\f\205\240\fC\"\351 \345=\352 \353=\354\355&&,\207" [completion-flex-nospace completion-styles completion-extra-properties helm-completion-style helm-completion-in-region-default-sort-fn helm-mode-reverse-history nil t helm--prepare-completion-styles nomode completion-metadata #1="" (metadata) plist-get :annotation-function completion-metadata-get annotation-function category file make-byte-code 771 "\306\300\301G\303%\307!\310=\205\311\303\312\"\206\313\314A\203%\314\241\210\205*\315\316!\262\203@G\317X\203@\320\262\321\302\205N\322>\205N\302C\323\203Y!\202Z\304\305#\"\207" vconcat vector [completion-all-completions last emacs completion-metadata-get display-sort-function #[257 "\300\301\"\207" [sort helm-generic-sort-fn] 4 "\n\n(fn CANDIDATES)"] nil t copy-sequence 1 #[257 "\300\301\"\207" [sort string-lessp] 4 "\n\n(fn ALL)"] append (helm helm-fuzzy) helm-completion-in-region--initial-filter helm-completion-style helm-completion--sorting-done] 13 "\n\n(fn STR PREDICATE ACTION)" (helm helm-fuzzy) #[514 "\204\n \302\230\203\f\207\303\304\"\207" [helm-completion--sorting-done helm-pattern #1# sort helm-generic-sort-fn] 5 "\n\n(fn CANDIDATES SOURCE)"] #[0 "\301\211\207" [helm-completion--sorting-done nil] 2] helm-comp-read :name :initial-input :buffer :history :reverse-history :default emacs :fc-transformer append (helm-cr-default-transformer) :match-dynamic :fuzzy helm-fuzzy :exec-when-only-one :must-match] 43 (#$ . 28202)])
#@143 Specialized `helm-mode' handler for `find-tag'.
(fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
(defalias 'helm-completing-read-default-find-tag #[2570 "\300  \301\211$\302         \303& \207" [helm-comp-read-get-candidates nil helm-completing-read-default-1 t] 23 (#$ . 30363)])
#@145 `helm-mode' handler using sync source as backend.
(fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
(defalias 'helm-completing-read-sync-default-handler #[2570 "\300\n\n\n\n\n\n\n\n\n\n&\n\207" [helm-completing-read-default-1] 21 (#$ . 30708)])
#@150 Default `helm-mode' handler for all `completing-read'.
(fn PROMPT COLLECTION TEST REQUIRE-MATCH INIT HIST DEFAULT INHERIT-INPUT-METHOD NAME BUFFER)
(defalias 'helm-completing-read-default-handler #[2570 "\300\n\n\n\n\n\n\n\n\n\n&\n\207" [helm-completing-read-default-2] 21 (#$ . 31014)])
#@140 The `read-buffer-function' for `helm-mode'.
Affects `switch-to-buffer' and related.
(fn PROMPT &optional DEFAULT REQUIRE-MATCH PREDICATE)
(defalias 'helm--generic-read-buffer #[1025 "\300 \301\302\211\n&\207" [helm-buffer-list helm--completing-read-default nil] 13 (#$ . 31320)])
#@358 An helm replacement of `completing-read'.
This function should be used only as a `completing-read-function'.
Don't use it directly, use instead `helm-comp-read' in your programs.
See documentation of `completing-read' and `all-completions' for details.
(fn PROMPT COLLECTION &optional PREDICATE REQUIRE-MATCH INITIAL-INPUT HIST DEF INHERIT-INPUT-METHOD)
(defalias 'helm--completing-read-default #[2050 "\3062\307 \206\n\310!\311\312\" \236\211\243\211\205\310!        \257\313D\"\314\211\f\314\211:\203d@\262:\204]\315!\204] >\204]B\262A\262\202>\211\237\266\203\314\"\316\317=\203v\320\262\203\217\204\217\321\306\322\216\323\324!\210\325#\")\"\210\326=\204\241;\203\245\327\330\"\204\245\323\324!\210\331\332\333\334\335 !\336\"\337$\216\203\302\203\302\325\"\202\203\340\320=\203\340>\340\341#\240\210\325\"\202\203\353\325\"\202\211&\n-\266\2110\207" [this-command helm-completing-read-handlers-alist helm-completion-mode-start-message helm-completion-mode-quit-message minibuffer-setup-hook helm-mode-minibuffer-setup-hook-black-list --cl-block-helm--completing-read-default-- helm-this-command helm-symbol-name format "*helm-mode-%s*" append nil byte-code-function-p helm-completing-read-default-handler ido ido-completing-read throw #[0 "\300\301!\207" [helm-mode 1] 2] helm-mode -1 apply completing-read string-match "^helm" make-byte-code 0 "\302\303!\210\300\211\207" vconcat vector [this-command helm-mode 1] 2 all-completions "" unread-command-events completing-read-function] 29 (#$ . 31615)])
#@1644 Read a file name with helm completion.
It is helm `read-file-name' emulation.
Argument PROMPT is the default prompt to use.
Keys description:
- NAME: Source name, default to "Read File Name".
- INITIAL-INPUT: Where to start read file name, default to `default-directory'.
- BUFFER: `helm-buffer' name default to "*Helm Completions*".
- TEST: A predicate called with one arg 'candidate'.
- NORET: Allow disabling helm-ff-RET (have no effect if helm-ff-RET
isn't bound to RET).
- CASE-FOLD: Same as `helm-case-fold-search'.
- PRESELECT: helm preselection.
- HISTORY: Display HISTORY in a special source.
- MUST-MATCH: Can be 'confirm, nil, or t.
- FUZZY: Enable fuzzy matching when non-nil (Enabled by default).
- MARKED-CANDIDATES: When non--nil return a list of marked candidates.
- NOMARK: When non--nil don't allow marking candidates.
- ALISTP: Don't use `all-completions' in history (take effect only on history).
- PERSISTENT-ACTION-IF: a persistent if action function.
- PERSISTENT-HELP: persistent help message.
- MODE-LINE: A mode line message, default is `helm-read-file-name-mode-line-string'.
(fn PROMPT &key (NAME "Read File Name") (INITIAL-INPUT default-directory) (BUFFER "*Helm file completions*") TEST NORET (CASE-FOLD helm-file-name-case-fold-search) PRESELECT HISTORY MUST-MATCH (FUZZY t) DEFAULT MARKED-CANDIDATES (CANDIDATE-NUMBER-LIMIT helm-ff-candidate-number-limit) NOMARK (ALISTP t) (PERSISTENT-ACTION-IF \='helm-find-files-persistent-action-if) (PERSISTENT-HELP "Hit1 Expand Candidate, Hit2 or (C-u) Find file") (MODE-LINE helm-read-file-name-mode-line-string))
(defalias 'helm-read-file-name #[385 "\306\307\"\206\310A@\306\311\"\206\312DA@\306\313\"\206\314A@\306\315\"A@\306\316\"A@\306\317\"\2067\312 DA@\306\320\"A@\306\321\"A@\306 \322\"A@\306\n\323\"\206W\324A@\306 \325\"A@\306\f\326\"A@\306 \327\"\206r\312\nDA@\306\330\"A@\306\331\"\206\204\332A@\306\333\"\206\217\334A@\306\335\"\206\232\336A@\306\337\"\206\247\312 DA@\211\203\326\211@\340>\203\276\211AA\262\202\253\341>A@\203\315\312\262\202\253\342\343@\"\210\202\253\210\344\345!\210\346\f!\203\345\347\f!\210\350\351\352\"\210\353\354\355\356\n\357BBFC \205\376\360\361 !?\312@ \205\fA\362>?B \205\363\f\312\211$ CDE\364\211FG\365\366\367 #\370\371\372\"\373\374\375\337\376\377\364\201J\333\335\201KH\322\330\201L&\370\373\374\201M\201N\201O\337 \201P\201Q\377\364\376\201R\201S\201T\201U\201V$ \"\201W\"\201X$\201Y\201Z\201[\201\\\333\335\201]\364\201KH\322(\201^\201_\330'\201L$&\"D\201`\201aI\203\331\201b!\202\332\201c\201d!\201e\327\201f\201g\201h\325\313\"\201i\312\320\"&\211\203\211;\203\211\201j\230\203\201j\202\201\211\203E\211;\203E\201k\"\203E \203E <\203@ @\202z \202z\211\203Y\211<\203Y\201l\201d\"\202z\211\203q\201m!\203q\201n\201d!!\202z\211\203}\201d!\206\201\201o . \266\204\207" [default-directory helm-file-name-case-fold-search helm-ff-candidate-number-limit helm-read-file-name-mode-line-string helm-action-buffer helm-ff-auto-update-initial-value plist-member :name (nil "Read File Name") :initial-input nil :buffer (nil "*Helm file completions*") :test :noret :case-fold :preselect :history :must-match :fuzzy (nil t) :default :marked-candidates :candidate-number-limit :nomark :alistp (nil t) :persistent-action-if (nil helm-find-files-persistent-action-if) :persistent-help (nil "Hit1 Expand Candidate, Hit2 or (C-u) Find file") :mode-line (:name :initial-input :buffer :test :noret :case-fold :preselect :history :must-match :fuzzy :default :marked-candidates :candidate-number-limit :nomark :alistp :persistent-action-if :persistent-help :mode-line :allow-other-keys) :allow-other-keys error "Keyword argument %s not one of (:name :initial-input :buffer :test :noret :case-fold :preselect :history :must-match :fuzzy :default :marked-candidates :candidate-number-limit :nomark :alistp :persistent-action-if :persistent-help :mode-line)" require tramp get-buffer kill-buffer mapc #[257 "\300\301\"\207" [add-hook helm-after-update-hook] 4 "\n\n(fn HOOK)"] (helm-ff-move-to-first-real-candidate helm-ff-update-when-only-one-matched helm-ff-auto-expand-to-home-or-root) "Sole action (Identity)" lambda (candidate) if ((helm-marked-candidates :with-wildcard t) (identity candidate)) minibuffer-window-active-p minibuffer-window (multi1 multi3p) helm-comp-read-get-candidates t replace-regexp-in-string "helm-maybe-exit-minibuffer" "helm-confirm-and-exit-minibuffer" helm-make-source format "%s History" helm-source-sync :header-name #[257 "\211\301!P\207" [helm-find-files-doc-header substitute-command-keys] 4 "\n\n(fn NAME)"] :candidates :nohighlight helm-follow-mode-persistent helm-mm-matching-method helm-ff-fuzzy-matching minibuffer-completion-confirm helm-ff--RET-disabled minibuffer-completion-predicate minibuffer-completing-file-name helm--completing-file-name helm-read-file-map helm-mode-reverse-history :fuzzy-match :keymap :action #[257 "\211\301!P\207" [helm-find-files-doc-header substitute-command-keys] 4 "\n\n(fn NAME)"] :init #[0 "\211\211\207" [helm-ff-auto-update-initial-value helm-ff-auto-update-flag helm-ff--auto-update-state] 3] :help-message helm-read-file-name-help-message make-byte-code 0 "\303\304\n!?\205\305\n!?\205\nC\300\203D\306 \307\301!\310\211:\203=@\262\235\2041\300!\2036B\262A\262\202\211\237\266\204\202G\307\301!\"\207" vconcat vector [helm-pattern append file-exists-p helm-ff--invalid-tramp-name-p helm-ff--tramp-hostnames helm-find-files-get-candidates nil] 8 :filtered-candidate-
#@26
(fn FNAME DIR INITIAL)
(defalias 'helm-mode--default-filename #[771 "\204\262\302!\204\303!\262\204):\204)\303\206% \206%\"\262\203V:\203V\304\211:\203N@\262\303\"B\262A\262\2025\211\237\266\203\211\262\207\302!\203^\207\303\"\207" [default-directory buffer-file-name file-name-absolute-p expand-file-name nil] 9 (#$ . 39331)])
#@194 Generic helm replacement of `read-file-name'.
Don't use it directly, use instead `helm-read-file-name' in your programs.
(fn PROMPT &optional DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE)
(defalias 'helm--generic-read-file-name #[1537 "\3062-\206 \206 \307 \206 \310!\211\311\n\"B\312\313\" \236\211\243\211\205-\310!\f\f\f\f\f\f\257\314D\" \315=\316\211\316\317#\262\320=\203_\321\262\203p\322!G\323V\203p\324\262\203\212\204\212\325\306\326\216\327\330!\210\3312\")\"\210\332=\204\243\321=\204\243;\203\247\333\334\"\204\247\327\330!\210\335\336\337\340\341!\342\"\343$\216\203\321\203\321\321=\204\321\324=\204\321\331\"\202\203\347\321=\203\347\344\345!\210\331\"\202\332=\203\365\331\"\202\346\347 \350\f\351\352\353\"\354\316\355\356\357&\262)\203(\211\360\230\204(\361!\202)\211+\266\2130\207" [default-directory this-command helm--file-completion-sources helm-completing-read-handlers-alist helm-completion-mode-start-message helm-completion-mode-quit-message --cl-block-helm--generic-read-file-name-- helm-this-command helm-symbol-name remove format "*helm-mode-%s*" append file-directory-p nil helm-mode--default-filename ido ido-read-file-name help-function-arglist 8 incompatible throw #[0 "\300\301!\207" [helm-mode 1] 2] helm-mode -1 apply read-file-name string-match "^helm" make-byte-code 0 " \203\301\303!\210\304\305!\210\300\211\207" vconcat vector [ido-mode this-command -1 helm-mode 1] 2 ido-mode 1 helm-read-file-name :name :buffer :default :initial-input expand-file-name :alistp :must-match :test :noret "" file-name-as-directory read-file-name-function] 36 (#$ . 39711)])
#@308 A `read-file-name' handler with history.
Can be added to `helm-completing-read-handlers-alist' for functions
that need a `read-file-name' function with directory history.
The `helm-find-files' history `helm-ff-history' is used here.
(fn PROMPT DIR DEFAULT-FILENAME MUSTMATCH INITIAL PREDICATE NAME BUFFER)
(defalias 'helm-read-file-name-handler-1 #[2056 "\306\307=\203 \310\202\f\311\211\206\n\206 \312 \313 \314 \315\f\316\317\320\f\"\321\311\322\323&,\207" [helm-split-window-default-side default-directory helm-reuse-last-window-split-state helm-split-window-inside-p helm-always-two-windows helm-ff-history t same below nil helm-read-file-name :name :history :buffer :default :initial-input expand-file-name :alistp :must-match :test] 31 (#$ . 41441)])
#@27
(fn OLD--FN &rest ARGS)
(defalias 'helm-mode--advice-lisp--local-variables #[385 "\3001\n\301\"0\207\210\302\207" [(error) apply nil] 5 (#$ . 42237)])
#@76 Flag that notify the FCT if sorting have been done in completion function.
(defvar helm-completion--sorting-done nil (#$ . 42399))
#@73 Default sort function for completion-in-region.
(fn CANDIDATES SOURCE)
(defalias 'helm-completion-in-region-sort-fn #[514 "\203\207\301\302\"\207" [helm-completion--sorting-done sort helm-generic-sort-fn] 5 (#$ . 42536)])
#@77 Highlight prefix in helm and helm-fuzzy `helm-completion-styles'.
(fn STR)
(defalias 'helm-mode--completion-in-region-initial-input #[257 "\301>\203\302\303\304\305\306\307\304&\207\207" [helm-completion-style (helm helm-fuzzy) propertize read-only t face helm-mode-prefix rear-nonsticky] 9 (#$ . 42770)])
#@93 Add annotations at end of candidates and filter out dot files.
(fn COMPS AFUN FILE-COMP-P)
(defalias 'helm-completion-in-region--initial-filter #[771 "\211\203&\300\211:\203#@\262\301\302\"\204B\262A\262\202\211\237\207\203;\303\304\305\306\307\310!\311\"\312\313%\"\207\207" [nil string-match "\\`\\.\\{1,2\\}/\\'" mapcar make-byte-code 257 "\300!\211\203\301\302\303\301\304\305##PB\202\207" vconcat vector [propertize " " display face completions-annotations] 10 "\n\n(fn S)"] 10 (#$ . 43088)])
#@111 The try completion function for `completing-styles-alist'.
Actually do nothing.
(fn STRING TABLE PRED POINT)
(defalias 'helm-completion-try-completion #[1028 "\300\207" [nil] 6 (#$ . 43625)])
#@91 The all completions function for `completing-styles-alist'.
(fn STRING TABLE PRED POINT)
(defalias 'helm-completion-all-completions #[1028 "\300$\211@A@\3018\3028\3038\205G\244\207" [helm-completion--multi-all-completions 2 3 4] 12 (#$ . 43824)])
#@103 Allow `all-completions' multi matching on its candidates.
(fn STRING COLLECTION &optional PREDICATE)
(defalias 'helm-completion--multi-all-completions-1 #[770 "\300\301\302\303\304\305\306\n \"\307\"\310\311%#\207" [all-completions "" make-byte-code 513 "<\203\n@\202 \301\203\301!\205$\302\303!\300\"\202$\302\303!\300\"\207" vconcat vector [helm-mm-match helm-stringify] 6 "\n\n(fn X &optional Y)"] 13 (#$ . 44092)])
#@89 Collect completions from TABLE for helm completion style.
(fn STRING TABLE PRED POINT)
(defalias 'helm-completion--multi-all-completions #[1028 "\300O\301O\302$\300@OA\301O\303   #\211\n\n\257\207" [0 nil completion-boundaries helm-completion--multi-all-completions-1] 15 (#$ . 44533)])
#@17
(fn METADATA)
(defalias 'helm-completion--adjust-metadata #[257 "\301>\203\207\302\303\304B\305BABBB\207" [helm-completion-style (helm helm-fuzzy) #[257 "\300\301\"\207" [sort helm-generic-sort-fn] 4 "\n\n(fn CANDIDATES)"] metadata display-sort-function cycle-sort-function] 6 (#$ . 44849)])
(put 'helm 'completion--adjust-metadata 'helm-completion--adjust-metadata)
#@111 The try completion function for `completing-styles-alist'.
Actually do nothing.
(fn STRING TABLE PRED POINT)
(defalias 'helm-flex-completion-try-completion #[1028 "\300\207" [nil] 6 (#$ . 45232)])
#@91 The all completions function for `completing-styles-alist'.
(fn STRING TABLE PRED POINT)
(defalias 'helm-flex-completion-all-completions #[1028 "\300$\211@A@\3018\3028\3038\304\305\"\205$\306\"G\244\262\207" [helm-completion--flex-all-completions 2 3 4 completion-pcm--pattern->regex group helm-flex-add-score-as-prop] 14 (#$ . 45436)])
#@26
(fn CANDIDATES REGEXP)
(defalias 'helm-flex-add-score-as-prop #[514 "\300\211:\203@\262\301\"B\262A\262\202\211\237\207" [nil helm-flex--style-score] 8 (#$ . 45796)])
#@103 Allow `all-completions' multi matching on its candidates.
(fn STRING COLLECTION &optional PREDICATE)
(defalias 'helm-completion--flex-all-completions-1 #[770 "\300\301\302\303\304\305\306!\307\"\310\311%#\207" [all-completions "" make-byte-code 513 "<\203\n@\202 \300\203\300!\205\"\301\302!!\202\"\301\302!!\207" vconcat vector [helm-flex-style-match helm-stringify] 6 "\n\n(fn X &optional Y)"] 12 (#$ . 45986)])
#@16
(fn PATTERN)
(defalias 'helm-completion--flex-transform-pattern #[257 "\211\300\211:\203L@\262;\203>\301\300\211T\211\262GW\2032H\262\302!\303D\237\244\262\202\211\237\266\204\237\244\262\202EC\237\244\262A\262\202\211\237\207" [nil -1 string any] 10 (#$ . 46422)])
#@89 Collect completions from TABLE for helm completion style.
(fn STRING TABLE PRED POINT)
(defalias 'helm-completion--flex-all-completions #[1028 "\300O\301O\302$\300@OA\301O\303#\211@;\204)\211\202,\304B\305!\306\f\f\f#\211 \257\207" [0 nil completion-boundaries completion-basic--pattern prefix helm-completion--flex-transform-pattern helm-completion--flex-all-completions-1] 18 (#$ . 46725)])
#@93 Helm replacement of `completion--in-region'.
(fn START END COLLECTION &optional PREDICATE)
(defalias 'helm--completion-in-region #[1027 "\306\307\310\311#\210 \n\236A\211\203\312\300\243\203@\202\"\210\210\313\314\315\316\317!\320\"\321$\216\322\211\323 \324\"\324`\"\325=\205B\211C`\326 \206K@\211\327=\330!\331\332\"\333\334!\203`\206iA\206i\333\335!?\336\f\f#\337B\340\"\206\341\342\"\343>\206\221\344\345 \"\206\221 \346\230?\205\226\345\341\347\"\350=\206\254\351 \206\254?\205\254\f?\352C\313\353\354\316\317\f\f  &\355\"\356\357%\360>\203\327\211\352\211#\202\330\211\211;\203\341\211\202x\361\333\335!\203\355\206\356\362\363\f\364?\365\366 \203\367\370\"\204\371\372>\203\373!\202!P\202J\367\370\"\2031\325=\205J\202J\203<;\203C\371!\202J\371!P\374\375\376\377C\205XCC\"\201D\325=\201E\201F=\201G\322\201H\201I\201J&\201K\242%,\266\220)\207" [helm-completion-style major-mode helm-completion-styles-alist enable-recursive-minibuffers completion-flex-nospace completion-styles advice-add lisp--local-variables :around helm-mode--advice-lisp--local-variables customize-set-variable make-byte-code 0 "\302\303\300\"\210\304\305\306\307\"\207" vconcat vector [helm-completion--sorting-done customize-set-variable helm-completion-style nil advice-remove lisp--local-variables helm-mode--advice-lisp--local-variables] 3 t helm--prepare-completion-styles buffer-substring-no-properties emacs helm-this-command crm-complete helm-symbol-name format "*helm-mode-%s*" boundp require-match prompt completion-metadata plist-get :annotation-function completion-metadata-get annotation-function (helm-fuzzy emacs) string-suffix-p " " "" category file helm-mode--in-file-completion-p nil 771 "\307\300\301\302\242\206 G\303%\310!\211A\211\203\211\311\241\210\202 \312\262\313=\2051\314\303\315\"\2061\316\311\302\242\203;\302\311\240\210\306\242\204D\306\240\210\205I\317\320!\262\203_G\321X\203_\322\262\323\203j!\202k\304\305#\207" [completion-all-completions last nil 0 emacs completion-metadata-get display-sort-function #[257 "\300\301\"\207" [sort helm-generic-sort-fn] 4 "\n\n(fn CANDIDATES)"] t copy-sequence 1 #[257 "\300\301\"\207" [sort string-lessp] 4 "\n\n(fn ALL)"] helm-completion-in-region--initial-filter helm-completion-style helm-completion--sorting-done] 12 "\n\n(fn STR PREDICATE ACTION)" (helm helm-fuzzy) helm-comp-read "Pattern: " :name :nomark :marked-candidates :initial-input string-match "/\\'" helm-mode--completion-in-region-initial-input (helm helm-fuzzy) helm-basename :buffer :fc-transformer append (helm-cr-default-transformer) this-command minibuffer-completion-confirm completion-extra-properties helm-completion-in-region-default-sort-fn :match-dynamic :fuzzy helm-fuzzy :exec-when-only-one :quit-when-no-cand #[0 "\300\301\302\303#\210\304\207" [run-with-timer 0.01 nil #[0 "\300\301!\207" [message "[No matches]"] 2] t] 4] :must-match helm-completion-in-region--insert-result] 46 (#$ . 47156)])
#@41
(fn RESULT START POINT END BASE-SIZE)
(defalias 'helm-completion-in-region--insert-result #[1285 ";\203)\303p\\D$\210 \205Q\304\305\306\307\310\311\312\313\n\n\"\314\"\315$#\207:\203P\\\316\212b\210\317\n`S\"\203C\320\310!\262)\321\322 ##\207\306\207" [completion-list-insert-choice-function helm-completion-mark-suffix crm-separator choose-completion-string run-with-idle-timer 0.01 nil make-byte-code 0 "`\300Z\301\\\211\205\211`V\205\211\211\205\302\303\211#\262\207" vconcat vector [push-mark t] 6 "," looking-back match-string mapconcat identity] 15 (#$ . 50275)])
(defalias 'helm-mode--in-file-completion-p #[0 "r\301!\203 \206p\211q\210\302\303!)\207" [helm-current-buffer buffer-live-p run-hook-with-args-until-success file-name-at-point-functions] 2])
#@28
(fn &optional FROM-HOOK)
(defalias 'helm-mode--disable-ido-maybe #[256 "\301\300!\205?\205?\302\303\304!\305\"\211\303\304!=\204\306\304\"\210\210\302\303\307!\310\"\211\303\307!=\2041\306\307\"\210\210\311\211\203<\312\313!\207\312\314!\207" [ido-everywhere boundp advice--remove-function default-value read-file-name-function ido-read-file-name set-default read-buffer-function ido-read-buffer nil user-error "Unable to turn on Ido-everywhere while Helm-mode is enabled" "Helm-mode enabled (Ido-everywhere is incompatible with Helm-mode, disabling it)"] 5 (#$ . 51083)])
(defalias 'helm-mode--ido-everywhere-hook #[0 "\205\301\302!\207" [helm-mode helm-mode--disable-ido-maybe t] 2])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\301\313\314& \207" [custom-declare-variable helm-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Helm mode is enabled.\nSee the `helm-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `helm-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group :type boolean] 12)
#@704 Toggle generic helm completion.
All functions in Emacs that use `completing-read',
`read-file-name', `completion-in-region' and friends will use helm
interface when this mode is turned on.
However you can modify this behavior for functions of your choice
with `helm-completing-read-handlers-alist'.
Called with a positive arg, turn on unconditionally, with a
negative arg turn off.
You can toggle it with M-x `helm-mode'.
About `ido-mode':
DO NOT enable `ido-everywhere' when using `helm-mode' and instead of
using `ido-mode', add the commands where you want to use ido to
`helm-completing-read-handlers-alist' with `ido' as value.
Note: This mode is incompatible with Emacs23.
(fn &optional ARG)
(defalias 'helm-mode #[256 "\301 \302\300\303=\203\304\300!?\202\305!\306V\"\210\307\310!\204%\311\312\313\314\211$\210\203d\315\316\317\320B\321\314$\210\315\316\322\323B\324\314$\210\315\316\325\326B\327\314$\210\315\316\330\331B\332\314$\210\333 \210\334\335\336\"\210\337\340!\203\304\341\342\316\343#\210\202\304\344\304\310!\321\"\211\304\310!=\204w\302\310\"\210\210\344\304\345!\324\"\211\304\345!=\204\213\302\345\"\210\210\344\304\346!\327\"\211\304\346!=\204\237\302\346\"\210\210\344\304\347!\332\"\211\304\347!=\204\263\302\347\"\210\210\350\335\336\"\210\337\340!\203\304\351\342\343\"\210\352\353\304\300!\203\320\354\202\321\355\"\210\356\357!\203\373\360\300!\210\301 \203\351\211\301 \232\203\373\361\362\363\304\300!\203\366\364\202\367\365#\266\210\366 \210\304\300!\207" [helm-mode current-message set-default toggle default-value prefix-numeric-value 0 boundp completing-read-function cl--assertion-failed (boundp 'completing-read-function) "`helm-mode' not available, upgrade to Emacs-24" nil advice--add-function :override #[0 "\300\301!\207" [default-value completing-read-function] 2] #[257 "\300\301\"\207" [set-default completing-read-function] 4 "\n\n(fn GV--VAL)"] helm--completing-read-default #[0 "\300\301!\207" [default-value read-file-name-function] 2] #[257 "\300\301\"\207" [set-default read-file-name-function] 4 "\n\n(fn GV--VAL)"] helm--generic-read-file-name #[0 "\300\301!\207" [default-value read-buffer-function] 2] #[257 "\300\301\"\207" [set-default read-buffer-function] 4 "\n\n(fn GV--VAL)"] helm--generic-read-buffer #[0 "\300\301!\207" [default-value completion-in-region-function] 2] #[257 "\300\301\"\207" [set-default completion-in-region-function] 4 "\n\n(fn GV--VAL)"] helm--completion-in-region helm-mode--disable-ido-maybe add-hook ido-everywhere-hook helm-mode--ido-everywhere-hook fboundp ffap-read-file-or-url-internal advice-add ffap-read-file-or-url helm-advice--ffap-read-file-or-url advice--remove-function read-file-name-function read-buffer-function completion-in-region-function remove-hook advice-remove run-hooks helm-mode-hook helm-mode-on-hook helm-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Helm mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 52290) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar helm-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\210\312\306!\207" [helm-mode-map helm-mode-hook variable-documentation put "Hook run after entering or leaving `helm-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" add-minor-mode helm-mode helm-completion-mode-string boundp nil provide] 6)