2018-01-15 10:34:59 +03:00
|
|
|
[package]
|
|
|
|
authors = ["Wez Furlong <wez@wezfurlong.org>"]
|
2018-01-29 10:52:21 +03:00
|
|
|
name = "wezterm"
|
2018-01-15 10:34:59 +03:00
|
|
|
version = "0.1.0"
|
2019-02-19 10:10:37 +03:00
|
|
|
edition = "2018"
|
2019-03-24 09:45:14 +03:00
|
|
|
build = "build.rs"
|
2020-05-18 07:51:07 +03:00
|
|
|
default-run = "wezterm"
|
2019-03-24 09:45:14 +03:00
|
|
|
|
|
|
|
[build-dependencies]
|
|
|
|
vergen = "3"
|
2018-01-15 10:34:59 +03:00
|
|
|
|
2019-03-25 05:06:03 +03:00
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
2019-11-04 19:00:58 +03:00
|
|
|
embed-resource = "1.3"
|
2020-05-25 22:36:29 +03:00
|
|
|
cc = "1.0"
|
2019-03-25 05:06:03 +03:00
|
|
|
|
2020-05-18 07:51:07 +03:00
|
|
|
[[bin]]
|
|
|
|
name = "strip-ansi-escapes"
|
|
|
|
path = "src/bin/strip-ansi-escapes.rs"
|
|
|
|
|
2018-01-15 10:34:59 +03:00
|
|
|
[dependencies]
|
2020-06-20 21:03:02 +03:00
|
|
|
allsorts = "0.4"
|
2020-01-16 12:03:32 +03:00
|
|
|
async-task = "1.2"
|
2020-01-17 02:55:15 +03:00
|
|
|
async-trait = "0.1"
|
2019-12-15 08:43:05 +03:00
|
|
|
anyhow = "1.0"
|
|
|
|
thiserror = "1.0"
|
2019-07-29 02:15:44 +03:00
|
|
|
base64 = "0.10"
|
2019-03-23 23:57:26 +03:00
|
|
|
base91 = { path = "base91" }
|
2020-01-05 05:10:53 +03:00
|
|
|
rangeset = { path = "rangeset" }
|
2019-03-23 23:57:26 +03:00
|
|
|
bitflags = "1.0"
|
2020-03-01 08:46:59 +03:00
|
|
|
bstr = "0.2"
|
2020-01-26 00:00:16 +03:00
|
|
|
crossbeam = "0.7"
|
2020-06-13 20:21:49 +03:00
|
|
|
dirs = "2.0"
|
2019-06-09 21:10:07 +03:00
|
|
|
downcast-rs = "1.0"
|
2019-09-21 22:32:21 +03:00
|
|
|
euclid = "0.20"
|
2020-01-26 20:14:26 +03:00
|
|
|
filedescriptor = { version="0.7", path = "filedescriptor" }
|
2020-04-12 05:21:52 +03:00
|
|
|
filenamegen = "0.2"
|
2020-02-14 20:46:19 +03:00
|
|
|
pretty_env_logger = "0.4"
|
2019-03-23 19:28:40 +03:00
|
|
|
freetype = { path = "deps/freetype" }
|
2020-06-13 20:21:49 +03:00
|
|
|
image = "0.23"
|
2019-03-23 23:57:26 +03:00
|
|
|
harfbuzz = { path = "deps/harfbuzz" }
|
2020-02-02 04:40:27 +03:00
|
|
|
hostname = "0.3"
|
2020-06-17 03:27:06 +03:00
|
|
|
lazy_static = "1.4"
|
2019-03-23 23:57:26 +03:00
|
|
|
leb128 = "0.2"
|
|
|
|
libc = "0.2"
|
2019-06-09 01:17:41 +03:00
|
|
|
log = "0.4"
|
2020-07-09 09:44:40 +03:00
|
|
|
lru = "0.5"
|
2019-02-19 09:57:40 +03:00
|
|
|
open = "1.2"
|
2020-06-06 09:13:43 +03:00
|
|
|
pulldown-cmark = "0.7"
|
2020-01-04 12:21:51 +03:00
|
|
|
metrics = { version="0.12", features=["std"]}
|
config: we can now read ~/.wezterm.lua
This allows for slightly more fancy configuration in the future, but for
now it is rather simple: your lua script returns a configuration struct
with the same shape as that from the TOML file.
A `wezterm` module is provided to the script that provides some
constants to help understand the environment in which wezterm
is running.
I want to add some helpers that make setting up the fonts feel less
weird (lots of nesting in the data model makes this weird).
The ability to conditionally construct configuration is powerful
and helps to address the broader request in
refs: https://github.com/wez/wezterm/issues/152
An example config looks like this:
```lua
local wezterm = require 'wezterm';
print(wezterm.config_dir);
print(wezterm.executable_dir);
wezterm.log_error("w00t! running " .. wezterm.version
.. " on " .. wezterm.target_triple .. " " .. wezterm.home_dir);
return {
enable_scroll_bar = true,
enable_tab_bar = true,
ratelimit_output_bytes_per_second = 400000,
scrollback_lines = 350000,
font_dirs = {".dotfiles/fonts"},
window_padding = {
left = 2,
bottom = 2,
},
font = {
font = {{
family = "Operator Mono SSm Lig Medium",
}},
},
unix_domains = {
{
name = "unix",
}
},
ssh_domains = {
{
name = "localhost",
remote_address = "localhost",
username = "wez",
},
},
tls_clients = {
{
name = "cubetls",
remote_address = "cube-localdomain:8080",
bootstrap_via_ssh = "cube-localdomain",
},
},
tls_servers = {
{
bind_address = "192.168.1.8:8080",
},
},
hyperlink_rules = {
{
regex = "\\b\\w+://(?:[\\w.-]+)\\.[a-z]{2,15}\\S*\\b",
format = "$0",
},
},
font_rules= {
{
italic = true,
font = {
font = {{
family = "Operator Mono SSm Lig Medium Italic",
}}
},
},
{
italic = true,
intensity = "Bold",
font = {
font = {{
family = "Operator Mono SSm Lig Book Italic",
}}
},
},
{
intensity = "Bold",
font = {
foreground = "tomato",
font = {{
family = "Operator Mono SSm Lig Bold",
}}
},
},
{
intensity = "Half",
font = {
font = {{
family = "Operator Mono SSm Lig Light",
}}
},
},
},
}
```
2020-02-26 21:21:03 +03:00
|
|
|
mlua = {version="0.2", features=["vendored"]}
|
2020-01-04 12:21:51 +03:00
|
|
|
hdrhistogram = "6.3"
|
2020-02-02 23:28:02 +03:00
|
|
|
openssl = "0.10"
|
2019-12-05 05:26:47 +03:00
|
|
|
# file change notification
|
2019-11-25 06:20:14 +03:00
|
|
|
notify = "4.0"
|
2020-01-10 09:39:34 +03:00
|
|
|
palette = "0.5"
|
2019-08-03 22:47:55 +03:00
|
|
|
portable-pty = { path = "pty", features = ["serde_support", "ssh"]}
|
2019-03-04 18:38:56 +03:00
|
|
|
promise = { path = "promise" }
|
2019-11-21 19:36:16 +03:00
|
|
|
ratelimit_meter = "5.0"
|
2020-02-02 04:40:27 +03:00
|
|
|
rcgen = "0.7"
|
2020-05-07 18:58:52 +03:00
|
|
|
http_req = {version="0.6", default-features=false, features=["rust-tls"]}
|
|
|
|
regex = "1"
|
2020-01-03 20:22:17 +03:00
|
|
|
serde = {version="1.0", features = ["rc", "derive"]}
|
2020-05-07 18:58:52 +03:00
|
|
|
serde_json = "1.0"
|
2019-08-07 20:59:42 +03:00
|
|
|
serial = "0.4"
|
2020-02-22 19:50:13 +03:00
|
|
|
ssh2 = "0.8"
|
2020-01-10 10:48:33 +03:00
|
|
|
structopt = "0.3"
|
2020-03-01 20:39:14 +03:00
|
|
|
strsim = "0.10"
|
2019-06-14 01:00:57 +03:00
|
|
|
tabout = { path = "tabout" }
|
2020-06-13 20:00:09 +03:00
|
|
|
wezterm-term = { path = "term", features=["use_serde"] }
|
2020-06-03 17:58:20 +03:00
|
|
|
terminfo = "0.7"
|
2020-02-04 18:35:24 +03:00
|
|
|
termwiz = { path = "termwiz" }
|
2020-01-18 05:40:40 +03:00
|
|
|
textwrap = "0.11"
|
2020-06-20 21:03:02 +03:00
|
|
|
tinyvec = "0.3"
|
2019-03-23 23:57:26 +03:00
|
|
|
toml = "0.4"
|
|
|
|
unicode-normalization = "0.1"
|
2020-06-13 20:10:34 +03:00
|
|
|
unicode-segmentation = "1.6"
|
2019-03-23 23:57:26 +03:00
|
|
|
unicode-width = "0.1"
|
2020-01-15 09:06:13 +03:00
|
|
|
url = "2"
|
2019-05-28 05:44:55 +03:00
|
|
|
varbincode = "0.1"
|
2019-12-09 03:34:17 +03:00
|
|
|
walkdir = "2"
|
2019-11-28 09:00:44 +03:00
|
|
|
window = { path = "window", features=["opengl", "wayland"]}
|
2019-03-16 20:04:41 +03:00
|
|
|
zstd = "0.4"
|
2018-01-31 21:38:33 +03:00
|
|
|
|
2019-02-17 23:55:02 +03:00
|
|
|
[target.'cfg(unix)'.dependencies]
|
2020-01-06 07:55:28 +03:00
|
|
|
daemonize = { git = "https://github.com/wez/daemonize" }
|
2019-02-17 23:55:02 +03:00
|
|
|
|
2019-12-05 05:26:47 +03:00
|
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
|
|
# show a notification
|
2019-12-05 07:40:32 +03:00
|
|
|
notify-rust = "3"
|
2019-12-05 05:26:47 +03:00
|
|
|
|
2019-03-23 19:28:40 +03:00
|
|
|
# on linux, font-loader pulls in servo-font* crates which conflict with
|
|
|
|
# our newer font related deps, so we avoid it on linux
|
2019-03-23 23:57:26 +03:00
|
|
|
[target.'cfg(any(windows, target_os = "macos"))'.dependencies]
|
|
|
|
font-loader = { version = "0.8" }
|
2019-12-09 04:51:01 +03:00
|
|
|
font-kit = "0.5"
|
2019-03-03 16:08:58 +03:00
|
|
|
|
2019-03-23 23:57:26 +03:00
|
|
|
[target."cfg(windows)".dependencies]
|
2019-12-09 03:02:04 +03:00
|
|
|
dwrote = "0.9"
|
2019-03-24 03:07:10 +03:00
|
|
|
shared_library = "0.1"
|
2019-03-23 23:57:26 +03:00
|
|
|
uds_windows = "0.1"
|
|
|
|
winapi = { version = "0.3", features = [
|
2019-02-17 10:36:50 +03:00
|
|
|
"winuser",
|
|
|
|
"consoleapi",
|
|
|
|
"handleapi",
|
|
|
|
"fileapi",
|
|
|
|
"namedpipeapi",
|
2019-03-03 00:16:25 +03:00
|
|
|
"synchapi",
|
2019-06-17 04:41:57 +03:00
|
|
|
"winsock2",
|
2019-03-23 23:57:26 +03:00
|
|
|
]}
|
2019-12-08 22:14:02 +03:00
|
|
|
winrt-notification = "0.2"
|
2019-02-17 03:15:39 +03:00
|
|
|
|
2018-02-20 23:33:30 +03:00
|
|
|
[target.'cfg(any(target_os = "android", all(unix, not(target_os = "macos"))))'.dependencies]
|
2019-03-23 19:28:40 +03:00
|
|
|
fontconfig = { path = "deps/fontconfig" }
|
2018-02-20 23:33:30 +03:00
|
|
|
|
2018-02-21 09:33:09 +03:00
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
2019-11-13 11:05:55 +03:00
|
|
|
core-foundation = "0.7"
|
|
|
|
core-graphics = "0.19"
|
|
|
|
core-text = "15.0"
|
2020-06-14 06:41:52 +03:00
|
|
|
objc = "0.2"
|
|
|
|
cocoa = "0.20"
|
2018-02-21 09:33:09 +03:00
|
|
|
|
2020-02-02 19:50:17 +03:00
|
|
|
[features]
|
2020-02-02 23:28:02 +03:00
|
|
|
default = ["vendor_openssl"]
|
|
|
|
# FIXME: find a way to magically disable vendor_openssl only on linux!
|
2020-02-02 19:50:17 +03:00
|
|
|
vendor_openssl = ["openssl/vendored"]
|
|
|
|
|
2018-02-07 18:51:04 +03:00
|
|
|
[workspace]
|
2019-02-23 07:59:03 +03:00
|
|
|
|
|
|
|
[profile.release]
|
2019-09-30 04:59:42 +03:00
|
|
|
opt-level = 3
|