;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\301\302!\210\204\f\303\304!\210\305\306\307\310\311DD\312\313\314\315\316&\210\305\317\307\310\320DD\321\313\322\315\316&\207" [module-file-suffix require term/xterm error "VTerm needs module support. Please compile Emacs with\n the --with-modules option!" custom-declare-variable vterm-module-cmake-args funcall function #[0 "\300\207" [#1=""] 1 #1#] "Arguments given to CMake to compile vterm-module.\n\nCurrently, vterm defines the following flags (in addition to the\nones already available in CMake):\n\n`USE_SYSTEM_LIBVTERM'. Set it to `Off' to use the vendored version of\nlibvterm instead of the one installed on your system.\n\nThis string is given verbatim to CMake, so it has to have the\ncorrect syntax. An example of meaningful value for this variable\nis `-DUSE_SYSTEM_LIBVTERM=Off'." :type string :group vterm vterm-always-compile-module #[0 "\300\207" [nil] 1] "If not nil, if `vterm-module' is not found, compile it without asking.\n\nWhen `vterm-always-compile-module' is nil, vterm will ask for\nconfirmation before compiling." boolean] 8) #@53 Name of the buffer used for compiling vterm-module. (defvar vterm-install-buffer-name " *Install vterm* " (#$ . 1167)) #@112 Return t if cmake is available. CMake is needed to build vterm, here we check that we can find the executable. (defalias 'vterm-module--cmake-is-available #[0 "\300\301!\204\n\302\303!\210\304\207" [executable-find "cmake" error "Vterm needs CMake to be compiled. Please, install CMake" t] 2 (#$ . 1293)]) #@23 Compile vterm-module. (defalias 'vterm-module-compile #[0 "\303 \205;\304\305\306\307\310\"!!\311\312\313\260\314 !\315!\210\316 \210\310\317\320\321\310\322&)\323U\2036\324\325!\2029\326\327!\266\203\207" [vterm-module-cmake-args vterm-install-buffer-name inhibit-read-only vterm-module--cmake-is-available shell-quote-argument file-name-directory locate-library "vterm.el" t "cd " "; mkdir -p build; cd build; cmake -G 'Unix Makefiles' " " ..; make; cd -" get-buffer-create pop-to-buffer compilation-mode call-process "sh" nil "-c" 0 message "Compilation of `emacs-libvterm' module succeeded" error "Compilation of `emacs-libvterm' module failed!"] 10 (#$ . 1607) nil]) (byte-code "\301\302\303\304#\204 \204\305\306!\203\307 \210\301\302!\210\202 \310\311!\210\301\312!\210\301\313!\210\301\314!\210\301\315!\210\301\316!\210\301\317!\210\301\320!\210\321\322\323\324\325DD\326\327\330\331\332&\210\321\333\323\324\334DD\335\327\330\331\332&\210\321\336\323\324\337DD\340\327\341\331\332&\210\321\342\323\324\343DD\344\327\341\331\332&\210\321\345\323\324\346DD\347\327\350\331\332&\210\351\352\353\303#\210\354\211\203\257\211@\352N\203\250\353N\204\250\355\353\352N#\210A\266\202\202\216\210\356\352\353\357#\210\351\360\361\303#\210\354\211\203\336\211@\360N\203\327\361N\204\327\355\361\360N#\210A\266\202\202\275\210\356\360\361\357#\210\321\353\323\324\362DD\363\327\341\331\332&\210\321\364\323\324\365DD\366\327\367\370\371\331\332& \210\321\372\323\324\373DD\374\327\375\331\332&\210\356\376\377\357#\210\321\201@\323\324\201ADD\201B\327\330\331\332&\210\321\201C\323\324\201DDD\201E\327\330\331\332&\210\321\201F\323\324\201GDD\201H\327\201I\331\332&\210\321\201J\323\324\201KDD\201L\327\350\331\332&\210\321\201M\323\324\201NDD\201O\327\201P\331\332&\210\321\201Q\323\324\201RDD\201S\327\350\331\332&\210\321\201T\323\324\201UDD\201V\327\350\331\332&\210\351\201W\201X\303#\210\354\211\203\345\211@\201WN\203\336\201XN\204\336\355\201X\201WN#\210A\266\202\202\274\210\356\201W\201X\357#\210\321\201W\323\324\201YDD\201Z\327\350\331\332&\210\321\201[\323\324\201\\DD\201]\327\350\331\332&\210\321\201^\323\324\201_DD\201`\327\350\331\332&\210\321\361\323\324\201aDD\201b\327\350\331\332&\210\201c\201d\201e\201f\331\332%\210\201c\201g\201h\201i\331\332%\210\201c\201j\201k\201l\331\332%\210\201c\201m\201n\201o\331\332%\210\201c\201p\201q\201r\331\332%\210\201c\201s\201t\201u\331\332%\210\201c\201v\201w\201x\331\332%\210\201c\201y\201z\201{\331\332%\210\201c\201|\201}\201~\331\332%\210\201c\201\201\200\201\201\331\332%\207" [vterm-always-compile-module require vterm-module nil t y-or-n-p "Vterm needs `vterm-module' to work. Compile it now? " vterm-module-compile error "Vterm will not work until `vterm-module' is compiled!" subr-x find-func cl-lib term color compile face-remap custom-declare-variable vterm-shell funcall function #[0 "\207" [shell-file-name] 1] "The shell that gets run in the vterm." :type string :group vterm vterm-buffer-name #[0 "\300\207" [#1="*vterm*"] 1 #1#] "The basename used for vterm buffers.\nThis is the default name used when running `vterm' or\n`vterm-other-window'.\n\nWith a numeric prefix argument to `vterm', the buffer name will\nbe the value of this variable followed by the number. For\nexample, with the numeric prefix argument 2, the buffer would be\nnamed \"*vterm*<2>\"." vterm-max-scrollback #[0 "\300\207" [1000] 1] "Maximum 'scrollback' value.\n\nThe maximum allowed is 100000. This value can modified by\nchanging the SB_MAX variable in vterm-module.h and recompiling\nthe module." number vterm-min-window-width #[0 "\300\207" [80] 1] "Minimum window width." vterm-kill-buffer-on-exit #[0 "\300\207" [t] 1] "If not nil vterm buffers are killed when the attached process is terminated.\n\nIf `vterm-kill-buffer-on-exit' is set to t, when the process\nassociated to a vterm buffer quits, the buffer is killed. When\nnil, the buffer will still be available as if it were in\n`fundamental-mode'." boolean defvaralias vterm-clear-scrollback vterm-clear-scrollback-when-clearing (saved-value saved-variable-comment) put make-obsolete-variable "0.0.1" vterm-use-vterm-prompt vterm-use-vterm-prompt-detection-method #[0 "\300\207" [nil] 1] "If not nil `vterm-clear' clears both screen and scrollback.\n\nThe scrollback is everything that is not current visible on\nscreen in vterm buffers.\n\nIf `vterm-clear-scrollback-when-clearing' is nil, `vterm-clear'\nclears only the screen, so the scrollback is accessible moving\nthe point up." vterm-keymap-exceptions #[0 "\300\207" [("C-c" "C-x" "C-u" "C-g" "C-h" "C-l" "M-x" "M-o" "C-v" "M-v" "C-y" "M-y")] 1] "Exceptions for `vterm-keymap'.\n\nIf you use a keybinding with a prefix-key, add that prefix-key to\nthis list. Note that after doing so that prefix-key cannot be sent\nto the terminal anymore.\n\nThe mapping is done by the macro `vterm-define-key', and the\nfunction `vterm--exclude-keys' removes the keybindings defined in\n`vterm-keymap-exceptions'." (repeat string) :set #[514 "L\210\301\302!\205\303\300!\205\302\"\207" [vterm-mode-map fboundp vterm--exclude-keys boundp] 5 "\n\n(fn SYM VAL)"] vterm-exit-functions #[0 "\300\207" [nil] 1] "List of functions called when a vterm process exits.\n\nEach function is called with two arguments: the vterm buffer of\nthe process if any, and a string describing the event passed from\nthe sentinel.\n\nThis hook applies only to new vterms, created after setting this\nvalue with `add-hook'.\n\nNote that this hook will not work if another package like\n`shell-pop' sets its own sentinel to the `vterm' process." hook vterm-set-title-functions "This variable was substituted by `vterm-buffer-name-string'." vterm-buffer-name-string #[0 "\300\207" [nil] 1] "Format string for the title of vterm buffers.\n\nIf `vterm-buffer-name-string' is nil, vterm will not set the\ntitle of its buffers. If not nil, `vterm-buffer-name-string' has\nto be a format control string (see `format') containing one\ninstance of %s which will be substituted with the string TITLE.\nThe argument TITLE is provided by the shell. This requires shell\nside configuration.\n\nFor example, if `vterm-buffer-name-string' is set to \"vterm %s\",\nand the shell properly configured to set TITLE=$(pwd), than vterm\nbuffers will be named \"vterm\" followed by the current path.\n\nSee URL http://tldp.org/HOWTO/Xterm-Title-4.html for additional\ninformation on the how to configure the shell." vterm-term-environment-variable #[0 "\300\207" [#2="xterm-256color"] 1 #2#] "TERM value for terminal." vterm-environment #[0 "\300\207" [nil] 1] "List of extra environment variables to the vterm shell processes only.\n\ndemo: '(\"env1=v1\" \"env2=v2\")" (repeat string) vterm-enable-manipulate-selection-data-by-osc52 #[0 "\300\207" [nil] 1] "Support OSC 52 MANIPULATE SELECTION DATA.\n\nSupport copy text to emacs kill ring and system clipboard by using OSC 52.\nFor example: send base64 encoded 'foo' to kill ring: echo -en ']52;c;Zm9v',\ntmux can share its copy buffer to terminals by supporting osc52(like iterm2 xterm),\nyou can enable this feature for tmux by :\nset -g set-clipboard on #osc 52 copy paste share with iterm\nset -ga terminal-overrides ',xterm*:XT:Ms=E]52;%p1%s;%p2%s'\nset -ga terminal-overrides ',screen*:XT:Ms=E]52;%p1%s;%p2%s'\n\nThe clipboard querying/clearing functionality offered by OSC 52 is not implemented here,\nAnd for security reason, this feature is disabled by default." vterm-eval-cmds #[0 "\300\207" [(("find-file" find-file) ("message" message) ("vterm-clear-scrollback" vterm-clear-scrollback))] 1] "Whitelisted Emacs functions that can be executed from vterm.\n\nYou can execute Emacs functions directly from vterm buffers. To do this,\nyou have to escape the name of the function and its arguments with ]51;E.\n\nSee Message passing in README.\n\nThe function you want to execute has to be in `vterm-eval-cmds'.\n\n`vterm-eval-cmds' has to be a list of pairs of the format:\n(NAME-OF-COMMAND-IN-SHELL EMACS-FUNCTION)\n\nThe need for an explicit map is to avoid arbitrary code execution." (alist :key-type string) vterm-disable-underline #[0 "\300\207" [nil] 1] "When not-nil, underline text properties are ignored.\n\nThis means that vterm will render underlined text as if it was not\nunderlined." vterm-disable-inverse-video #[0 "\300\207" [nil] 1] "When not-nil, inverse video text properties are ignored.\n\nThis means that vterm will render reversed video text as if it was not\nsuch." vterm-disable-bold-font vterm-disable-bold #[0 "\300\207" [nil] 1] "When not-nil, bold text properties are ignored.\n\nThis means that vterm will render bold with the default face weight." vterm-ignore-blink-cursor #[0 "\300\207" [t] 1] "When t, vterm will ignore request from application to turn on or off cursor blink.\n\nIf nil, cursor in any window may begin to blink or not blink because `blink-cursor-mode`\nis a global minor mode in Emacs, you can use `M-x blink-cursor-mode` to toggle." vterm-copy-exclude-prompt #[0 "\300\207" [t] 1] "When not-nil, the prompt is not included by `vterm-copy-mode-done'." #[0 "\300\207" [t] 1] "When not-nil, the prompt is detected through the shell.\n\nVterm needs to know where the shell prompt is to enable all the\navailable features. There are two supported ways to do this.\nFirst, the shell can inform vterm on the location of the prompt.\nThis requires shell-side configuration: the escape code 51;A is\nused to set the current directory and prompt location. This\ndetection method is the most-reliable. To use it, you have\nto change your shell prompt to print 51;A.\n\nThe second method is using a regular expression. This method does\nnot require any shell-side configuration. See\n`term-prompt-regexp', for more information." custom-declare-face vterm-color-black ((t :inherit term-color-black)) "Face used to render black color code.\nThe foreground color is used as ANSI color 0 and the background\ncolor is used as ANSI color 8." vterm-color-red ((t :inherit term-color-red)) "Face used to render red color code.\nThe foreground color is used as ANSI color 1 and the background\ncolor is used as ANSI color 9." vterm-color-green ((t :inherit term-color-green)) "Face used to render green color code.\nThe foreground color is used as ANSI color 2 and the background\ncolor is used as ANSI color 10." vterm-color-yellow ((t :inherit term-color-yellow)) "Face used to render yellow color code.\nThe foreground color is used as ANSI color 3 and the background\ncolor is used as ANSI color 11." vterm-color-blue ((t :inherit term-color-blue)) "Face used to render blue color code.\nThe foreground color is used as ANSI color 4 and the background\ncolor is used as ANSI color 12." vterm-color-magenta ((t :inherit term-color-magenta)) "Face used to render magenta color code.\nThe foreground color is used as ansi color 5 and the background\ncolor is used as ansi color 13." vterm-color-cyan ((t :inherit term-color-cyan)) "Face used to render cyan color code.\nThe foreground color is used as ansi color 6 and the background\ncolor is used as ansi color 14." vterm-color-white ((t :inherit term-color-white)) "Face used to render white color code.\nThe foreground color is used as ansi color 7 and the background\ncolor is used as ansi color 15." vterm-color-underline ((t :inherit default)) "Face used to render cells with underline attribute.\nOnly foreground is used." vterm-color-inverse-video ((t :inherit default)) "Face used to render cells with inverse video attribute.\nOnly background is used."] 10) #@50 Color palette for the foreground and background. (defvar vterm-color-palette [vterm-color-black vterm-color-red vterm-color-green vterm-color-yellow vterm-color-blue vterm-color-magenta vterm-color-cyan vterm-color-white] (#$ . 13378)) #@18 Pointer to Term. (defvar vterm--term nil (#$ . 13620)) (make-variable-buffer-local 'vterm--term) #@32 Shell process of current term. (defvar vterm--process nil (#$ . 13723)) (make-variable-buffer-local 'vterm--process) (defvar vterm--redraw-timer nil nil) (make-variable-buffer-local 'vterm--redraw-timer) (defvar vterm--redraw-immididately nil nil) (make-variable-buffer-local 'vterm--redraw-immididately) (defvar vterm--linenum-remapping nil nil) (make-variable-buffer-local 'vterm--linenum-remapping) (defvar vterm--prompt-tracking-enabled-p nil nil) (make-variable-buffer-local 'vterm--prompt-tracking-enabled-p) (defvar vterm--insert-function (symbol-function 'insert) nil) (make-variable-buffer-local 'vterm--insert-function) (defvar vterm--delete-char-function (symbol-function 'delete-char) nil) (make-variable-buffer-local 'vterm--delete-char-function) (defvar vterm--delete-region-function (symbol-function 'delete-region) nil) (make-variable-buffer-local 'vterm--delete-region-function) (defvar vterm--undecoded-bytes nil nil) (make-variable-buffer-local 'vterm--undecoded-bytes) #@193 Delay for refreshing the buffer after receiving updates from libvterm. A larger delary improves performance when receiving large bursts of data. If nil, never delay. The units are seconds. (defvar vterm-timer-delay 0.1 (#$ . 14719)) #@76 Define a command that sends KEY with modifiers C and M to vterm. (fn KEY) (defalias 'vterm-define-key '(macro . #[257 "\302\303\304\305\"!\306\304\307\"\310\311\312\313GS \"!\306\314\306\315\316#)\266\203\2069\317\306\315\316#)\266\203)\320 \306\315\316#)\266\203\321\n\306\315\316#)\266\203\257\257\207" [case-fold-search inhibit-changing-match-data defun intern format "vterm-send-%s" nil "Sends %s to the libvterm." (interactive) vterm-send-key char-to-string get-byte "[A-Z]$" t string-match "S-" "M-" "C-"] 17 (#$ . 14961)])) (byte-code "\300\301\302\303#\300\301\304\305#\306\307\310\311\211:\203K@\262\312\313\311\211\211\314X\203;\315\316#\262B\262T\262\311\262\202\237\266\204!\244\262A\262\202\211\237\266\203\"\210\306\317\320\311\211:\203\222@\262\312\321\311\211\211\322X\203\202\315\316#\262B\262T\262\311\262\202d\237\266\204!\244\262A\262\202V\211\237\266\203\"\207" [function-put vterm-define-key lisp-indent-function defun doc-string-elt 3 mapc #[257 "\300\301D!\207" [eval vterm-define-key] 4 "\n\n(fn KEY)"] ("M-") nil reverse 65 90 format "%s%c" #[257 "\300\301D!\207" [eval vterm-define-key] 4 "\n\n(fn KEY)"] ("C-" "M-" "C-S-") 97 122] 16) #@138 Remove EXCEPTIONS from the keys bound by `vterm-define-keys'. Exceptions are defined by `vterm-keymap-exceptions'. (fn MAP EXCEPTIONS) (defalias 'vterm--exclude-keys #[514 "\300\301\302\"\"\210\300\301\303\"\304\305\211\211\306X\2033\307\310\"\262\235\204)B\262T\262\305\262\202\237\266\204\"\210\300\301\311\"\312\305\211:\203\204@\262\313\314\305\211\211\315X\203t\307\316#\262 \235\204jB\262T\262\305\262\202O\237\266\204!\244\262A\262\202A\211\237\266\203\"\210\300\301\317\"\320\305\211:\203\325@\262\313\321\305\211\211\322X\203\305\307\316#\262 \235\204\273B\262T\262\305\262\202\240\237\266\204!\244\262A\262\202\222\211\237\266\203\"\210\300\301\323\"\324\305\211:\203&@\262\313\321\305\211\211\322X\203\307\316#\262 \235\204\fB\262T\262\305\262\202\361\237\266\204!\244\262A\262\202\343\211\237\266\203\"\207" [mapc make-closure #[257 "\301\300\302!\303#\207" [V0 define-key kbd nil] 5 "\n\n(fn KEY)"] #[257 "\301\300\302!\303#\207" [V0 define-key kbd vterm--self-insert] 5 "\n\n(fn KEY)"] 1 nil 12 format "" #[257 "\301\300\302!\303\304\305\"!#\207" [V0 define-key kbd intern format "vterm-send-%s"] 8 "\n\n(fn KEY)"] ("M-") reverse 65 90 "%s%c" #[257 "\301\300\302!\303\304\305\"!#\207" [V0 define-key kbd intern format "vterm-send-%s"] 8 "\n\n(fn KEY)"] ("C-" "M-" "C-S-") 97 122 #[257 "\301\300\302!\303#\207" [V0 define-key kbd ignore] 5 "\n\n(fn KEY)"] ("C-M-" "C-M-S-")] 16 (#$ . 16215)]) #@48 Handle xterm paste EVENT in vterm. (fn EVENT) (defalias 'vterm-xterm-paste #[257 "\300\301\302\"r\211q\210\303\304\"\216\305!\210\306\307 !\210*\210\310 \207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] xterm-paste kill-new buffer-string vterm-yank] 5 (#$ . 17748) "e"]) (defvar vterm-mode-map (byte-code "\301 \302\"\210\303\304\305#\210\303\306\305#\210\303\307\305#\210\303\310\311#\210\303\312\311#\210\303\313\305#\210\303\314\315#\210\303\316\315#\210\303\317\320#\210\303\321\322#\210\303\323\322#\210\303\324\322#\210\303\325\326#\210\303\327\326#\210\303\330\331#\210\303\332\331#\210\303\333\334#\210\303\335\334#\210\303\336\337#\210\303\340\341#\210\303\342\343#\210\303\344\345#\210\303\346\337#\210\303\347\341#\210\303\350\351#\210\303\352\353#\210\303\354\355#\210\303\356\357#\210\303\360\305#\210\303\361\305#\210\303\362\305#\210\303\363\305#\210\303\364\305#\210\303\365\366#\210\303\367\370#\210\303\371\372#\210\303\373\374#\210\303\375\305#\210\303\376\377#\210\303\201@\305#\210\303\201A\201B#\210\303\201C\201D#\210\303\201E\201F#\210\303\201G\305#\210\303\201H\201I#\210\303\201J\201K#\210\303\201L\201M#\210\303\201N\201O#\210\303\201P\201Q#\210\303\201R\201S#\210\303\201T\305#\210\303\201U\201V#\210\303\201W\201X#\210\303\201Y\201Z#\210\303\201[\201\\#\210\207" [vterm-keymap-exceptions make-sparse-keymap vterm--exclude-keys define-key "" vterm--self-insert [134217788] [134217790] [tab] vterm-send-tab " " [backtab] [backspace] vterm-send-backspace "" [delete] vterm-send-delete [M-backspace] vterm-send-meta-backspace [134217855] [C-backspace] [return] vterm-send-return " " [C-left] vterm-send-M-b [M-left] [C-right] vterm-send-M-f [M-right] [C-up] vterm-send-up [C-down] vterm-send-down [left] vterm-send-left [right] vterm-send-right [up] [down] [prior] vterm-send-prior [S-prior] scroll-down-command [next] vterm-send-next [S-next] scroll-up-command [home] [end] [C-home] [C-end] [escape] [remap yank] vterm-yank [remap xterm-paste] vterm-xterm-paste [remap yank-pop] vterm-yank-pop [remap mouse-yank-primary] vterm-yank-primary [67108896] [33554464] vterm-send-space "" [67108911] vterm-undo [134217774] vterm-send-meta-dot [134217772] vterm-send-meta-comma "" "" vterm-send-C-c "\f" vterm-clear-scrollback "\f" vterm-clear "" vterm-send-ctrl-slash "" vterm-send-C-g "" vterm-send-C-u [remap self-insert-command] "" vterm-reset-cursor-point "" vterm-next-prompt "" vterm-previous-prompt "" vterm-copy-mode] 5)) (defvar vterm-copy-mode-map (byte-code "\300 \301\302\303#\210\301\304\305#\210\301\306\305#\210\301\307\310#\210\301\311\312#\210\301\313\314#\210\301\315\316#\210\301\317\320#\210\207" [make-sparse-keymap define-key "" vterm-copy-mode [return] vterm-copy-mode-done " " "" vterm-reset-cursor-point "" vterm-beginning-of-line "" vterm-end-of-line "" vterm-next-prompt "" vterm-previous-prompt] 5)) (defvar vterm-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [vterm-mode-hook variable-documentation put "Hook run after entering VTerm mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp vterm-mode-map definition-name vterm-mode] 4) (defvar vterm-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" [vterm-mode-abbrev-table vterm-mode-map variable-documentation put purecopy "Keymap for `vterm-mode'." boundp vterm-mode-syntax-table definition-name vterm-mode (lambda (def-tmp-var) (defvar vterm-mode-syntax-table def-tmp-var)) make-syntax-table "Syntax table for `vterm-mode'." (lambda (def-tmp-var) (defvar vterm-mode-abbrev-table def-tmp-var)) define-abbrev-table nil "Abbrev table for `vterm-mode'." derived-mode-parent] 5) #@149 Major mode for vterm buffer. This mode runs the hook `vterm-mode-hook', as the final or penultimate step during initialization. \{vterm-mode-map} (defalias 'vterm-mode #[0 "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 @\315 \210\316\317!\203/\320AB\"\321\322\323#C\210\324D\325EP\326\327\330\331!!P\332BBF#\307\333\334\335 \336 ZG]HIJF\337\340 KLMNO&P\307Q\306\341!\210\342!\306\343!\210\344#\306\345!\210\344%\306\346!\210\347&\306\350!\210\307(\306\351!\210\352)\353\354\355\356B\357\334$\210\360\361\331\362p\363\364\365\366\367R\370=\203\267\371\202\270\372\340 \fS%E\373\374\375\376\377\201X\201YT\204\325U\205\330\201Z&V,\266\201[\201\\\201]\334\307$\210\201^P\201_V!\"\210\201`V\201a\201b#\210\201cW)\201d\201e!\207" [delay-mode-hooks major-mode mode-name vterm-mode-map vterm-mode-syntax-table vterm-mode-abbrev-table make-local-variable t kill-all-local-variables vterm-mode "VTerm" use-local-map set-syntax-table buffer-disable-undo boundp display-line-numbers expt face-remap-add-relative line-number :height append "TERM=" "EMACS_VTERM_PATH=" file-name-directory find-library-name "vterm" ("INSIDE_EMACS=vterm" "LINES" "COLUMNS") binary nil window-body-width vterm--get-margin-width vterm--new window-body-height scroll-conservatively 101 scroll-margin 0 hscroll-margin hscroll-step 1 truncate-lines font-lock-defaults (nil t) advice--add-function :filter-return #[0 "\300\301!\207" [advice--buffer-local filter-buffer-substring-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local filter-buffer-substring-function] 4 "\n\n(fn GV--VAL)"] vterm--filter-buffer-substring make-process :name :buffer :command "/bin/sh" "-c" format "stty -nl sane %s erase ^? rows %d columns %d >/dev/null && exec %s" berkeley-unix "" "iutf8" :coding no-conversion :connection-type pty :filter local-abbrev-table text-scale-mode-step text-scale-mode-amount vterm--linenum-remapping vterm-environment vterm-term-environment-variable process-environment vterm-min-window-width process-adaptive-read-buffering coding-system-for-read inhibit-eol-conversion vterm-max-scrollback vterm-disable-bold-font vterm-disable-underline vterm-disable-inverse-video vterm-ignore-blink-cursor vterm--term buffer-read-only system-type vterm-shell vterm-exit-functions vterm-kill-buffer-on-exit vterm--process next-error-function vterm--filter :sentinel vterm--sentinel add-hook change-major-mode-hook #[0 "\300\301!\207" [user-error "You cannot change major mode in vterm buffers"] 2 nil nil] vterm--set-pty-name process-tty-name process-put adjust-window-size-function vterm--window-adjust-process-window-size vterm-next-error-function run-mode-hooks vterm-mode-hook] 20 (#$ . 21931) nil]) #@241 Function to enable the option `compilation-shell-minor-mode' for vterm. `'compilation-shell-minor-mode' would change the value of local variable `next-error-function', so we should call this function in `compilation-shell-minor-mode-hook'. (defalias 'vterm--compilation-setup #[0 "\302=\205 \303\211\207" [major-mode next-error-function vterm-mode vterm-next-error-function] 2 (#$ . 24690)]) (add-hook 'compilation-shell-minor-mode-hook 'vterm--compilation-setup) #@303 Advance to the next error message and visit the file where the error was. This is the value of `next-error-function' in Compilation buffers. Prefix arg N says how many error messages to move forwards (or backwards, if negative). Optional argument RESET clears all the errors. (fn N &optional RESET) (defalias 'vterm-next-error-function #[513 "`\301 \211\203 \211b\210\302\")\207" [default-directory vterm--get-pwd compilation-next-error-function] 7 (#$ . 25164) "p"]) #@99 Non-nil if Vterm-Copy mode is enabled. Use the command `vterm-copy-mode' to change this variable. (defvar vterm-copy-mode nil (#$ . 25648)) (make-variable-buffer-local 'vterm-copy-mode) #@959 Toggle `vterm-copy-mode'. This is a minor mode. If called interactively, toggle the `Vterm-Copy mode' mode. If the prefix argument is positive, enable the mode, and if it is zero or negative, disable the mode. If called from Lisp, toggle the mode if ARG is `toggle'. Enable the mode if ARG is nil, omitted, or is a positive number. Disable the mode if ARG is a negative number. To check whether the minor mode is enabled in the current buffer, evaluate `vterm-copy-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. When `vterm-copy-mode' is enabled, the terminal will not display additional output received from the underlying process and will behave similarly to buffer in `fundamental-mode'. This mode is typically used to copy text from vterm buffers. A conventient way to exit `vterm-copy-mode' is with `vterm-copy-mode-done', which copies the selected text and exit `vterm-copy-mode'. (fn &optional ARG) (defalias 'vterm-copy-mode #[256 "\304 \305=\203 ?\202\247\203\306W\203\307\202\310\311\301!\2031\312\300 \"\2031\300 B\n\313=\203R\203E\314\307!\210\315 \210\202V\316 \210\314 !\210\317 \210\202V\320\321!\210\322\323\203`\324\202a\325\"\210\326\327!\203\203\304 \203u\211\304 \232\203\203\330\331\203\332\202\200\333\334#\210\210\335 \210\207" [vterm-copy-mode local-minor-modes major-mode vterm-mode-map current-message toggle 1 nil t boundp delq vterm-mode use-local-map vterm-send-stop vterm-reset-cursor-point vterm-send-start user-error "You cannot enable vterm-copy-mode outside vterm buffers" run-hooks vterm-copy-mode-hook vterm-copy-mode-on-hook vterm-copy-mode-off-hook called-interactively-p any message "Vterm-Copy mode %sabled%s" "en" "dis" " in current buffer" force-mode-line-update] 6 (#$ . 25841) (byte-code "\203\n\301!\202 \302C\207" [current-prefix-arg prefix-numeric-value toggle] 2)]) (defvar vterm-copy-mode-hook nil) (byte-code "\301\302N\204\f\303\301\302\304#\210\303\301\305\306#\210\303\301\307\310C#\210\311\312\313\310\211%\207" [vterm-copy-mode-map vterm-copy-mode-hook variable-documentation put "Hook run after entering or leaving `vterm-copy-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" custom-type hook standard-value nil add-minor-mode vterm-copy-mode " VTermCopy"] 6) #@386 Save the active region or line to the kill ring and exit `vterm-copy-mode'. If a region is defined then that region is killed, with no region then current line is killed from start to end. The option `vterm-copy-exclude-prompt' controls if the prompt should be included in a line copy. Using the universal prefix ARG will invert `vterm-copy-exclude-prompt' for that call. (fn ARG) (defalias 'vterm-copy-mode-done #[257 "\204\302\303!\210\304 \2044\305 b\210 \203\211\203! \204,\211\203,\306 \206'\307\305 ]b\210\310`!\210\311 b\210\312\313 \314 \"\210\300\315!\207" [vterm-copy-mode vterm-copy-exclude-prompt user-error "This command is effective only in vterm-copy-mode" use-region-p vterm--get-beginning-of-line vterm--get-prompt-point 0 set-mark vterm--get-end-of-line kill-ring-save region-beginning region-end -1] 4 (#$ . 28243) "P"]) #@32 Send invoking key to libvterm. (defalias 'vterm--self-insert #[0 "\205`\304 !\305>\306>\307>\310 !\311\n\203J\312\n!\262\211<\205H\211\211\205F\211@\313\314!!\211\203>\315   $\210\210A\266\202\202%\262)\207\313\314!!\211\205\\\315$\262\266\206\207" [vterm--term last-command-event input-method-function inhibit-read-only event-modifiers shift meta control event-basic-type nil t key-description vector vterm-send-key] 14 (#$ . 29103) nil]) #@104 Send KEY to libvterm with optional modifiers SHIFT, META and CTRL. (fn KEY &optional SHIFT META CTRL) (defalias 'vterm-send-key #[1025 "\306 \210\2052\307\211 9\204 \203 \204 \211\204 \226\262\310%\210\307\311  \312\307$*\207" [vterm--term inhibit-read-only inhibit-redisplay last-command-event vterm--redraw-immididately vterm--process deactivate-mark t vterm--update accept-process-output nil vterm-timer-delay] 10 (#$ . 29580)]) #@73 Send KEY to libvterm. KEY can be anything `kbd' understands. (fn KEY) (defalias 'vterm-send #[257 "\300\301!!\302!\303!\304\305!\306>\307>\310>$\207" [listify-key-sequence kbd event-modifiers event-basic-type vterm-send-key char-to-string shift meta control] 10 (#$ . 30038)]) #@67 Output from the system is started when the system receives START. (defalias 'vterm-send-start #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 30331) nil]) #@66 Output from the system is stopped when the system receives STOP. (defalias 'vterm-send-stop #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 30499) nil]) #@29 Send `C-m' to the libvterm. (defalias 'vterm-send-return #[0 "\302 \210\205\303!\203\304 \305\"\207\304 \306\"\207" [vterm--term vterm--process deactivate-mark vterm--get-icrnl process-send-string "\n" " "] 3 (#$ . 30664) nil]) #@31 Send `' to the libvterm. (defalias 'vterm-send-tab #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 30904) nil]) #@33 Send `' to the libvterm. (defalias 'vterm-send-space #[0 "\300\301!\207" [vterm-send-key " "] 2 (#$ . 31032) nil]) #@37 Send `' to the libvterm. (defalias 'vterm-send-backspace #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 31160) nil]) #@34 Send `' to the libvterm. (defalias 'vterm-send-delete #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 31306) nil]) #@39 Send `M-' to the libvterm. (defalias 'vterm-send-meta-backspace #[0 "\300\301\302\303#\207" [vterm-send-key "" nil t] 4 (#$ . 31443) nil]) #@30 Send `' to the libvterm. (defalias 'vterm-send-up #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 31610) nil]) #@32 Send `' to the libvterm. (defalias 'vterm-send-down #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 31735) nil]) #@32 Send `' to the libvterm. (defalias 'vterm-send-left #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 31866) nil]) #@33 Send `' to the libvterm. (defalias 'vterm-send-right #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 31997) nil]) #@33 Send `' to the libvterm. (defalias 'vterm-send-prior #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 32131) nil]) #@32 Send `' to the libvterm. (defalias 'vterm-send-next #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 32265) nil]) #@29 Send `M-.' to the libvterm. (defalias 'vterm-send-meta-dot #[0 "\300\301\302\303#\207" [vterm-send-key "." nil t] 4 (#$ . 32396) nil]) #@29 Send `M-,' to the libvterm. (defalias 'vterm-send-meta-comma #[0 "\300\301\302\303#\207" [vterm-send-key "," nil t] 4 (#$ . 32537) nil]) #@28 Send `C-' to the libvterm. (defalias 'vterm-send-ctrl-slash #[0 "\300\301\302\211\303$\207" [vterm-send-key "\\" nil t] 5 (#$ . 32680) nil]) #@34 Send `' to the libvterm. (defalias 'vterm-send-escape #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 32827) nil]) #@44 Send `' to the libvterm. (defalias 'vterm-clear-scrollback #[0 "\300\301!\207" [vterm-send-key ""] 2 (#$ . 32964) nil]) #@266 Send `' to the libvterm. `vterm-clear-scrollback' determines whether `vterm-clear' should also clear the scrollback or not. This behavior can be altered by calling `vterm-clear' with a prefix argument ARG or with \[universal-argument]. (fn &optional ARG) (defalias 'vterm-clear #[256 "\203\211\203\211\203\204\301 \210\302 \207" [vterm-clear-scrollback-when-clearing vterm-clear-scrollback vterm-send-C-l] 2 (#$ . 33127) "P"]) #@29 Send `C-_' to the libvterm. (defalias 'vterm-undo #[0 "\300\301\302\211\303$\207" [vterm-send-key "_" nil t] 5 (#$ . 33580) nil]) #@84 Yank (paste) text in vterm. Argument ARG is passed to `yank'. (fn &optional ARG) (defalias 'vterm-yank #[256 "\301 \210\302`!\210\303\304K\305\306\"\216\304\307M\210\310!)\262)\207" [inhibit-read-only deactivate-mark vterm-goto-char t insert-for-yank make-closure #[0 "\301\300M\207" [V0 insert-for-yank] 2] vterm-insert yank] 5 (#$ . 33716) "P"]) #@48 Yank text from the primary selection in vterm. (defalias 'vterm-yank-primary #[0 "\301`!\210\302\303 \304K\305\306\"\216\304\307M\210\304!)\262)\207" [inhibit-read-only vterm-goto-char t gui-get-primary-selection insert-for-yank make-closure #[0 "\301\300M\207" [V0 insert-for-yank] 2] vterm-insert] 6 (#$ . 34076) nil]) #@119 Replaced text just yanked with the next entry in the kill ring. Argument ARG is passed to `yank' (fn &optional ARG) (defalias 'vterm-yank-pop #[256 "\302`!\210\303\304\305K\306\307\"\216\305\310M\210\311!)\262*\207" [yank-undo-function inhibit-read-only vterm-goto-char t #[514 "\300 \207" [vterm-undo] 3 "\n\n(fn START END)"] insert-for-yank make-closure #[0 "\301\300M\207" [V0 insert-for-yank] 2] vterm-insert yank-pop] 5 (#$ . 34409) "p"]) #@100 Send the string STRING to vterm. Optional argument PASTE-P paste-p. (fn STRING &optional PASTE-P) (defalias 'vterm-send-string #[513 "\2032\211\203 \304\305\"\210\306\307\"\262\211\203(\211@\304\310!\"\210A\266\202\202\210\211\2032\304\311\"\210\312\313\n \307\312$\207" [vterm--term vterm--redraw-immididately vterm--process vterm-timer-delay vterm--update "" append nil char-to-string "" t accept-process-output] 8 (#$ . 34867)]) #@133 Insert the arguments, either strings or characters, at point. Provide similar behavior as `insert' for vterm. (fn &rest CONTENTS) (defalias 'vterm-insert #[128 "\205Q\304\305\"\210\211\211\203C\211@\306!\203 \304\307!\"\210\202<\211\310\311\"\262\211\203;\211@\304\307!\"\210A\266\202\202'\210A\266\202\202\n\210\304\312\"\210\313\314\n \311\313$\207" [vterm--term vterm--redraw-immididately vterm--process vterm-timer-delay vterm--update "" characterp char-to-string append nil "" t accept-process-output] 9 (#$ . 35347)]) #@67 Delete the text between START and END for vterm. (fn START END) (defalias 'vterm-delete-region #[514 "\205&\302!\203\211Z\211S\211\262\303Y\203\304 \210\202 \305\207\305\306\")\207" [vterm--term inhibit-read-only vterm-goto-char 0 vterm-send-delete nil vterm--delete-region] 5 (#$ . 35923)]) #@159 Set point to POSITION for vterm. The return value is `t' when point moved successfully. It will reset to original position if it can't move there. (fn POS) (defalias 'vterm-goto-char #[257 "\205g\301 \205g\301!\205g\302`\303\211\211\304 \210`\262\262V\2036\2036\305 \210`U?\262`\262\202`\262\302\262W\203U\203U\306 \210`U?\262`\262\202<`U\262\211\204e\307!\210b\210\266\204\207" [vterm--term vterm-cursor-in-command-buffer-p t nil vterm-reset-cursor-point vterm-send-right vterm-send-left vterm-goto-char] 8 (#$ . 36237)]) #@48 A wrapper for `delete-region'. (fn START END) (defalias 'vterm--delete-region #[514 "\"\207" [vterm--delete-region-function] 5 (#$ . 36802)]) #@45 A wrapper for `insert'. (fn &rest CONTENT) (defalias 'vterm--insert #[128 "\301\"\207" [vterm--insert-function apply] 4 (#$ . 36954)]) #@57 A wrapper for `delete-char'. (fn N &optional KILLFLAG) (defalias 'vterm--delete-char #[513 "\"\207" [vterm--delete-char-function] 5 (#$ . 37098)]) #@65 The terminal buffer is invalidated, the buffer needs redrawing. (defalias 'vterm--invalidate #[0 "\204 \203\n?\205\303 \304\305p$\211\207\305p!\210\304\211\207" [vterm--redraw-immididately vterm-timer-delay vterm--redraw-timer run-with-timer nil vterm--delayed-redraw] 5 (#$ . 37255)]) #@150 Check if there is a running process associated to the vterm buffer BUFFER. BUFFER can be either a buffer or the name of one. (fn &optional BUFFER) (defalias 'vterm-check-proc #[256 "\300\206p!\301!\211\205\302!\303>\205\304\305\"\207" [get-buffer get-buffer-process process-status (run stop open listen connect) buffer-local-value vterm--term] 6 (#$ . 37557)]) #@79 Redraw the terminal buffer. Argument BUFFER the terminal buffer. (fn BUFFER) (defalias 'vterm--delayed-redraw #[257 "\304!\2054r\211q\210\305\211\306 \307 \2050\310 !\210\311 \312U?\2050\313 >\2050\314\313 \312\"*\266\203)\207" [inhibit-read-only inhibit-redisplay vterm--redraw-timer vterm--term buffer-live-p t get-buffer-window-list nil vterm--redraw window-hscroll 0 selected-window set-window-hscroll] 7 (#$ . 37936)]) #@149 OSC 52 Manipulate Selection Data. Search Manipulate Selection Data in https://invisible-island.net/xterm/ctlseqs/ctlseqs.html . (fn TARGETS DATA) (defalias 'vterm--selection #[514 "\205I\211\305\230\206\211\211\306\230\262?\205I\307\310\311!\n\" \f\211\306\230\262\204-\312\211\313\314\"\2036\307\313\315\"\203?\307\316!\210\317\320!+\262\207" [vterm-enable-manipulate-selection-data-by-osc52 inhibit-eol-conversion locale-coding-system select-enable-clipboard select-enable-primary "?" "" t decode-coding-string base64-decode-string nil cl-find 99 112 kill-new message "kill-ring is updated by vterm OSC 52(Manipulate Selection Data)"] 7 (#$ . 38379)]) #@525 Create an interactive Vterm buffer. Start a new Vterm session, or switch to an already active session. Return the buffer selected (or created). With a nonnumeric prefix arg, create a new session. With a string prefix arg, create a new session with arg as buffer name. With a numeric prefix arg (as in `C-u 42 M-x vterm RET'), switch to the session with that number, or create it if it doesn't already exist. The buffer name used for Vterm sessions is determined by the value of `vterm-buffer-name'. (fn &optional ARG) (defalias 'vterm #[256 "\300\301\"\207" [vterm--internal pop-to-buffer-same-window] 4 (#$ . 39065) "P"]) #@543 Create an interactive Vterm buffer in another window. Start a new Vterm session, or switch to an already active session. Return the buffer selected (or created). With a nonnumeric prefix arg, create a new session. With a string prefix arg, create a new session with arg as buffer name. With a numeric prefix arg (as in `C-u 42 M-x vterm RET'), switch to the session with that number, or create it if it doesn't already exist. The buffer name used for Vterm sessions is determined by the value of `vterm-buffer-name'. (fn &optional ARG) (defalias 'vterm-other-window #[256 "\300\301\"\207" [vterm--internal pop-to-buffer] 4 (#$ . 39702) "P"]) #@37 (fn POP-TO-BUF-FUN &optional ARG) (defalias 'vterm--internal #[513 "\204\301\300!\210\211\247\203\302\303\304#!\202/\211;\203\"\305!\202/\211\203,\305!\202/\302!\211\2039\306!\204=\301\307!\210r\211q\210\310\311!\204J\311 \210)!\207" [vterm-buffer-name cl--assertion-failed get-buffer-create format "%s<%d>" generate-new-buffer buffer-live-p (and buf (buffer-live-p buf)) derived-mode-p vterm-mode] 7 (#$ . 40357)]) #@63 Send the virtual terminal's OUTPUT to the shell. (fn OUTPUT) (defalias 'vterm--flush-output #[257 "\301\"\207" [vterm--process process-send-string] 4 (#$ . 40802)]) #@55 Regexp matching control sequences handled by term.el. (defconst vterm-control-seq-regexp "\\(?:[ \n ]\\|\\(?:[DM78c]\\|AnSiT[^\n]+\n\\|\\][^]+\\\\\\|\\[\\([0-?]*\\)[ -/]*[@-~]\\)\\)" (#$ . 40976)) (defconst vterm-control-seq-prefix-regexp "[]") #@121 I/O Event. Feeds PROCESS's INPUT to the virtual terminal. Then triggers a redraw from the module. (fn PROCESS INPUT) (defalias 'vterm--filter #[514 "\306\211\211\307!\310G\311\211\312!\205\362rq\210 \203.  P\262 \311G\262W\203\355\313\f\n#\262\211\203F\310\225\202a\313 \n#\262\211\203\\\311O\202_\262TV\203\316\314\nO\306#\262U\203\274\310GW\203\227\315SZH!\316=\203\227T\262\202}\211V\203\272\310V\203\272[\311O\310[O\262Z\262Z\262\266\3171\312\320\"0\210\202\313\210\262\211X\203\350\3211\347\320 O\"0\210\202\350\210\262\202.\322!)+\207" [inhibit-read-only inhibit-eol-conversion inhibit-redisplay vterm--undecoded-bytes vterm-control-seq-regexp vterm-control-seq-prefix-regexp t process-buffer 0 nil buffer-live-p string-match decode-coding-string char-charset eight-bit (error) vterm--write-input (error) vterm--update locale-coding-system vterm--term] 17 (#$ . 41238)]) #@78 Sentinel of vterm PROCESS. Argument EVENT process event. (fn PROCESS EVENT) (defalias 'vterm--sentinel #[514 "\301!\302\303\304!\205\f#\210\205\304!\205\305!\207" [vterm-kill-buffer-on-exit process-buffer run-hook-with-args vterm-exit-functions buffer-live-p kill-buffer] 7 (#$ . 42227)]) #@64 Fix `line-number' height for scaled text. (fn &optional ARGV) (defalias 'vterm--text-scale-mode #[256 "\203# \305=\203#\306\307!\203#\310\n \"\f\203\311\f!\210\312\313\314#\210\315 \207" [text-scale-mode major-mode text-scale-mode-step text-scale-mode-amount vterm--linenum-remapping vterm-mode boundp display-line-numbers expt face-remap-remove-relative face-remap-add-relative line-number :height window--adjust-process-windows] 6 (#$ . 42535)]) (advice-add 'text-scale-mode :after 'vterm--text-scale-mode) #@149 Adjust width of window WINDOWS associated to process PROCESS. `vterm-min-window-width' determines the minimum width allowed. (fn PROCESS WINDOWS) (defalias 'vterm--window-adjust-process-window-size #[514 "?\205> \"\211@A\305\306 Z\262 ]\262\307!\205;\310!\205;\311V\205;\211\311V\205;\312\f#\210B)\266\203\207" [vterm-copy-mode window-adjust-process-window-size-function inhibit-read-only vterm-min-window-width vterm--term t vterm--get-margin-width processp process-live-p 0 vterm--set-size] 9 (#$ . 43060)]) #@79 Get margin width of vterm buffer when `display-line-numbers-mode' is enabled. (defalias 'vterm--get-margin-width #[0 "\302\303 \\\304\301!\203 \203\305\306\307!!\\\262\207" [vterm-max-scrollback display-line-numbers 0 frame-height boundp 4 string-width number-to-string] 6 (#$ . 43599)]) #@255 Delete COUNT lines from LINE-NUM. If LINE-NUM is negative backward-line from end of buffer. If option DELETE-WHOLE-LINE is non-nil, then this command kills the whole line including its terminating newline (fn LINE-NUM COUNT &optional DELETE-WHOLE-LINE) (defalias 'vterm--delete-lines #[770 "\212\300!\205\301`\302!\"\210\211\205\303\304!\205\305\306!)\207" [vterm--goto-line vterm--delete-region point-at-eol looking-at "\n" vterm--delete-char 1] 7 (#$ . 43902)]) #@101 Go to line N and return true on success. If N is negative backward-line from end of buffer. (fn N) (defalias 'vterm--goto-line #[257 "\211\300V\203eb\210\211Sy\300=\207db\210\211y\300=\207" [0] 3 (#$ . 44382)]) #@87 Use TITLE to set the buffer name according to `vterm-buffer-name-string'. (fn TITLE) (defalias 'vterm--set-title #[257 "\205 \301\302\"\303\"\207" [vterm-buffer-name-string rename-buffer format t] 5 (#$ . 44602)]) #@45 Set `default-directory' to PATH. (fn PATH) (defalias 'vterm--set-directory #[257 "\301!\211\205\n\211\211\207" [default-directory vterm--get-directory] 4 (#$ . 44827)]) #@46 Get normalized directory to PATH. (fn PATH) (defalias 'vterm--get-directory #[257 "\211\205N\301\302\303\"\203@\304\305\"\304\306\"\304\307\"\230\2033\310 \230\2033\311!\203;\312!\266\204\202K\312\313P!\262\266\202K\311!\203K\312!\262\211\262\207" [user-login-name nil string-match "^\\(.*?\\)@\\(.*?\\):\\(.*?\\)$" match-string 1 2 3 system-name file-directory-p file-name-as-directory "/-:"] 8 (#$ . 45006)]) #@59 Get working directory at LINENUM. (fn &optional LINENUM) (defalias 'vterm--get-pwd #[256 "\205\301\206\f\302 \"\211\205\303!\262\207" [vterm--term vterm--get-pwd-raw line-number-at-pos vterm--get-directory] 4 (#$ . 45449)]) #@382 Get color by index from `vterm-color-palette'. Argument INDEX index of the terminal color. Special values for INDEX are: -11 foreground for cells with underline attribute, foreground of the `vterm-color-underline' face is used in this case. -12 background for cells with inverse video attribute, background of the `vterm-color-inverse-video' face is used in this case. (fn INDEX) (defalias 'vterm--get-color #[257 "\211\301Y\203\211\302W\203\303\234\304\305#\207\211\302Y\203*\211\306W\203*\307\302\246\234\304\305#\207\211\310U\2036\303\311\304\305#\207\211\312U\203B\307\313\304\305#\207\304\207" [vterm-color-palette 0 8 face-foreground nil default 16 face-background -11 vterm-color-underline -12 vterm-color-inverse-video] 5 (#$ . 45691)]) #@159 Check if string STR is `vterm-eval-cmds' and execute command. All passed in arguments are strings and forwarded as string to the called functions. (fn STR) (defalias 'vterm--eval #[257 "\301!\211@A\302\"\211\203\303A@\"\207\304\305\"\207" [vterm-eval-cmds split-string-and-unquote assoc apply message "Failed to find command: %s"] 8 (#$ . 46456)]) #@357 Return t if tracking the prompt is enabled. Prompt tracking need shell side configurations. For zsh user, this is done by PROMPT=$PROMPT'%{$(vterm_prompt_end)%}'. The shell send semantic information about where the prompt ends via properly escaped sequences to Emacs. More information see `Shell-side configuration' and `Directory tracking' in README. (defalias 'vterm--prompt-tracking-enabled-p #[0 "\206\f\212\301e\302\"\211)\207" [vterm--prompt-tracking-enabled-p next-single-property-change vterm-prompt] 3 (#$ . 46822)]) #@55 Move to end of Nth next prompt in the buffer. (fn N) (defalias 'vterm-next-prompt #[257 "\2036\301 \2036`\302 \211\203\211b\210\206\303\211S\211\262\304Y\2034\305\306\307!\310\"\262\203b\210\202\311\207\312!\207" [vterm-use-vterm-prompt-detection-method vterm--prompt-tracking-enabled-p vterm--get-prompt-point 1 0 next-single-property-change point-at-bol 2 vterm-prompt nil term-next-prompt] 7 (#$ . 47361) "p"]) #@59 Move to end of Nth previous prompt in the buffer. (fn N) (defalias 'vterm-previous-prompt #[257 "\203B\301 \203B`\302 \211\205A\211b\210`V\203!\206\303S\262\211S\211\262\304Y\203>\305`S\306\"\262\203\"Sb\210\202\"\307\262\207\310!\207" [vterm-use-vterm-prompt-detection-method vterm--prompt-tracking-enabled-p vterm--get-prompt-point 1 0 previous-single-property-change vterm-prompt nil term-previous-prompt] 7 (#$ . 47800) "p"]) #@51 Find the start of the line, bypassing line wraps. (defalias 'vterm--get-beginning-of-line #[0 "\212\300 \210o\204\301`S\302\"\203\303u\210\300 \210\202`)\207" [beginning-of-line get-text-property vterm-line-wrap -1] 3 (#$ . 48257)]) #@51 Find the start of the line, bypassing line wraps. (defalias 'vterm--get-end-of-line #[0 "\212\300\210\301`\302\"\203\300u\210\300\210\202`)\207" [nil get-text-property vterm-line-wrap] 3 (#$ . 48502)]) #@159 Get the position of the end of current prompt. More information see `vterm--prompt-tracking-enabled-p' and `Directory tracking and Prompt tracking'in README. (defalias 'vterm--get-prompt-point #[0 "\302 \303\212\203*\304 \203*\305\306\"\203\202=\307\306\"\262\211\205=\211S\211\262\202=b\210\310 \303\311#\203;\312\225b\202=\313 )\207" [vterm-use-vterm-prompt-detection-method term-prompt-regexp vterm--get-end-of-line nil vterm--prompt-tracking-enabled-p get-text-property vterm-prompt previous-single-property-change search-backward-regexp t 0 vterm--get-beginning-of-line] 6 (#$ . 48717)]) #@53 Return t if the cursor position is at shell prompt. (defalias 'vterm--at-prompt-p #[0 "`\300 \206\301U\207" [vterm--get-prompt-point 0] 2 (#$ . 49332)]) #@65 Check whether cursor in command buffer area. (fn &optional PT) (defalias 'vterm-cursor-in-command-buffer-p #[256 "\212\300 \210\301 \302\205b\210\303 \262\304\206\305 #\266\202)\207" [vterm-reset-cursor-point vterm--get-prompt-point nil vterm--get-end-of-line <= vterm--get-cursor-point] 7 (#$ . 49493)]) #@230 Move point to the beginning of the line. Move the point to the first character after the shell prompt on this line. If the point is already there, move to the beginning of the line. Effectively toggle between the two positions. (defalias 'vterm-beginning-of-line #[0 "\300 \203 \301 b\207\302 \206\303\301 ]b\207" [vterm--at-prompt-p vterm--get-beginning-of-line vterm--get-prompt-point 0] 2 (#$ . 49816) nil]) #@58 Move point to the end of the line, bypassing line wraps. (defalias 'vterm-end-of-line #[0 "\300 b\207" [vterm--get-end-of-line] 1 (#$ . 50237) nil]) #@45 Make sure the cursor at the right position. (defalias 'vterm-reset-cursor-point #[0 "\205\n\302\303!)\207" [vterm--term inhibit-read-only t vterm--reset-point] 2 (#$ . 50392) nil]) #@27 Get term cursor position. (defalias 'vterm--get-cursor-point #[0 "\205\212\301 )\207" [vterm--term vterm-reset-cursor-point] 1 (#$ . 50583)]) #@169 Filter out injected newlines were injected when rendering the terminal. These newlines were tagged with 'vterm-line-wrap property so we can find them and remove them. (defalias 'vterm--remove-fake-newlines #[0 "eb\210\301\302`\303\"\211\262\205&\211b\210\301f\304=\204\305\306!\210\307\310\311!\210)\202\207" [inhibit-read-only nil next-single-property-change vterm-line-wrap 10 cl--assertion-failed (eq 10 (char-after)) t vterm--delete-char 1] 4 (#$ . 50735)]) #@64 Filter string CONTENT of fake/injected newlines. (fn CONTENT) (defalias 'vterm--filter-buffer-substring #[257 "\300\301\302\"r\211q\210\303\304\"\216\305!\210\306 \210\307 *\207" [generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] vterm--insert vterm--remove-fake-newlines buffer-string] 5 (#$ . 51211)]) (provide 'vterm)