aboutsummaryrefslogtreecommitdiff
path: root/vterm.el
AgeCommit message (Collapse)Author
2026-04-05Fix backtrack on doubleclick in vtermHEADmasterLin Sun
2025-11-11Fix typo in `vterm-set-bold-highbright` variable nameMartin Geisler
The word “highbright” was spelled as “hightbright” in a few places.
2025-11-11Fix typos and grammar in commentsMartin Geisler
2025-09-29Fix spellingJimmy Yuen Ho Wong
2024-12-17Try running the login shell by default for "ssh" and "scp" methodsFlorian Rommel
This will fall back to Tramp's shell if the login shell cannot be determined.
2024-12-17Add wildcard for vterm-tramp-shellsFlorian Rommel
Lets the user specify a shell for all Tramp methods.
2024-12-17Allow using the default login shell for remote connectionsFlorian Rommel
Lets the user specify 'login-shell as a SHELL in `vterm-tramp-shells', which leads to vterm starting with the remote location's login shell.
2024-11-18Fixes #731: Replace the default truncation character ($) with a spaceJames Cherti
Set the truncation slot for 'buffer-display-table' to the ASCII code for a space character (32) to make the vterm buffer display a space instead of the default truncation character ($) when a line is truncated.
2024-08-24Support modes derived from vtermPeter Breton
- When checking for vterm-mode, also support modes derived from vterm
2024-07-05don't garble partial multi-byte character after control sequenceYubao Liu
When use [lf](https://github.com/gokcehan/lf) to list files, emacs-libvterm may read partial multi-byte character, for example: $ echo -n '招聘' | hexdump -C 00000000 e6 8b 9b e8 81 98 ; get "招", control sequence and partial character (vterm--filter process "\xE6\x8B\x9B\e[14;111H\xE8") ; now full "聘" (vterm--filter process "\x81\x98") This will send "\xE8" to libvterm which is not a full character.
2024-03-25Ensures the starting col is the same as later calculatedMike Brumlow
2024-01-02Differentiate foreground and background colorsIllia Ostapyshyn
Allow using different background and foreground colors for same ANSI index, analogously to how term-mode does it. Remove magical indices for underlined cells with default foreground and inverse-video cells with default background. Instead, pass relevant info to lisp function to handle these cases at higher level. * elisp.c, elisp.h (Fapply): New binding. (vterm_get_color): Add new argument for optional attributes. * vterm-module.c (cell_rgb_color): Pass relevant attributes to vterm_get_color. * vterm.el (vterm--get-color): Use foreground or background color of the face depending on received attributes. * README.md: Update documentation
2024-01-02Add separate faces for bright ANSI colorsIllia Ostapyshyn
* vterm.el (vterm-color-bright-*, vterm-color-palette): New faces. (vterm--get-color): Use new bright faces. * README.md: Mention new faces.
2023-04-17Don't allow moving cursor below the last prompt via mouseJakub Kadlcik
Without this patch, I am able to click somewhere below the last prompt line and move the cursor there. I don't think this was an intended feature, it feels more like a weird quirk. We don't have any function telling us the point or line number of the last prompt, and it doesn't seem to be easy to implement, so I needed to workaround this.
2023-04-17Allow to find beginning and end of line from a specific pointJakub Kadlcik
I didn't find an easy way to determine whether the cursor is in the last prompt line or what the prompt line number even is. And one cannot assume the prompt line is the last line of the buffer beacuse vterm is basically a rectangle filling the whole buffer. As a consequence `(line-number-at-pos (point-max))` _doesn't work_ because `(point-max)` _doesn't work_. With this patch, it is possible to find the prompt line using: (line-number-at-pos (vterm--get-beginning-of-line (vterm--get-cursor-point))))) And in case the command in prompt is long and wraps into multiple lines, its end can be found using: (line-number-at-pos (vterm--get-end-of-line (vterm--get-cursor-point)))))
2023-02-17Fix vterm--remove-fake-newlines when in an empty bufferDamien Cassou
When the buffer is empty, (get-text-property (1- (point)) 'vterm-line-wrap) throws an error. This situation happens when the empty string is passed as argument to `vterm--filter-buffer-substring`.
2023-01-30Remove fake newlines in copy modejixiuf
when vterm-copy-mode-remove-fake-newlines is not nil. See #497 .
2023-01-30Use same shell as TRAMP on remotes.Aleksei Fedotov
If emacs-vterm is started on a remote, use the same shell as TRAMP. That will guarantee that the shell exists on the remote. A shell could be chosen using `vterm-tramp-shells', but it tied to a specific TRAMP method. However, the same method (ssh) could be used to connected to different remotes, each with different default shell. So, we could use TRAMP to get the shell on per-remote basis.
2023-01-30config vterm-environment in dir_localsman.lu
The environment of each project may be different, and "dir_locals.el" provides an excellent way to configure each project separately. This patch enables config project environment by using "vterm-environment."
2023-01-30Enable selection for commands in copy-modeInc0n
2022-11-02Change a binding for S-prior back to scroll-down-commandSergei Zobov
from vterm--self-insert
2022-10-19fix #632 Meta/Alt not working in terminal/non-graphical modejixiuf
2022-08-31Fix type for vterm-clear-scrollbark-when-clearingJavier Olaechea
It should be boolean
2022-08-30check libvterm version,make it compile with libvterm<0.2jixiuf
2022-08-27make-obsolete for all vterm-send-C-[a-z] vterm-send-M-[a-z] etc.jixiuf
and vterm-send-{up/down/left/right/prior/next/meta-dot/meta-comma/ctrl-slash}. and would be removed in v0.1
2022-08-27reimplement OSC 52 with VTermSelectionCallbacks from libvterm v0.2jixiuf
2022-08-27fix document of vterm-enable-manipulate-selection-data-by-osc52jixiuf
2022-08-27fix compile warning on emacs 29jixiuf
2022-08-27unbind M-{A-Z} #575 relatedjixiuf
2022-08-22Merge pull request #617 from jixiuf/try-fix-598jixiuf
try fix #598. treat `ESC =` as control seq.
2022-08-22fix #622jixiuf
2022-08-20Better vterm-undo key bind and close #613jixiuf
2022-08-20delete recent added vterm-send-meta-{up/down/left/right}jixiuf
2022-08-20prefer vterm--self-insertjixiuf
2022-08-20rewrite vterm--self-insert/vterm-send/vterm-send-next-key.jixiuf
rewrite these functions with vterm--translate-event-to-args.
2022-08-20try fix #598. `ESC =`(Application Keypad (DECKPAM)) as control seq.jixiuf
see https://invisible-island.net/xterm/ctlseqs/ctlseqs.html for `ESC =` when run ghci it echo "\e=Prelude>", I think `\e=` should be treat as control seq?
2022-08-20Merge pull request #591 from tarsiiformes/silenciojixiuf
Declare variable before first use
2022-08-17Add vterm-send-meta<up,down,left,right> functions and keybindingsGonzalo Larumbe
2022-06-17Declare variable before first useJonas Bernoulli
2022-06-13Improve error message when command not in vterm-eval-cmdsGabriele Bozzola
2022-06-13Clean up minor typosGabriele Bozzola
2022-04-28Silence byte-compilerJonas Bernoulli
In truth `looking-back' does not (yet) require the second argument, but since 5161c9ca6a6107da30d411fb2ad72e01d08e5704 it claims that it does. Instead of merely silencing this warning it would be better to provide a non-nil value for LIMIT. The reason that this function is now advertised as requiring two arguments is that it may perform horribly if no proper limit is specified.
2022-04-21Add send-next-key functionTyler Grinn
Read next input event and send it to the libvterm. This is useful for controlling an emacs session within emacs-libvterm.
2022-04-16rewrite vterm-goto-char and vterm-delete-regionjixiuf
2022-04-12make vterm-cursor-in-command-buffer-p work when shell buffer is multi-linejixiuf
2021-12-09add option vterm-set-bold-hightbrightjixiuf
2021-09-08close #529 #496 fix Laggy scrolling in terminal programs.jixiuf
2021-09-08close #535 remove "C-v" "M-v" from vterm-keymap-exceptions.jixiuf
2021-09-08close #533, Warning: docstring wider than 80 characters .jixiuf
2021-09-08require tramp and bookmark close #545 fix vterm over tramp brokenjixiuf