1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-24 22:01:47 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Go to file
Wez Furlong ab2b2cff45 Add pane:get_lines_as_text() lua method
Allows this:

```lua
local wezterm = require 'wezterm';
local io = require 'io';
local os = require 'os';

wezterm.on("trigger-vim-with-scrollback", function(window, pane)
  -- Retrieve the current viewport's text.
  -- Pass an optional number of lines (eg: 2000) to retrieve
  -- that number of lines starting from the bottom of the viewport
  local scrollback = pane:get_lines_as_text();

  -- Create a temporary file to pass to vim
  local name = os.tmpname();
  local f = io.open(name, "w+");
  f:write(scrollback);
  f:flush();
  f:close();

  -- Open a new window running vim and tell it to open the file
  window:perform_action(wezterm.action{SpawnCommandInNewWindow={
    args={"vim", name}}
  }, pane)

  -- After vim is up and running we should remove the file,
  -- but we can't do this right now as the window and processing
  -- spawning are asynchronous and we'll probably delete the
  -- file while vim is starting up :-/
  -- os.remove(name);
end)

return {
  keys = {
    {key="E", mods="CTRL",
      action=wezterm.action{EmitEvent="trigger-vim-with-scrollback"}},
  }
}
```

refs: #222
2020-10-09 16:30:04 -07:00
.cargo build static on windows for static openssl linkage 2020-02-02 13:03:07 -08:00
.github Automate updating linuxbrew tap 2020-07-05 09:40:52 -07:00
assets windows: Software frontend is now mesa llvmpipe 2020-10-01 18:31:57 -07:00
async_ossl fixup tls mux sessions 2020-10-04 21:47:12 -07:00
base91 dyn everywhere 2019-06-08 21:28:11 -07:00
bintree wezterm: improve pane resize logic 2020-09-27 16:07:08 -07:00
ci ci: update PKGBUILD.template for license file addition 2020-10-06 13:24:35 -07:00
codec fixup tls mux sessions 2020-10-04 21:47:12 -07:00
config lua: add GuiWin and PaneObject proxies for use in script 2020-10-09 13:55:36 -07:00
deps fixup win32 build 2020-08-29 10:03:07 -07:00
docs wezterm: add automatically_reload_config=false option 2020-09-30 08:47:41 -07:00
filedescriptor fix filedescriptor::poll on macos 2020-09-10 13:58:14 -07:00
luahelper lua: add GuiWin and PaneObject proxies for use in script 2020-10-09 13:55:36 -07:00
mux lua: add GuiWin and PaneObject proxies for use in script 2020-10-09 13:55:36 -07:00
promise fix clipboard on x11 2020-10-09 11:07:18 -07:00
pty pty: update async example for more recent smol release 2020-10-03 11:15:57 -07:00
rangeset mux: reintroduce server side state to gate pushes 2020-01-10 08:56:27 -08:00
ratelim move ratelim to its own crate 2020-10-03 11:15:57 -07:00
strip-ansi-escapes move strip-ansi-escapes into its own crate 2020-10-03 11:15:57 -07:00
tabout vtparse: fix DCS parsing 2020-06-09 09:03:08 -07:00
term fix cargo doctest warning 2020-10-03 11:15:57 -07:00
termwiz termwiz: fix bounds checking in Line::compute_double_click_range 2020-09-27 12:38:58 -07:00
umask Move server to its own wezterm-mux-server binary 2020-10-03 11:15:57 -07:00
vtparse vtparse: fix doc link 2020-06-13 08:00:43 -07:00
wezterm Add pane:get_lines_as_text() lua method 2020-10-09 16:30:04 -07:00
wezterm-mux-server wezterm: allow overriding the default open-uri event 2020-10-07 18:26:16 -07:00
window fix clipboard on x11 2020-10-09 11:07:18 -07:00
.cirrus.yml ci: moar freebsd 2020-10-06 09:53:45 -07:00
.gitignore Automate updating linuxbrew tap 2020-07-05 09:40:52 -07:00
.gitmodules fix CI: savannah is down, use a github mirror for freetype 2019-11-24 13:28:02 -08:00
.rustfmt.toml Make rustfmt happy about "async move" 2020-01-20 13:58:21 -08:00
Cargo.lock lua: add GuiWin and PaneObject proxies for use in script 2020-10-09 13:55:36 -07:00
Cargo.toml move strip-ansi-escapes into its own crate 2020-10-03 11:15:57 -07:00
CONTRIBUTING.md Add get-deps script for installing dependencies 2018-02-25 09:24:56 -08:00
get-deps ci: add freebsd CI 2020-09-09 00:18:26 -07:00
LICENSE.md wezterm: bundle JetBrains Mono and Noto Color Emoji fonts 2020-09-29 22:05:18 -07:00
README.md docs: add a bit about contributing 2020-06-16 22:16:56 -07:00
wt-record make it a bit easier to consume wt-record 2020-06-12 08:51:15 -07:00
wt-replay update record/play scripts for macos 2019-03-22 20:41:50 -07:00

Wez's Terminal

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust

User facing home page at: https://wezfurlong.org/wezterm/

Screenshot

Screenshot of wezterm on macOS, running vim

Installation

https://wezfurlong.org/wezterm/installation.html

Getting help

This is a spare time project, so please bear with me. There are two channels for support:

The Matrix/Gitter room is probably better suited to questions than it is to bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.