%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/eshell/ |
Current File : //usr/local/share/emacs/27.2/lisp/eshell/esh-mode.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\313\314&\210\315\316\317\320\321DD\322\323\324\313\306&\210\315\325\317\320\326DD\327\323\324\313\306&\210\315\330\317\320\331DD\332\323\324\313\306&\210\315\333\317\320\334DD\335\336\337\323\324\313\306& \210\315\340\317\320\341DD\342\323\343\313\306&\210\315\344\317\320\345DD\346\323\324\313\306&\210\315\347\317\320\350DD\351\323\343\313\306&\210\315\352\317\320\353DD\354\323\324\313\306&\210\315\355\317\320\356DD\357\323\360\313\306&\210\315\361\317\320\362DD\363\323\364\313\306&\210\315\365\317\320\366DD\367\323\343\313\306&\210\315\370\317\320\371DD\372\323\373\313\306&\210\315\374\317\320\375DD\376\323\324\313\306&\210\315\377\317\320\201@ DD\201A \323\324\313\306&\210\315\201B \317\320\201C DD\201D \323\201E \336\201F \313\306& \210\315\201G \317\320\201H DD\201I \323\201J \313\306&\210\201K \201L \201M \307#\210\201N \211\203_\211@\201L N\203X\201M N\204X\201O \201M \201L N#\210A\266\202\2024\210\201P \201L \201M \201Q #\210\315\201M \317\320\201R DD\201S \323\343\313\306&\210\315\201T \317\320\201U DD\201V \323\201W \313\314&\207" [require esh-util esh-module esh-cmd esh-arg custom-declare-group eshell-mode nil "This module contains code for handling input from the user." :tag "User interface" :group eshell custom-declare-variable eshell-mode-unload-hook funcall function #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-mode' is unloaded." :type hook eshell-mode-hook #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-mode' is entered." eshell-first-time-mode-hook #[0 "\300\207" [nil] 1] "A hook that gets run the first time `eshell-mode' is entered.\nThat is to say, the first time during an Emacs session." eshell-exit-hook #[0 "\300\207" [nil] 1] "A hook that is run whenever `eshell' is exited.\nThis hook is only run if exiting actually kills the buffer." :version "24.1" eshell-kill-on-exit #[0 "\300\207" [t] 1] "If non-nil, kill the Eshell buffer on the `exit' command.\nOtherwise, the buffer will simply be buried." boolean eshell-input-filter-functions #[0 "\300\207" [nil] 1] "Functions to call before input is processed.\nThe input is contained in the region from `eshell-last-input-start' to\n`eshell-last-input-end'." eshell-send-direct-to-subprocesses #[0 "\300\207" [nil] 1] "If t, send any input immediately to a subprocess." eshell-expand-input-functions #[0 "\300\207" [nil] 1] "Functions to call before input is parsed.\nEach function is passed two arguments, which bounds the region of the\ncurrent input text." eshell-scroll-to-bottom-on-input #[0 "\300\207" [nil] 1] "Controls whether input to interpreter causes window to scroll.\nIf nil, then do not scroll. If t or `all', scroll all windows showing\nbuffer. If `this', scroll only the selected window.\n\nSee `eshell-preinput-scroll-to-bottom'." (radio (const :tag "Do not scroll Eshell windows" nil) (const :tag "Scroll all windows showing the buffer" all) (const :tag "Scroll only the selected window" this)) eshell-scroll-to-bottom-on-output #[0 "\300\207" [nil] 1] "Controls whether interpreter output causes window to scroll.\nIf nil, then do not scroll. If t or `all', scroll all windows showing\nbuffer. If `this', scroll only the selected window. If `others',\nscroll only those that are not the selected window.\n\nSee variable `eshell-scroll-show-maximum-output' and function\n`eshell-postoutput-scroll-to-bottom'." (radio (const :tag "Do not scroll Eshell windows" nil) (const :tag "Scroll all windows showing the buffer" all) (const :tag "Scroll only the selected window" this) (const :tag "Scroll all windows other than selected" others)) eshell-scroll-show-maximum-output #[0 "\300\207" [t] 1] "Controls how interpreter output causes window to scroll.\nIf non-nil, then show the maximum output when the window is scrolled.\n\nSee variable `eshell-scroll-to-bottom-on-output' and function\n`eshell-postoutput-scroll-to-bottom'." eshell-buffer-maximum-lines #[0 "\300\207" [1024] 1] "The maximum size in lines for eshell buffers.\nEshell buffers are truncated from the top to be no greater than this\nnumber, if the function `eshell-truncate-buffer' is on\n`eshell-output-filter-functions'." integer eshell-output-filter-functions #[0 "\300\207" [(eshell-postoutput-scroll-to-bottom eshell-handle-control-codes eshell-handle-ansi-color eshell-watch-for-password-prompt)] 1] "Functions to call before output is displayed.\nThese functions are only called for output that is displayed\ninteractively, and not for output which is redirected." eshell-preoutput-filter-functions #[0 "\300\207" [nil] 1] "Functions to call before output is inserted into the buffer.\nThese functions get one argument, a string containing the text to be\ninserted. They return the string as it should be inserted." eshell-password-prompt-regexp #[0 "\301\302\303!\"\207" [password-word-equivalents format "\\(%s\\)[^::៖]*[::៖]\\s *\\'" regexp-opt] 4] "Regexp matching prompts for passwords in the inferior process.\nThis is used by `eshell-watch-for-password-prompt'." regexp "27.1" eshell-skip-prompt-function #[0 "\300\207" [nil] 1] "A function called from beginning of line to skip the prompt." (choice (const nil) function) defvaralias eshell-status-in-modeline eshell-status-in-mode-line (saved-value saved-variable-comment) put make-obsolete-variable "24.3" #[0 "\300\207" [t] 1] "If non-nil, let the user know a command is running in the mode line." eshell-directory-name #[0 "\300\301\302\"\207" [locate-user-emacs-file "eshell/" ".eshell/"] 3] "The directory where Eshell control files should be kept." directory] 10) #@62 A variable which is non-nil the first time Eshell is loaded. (defvar eshell-first-time-p t (#$ . 6079)) (defvar eshell-mode nil) (defvar eshell-mode-map nil) (defvar eshell-command-running-string "--") (defvar eshell-command-map nil) (defvar eshell-command-prefix nil) (defvar eshell-last-input-start nil) (defvar eshell-last-input-end nil) (defvar eshell-last-output-start nil) (defvar eshell-last-output-block-begin nil) (defvar eshell-last-output-end nil) (defvar eshell-currently-handling-window nil) (define-abbrev-table 'eshell-mode-abbrev-table nil) (defvar eshell-mode-syntax-table (byte-code "\300 \301\211\302W\203 \303\304#\210\211T\262\202 \305\262\211\306W\203, \303\304#\210\211T\262\202 \307\262\211\310W\203B \303\304#\210\211T\262\202/ \311\262\211\312W\203X \303\304#\210\211T\262\202E \303\313\314#\210\303\315\314#\210\303\316\314#\210\303\317\320#\210\303\321\320#\210\303\322\323#\210\303\324\323#\210\303\325\323#\210\303\326\304#\210\303\327\304#\210\303\330\331#\210\303\332\323#\210\303\333\334#\210\303\335\336#\210\303\337\340#\210\303\341\342#\210\303\311\343#\210\303\344\345#\210\303\307\346#\210\303\347\350#\210\351\352\353\354\355\356!\357\"\360\361%\362 \"\210\207" [make-syntax-table 0 48 modify-syntax-entry "_ " 58 65 91 97 123 128 32 " " 9 12 10 "> " 13 96 "' " 39 44 46 45 124 ". " 35 34 "\" " 92 "/ " 40 "() " 41 ")( " "(} " 125 "){ " "(] " 93 ")[ " map-char-table make-byte-code 514 ":\203 @\301Y\205( @z\302U?\202 \303Y\205( z\302U?\205( \304\305\300#\207" vconcat vector [128 119 256 modify-syntax-entry "_ "] 6 "\n\n(fn KEY VAL)" standard-syntax-table] 9)) #@146 Function added to `kill-buffer-hook' in Eshell buffers. This runs the function `eshell-kill-processes-on-exit', and the hook `eshell-exit-hook'. (defalias 'eshell-kill-buffer-function #[0 "\301\302!\203 \302>\204 \302 \210\303\300!\207" [eshell-exit-hook fboundp eshell-query-kill-processes run-hooks] 2 (#$ . 7761)]) (defvar eshell-mode-hook nil) (byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [eshell-mode-hook variable-documentation put "Hook run after entering Eshell mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp eshell-mode-map definition-name eshell-mode] 4) (defvar eshell-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\317#\207" [eshell-mode-abbrev-table eshell-mode-map variable-documentation put purecopy "Keymap for `eshell-mode'." boundp eshell-mode-syntax-table definition-name eshell-mode (lambda (#1=#:def-tmp-var) (defvar eshell-mode-syntax-table #1#)) make-syntax-table "Syntax table for `eshell-mode'." (lambda (#1#) (defvar eshell-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `eshell-mode'." derived-mode-parent] 5) #@152 Emacs shell interactive mode. This mode runs the hook `eshell-mode-hook', as the final or penultimate step during initialization. \{eshell-mode-map} (defalias 'eshell-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210 @\306\311!\210\307 \306\303!\210\315 \313!\210A\203J \306\316!\210\317!\306\320!\210\321>\211\203I \211\316\240\210\210\322\323\324#\210\322\325\326#\210\322\327\330#\210\322\331\332#\210\306\333!\210\334\335!\211\315 M\210\306\336!\210K\322\337#\210\322\340\341#\210\322\342\343#\210\322\344\332#\210\322\345\346#\210\322\347\350#\210\322\351\352#\210\322\353\354#\210\322\355\356#\210\322\357\330#\210\322\360\361#\210\322\362\363#\210\322\364\365#\210\322\366\367#\210 @\306\370!\210\371B!8\306\372!\210\373:\374C\375\376!\203\377 \306\376!\210\374>\375\377!\203\f\306\377!\210\374?\306\201D !\210\374D\306\201E !\210\201U E]E\306\201F !\210\201V E]F\306\201G !\210\201W G\306\201H !\210\201W H\306\201I !\210\201W I\306\201J !\210\201W J\306\201K !\210`K\317L!\306\201L !\210L\201X ML\211\203\312\211@\201Y !\374\201Z \201[ \"\203\242\201\\ \201] \201^ \"P\262\211\204\257\201_ \201` \"\210\201a \201b !!\204\301\201c !\210\266A\266\202\202}\210\201d N!\204N\307\201e \201f \201g \201h \201i \201j !\201k \"\201l $\216\201m O!\210\201n \"\210)\266\201o \201p \201q !L\"\211\203c\211@\201r \201s \201t \"!\201r \201s \201u \"!\203K\375!\203K\211J>\203E\374\262\201v !\210\211\203Z\201w !\203Z\211 \210\266A\266\202\202\210P\203v\201x \201y \201z \307\211$\210Q\203\210\201x \201y \201{ \307\211$\210R\203\230\306\201S !\210\201| SA\203\267\201x \201} \201~ \374\307$\210\201x \201 \201\200 \374\307$\210\201x \201\201 \201\202 \307\211$\210T\203\321\201v \201\203 !\210\201v \201 !\210)\201\204 \201\205 !\207" [delay-mode-hooks major-mode mode-name eshell-mode-map eshell-mode-syntax-table eshell-mode-abbrev-table make-local-variable t kill-all-local-variables eshell-mode "Eshell" use-local-map set-syntax-table make-sparse-keymap eshell-command-running-string copy-sequence mode-line-format mode-line-modified define-key " " eshell-send-input "\215" eshell-queue-input [(meta control 108)] eshell-show-output [(control 97)] eshell-bol eshell-command-prefix make-symbol "eshell-command-prefix" eshell-command-map [(control 99)] [(meta 111)] eshell-mark-output [(meta 100)] eshell-toggle-direct-send [(control 97)] [(control 98)] eshell-backward-argument [(control 101)] eshell-show-maximum-output [(control 102)] eshell-forward-argument [(control 109)] eshell-copy-old-input [(control 111)] eshell-kill-output [(control 114)] [(control 116)] eshell-truncate-buffer [(control 117)] eshell-kill-input [(control 119)] backward-kill-word [(control 121)] eshell-repeat-argument list-buffers-directory expand-file-name tab-width 8 nil boundp print-length print-level local-abbrev-table eshell-status-in-mode-line default-directory auto-fill-function require-final-newline max-lisp-eval-depth max-specpdl-size eshell-last-input-start eshell-last-input-end eshell-last-output-start eshell-last-output-end eshell-last-output-block-begin eshell-modules-list bidi-paragraph-direction eshell-directory-name eshell-private-directory-modes eshell-send-direct-to-subprocesses eshell-scroll-to-bottom-on-input eshell-scroll-show-maximum-output scroll-conservatively eshell-first-time-p 3000 6000 point-marker left-to-right symbol-name string-match "^eshell-\\(.*\\)" "em-" match-string 1 error "Invalid Eshell module name: %s" featurep intern load file-exists-p default-file-modes make-byte-code 0 "\301\300!\207" vconcat vector [set-default-file-modes] 2 set-default-file-modes make-directory append eshell-subgroups eshell intern-soft format "%s-load-hook" "%s-initialize" run-hooks fboundp add-hook pre-command-hook eshell-intercept-commands eshell-preinput-scroll-to-bottom 1000 eshell-pre-command-hook eshell-command-started eshell-post-command-hook eshell-command-finished kill-buffer-hook eshell-kill-buffer-function eshell-first-time-mode-hook run-mode-hooks eshell-mode-hook] 10 (#$ . 9217) nil]) (put 'eshell-mode 'mode-class 'special) #@55 Indicate in the mode line that a command has started. (defalias 'eshell-command-started #[0 "\301\302 \207" [eshell-command-running-string "**" force-mode-line-update] 1 (#$ . 13429)]) #@56 Indicate in the mode line that a command has finished. (defalias 'eshell-command-finished #[0 "\301\302 \207" [eshell-command-running-string "--" force-mode-line-update] 1 (#$ . 13621)]) (defalias 'eshell-toggle-direct-send #[0 "\203 \301\302\303\304\305#\210\306\307!\207\305\310\303\304\305\211$\210\306\311!\207" [eshell-send-direct-to-subprocesses nil remove-hook pre-command-hook eshell-intercept-commands t message "Sending subprocess input on RET" add-hook "Sending subprocess input directly"] 5 nil nil]) (defalias 'eshell-self-insert-command #[0 "\302\303 9\203 \304N\202 !\"\207" [eshell-last-async-proc last-command-event process-send-string char-to-string ascii-character] 5 nil nil]) (defalias 'eshell-intercept-commands #[0 "\205M \250\205\f \303>?\205M \304\n!\305\n!\306G\307V\203( \310\311\307#\312\232\204D \203D @G\313V\203= \314\262\314\262\202( A\262\202( \211\205K \315\211\266\203\207" [eshell-last-async-proc last-input-event this-command (24 3) where-is-internal symbol-name t 7 substring 0 "eshell-" 1 nil eshell-self-insert-command] 7]) #@117 A special version of `find-tag' that ignores whether the text is read-only. (fn &optional TAGNAME NEXT-P REGEXP-P) (defalias 'eshell-find-tag #[768 "\302\303!\210\304m\305\306\307\"@\262\310#*\207" [find-tag-default-function inhibit-read-only require etags t ignore find-tag-interactive "Find tag: " find-tag] 9 (#$ . 14714) nil]) (make-obsolete 'eshell-find-tag 'xref-find-definition "27.1") #@59 Move forward ARG arguments. (fn LIMIT FUNC PROPERTY ARG) (defalias 'eshell-move-argument #[1028 "\3002 \301\212\302 \210`)\303 \"0\210\212\304!\210\211\305V\2039 `U\2049 \306`\"\203, \211S\262\211\305V\203 \304!\210\202 `)\211b\210\307=\205M \211TU\205M \304u\207" [eshell-incomplete eshell-parse-arguments eshell-bol line-end-position 1 0 get-text-property forward-char] 7 (#$ . 15122)]) #@49 Move forward ARG arguments. (fn &optional ARG) (defalias 'eshell-forward-argument #[256 "\300d\301\302$\207" [eshell-move-argument forward-char arg-end] 6 (#$ . 15528) "p"]) #@50 Move backward ARG arguments. (fn &optional ARG) (defalias 'eshell-backward-argument #[256 "\300e\301\302$\207" [eshell-move-argument backward-char arg-begin] 6 (#$ . 15710) "p"]) #@22 (fn &optional ARG) (defalias 'eshell-repeat-argument #[256 "\212\300!\210`)\301`\"\210\302 \207" [eshell-backward-argument kill-ring-save yank] 5 (#$ . 15897) "p"]) #@68 Goes to the beginning of line, then skips past the prompt, if any. (defalias 'eshell-bol #[0 "\301 \210\205 \207" [eshell-skip-prompt-function beginning-of-line] 1 (#$ . 16072) nil]) #@48 Push a mark at the end of the last input text. (defalias 'eshell-push-command-mark #[0 "\301S\302\"\207" [eshell-last-input-end push-mark t] 3 (#$ . 16265)]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put eshell-push-command-mark byte-optimizer byte-compile-inline-expand custom-add-option eshell-pre-command-hook] 4) #@130 Goto the start of the last command input. Putting this function on `eshell-pre-command-hook' will mimic Plan 9's 9term behavior. (defalias 'eshell-goto-input-start #[0 "b\207" [eshell-last-input-start] 1 (#$ . 16602)]) (byte-code "\300\301\302\303#\210\304\305\301\"\207" [put eshell-goto-input-start byte-optimizer byte-compile-inline-expand custom-add-option eshell-pre-command-hook] 4) #@57 Print STRING to the eshell display buffer. (fn STRING) (defalias 'eshell-interactive-print #[257 "\300\301\"\207" [eshell-output-filter nil] 4 (#$ . 16998)]) (put 'eshell-interactive-print 'byte-optimizer 'byte-compile-inline-expand) #@62 This function outputs a newline if not at beginning of line. (defalias 'eshell-begin-on-new-line #[0 "\212b\210n\206 \301\302\303\"\262)\207" [eshell-last-output-end "\n" eshell-output-filter nil] 4 (#$ . 17240)]) (put 'eshell-begin-on-new-line 'byte-optimizer 'byte-compile-inline-expand) #@155 Output a prompt on a new line, aborting any current input. If NO-HOOKS is non-nil, then `eshell-post-command-hook' won't be run. (fn &optional NO-HOOKS) (defalias 'eshell-reset #[256 "db\210\305 \305 \305 `\305 \212\fb\210n\206 \306\307\310\"\262)\210\211?\205- \311\312!\210db\207" [eshell-last-input-start eshell-last-input-end eshell-last-output-start eshell-last-output-block-begin eshell-last-output-end point-marker "\n" eshell-output-filter nil run-hooks eshell-post-command-hook] 5 (#$ . 17541)]) (put 'eshell-reset 'byte-optimizer 'byte-compile-inline-expand) #@433 Parse the command input from BEG to END. The difference is that `eshell-parse-command' expects a complete command string (and will error if it doesn't get one), whereas this function will inform the caller whether more input is required. If nil is returned, more input is necessary (probably because a multi-line input string wasn't terminated properly). Otherwise, it will return the parsed command. (fn BEG END &optional ARGS) (defalias 'eshell-parse-command-input #[770 "\300\211\3012 \300\302B\303#\2620\211\262\203, \300\304\305<\203&