1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 13:21:38 +03:00
wezterm/Cargo.lock

5308 lines
121 KiB
Plaintext
Raw Normal View History

# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
2020-05-26 08:25:39 +03:00
[[package]]
name = "addr2line"
2021-11-03 16:41:06 +03:00
version = "0.17.0"
2020-05-26 08:25:39 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-03 16:41:06 +03:00
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
2020-05-26 08:25:39 +03:00
dependencies = [
"gimli",
]
2020-06-30 03:52:14 +03:00
[[package]]
name = "adler"
2021-03-01 20:02:05 +03:00
version = "1.0.2"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-01 20:02:05 +03:00
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
2020-06-30 03:52:14 +03:00
[[package]]
name = "adler32"
2020-09-09 19:31:37 +03:00
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
[[package]]
name = "ahash"
version = "0.7.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
dependencies = [
2022-04-04 04:26:59 +03:00
"getrandom 0.2.6",
"once_cell",
"version_check",
]
[[package]]
name = "aho-corasick"
2021-05-01 19:42:46 +03:00
version = "0.7.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-01 19:42:46 +03:00
checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
dependencies = [
"memchr",
]
[[package]]
name = "ansi_term"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
dependencies = [
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
2021-12-06 05:07:49 +03:00
[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "anyhow"
2022-03-09 17:31:53 +03:00
version = "1.0.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
[[package]]
name = "arrayref"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
[[package]]
name = "arrayvec"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
[[package]]
name = "assert_fs"
2022-01-17 04:46:30 +03:00
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "cf09bb72e00da477c2596865e8873227e2196d263cca35414048875dbbeea1be"
dependencies = [
"doc-comment",
"globwalk",
"predicates",
"predicates-core",
"predicates-tree",
"tempfile",
]
[[package]]
name = "async-broadcast"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90622698a1218e0b2fb846c97b5f19a0831f6baddee73d9454156365ccfa473b"
dependencies = [
"easy-parallel",
"event-listener",
"futures-core",
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "async-channel"
2021-02-22 11:09:01 +03:00
version = "1.6.1"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-22 11:09:01 +03:00
checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
2020-09-09 19:31:37 +03:00
dependencies = [
"concurrent-queue",
"event-listener",
"futures-core",
]
[[package]]
name = "async-executor"
2021-04-26 18:34:45 +03:00
version = "1.4.1"
2020-10-02 17:16:20 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-04-26 18:34:45 +03:00
checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
2020-10-02 17:16:20 +03:00
dependencies = [
2020-12-29 20:21:50 +03:00
"async-task",
2020-10-02 17:16:20 +03:00
"concurrent-queue",
"fastrand",
"futures-lite",
2020-10-02 17:16:20 +03:00
"once_cell",
2021-04-26 18:34:45 +03:00
"slab",
2020-10-02 17:16:20 +03:00
]
[[package]]
name = "async-fs"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8b3ca4f8ff117c37c278a2f7415ce9be55560b846b5bc4412aaa5d29c1c3dae2"
dependencies = [
"async-lock",
"blocking",
"futures-lite",
]
2020-10-02 17:16:20 +03:00
[[package]]
name = "async-global-executor"
2022-04-04 04:26:59 +03:00
version = "2.0.4"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43"
2020-09-09 19:31:37 +03:00
dependencies = [
2021-01-18 10:38:11 +03:00
"async-channel",
2020-10-02 17:16:20 +03:00
"async-executor",
2020-09-09 19:31:37 +03:00
"async-io",
2021-01-18 10:38:11 +03:00
"async-mutex",
"blocking",
"futures-lite",
2020-10-02 17:16:20 +03:00
"num_cpus",
"once_cell",
2020-09-09 19:31:37 +03:00
]
[[package]]
name = "async-io"
2021-07-07 23:27:08 +03:00
version = "1.6.0"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-07-07 23:27:08 +03:00
checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
2020-09-09 19:31:37 +03:00
dependencies = [
"concurrent-queue",
"futures-lite",
"libc",
2020-10-02 17:16:20 +03:00
"log",
2020-09-09 19:31:37 +03:00
"once_cell",
"parking",
2020-09-09 19:31:37 +03:00
"polling",
2021-04-26 18:34:45 +03:00
"slab",
2021-04-19 19:23:33 +03:00
"socket2",
2020-10-02 17:16:20 +03:00
"waker-fn",
"winapi 0.3.9",
2020-09-09 19:31:37 +03:00
]
[[package]]
name = "async-lock"
2022-02-22 05:44:27 +03:00
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6"
dependencies = [
"event-listener",
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "async-mutex"
2020-10-02 17:16:20 +03:00
version = "1.4.0"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-10-02 17:16:20 +03:00
checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
2020-09-09 19:31:37 +03:00
dependencies = [
"event-listener",
]
[[package]]
name = "async-net"
2021-07-07 23:27:08 +03:00
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-07-07 23:27:08 +03:00
checksum = "5373304df79b9b4395068fb080369ec7178608827306ce4d081cba51cac551df"
dependencies = [
"async-io",
"blocking",
"futures-lite",
]
[[package]]
name = "async-process"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83137067e3a2a6a06d67168e49e68a0957d215410473a740cea95a2425c0b7c6"
dependencies = [
"async-io",
"blocking",
2021-02-08 09:51:28 +03:00
"cfg-if 1.0.0",
"event-listener",
"futures-lite",
2021-04-26 18:34:45 +03:00
"libc",
"once_cell",
2021-12-20 18:15:56 +03:00
"signal-hook 0.3.13",
"winapi 0.3.9",
]
[[package]]
name = "async-recursion"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "async-std"
2022-03-28 05:47:26 +03:00
version = "1.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-28 05:47:26 +03:00
checksum = "52580991739c5cdb36cde8b2a516371c0a3b70dda36d916cc08b82372916808c"
dependencies = [
"async-channel",
2020-10-02 17:16:20 +03:00
"async-global-executor",
2020-09-09 19:31:37 +03:00
"async-io",
2021-01-18 10:38:11 +03:00
"async-lock",
2020-12-29 20:21:50 +03:00
"crossbeam-utils",
2020-05-26 08:25:39 +03:00
"futures-channel",
"futures-core",
"futures-io",
"futures-lite",
2020-10-02 17:16:20 +03:00
"gloo-timers",
"kv-log-macro",
"log",
"memchr",
"num_cpus",
"once_cell",
2020-12-20 03:44:27 +03:00
"pin-project-lite",
"pin-utils",
"slab",
2020-05-26 08:25:39 +03:00
"wasm-bindgen-futures",
]
2020-10-02 17:16:20 +03:00
[[package]]
name = "async-task"
2022-03-09 17:31:53 +03:00
version = "4.2.0"
2020-10-02 17:16:20 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
2020-10-02 17:16:20 +03:00
2020-01-17 02:55:15 +03:00
[[package]]
name = "async-trait"
2022-03-28 05:47:26 +03:00
version = "0.1.53"
2020-01-17 02:55:15 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-28 05:47:26 +03:00
checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
2020-01-17 02:55:15 +03:00
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
2020-01-17 02:55:15 +03:00
]
[[package]]
name = "async_ossl"
version = "0.1.0"
dependencies = [
"openssl",
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "atomic-waker"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
[[package]]
name = "atty"
2020-01-10 09:39:34 +03:00
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
dependencies = [
"hermit-abi",
"libc",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
2020-01-10 09:39:34 +03:00
[[package]]
name = "autocfg"
2022-02-14 06:31:40 +03:00
version = "1.1.0"
2020-01-10 09:39:34 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
2020-01-10 09:39:34 +03:00
[[package]]
name = "backtrace"
2022-01-31 04:29:59 +03:00
version = "0.3.64"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "5e121dee8023ce33ab248d9ce1493df03c3b38a659b240096fcbd7048ff9c31f"
dependencies = [
2020-05-26 08:25:39 +03:00
"addr2line",
2021-05-01 19:42:46 +03:00
"cc",
"cfg-if 1.0.0",
"libc",
2022-02-14 06:31:40 +03:00
"miniz_oxide 0.4.4",
2020-05-26 08:25:39 +03:00
"object",
"rustc-demangle",
]
2020-01-25 04:49:37 +03:00
[[package]]
name = "base64"
version = "0.13.0"
2020-01-25 04:49:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
2020-01-25 04:49:37 +03:00
[[package]]
name = "base91"
version = "0.1.0"
[[package]]
name = "battery"
version = "0.7.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4b624268937c0e0a3edb7c27843f9e547c320d730c610d3b8e6e8e95b2026e4"
dependencies = [
"cfg-if 1.0.0",
"core-foundation 0.7.0",
"lazycell",
"libc",
"mach",
"nix 0.19.1",
2021-06-07 18:32:05 +03:00
"num-traits",
"uom",
"winapi 0.3.9",
]
[[package]]
name = "benchmarking"
2022-03-09 17:31:53 +03:00
version = "0.4.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "3937429ef059161c005a608ae02451b64e5e98d26d2038f43674f506b571bad6"
[[package]]
name = "bintree"
version = "0.1.0"
2022-02-07 04:51:32 +03:00
[[package]]
name = "bit_field"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
[[package]]
name = "bitflags"
2021-08-23 17:33:44 +03:00
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-23 17:33:44 +03:00
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "block"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
[[package]]
name = "block-buffer"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
dependencies = [
"block-padding",
"byte-tools",
"byteorder",
"generic-array 0.12.4",
]
[[package]]
name = "block-buffer"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
dependencies = [
"generic-array 0.14.5",
]
[[package]]
name = "block-padding"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
dependencies = [
"byte-tools",
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "blocking"
2022-03-21 17:47:57 +03:00
version = "1.2.0"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
2020-09-09 19:31:37 +03:00
dependencies = [
"async-channel",
2020-12-29 20:21:50 +03:00
"async-task",
2020-09-09 19:31:37 +03:00
"atomic-waker",
2020-10-02 17:16:20 +03:00
"fastrand",
"futures-lite",
2020-06-30 03:52:14 +03:00
"once_cell",
]
[[package]]
name = "bstr"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "59604ece62a407dc9164732e5adea02467898954c3a5811fd2dc140af14ef15b"
dependencies = [
"lazy_static",
"memchr",
"regex-automata",
]
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
[[package]]
name = "bstr"
2021-10-04 08:10:01 +03:00
version = "0.2.17"
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
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-04 08:10:01 +03:00
checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
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
dependencies = [
"lazy_static",
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
"memchr",
"regex-automata",
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
]
[[package]]
name = "bumpalo"
version = "3.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
[[package]]
name = "byte-tools"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
[[package]]
name = "bytemuck"
2022-04-04 04:26:59 +03:00
version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "cdead85bdec19c194affaeeb670c0e41fe23de31459efd1c174d049269cf02cc"
[[package]]
name = "byteorder"
2021-03-15 16:32:14 +03:00
version = "1.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-15 16:32:14 +03:00
checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
[[package]]
name = "bytes"
2021-08-25 20:00:33 +03:00
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-25 20:00:33 +03:00
checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
2020-06-30 03:52:14 +03:00
[[package]]
name = "cache-padded"
2021-12-20 18:15:56 +03:00
version = "1.2.0"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-20 18:15:56 +03:00
checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
[[package]]
name = "camino"
2022-01-17 04:46:30 +03:00
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23"
[[package]]
name = "cassowary"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
[[package]]
name = "cc"
2022-02-22 05:44:27 +03:00
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
dependencies = [
"jobserver",
]
[[package]]
name = "cfg-if"
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cgl"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ced0551234e87afee12411d535648dd89d2e7f34c78b753395567aff3d447ff"
dependencies = [
"libc",
]
[[package]]
name = "chrono"
2020-10-02 17:16:20 +03:00
version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-10-02 17:16:20 +03:00
checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
dependencies = [
2020-10-02 17:16:20 +03:00
"libc",
"num-integer",
2021-06-07 18:32:05 +03:00
"num-traits",
"pure-rust-locales",
"serde",
"time",
2020-10-02 17:16:20 +03:00
"winapi 0.3.9",
]
[[package]]
name = "clap"
2021-12-06 05:07:49 +03:00
version = "2.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-06 05:07:49 +03:00
checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
dependencies = [
2021-12-06 05:07:49 +03:00
"ansi_term 0.12.1",
"atty",
"bitflags",
"strsim 0.8.0",
2020-10-05 10:06:01 +03:00
"textwrap 0.11.0",
"unicode-width",
"vec_map",
]
[[package]]
name = "clipboard"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25a904646c0340239dcf7c51677b33928bf24fdf424b79a57909c0109075b2e7"
dependencies = [
"clipboard-win",
"objc",
"objc-foundation",
"objc_id",
"x11-clipboard",
]
[[package]]
name = "clipboard-win"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b"
dependencies = [
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "cloudabi"
version = "0.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
dependencies = [
"bitflags",
]
[[package]]
name = "cocoa"
2020-06-30 03:52:14 +03:00
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-30 03:52:14 +03:00
checksum = "0c49e86fc36d5704151f5996b7b3795385f50ce09e3be0f47a0cfde869681cf8"
dependencies = [
"bitflags",
"block",
"core-foundation 0.7.0",
2020-06-30 03:52:14 +03:00
"core-graphics 0.19.2",
"foreign-types",
"libc",
"objc",
]
2020-10-03 08:39:15 +03:00
[[package]]
name = "codec"
version = "0.1.0"
dependencies = [
"anyhow",
"base91",
2020-10-03 08:39:15 +03:00
"config",
"leb128",
"log",
"metrics",
"mux",
"portable-pty",
"rangeset",
"serde",
2020-10-03 19:15:47 +03:00
"smol",
2020-10-03 08:39:15 +03:00
"termwiz",
"varbincode",
"wezterm-term",
"zstd",
]
[[package]]
name = "color_quant"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
[[package]]
name = "colored"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
dependencies = [
"atty",
"lazy_static",
"winapi 0.3.9",
]
[[package]]
name = "colorgrad"
2021-09-06 09:27:01 +03:00
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-09-06 09:27:01 +03:00
checksum = "62c834d2dcb442c0fdf4775e72707db38c5a358a6da74f3041f93563d02ce306"
dependencies = [
"csscolorparser",
]
2020-06-30 03:52:14 +03:00
[[package]]
name = "concurrent-queue"
2020-09-09 19:31:37 +03:00
version = "1.2.2"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
2020-06-30 03:52:14 +03:00
dependencies = [
"cache-padded",
]
2020-10-02 21:50:50 +03:00
[[package]]
name = "config"
version = "0.1.0"
dependencies = [
"anyhow",
"battery",
introduce freetype_load_flags and freetype_load_target config In the earlier times wezterm supported different font rasterizers, and the configuration was a bit vague and generic to accomodate differences in how the rasterizers worked. Since then, we've standardized on freetype. One of the things that's been bothering me for a while is that we have some fiddly logic to transform from the config to the freetype flags. This commit does away with the transformation and simply exposes the two sets of freetype options. The main thing that I expect people to play with is `freetype_load_target` which can have one of the following values: ``` pub enum FreeTypeLoadTarget { /// This corresponds to the default hinting algorithm, optimized for standard gray-level rendering. Normal, /// A lighter hinting algorithm for non-monochrome modes. Many generated glyphs are more fuzzy but better resemble its original shape. A bit like rendering on Mac OS X. This target implies FT_LOAD_FORCE_AUTOHINT. Light, /// Strong hinting algorithm that should only be used for monochrome output. The result is probably unpleasant if the glyph is rendered in non-monochrome modes. Mono, /// A variant of Normal optimized for horizontally decimated LCD displays. HorizontalLcd, /// A variant of Normal optimized for vertically decimated LCD displays. VerticalLcd, } ``` I expect most people will want to set this to one of `Normal`, `Light` or `HorizontalLcd`. `HorizontalLcd` is what `font_antialias=Subpixel` used to select. refs: #491
2021-02-21 00:54:56 +03:00
"bitflags",
2021-10-04 08:10:01 +03:00
"bstr 0.2.17",
"chrono",
"colorgrad",
"dirs-next",
"enum-display-derive",
"env_logger",
"filenamegen",
"hostname",
2020-10-02 21:50:50 +03:00
"lazy_static",
2020-10-03 06:51:50 +03:00
"libc",
2020-10-02 21:50:50 +03:00
"log",
"luahelper",
"mlua",
"notify",
"open",
"ordered-float",
2020-10-02 21:50:50 +03:00
"portable-pty",
"promise",
2020-10-02 21:50:50 +03:00
"serde",
add window:set_config_overrides lua method This commit expands on the prior commits to introduce the concept of per-window configuration overrides. Each TermWindow maintains json compatible object value holding a map of config key -> config value overrides. When the window notices that the config has changed, the config file is loaded, the CLI overrides (if any) are applied, and then finally the per-window overrides, before attempting to coerce the resultant lua value into a Config object. This mechanism has some important constraints: * Only data can be assigned to the overrides. Closures or special lua userdata object handles are not permitted. This is because the lifetime of those objects is tied to the lua context in which they were parsed, which doesn't really exist in the context of the window. * Only simple keys are supported for the per-window overrides. That means that trying to override a very specific field of a deeply structured value (eg: something like `font_rules[1].italic = false` isn't able to be expressed in this scheme. Instead, you would need to assign the entire `font_rules` key. I don't anticipate this being a common desire at this time; if more advance manipulations are required, then I have some thoughts on an event where arbitrary lua modifications can be applied. The implementation details are fairly straight-forward, but in testing the two examplary use cases I noticed that some hangovers from supporting overrides for a couple of font related options meant that the window-specific config wasn't being honored. I've removed the code that handled those overrides in favor of the newer more general CLI option override support, and threaded the config through to the font code. closes: #469 closes: #329
2021-02-28 01:53:19 +03:00
"serde_json",
"smol",
"terminfo",
2020-10-02 21:50:50 +03:00
"termwiz",
"toml",
"umask",
"unicode-segmentation",
bidi: tag Line with bidi mode This commit refines bidi property handling: * experimental_bidi has been split into two new configuration settings; `bidi_enabled` (which controls whether the terminal performs implicit bidi processing) and `bidi_direction` which specifies the base direction and whether auto detection is enabled. * The `Line` type can now store those bidi properties (they are actually split across 3 bits representing enabled, auto-detection and direction) * The terminal now has a concept of active bidi properties and default bidi properties * The default properties are pulled from the wezterm configuration * active bidi properties are potentially set via escape sequences, BDSM (which sets bidi_enabled) and SCP (which sets bidi_direction). We don't support the 2501 temporary dec private mode suggested by the BIDI recommendation doc at this time. * When creating new `Line`'s or clearing from the start of a `Line`, the effective bidi properties are computed (from the active props, falling back to default propr) and applied to the `Line`. * When rendering the line, we now look at its bidi properties instead of just the global config. The default bidi properties are `bidi_enabled: false` and `bidi_direction: LeftToRight` which corresponds to the typical bidi-unaware mode of most terminals. It is possible to live reload the config to change the effective defaults, but note that they apply, by design, to new lines being processed through the terminal. That means existing output is left unaffected by a config reload, but subsequently printed lines will respect it. Pressing CTRL-L or otherwise contriving to have the running application refresh its display should cause the refreshed display to update and apply the new bidi mode. refs: #784
2022-01-30 19:22:17 +03:00
"wezterm-bidi",
"wezterm-input-types",
"wezterm-ssh",
2020-10-02 21:50:50 +03:00
"wezterm-term",
"winapi 0.3.9",
2020-10-02 21:50:50 +03:00
]
[[package]]
name = "core-foundation"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
dependencies = [
"core-foundation-sys 0.7.0",
"libc",
]
[[package]]
name = "core-foundation"
2022-02-14 06:31:40 +03:00
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
dependencies = [
"core-foundation-sys 0.8.3",
"libc",
]
[[package]]
name = "core-foundation-sys"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
[[package]]
name = "core-foundation-sys"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
[[package]]
name = "core-graphics"
version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3889374e6ea6ab25dba90bb5d96202f61108058361f6dc72e8b03e6f8bbe923"
dependencies = [
"bitflags",
"core-foundation 0.7.0",
"foreign-types",
"libc",
]
[[package]]
name = "core-graphics"
2021-11-03 16:41:06 +03:00
version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-03 16:41:06 +03:00
checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb"
dependencies = [
"bitflags",
2022-02-14 06:31:40 +03:00
"core-foundation 0.9.3",
"core-graphics-types",
"foreign-types",
"libc",
]
[[package]]
name = "core-graphics-types"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b"
dependencies = [
"bitflags",
2022-02-14 06:31:40 +03:00
"core-foundation 0.9.3",
"foreign-types",
"libc",
]
[[package]]
name = "core-text"
2021-02-15 23:14:00 +03:00
version = "19.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-15 23:14:00 +03:00
checksum = "99d74ada66e07c1cefa18f8abfba765b486f250de2e4a999e5727fc0dd4b4a25"
dependencies = [
2022-02-14 06:31:40 +03:00
"core-foundation 0.9.3",
2021-11-03 16:41:06 +03:00
"core-graphics 0.22.3",
"foreign-types",
"libc",
]
[[package]]
2021-05-12 03:03:06 +03:00
name = "cpufeatures"
2022-03-21 17:47:57 +03:00
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
2021-05-12 03:03:06 +03:00
dependencies = [
"libc",
]
[[package]]
name = "crc32fast"
2022-02-14 06:31:40 +03:00
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "crossbeam"
2021-05-31 09:06:36 +03:00
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-31 09:06:36 +03:00
checksum = "4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845"
dependencies = [
2020-12-29 20:21:50 +03:00
"cfg-if 1.0.0",
"crossbeam-channel",
"crossbeam-deque",
"crossbeam-epoch",
"crossbeam-queue",
2020-12-29 20:21:50 +03:00
"crossbeam-utils",
]
[[package]]
name = "crossbeam-channel"
2022-03-21 17:47:57 +03:00
version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53"
dependencies = [
"cfg-if 1.0.0",
2020-12-29 20:21:50 +03:00
"crossbeam-utils",
]
[[package]]
name = "crossbeam-deque"
2021-08-02 04:40:25 +03:00
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-02 04:40:25 +03:00
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
dependencies = [
"cfg-if 1.0.0",
2020-12-29 20:21:50 +03:00
"crossbeam-epoch",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-epoch"
2022-03-21 17:47:57 +03:00
version = "0.9.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c"
dependencies = [
2022-03-21 17:47:57 +03:00
"autocfg",
"cfg-if 1.0.0",
2020-12-29 20:21:50 +03:00
"crossbeam-utils",
"lazy_static",
"memoffset",
"scopeguard",
]
[[package]]
name = "crossbeam-queue"
2022-03-21 17:47:57 +03:00
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "1f25d8400f4a7a5778f0e4e52384a48cbd9b5c495d110786187fc750075277a2"
dependencies = [
2020-12-29 20:21:50 +03:00
"cfg-if 1.0.0",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
2022-03-21 17:47:57 +03:00
version = "0.8.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
dependencies = [
"cfg-if 1.0.0",
"lazy_static",
]
[[package]]
name = "csscolorparser"
2021-09-06 09:27:01 +03:00
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-09-06 09:27:01 +03:00
checksum = "b2fb3bd93ef32553e3d5b9f8020028f41ac64ff8a230033d5d548b8222d21fbe"
dependencies = [
"phf",
]
[[package]]
name = "ctor"
2022-03-21 17:47:57 +03:00
version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
dependencies = [
"quote",
"syn",
]
2021-11-29 05:09:45 +03:00
[[package]]
name = "cty"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35"
2021-08-23 17:48:13 +03:00
[[package]]
name = "deflate"
2022-02-07 04:51:32 +03:00
version = "1.0.0"
2021-08-23 17:48:13 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-07 04:51:32 +03:00
checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f"
2021-08-23 17:48:13 +03:00
dependencies = [
"adler32",
]
[[package]]
name = "derivative"
version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "diff"
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499"
[[package]]
name = "difference"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "524cbf6897b527295dff137cec09ecf3a05f4fddffd7dfcd1585403449e74198"
[[package]]
name = "difflib"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8"
[[package]]
name = "digest"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
dependencies = [
"generic-array 0.12.4",
]
[[package]]
name = "digest"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
dependencies = [
"generic-array 0.14.5",
]
[[package]]
name = "dirs"
version = "2.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
dependencies = [
"cfg-if 0.1.10",
"dirs-sys",
]
[[package]]
name = "dirs-next"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1"
dependencies = [
"cfg-if 1.0.0",
"dirs-sys-next",
]
[[package]]
name = "dirs-sys"
2022-03-21 17:47:57 +03:00
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
dependencies = [
"libc",
2021-04-26 18:34:45 +03:00
"redox_users",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "dirs-sys-next"
2021-01-11 19:43:32 +03:00
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-11 19:43:32 +03:00
checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d"
dependencies = [
"libc",
2021-04-26 18:34:45 +03:00
"redox_users",
"winapi 0.3.9",
]
2021-03-01 20:02:05 +03:00
[[package]]
name = "dlib"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794"
dependencies = [
2022-01-17 04:46:30 +03:00
"libloading 0.7.3",
]
[[package]]
name = "doc-comment"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10"
[[package]]
name = "downcast-rs"
2020-06-30 03:52:14 +03:00
version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-30 03:52:14 +03:00
checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
[[package]]
name = "dwrote"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "439a1c2ba5611ad3ed731280541d36d2e9c4ac5e7fb818a27b604bdc5a6aa65b"
dependencies = [
"lazy_static",
"libc",
"serde",
"serde_derive",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
"wio",
]
[[package]]
name = "easy-parallel"
2022-01-03 05:48:38 +03:00
version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "6907e25393cdcc1f4f3f513d9aac1e840eb1cc341a0fccb01171f7d14d10b946"
[[package]]
name = "either"
2020-10-02 17:16:20 +03:00
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-10-02 17:16:20 +03:00
checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
[[package]]
name = "embed-resource"
2022-04-04 04:26:59 +03:00
version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "ecc24ff8d764818e9ab17963b0593c535f077a513f565e75e4352d758bc4d8c0"
dependencies = [
2021-02-01 18:54:01 +03:00
"cc",
2022-03-09 17:31:53 +03:00
"rustc_version 0.4.0",
"toml",
"vswhom",
2021-09-13 18:34:47 +03:00
"winreg 0.10.1",
]
[[package]]
name = "encoding_rs"
version = "0.8.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "enum-display-derive"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f16ef37b2a9b242295d61a154ee91ae884afff6b8b933b486b12481cc58310ca"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "enumflags2"
2022-03-28 05:47:26 +03:00
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-28 05:47:26 +03:00
checksum = "1b3ab37dc79652c9d85f1f7b6070d77d321d2467f5fe7b00d6b7a86c57b092ae"
dependencies = [
"enumflags2_derive",
"serde",
]
[[package]]
name = "enumflags2_derive"
2022-03-28 05:47:26 +03:00
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-28 05:47:26 +03:00
checksum = "f58dc3c5e468259f19f2d46304a6b28f1c3d034442e14b322d2b850e36f6d5ae"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "env-bootstrap"
version = "0.1.0"
dependencies = [
"chrono",
"cocoa",
"config",
"dirs-next",
"env_logger",
"lazy_static",
"libc",
"log",
"objc",
"termwiz",
"winapi 0.3.9",
]
2020-02-14 20:46:19 +03:00
[[package]]
name = "env_logger"
version = "0.9.0"
2020-02-14 20:46:19 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
2020-02-14 20:46:19 +03:00
dependencies = [
"atty",
"humantime",
"log",
"regex",
"termcolor",
]
[[package]]
name = "euclid"
2021-06-07 18:32:05 +03:00
version = "0.22.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "da96828553a086d7b18dcebfc579bd9628b016f86590d7453c115e490fa74b80"
dependencies = [
2021-06-07 18:32:05 +03:00
"num-traits",
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "event-listener"
2022-01-24 08:19:09 +03:00
version = "2.5.2"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
2020-09-09 19:31:37 +03:00
[[package]]
name = "evmap"
version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6fdb60074c9b82c91f8702fa5351b85d22b668dae7f73bf06b44a09bc372380f"
dependencies = [
"hashbrown 0.5.0",
2021-01-11 19:43:32 +03:00
"smallvec 0.6.14",
]
2022-02-07 04:51:32 +03:00
[[package]]
name = "exr"
version = "1.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4badb9489a465cb2c555af1f00f0bfd8cecd6fc12ac11da9d5b40c5dd5f0200"
dependencies = [
"bit_field",
2022-02-14 06:31:40 +03:00
"deflate",
2022-02-07 04:51:32 +03:00
"flume",
"half",
"inflate",
"lebe",
"smallvec 1.8.0",
"threadpool",
]
[[package]]
name = "fake-simd"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
2020-06-30 03:52:14 +03:00
[[package]]
name = "fastrand"
2022-01-24 08:19:09 +03:00
version = "1.7.0"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
dependencies = [
"instant",
]
2020-06-30 03:52:14 +03:00
[[package]]
name = "filedescriptor"
version = "0.8.2"
dependencies = [
"libc",
"thiserror",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "filenamegen"
2020-04-15 18:23:43 +03:00
version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-04-15 18:23:43 +03:00
checksum = "0b2da6e8ef70499318bc50abd003fd66dbf6d8a46c23f9e90158f388a788976a"
dependencies = [
"anyhow",
"bstr 0.1.4",
"regex",
"walkdir",
]
[[package]]
name = "filetime"
2021-08-16 04:17:02 +03:00
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-16 04:17:02 +03:00
checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98"
dependencies = [
"cfg-if 1.0.0",
"libc",
2022-04-04 04:26:59 +03:00
"redox_syscall 0.2.13",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "flate2"
2021-09-13 18:34:47 +03:00
version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-09-13 18:34:47 +03:00
checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f"
dependencies = [
"cfg-if 1.0.0",
"crc32fast",
"libc",
2022-02-14 06:31:40 +03:00
"miniz_oxide 0.4.4",
]
[[package]]
name = "float-cmp"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4"
dependencies = [
"num-traits",
]
[[package]]
name = "flume"
2022-03-21 17:47:57 +03:00
version = "0.10.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "843c03199d0c0ca54bc1ea90ac0d507274c28abcc4f691ae8b4eaa375087c76a"
dependencies = [
"futures-core",
"futures-sink",
"nanorand",
2021-01-06 11:28:11 +03:00
"pin-project",
2021-08-25 20:00:33 +03:00
"spin 0.9.2",
]
[[package]]
name = "fnv"
2020-05-26 08:25:39 +03:00
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-05-26 08:25:39 +03:00
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "fontconfig"
version = "0.1.0"
dependencies = [
"libc",
"pkg-config",
]
[[package]]
name = "foreign-types"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
dependencies = [
"foreign-types-shared",
]
[[package]]
name = "foreign-types-shared"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "form_urlencoded"
2021-02-22 11:09:01 +03:00
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-22 11:09:01 +03:00
checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
dependencies = [
"matches",
"percent-encoding",
]
[[package]]
name = "freetype"
version = "0.1.0"
dependencies = [
"cc",
]
[[package]]
name = "fsevent"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
dependencies = [
"bitflags",
"fsevent-sys",
]
[[package]]
name = "fsevent-sys"
version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f41b048a94555da0f42f1d632e2e19510084fb8e303b0daa2816e733fb3644a0"
dependencies = [
"libc",
]
[[package]]
name = "fuchsia-cprng"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
[[package]]
name = "fuchsia-zircon"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
dependencies = [
"bitflags",
"fuchsia-zircon-sys",
]
[[package]]
name = "fuchsia-zircon-sys"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
[[package]]
name = "futures"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
dependencies = [
"futures-channel",
"futures-core",
"futures-executor",
"futures-io",
"futures-sink",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-channel"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
dependencies = [
"futures-core",
"futures-sink",
]
[[package]]
name = "futures-core"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
[[package]]
name = "futures-executor"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
dependencies = [
"futures-core",
"futures-task",
"futures-util",
]
[[package]]
name = "futures-io"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
2020-10-02 17:16:20 +03:00
[[package]]
name = "futures-lite"
2021-06-07 18:32:05 +03:00
version = "1.12.0"
2020-10-02 17:16:20 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
2020-10-02 17:16:20 +03:00
dependencies = [
"fastrand",
"futures-core",
"futures-io",
"memchr",
"parking",
2020-12-20 03:44:27 +03:00
"pin-project-lite",
2020-10-02 17:16:20 +03:00
"waker-fn",
]
[[package]]
name = "futures-macro"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "futures-sink"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
[[package]]
name = "futures-task"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
[[package]]
name = "futures-util"
2022-02-06 17:46:12 +03:00
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
dependencies = [
"futures-channel",
"futures-core",
"futures-io",
"futures-macro",
"futures-sink",
"futures-task",
"memchr",
2021-01-11 19:43:32 +03:00
"pin-project-lite",
"pin-utils",
"slab",
]
[[package]]
name = "fuzzy-matcher"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
dependencies = [
"thread_local",
]
Add wezterm-bidi crate In order to support RTL/BIDI, wezterm needs a bidi implementation. I don't think a well-conforming rust implementation exists today; what I found were implementations that didn't pass 100% of the conformance tests. So I decided to port "bidiref", the reference implementation of the UBA described in http://unicode.org/reports/tr9/ to Rust. This implementation focuses on conformance: no special measures have been taken to optimize it so far, with my focus having been to ensure that all of the approx 780,000 test cases in the unicode data for unicode 14 pass. Having the tests passing 100% allows for making performance improvements with confidence in the future. The API isn't completely designed/fully baked. Until I get to hooking it up to wezterm's shaper, I'm not 100% sure exactly what I'll need. There's a good discussion on API in https://github.com/open-i18n/rust-unic/issues/273 that suggests omitting "legacy" operations such as reordering. I suspect that wezterm may actually need that function to support monospace text layout in some terminal scenarios, but regardless: reordering is part of the conformance test suite so it remains a part of the API. That said: the API does model the major operations as separate phases, so you should be able to pay for just what you use: * Resolving the embedding levels from a paragraph * Returning paragraph runs of those levels (and their directions) * Returning the whitespace-level-reset runs for a line-slice within the paragraph * Returning the reordered indices + levels for a line-slice within the paragraph. refs: https://github.com/wez/wezterm/issues/784 refs: https://github.com/kas-gui/kas-text/issues/20
2022-01-21 18:42:44 +03:00
[[package]]
name = "generate-bidi"
version = "0.1.0"
dependencies = [
"anyhow",
]
[[package]]
name = "generic-array"
version = "0.12.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
dependencies = [
"typenum",
]
[[package]]
name = "generic-array"
version = "0.14.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803"
dependencies = [
"typenum",
"version_check",
]
[[package]]
name = "getopts"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5"
dependencies = [
"unicode-width",
]
[[package]]
name = "getrandom"
2021-01-06 11:28:11 +03:00
version = "0.1.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-06 11:28:11 +03:00
checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
dependencies = [
2021-01-06 11:28:11 +03:00
"cfg-if 1.0.0",
"libc",
"wasi 0.9.0+wasi-snapshot-preview1",
]
[[package]]
name = "getrandom"
2022-04-04 04:26:59 +03:00
version = "0.2.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
dependencies = [
2021-01-06 11:28:11 +03:00
"cfg-if 1.0.0",
"js-sys",
"libc",
2021-02-01 18:54:01 +03:00
"wasi 0.10.2+wasi-snapshot-preview1",
"wasm-bindgen",
]
[[package]]
name = "gif"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3a7187e78088aead22ceedeee99779455b23fc231fe13ec443f99bb71694e5b"
dependencies = [
"color_quant",
2020-10-02 17:16:20 +03:00
"weezl",
]
2020-05-26 08:25:39 +03:00
[[package]]
name = "gimli"
2021-11-03 16:41:06 +03:00
version = "0.26.1"
2020-05-26 08:25:39 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-03 16:41:06 +03:00
checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
2020-05-26 08:25:39 +03:00
[[package]]
name = "gl_generator"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d"
dependencies = [
"khronos_api",
"log",
"xml-rs",
]
[[package]]
name = "glium"
version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ab4f09b43d8ee427a700cb9ed3b20e0e858d62a509edded1a98ca5707d68e19"
dependencies = [
"backtrace",
"fnv",
"gl_generator",
"lazy_static",
"memoffset",
2022-01-17 04:46:30 +03:00
"smallvec 1.8.0",
"takeable-option",
]
[[package]]
name = "globset"
version = "0.4.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd"
dependencies = [
"aho-corasick",
"bstr 0.2.17",
"fnv",
"log",
"regex",
]
[[package]]
name = "globwalk"
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
dependencies = [
"bitflags",
"ignore",
"walkdir",
]
2020-10-02 17:16:20 +03:00
[[package]]
name = "gloo-timers"
2022-01-31 04:29:59 +03:00
version = "0.2.3"
2020-10-02 17:16:20 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e"
2020-10-02 17:16:20 +03:00
dependencies = [
"futures-channel",
"futures-core",
"js-sys",
"wasm-bindgen",
]
[[package]]
name = "guillotiere"
2021-08-16 04:17:02 +03:00
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-16 04:17:02 +03:00
checksum = "b62d5865c036cb1393e23c50693df631d3f5d7bcca4c04fe4cc0fd592e74a782"
dependencies = [
2020-12-10 21:03:16 +03:00
"euclid",
"svg_fmt",
]
2022-02-07 04:51:32 +03:00
[[package]]
name = "half"
version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7"
[[package]]
name = "harfbuzz"
version = "0.1.0"
dependencies = [
"cc",
"freetype",
]
[[package]]
name = "hashbrown"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1de41fb8dba9714efd92241565cdff73f78508c95697dd56787d3cba27e2353"
2021-07-07 23:27:08 +03:00
[[package]]
name = "hashbrown"
version = "0.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e"
2021-08-02 04:40:25 +03:00
dependencies = [
"ahash",
2021-08-02 04:40:25 +03:00
]
2021-07-07 23:27:08 +03:00
2020-01-04 12:21:51 +03:00
[[package]]
name = "hdrhistogram"
2022-02-14 06:31:40 +03:00
version = "7.5.0"
2020-01-04 12:21:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "31672b7011be2c4f7456c4ddbcb40e7e9a4a9fad8efe49a6ebaf5f307d0109c0"
2020-01-04 12:21:51 +03:00
dependencies = [
2020-12-29 20:21:50 +03:00
"base64",
"byteorder",
2020-12-29 20:21:50 +03:00
"crossbeam-channel",
"flate2",
2022-03-21 17:47:57 +03:00
"nom 7.1.1",
2021-06-07 18:32:05 +03:00
"num-traits",
2020-01-04 12:21:51 +03:00
]
[[package]]
name = "heck"
2021-06-07 18:32:05 +03:00
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
dependencies = [
"unicode-segmentation",
]
[[package]]
name = "hermit-abi"
2021-06-27 05:49:10 +03:00
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-27 05:49:10 +03:00
checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
dependencies = [
"libc",
]
[[package]]
name = "hex"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]]
name = "hostname"
2020-03-14 19:39:38 +03:00
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-03-14 19:39:38 +03:00
checksum = "3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867"
dependencies = [
"libc",
"match_cfg",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "http_req"
2021-07-12 06:08:24 +03:00
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-07-12 06:08:24 +03:00
checksum = "9e6cd45a270dff33553602fd84beb02c89460ee32db638715f10d9060389fd6a"
dependencies = [
"native-tls",
"unicase",
]
[[package]]
name = "humantime"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
2020-01-11 10:18:49 +03:00
[[package]]
name = "idna"
2021-04-19 19:23:33 +03:00
version = "0.2.3"
2020-01-11 10:18:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-04-19 19:23:33 +03:00
checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
2020-01-11 10:18:49 +03:00
dependencies = [
"matches",
"unicode-bidi",
"unicode-normalization",
2020-01-11 10:18:49 +03:00
]
[[package]]
name = "ignore"
version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d"
dependencies = [
"crossbeam-utils",
"globset",
"lazy_static",
"log",
"memchr",
"regex",
"same-file",
"thread_local",
"walkdir",
"winapi-util",
]
[[package]]
name = "image"
2022-02-22 05:44:27 +03:00
version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "db207d030ae38f1eb6f240d5a1c1c88ff422aa005d10f8c6c6fc5e75286ab30e"
dependencies = [
"bytemuck",
"byteorder",
"color_quant",
2022-02-07 04:51:32 +03:00
"exr",
"gif",
2022-04-04 04:26:59 +03:00
"jpeg-decoder 0.2.4",
"num-iter",
2022-02-07 04:51:32 +03:00
"num-rational 0.4.0",
2021-06-07 18:32:05 +03:00
"num-traits",
2022-02-07 04:51:32 +03:00
"png",
"scoped_threadpool",
2020-06-13 20:21:49 +03:00
"tiff",
]
[[package]]
name = "indoc"
2022-02-22 05:44:27 +03:00
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "e7906a9fababaeacb774f72410e497a1d18de916322e33797bb2cd29baa23c9e"
dependencies = [
"unindent",
]
2022-02-07 04:51:32 +03:00
[[package]]
name = "inflate"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1cdb29978cc5797bd8dcc8e5bf7de604891df2a8dc576973d71a281e916db2ff"
dependencies = [
"adler32",
]
[[package]]
name = "inotify"
2020-06-06 20:08:02 +03:00
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-06 20:08:02 +03:00
checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
dependencies = [
"bitflags",
"inotify-sys",
"libc",
]
[[package]]
name = "inotify-sys"
2021-01-18 10:38:11 +03:00
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-18 10:38:11 +03:00
checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
dependencies = [
"libc",
]
[[package]]
name = "instant"
2021-10-25 05:20:45 +03:00
version = "0.1.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-25 05:20:45 +03:00
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
dependencies = [
"cfg-if 1.0.0",
]
[[package]]
name = "ioctl-rs"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7970510895cee30b3e9128319f2cefd4bde883a39f38baa279567ba3a7eb97d"
dependencies = [
"libc",
]
[[package]]
name = "iovec"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
dependencies = [
"libc",
]
[[package]]
name = "itertools"
2021-12-11 01:26:10 +03:00
version = "0.10.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-11 01:26:10 +03:00
checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
dependencies = [
"either",
]
[[package]]
name = "itoa"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
[[package]]
name = "jobserver"
2021-08-23 17:33:44 +03:00
version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-23 17:33:44 +03:00
checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
dependencies = [
"libc",
]
[[package]]
name = "jpeg-decoder"
2021-02-01 18:54:01 +03:00
version = "0.1.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-01 18:54:01 +03:00
checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
2022-02-07 04:51:32 +03:00
[[package]]
name = "jpeg-decoder"
2022-04-04 04:26:59 +03:00
version = "0.2.4"
2022-02-07 04:51:32 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "744c24117572563a98a7e9168a5ac1ee4a1ca7f702211258797bbe0ed0346c3c"
dependencies = [
"rayon",
]
[[package]]
name = "js-sys"
2022-01-24 08:19:09 +03:00
version = "0.3.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04"
dependencies = [
"wasm-bindgen",
]
[[package]]
name = "k9"
2021-08-25 20:00:33 +03:00
version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-25 20:00:33 +03:00
checksum = "611dc69892d72bfa0848a2e6bf55ef2e3fdc7283381c97713a75043326decc5d"
dependencies = [
"anyhow",
"colored",
"diff",
"lazy_static",
"libc",
2020-12-29 20:21:50 +03:00
"proc-macro2",
"regex",
"syn",
"term_size",
]
[[package]]
name = "kernel32-sys"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
dependencies = [
"winapi 0.2.8",
"winapi-build",
]
[[package]]
name = "khronos_api"
version = "3.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
[[package]]
name = "kv-log-macro"
2020-07-09 09:54:56 +03:00
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-07-09 09:54:56 +03:00
checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
dependencies = [
"log",
]
[[package]]
name = "lazy_static"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
[[package]]
name = "lazycell"
2020-09-09 19:31:37 +03:00
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "leb128"
2021-10-11 05:15:00 +03:00
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-11 05:15:00 +03:00
checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67"
2022-02-07 04:51:32 +03:00
[[package]]
name = "lebe"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7efd1d698db0759e6ef11a7cd44407407399a910c774dd804c64c032da7826ff"
[[package]]
name = "libc"
2022-03-21 17:47:57 +03:00
version = "0.2.121"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f"
2020-06-06 20:08:02 +03:00
[[package]]
name = "libloading"
2021-01-18 10:38:11 +03:00
version = "0.6.7"
2020-06-06 20:08:02 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-18 10:38:11 +03:00
checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883"
2020-06-06 20:08:02 +03:00
dependencies = [
"cfg-if 1.0.0",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
2020-06-06 20:08:02 +03:00
]
2021-03-01 20:02:05 +03:00
[[package]]
name = "libloading"
2022-01-17 04:46:30 +03:00
version = "0.7.3"
2021-03-01 20:02:05 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd"
2021-03-01 20:02:05 +03:00
dependencies = [
"cfg-if 1.0.0",
"winapi 0.3.9",
]
[[package]]
name = "libssh-rs"
2022-01-31 04:29:59 +03:00
version = "0.1.4"
source = "git+https://github.com/wez/libssh-rs.git#d36e5648274063c187968fd5ce0b1a7aa350a025"
dependencies = [
"bitflags",
"libssh-rs-sys",
"thiserror",
]
[[package]]
name = "libssh-rs-sys"
2022-01-31 04:29:59 +03:00
version = "0.1.3"
source = "git+https://github.com/wez/libssh-rs.git#d36e5648274063c187968fd5ce0b1a7aa350a025"
dependencies = [
"cc",
"libz-sys",
"openssl-sys",
"pkg-config",
]
[[package]]
name = "libssh2-sys"
version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b094a36eb4b8b8c8a7b4b8ae43b2944502be3e59cd87687595cf6b0a71b3f4ca"
dependencies = [
"cc",
"libc",
"libz-sys",
"openssl-sys",
"pkg-config",
"vcpkg",
]
[[package]]
name = "libz-sys"
2022-03-09 17:31:53 +03:00
version = "1.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "6f35facd4a5673cb5a48822be2be1d4236c1c99cb4113cab7061ac720d5bf859"
dependencies = [
"cc",
"libc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "line_drawing"
2021-06-07 18:32:05 +03:00
version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "15cb10f27ad3eac84fdb70f0ea6dfe3bc33f7d6f3aa575f32d1ced3a342049a1"
dependencies = [
2021-06-07 18:32:05 +03:00
"num-traits",
]
[[package]]
name = "lock_api"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
dependencies = [
"scopeguard",
]
[[package]]
name = "lock_api"
2022-04-04 04:26:59 +03:00
version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
dependencies = [
2022-04-04 04:26:59 +03:00
"autocfg",
"scopeguard",
]
[[package]]
name = "log"
2022-03-28 05:47:26 +03:00
version = "0.4.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-28 05:47:26 +03:00
checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
dependencies = [
2021-02-01 18:54:01 +03:00
"cfg-if 1.0.0",
"value-bag",
]
[[package]]
name = "lru"
2022-04-04 04:26:59 +03:00
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "22e8810f0ab5b02d4fc737c818258c8560a3216b7ebd5fd756cb437e23157fc6"
dependencies = [
2021-08-02 04:40:25 +03:00
"hashbrown 0.11.2",
]
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
[[package]]
name = "lua-src"
2022-01-31 04:29:59 +03:00
version = "544.0.0"
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
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "7341ba039a781c4982ca20761c55f44e07bfefd496a45b1e929763d88f5fc68b"
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
dependencies = [
"cc",
]
2020-10-02 20:28:58 +03:00
[[package]]
name = "luahelper"
version = "0.1.0"
dependencies = [
2021-10-04 08:10:01 +03:00
"bstr 0.2.17",
2020-10-02 20:28:58 +03:00
"log",
"mlua",
"serde",
add window:set_config_overrides lua method This commit expands on the prior commits to introduce the concept of per-window configuration overrides. Each TermWindow maintains json compatible object value holding a map of config key -> config value overrides. When the window notices that the config has changed, the config file is loaded, the CLI overrides (if any) are applied, and then finally the per-window overrides, before attempting to coerce the resultant lua value into a Config object. This mechanism has some important constraints: * Only data can be assigned to the overrides. Closures or special lua userdata object handles are not permitted. This is because the lifetime of those objects is tied to the lua context in which they were parsed, which doesn't really exist in the context of the window. * Only simple keys are supported for the per-window overrides. That means that trying to override a very specific field of a deeply structured value (eg: something like `font_rules[1].italic = false` isn't able to be expressed in this scheme. Instead, you would need to assign the entire `font_rules` key. I don't anticipate this being a common desire at this time; if more advance manipulations are required, then I have some thoughts on an event where arbitrary lua modifications can be applied. The implementation details are fairly straight-forward, but in testing the two examplary use cases I noticed that some hangovers from supporting overrides for a couple of font related options meant that the window-specific config wasn't being honored. I've removed the code that handled those overrides in favor of the newer more general CLI option override support, and threaded the config through to the font code. closes: #469 closes: #329
2021-02-28 01:53:19 +03:00
"serde_json",
2020-10-02 20:28:58 +03:00
"strsim 0.10.0",
"thiserror",
]
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
[[package]]
name = "luajit-src"
2022-03-21 17:47:57 +03:00
version = "210.3.3+resty673aaad"
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
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "3201eae65820ee1f1eddc22de04f5c834bce36db20c2672d39d47826b317768e"
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
dependencies = [
"cc",
]
[[package]]
name = "mach"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b823e83b2affd8f40a9ee8c29dbc56404c1e34cd2710921f2801e2cf29527afa"
dependencies = [
"libc",
]
[[package]]
name = "malloc_buf"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
dependencies = [
"libc",
]
[[package]]
name = "maplit"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]]
name = "match_cfg"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4"
2020-01-11 10:18:49 +03:00
[[package]]
name = "matches"
2021-08-16 04:17:02 +03:00
version = "0.1.9"
2020-01-11 10:18:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-16 04:17:02 +03:00
checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
2020-01-11 10:18:49 +03:00
[[package]]
name = "maybe-uninit"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
[[package]]
name = "memchr"
2021-08-23 17:33:44 +03:00
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-23 17:33:44 +03:00
checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
[[package]]
name = "memmap"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b"
dependencies = [
"libc",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "memmap2"
2021-05-31 09:06:36 +03:00
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-31 09:06:36 +03:00
checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4"
dependencies = [
"libc",
]
2021-12-28 17:28:07 +03:00
[[package]]
name = "memmap2"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "00b6c2ebff6180198788f5db08d7ce3bc1d0b617176678831a7510825973e357"
dependencies = [
"libc",
]
[[package]]
name = "memmem"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15"
[[package]]
name = "memoffset"
2021-12-06 05:07:49 +03:00
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-06 05:07:49 +03:00
checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
]
2020-01-04 12:21:51 +03:00
[[package]]
name = "metrics"
2021-12-20 18:15:56 +03:00
version = "0.17.1"
2020-01-04 12:21:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-20 18:15:56 +03:00
checksum = "55586aa936c35f34ba8aa5d97356d554311206e1ce1f9e68fe7b07288e5ad827"
2020-01-04 12:21:51 +03:00
dependencies = [
"ahash",
2021-02-04 10:50:29 +03:00
"metrics-macros",
2020-01-04 12:21:51 +03:00
]
[[package]]
2021-02-04 10:50:29 +03:00
name = "metrics-macros"
2021-12-20 18:15:56 +03:00
version = "0.4.1"
2020-01-04 12:21:51 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-20 18:15:56 +03:00
checksum = "0daa0ab3a0ae956d0e2c1f42511422850e577d36a255357d1a7d08d45ee3a2f1"
2021-02-04 10:50:29 +03:00
dependencies = [
"lazy_static",
"proc-macro2",
"quote",
2021-02-04 10:50:29 +03:00
"regex",
"syn",
2021-02-04 10:50:29 +03:00
]
2020-01-04 12:21:51 +03:00
2021-08-23 17:33:44 +03:00
[[package]]
name = "minimal-lexical"
2021-11-08 17:57:40 +03:00
version = "0.2.1"
2021-08-23 17:33:44 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-08 17:57:40 +03:00
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
2021-08-23 17:33:44 +03:00
2020-06-30 03:52:14 +03:00
[[package]]
name = "miniz_oxide"
2021-03-01 20:02:05 +03:00
version = "0.4.4"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-01 20:02:05 +03:00
checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
2020-06-30 03:52:14 +03:00
dependencies = [
"adler",
2020-12-10 01:04:56 +03:00
"autocfg",
2020-06-30 03:52:14 +03:00
]
2022-02-14 06:31:40 +03:00
[[package]]
name = "miniz_oxide"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
dependencies = [
"adler",
]
[[package]]
name = "mio"
version = "0.6.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4"
dependencies = [
"cfg-if 0.1.10",
"fuchsia-zircon",
"fuchsia-zircon-sys",
"iovec",
"kernel32-sys",
"libc",
"log",
2020-10-05 10:06:01 +03:00
"miow",
"net2",
"slab",
"winapi 0.2.8",
]
[[package]]
name = "mio-extras"
2019-12-30 00:43:59 +03:00
version = "2.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52403fe290012ce777c4626790c8951324a2b9e3316b3143779c72b029742f19"
dependencies = [
"lazycell",
"log",
"mio",
"slab",
]
[[package]]
name = "miow"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d"
dependencies = [
"kernel32-sys",
"net2",
"winapi 0.2.8",
"ws2_32-sys",
]
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
[[package]]
name = "mlua"
2022-03-09 17:31:53 +03:00
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "29e2194305aa8301d5da9c1c98640047f4219f6b95c190f6860338ab9872b686"
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
dependencies = [
2021-10-04 08:10:01 +03:00
"bstr 0.2.17",
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
"cc",
2020-10-07 04:34:29 +03:00
"futures-core",
"futures-task",
"futures-util",
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
"lua-src",
"luajit-src",
2021-06-07 18:32:05 +03:00
"num-traits",
"once_cell",
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
"pkg-config",
"rustc-hash",
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
]
2020-10-03 03:42:49 +03:00
[[package]]
name = "mux"
version = "0.1.0"
dependencies = [
"anyhow",
"async-trait",
2020-12-29 20:21:50 +03:00
"base64",
2020-10-03 03:42:49 +03:00
"bintree",
"chrono",
2020-10-03 03:42:49 +03:00
"config",
"crossbeam",
2020-10-03 03:42:49 +03:00
"downcast-rs",
"filedescriptor",
2021-08-23 15:48:09 +03:00
"flume",
"hostname",
"k9",
"lazy_static",
2020-10-05 19:11:17 +03:00
"libc",
2020-10-03 03:42:49 +03:00
"log",
"luahelper",
"metrics",
"mlua",
"names",
"ntapi",
"percent-encoding",
2020-10-03 03:42:49 +03:00
"portable-pty",
2022-01-01 05:30:52 +03:00
"procinfo",
2020-10-03 03:42:49 +03:00
"promise",
"rangeset",
"ratelim",
"regex",
"serde",
"shell-words",
"smol",
"terminfo",
2020-10-03 03:42:49 +03:00
"termwiz",
2022-02-28 16:59:10 +03:00
"textwrap 0.15.0",
2020-10-03 03:42:49 +03:00
"thiserror",
"unicode-segmentation",
2020-10-03 03:42:49 +03:00
"url",
"wezterm-ssh",
2020-10-03 03:42:49 +03:00
"wezterm-term",
"winapi 0.3.9",
2020-10-03 03:42:49 +03:00
]
[[package]]
name = "names"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10a8690bf09abf659851e58cd666c3d37ac6af07c2bd7a9e332cfba471715775"
dependencies = [
2022-02-22 05:44:27 +03:00
"rand 0.8.5",
]
[[package]]
name = "nanorand"
2022-03-21 17:47:57 +03:00
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
dependencies = [
2022-04-04 04:26:59 +03:00
"getrandom 0.2.6",
]
[[package]]
name = "native-tls"
2022-04-04 04:26:59 +03:00
version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9"
dependencies = [
"lazy_static",
"libc",
"log",
"openssl",
"openssl-probe",
"openssl-sys",
"schannel",
"security-framework",
"security-framework-sys",
"tempfile",
]
[[package]]
name = "net2"
version = "0.2.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
dependencies = [
"cfg-if 0.1.10",
"libc",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "nix"
version = "0.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2"
dependencies = [
"bitflags",
"cc",
"cfg-if 1.0.0",
"libc",
]
[[package]]
name = "nix"
2022-01-24 08:19:09 +03:00
version = "0.22.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf"
dependencies = [
"bitflags",
"cc",
"cfg-if 1.0.0",
"libc",
2021-12-28 17:28:07 +03:00
"memoffset",
]
2021-03-01 20:02:05 +03:00
[[package]]
name = "nix"
version = "0.23.1"
2021-03-01 20:02:05 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6"
2021-03-01 20:02:05 +03:00
dependencies = [
"bitflags",
"cc",
"cfg-if 1.0.0",
"libc",
"memoffset",
2021-03-01 20:02:05 +03:00
]
2020-01-10 09:39:34 +03:00
[[package]]
name = "nom"
2020-06-13 20:21:49 +03:00
version = "5.1.2"
2020-01-10 09:39:34 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-13 20:21:49 +03:00
checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
2020-01-10 09:39:34 +03:00
dependencies = [
"memchr",
"version_check",
]
2021-08-23 17:33:44 +03:00
[[package]]
name = "nom"
2022-03-21 17:47:57 +03:00
version = "7.1.1"
2021-08-23 17:33:44 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36"
2021-08-23 17:33:44 +03:00
dependencies = [
"memchr",
"minimal-lexical",
]
[[package]]
name = "nonzero_ext"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db1b4163932b207be6e3a06412aed4d84cca40dc087419f231b3a38cba2ca8e9"
[[package]]
name = "normalize-line-endings"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
[[package]]
name = "notify"
2021-05-17 17:28:56 +03:00
version = "4.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-17 17:28:56 +03:00
checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
dependencies = [
"bitflags",
"filetime",
"fsevent",
"fsevent-sys",
"inotify",
"libc",
"mio",
"mio-extras",
"walkdir",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "ntapi"
2022-02-14 06:31:40 +03:00
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "num"
2020-12-29 20:21:50 +03:00
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-12-29 20:21:50 +03:00
checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"
dependencies = [
2021-09-06 09:23:40 +03:00
"num-bigint",
"num-complex",
"num-integer",
"num-iter",
2022-02-07 04:51:32 +03:00
"num-rational 0.3.2",
2021-06-07 18:32:05 +03:00
"num-traits",
]
[[package]]
name = "num-bigint"
2021-09-06 09:23:40 +03:00
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-09-06 09:23:40 +03:00
checksum = "5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-complex"
2020-12-29 20:21:50 +03:00
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-12-29 20:21:50 +03:00
checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
dependencies = [
2021-06-07 18:32:05 +03:00
"num-traits",
]
[[package]]
name = "num-derive"
2020-12-29 20:21:50 +03:00
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-12-29 20:21:50 +03:00
checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "num-integer"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
2021-06-07 18:32:05 +03:00
"num-traits",
]
[[package]]
name = "num-iter"
version = "0.1.42"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
"num-integer",
2021-06-07 18:32:05 +03:00
"num-traits",
]
2020-06-30 03:52:14 +03:00
[[package]]
name = "num-rational"
version = "0.3.2"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
2020-06-30 03:52:14 +03:00
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
2021-09-06 09:23:40 +03:00
"num-bigint",
2020-06-30 03:52:14 +03:00
"num-integer",
2021-06-07 18:32:05 +03:00
"num-traits",
]
2022-02-07 04:51:32 +03:00
[[package]]
name = "num-rational"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a"
dependencies = [
"autocfg",
"num-integer",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
]
[[package]]
name = "num_cpus"
version = "1.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
dependencies = [
"hermit-abi",
"libc",
]
[[package]]
name = "objc"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
dependencies = [
"malloc_buf",
]
[[package]]
name = "objc-foundation"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
dependencies = [
"block",
"objc",
"objc_id",
]
[[package]]
name = "objc_id"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
dependencies = [
"objc",
]
2020-05-26 08:25:39 +03:00
[[package]]
name = "object"
2021-10-25 05:20:45 +03:00
version = "0.27.1"
2020-05-26 08:25:39 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-25 05:20:45 +03:00
checksum = "67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9"
2021-06-07 18:32:05 +03:00
dependencies = [
"memchr",
]
2020-05-26 08:25:39 +03:00
[[package]]
name = "once_cell"
2022-03-09 17:31:53 +03:00
version = "1.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
[[package]]
name = "opaque-debug"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
[[package]]
name = "opaque-debug"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
[[package]]
name = "open"
2022-03-09 17:31:53 +03:00
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "9213e7b66aa06a7722828ee2980c1adff22a3922b582baaa1e62e30ca2a6c018"
dependencies = [
"pathdiff",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "openssl"
2021-11-03 16:41:06 +03:00
version = "0.10.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-03 16:41:06 +03:00
checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95"
dependencies = [
"bitflags",
"cfg-if 1.0.0",
"foreign-types",
"libc",
2021-03-15 16:32:14 +03:00
"once_cell",
"openssl-sys",
]
[[package]]
name = "openssl-probe"
2022-01-17 04:46:30 +03:00
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "openssl-src"
2022-03-21 17:47:57 +03:00
version = "300.0.5+3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-21 17:47:57 +03:00
checksum = "9bd053af511ee4439768d9b839a1cdb32eee00f52fe5f748d64c0e8f73194ba1"
dependencies = [
"cc",
]
[[package]]
name = "openssl-sys"
version = "0.9.71"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73"
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
"cc",
"libc",
"openssl-src",
"pkg-config",
"vcpkg",
]
[[package]]
name = "ordered-float"
version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7940cf2ca942593318d07fcf2596cdca60a85c9e7fab408a5e21a4f9dcd40d87"
dependencies = [
2021-06-07 18:32:05 +03:00
"num-traits",
"serde",
]
[[package]]
name = "ordered-stream"
version = "0.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1"
dependencies = [
"futures-core",
"pin-project-lite",
]
[[package]]
name = "output_vt100"
2022-02-14 06:31:40 +03:00
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "628223faebab4e3e40667ee0b2336d34a5b960ff60ea743ddfdbcf7770bcfb66"
dependencies = [
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "parking"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
2020-06-30 03:52:14 +03:00
[[package]]
name = "parking_lot"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
dependencies = [
"lock_api 0.3.4",
2020-01-25 04:49:37 +03:00
"parking_lot_core 0.6.2",
"rustc_version 0.2.3",
]
2020-01-25 04:49:37 +03:00
[[package]]
name = "parking_lot"
2021-08-30 07:30:03 +03:00
version = "0.11.2"
2020-01-25 04:49:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-30 07:30:03 +03:00
checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
2020-01-25 04:49:37 +03:00
dependencies = [
"instant",
2022-04-04 04:26:59 +03:00
"lock_api 0.4.7",
2021-08-30 07:30:03 +03:00
"parking_lot_core 0.8.5",
2020-01-25 04:49:37 +03:00
]
[[package]]
name = "parking_lot_core"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
dependencies = [
"cfg-if 0.1.10",
"cloudabi",
"libc",
2021-01-11 19:43:32 +03:00
"redox_syscall 0.1.57",
"rustc_version 0.2.3",
2021-01-11 19:43:32 +03:00
"smallvec 0.6.14",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
2020-01-25 04:49:37 +03:00
[[package]]
name = "parking_lot_core"
2021-08-30 07:30:03 +03:00
version = "0.8.5"
2020-01-25 04:49:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-30 07:30:03 +03:00
checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
2020-01-25 04:49:37 +03:00
dependencies = [
"cfg-if 1.0.0",
"instant",
2020-01-25 04:49:37 +03:00
"libc",
2022-04-04 04:26:59 +03:00
"redox_syscall 0.2.13",
2022-01-17 04:46:30 +03:00
"smallvec 1.8.0",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
2020-01-25 04:49:37 +03:00
]
[[package]]
name = "pathdiff"
2021-10-04 08:10:01 +03:00
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-04 08:10:01 +03:00
checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd"
[[package]]
name = "pem"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9a3b09a20e374558580a4914d3b7d89bd61b954a5a5e1dcbea98753addb1947"
dependencies = [
2020-12-29 20:21:50 +03:00
"base64",
]
2020-01-11 10:18:49 +03:00
[[package]]
name = "percent-encoding"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
2020-01-11 10:18:49 +03:00
[[package]]
name = "pest"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
dependencies = [
"ucd-trie",
]
[[package]]
name = "pest_derive"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0"
dependencies = [
"pest",
"pest_generator",
]
[[package]]
name = "pest_generator"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55"
dependencies = [
"pest",
"pest_meta",
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "pest_meta"
version = "2.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d"
dependencies = [
"maplit",
"pest",
"sha-1",
]
[[package]]
name = "phf"
2020-01-10 09:39:34 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
dependencies = [
"phf_macros",
"phf_shared",
"proc-macro-hack",
]
[[package]]
name = "phf_codegen"
2020-01-10 09:39:34 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
dependencies = [
"phf_generator",
"phf_shared",
]
[[package]]
name = "phf_generator"
2020-01-10 09:39:34 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
dependencies = [
"phf_shared",
"rand 0.7.3",
]
[[package]]
name = "phf_macros"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
dependencies = [
"phf_generator",
"phf_shared",
"proc-macro-hack",
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "phf_shared"
2020-01-10 09:39:34 +03:00
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
dependencies = [
"siphasher",
]
[[package]]
name = "pin-project"
2022-01-03 05:48:38 +03:00
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "58ad3879ad3baf4e44784bc6a718a8698867bb991f8ce24d1bcbe2cfb4c3a75e"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
2022-01-03 05:48:38 +03:00
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "744b6f092ba29c3650faf274db506afd39944f48420f6c86b17cfe0ee1cb36bb"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "pin-project-lite"
2022-01-03 05:48:38 +03:00
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
[[package]]
name = "pin-utils"
2020-05-02 22:13:10 +03:00
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-05-02 22:13:10 +03:00
checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pkg-config"
2022-04-04 04:26:59 +03:00
version = "0.3.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
2021-08-23 17:48:13 +03:00
[[package]]
name = "png"
2022-03-09 17:31:53 +03:00
version = "0.17.5"
2021-08-23 17:48:13 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "dc38c0ad57efb786dd57b9864e5b18bae478c00c824dc55a38bbc9da95dde3ba"
2021-08-23 17:48:13 +03:00
dependencies = [
"bitflags",
"crc32fast",
2022-02-14 06:31:40 +03:00
"deflate",
"miniz_oxide 0.5.1",
2021-08-23 17:48:13 +03:00
]
2020-09-09 19:31:37 +03:00
[[package]]
name = "polling"
version = "2.2.0"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
2020-09-09 19:31:37 +03:00
dependencies = [
2021-03-22 06:18:02 +03:00
"cfg-if 1.0.0",
2020-09-09 19:31:37 +03:00
"libc",
"log",
2021-06-21 05:06:54 +03:00
"wepoll-ffi",
2020-09-09 19:31:37 +03:00
"winapi 0.3.9",
]
[[package]]
name = "portable-pty"
version = "0.7.0"
dependencies = [
"anyhow",
"bitflags",
"downcast-rs",
"filedescriptor",
"futures",
"lazy_static",
"libc",
"log",
"serde",
"serde_derive",
"serial",
"shared_library",
"shell-words",
"smol",
"ssh2",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "ppv-lite86"
2022-01-03 05:48:38 +03:00
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
[[package]]
name = "predicates"
2022-01-17 04:46:30 +03:00
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "a5aab5be6e4732b473071984b3164dbbfb7a3674d30ea5ff44410b6bcd960c3c"
dependencies = [
"difflib",
"float-cmp",
"itertools",
"normalize-line-endings",
"predicates-core",
"regex",
]
[[package]]
name = "predicates-core"
2022-01-17 04:46:30 +03:00
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "da1c2388b1513e1b605fcec39a95e0a9e8ef088f71443ef37099fa9ae6673fcb"
[[package]]
name = "predicates-tree"
2022-01-17 04:46:30 +03:00
version = "1.0.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "4d86de6de25020a36c6d3643a86d9a6a9f552107c0559c60ea03551b5e16c032"
dependencies = [
"predicates-core",
2021-10-11 05:15:00 +03:00
"termtree",
]
[[package]]
name = "pretty_assertions"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427"
dependencies = [
2021-12-06 05:07:49 +03:00
"ansi_term 0.11.0",
"ctor",
"difference",
"output_vt100",
]
2021-06-14 09:36:22 +03:00
[[package]]
name = "proc-macro-crate"
2022-02-28 16:59:10 +03:00
version = "1.1.3"
2021-06-14 09:36:22 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-28 16:59:10 +03:00
checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a"
2021-06-14 09:36:22 +03:00
dependencies = [
"thiserror",
"toml",
]
2020-01-10 10:48:33 +03:00
[[package]]
name = "proc-macro-error"
2020-09-09 19:31:37 +03:00
version = "1.0.4"
2020-01-10 10:48:33 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
2020-01-10 10:48:33 +03:00
dependencies = [
"proc-macro-error-attr",
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
2020-10-05 10:06:01 +03:00
"version_check",
2020-01-10 10:48:33 +03:00
]
[[package]]
name = "proc-macro-error-attr"
2020-09-09 19:31:37 +03:00
version = "1.0.4"
2020-01-10 10:48:33 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
2020-01-10 10:48:33 +03:00
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
2020-10-05 10:06:01 +03:00
"version_check",
2020-01-10 10:48:33 +03:00
]
[[package]]
name = "proc-macro-hack"
version = "0.5.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
[[package]]
name = "proc-macro2"
2022-01-03 05:48:38 +03:00
version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
dependencies = [
"unicode-xid",
]
2022-01-01 05:30:52 +03:00
[[package]]
name = "procinfo"
version = "0.1.0"
dependencies = [
"libc",
"luahelper",
"ntapi",
"serde",
"winapi 0.3.9",
]
[[package]]
name = "promise"
version = "0.2.0"
dependencies = [
"anyhow",
"async-executor",
"async-std",
2020-12-29 20:21:50 +03:00
"async-task",
"flume",
"lazy_static",
"thiserror",
]
[[package]]
name = "pulldown-cmark"
2022-01-24 08:19:09 +03:00
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "34f197a544b0c9ab3ae46c359a7ec9cbbb5c7bf97054266fecb7ead794a181d6"
dependencies = [
"bitflags",
"getopts",
"memchr",
"unicase",
]
[[package]]
name = "pure-rust-locales"
2021-04-05 18:46:55 +03:00
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-04-05 18:46:55 +03:00
checksum = "b45c49fc4f91f35bae654f85ebb3a44d60ac64f11b3166ffa609def390c732d8"
[[package]]
name = "quote"
2022-03-28 05:47:26 +03:00
version = "1.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-28 05:47:26 +03:00
checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
]
[[package]]
name = "rand"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
dependencies = [
"fuchsia-cprng",
"libc",
"rand_core 0.3.1",
"rdrand",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "rand"
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
dependencies = [
2021-01-06 11:28:11 +03:00
"getrandom 0.1.16",
"libc",
"rand_chacha 0.2.2",
"rand_core 0.5.1",
2022-02-22 05:44:27 +03:00
"rand_hc",
"rand_pcg",
]
[[package]]
name = "rand"
2022-02-22 05:44:27 +03:00
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"libc",
"rand_chacha 0.3.1",
"rand_core 0.6.3",
]
[[package]]
name = "rand_chacha"
2020-03-14 19:39:38 +03:00
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-03-14 19:39:38 +03:00
checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
dependencies = [
2020-03-14 19:39:38 +03:00
"ppv-lite86",
"rand_core 0.5.1",
]
[[package]]
name = "rand_chacha"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
dependencies = [
"ppv-lite86",
"rand_core 0.6.3",
]
[[package]]
name = "rand_core"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
dependencies = [
"rand_core 0.4.2",
]
[[package]]
name = "rand_core"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
[[package]]
name = "rand_core"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
dependencies = [
2021-01-06 11:28:11 +03:00
"getrandom 0.1.16",
]
[[package]]
name = "rand_core"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
dependencies = [
2022-04-04 04:26:59 +03:00
"getrandom 0.2.6",
]
[[package]]
name = "rand_hc"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
dependencies = [
"rand_core 0.5.1",
]
[[package]]
name = "rand_pcg"
2020-01-10 09:39:34 +03:00
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
dependencies = [
"rand_core 0.5.1",
]
[[package]]
name = "rangeset"
version = "0.1.0"
dependencies = [
2021-09-06 09:23:40 +03:00
"num",
]
2020-10-03 03:31:39 +03:00
[[package]]
name = "ratelim"
version = "0.1.0"
dependencies = [
"config",
"ratelimit_meter",
]
[[package]]
name = "ratelimit_meter"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a37d4f95369ef809d01448bdf8d82ef974e3b21f3698d87015a575bb26f27724"
dependencies = [
"evmap",
"nonzero_ext",
2020-01-25 04:49:37 +03:00
"parking_lot 0.9.0",
]
2021-05-06 08:59:52 +03:00
[[package]]
name = "raw-window-handle"
2021-11-29 05:09:45 +03:00
version = "0.3.4"
2021-05-06 08:59:52 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-29 05:09:45 +03:00
checksum = "e28f55143d0548dad60bb4fbdc835a3d7ac6acc3324506450c5fdd6e42903a76"
2021-05-06 08:59:52 +03:00
dependencies = [
"libc",
2022-04-04 04:26:59 +03:00
"raw-window-handle 0.4.3",
2021-11-29 05:09:45 +03:00
]
[[package]]
name = "raw-window-handle"
2022-04-04 04:26:59 +03:00
version = "0.4.3"
2021-11-29 05:09:45 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "b800beb9b6e7d2df1fe337c9e3d04e3af22a124460fb4c30fcc22c9117cefb41"
2021-11-29 05:09:45 +03:00
dependencies = [
"cty",
2021-05-06 08:59:52 +03:00
]
[[package]]
name = "rayon"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90"
dependencies = [
2020-12-10 01:04:56 +03:00
"autocfg",
2020-12-29 20:21:50 +03:00
"crossbeam-deque",
"either",
"rayon-core",
]
[[package]]
name = "rayon-core"
version = "1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e"
dependencies = [
2020-12-29 20:21:50 +03:00
"crossbeam-channel",
"crossbeam-deque",
"crossbeam-utils",
"lazy_static",
"num_cpus",
]
[[package]]
name = "rcgen"
version = "0.8.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5911d1403f4143c9d56a702069d593e8d0f3fab880a85e103604d0893ea31ba7"
dependencies = [
"chrono",
2020-10-05 10:06:01 +03:00
"pem",
"ring",
"yasna",
]
[[package]]
name = "rdrand"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
dependencies = [
"rand_core 0.3.1",
]
[[package]]
name = "redox_syscall"
2020-09-09 19:31:37 +03:00
version = "0.1.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
2021-01-11 19:43:32 +03:00
[[package]]
name = "redox_syscall"
2022-04-04 04:26:59 +03:00
version = "0.2.13"
2021-01-11 19:43:32 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
2021-01-11 19:43:32 +03:00
dependencies = [
"bitflags",
2021-01-11 19:43:32 +03:00
]
[[package]]
name = "redox_users"
2022-04-04 04:26:59 +03:00
version = "0.4.3"
2021-01-11 19:43:32 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
2021-01-11 19:43:32 +03:00
dependencies = [
2022-04-04 04:26:59 +03:00
"getrandom 0.2.6",
"redox_syscall 0.2.13",
2022-03-21 17:47:57 +03:00
"thiserror",
2021-01-11 19:43:32 +03:00
]
[[package]]
name = "regex"
2022-03-09 17:31:53 +03:00
version = "1.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
dependencies = [
2020-02-11 18:49:05 +03:00
"aho-corasick",
"memchr",
2020-02-11 18:49:05 +03:00
"regex-syntax",
]
[[package]]
name = "regex-automata"
2021-06-07 18:32:05 +03:00
version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
[[package]]
name = "regex-syntax"
2021-05-03 19:34:29 +03:00
version = "0.6.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-03 19:34:29 +03:00
checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
[[package]]
name = "remove_dir_all"
2020-06-13 20:21:49 +03:00
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-13 20:21:49 +03:00
checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
dependencies = [
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "resize"
2020-12-29 20:21:50 +03:00
version = "0.5.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2a08c42ea86684dc00256494c4eb8b54707890ddac50c05060a717f29669029"
dependencies = [
"rgb",
]
[[package]]
name = "rgb"
2022-02-28 16:59:10 +03:00
version = "0.8.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-28 16:59:10 +03:00
checksum = "e74fdc210d8f24a7dbfedc13b04ba5764f5232754ccebfdf5fff1bad791ccbc6"
2020-12-29 20:21:50 +03:00
dependencies = [
"bytemuck",
]
[[package]]
name = "ring"
2021-02-04 10:28:23 +03:00
version = "0.16.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-04 10:28:23 +03:00
checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
dependencies = [
"cc",
"libc",
2020-05-02 22:13:10 +03:00
"once_cell",
2021-08-25 20:00:33 +03:00
"spin 0.5.2",
"untrusted",
"web-sys",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "rstest"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d912f35156a3f99a66ee3e11ac2e0b3f34ac85a07e05263d05a7e2c8810d616f"
dependencies = [
"cfg-if 1.0.0",
"proc-macro2",
"quote",
"rustc_version 0.4.0",
"syn",
]
[[package]]
name = "rustc-demangle"
2021-08-25 20:00:33 +03:00
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-25 20:00:33 +03:00
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
[[package]]
name = "rustc-hash"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
[[package]]
name = "rustc_version"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
dependencies = [
2020-12-29 20:21:50 +03:00
"semver 0.9.0",
]
[[package]]
name = "rustc_version"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
dependencies = [
2022-04-04 04:26:59 +03:00
"semver 1.0.7",
]
2020-01-10 09:39:34 +03:00
[[package]]
name = "ryu"
version = "1.0.9"
2020-01-10 09:39:34 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
2020-01-10 09:39:34 +03:00
[[package]]
name = "safe_arch"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1ff3d6d9696af502cc3110dacce942840fb06ff4514cad92236ecc455f2ce05"
dependencies = [
"bytemuck",
]
[[package]]
name = "same-file"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
dependencies = [
"winapi-util",
]
[[package]]
name = "schannel"
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
dependencies = [
"lazy_static",
"winapi 0.3.9",
]
[[package]]
2020-06-30 03:52:14 +03:00
name = "scoped-tls"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-30 03:52:14 +03:00
checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2"
[[package]]
name = "scoped_threadpool"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
[[package]]
name = "scopeguard"
2020-03-14 19:39:38 +03:00
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-03-14 19:39:38 +03:00
checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
[[package]]
name = "security-framework"
2022-02-06 17:46:12 +03:00
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
dependencies = [
"bitflags",
2022-02-14 06:31:40 +03:00
"core-foundation 0.9.3",
"core-foundation-sys 0.8.3",
"libc",
"security-framework-sys",
]
[[package]]
name = "security-framework-sys"
2022-02-06 17:46:12 +03:00
version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556"
dependencies = [
"core-foundation-sys 0.8.3",
"libc",
]
[[package]]
name = "semver"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
dependencies = [
2020-12-29 20:21:50 +03:00
"semver-parser 0.7.0",
]
[[package]]
name = "semver"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
dependencies = [
2021-01-06 11:28:11 +03:00
"semver-parser 0.10.2",
]
[[package]]
name = "semver"
2022-04-04 04:26:59 +03:00
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4"
[[package]]
name = "semver-parser"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
2020-12-29 20:21:50 +03:00
[[package]]
name = "semver-parser"
2021-01-06 11:28:11 +03:00
version = "0.10.2"
2020-12-29 20:21:50 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-06 11:28:11 +03:00
checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
2020-12-29 20:21:50 +03:00
dependencies = [
"pest",
]
[[package]]
name = "serde"
2022-01-31 04:29:59 +03:00
version = "1.0.136"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
2022-01-31 04:29:59 +03:00
version = "1.0.136"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serde_json"
2022-02-14 06:31:40 +03:00
version = "1.0.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
dependencies = [
"itoa",
"ryu",
"serde",
]
[[package]]
name = "serde_repr"
2021-05-17 17:28:56 +03:00
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-17 17:28:56 +03:00
checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serial"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a1237a96570fc377c13baa1b88c7589ab66edced652e43ffb17088f003db3e86"
dependencies = [
"serial-core",
"serial-unix",
"serial-windows",
]
[[package]]
name = "serial-core"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f46209b345401737ae2125fe5b19a77acce90cd53e1658cda928e4fe9a64581"
dependencies = [
"libc",
]
[[package]]
name = "serial-unix"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f03fbca4c9d866e24a459cbca71283f545a37f8e3e002ad8c70593871453cab7"
dependencies = [
"ioctl-rs",
"libc",
"serial-core",
"termios 0.2.2",
]
[[package]]
name = "serial-windows"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15c6d3b776267a75d31bbdfd5d36c0ca051251caafc285827052bc53bcdc8162"
dependencies = [
"libc",
"serial-core",
]
[[package]]
name = "sha-1"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df"
dependencies = [
"block-buffer 0.7.3",
"digest 0.8.1",
"fake-simd",
"opaque-debug 0.2.3",
]
[[package]]
name = "sha1"
2022-01-17 04:46:30 +03:00
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770"
dependencies = [
"sha1_smol",
]
[[package]]
name = "sha1_smol"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012"
[[package]]
name = "sha2"
version = "0.9.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
dependencies = [
"block-buffer 0.9.0",
"cfg-if 1.0.0",
2021-05-12 03:03:06 +03:00
"cpufeatures",
"digest 0.9.0",
"opaque-debug 0.3.0",
]
[[package]]
name = "shared_library"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11"
dependencies = [
"lazy_static",
"libc",
]
[[package]]
name = "shell-words"
2022-02-07 04:32:10 +03:00
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-07 04:32:10 +03:00
checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
[[package]]
name = "signal-hook"
2020-12-28 19:23:20 +03:00
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-12-28 19:23:20 +03:00
checksum = "7e31d442c16f047a671b5a71e2161d6e68814012b7f5379d269ebd915fac2729"
dependencies = [
"libc",
"signal-hook-registry",
]
2021-02-08 09:51:28 +03:00
[[package]]
name = "signal-hook"
2021-12-20 18:15:56 +03:00
version = "0.3.13"
2021-02-08 09:51:28 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-20 18:15:56 +03:00
checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d"
2021-02-08 09:51:28 +03:00
dependencies = [
"libc",
"signal-hook-registry",
]
[[package]]
name = "signal-hook-registry"
2021-06-07 18:32:05 +03:00
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
dependencies = [
"libc",
]
[[package]]
name = "siphasher"
2022-03-09 17:31:53 +03:00
version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
[[package]]
name = "slab"
2022-04-04 04:26:59 +03:00
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
[[package]]
name = "smallvec"
2021-01-11 19:43:32 +03:00
version = "0.6.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-11 19:43:32 +03:00
checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
dependencies = [
"maybe-uninit",
]
[[package]]
name = "smallvec"
2022-01-17 04:46:30 +03:00
version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
2020-12-10 01:07:35 +03:00
[[package]]
name = "smawk"
2021-02-01 18:54:01 +03:00
version = "0.3.1"
2020-12-10 01:07:35 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-01 18:54:01 +03:00
checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
2020-12-10 01:07:35 +03:00
[[package]]
name = "smithay-client-toolkit"
2021-12-28 17:28:07 +03:00
version = "0.15.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-28 17:28:07 +03:00
checksum = "1325f292209cee78d5035530932422a30aa4c8fda1a16593ac083c1de211e68a"
dependencies = [
"bitflags",
2021-06-27 03:45:24 +03:00
"dlib",
"lazy_static",
"log",
2021-12-28 17:28:07 +03:00
"memmap2 0.3.1",
2022-01-24 08:19:09 +03:00
"nix 0.22.3",
2021-12-28 17:28:07 +03:00
"pkg-config",
"wayland-client",
"wayland-cursor",
"wayland-protocols",
]
[[package]]
name = "smol"
version = "1.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85cf3b5351f3e783c1d79ab5fc604eeed8b8ae9abd36b166e8b87a089efd85e4"
dependencies = [
"async-channel",
"async-executor",
"async-fs",
"async-io",
"async-lock",
"async-net",
"async-process",
"blocking",
"futures-lite",
"once_cell",
]
[[package]]
name = "smol-potat"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "894ffa61af5c0fab697c8c29b1ab10cb6ec4978a1ccac4a81b5b312df1ffd88e"
dependencies = [
"async-io",
"smol-potat-macro",
]
[[package]]
name = "smol-potat-macro"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b7cd8129a18069385b4eadaa81182b1451fab312ad6f58d1d99253082bf3932"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
2021-02-15 23:14:00 +03:00
[[package]]
name = "socket2"
2022-01-31 04:29:59 +03:00
version = "0.4.4"
2021-02-15 23:14:00 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
2021-02-15 23:14:00 +03:00
dependencies = [
"libc",
"winapi 0.3.9",
]
[[package]]
name = "spin"
version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
[[package]]
2021-08-25 20:00:33 +03:00
name = "spin"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-25 20:00:33 +03:00
checksum = "511254be0c5bcf062b019a6c89c01a664aa359ded62f78aa72c6fc137c0590e5"
dependencies = [
2022-04-04 04:26:59 +03:00
"lock_api 0.4.7",
]
[[package]]
name = "ssh2"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "269343e64430067a14937ae0e3c4ec604c178fb896dde0964b1acd22b3e2eeb1"
dependencies = [
"bitflags",
"libc",
"libssh2-sys",
2021-08-30 07:30:03 +03:00
"parking_lot 0.11.2",
]
2020-10-05 10:06:01 +03:00
[[package]]
name = "static_assertions"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "strip-ansi-escapes"
version = "0.1.0"
dependencies = [
"structopt",
"termwiz",
]
[[package]]
name = "strsim"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
[[package]]
name = "strsim"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
[[package]]
name = "structopt"
2022-01-24 08:19:09 +03:00
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
dependencies = [
"clap",
2020-01-10 10:48:33 +03:00
"lazy_static",
"structopt-derive",
]
[[package]]
name = "structopt-derive"
2021-10-25 05:20:45 +03:00
version = "0.4.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-25 05:20:45 +03:00
checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
dependencies = [
"heck",
2020-01-10 10:48:33 +03:00
"proc-macro-error",
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "svg_fmt"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fb1df15f412ee2e9dfc1c504260fa695c1c3f10fe9f4a6ee2d2184d7d6450e2"
[[package]]
name = "syn"
2022-04-04 04:26:59 +03:00
version = "1.0.90"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-04-04 04:26:59 +03:00
checksum = "704df27628939572cd88d33f171cd6f896f4eaca85252c6e0a72d8d8287ee86f"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"unicode-xid",
]
[[package]]
name = "tabout"
2020-04-15 18:20:46 +03:00
version = "0.3.0"
dependencies = [
"termwiz",
]
[[package]]
name = "takeable-option"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "36ae8932fcfea38b7d3883ae2ab357b0d57a02caaa18ebb4f5ece08beaec4aa0"
[[package]]
name = "tempdir"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "15f2b5fb00ccdf689e0149d1b1b3c03fead81c2b37735d812fa8bddbbf41b6d8"
dependencies = [
"rand 0.4.6",
"remove_dir_all",
]
[[package]]
name = "tempfile"
version = "3.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4"
dependencies = [
"cfg-if 1.0.0",
"fastrand",
"libc",
2022-04-04 04:26:59 +03:00
"redox_syscall 0.2.13",
"remove_dir_all",
"winapi 0.3.9",
]
[[package]]
name = "term_size"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e4129646ca0ed8f45d09b929036bafad5377103edd06e50bf574b353d2b08d9"
dependencies = [
"libc",
"winapi 0.3.9",
]
[[package]]
name = "termcolor"
2022-03-09 17:31:53 +03:00
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-09 17:31:53 +03:00
checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
dependencies = [
"winapi-util",
]
[[package]]
name = "terminfo"
2020-05-26 08:25:39 +03:00
version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-05-26 08:25:39 +03:00
checksum = "76971977e6121664ec1b960d1313aacfa75642adc93b9d4d53b247bd4cb1747e"
dependencies = [
"dirs",
"fnv",
"nom 5.1.2",
"phf",
"phf_codegen",
]
[[package]]
name = "termios"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5d9cf598a6d7ce700a4e6a9199da127e6819a61e64b68609683cc9a01b5683a"
dependencies = [
"libc",
]
[[package]]
name = "termios"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "411c5bf740737c7918b8b1fe232dca4dc9f8e754b8ad5e20966814001ed0ac6b"
dependencies = [
"libc",
]
2021-10-11 05:15:00 +03:00
[[package]]
name = "termtree"
version = "0.2.4"
2021-10-11 05:15:00 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b"
2021-10-11 05:15:00 +03:00
[[package]]
name = "termwiz"
2022-04-07 17:27:54 +03:00
version = "0.16.0"
dependencies = [
"anyhow",
2020-12-29 20:21:50 +03:00
"base64",
"bitflags",
"cassowary",
2021-02-12 19:35:00 +03:00
"cfg-if 1.0.0",
"env_logger",
"filedescriptor",
"fnv",
"hex",
"image",
"lazy_static",
"libc",
"log",
"memmem",
"nix 0.23.1",
"num-derive",
2021-06-07 18:32:05 +03:00
"num-traits",
"ordered-float",
"pest",
"pest_derive",
"pretty_assertions",
2020-02-11 18:49:05 +03:00
"regex",
2020-12-29 20:21:50 +03:00
"semver 0.11.0",
"serde",
"sha2",
2021-02-08 09:51:28 +03:00
"signal-hook 0.1.17",
"terminfo",
"termios 0.3.3",
"thiserror",
"ucd-trie",
"unicode-segmentation",
"varbincode",
"vtparse",
wezterm: add experimental_bidi config option and very basic bidi This commit is larger than it appears to due fanout from threading through bidi parameters. The main changes are: * When clustering cells, add an additional phase to resolve embedding levels and further sub-divide a cluster based on the resolved bidi runs; this is where we get the direction for a run and this needs to be passed through to the shaper. * When doing bidi, the forced cluster boundary hack that we use to de-ligature when cursoring through text needs to be disabled, otherwise the cursor appears to push/rotate the text in that cluster when moving through it! We'll need to find a different way to handle shading the cursor that eliminates the original cursor/ligature/black issue. * In the shaper, the logic for coalescing unresolved runs for font fallback assumed LTR and needed to be adjusted to cluster RTL. That meant also computing a little index of codepoint lengths. * Added `experimental_bidi` boolean option that defaults to false. When enabled, it activates the bidi processing phase in clustering with a strong hint that the paragraph is LTR. This implementation is incomplete and/or wrong for a number of cases: * The config option should probably allow specifying the paragraph direction hint to use by default. * https://terminal-wg.pages.freedesktop.org/bidi/recommendation/paragraphs.html recommends that bidi be applied to logical lines, not physical lines (or really: ranges within physical lines) that we're doing at the moment * The paragraph direction hint should be overridden by cell attributes and other escapes; see 85a6b178cfddee94b3ddb39c26652bbd5a973666 and probably others. However, as of this commit, if you `experimental_bidi=true` then ``` echo This is RTL -> عربي فارسی bidi ``` (that text was sourced from: https://github.com/microsoft/terminal/issues/538#issuecomment-677017322) then wezterm will display the text in the same order as the text renders in Chrome for that github comment. ``` ; ./target/debug/wezterm --config experimental_bidi=false ls-fonts --text "عربي فارسی ->" LeftToRight 0 ع \u{639} x_adv=8 glyph=300 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 2 ر \u{631} x_adv=3.78125 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 4 ب \u{628} x_adv=4 glyph=244 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 6 ي \u{64a} x_adv=4 glyph=363 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 8 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 9 ف \u{641} x_adv=11 glyph=328 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 11 ا \u{627} x_adv=4 glyph=240 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 13 ر \u{631} x_adv=3.78125 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 15 س \u{633} x_adv=10 glyph=278 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 17 ی \u{6cc} x_adv=4 glyph=664 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 19 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 20 - \u{2d} x_adv=8 glyph=276 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 21 > \u{3e} x_adv=8 glyph=338 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs ``` ``` ; ./target/debug/wezterm --config experimental_bidi=true ls-fonts --text "عربي فارسی ->" RightToLeft 17 ی \u{6cc} x_adv=9 glyph=906 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 15 س \u{633} x_adv=10 glyph=277 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 13 ر \u{631} x_adv=4.78125 glyph=272 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 11 ا \u{627} x_adv=4 glyph=241 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 9 ف \u{641} x_adv=5 glyph=329 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 8 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 6 ي \u{64a} x_adv=9 glyph=904 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 4 ب \u{628} x_adv=4 glyph=243 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 2 ر \u{631} x_adv=5 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 0 ع \u{639} x_adv=6 glyph=301 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText LeftToRight 0 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 1 - \u{2d} x_adv=8 glyph=480 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 2 > \u{3e} x_adv=8 glyph=470 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs ; ``` refs: https://github.com/wez/wezterm/issues/784
2022-01-25 18:16:51 +03:00
"wezterm-bidi",
"wezterm-color-types",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "textwrap"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
dependencies = [
"unicode-width",
]
2020-10-05 10:06:01 +03:00
[[package]]
name = "textwrap"
2022-02-28 16:59:10 +03:00
version = "0.15.0"
2020-10-05 10:06:01 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-28 16:59:10 +03:00
checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
2020-10-05 10:06:01 +03:00
dependencies = [
2020-12-10 01:07:35 +03:00
"smawk",
2021-06-07 18:32:05 +03:00
"unicode-linebreak",
2020-10-05 10:06:01 +03:00
"unicode-width",
]
[[package]]
name = "thiserror"
2021-10-11 05:15:00 +03:00
version = "1.0.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-11 05:15:00 +03:00
checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
2021-10-11 05:15:00 +03:00
version = "1.0.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-11 05:15:00 +03:00
checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "thread_local"
2022-01-24 08:19:09 +03:00
version = "1.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180"
dependencies = [
"once_cell",
]
2022-02-07 04:51:32 +03:00
[[package]]
name = "threadpool"
version = "1.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
dependencies = [
"num_cpus",
]
[[package]]
name = "tiff"
2022-02-07 04:51:32 +03:00
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-07 04:51:32 +03:00
checksum = "0247608e998cb6ce39dfc8f4a16c50361ce71e5b52e6d24ea1227ea8ea8ee0b2"
dependencies = [
2022-02-07 04:51:32 +03:00
"flate2",
"jpeg-decoder 0.1.22",
"weezl",
]
[[package]]
name = "time"
2021-01-11 19:43:32 +03:00
version = "0.1.43"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-01-11 19:43:32 +03:00
checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
dependencies = [
"libc",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "tiny-skia"
2022-02-06 17:46:12 +03:00
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "1bcfd4339bdd4545eabed74b208f2f1555f2e6540fb58135c01f46c0940aa138"
dependencies = [
"arrayref",
"arrayvec",
"bytemuck",
"cfg-if 1.0.0",
2022-02-07 04:51:32 +03:00
"png",
"safe_arch",
]
[[package]]
name = "tinyvec"
version = "1.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
dependencies = [
"tinyvec_macros",
]
[[package]]
name = "tinyvec_macros"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
[[package]]
name = "toml"
2020-12-20 03:44:27 +03:00
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-12-20 03:44:27 +03:00
checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
dependencies = [
"serde",
]
[[package]]
name = "typenum"
version = "1.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
[[package]]
name = "ucd-trie"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
[[package]]
name = "uds_windows"
2021-12-20 18:15:56 +03:00
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-12-20 18:15:56 +03:00
checksum = "486992108df0fe0160680af1941fe856c521be931d5a5ecccefe0de86dc47e4a"
dependencies = [
"tempdir",
2021-02-04 10:28:23 +03:00
"winapi 0.3.9",
]
[[package]]
name = "umask"
version = "0.1.0"
dependencies = [
"lazy_static",
"libc",
]
[[package]]
name = "unicase"
version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
dependencies = [
2020-10-05 10:06:01 +03:00
"version_check",
]
2020-01-11 10:18:49 +03:00
[[package]]
name = "unicode-bidi"
2021-10-11 05:15:00 +03:00
version = "0.3.7"
2020-01-11 10:18:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-11 05:15:00 +03:00
checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
2020-01-11 10:18:49 +03:00
[[package]]
name = "unicode-general-category"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eab1e2c61f9441613aca1a1c88803bb36df292990aada6abb5133b9b532e07ec"
2021-06-07 18:32:05 +03:00
[[package]]
name = "unicode-linebreak"
2021-07-26 18:16:03 +03:00
version = "0.1.2"
2021-06-07 18:32:05 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-07-26 18:16:03 +03:00
checksum = "3a52dcaab0c48d931f7cc8ef826fa51690a08e1ea55117ef26f89864f532383f"
2021-06-07 18:32:05 +03:00
dependencies = [
"regex",
]
[[package]]
name = "unicode-normalization"
2021-06-07 18:32:05 +03:00
version = "0.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-07 18:32:05 +03:00
checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
dependencies = [
"tinyvec",
]
[[package]]
name = "unicode-segmentation"
2022-02-14 06:31:40 +03:00
version = "1.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-14 06:31:40 +03:00
checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
[[package]]
name = "unicode-width"
2021-09-20 04:21:46 +03:00
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-09-20 04:21:46 +03:00
checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
[[package]]
name = "unicode-xid"
2021-05-01 19:42:46 +03:00
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-01 19:42:46 +03:00
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
[[package]]
name = "unindent"
2022-02-22 05:44:27 +03:00
version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "514672a55d7380da379785a4d70ca8386c8883ff7eaae877be4d2081cebe73d8"
[[package]]
name = "untrusted"
2020-05-02 22:13:10 +03:00
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-05-02 22:13:10 +03:00
checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
[[package]]
name = "uom"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e76503e636584f1e10b9b3b9498538279561adcef5412927ba00c2b32c4ce5ed"
dependencies = [
2021-06-07 18:32:05 +03:00
"num-traits",
"typenum",
]
2020-01-11 10:18:49 +03:00
[[package]]
name = "url"
2021-05-12 03:03:06 +03:00
version = "2.2.2"
2020-01-11 10:18:49 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-12 03:03:06 +03:00
checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
2020-01-11 10:18:49 +03:00
dependencies = [
"form_urlencoded",
"idna",
"matches",
"percent-encoding",
2020-01-11 10:18:49 +03:00
]
[[package]]
name = "utf8parse"
2020-12-29 20:21:50 +03:00
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-12-29 20:21:50 +03:00
checksum = "936e4b492acfd135421d8dca4b1aa80a7bfc26e702ef3af710e0752684df5372"
2021-02-01 18:54:01 +03:00
[[package]]
name = "value-bag"
2021-11-03 16:41:06 +03:00
version = "1.0.0-alpha.8"
2021-02-01 18:54:01 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-03 16:41:06 +03:00
checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f"
2021-02-01 18:54:01 +03:00
dependencies = [
"ctor",
2021-05-17 17:28:56 +03:00
"version_check",
2021-02-01 18:54:01 +03:00
]
[[package]]
name = "varbincode"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b712fa900b441e2d5226a094ca37ca70c0d26d26b79822a5cf34a853a9e26f9f"
dependencies = [
"byteorder",
"leb128",
"serde",
]
[[package]]
name = "vcpkg"
2021-06-21 05:06:54 +03:00
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-21 05:06:54 +03:00
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "vec_map"
2020-05-26 08:25:39 +03:00
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-05-26 08:25:39 +03:00
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
2020-03-14 19:39:38 +03:00
[[package]]
name = "version_check"
2022-01-03 05:48:38 +03:00
version = "0.9.4"
2020-03-14 19:39:38 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-03 05:48:38 +03:00
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
2020-03-14 19:39:38 +03:00
[[package]]
name = "vswhom"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be979b7f07507105799e854203b470ff7c78a1639e330a58f183b5fea574608b"
dependencies = [
"libc",
"vswhom-sys",
]
[[package]]
name = "vswhom-sys"
2022-02-22 05:44:27 +03:00
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-22 05:44:27 +03:00
checksum = "22025f6d8eb903ebf920ea6933b70b1e495be37e2cb4099e62c80454aaf57c39"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "vtparse"
version = "0.6.1"
dependencies = [
"pretty_assertions",
"utf8parse",
]
2020-06-30 03:52:14 +03:00
[[package]]
name = "waker-fn"
2020-09-09 19:31:37 +03:00
version = "1.1.0"
2020-06-30 03:52:14 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-09-09 19:31:37 +03:00
checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
2020-06-30 03:52:14 +03:00
[[package]]
name = "walkdir"
2021-03-25 20:08:03 +03:00
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-25 20:08:03 +03:00
checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
dependencies = [
"same-file",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
"winapi-util",
]
[[package]]
name = "wasi"
2020-01-10 09:39:34 +03:00
version = "0.9.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
2020-09-09 19:31:37 +03:00
[[package]]
name = "wasi"
2021-02-01 18:54:01 +03:00
version = "0.10.2+wasi-snapshot-preview1"
2020-09-09 19:31:37 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-02-01 18:54:01 +03:00
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
2020-09-09 19:31:37 +03:00
[[package]]
name = "wasm-bindgen"
2022-01-24 08:19:09 +03:00
version = "0.2.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06"
dependencies = [
"cfg-if 1.0.0",
"wasm-bindgen-macro",
]
[[package]]
name = "wasm-bindgen-backend"
2022-01-24 08:19:09 +03:00
version = "0.2.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca"
dependencies = [
"bumpalo",
"lazy_static",
"log",
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-shared",
]
2020-05-26 08:25:39 +03:00
[[package]]
name = "wasm-bindgen-futures"
2022-01-24 08:19:09 +03:00
version = "0.4.29"
2020-05-26 08:25:39 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395"
2020-05-26 08:25:39 +03:00
dependencies = [
"cfg-if 1.0.0",
2020-05-26 08:25:39 +03:00
"js-sys",
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "wasm-bindgen-macro"
2022-01-24 08:19:09 +03:00
version = "0.2.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01"
dependencies = [
"quote",
"wasm-bindgen-macro-support",
]
[[package]]
name = "wasm-bindgen-macro-support"
2022-01-24 08:19:09 +03:00
version = "0.2.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"syn",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
[[package]]
name = "wasm-bindgen-shared"
2022-01-24 08:19:09 +03:00
version = "0.2.79"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2"
[[package]]
name = "wayland-client"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91223460e73257f697d9e23d401279123d36039a3f7a449e983f123292d4458f"
dependencies = [
"bitflags",
"downcast-rs",
"libc",
2022-01-24 08:19:09 +03:00
"nix 0.22.3",
2020-09-09 19:31:37 +03:00
"scoped-tls",
"wayland-commons",
"wayland-scanner",
"wayland-sys",
]
[[package]]
name = "wayland-commons"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94f6e5e340d7c13490eca867898c4cec5af56c27a5ffe5c80c6fc4708e22d33e"
dependencies = [
2022-01-24 08:19:09 +03:00
"nix 0.22.3",
"once_cell",
2022-01-17 04:46:30 +03:00
"smallvec 1.8.0",
"wayland-sys",
]
[[package]]
name = "wayland-cursor"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c52758f13d5e7861fc83d942d3d99bf270c83269575e52ac29e5b73cb956a6bd"
dependencies = [
2022-01-24 08:19:09 +03:00
"nix 0.22.3",
"wayland-client",
"xcursor",
]
[[package]]
name = "wayland-egl"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83281d69ee162b59031c666385e93bde4039ec553b90c4191cdb128ceea29a3a"
dependencies = [
"wayland-client",
"wayland-sys",
]
[[package]]
name = "wayland-protocols"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "60147ae23303402e41fe034f74fb2c35ad0780ee88a1c40ac09a3be1e7465741"
dependencies = [
"bitflags",
"wayland-client",
"wayland-commons",
"wayland-scanner",
]
[[package]]
name = "wayland-scanner"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39a1ed3143f7a143187156a2ab52742e89dac33245ba505c17224df48939f9e0"
dependencies = [
2020-12-29 20:21:50 +03:00
"proc-macro2",
"quote",
"xml-rs",
]
[[package]]
name = "wayland-sys"
version = "0.29.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9341df79a8975679188e37dab3889bfa57c44ac2cb6da166f519a81cbe452d4"
dependencies = [
2021-06-27 03:45:24 +03:00
"dlib",
"pkg-config",
]
[[package]]
name = "web-sys"
2022-01-24 08:19:09 +03:00
version = "0.3.56"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-24 08:19:09 +03:00
checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb"
dependencies = [
"js-sys",
"wasm-bindgen",
]
2020-10-02 17:16:20 +03:00
[[package]]
name = "weezl"
2021-04-19 19:23:33 +03:00
version = "0.1.5"
2020-10-02 17:16:20 +03:00
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-04-19 19:23:33 +03:00
checksum = "d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e"
2020-10-02 17:16:20 +03:00
[[package]]
2021-06-21 05:06:54 +03:00
name = "wepoll-ffi"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-06-21 05:06:54 +03:00
checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
dependencies = [
"cc",
]
[[package]]
name = "wezterm"
version = "0.1.0"
dependencies = [
"anyhow",
"chrono",
"codec",
"config",
"env-bootstrap",
"filedescriptor",
"hostname",
"libc",
"log",
"mux",
"portable-pty",
"promise",
"serde",
"serde_json",
"shell-words",
"smol",
"structopt",
"tabout",
"tempfile",
"termios 0.3.3",
"termwiz",
2022-02-28 16:59:10 +03:00
"textwrap 0.15.0",
"umask",
"url",
"wezterm-client",
"wezterm-gui-subcommands",
"wezterm-term",
"winapi 0.3.9",
]
Add wezterm-bidi crate In order to support RTL/BIDI, wezterm needs a bidi implementation. I don't think a well-conforming rust implementation exists today; what I found were implementations that didn't pass 100% of the conformance tests. So I decided to port "bidiref", the reference implementation of the UBA described in http://unicode.org/reports/tr9/ to Rust. This implementation focuses on conformance: no special measures have been taken to optimize it so far, with my focus having been to ensure that all of the approx 780,000 test cases in the unicode data for unicode 14 pass. Having the tests passing 100% allows for making performance improvements with confidence in the future. The API isn't completely designed/fully baked. Until I get to hooking it up to wezterm's shaper, I'm not 100% sure exactly what I'll need. There's a good discussion on API in https://github.com/open-i18n/rust-unic/issues/273 that suggests omitting "legacy" operations such as reordering. I suspect that wezterm may actually need that function to support monospace text layout in some terminal scenarios, but regardless: reordering is part of the conformance test suite so it remains a part of the API. That said: the API does model the major operations as separate phases, so you should be able to pay for just what you use: * Resolving the embedding levels from a paragraph * Returning paragraph runs of those levels (and their directions) * Returning the whitespace-level-reset runs for a line-slice within the paragraph * Returning the reordered indices + levels for a line-slice within the paragraph. refs: https://github.com/wez/wezterm/issues/784 refs: https://github.com/kas-gui/kas-text/issues/20
2022-01-21 18:42:44 +03:00
[[package]]
name = "wezterm-bidi"
version = "0.1.0"
dependencies = [
"env_logger",
Add wezterm-bidi crate In order to support RTL/BIDI, wezterm needs a bidi implementation. I don't think a well-conforming rust implementation exists today; what I found were implementations that didn't pass 100% of the conformance tests. So I decided to port "bidiref", the reference implementation of the UBA described in http://unicode.org/reports/tr9/ to Rust. This implementation focuses on conformance: no special measures have been taken to optimize it so far, with my focus having been to ensure that all of the approx 780,000 test cases in the unicode data for unicode 14 pass. Having the tests passing 100% allows for making performance improvements with confidence in the future. The API isn't completely designed/fully baked. Until I get to hooking it up to wezterm's shaper, I'm not 100% sure exactly what I'll need. There's a good discussion on API in https://github.com/open-i18n/rust-unic/issues/273 that suggests omitting "legacy" operations such as reordering. I suspect that wezterm may actually need that function to support monospace text layout in some terminal scenarios, but regardless: reordering is part of the conformance test suite so it remains a part of the API. That said: the API does model the major operations as separate phases, so you should be able to pay for just what you use: * Resolving the embedding levels from a paragraph * Returning paragraph runs of those levels (and their directions) * Returning the whitespace-level-reset runs for a line-slice within the paragraph * Returning the reordered indices + levels for a line-slice within the paragraph. refs: https://github.com/wez/wezterm/issues/784 refs: https://github.com/kas-gui/kas-text/issues/20
2022-01-21 18:42:44 +03:00
"k9",
"log",
bidi: tag Line with bidi mode This commit refines bidi property handling: * experimental_bidi has been split into two new configuration settings; `bidi_enabled` (which controls whether the terminal performs implicit bidi processing) and `bidi_direction` which specifies the base direction and whether auto detection is enabled. * The `Line` type can now store those bidi properties (they are actually split across 3 bits representing enabled, auto-detection and direction) * The terminal now has a concept of active bidi properties and default bidi properties * The default properties are pulled from the wezterm configuration * active bidi properties are potentially set via escape sequences, BDSM (which sets bidi_enabled) and SCP (which sets bidi_direction). We don't support the 2501 temporary dec private mode suggested by the BIDI recommendation doc at this time. * When creating new `Line`'s or clearing from the start of a `Line`, the effective bidi properties are computed (from the active props, falling back to default propr) and applied to the `Line`. * When rendering the line, we now look at its bidi properties instead of just the global config. The default bidi properties are `bidi_enabled: false` and `bidi_direction: LeftToRight` which corresponds to the typical bidi-unaware mode of most terminals. It is possible to live reload the config to change the effective defaults, but note that they apply, by design, to new lines being processed through the terminal. That means existing output is left unaffected by a config reload, but subsequently printed lines will respect it. Pressing CTRL-L or otherwise contriving to have the running application refresh its display should cause the refreshed display to update and apply the new bidi mode. refs: #784
2022-01-30 19:22:17 +03:00
"serde",
Add wezterm-bidi crate In order to support RTL/BIDI, wezterm needs a bidi implementation. I don't think a well-conforming rust implementation exists today; what I found were implementations that didn't pass 100% of the conformance tests. So I decided to port "bidiref", the reference implementation of the UBA described in http://unicode.org/reports/tr9/ to Rust. This implementation focuses on conformance: no special measures have been taken to optimize it so far, with my focus having been to ensure that all of the approx 780,000 test cases in the unicode data for unicode 14 pass. Having the tests passing 100% allows for making performance improvements with confidence in the future. The API isn't completely designed/fully baked. Until I get to hooking it up to wezterm's shaper, I'm not 100% sure exactly what I'll need. There's a good discussion on API in https://github.com/open-i18n/rust-unic/issues/273 that suggests omitting "legacy" operations such as reordering. I suspect that wezterm may actually need that function to support monospace text layout in some terminal scenarios, but regardless: reordering is part of the conformance test suite so it remains a part of the API. That said: the API does model the major operations as separate phases, so you should be able to pay for just what you use: * Resolving the embedding levels from a paragraph * Returning paragraph runs of those levels (and their directions) * Returning the whitespace-level-reset runs for a line-slice within the paragraph * Returning the reordered indices + levels for a line-slice within the paragraph. refs: https://github.com/wez/wezterm/issues/784 refs: https://github.com/kas-gui/kas-text/issues/20
2022-01-21 18:42:44 +03:00
]
[[package]]
name = "wezterm-client"
version = "0.1.0"
dependencies = [
"anyhow",
2020-01-17 02:55:15 +03:00
"async-trait",
"async_ossl",
2020-10-03 08:39:15 +03:00
"codec",
2020-10-02 21:50:50 +03:00
"config",
"filedescriptor",
"futures",
"lazy_static",
"libc",
"log",
"lru",
"metrics",
"mux",
"openssl",
"portable-pty",
"promise",
"rangeset",
"ratelim",
"smol",
"termwiz",
2022-02-28 16:59:10 +03:00
"textwrap 0.15.0",
"thiserror",
"uds_windows",
"umask",
"url",
"wezterm-ssh",
"wezterm-term",
"winapi 0.3.9",
]
[[package]]
name = "wezterm-color-types"
version = "0.1.0"
dependencies = [
"csscolorparser",
"lazy_static",
"serde",
]
[[package]]
name = "wezterm-font"
version = "0.1.0"
dependencies = [
"anyhow",
"config",
2022-02-14 06:31:40 +03:00
"core-foundation 0.9.3",
"core-text",
"dwrote",
"encoding_rs",
Add `wezterm ls-fonts` subcommand At this time it just shows you the fonts that your config matches and where they came from: ``` ; wezterm -n ls-fonts Primary font: wezterm.font("JetBrains Mono", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/JetBrainsMono-Regular.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/NotoColorEmoji.ttf, FontConfig) wezterm.font("Last Resort High-Efficiency", weight="Regular", stretch="Normal", italic=false) (<built-in>, BuiltIn) When Italic=true: wezterm.font("JetBrains Mono", weight="Regular", stretch="Normal", italic=true) (/home/wez/.fonts/JetBrainsMono-Italic.ttf, FontConfig) wezterm.font("JetBrains Mono", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/JetBrainsMono-Regular.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/NotoColorEmoji.ttf, FontConfig) wezterm.font("Last Resort High-Efficiency", weight="Regular", stretch="Normal", italic=false) (<built-in>, BuiltIn) When Intensity=Bold: wezterm.font("JetBrains Mono", weight="Bold", stretch="Normal", italic=false) (/home/wez/.fonts/JetBrainsMono-Bold.ttf, FontConfig) wezterm.font("JetBrains Mono", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/JetBrainsMono-Regular.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/NotoColorEmoji.ttf, FontConfig) wezterm.font("Last Resort High-Efficiency", weight="Regular", stretch="Normal", italic=false) (<built-in>, BuiltIn) When Intensity=Bold Italic=true: wezterm.font("JetBrains Mono", weight="Bold", stretch="Normal", italic=true) (/home/wez/.fonts/JetBrainsMono-Bold-Italic.ttf, FontConfig) wezterm.font("JetBrains Mono", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/JetBrainsMono-Regular.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/usr/share/fonts/google-noto-emoji/NotoColorEmoji.ttf, FontConfig) wezterm.font("Noto Color Emoji", weight="Regular", stretch="Normal", italic=false) (/home/wez/.fonts/NotoColorEmoji.ttf, FontConfig) wezterm.font("Last Resort High-Efficiency", weight="Regular", stretch="Normal", italic=false) (<built-in>, BuiltIn) ``` refs: #347
2021-04-12 19:36:56 +03:00
"enum-display-derive",
"env_logger",
2020-12-10 21:03:16 +03:00
"euclid",
"fontconfig",
"freetype",
"harfbuzz",
"k9",
"lazy_static",
"log",
2021-12-28 17:28:07 +03:00
"memmap2 0.2.3",
"metrics",
"mux",
"ordered-float",
"rangeset",
"termwiz",
"thiserror",
"unicode-general-category",
"unicode-segmentation",
"walkdir",
wezterm: add experimental_bidi config option and very basic bidi This commit is larger than it appears to due fanout from threading through bidi parameters. The main changes are: * When clustering cells, add an additional phase to resolve embedding levels and further sub-divide a cluster based on the resolved bidi runs; this is where we get the direction for a run and this needs to be passed through to the shaper. * When doing bidi, the forced cluster boundary hack that we use to de-ligature when cursoring through text needs to be disabled, otherwise the cursor appears to push/rotate the text in that cluster when moving through it! We'll need to find a different way to handle shading the cursor that eliminates the original cursor/ligature/black issue. * In the shaper, the logic for coalescing unresolved runs for font fallback assumed LTR and needed to be adjusted to cluster RTL. That meant also computing a little index of codepoint lengths. * Added `experimental_bidi` boolean option that defaults to false. When enabled, it activates the bidi processing phase in clustering with a strong hint that the paragraph is LTR. This implementation is incomplete and/or wrong for a number of cases: * The config option should probably allow specifying the paragraph direction hint to use by default. * https://terminal-wg.pages.freedesktop.org/bidi/recommendation/paragraphs.html recommends that bidi be applied to logical lines, not physical lines (or really: ranges within physical lines) that we're doing at the moment * The paragraph direction hint should be overridden by cell attributes and other escapes; see 85a6b178cfddee94b3ddb39c26652bbd5a973666 and probably others. However, as of this commit, if you `experimental_bidi=true` then ``` echo This is RTL -> عربي فارسی bidi ``` (that text was sourced from: https://github.com/microsoft/terminal/issues/538#issuecomment-677017322) then wezterm will display the text in the same order as the text renders in Chrome for that github comment. ``` ; ./target/debug/wezterm --config experimental_bidi=false ls-fonts --text "عربي فارسی ->" LeftToRight 0 ع \u{639} x_adv=8 glyph=300 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 2 ر \u{631} x_adv=3.78125 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 4 ب \u{628} x_adv=4 glyph=244 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 6 ي \u{64a} x_adv=4 glyph=363 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 8 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 9 ف \u{641} x_adv=11 glyph=328 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 11 ا \u{627} x_adv=4 glyph=240 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 13 ر \u{631} x_adv=3.78125 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 15 س \u{633} x_adv=10 glyph=278 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 17 ی \u{6cc} x_adv=4 glyph=664 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 19 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 20 - \u{2d} x_adv=8 glyph=276 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 21 > \u{3e} x_adv=8 glyph=338 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs ``` ``` ; ./target/debug/wezterm --config experimental_bidi=true ls-fonts --text "عربي فارسی ->" RightToLeft 17 ی \u{6cc} x_adv=9 glyph=906 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 15 س \u{633} x_adv=10 glyph=277 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 13 ر \u{631} x_adv=4.78125 glyph=272 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 11 ا \u{627} x_adv=4 glyph=241 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 9 ف \u{641} x_adv=5 glyph=329 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 8 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 6 ي \u{64a} x_adv=9 glyph=904 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 4 ب \u{628} x_adv=4 glyph=243 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 2 ر \u{631} x_adv=5 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 0 ع \u{639} x_adv=6 glyph=301 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText LeftToRight 0 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 1 - \u{2d} x_adv=8 glyph=480 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 2 > \u{3e} x_adv=8 glyph=470 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs ; ``` refs: https://github.com/wez/wezterm/issues/784
2022-01-25 18:16:51 +03:00
"wezterm-bidi",
"wezterm-color-types",
"wezterm-input-types",
"wezterm-term",
"wezterm-toast-notification",
"winapi 0.3.9",
]
[[package]]
name = "wezterm-gui"
version = "0.1.0"
dependencies = [
"anyhow",
"benchmarking",
"bitflags",
"cc",
"chrono",
"codec",
2021-08-13 22:14:14 +03:00
"colorgrad",
"config",
"dirs-next",
"downcast-rs",
"embed-resource",
"env-bootstrap",
"env_logger",
2020-12-10 21:03:16 +03:00
"euclid",
"fastrand",
"filedescriptor",
"fuzzy-matcher",
"hdrhistogram",
"http_req",
2020-06-13 20:21:49 +03:00
"image",
"k9",
"lazy_static",
"libc",
"log",
"lru",
2020-10-02 20:28:58 +03:00
"luahelper",
"metrics",
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",
2020-10-03 03:42:49 +03:00
"mux",
"open",
"ordered-float",
"portable-pty",
"promise",
"pulldown-cmark",
"rangeset",
2020-10-03 03:31:39 +03:00
"ratelim",
"regex",
"serde",
"serde_json",
"serial",
"shared_library",
"smol",
"structopt",
"tabout",
"terminfo",
"termwiz",
2022-02-28 16:59:10 +03:00
"textwrap 0.15.0",
"thiserror",
"tiny-skia",
"uds_windows",
"umask",
"unicode-normalization",
"unicode-segmentation",
"unicode-width",
"url",
"walkdir",
wezterm: add experimental_bidi config option and very basic bidi This commit is larger than it appears to due fanout from threading through bidi parameters. The main changes are: * When clustering cells, add an additional phase to resolve embedding levels and further sub-divide a cluster based on the resolved bidi runs; this is where we get the direction for a run and this needs to be passed through to the shaper. * When doing bidi, the forced cluster boundary hack that we use to de-ligature when cursoring through text needs to be disabled, otherwise the cursor appears to push/rotate the text in that cluster when moving through it! We'll need to find a different way to handle shading the cursor that eliminates the original cursor/ligature/black issue. * In the shaper, the logic for coalescing unresolved runs for font fallback assumed LTR and needed to be adjusted to cluster RTL. That meant also computing a little index of codepoint lengths. * Added `experimental_bidi` boolean option that defaults to false. When enabled, it activates the bidi processing phase in clustering with a strong hint that the paragraph is LTR. This implementation is incomplete and/or wrong for a number of cases: * The config option should probably allow specifying the paragraph direction hint to use by default. * https://terminal-wg.pages.freedesktop.org/bidi/recommendation/paragraphs.html recommends that bidi be applied to logical lines, not physical lines (or really: ranges within physical lines) that we're doing at the moment * The paragraph direction hint should be overridden by cell attributes and other escapes; see 85a6b178cfddee94b3ddb39c26652bbd5a973666 and probably others. However, as of this commit, if you `experimental_bidi=true` then ``` echo This is RTL -> عربي فارسی bidi ``` (that text was sourced from: https://github.com/microsoft/terminal/issues/538#issuecomment-677017322) then wezterm will display the text in the same order as the text renders in Chrome for that github comment. ``` ; ./target/debug/wezterm --config experimental_bidi=false ls-fonts --text "عربي فارسی ->" LeftToRight 0 ع \u{639} x_adv=8 glyph=300 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 2 ر \u{631} x_adv=3.78125 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 4 ب \u{628} x_adv=4 glyph=244 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 6 ي \u{64a} x_adv=4 glyph=363 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 8 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 9 ف \u{641} x_adv=11 glyph=328 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 11 ا \u{627} x_adv=4 glyph=240 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 13 ر \u{631} x_adv=3.78125 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 15 س \u{633} x_adv=10 glyph=278 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 17 ی \u{6cc} x_adv=4 glyph=664 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 19 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 20 - \u{2d} x_adv=8 glyph=276 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 21 > \u{3e} x_adv=8 glyph=338 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs ``` ``` ; ./target/debug/wezterm --config experimental_bidi=true ls-fonts --text "عربي فارسی ->" RightToLeft 17 ی \u{6cc} x_adv=9 glyph=906 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 15 س \u{633} x_adv=10 glyph=277 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 13 ر \u{631} x_adv=4.78125 glyph=272 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 11 ا \u{627} x_adv=4 glyph=241 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 9 ف \u{641} x_adv=5 glyph=329 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 8 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 6 ي \u{64a} x_adv=9 glyph=904 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 4 ب \u{628} x_adv=4 glyph=243 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 2 ر \u{631} x_adv=5 glyph=273 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText 0 ع \u{639} x_adv=6 glyph=301 wezterm.font(".Geeza Pro Interface", {weight="Regular", stretch="Normal", italic=false}) /System/Library/Fonts/GeezaPro.ttc index=2 variation=0, CoreText LeftToRight 0 \u{20} x_adv=8 glyph=2 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 1 - \u{2d} x_adv=8 glyph=480 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs 2 > \u{3e} x_adv=8 glyph=470 wezterm.font("Operator Mono SSm Lig", {weight="DemiLight", stretch="Normal", italic=false}) /Users/wez/.fonts/OperatorMonoSSmLig-Medium.otf, FontDirs ; ``` refs: https://github.com/wez/wezterm/issues/784
2022-01-25 18:16:51 +03:00
"wezterm-bidi",
"wezterm-client",
"wezterm-font",
"wezterm-gui-subcommands",
"wezterm-mux-server-impl",
"wezterm-ssh",
"wezterm-term",
"wezterm-toast-notification",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
"window",
"windows",
]
[[package]]
name = "wezterm-gui-subcommands"
version = "0.1.0"
dependencies = [
"anyhow",
"config",
"structopt",
]
[[package]]
name = "wezterm-input-types"
version = "0.1.0"
dependencies = [
"bitflags",
2020-12-10 21:03:16 +03:00
"euclid",
"lazy_static",
"serde",
]
[[package]]
name = "wezterm-mux-server"
version = "0.1.0"
dependencies = [
"anyhow",
"async_ossl",
"config",
"env-bootstrap",
"libc",
"log",
"mux",
"openssl",
"portable-pty",
"promise",
"structopt",
"umask",
add --config name=value CLI options `wezterm`, `wezterm-gui` and `wezterm-mux-server` now all support a new `--config name=value` CLI option that can be specified multiple times to supply config overrides. Since there isn't a simple, direct way to update arbitrary fields of a struct in Rust (there's no runtime reflection), we do this work in lua. The config file returns a config table. Before that is mapped to the Rust Config type, we have a new phase that takes each of the `--config` values and applies it to the config table. For example, you can think of configuration as working like this if wezterm is started as `wezterm --config foo="bar"`: ```lua config = load_config_file(); config.foo = "bar"; return config; ``` The `--config name=value` option is split into `name` and `value` parts. The name part is literally concatenated with `config` in the generated lua code, so the name MUST be valid in that context. The `value` portion is literally inserted verbatim as the rvalue in the assignment. Not quoting or other processing is done, which means that you can (and must!) use the same form that you would use in the config file for the RHS. Strings must be quoted. This allows you to use more complicated expressions on the right hand side, such as: ``` wezterm --config 'font=wezterm.font("Fira Code")' ``` The overrides stick for the lifetime of the process; even if you change the config file and reload, then the value specified by the override will take precedence. refs: https://github.com/wez/wezterm/issues/469 refs: https://github.com/wez/wezterm/issues/499
2021-02-27 21:41:48 +03:00
"wezterm-gui-subcommands",
"wezterm-mux-server-impl",
2020-12-30 03:59:59 +03:00
"winapi 0.3.9",
]
[[package]]
name = "wezterm-mux-server-impl"
version = "0.1.0"
dependencies = [
"anyhow",
"async_ossl",
"codec",
"config",
"futures",
"hostname",
"lazy_static",
"log",
"mux",
"portable-pty",
"promise",
"rangeset",
"rcgen",
"smol",
"termwiz",
"uds_windows",
"url",
"wezterm-term",
"winapi 0.3.9",
]
[[package]]
name = "wezterm-ssh"
2022-01-31 04:29:59 +03:00
version = "0.4.0"
dependencies = [
"anyhow",
"assert_fs",
"async_ossl",
"base64",
2021-10-03 23:37:19 +03:00
"bitflags",
"camino",
"dirs-next",
"env_logger",
"filedescriptor",
"filenamegen",
"indoc",
"k9",
"libc",
"libssh-rs",
"log",
"once_cell",
"portable-pty",
"predicates",
"regex",
"rstest",
"shell-words",
"smol",
"smol-potat",
"ssh2",
"structopt",
"termwiz",
"thiserror",
"whoami",
]
[[package]]
name = "wezterm-term"
version = "0.1.0"
dependencies = [
"anyhow",
"bitflags",
"csscolorparser",
"env_logger",
"hex",
2020-06-13 20:21:49 +03:00
"image",
"k9",
"lazy_static",
"log",
"lru",
2022-02-14 06:31:40 +03:00
"miniz_oxide 0.4.4",
2021-06-07 18:32:05 +03:00
"num-traits",
"ordered-float",
"pretty_assertions",
"serde",
"terminfo",
"termwiz",
"unicode-normalization",
"unicode-segmentation",
"unicode-width",
"url",
bidi: tag Line with bidi mode This commit refines bidi property handling: * experimental_bidi has been split into two new configuration settings; `bidi_enabled` (which controls whether the terminal performs implicit bidi processing) and `bidi_direction` which specifies the base direction and whether auto detection is enabled. * The `Line` type can now store those bidi properties (they are actually split across 3 bits representing enabled, auto-detection and direction) * The terminal now has a concept of active bidi properties and default bidi properties * The default properties are pulled from the wezterm configuration * active bidi properties are potentially set via escape sequences, BDSM (which sets bidi_enabled) and SCP (which sets bidi_direction). We don't support the 2501 temporary dec private mode suggested by the BIDI recommendation doc at this time. * When creating new `Line`'s or clearing from the start of a `Line`, the effective bidi properties are computed (from the active props, falling back to default propr) and applied to the `Line`. * When rendering the line, we now look at its bidi properties instead of just the global config. The default bidi properties are `bidi_enabled: false` and `bidi_direction: LeftToRight` which corresponds to the typical bidi-unaware mode of most terminals. It is possible to live reload the config to change the effective defaults, but note that they apply, by design, to new lines being processed through the terminal. That means existing output is left unaffected by a config reload, but subsequently printed lines will respect it. Pressing CTRL-L or otherwise contriving to have the running application refresh its display should cause the refreshed display to update and apply the new bidi mode. refs: #784
2022-01-30 19:22:17 +03:00
"wezterm-bidi",
]
[[package]]
name = "wezterm-toast-notification"
version = "0.1.0"
dependencies = [
"async-std",
"cocoa",
"core-foundation 0.7.0",
"futures-util",
"log",
"objc",
"open",
"serde",
"windows",
"xml-rs",
"zbus",
2021-12-27 20:33:41 +03:00
"zvariant",
]
[[package]]
name = "whoami"
2021-11-29 05:09:45 +03:00
version = "1.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-11-29 05:09:45 +03:00
checksum = "524b58fa5a20a2fb3014dd6358b70e6579692a56ef6fce928834e488f42f65e8"
dependencies = [
"wasm-bindgen",
"web-sys",
]
[[package]]
name = "winapi"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
[[package]]
name = "winapi"
2020-06-30 03:52:14 +03:00
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-06-30 03:52:14 +03:00
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]
[[package]]
name = "winapi-build"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
2020-05-02 22:13:10 +03:00
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
2020-05-02 22:13:10 +03:00
checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
dependencies = [
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "window"
version = "0.1.0"
dependencies = [
"anyhow",
"async-channel",
"async-io",
2020-12-29 20:21:50 +03:00
"async-task",
"async-trait",
"bitflags",
"bytes",
"cgl",
"clipboard",
"clipboard-win",
"cocoa",
"config",
"core-foundation 0.7.0",
2020-06-30 03:52:14 +03:00
"core-graphics 0.19.2",
"dirs-next",
2020-12-10 21:03:16 +03:00
"euclid",
"filedescriptor",
"gl_generator",
"glium",
"guillotiere",
"k9",
"lazy_static",
"libc",
2021-03-01 20:02:05 +03:00
"libloading 0.6.7",
2020-06-06 21:58:38 +03:00
"line_drawing",
"log",
"metrics",
"mio",
"objc",
"promise",
2021-11-29 05:09:45 +03:00
"raw-window-handle 0.3.4",
"resize",
wezterm: add raw_code concept to input layer This commit is a bit noisy because it also meant flipping the key map code from using the termwiz input types to the window input types, which I thought I'd done some time ago, but clearly didn't. This commit allows defining key assignments in terms of the underlying operating system raw codes, if provided by the relevant layer in the window crate (currently, only X11/Wayland). The raw codes are inherently OS/Machine/Hardware dependent; they are the rawest value that we have available and there is no meaningful understanding that we can perform in code to understand what that key is. One useful property of the raw code is that, because it hasn't gone through any OS level keymapping processing, its value reflects its physical position on the keyboard, allowing you to map keys by position rather than by value. That's useful if you use software to implement eg: DVORAK or COLEMAK but want your muscle memory to kick in for some of your key bindings. New config option: `debug_key_events = true` will cause wezterm to log an "error" to stderr each time you press a key and show the details in the key event: ``` 2020-12-06T21:23:10.313Z ERROR wezterm_gui::gui::termwindow > key_event KeyEvent { key: Char('@'), modifiers: SHIFT | CTRL, raw_key: None, raw_modifiers: SHIFT | CTRL, raw_code: Some(11), repeat_count: 1, key_is_down: true } ``` This is useful if you want to figure out the `raw_code` for a key in your setup. In your config, you can use this information to setup new key bindings. The motivating example for me is that because `raw_key` (the unmodified equivalent of `key`) is `None`, the built-in `CTRL-SHIFT-1` key assignment doesn't function for me on Linux, but I can now "fix" this in my local configuration, taking care to make it linux specific: ```lua local wezterm = require 'wezterm'; local keys = {} if wezterm.target_triple == "x86_64-unknown-linux-gnu" then local tab_no = 0 -- raw codes 10 through 19 correspond to the number key 1-9 positions -- on my keyboard on my linux system. They may be different on -- your system! for i = 10, 20 do table.insert(keys, { key="raw:"..tostring(i), mods="CTRL|SHIFT", action=wezterm.action{ActivateTab=tab_no}, }) tab_no = tab_no + 1 end end return { keys = keys, } ``` Notice that the key assignment accepts encoding a raw key code using a value like `key="raw:11"` to indicate that you want a `raw_code` of `11` to match your key assignment. The `raw_modifiers` portion of the `KeyEvent` is used together with the `raw_code` when deciding the key assignment. cc: @bew
2020-12-07 00:23:37 +03:00
"serde",
"shared_library",
"smithay-client-toolkit",
"thiserror",
"tiny-skia",
"wayland-client",
"wayland-egl",
"wayland-protocols",
"wezterm-bidi",
"wezterm-color-types",
"wezterm-font",
"wezterm-input-types",
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
"windows",
"winreg 0.6.2",
"x11",
"xcb 0.9.0",
"xcb-imdkit",
"xcb-util",
"xkbcommon",
]
[[package]]
name = "windows"
2022-03-07 03:01:59 +03:00
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-07 03:01:59 +03:00
checksum = "0128fa8e65e0616e45033d68dc0b7fbd521080b7844e5cad3a4a4d201c4b2bd2"
dependencies = [
2022-03-07 03:01:59 +03:00
"windows_aarch64_msvc",
"windows_i686_gnu",
"windows_i686_msvc",
"windows_x86_64_gnu",
"windows_x86_64_msvc",
]
[[package]]
2022-03-07 03:01:59 +03:00
name = "windows_aarch64_msvc"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-07 03:01:59 +03:00
checksum = "cd761fd3eb9ab8cc1ed81e56e567f02dd82c4c837e48ac3b2181b9ffc5060807"
[[package]]
2022-03-07 03:01:59 +03:00
name = "windows_i686_gnu"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-03-07 03:01:59 +03:00
checksum = "cab0cf703a96bab2dc0c02c0fa748491294bf9b7feb27e1f4f96340f208ada0e"
[[package]]
name = "windows_i686_msvc"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cfdbe89cc9ad7ce618ba34abc34bbb6c36d99e96cae2245b7943cd75ee773d0"
[[package]]
name = "windows_x86_64_gnu"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4dd9b0c0e9ece7bb22e84d70d01b71c6d6248b81a3c60d11869451b4cb24784"
[[package]]
name = "windows_x86_64_msvc"
version = "0.33.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff1e4aa646495048ec7f3ffddc411e1d829c026a2ec62b39da15c1055e406eaa"
[[package]]
name = "winreg"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "winreg"
2021-09-13 18:34:47 +03:00
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-09-13 18:34:47 +03:00
checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d"
dependencies = [
2020-06-30 03:52:14 +03:00
"winapi 0.3.9",
]
[[package]]
name = "wio"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d129932f4644ac2396cb456385cbf9e63b5b30c6e8dc4820bdca4eb082037a5"
dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "ws2_32-sys"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
dependencies = [
"winapi 0.2.8",
"winapi-build",
]
[[package]]
name = "x11"
2021-10-04 08:10:01 +03:00
version = "2.19.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-10-04 08:10:01 +03:00
checksum = "6dd0565fa8bfba8c5efe02725b14dff114c866724eff2cfd44d76cea74bcd87a"
dependencies = [
"libc",
"pkg-config",
]
[[package]]
name = "x11-clipboard"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89bd49c06c9eb5d98e6ba6536cf64ac9f7ee3a009b2f53996d405b3944f6bcea"
dependencies = [
"xcb 0.8.2",
]
[[package]]
name = "xcb"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e917a3f24142e9ff8be2414e36c649d47d6cc2ba81f16201cdef96e533e02de"
dependencies = [
"libc",
"log",
]
[[package]]
name = "xcb"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62056f63138b39116f82a540c983cc11f1c90cd70b3d492a70c25eaa50bd22a6"
dependencies = [
"libc",
"log",
"x11",
]
[[package]]
name = "xcb-imdkit"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677422b629e6ad41bcf5493f246001be38dc00ea9f8068506fdc991e062f6981"
dependencies = [
"bitflags",
"cc",
"lazy_static",
"pkg-config",
"xcb 0.9.0",
]
[[package]]
name = "xcb-util"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43893e47f27bf7d81d489feef3a0e34a457e90bc314b7e74ad9bb3980e4c1c48"
dependencies = [
"libc",
"xcb 0.9.0",
]
[[package]]
name = "xcursor"
2021-08-23 17:33:44 +03:00
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-23 17:33:44 +03:00
checksum = "463705a63313cd4301184381c5e8042f0a7e9b4bb63653f216311d4ae74690b7"
dependencies = [
2022-03-21 17:47:57 +03:00
"nom 7.1.1",
]
[[package]]
name = "xkbcommon"
version = "0.5.0"
source = "git+https://github.com/wez/xkbcommon-rs.git?rev=5cc8f233ac2b8bfa0d7a26fd981b77e68c3f2219#5cc8f233ac2b8bfa0d7a26fd981b77e68c3f2219"
dependencies = [
"libc",
"memmap",
"xcb 0.9.0",
]
[[package]]
name = "xml-rs"
2021-08-02 04:40:25 +03:00
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-08-02 04:40:25 +03:00
checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3"
[[package]]
name = "yasna"
2021-05-01 19:42:46 +03:00
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-05-01 19:42:46 +03:00
checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75"
dependencies = [
"chrono",
]
[[package]]
name = "zbus"
2022-02-06 17:46:12 +03:00
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "7bb86f3d4592e26a48b2719742aec94f8ae6238ebde20d98183ee185d1275e9a"
dependencies = [
"async-broadcast",
"async-channel",
"async-executor",
"async-io",
"async-lock",
"async-recursion",
"async-task",
"async-trait",
"byteorder",
"derivative",
"enumflags2",
"event-listener",
"futures-core",
"futures-sink",
"futures-util",
"hex",
2022-02-06 17:46:12 +03:00
"lazy_static",
"nix 0.23.1",
"once_cell",
"ordered-stream",
2022-02-22 05:44:27 +03:00
"rand 0.8.5",
"serde",
"serde_repr",
"sha1",
"static_assertions",
2022-02-06 17:46:12 +03:00
"winapi 0.3.9",
"zbus_macros",
"zbus_names",
2021-12-27 20:33:41 +03:00
"zvariant",
]
[[package]]
name = "zbus_macros"
2022-02-06 17:46:12 +03:00
version = "2.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-02-06 17:46:12 +03:00
checksum = "36823cc10fddc3c6b19f048903262dacaf8274170e9a255784bdd8b4570a8040"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"regex",
"syn",
]
[[package]]
name = "zbus_names"
2022-01-17 04:46:30 +03:00
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-17 04:46:30 +03:00
checksum = "45dfcdcf87b71dad505d30cc27b1b7b88a64b6d1c435648f48f9dbc1fdc4b7e1"
dependencies = [
"serde",
"static_assertions",
2021-12-27 20:33:41 +03:00
"zvariant",
]
[[package]]
name = "zstd"
2021-03-08 10:18:21 +03:00
version = "0.6.1+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-08 10:18:21 +03:00
checksum = "5de55e77f798f205d8561b8fe2ef57abfb6e0ff2abe7fd3c089e119cdb5631a3"
dependencies = [
"zstd-safe",
]
[[package]]
name = "zstd-safe"
2021-03-08 10:18:21 +03:00
version = "3.0.1+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-08 10:18:21 +03:00
checksum = "1387cabcd938127b30ce78c4bf00b30387dddf704e3f0881dbc4ff62b5566f8c"
dependencies = [
"libc",
"zstd-sys",
]
[[package]]
name = "zstd-sys"
2021-03-08 10:18:21 +03:00
version = "1.4.20+zstd.1.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-03-08 10:18:21 +03:00
checksum = "ebd5b733d7cf2d9447e2c3e76a5589b4f5e5ae065c22a2bc0b023cbc331b6c8e"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "zvariant"
2022-01-31 04:29:59 +03:00
version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "49ea5dc38b2058fae6a5b79009388143dadce1e91c26a67f984a0fc0381c8033"
dependencies = [
"byteorder",
"enumflags2",
2021-10-04 08:10:01 +03:00
"libc",
"serde",
2021-06-14 09:36:22 +03:00
"static_assertions",
2021-12-27 20:33:41 +03:00
"zvariant_derive",
]
[[package]]
name = "zvariant_derive"
2022-01-31 04:29:59 +03:00
version = "3.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
2022-01-31 04:29:59 +03:00
checksum = "8c2cecc5a61c2a053f7f653a24cd15b3b0195d7f7ddb5042c837fb32e161fb7a"
dependencies = [
"proc-macro-crate",
"proc-macro2",
"quote",
"syn",
]