;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\207" [require evil-common evil-states] 2)#@40 Association list of argument handlers.
(defvar evil-ex-argument-types nil (#$ . 160))#@53 Association list of command bindings and functions.
(defvar evil-ex-commands nil (#$ . 251))#@52 Whether the current Ex range was entered reversed.
(defvar evil-ex-reverse-range nil (#$ . 349))#@32 The current Ex command string.
(defvar evil--ex-cmd nil (#$ . 451))#@50 The argument handler for the current Ex command.
(defvar evil--ex-argument-handler nil (#$ . 524))#@54 Interactive command to use instead of an Ex command.
(defvar evil--ex-shortcut-command nil (#$ . 628))
(define-error 'evil-ex-error "Ex syntax error")#@42 Return non-nil if currently in Ex state.
(defalias 'evil-ex-p #[0 "??\207" [evil-ex-original-buffer] 1 (#$ . 784)])#@458 Enter an Ex command.
The Ex command line is initialized with the value of INITIAL-INPUT. If
the command is called interactively the initial input depends on the
current state. In Normal state if a prefix count is given then the
initial input is ".,.+count", otherwise it is empty. In Visual state
the initial input is the visual region '<,'> or `<,`>. The variable
`evil-ex-initial-input', if non-nil, is appended to the line.

(fn &optional INITIAL-INPUT)
(defalias 'evil-ex #[256 "p\205 	@\306\211\211\211\307\310$\311\312!\211\307\313#M\210\307\314\"\216\315\316\"\210\317\320\206; \205; \321\322\323#\306\301%)\266\203\n\203L \324\n!\202_ \211\325\230\203U \262\211\325\230?\205_ \326!+\207" [evil-want-empty-ex-last-command evil-ex-history evil--ex-shortcut-command evil--ex-argument-handler evil--ex-cmd evil-ex-completion-map nil make-closure #[0 "\304\303!\210\301\305 \210\302\203 \306 \207\300\205 \307\310\311\312\313$\207" [V0 V1 V2 evil-ex-original-buffer make-local-variable evil-ex-setup evil--ex-update add-hook pre-command-hook evil-ex-remove-default nil t] 5] make-symbol "minibuffer-setup" #[0 "\302\303\300\"\210\301 \207" [V0 V1 remove-hook minibuffer-setup-hook] 3] #[0 "\301\302\300\"\207" [V0 remove-hook minibuffer-setup-hook] 3] add-hook minibuffer-setup-hook read-from-minibuffer ":" propertize face shadow call-interactively "" evil-ex-execute] 12 (#$ . 907) (byte-code "\303 \203 \203 \304 \305>\203 \306\202K \303 \203 \307\202K 	\205K \310	!\211\311W\2031 \211T\262\202; \211\311V\203; \211S\262\211\311U\203E \312\202I \313\314\"\262\nP\211\315\230?\205U \211C\207" [evil-ex-visual-char-range current-prefix-arg evil-ex-initial-input evil-visual-state-p evil-visual-type (inclusive exclusive) "`<,`>" "'<,'>" prefix-numeric-value 0 "." format ".,.%+d" ""] 4)])
(evil-set-command-properties 'evil-ex :keep-visual t :repeat 'abort)#@47 Execute STRING as an Ex command.

(fn STRING)
(defalias 'evil-ex-execute #[257 "\300\301!\206 \302\303\"\304\"\207" [eval evil-ex-parse signal evil-ex-error t] 5 (#$ . 2808)])#@279 Parse STRING as an Ex expression and return its evaluation tree.
If STRING is nil, parse the text after point instead.  If SYNTAX is
non-nil, return a syntax tree instead.  ENTRYPOINT is the start
symbol, which defaults to `expression'.

(fn &optional STRING SYNTAX ENTRYPOINT)
(defalias 'evil-ex-parse #[768 "\203 \300\301\302\"r\211q\210\303\304\"\216c\210eb\210\305\306#*\207\211\206# \307\306\211C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\306C\303\310&\262\303\311\"\240\210\303\312\"\240\210\313\240\210\314\240\210\315\240\210\303\316#\240\210\303\317$\240\210\303\320\f$\240\210\f\303\321\"\240\210\303\322\n\f&\240\210\n\323\240\210	\324\240\210\325\240\210\326\240\210\327\240\210\330\240\210\303\331#\240\210\332\240\210\333\240\210\334\240\210\211\303\335#\240\210\336\267\202;!\203\211\203\211\307@B\240\210\211\262\266\226\202B\242!\2033\211\2033\211\337@B\240\210\211\262\266\226\202B\340\341\"\266\226\262\211\205S\342\343\306\302#?\205S\211@\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] evil-ex-parse nil expression #[257 "`\306\305\242!\203 \211\203 \211\307@B\240\210\211\262\211\205\" \211@C\211\262\262\203{ \304\242!\203: \211\203: \211\310@B\240\210\211\262\211\205H \211@B\211\262\262\203{ \303\242!\203` \211\203` \211\311@B\240\210\211\262\211\205n \211@B\211\262\262\203{ \211\237C\266\202\202\200 b\266\306\211\203\222 \204\222 \211@\312B\262\240\210\211\262\206\316`\306\302\242!\203\255 \211\203\255 \211\313@B\240\210\211\262\206\271 \205\270 `C\211\205\303 \211@C\211\262\262\203\304\242!\203\333 \211\203\333 \211\310@B\240\210\211\262\211\205\351 \211@B\211\262\262\203\303\242!\203\211\203\211\311@B\240\210\211\262\211\205\211@B\211\262\262\203\211\237C\266\202\202!b\266\306\211\2033\2043\211@\312B\262\240\210\211\262\206\316`\306\301\242!\203N\211\203N\211\314@B\240\210\211\262\211\205[\211@C\211\262\262\203h\211\237C\266\202\202mb\266\306\211\203\204\211@\315B\262\240\210\211\262\206\316`\306\300\242!\203\232\211\203\232\211\316@B\240\210\211\262\211\205\247\211@C\211\262\262\203\264\211\237C\266\202\202\271b\266\306\211\203\313\204\313\211@\317B\262\240\210\211\262\207" [V0 V1 V2 V3 V4 V5 nil count command argument evil-ex-call-command range line evil-goto-line sexp eval-expression] 7 "\n\n(fn SYNTAX)"] #[257 "\300\242!\203 \211\203 \211\301@B\240\210\207" [V0 number] 5 "\n\n(fn SYNTAX)"] #[257 "\300\242 \203 \211\203 \211`\240\210\207" [V0] 4 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\207" [#1=" 	\n" nil looking-at "[~&*@<>=:#]+\\|[[:alpha:]_]+\\|!" 0 match-string] 3 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\207" [#1# nil looking-at "[[:alpha:]-][[:alnum:][:punct:]]*" 0 match-string] 3 "\n\n(fn SYNTAX)"] #[257 "`\300\301\300w\210\302\303!\203 \304\225b\210\203 `\202 \305\304!C\206% \205$ `C\211\205/ \211@C\211\262\262\203< \211\237C\266\202\202A b\266\300\211\203R \204R \211@\211@\262\240\210\207" [nil #1# looking-at "\\(?:.\\|\n\\)+" 0 match-string] 6 "\n\n(fn SYNTAX)"] #[257 "`\302\303\302w\210\304\305!\205 \306\225b\210\203 `\202 \307\306!C\211\205& \211@C\211\262\262\2033 \211\237C\266\202\2028 b\266\302\211\203I \204I \211@\310C\262\240\210\211\262\206z`\302\303\302w\210\304\311!\205k \306\225b\210\203g `\202j \307\306!C\211\205u \211@C\211\262\262\203\202 \211\237C\266\202\202\207 b\266\302\211\203\230 \204\230 \211@\312C\262\240\210\211\262\206z`\302\301\242!\203\263 \211\203\263 \211\313@B\240\210\211\262\206\277 \205\276 `C\211\205\311 \211@C\211\262\262\203/\303\302w\210\304\314!\205\350 \306\225b\210\203\344 `\202\347 \307\306!C\211\205\363 \211@B\211\262\262\203/\301\242!\203\211\203\211\313@B\240\210\211\262\206\205`C\211\205\"\211@B\211\262\262\203/\211\237C\266\202\2024b\266\302\211\203`\204`\211@\315\316@DC\317\320\316\321A@\322E\323\316DF\324\316\3258EEE\262\240\210\211\262\206z`\302\301\242!\203{\211\203{\211\313@B\240\210\211\262\211\205\210\211@C\211\262\262\203\225\211\237C\266\202\202\232b\266\302\211\203\254\204\254\211@\324B\262\240\210\211\262\206z`\302\303\302w\210\304\326!\205\316\306\225b\210\203\312`\202\315\307\306!C\211\205\330\211@C\211\262\262\203[\300\242!\203\360\211\203\360\211\327@B\240\210\211\262\211\205\376\211@B\211\262\262\203[\303\302w\210\304\330!\205\306\225b\210\203`\202\307\306!C\211\205(\211@B\211\262\262\203[\300\242!\203@\211\203@\211\327@B\240\210\211\262\211\205N\211@B\211\262\262\203[\211\237C\266\202\202`b\266\302\211\203w\204w\211@\331A@\3328E\262\240\210\211\262\207" [V0 V1 nil #1# looking-at "%" 0 match-string evil-ex-full-range "*" evil-ex-last-visual-range line "[,;]" let l1 save-excursion and string= ";" goto-line evil-ex-range 2 "`" marker-name ",`" evil-ex-char-marker-range 3] 12 "\n\n(fn SYNTAX)"] #[257 "`\303\302\242!\203 \211\203 \211\304@B\240\210\211\262\206! \205  `C\211\205+ \211@C\211\262\262\203\274 \301\242!\203C \211\203C \211\305@B\240\210\211\262\206O \205N `C\211\205Z \211@B\211\262\262\203\274 \300\242!\203r \211\203r \211\306@B\240\210\211\262\211\205\200 \211@B\211\262\262\203\274 \301\242!\203\230 \211\203\230 \211\305@B\240\210\211\262\206\244 \205\243 `C\211\205\257 \211@B\211\262\262\203\274 \211\237C\266\202\202\301 b\266\303\211\203\343 \204\343 \211@\307\310\311@A@ED\311\3128\3138EE\262\240\210\211\262\206\303`\303\302\242!\203\376 \211\203\376 \211\304@B\240\210\211\262\211\205\211@C\211\262\262\203G\301\242!\203#\211\203#\211\305@B\240\210\211\262\206/\205.`C\211\205:\211@B\211\262\262\203G\211\237C\266\202\202Lb\266\303\211\203^\204^\211@\311B\262\240\210\211\262\206\303`\303\205k`C\211\205v\211@C\211\262\262\203\251\301\242!\203\216\211\203\216\211\305@B\240\210\211\262\211\205\234\211@B\211\262\262\203\251\211\237C\266\202\202\256b\266\303\211\203\300\204\300\211@\311B\262\240\210\211\262\207" [V0 V1 V2 nil base offset search save-excursion goto-line evil-ex-line 2 3] 10 "\n\n(fn SYNTAX)"] #[257 "\300\242!\203 \211\203 \211\303@B\240\210\211\262\206\224`\304\305\304w\210\306\307!\2055 \310\225b\210\2031 `\2024 \311\310!C\211\205? \211@C\211\262\262\203r \301\242!\203W \211\203W \211\312@B\240\210\211\262\211\205e \211@B\211\262\262\203r \211\237C\266\202\202w b\266\304\211\203\213 \204\213 \211@\313A@D\262\240\210\211\262\206\224\302\242!\203\244 \211\203\244 \211\314@B\240\210\211\262\206\224`\304\305\304w\210\306\315!\205\306 \310\225b\210\203\302 `\202\305 \311\310!C\211\205\320 \211@C\211\262\262\203\335 \211\237C\266\202\202\342 b\266\304\211\203\363 \204\363 \211@\316C\262\240\210\211\262\206\224`\304\305\304w\210\306\317!\205\310\225b\210\203`\202\311\310!C\211\205\211@C\211\262\262\203,\211\237C\266\202\2021b\266\304\211\203B\204B\211@\320C\262\240\210\211\262\206\224`\304\305\304w\210\306\321!\205d\310\225b\210\203``\202c\311\310!C\211\205n\211@C\211\262\262\203{\211\237C\266\202\202\200b\266\304\211\203\221\204\221\211@\322C\262\240\210\211\262\207" [V0 V1 V2 number nil #1# looking-at "'" 0 match-string marker-name evil-ex-marker search "\\^" evil-ex-first-line "\\$" evil-ex-last-line "\\." evil-ex-current-line] 7 "\n\n(fn SYNTAX)"] #[257 "\301\211\211\300\242!\203 \211\203 \211\302@B\240\210\211\262\262\2030 @C\244\262m\2040 \301\262\202 \2056 C\266\203\211\203J \204J \211@\303B\262\240\210\207" [V0 nil signed-number +] 8 "\n\n(fn SYNTAX)"] #[257 "\304\242!\203 \211\203 \211\305@B\240\210\211\262\206z \303\242!\203, \211\203, \211\306@B\240\210\211\262\206z \302\242!\203E \211\203E \211\307@B\240\210\211\262\206z \301\242!\203^ \211\203^ \211\310@B\240\210\211\262\206z \300\242!\203w \211\203w \211\311@B\240\210\211\262\207" [V0 V1 V2 V3 V4 forward backward next prev subst] 5 "\n\n(fn SYNTAX)"] #[257 "`\300\301\300w\210\302\303!\205 \304\225b\210\203 `\202 \305\304!C\211\205& \211@C\211\262\262\203\207 \301\300w\210\302\306!\205E \304\225b\210\203A `\202D \305\304!C\211\205P \211@B\211\262\262\203\207 \301\300w\210\302\307!\205o \304\225b\210\203k `\202n \305\304!C\211\205z \211@B\211\262\262\203\207 \211\237C\266\202\202\214 b\266\300\211\203\240 \204\240 \211@\310A@D\262\240\210\207" [nil #1# looking-at "/" 0 match-string "\\(?:\\\\.\\|[^/]\\)+" "/\\|$" evil-ex-re-fwd] 6 "\n\n(fn SYNTAX)"] #[257 "`\300\301\300w\210\302\303!\205 \304\225b\210\203 `\202 \305\304!C\211\205& \211@C\211\262\262\203\207 \301\300w\210\302\306!\205E \304\225b\210\203A `\202D \305\304!C\211\205P \211@B\211\262\262\203\207 \301\300w\210\302\307!\205o \304\225b\210\203k `\202n \305\304!C\211\205z \211@B\211\262\262\203\207 \211\237C\266\202\202\214 b\266\300\211\203\240 \204\240 \211@\310A@D\262\240\210\207" [nil #1# looking-at "?" 0 match-string "\\(?:\\\\.\\|[^?]\\)+" "?\\|$" evil-ex-re-bwd] 6 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\207" [#1# nil looking-at "[]\\[-a-zA-Z_<>'}{)(]" 0 match-string] 3 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\211\203+ \204+ \211@\306C\262\240\210\207" [#1# nil looking-at "\\\\/" 0 match-string evil-ex-prev-search] 5 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\211\203+ \204+ \211@\306C\262\240\210\207" [#1# nil looking-at "\\\\\\?" 0 match-string evil-ex-prev-search] 5 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\211\203+ \204+ \211@\306C\262\240\210\207" [#1# nil looking-at "\\\\&" 0 match-string evil-ex-prev-search] 5 "\n\n(fn SYNTAX)"] #[257 "`\302\301\242!\203 \211\203 \211\303@B\240\210\211\262\211\205\" \211@C\211\262\262\203^ \300\242!\203: \211\203: \211\304@B\240\210\211\262\206F \205E `C\211\205Q \211@B\211\262\262\203^ \211\237C\266\202\202c b\266\302\211\203u \204u \211@\305B\262\240\210\207" [V0 V1 nil sign number evil-ex-signed-number] 7 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\211\203, \204, \211@\306D\262\240\210\207" [#1# nil looking-at "[+-]" 0 match-string intern] 6 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\211\203, \204, \211@\306D\262\240\210\207" [#1# nil looking-at "[0-9]+" 0 match-string string-to-number] 6 "\n\n(fn SYNTAX)"] #[257 "\300\301w\210\302\303!\205 \304\225b\210\211\203 `\202 \305\304!C\211\203. \204. \211@\306\307DD\262\240\210\207" [#1# nil looking-at "(.*)?" 0 match-string car read-from-string] 7 "\n\n(fn SYNTAX)"] #[0 "\301\242\302!\211@\204\f \302\207\302f\211\205! \211\303>\206! \304X\205! \211\305X\262\203F \306`d{P\307\"\2048 \306\307\"\204F \211G\206> \310[u\210\300\242\302!\207\302f\311=\203i \312\307\"\211\205Y \313\314\"\262\203i \302u\210\315P\240\210\207\207" [V0 V1 nil (45 47) 48 57 evil-ex-binding t 1 33 evil-ex-completed-binding evil-get-command-property :ex-bang "!"] 6] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (expression 256 range 285)) range error "Unknown entrypoint `%s'" search-forward "[^ 	\n]"] 34 (#$ . 2993)])#@77 Close the minibuffer if it is empty, otherwise call `delete-backward-char'.
(defalias 'evil-ex-delete-backward-char #[0 "\300\301 dW\203\f \302\202 \303!\207" [call-interactively minibuffer-prompt-end delete-backward-char abort-recursive-edit] 3 (#$ . 14798) nil])#@88 compiler-macro for inlining `evil-ex-argument-handler-runner'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'evil-ex-argument-handler-runner--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block evil-ex-argument-handler-runner (progn (car cl-x))) nil] 9 (#$ . 15069)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop evil-ex-argument-handler-runner compiler-macro evil-ex-argument-handler-runner--cmacro] 4)#@76 Access slot "runner" of `evil-ex-argument-handler' struct CL-X.

(fn CL-X)
(defalias 'evil-ex-argument-handler-runner #[257 "\211@\207" [] 2 (#$ . 15515)])
(byte-code "\300\301\302\303#\300\301\304\305#\300\207" [function-put evil-ex-argument-handler-runner side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" evil-ex-argument-handler-runner] 5 "\n\n(fn CL-DO CL-X)"]] 5)#@91 compiler-macro for inlining `evil-ex-argument-handler-completer'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'evil-ex-argument-handler-completer--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block evil-ex-argument-handler-completer (progn (nth 1 cl-x))) nil] 9 (#$ . 15930)])
(byte-code "\300\301\302\303#\300\207" [define-symbol-prop evil-ex-argument-handler-completer compiler-macro evil-ex-argument-handler-completer--cmacro] 4)#@79 Access slot "completer" of `evil-ex-argument-handler' struct CL-X.

(fn CL-X)
(defalias 'evil-ex-argument-handler-completer #[257 "\211A@\207" [] 2 (#$ . 16393)])
(byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\211\311\310\312\313\307\310&	\207" [function-put evil-ex-argument-handler-completer side-effect-free t gv-expander #[514 "\300\301\302\"\207" [error "%s is a read-only slot" evil-ex-argument-handler-completer] 5 "\n\n(fn CL-DO CL-X)"] cl-struct-define evil-ex-argument-handler nil list ((runner nil :read-only t) (completer nil :read-only t)) cl-struct-evil-ex-argument-handler-tags] 12)#@116 Initialize Ex minibuffer.
This function registers hooks that are used for the interactive
actions during Ex state.
(defalias 'evil-ex-setup #[0 "\300\301\302\303\304$\210\300\305\306\303\304$\210\300\307\310\303\304$\207" [add-hook after-change-functions evil--ex-update nil t minibuffer-exit-hook evil-ex-teardown completion-at-point-functions evil-ex-completion-at-point] 5 (#$ . 17009)])#@70 Return non-nil if the string COMMAND has a "!" suffix.

(fn COMMAND)
(defalias 'evil--ex-bang-p #[257 "\211G\300V\205 \211GSH\301=\207" [1 33] 3 (#$ . 17405)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put evil--ex-bang-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)#@309 Update Ex variables when the minibuffer changes.
This function is usually called from `after-change-functions'
hook. If BEG is non-nil (which is the case when called from
`after-change-functions'), then an error description is shown
in case of incomplete or unknown commands.

(fn &optional BEG END OLD-LEN)
(defalias 'evil--ex-update #[768 "\203 \306=\203 \307	\310 \"\311!\203 \211\312 \210\210\313\212\314 b\210\315 )\313\211\211\211\211\211\"@\316=\205\360 r#q\210\317A@\320\"\211\250\205I \211\211\"\211\203W \321\211\"\202X \317\3228\320\"\211\211G\323V\205q \211GSH\324=\262\317\3258\320\")\266?\206\360 \326\320\"\211\262\203\322 \327\330\"\211\203\235 \211$\236A\262\210\211%=\203\264 \211@\211\205\257 \211\331\f\"\262\202\360 %@\211\203\277 \211\332!\210\210\211%\211@\211\205\315 \211\333\f\"\262\202\360 \334&\335\336 \"\211;\203\345 \337\340!\202\355 \211?\205\355 \337\341!)\262,\207" [this-command evil-ex-shortcut-map evil--ex-shortcut-command evil--ex-cmd evil-ex-argument evil-ex-bang self-insert-command lookup-key minibuffer-contents-no-properties commandp exit-minibuffer nil minibuffer-prompt-end evil-ex-parse evil-ex-call-command eval t evil-ex-range 2 1 33 3 evil-ex-completed-binding evil-get-command-property :ex-arg update stop start in-turn try-completion evil-ex-completion-table evil-ex-echo "Incomplete command" "Unknown command" current-prefix-arg evil-ex-original-buffer evil-ex-argument-types evil--ex-argument-handler evil-ex-complete-emacs-commands] 12 (#$ . 17714)])#@76 Deinitialize Ex minibuffer.
Clean up everything set up by `evil-ex-setup'.
(defalias 'evil-ex-teardown #[0 "@\211\205	 \211\301!\207" [evil--ex-argument-handler stop] 3 (#$ . 19270)])#@49 Overlay for displaying info messages during Ex.
(defvar evil--ex-echo-overlay nil (#$ . 19460))
(make-variable-buffer-local 'evil--ex-echo-overlay)#@73 Display a message after the current Ex command.

(fn STRING &rest ARGS)
(defalias 'evil-ex-echo #[385 "\206 G\302U?\205[ \303\304\305#\306Q\307\302\310\311\312%\210\307\310G\313\314%\210\315\316 !r\317\320\"\216\321@\322\"\210	\203B \323	dd#\210\202J \324dd\325\312\211%\326\327\330\325\312$\210\331	\332#*\262\262\207" [evil-no-display evil--ex-echo-overlay 0 " [" apply format "]" put-text-property 1 cursor t face evil-ex-info internal--before-with-selected-window minibuffer-window make-closure #[0 "\301\300!\207" [V0 internal--after-with-selected-window] 2] select-window norecord move-overlay make-overlay nil add-hook pre-command-hook evil--ex-remove-echo-overlay overlay-put after-string] 10 (#$ . 19613)])#@41 Remove echo overlay from Ex minibuffer.
(defalias 'evil--ex-remove-echo-overlay #[0 "\301!\210\302\303\304\305\306#\207" [evil--ex-echo-overlay delete-overlay nil remove-hook pre-command-hook evil--ex-remove-echo-overlay t] 4 (#$ . 20348)])#@64 Function used for `completion-at-point-functions' in Ex state.
(defalias 'evil-ex-completion-at-point #[0 "\302\303\304 \237\211\204 \305\306 \262\"\207\211:\205\365 \211\242\211:\205\363 \211\242\211\307=\205\361 \243\211?\205\357 \243\211:\205\355 \211\242\211:\205\353 \211\242\211\310\267\202\350 \243\n\"\262\202\351 \243\211\203[ \305\202q \311\312\313\"\262\205q \305`\262	\"\262\262\202\351 \243\243\211?\205\317 !\262\314\313\"\315!\266\316!\317\320\"\211	\236A\211A@\211:\205\311 \211\242\211\321\267\202\306 \243dE\262\202\307 \243\214d}\210\211 )\262\202\307 \305\262\262\266\203\262\266\202\202\351 \243\211?\205\343 \322\323!\205\343 \323 \262\202\351 \305\262\262\262\262\262\262\207" [evil--ex-cmd evil-ex-argument-types #[257 "\212\211b\300\301w\\)`^\207" [" 	\n" nil] 4 "\n\n(fn B)"] #[514 "!`\300 E\207" [evil-ex-completion-table] 5 "\n\n(fn --CL-FIX-BEG-- BEG)"] evil--ex-syntactic-context nil minibuffer-prompt-end expression #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (command 68 line 81 argument 118 sexp 212)) "[ 	\n]*\\'" looking-at t evil-ex-binding autoload-do-load evil-ex-completed-binding evil-get-command-property :ex-arg #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (collection 170 completion-at-point 182)) fboundp elisp-completion-at-point] 21 (#$ . 20596)])
(defalias 'evil-ex-completion-table #[0 "\302\211\211:\2034 @\262\211A\262\242\262;\204 B\262\303\304\"\203- \305PB\262A\262\202 \211\237\266\204\306	\307\267\202F \207\310\"\207\211:\203\\ \211\311@\312\300#\240\210\211A\262\202G \210\313\"\207" [evil-ex-commands evil-ex-complete-emacs-commands nil evil-get-command-property :ex-bang "!" #[771 "\301\302\303&\207" [obarray completion-table-with-predicate commandp t] 10 "\n\n(fn STR PRED ACTION)"] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 63 in-turn 65)) completion-table-in-turn propertize face evil-completion-table-concat] 8])#@22 

(fn TABLE1 TABLE2)
(defalias 'evil-completion-table-concat #[514 "\300\301#\207" [make-closure #[771 "\211\302\267\202Z \303\301\300D\211\2033 \211@\304#\211\203+ \211\305=\203& \202' \211B\262\210A\266\202\202\n \304\"\207\306\307\310\301#\310\300#\"!\207\311\301#\206W \311\300#??\207\211\242\312=\203s \313\301A$\206z \313\300A$\207\211\314=\205z \315\207" [V0 V1 #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 6 t 56 lambda 74)) nil try-completion t delete-dups append all-completions test-completion boundaries completion-boundaries metadata (metadata (display-sort-function . evil-ex-sort-completions))] 10 "\n\n(fn STRING PRED ACTION)"]] 6 (#$ . 22701)])#@20 

(fn COMPLETIONS)
(defalias 'evil-ex-sort-completions #[257 "\300\301\"\207" [sort #[514 "\300\301\302#\303=\300\301\302#\303==\203 \231\207\207" [get-text-property 0 face evil-ex-commands] 7 "\n\n(fn STR1 STR2)"]] 4 (#$ . 23444)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\210\300\306\307\303#\210\304\306\307\305#\210\300\310\311\"\210\304\310\307\305#\210\300\312\313\303#\210\304\312\313\305#\207" [defalias evil-ex-completion completion-at-point nil make-obsolete "1.15.0" evil-ex-command-completion-at-point evil-ex-completion-at-point evil-ex-argument-completion-at-point ignore evil-ex-elisp-completion-at-point elisp-completion-at-point] 4)#@67 Bind the function FUNCTION to the command CMD.

(fn CMD FUNCTION)
(defalias 'evil-ex-define-cmd #[514 "\301\302\303\304$\266\203\204+ \305\306#\211\203 \211\241\266\202) B\211\262B\210\207\303\307\"\210\310\311\"\310\312\"\211GT\313\211W\205o \313OP\305\306#\211\203Z \211\241\266\202f B\211\262B\266\210\211T\262\202< \207" [evil-ex-commands "\\[" nil string-match t assoc equal "\\(.*\\)\\[\\(.*\\)\\]" match-string 1 2 0] 11 (#$ . 24118)])#@1213 Define a new handler for argument-type ARG-TYPE.
DOC is the documentation string. It is followed by a list of keywords
and function:

:collection COLLECTION

  A collection for completion as required by `all-completions'.

:completion-at-point FUNC

  Function to be called to initialize a potential completion. FUNC
  must match the requirements as described for the variable
  `completion-at-point-functions'. When FUNC is called the minibuffer
  content is narrowed to exactly match the argument.

:runner FUNC

  Function to be called when the type of the current argument changes
  or when the content of this argument changes. This function should
  take one obligatory argument FLAG followed by an optional argument
  ARG. FLAG is one of three symbol `start', `stop' or `update'. When
  the argument type is recognized for the first time and this handler
  is started the FLAG is `start'. If the argument type changes to
  something else or ex state finished the handler FLAG is `stop'. If
  the content of the argument has changed FLAG is `update'. If FLAG is
  either `start' or `update' then ARG is the current value of this
  argument. If FLAG is `stop' then arg is nil.

(fn ARG-TYPE DOC &rest BODY)
(defalias 'evil-ex-define-argument-type '(macro . #[642 ";\204\n B\262\300\211\301@!\203L \211A\262\242\211A\262\242\302\267\266\202\f \303D\262\266\202\f \304\305\303DE\266\203\202\f \304\306\303DE\266\203\202\f \266\202\f \307\310\311D\312EF\207" [nil keywordp #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (:runner 39 :collection 49 :completion-at-point 60)) function cons 'collection 'completion-at-point evil--add-to-alist evil-ex-argument-types quote list] 11 (#$ . 24604)]))
(byte-code "\301\302\303\304#\301\302\305\306#\307\302\310\311#\210\312\313\314#\315\316\317BD\203& \241\266\2021 \313B\211\262B\266\210\312\320\314#\315\316\321BD\203I \241\266\202T \320B\211\262B\266\207" [evil-ex-argument-types function-put evil-ex-define-argument-type lisp-indent-function defun doc-string-elt 2 put edebug-form-spec (&define name [&optional stringp] [&rest [keywordp function-form]]) assoc file equal nil collection read-file-name-internal buffer internal-complete-buffer] 6)#@123 This variable is set to t if shell command completion has been initialized.
See `evil-ex-init-shell-argument-completion'.
(defvar evil--ex-shell-argument-initialized nil (#$ . 26884))
(make-variable-buffer-local 'evil--ex-shell-argument-initialized)#@203 Prepare the current minibuffer for completion of shell commands.
This function must be called from the :runner function of some
argument handler that requires shell completion.

(fn FLAG &optional ARG)
(defalias 'evil-ex-init-shell-argument-completion #[513 "\301=\205 ?\205 \302\303\304!\210\305 \210\306\307\310\302#\207" [evil--ex-shell-argument-initialized start t require shell shell-completion-vars remove-hook completion-at-point-functions comint-completion-at-point] 6 (#$ . 27140)])
(byte-code "\301\302\303#\304\305\306BD\203 \241\266\202! \302B\211\262B\266\207" [evil-ex-argument-types assoc shell equal evil-ex-init-shell-argument-completion completion-at-point comint-completion-at-point] 4)
(defalias 'evil-ex-file-or-shell-command-completion-at-point #[0 "ef\300=\203 \214eTd}\210\301 )\207ed\302E\207" [33 comint-completion-at-point read-file-name-internal] 3])
(byte-code "\301\302\303#\304\305\306BD\203 \241\266\202! \302B\211\262B\266\207" [evil-ex-argument-types assoc file-or-shell equal evil-ex-init-shell-argument-completion completion-at-point evil-ex-file-or-shell-command-completion-at-point] 4)#@70 Return the final binding of COMMAND.

(fn COMMAND &optional NOERROR)
(defalias 'evil-ex-binding #[513 "\211G\301V\205 \211GSH\302=\262\203 \303\304O\202 \305\"A\211\262;\204 \211\2041 \306!\262\307!\203> \310!\206G \207?\205G \311\312\"\207" [evil-ex-commands 1 33 0 -1 assoc intern-soft commandp command-remapping user-error "Unknown command: `%s'"] 6 (#$ . 28299)])#@88 Return the final binding of the completion of COMMAND.

(fn COMMAND &optional NOERROR)
(defalias 'evil-ex-completed-binding #[513 "\301\"\302\303=\203 \202 \206 \"\207" [evil-ex-commands try-completion evil-ex-binding t] 6 (#$ . 28690)])#@144 Replace special symbols in FILE-NAME.
Replaces % by the current file-name,
Replaces # by the alternate file-name in FILE-NAME.

(fn FILE-NAME)
(defalias 'evil-ex-replace-special-filenames #[257 "\300!\301 \302 \205 \301\302 !\300\303\"\206 \262\2032 \300\303\"\206$ \262\304\305\306\211\307&\262\211\203L \300\303\"\206> \211\262\304\310\306\211\307&\262\304\311\312\306$\262P\207" [file-remote-p buffer-file-name other-buffer localname replace-regexp-in-string "\\(^\\|[^\\\\]\\)\\(%\\)" t 2 "\\(^\\|[^\\\\]\\)\\(#\\)" "\\\\\\([#%]\\)" "\\1"] 11 (#$ . 28944)])#@106 Return the current Ex argument as a file name.
This function interprets special file names like # and %.
(defalias 'evil-ex-file-arg #[0 "G\301U?\205 \302!\207" [evil-ex-argument 0 evil-ex-replace-special-filenames] 2 (#$ . 29539)])
(define-error 'evil-ex-no-previous-cmd "No previous command line")#@51 Repeat the last Ex command.

(fn &optional COUNT)
(defalias 'evil-ex-repeat #[256 "\211\203 eb\210\211Sy\210\3022? p	\303:\2036 @\262\3041. \305\302\303\306!)\"0\210\202/ \210A\262\202 \307\310\303\")\266\3030\207" [evil-ex-original-buffer evil-ex-history --cl-block-nil-- nil (evil-ex-no-previous-cmd) throw evil-ex-execute signal evil-ex-no-previous-cmd] 7 (#$ . 29847) "P"])#@65 Execute the given command COMMAND.

(fn RANGE COMMAND ARGUMENT)
(defalias 'evil-ex-call-command #[771 "\203 \306\307\310!\204 \311\312!\210\250\205 \211\211\203# \302\211\"\202$ \313!\211G\314V\2057 \211GSH\315=\262\316\n!`\n\205Z \317\320\"\205Z \321 \203X \202Z \322 \323 \210\324 \210\n\203\220 \325\n\322\"\211A\203y \211A\262\242\202\200 \326\327\330GD\"\211A\262\242b\210\331 \306\223\266!\n\"\332\333!\210\334!)\210\332\335!\210\211\205\251 \211b.\207" [evil-ex-reverse-range current-prefix-arg evil-ex-range evil-ex-bang evil-ex-argument evil-this-type nil y-or-n-p "Backward range given, OK to swap? " user-error "" evil-ex-completed-binding 1 33 evil-type evil-get-command-property :restore-point evil-visual-state-p t evil-exit-visual-state deactivate-mark evil-expand-range signal wrong-number-of-arguments (beg end &rest) mark-marker run-hooks pre-command-hook call-interactively post-command-hook evil-ex-point evil-visual-beginning evil-called-from-ex-p this-command mark-active] 12 (#$ . 30241)])#@73 Return the line number of BASE plus OFFSET.

(fn BASE &optional OFFSET)
(defalias 'evil-ex-line #[513 "\206 \300 \206 \301\\\207" [line-number-at-pos 0] 4 (#$ . 31299)])#@43 Return the line number of the first line.
(defalias 'evil-ex-first-line #[0 "\300e!\207" [line-number-at-pos] 2 (#$ . 31478)])#@45 Return the line number of the current line.
(defalias 'evil-ex-current-line #[0 "\300 \207" [line-number-at-pos] 1 (#$ . 31610)])#@42 Return the line number of the last line.
(defalias 'evil-ex-last-line #[0 "\212db\210n\203 \300y\210\301 )\207" [-1 line-number-at-pos] 1 (#$ . 31745)])#@92 Return the first and last position of the current range.

(fn BEG-LINE &optional END-LINE)
(defalias 'evil-ex-range #[513 "\203\n \301!\202\f \302 \203 \301T!\202 \212\211b\210\302\303!)\211W\203- \304\211\262\262\305\306\307\304%\207" [evil-ex-reverse-range evil-line-position line-beginning-position 2 t evil-range line :expanded] 10 (#$ . 31904)])#@47 Return a range encompassing the whole buffer.
(defalias 'evil-ex-full-range #[0 "\300ed\301\302\303%\207" [evil-range line :expanded t] 6 (#$ . 32273)])#@55 Return a linewise range of the last visual selection.
(defalias 'evil-ex-last-visual-range #[0 "\302	\303#\207" [evil-visual-mark evil-visual-point evil-range line] 4 (#$ . 32431)])#@117 Return MARKER's line number in the current buffer.
Signal an error if MARKER is in a different buffer.

(fn MARKER)
(defalias 'evil-ex-marker #[257 "\300;\203\f \301H\202 !\262\211\247\203 \302!\207\303\304!\207" [evil-get-marker 0 line-number-at-pos user-error "Ex does not support markers in other files"] 4 (#$ . 32620)])#@16 

(fn BEG END)
(defalias 'evil-ex-char-marker-range #[514 "\300;\203\f \301H\202 !\262\300;\203 \301H\202 !\262\247\203* \211\247\204. \302\303!\210\304\305\306 \203< \307 \202= \310#!\207" [evil-get-marker 0 user-error "Ex does not support markers in other files" evil-expand-range evil-range evil-visual-state-p evil-visual-type inclusive] 7 (#$ . 32957)])#@80 Search forward for PATTERN.
Return the line number of the match.

(fn PATTERN)
(defalias 'evil-ex-re-fwd #[257 "\203	 \303!\262\304\305G\306$\210\307!\310\3111: \212\312\313!\210\314\306\315#\2043 eb\210\314\306\315#\2057 \316\305\224!)0\207\317A@!\210\306\207" [evil-ex-search-vim-style-regexp evil-ex-search-pattern evil-ex-search-direction evil-transform-vim-style-regexp set-text-properties 0 nil evil-ex-make-search-pattern forward (invalid-regexp) evil-move-beginning-of-line 2 re-search-forward t line-number-at-pos evil-ex-echo] 6 (#$ . 33335)])#@81 Search backward for PATTERN.
Return the line number of the match.

(fn PATTERN)
(defalias 'evil-ex-re-bwd #[257 "\203	 \303!\262\304\305G\306$\210\307!\310\31119 \212\312 \210\313\306\314#\2042 db\210\313\306\314#\2056 \315\305\224!)0\207\316A@!\210\306\207" [evil-ex-search-vim-style-regexp evil-ex-search-pattern evil-ex-search-direction evil-transform-vim-style-regexp set-text-properties 0 nil evil-ex-make-search-pattern backward (invalid-regexp) evil-move-beginning-of-line re-search-backward t line-number-at-pos evil-ex-echo] 6 (#$ . 33905)])
(defalias 'evil-ex-prev-search #[0 "\300\301!\207" [error "Previous search not yet implemented"] 2])#@90 Return a signed number like -3 and +1.
NUMBER defaults to 1.

(fn SIGN &optional NUMBER)
(defalias 'evil-ex-signed-number #[513 "\206 \300!\207" [1] 4 (#$ . 34573)])#@58 Whether COMMAND accepts the bang argument.

(fn COMMAND)
(defalias 'evil-ex-command-force-p #[257 "\300\301\"\211\205\f \302\303\"\207" [evil-ex-completed-binding t evil-get-command-property :ex-bang] 5 (#$ . 34747)])
(make-obsolete 'evil-ex-command-force-p 'evil-get-command-property "1.15.0")#@224 Return the syntactical context in TREE of the character at POS.
POS defaults to the current position of point.

(fn &optional (POS (point)) (TREE (save-excursion (goto-char (minibuffer-prompt-end)) (evil-ex-parse nil t))))
(defalias 'evil--ex-syntactic-context #[128 "\211\203 \211A\262\242\202 `\203 \211A\262\242\202% \212\300 b\210\301\302\303\")\302C\302C\2038 \304\305\306\307G\\D\"\210\3102T \302C\211\311\312\n%\240\210\211\242\302\"\266\211\2420\207" [minibuffer-prompt-end evil-ex-parse nil t signal wrong-number-of-arguments evil--ex-syntactic-context 2 --cl-block-evil--ex-syntactic-context-- make-closure #[514 ":\203 @9\203 \211A\262\242\302\242BB\262\202  <\2035 \211\2054 \211@\300\242\"\210A\266\202\202! \207\303Y\203@ \304\305\"\210\301\242\203L \302\242V\205S \302\240\210\301\240\207" [V0 V1 V2 V3 throw --cl-block-evil--ex-syntactic-context--] 7 "\n\n(fn NODE PATH)"]] 13 (#$ . 35050)])
(provide 'evil-ex)
