From b8f94c474ce48ac195b51c1aeacf41ae049b774e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bogdan-Cristian=20T=C4=83t=C4=83roiu?= Date: Mon, 20 May 2024 16:56:50 +0100 Subject: [PATCH 01/69] Update docs to reflect CI nightly builds being available for Fedora 40. Mention that nightly rpms are also available in Copr while I'm at it. --- docs/install/linux.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/install/linux.md b/docs/install/linux.md index c23c9c010..24a27aa1a 100644 --- a/docs/install/linux.md +++ b/docs/install/linux.md @@ -103,7 +103,7 @@ hide: $ curl -fsSL https://apt.fury.io/wez/gpg.key | sudo gpg --yes --dearmor -o /usr/share/keyrings/wezterm-fury.gpg $ echo 'deb [signed-by=/usr/share/keyrings/wezterm-fury.gpg] https://apt.fury.io/wez/ * *' | sudo tee /etc/apt/sources.list.d/wezterm.list ``` - + Update your dependencies: ```console @@ -167,7 +167,7 @@ hide: available in Copr for `x86_64` and `aarch64`: * Centos Stream 8 and 9 - * Fedora 38, 39, rawhide + * Fedora 38, 39, 40, rawhide * OpenSUSE Leap 15.5 * OpenSUSE Tumbleweed * RHEL 8, 9 @@ -201,9 +201,10 @@ hide: |------------|------------------|---------------------| |CentOS8 |[{{ centos8_rpm_stable_asset }}]({{ centos8_rpm_stable }}) |[{{ centos8_rpm_nightly_asset }}]({{ centos8_rpm_nightly }})| |CentOS9 |[{{ centos9_rpm_stable_asset }}]({{ centos9_rpm_stable }})|[{{ centos9_rpm_nightly_asset }}]({{ centos9_rpm_nightly }})| - |Fedora37 |[{{ fedora37_rpm_stable_asset }}]({{ fedora37_rpm_stable }})|[{{ fedora37_rpm_nightly_asset }}]({{ fedora37_rpm_nightly }})| + |Fedora37 |[{{ fedora37_rpm_stable_asset }}]({{ fedora37_rpm_stable }})|No longer supported| |Fedora38 |[{{ fedora38_rpm_stable_asset }}]({{ fedora38_rpm_stable }})|[{{ fedora38_rpm_nightly_asset }}]({{ fedora38_rpm_nightly }})| |Fedora39 |[{{ fedora39_rpm_stable_asset }}]({{ fedora39_rpm_stable }})|[{{ fedora39_rpm_nightly_asset }}]({{ fedora39_rpm_nightly }})| + |Fedora40 |Nightly only|[{{ fedora40_rpm_nightly_asset }}]({{ fedora40_rpm_nightly }})| To download and install from the CLI you can use something like this, which shows how to install the Fedora 39 package: From f53145fa4c3bd3f39119edcd6956df35f8937717 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 3 Jun 2024 19:43:21 -0700 Subject: [PATCH 02/69] docs: refine docker execdomain example Thanks to @SalahEddineGhamri for filling in some of the gaps in the existing example refs: https://github.com/wez/wezterm/discussions/5510 --- docs/config/lua/ExecDomain.md | 81 ++++++++++++++++++++++------------- 1 file changed, 51 insertions(+), 30 deletions(-) diff --git a/docs/config/lua/ExecDomain.md b/docs/config/lua/ExecDomain.md index c60e72612..146146a0d 100644 --- a/docs/config/lua/ExecDomain.md +++ b/docs/config/lua/ExecDomain.md @@ -146,23 +146,53 @@ return config ## Example: docker domains -Fully working example is yet to be completely fleshed out (volunteers welcome!) but the -gist of it is: +This example shows how to add each running docker container as a domain, +so that you can spawn a shell into it and/or split it: {% raw %} ```lua local wezterm = require 'wezterm' -local config = {} +local config = wezterm.config_builder() function docker_list() - -- Use wezterm.run_child_process to run - -- `docker container ls --format '{{.ID}}:{{.Names}}'` and parse - -- the output and return a mapping from ID -> name + local docker_list = {} + local success, stdout, stderr = wezterm.run_child_process { + 'docker', + 'container', + 'ls', + '--format', + '{{.ID}}:{{.Names}}', + } + for _, line in ipairs(wezterm.split_by_newlines(stdout)) do + local id, name = line:match '(.-):(.+)' + if id and name then + docker_list[id] = name + end + end + return docker_list +end + +function make_docker_label_func(id) + return function(name) + local success, stdout, stderr = wezterm.run_child_process { + 'docker', + 'inspect', + '--format', + '{{.State.Running}}', + id, + } + local running = stdout == 'true\n' + local color = running and 'Green' or 'Red' + return wezterm.format { + { Foreground = { AnsiColor = color } }, + { Text = 'docker container named ' .. name }, + } + end end function make_docker_fixup_func(id) return function(cmd) - cmd.args = cmd.args or { '/bin/bash' } + cmd.args = cmd.args or { '/bin/sh' } local wrapped = { 'docker', 'exec', @@ -178,32 +208,23 @@ function make_docker_fixup_func(id) end end -function make_docker_label_func(id) - return function(name) - -- TODO: query the container state and show info about - -- whether it is running or stopped. - -- If it stopped, you may wish to change the color to red - -- to make it stand out - return wezterm.format { - { Foreground = { AnsiColor = 'Red' } }, - { Text = 'docker container named ' .. name }, - } - end -end - -local exec_domains = {} -for id, name in pairs(docker_list()) do - table.insert( - exec_domains, - wezterm.exec_domain( - 'docker: ' .. name, - make_docker_fixup_func(id), - make_docker_label_func(id) +function compute_exec_domains() + local exec_domains = {} + for id, name in pairs(docker_list()) do + table.insert( + exec_domains, + wezterm.exec_domain( + 'docker:' .. name, + make_docker_fixup_func(id), + make_docker_label_func(id) + ) ) - ) + end + return exec_domains end -config.exec_domains = exec_domains +config.exec_domains = compute_exec_domains() + return config ``` {% endraw %} From e4b18c41e650718b031dcc8ef0f93f23a1013aaa Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 3 Jun 2024 19:46:16 -0700 Subject: [PATCH 03/69] cargo update --- Cargo.lock | 321 ++++++++++++++++++++++++----------------------------- 1 file changed, 148 insertions(+), 173 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2122da749..6d4d267be 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -147,7 +147,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -194,12 +194,12 @@ dependencies = [ [[package]] name = "async-broadcast" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258b52a1aa741b9f09783b2d86cf0aeeb617bbf847f6933340a39644227acbdb" +checksum = "20cd0e2e25ea8e5f7e9df04578dc6cf5c83577fd09b1a46aaf5c85e1c33f2a7e" dependencies = [ - "event-listener 5.3.0", - "event-listener-strategy 0.5.2", + "event-listener", + "event-listener-strategy", "futures-core", "pin-project-lite", ] @@ -211,16 +211,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b47800b0be77592da0afd425cc03468052844aff33b84e33cc696f64e77b6a" dependencies = [ "concurrent-queue", - "event-listener-strategy 0.5.2", + "event-listener-strategy", "futures-core", "pin-project-lite", ] [[package]] name = "async-executor" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b10202063978b3351199d68f8b22c4e47e4b1b822f8d43fd862d5ea8c006b29a" +checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" dependencies = [ "async-task", "concurrent-queue", @@ -242,9 +242,9 @@ dependencies = [ [[package]] name = "async-io" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +checksum = "0d6baa8f0178795da0e71bc42c9e5d13261aac7ee549853162e66a241ba17964" dependencies = [ "async-lock", "cfg-if", @@ -261,12 +261,12 @@ dependencies = [ [[package]] name = "async-lock" -version = "3.3.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", + "event-listener", + "event-listener-strategy", "pin-project-lite", ] @@ -283,9 +283,9 @@ dependencies = [ [[package]] name = "async-process" -version = "2.2.2" +version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53fc6301894e04a92cb2584fedde80cb25ba8e02d9dc39d4a87d036e22f397d" +checksum = "f7eda79bbd84e29c2b308d1dc099d7de8dcc7035e48f4bf5dc4a531a44ff5e2a" dependencies = [ "async-channel", "async-io", @@ -294,7 +294,7 @@ dependencies = [ "async-task", "blocking", "cfg-if", - "event-listener 5.3.0", + "event-listener", "futures-lite", "rustix 0.38.34", "tracing", @@ -309,14 +309,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] name = "async-signal" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afe66191c335039c7bb78f99dc7520b0cbb166b3a1cb33a03f53d8a1c6f2afda" +checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" dependencies = [ "async-io", "async-lock", @@ -344,7 +344,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -404,9 +404,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" dependencies = [ "addr2line", "cc", @@ -519,12 +519,11 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "495f7104e962b7356f0aeb34247aca1fe7d2e783b346582db7f2904cb5717e88" +checksum = "703f41c54fc768e63e091340b424302bb1c29ef4aa0c7f10fe849dfb114d29ea" dependencies = [ "async-channel", - "async-lock", "async-task", "futures-io", "futures-lite", @@ -544,9 +543,9 @@ dependencies = [ [[package]] name = "built" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41bfbdb21256b87a8b5e80fab81a8eed158178e812fd7ba451907518b2742f16" +checksum = "c6a6c0b39c38fd754ac338b00a88066436389c0f029da5d37d1e01091d9b7c17" [[package]] name = "bumpalo" @@ -565,13 +564,13 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" +checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -765,7 +764,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -939,7 +938,7 @@ dependencies = [ "shlex", "smol", "termwiz", - "toml 0.8.13", + "toml 0.8.14", "umask", "wezterm-bidi", "wezterm-config-derive", @@ -1022,9 +1021,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.4.0" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" dependencies = [ "cfg-if", ] @@ -1185,7 +1184,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -1196,7 +1195,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -1236,7 +1235,7 @@ dependencies = [ "backtrace", "lazy_static", "mintex", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "rustc-hash", "serde", "serde_json", @@ -1393,7 +1392,7 @@ checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -1483,52 +1482,31 @@ dependencies = [ [[package]] name = "euclid" -version = "0.22.9" +version = "0.22.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f253bc5c813ca05792837a0ff4b3a580336b224512d48f7eda1d7dd9210787" +checksum = "e0f0eb73b934648cd7a4a61f1b15391cd95dab0b4da6e2e66c2a072c144b4a20" dependencies = [ "num-traits", ] [[package]] name = "event-listener" -version = "4.0.3" +version = "5.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +checksum = "6032be9bd27023a771701cc49f9f053c751055f71efb2e0ae5c15809093675ba" dependencies = [ "concurrent-queue", "parking", "pin-project-lite", ] -[[package]] -name = "event-listener" -version = "5.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d9944b8ca13534cdfb2800775f8dd4902ff3fc75a50101466decadfdf322a24" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - [[package]] name = "event-listener-strategy" version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f214dc438f977e6d4e3500aaa277f5ad94ca83fbbd9b1a15713ce2344ccc5a1" dependencies = [ - "event-listener 5.3.0", + "event-listener", "pin-project-lite", ] @@ -1725,7 +1703,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -1845,7 +1823,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -1945,9 +1923,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "git2" @@ -2052,7 +2030,7 @@ dependencies = [ "futures-timer", "no-std-compat", "nonzero_ext", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "smallvec", ] @@ -2357,9 +2335,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.3" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca38ef113da30126bbff9cd1705f9273e15d45498615d138b0c20279ac7a76aa" +checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" dependencies = [ "bytes", "futures-channel", @@ -2527,7 +2505,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -2643,7 +2621,7 @@ dependencies = [ "libc", "proc-macro2", "regex", - "syn 2.0.65", + "syn 2.0.66", "terminal_size 0.2.6", ] @@ -2868,9 +2846,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.16" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" dependencies = [ "cc", "libc", @@ -2980,9 +2958,9 @@ dependencies = [ [[package]] name = "mac_address" -version = "1.1.6" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa12182b93606fff55b70a5cfe6130eaf7407c2ea4f2c2bcc8b113b67c9928f" +checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" dependencies = [ "nix", "winapi", @@ -3180,7 +3158,7 @@ dependencies = [ "names", "nix", "ntapi", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "percent-encoding", "portable-pty", "procinfo", @@ -3212,7 +3190,7 @@ dependencies = [ "log", "luahelper", "mux", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "portable-pty", "smol", "termwiz", @@ -3262,11 +3240,10 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" dependencies = [ - "lazy_static", "libc", "log", "openssl", @@ -3405,7 +3382,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -3479,9 +3456,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" dependencies = [ "memchr", ] @@ -3521,7 +3498,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -3532,9 +3509,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.2.3+3.2.1" +version = "300.3.0+3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" +checksum = "eba8804a1c5765b18c4b3f907e6897ebabeedebc9830e1a0046c4a4cf44663e1" dependencies = [ "cc", ] @@ -3592,9 +3569,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core 0.9.10", @@ -3680,7 +3657,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -3734,7 +3711,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -3763,7 +3740,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -3780,9 +3757,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "piper" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "464db0c665917b13ebb5d453ccdec4add5658ee1adc7affc7677615356a8afaf" +checksum = "ae1d5c74c9876f070d3e8fd503d748c7d974c3e48da8f41350fa5222ef9b4391" dependencies = [ "atomic-waker", "fastrand", @@ -3811,9 +3788,9 @@ dependencies = [ [[package]] name = "plotters" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" dependencies = [ "num-traits", "plotters-backend", @@ -3824,15 +3801,15 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" [[package]] name = "plotters-svg" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" dependencies = [ "plotters-backend", ] @@ -3865,9 +3842,9 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645493cf344456ef24219d02a768cf1fb92ddf8c92161679ae3d91b91a637be3" +checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" dependencies = [ "cfg-if", "concurrent-queue", @@ -3966,9 +3943,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.83" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" dependencies = [ "unicode-ident", ] @@ -4013,7 +3990,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -4404,7 +4381,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.65", + "syn 2.0.66", "unicode-ident", ] @@ -4553,9 +4530,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -4569,19 +4546,19 @@ dependencies = [ "luahelper", "serde_json", "serde_yaml", - "toml 0.8.13", + "toml 0.8.14", "wezterm-dynamic", ] [[package]] name = "serde_derive" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -4603,7 +4580,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -4652,7 +4629,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -5024,9 +5001,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.65" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", @@ -5054,7 +5031,7 @@ dependencies = [ "tar", "tempfile", "tokio", - "toml 0.8.13", + "toml 0.8.14", "wezterm-dynamic", ] @@ -5094,7 +5071,7 @@ dependencies = [ "cfg-expr", "heck", "pkg-config", - "toml 0.8.13", + "toml 0.8.14", "version-compare", ] @@ -5297,7 +5274,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -5426,9 +5403,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.37.0" +version = "1.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" dependencies = [ "backtrace", "bytes", @@ -5443,13 +5420,13 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -5486,14 +5463,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.13" +version = "0.8.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e43f8cc456c9704c851ae29c67e17ef65d2c30017c17a9765b89c382dc8bba" +checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.13", + "toml_edit 0.22.14", ] [[package]] @@ -5518,15 +5495,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.13" +version = "0.22.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c127785850e8c20836d49732ae6abfa47616e60bf9d9f57c43c250361a9db96c" +checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.8", + "winnow 0.6.11", ] [[package]] @@ -5542,7 +5519,6 @@ dependencies = [ "tokio", "tower-layer", "tower-service", - "tracing", ] [[package]] @@ -5563,7 +5539,6 @@ version = "0.1.40" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -5577,7 +5552,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -5862,7 +5837,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", "wasm-bindgen-shared", ] @@ -5896,7 +5871,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5909,9 +5884,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wayland-backend" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" +checksum = "34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07" dependencies = [ "cc", "downcast-rs", @@ -5923,9 +5898,9 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" +checksum = "1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133" dependencies = [ "bitflags 2.5.0", "rustix 0.38.34", @@ -5946,9 +5921,9 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.1" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" +checksum = "a206e8b2b53b1d3fcb9428fec72bc278ce539e2fa81fe2bfc1ab27703d5187b9" dependencies = [ "rustix 0.38.34", "wayland-client", @@ -5957,9 +5932,9 @@ dependencies = [ [[package]] name = "wayland-egl" -version = "0.32.0" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "355f652e5a24ae02d2ad536c8fc2d3dcc6c2bd635027cd6103a193e7d75eeda2" +checksum = "18cede1c33845ccd8fcebf7f107595170abf0ad0a28d47c50b444e06019b16e8" dependencies = [ "wayland-backend", "wayland-sys", @@ -5992,9 +5967,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283" +checksum = "67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565" dependencies = [ "proc-macro2", "quick-xml 0.31.0", @@ -6003,9 +5978,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.1" +version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af" +checksum = "105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12" dependencies = [ "dlib", "log", @@ -6112,7 +6087,7 @@ dependencies = [ "metrics", "mux", "openssl", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "portable-pty", "promise", "rangeset", @@ -6254,7 +6229,7 @@ dependencies = [ "mux-lua", "once_cell", "ordered-float", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "portable-pty", "promise", "rangeset", @@ -6488,7 +6463,7 @@ dependencies = [ "js-sys", "log", "naga", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "profiling", "raw-window-handle", "smallvec", @@ -6513,7 +6488,7 @@ dependencies = [ "codespan-reporting", "log", "naga", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "profiling", "raw-window-handle", "rustc-hash", @@ -6553,7 +6528,7 @@ dependencies = [ "naga", "objc", "once_cell", - "parking_lot 0.12.2", + "parking_lot 0.12.3", "profiling", "range-alloc", "raw-window-handle", @@ -7010,9 +6985,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.8" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c52e9c97a68071b23e836c9380edae937f17b9c4667bd021973efc689f618d" +checksum = "56c52728401e1dc672a56e81e593e912aa54c78f40246869f78359a2bf24d29d" dependencies = [ "memchr", ] @@ -7148,9 +7123,9 @@ dependencies = [ [[package]] name = "zbus" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5915716dff34abef1351d2b10305b019c8ef33dcf6c72d31a6e227d5d9d7a21" +checksum = "989c3977a7aafa97b12b9a35d21cdcff9b0d2289762b14683f45d66b1ba6c48f" dependencies = [ "async-broadcast", "async-executor", @@ -7163,7 +7138,7 @@ dependencies = [ "async-trait", "blocking", "enumflags2", - "event-listener 5.3.0", + "event-listener", "futures-core", "futures-sink", "futures-util", @@ -7186,14 +7161,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66fceb36d0c1c4a6b98f3ce40f410e64e5a134707ed71892e1b178abc4c695d4" +checksum = "6fe9de53245dcf426b7be226a4217dd5e339080e5d46e64a02d6e5dcbf90fca1" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", "zvariant_utils", ] @@ -7225,7 +7200,7 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.65", + "syn 2.0.66", ] [[package]] @@ -7283,9 +7258,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.1.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877ef94e5e82b231d2a309c531f191a8152baba8241a7939ee04bd76b0171308" +checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7" dependencies = [ "endi", "enumflags2", @@ -7296,24 +7271,24 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.1.0" +version = "4.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7ca98581cc6a8120789d8f1f0997e9053837d6aa5346cbb43454d7121be6e39" +checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "1.1.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75fa7291bdd68cd13c4f97cc9d78cbf16d96305856dfc7ac942aeff4c2de7d5a" +checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", ] From af4f5edb50a7b57da43d9bb68daf7c602fb2aeea Mon Sep 17 00:00:00 2001 From: Michael Baird Date: Tue, 4 Jun 2024 18:52:16 +0100 Subject: [PATCH 04/69] Fix notch avoidance padding in full screen mode Fixes https://github.com/wez/wezterm/issues/3807 The values returned by [`safeAreaInsets`][0] need to be multipled by the scale factor of the display (in case of the MacBook Pro 14-inch, 2021, a value of 2.0). There's a code comment referencing [#1737 (comment)][1], where an extra `2` was added to this number, but something must have changed since then because I cannot see a need for this now. [0]: https://developer.apple.com/documentation/appkit/nsscreen/3882821-safeareainsets [1]: https://github.com/wez/wezterm/issues/1737#issuecomment-1085923867 --- window/src/os/macos/window.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/window/src/os/macos/window.rs b/window/src/os/macos/window.rs index 898a20347..7576e72b6 100644 --- a/window/src/os/macos/window.rs +++ b/window/src/os/macos/window.rs @@ -895,11 +895,13 @@ impl WindowOps for Window { let insets: NSEdgeInsets = unsafe { msg_send![main_screen, safeAreaInsets] }; log::trace!("{:?}", insets); - // Bleh, the API is supposed to give us the right metrics, but it needs - // a tweak to look good around the notch. - // - let top = insets.top.ceil() as usize; - let top = if top > 0 { top + 2 } else { 0 }; + let scale = unsafe { + let frame = NSScreen::frame(main_screen); + let backing_frame = NSScreen::convertRectToBacking_(main_screen, frame); + backing_frame.size.height / frame.size.height + }; + + let top = (insets.top.ceil() * scale) as usize; Some(Border { top: ULength::new(top), left: ULength::new(insets.left.ceil() as usize), From ccdfc327a24d7a9a65c99e79ad1e7c6e42595965 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 7 Jun 2024 17:41:29 -0700 Subject: [PATCH 05/69] docs: changelog for #5515 and #3807 --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index fb75b0b00..a86d798f3 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -71,6 +71,8 @@ As features stabilize some brief notes about them will accumulate here. #3283 * Wayland: hang when launched under ChromeOS Crostini. Thanks to @dberlin! #5393 #5397 +* macOS: Fixed notch avoidance padding in full screen mode. Thanks to @mbaird! + #5515 #3807 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg From 4f190b0ff68c168f62961b67e8f00bab0863b5a5 Mon Sep 17 00:00:00 2001 From: Ivan Moiseev <55442381+Mrreadiness@users.noreply.github.com> Date: Sat, 8 Jun 2024 02:53:31 +0200 Subject: [PATCH 06/69] Fix: slow close non last tab (#5441) * fix: slow close non last tab * fix: found better place * Update mux/src/window.rs --------- Co-authored-by: Wez Furlong --- mux/src/window.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mux/src/window.rs b/mux/src/window.rs index 84205741f..a086e3a31 100644 --- a/mux/src/window.rs +++ b/mux/src/window.rs @@ -131,6 +131,8 @@ impl Window { if len > 0 && self.active >= len { self.set_active_without_saving(len - 1); + } else { + self.invalidate(); } } From e8b96ef10da7ee09516a4ecc41e523b23316bd50 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 7 Jun 2024 17:43:03 -0700 Subject: [PATCH 07/69] cargo update --- Cargo.lock | 62 +++++++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6d4d267be..ab753ff98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -110,9 +110,9 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.0.3" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" dependencies = [ "windows-sys 0.52.0", ] @@ -632,9 +632,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" dependencies = [ "jobserver", "libc", @@ -715,9 +715,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.4" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0" +checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7" dependencies = [ "clap_builder", "clap_derive", @@ -725,9 +725,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.2" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" +checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df" dependencies = [ "anstream", "anstyle", @@ -738,18 +738,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.2" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79504325bf38b10165b02e89b4347300f855f273c4cb30c4a3209e6583275e" +checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4" dependencies = [ "clap", ] [[package]] name = "clap_complete_fig" -version = "4.5.0" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b3e65f91fabdd23cac3d57d39d5d938b4daabd070c335c006dccb866a61110" +checksum = "fb4bc503cddc1cd320736fb555d6598309ad07c2ddeaa23891a10ffb759ee612" dependencies = [ "clap", "clap_complete", @@ -757,9 +757,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.4" +version = "4.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" +checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" dependencies = [ "heck", "proc-macro2", @@ -769,9 +769,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "clipboard-win" @@ -1376,9 +1376,9 @@ dependencies = [ [[package]] name = "enumflags2" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +checksum = "d232db7f5956f3f14313dc2f87985c58bd2c695ce124c8cdd984e08e15ac133d" dependencies = [ "enumflags2_derive", "serde", @@ -1386,9 +1386,9 @@ dependencies = [ [[package]] name = "enumflags2_derive" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", @@ -3509,9 +3509,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.0+3.3.0" +version = "300.3.1+3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eba8804a1c5765b18c4b3f907e6897ebabeedebc9830e1a0046c4a4cf44663e1" +checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" dependencies = [ "cc", ] @@ -5090,9 +5090,9 @@ checksum = "36ae8932fcfea38b7d3883ae2ab357b0d57a02caaa18ebb4f5ece08beaec4aa0" [[package]] name = "tar" -version = "0.4.40" +version = "0.4.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" +checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" dependencies = [ "filetime", "libc", @@ -5503,7 +5503,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.11", + "winnow 0.6.13", ] [[package]] @@ -5645,9 +5645,9 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-width" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unicode-xid" @@ -6985,9 +6985,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.11" +version = "0.6.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c52728401e1dc672a56e81e593e912aa54c78f40246869f78359a2bf24d29d" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" dependencies = [ "memchr", ] @@ -7102,9 +7102,9 @@ dependencies = [ [[package]] name = "xkeysym" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "054a8e68b76250b253f671d1268cb7f1ae089ec35e195b2efb2a4e9a836d0621" +checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56" [[package]] name = "xml-rs" From 1c4aa949d64143f412fc273cec4ab3ae39abcb39 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 7 Jun 2024 17:46:12 -0700 Subject: [PATCH 08/69] ci: update cirrus to fbsd 14 fbsd 13 doesn't seem to be supported there any longer --- .cirrus.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 30f8030f0..c51c423f7 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -3,11 +3,11 @@ env: CIRRUS_CLONE_DEPTH: 1 task: - name: freebsd-13 + name: freebsd-14 compute_engine_instance: image_project: freebsd-org-cloud-dev - image: family/freebsd-13-2 + image: family/freebsd-14-0 platform: freebsd cpu: 4 memory: 8G From 9bfcb691394469a6a82b27faf984efd80b3f3b8a Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 7 Jun 2024 17:48:46 -0700 Subject: [PATCH 09/69] deps: metrics -> 0.23 refs: https://github.com/wez/wezterm/pull/5512 --- Cargo.lock | 4 ++-- codec/Cargo.toml | 2 +- lfucache/Cargo.toml | 2 +- mux/Cargo.toml | 2 +- wezterm-client/Cargo.toml | 2 +- wezterm-font/Cargo.toml | 2 +- wezterm-gui/Cargo.toml | 2 +- window/Cargo.toml | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ab753ff98..515fd3396 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3056,9 +3056,9 @@ dependencies = [ [[package]] name = "metrics" -version = "0.22.3" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2be3cbd384d4e955b231c895ce10685e3d8260c5ccffae898c96c723b0772835" +checksum = "884adb57038347dfbaf2d5065887b6cf4312330dc8e94bc30a1a839bd79d3261" dependencies = [ "ahash", "portable-atomic", diff --git a/codec/Cargo.toml b/codec/Cargo.toml index 5472a9a87..8708ea243 100644 --- a/codec/Cargo.toml +++ b/codec/Cargo.toml @@ -12,7 +12,7 @@ anyhow = "1.0" config = { path = "../config" } leb128 = "0.2" log = "0.4" -metrics = "0.22" +metrics = "0.23" mux = { path = "../mux" } portable-pty = { path = "../pty", features = ["serde_support"]} rangeset = { path = "../rangeset" } diff --git a/lfucache/Cargo.toml b/lfucache/Cargo.toml index 95bd4bf2a..32c324052 100644 --- a/lfucache/Cargo.toml +++ b/lfucache/Cargo.toml @@ -11,7 +11,7 @@ ahash = "0.8" config = { path = "../config" } fnv = "1.0" intrusive-collections = "0.9" -metrics = "0.22" +metrics = "0.23" [dev-dependencies] k9 = "0.12" diff --git a/mux/Cargo.toml b/mux/Cargo.toml index e63e56f3e..f56c114ee 100644 --- a/mux/Cargo.toml +++ b/mux/Cargo.toml @@ -25,7 +25,7 @@ lazy_static = "1.4" libc = "0.2" log = "0.4" luahelper = { path = "../luahelper" } -metrics = "0.22" +metrics = "0.23" mlua = "0.9" names = { version = "0.12", default-features = false } nix = {version="0.28", features=["term"]} diff --git a/wezterm-client/Cargo.toml b/wezterm-client/Cargo.toml index b2861b394..493eaa518 100644 --- a/wezterm-client/Cargo.toml +++ b/wezterm-client/Cargo.toml @@ -20,7 +20,7 @@ lazy_static = "1.4" log = "0.4" libc = "0.2" lru = "0.12" -metrics = "0.22" +metrics = "0.23" mux = { path = "../mux" } openssl = "0.10.57" parking_lot = "0.12" diff --git a/wezterm-font/Cargo.toml b/wezterm-font/Cargo.toml index 834868322..cf9fe703e 100644 --- a/wezterm-font/Cargo.toml +++ b/wezterm-font/Cargo.toml @@ -28,7 +28,7 @@ lazy_static = "1.4" lfucache = { path = "../lfucache" } log = "0.4" memmap2 = "0.9" -metrics = "0.22" +metrics = "0.23" ordered-float = "4.1" rangeset = { path = "../rangeset" } termwiz = { path = "../termwiz" } diff --git a/wezterm-gui/Cargo.toml b/wezterm-gui/Cargo.toml index 789ca0ec6..a5ac3e989 100644 --- a/wezterm-gui/Cargo.toml +++ b/wezterm-gui/Cargo.toml @@ -62,7 +62,7 @@ libc = "0.2" lfucache = { path = "../lfucache" } log = "0.4" luahelper = { path = "../luahelper" } -metrics = "0.22" +metrics = "0.23" mlua = {version="0.9", features=["send"]} mux = { path = "../mux" } mux-lua = { path = "../lua-api-crates/mux" } diff --git a/window/Cargo.toml b/window/Cargo.toml index 77419bc2e..5d205ae00 100644 --- a/window/Cargo.toml +++ b/window/Cargo.toml @@ -34,7 +34,7 @@ lazy_static = "1.4" libloading = "0.8" line_drawing = "0.8" log = "0.4" -metrics = "0.22" +metrics = "0.23" promise = { path = "../promise" } raw-window-handle = "0.5" resize = "0.5" From accd16e72e5aeea633ba7fe386e23cc5119c1f4b Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 7 Jun 2024 17:51:37 -0700 Subject: [PATCH 10/69] deps: update rstest closes: https://github.com/wez/wezterm/pull/5512 --- Cargo.lock | 9 +++++---- wezterm-ssh/Cargo.toml | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 515fd3396..73090883b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4358,9 +4358,9 @@ checksum = "3582f63211428f83597b51b2ddb88e2a91a9d52d12831f9d08f5e624e8977422" [[package]] name = "rstest" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5316d2a1479eeef1ea21e7f9ddc67c191d497abc8fc3ba2467857abbb68330" +checksum = "9afd55a67069d6e434a95161415f5beeada95a01c7b815508a82dcb0e1593682" dependencies = [ "futures", "futures-timer", @@ -4370,12 +4370,13 @@ dependencies = [ [[package]] name = "rstest_macros" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04a9df72cc1f67020b0d63ad9bfe4a323e459ea7eb68e03bd9824db49f9a4c25" +checksum = "4165dfae59a39dd41d8dec720d3cbfbc71f69744efb480a3920f5d4e0cc6798d" dependencies = [ "cfg-if", "glob", + "proc-macro-crate", "proc-macro2", "quote", "regex", diff --git a/wezterm-ssh/Cargo.toml b/wezterm-ssh/Cargo.toml index 1fa5c0066..246d658de 100644 --- a/wezterm-ssh/Cargo.toml +++ b/wezterm-ssh/Cargo.toml @@ -47,7 +47,7 @@ k9 = "0.12.0" once_cell = "1.8" predicates = "3.0" env_logger = "0.11" -rstest = "0.19" +rstest = "0.21" shell-words = "1.1" termwiz = { version = "0.22", path = "../termwiz" } whoami = "1.5" From eb26a5daa1f9ae4d1ff756f165d6b6933e2683f8 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 7 Jun 2024 17:54:37 -0700 Subject: [PATCH 11/69] docs: changlog for #5441 #5304 --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index a86d798f3..7112722f1 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -73,6 +73,8 @@ As features stabilize some brief notes about them will accumulate here. #5393 #5397 * macOS: Fixed notch avoidance padding in full screen mode. Thanks to @mbaird! #5515 #3807 +* Render invalidation issue when closing tabs other than the last tab. Thanks + to @Mrreadiness! #5441 #5304 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg From 7d8675fdfe5703cb7ab26efa09a264dbb0907c14 Mon Sep 17 00:00:00 2001 From: Robert Zhu Date: Sat, 8 Jun 2024 15:30:06 -0400 Subject: [PATCH 12/69] fix link --- docs/config/appearance.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/appearance.md b/docs/config/appearance.md index 8dc22009b..bd8955f88 100644 --- a/docs/config/appearance.md +++ b/docs/config/appearance.md @@ -223,7 +223,7 @@ builting color scheme. If you'd like to factor your color schemes out into separate files, you can create a file with a `[colors]` section; take a look at [one of -the available color schemes for an example](https://github.com/wez/wezterm/config/src/scheme_data.rs). +the available color schemes for an example](https://github.com/wez/wezterm/tree/main/config/src/scheme_data.rs). It is recommended that you place your custom scheme in a directory named `$HOME/.config/wezterm/colors` if you're on a POSIX system. From 11124f0cfed5835d3ca13dcdfcaad9cb74336fc8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 9 Jun 2024 00:21:45 +0000 Subject: [PATCH 13/69] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'flake-utils': 'github:numtide/flake-utils/1ef2e671c3b0c19053962c07dbda38332dcebf26?narHash=sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA%3D' (2024-01-15) → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a?narHash=sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ%3D' (2024-03-11) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/f0326542989e1bdac955ad6269b334a8da4b0c95?narHash=sha256-bl7E3w35Bleiexg01WsN0RuAQEL23HaQeNBC2zjt%2B9w%3D' (2024-01-16) → 'github:NixOS/nixpkgs/d226935fd75012939397c83f6c385e4d6d832288?narHash=sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI%3D' (2024-06-07) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/a854609265af0e9f48c92e497679edf8fab9e690?narHash=sha256-5cCHQtP/PEHK1YNTQyZN9v8ehpLTjc723ZSKAP3Tva8%3D' (2024-01-17) → 'github:oxalica/rust-overlay/6dc3e45fe4aee36efeed24d64fc68b1f989d5465?narHash=sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28%3D' (2024-06-08) --- nix/flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index 809991bae..c0b1e05eb 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -71,11 +71,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1705403940, - "narHash": "sha256-bl7E3w35Bleiexg01WsN0RuAQEL23HaQeNBC2zjt+9w=", + "lastModified": 1717774105, + "narHash": "sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f0326542989e1bdac955ad6269b334a8da4b0c95", + "rev": "d226935fd75012939397c83f6c385e4d6d832288", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1705457855, - "narHash": "sha256-5cCHQtP/PEHK1YNTQyZN9v8ehpLTjc723ZSKAP3Tva8=", + "lastModified": 1717813066, + "narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a854609265af0e9f48c92e497679edf8fab9e690", + "rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465", "type": "github" }, "original": { From f5e496ebc233187c076cbb34b3cd0f0c50290f51 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 9 Jun 2024 09:50:24 -0700 Subject: [PATCH 14/69] docs: update with hints on building on Windows closes: #5528 --- docs/install/source.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/install/source.md b/docs/install/source.md index e095d7332..bfef04c5d 100644 --- a/docs/install/source.md +++ b/docs/install/source.md @@ -5,14 +5,14 @@ for yourself. WezTerm should run on any modern unix as well as Windows 10 and macOS. * Install `rustup` to get the `rust` compiler installed on your system. - [Install rustup](https://www.rust-lang.org/en-US/install.html) + [Install rustup](https://www.rust-lang.org/en-US/install.html). * Rust version 1.71 or later is required * Build in release mode: `cargo build --release` * Run it via either `cargo run --release --bin wezterm` or `target/release/wezterm` You will need a collection of support libraries; the [`get-deps`](https://github.com/wez/wezterm/blob/main/get-deps) script will attempt to install them for you. If it doesn't know about your system, -[please contribute instructions!](https://github.com/wez/wezterm/blob/main/CONTRIBUTING.md) +[please contribute instructions!](https://github.com/wez/wezterm/blob/main/CONTRIBUTING.md). If you don't plan to submit a pull request to the wezterm repo, you can download a smaller source tarball using these steps: @@ -53,3 +53,19 @@ $ cargo build --release --no-default-features --features vendored-fonts ``` Building without X11 is not supported. + +### Building on Windows + +When installing Rust, you must use select the MSVC version of Rust. It is the +only supported way to build wezterm. + +On Windows, instead of using `get-deps`, the only other dependency that you need is +[Strawberry Perl](https://strawberryperl.com). You must ensure that you have +your `PATH` environment set up to find that particular `perl.exe` ahead of any +other perl that you may have installed on your system. This particular version +of perl is required to build openssl on Windows. + +```console +$ set PATH=c:\Strawberry\perl\bin;%PATH% +``` + From 72465af6d757a8dab9b20077aaef9da7a35b7ccb Mon Sep 17 00:00:00 2001 From: Ivan Moiseev <55442381+Mrreadiness@users.noreply.github.com> Date: Fri, 14 Jun 2024 20:21:07 +0200 Subject: [PATCH 15/69] Add arrows support for search field (#5416) * feat: add arrows support for search field * refactor: extract LineEditBuffer from LineEditor * refactor: migrate search field to LineEditBuffer * feat: add key bindings for search field Co-authored-by: Ken Chou --- mux/src/pane.rs | 17 +++ termwiz/src/lineedit/buffer.rs | 189 ++++++++++++++++++++++++++++ termwiz/src/lineedit/mod.rs | 210 ++++++-------------------------- wezterm-gui/src/overlay/copy.rs | 158 ++++++++++++++++++------ 4 files changed, 361 insertions(+), 213 deletions(-) create mode 100644 termwiz/src/lineedit/buffer.rs diff --git a/mux/src/pane.rs b/mux/src/pane.rs index dcea9ca25..85d081446 100644 --- a/mux/src/pane.rs +++ b/mux/src/pane.rs @@ -87,6 +87,23 @@ impl std::ops::DerefMut for Pattern { } } +#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)] +pub enum PatternType { + CaseSensitiveString, + CaseInSensitiveString, + Regex, +} + +impl From<&Pattern> for PatternType { + fn from(value: &Pattern) -> Self { + match value { + Pattern::CaseSensitiveString(_) => PatternType::CaseSensitiveString, + Pattern::CaseInSensitiveString(_) => PatternType::CaseInSensitiveString, + Pattern::Regex(_) => PatternType::Regex, + } + } +} + /// Why a close request is being made #[derive(Clone, Copy, PartialEq, Eq, Debug)] pub enum CloseReason { diff --git a/termwiz/src/lineedit/buffer.rs b/termwiz/src/lineedit/buffer.rs new file mode 100644 index 000000000..1d922d1a2 --- /dev/null +++ b/termwiz/src/lineedit/buffer.rs @@ -0,0 +1,189 @@ +use unicode_segmentation::GraphemeCursor; + +use super::actions::Movement; + +pub struct LineEditBuffer { + line: String, + /// byte index into the UTF-8 string data of the insertion + /// point. This is NOT the number of graphemes! + cursor: usize, +} + +impl Default for LineEditBuffer { + fn default() -> Self { + Self { + line: String::new(), + cursor: 0, + } + } +} + +impl LineEditBuffer { + pub fn new(line: &str, cursor: usize) -> Self { + let mut buffer = Self::default(); + buffer.set_line_and_cursor(line, cursor); + return buffer; + } + + pub fn get_line(&self) -> &str { + return &self.line; + } + + pub fn get_cursor(&self) -> usize { + return self.cursor; + } + + pub fn insert_char(&mut self, c: char) { + self.line.insert(self.cursor, c); + let mut cursor = GraphemeCursor::new(self.cursor, self.line.len(), false); + if let Ok(Some(pos)) = cursor.next_boundary(&self.line, 0) { + self.cursor = pos; + } + } + + pub fn insert_text(&mut self, text: &str) { + self.line.insert_str(self.cursor, text); + self.cursor += text.len(); + } + + /// The cursor position is the byte index into the line UTF-8 bytes. + /// Panics: the cursor must be the first byte in a UTF-8 code point + /// sequence or the end of the provided line. + pub fn set_line_and_cursor(&mut self, line: &str, cursor: usize) { + assert!( + line.is_char_boundary(cursor), + "cursor {} is not a char boundary of the new line {}", + cursor, + line + ); + self.line = line.to_string(); + self.cursor = cursor; + } + + pub fn kill_text(&mut self, kill_movement: Movement, move_movement: Movement) { + let kill_pos = self.eval_movement(kill_movement); + let new_cursor = self.eval_movement(move_movement); + + let (lower, upper) = if kill_pos < self.cursor { + (kill_pos, self.cursor) + } else { + (self.cursor, kill_pos) + }; + + self.line.replace_range(lower..upper, ""); + + // Clamp to the line length, otherwise a kill to end of line + // command will leave the cursor way off beyond the end of + // the line. + self.cursor = new_cursor.min(self.line.len()); + } + + pub fn clear(&mut self) { + self.line.clear(); + self.cursor = 0; + } + + pub fn exec_movement(&mut self, movement: Movement) { + self.cursor = self.eval_movement(movement); + } + + /// Compute the cursor position after applying movement + fn eval_movement(&self, movement: Movement) -> usize { + match movement { + Movement::BackwardChar(rep) => { + let mut position = self.cursor; + for _ in 0..rep { + let mut cursor = GraphemeCursor::new(position, self.line.len(), false); + if let Ok(Some(pos)) = cursor.prev_boundary(&self.line, 0) { + position = pos; + } else { + break; + } + } + position + } + Movement::BackwardWord(rep) => { + let char_indices: Vec<(usize, char)> = self.line.char_indices().collect(); + if char_indices.is_empty() { + return self.cursor; + } + let mut char_position = char_indices + .iter() + .position(|(idx, _)| *idx == self.cursor) + .unwrap_or(char_indices.len() - 1); + + for _ in 0..rep { + if char_position == 0 { + break; + } + + let mut found = None; + for prev in (0..char_position - 1).rev() { + if char_indices[prev].1.is_whitespace() { + found = Some(prev + 1); + break; + } + } + + char_position = found.unwrap_or(0); + } + char_indices[char_position].0 + } + Movement::ForwardWord(rep) => { + let char_indices: Vec<(usize, char)> = self.line.char_indices().collect(); + if char_indices.is_empty() { + return self.cursor; + } + let mut char_position = char_indices + .iter() + .position(|(idx, _)| *idx == self.cursor) + .unwrap_or_else(|| char_indices.len()); + + for _ in 0..rep { + // Skip any non-whitespace characters + while char_position < char_indices.len() + && !char_indices[char_position].1.is_whitespace() + { + char_position += 1; + } + + // Skip any whitespace characters + while char_position < char_indices.len() + && char_indices[char_position].1.is_whitespace() + { + char_position += 1; + } + + // We are now on the start of the next word + } + char_indices + .get(char_position) + .map(|(i, _)| *i) + .unwrap_or_else(|| self.line.len()) + } + Movement::ForwardChar(rep) => { + let mut position = self.cursor; + for _ in 0..rep { + let mut cursor = GraphemeCursor::new(position, self.line.len(), false); + if let Ok(Some(pos)) = cursor.next_boundary(&self.line, 0) { + position = pos; + } else { + break; + } + } + position + } + Movement::StartOfLine => 0, + Movement::EndOfLine => { + let mut cursor = + GraphemeCursor::new(self.line.len().saturating_sub(1), self.line.len(), false); + if let Ok(Some(pos)) = cursor.next_boundary(&self.line, 0) { + pos + } else { + self.cursor + } + } + Movement::None => self.cursor, + } + } +} diff --git a/termwiz/src/lineedit/mod.rs b/termwiz/src/lineedit/mod.rs index 88a376db6..8130a051b 100644 --- a/termwiz/src/lineedit/mod.rs +++ b/termwiz/src/lineedit/mod.rs @@ -43,12 +43,13 @@ use crate::surface::change::ChangeSequence; use crate::surface::{Change, Position}; use crate::terminal::{new_terminal, Terminal}; use crate::{bail, ensure, Result}; -use unicode_segmentation::GraphemeCursor; mod actions; +mod buffer; mod history; mod host; pub use actions::{Action, Movement, RepeatCount}; +pub use buffer::LineEditBuffer; pub use history::*; pub use host::*; @@ -71,10 +72,7 @@ pub use host::*; pub struct LineEditor<'term> { terminal: &'term mut dyn Terminal, prompt: String, - line: String, - /// byte index into the UTF-8 string data of the insertion - /// point. This is NOT the number of graphemes! - cursor: usize, + line: LineEditBuffer, history_pos: Option, bottom_line: Option, @@ -155,8 +153,7 @@ impl<'term> LineEditor<'term> { Self { terminal, prompt: "> ".to_owned(), - line: String::new(), - cursor: 0, + line: LineEditBuffer::default(), history_pos: None, bottom_line: None, completion: None, @@ -185,8 +182,8 @@ impl<'term> LineEditor<'term> { matching_line, cursor, .. - } => (matching_line, *cursor), - _ => (&self.line, self.cursor), + } => (matching_line.as_str(), *cursor), + _ => (self.line.get_line(), self.line.get_cursor()), }; let cursor_position_after_printing_prompt = changes.current_cursor_position(); @@ -258,7 +255,7 @@ impl<'term> LineEditor<'term> { // the text in the line editing area, but since the input // is drawn here, we render an `_` to indicate where the input // position really is. - changes.add(format!("\r\n{}: {}_", label, self.line)); + changes.add(format!("\r\n{}: {}_", label, self.line.get_line())); } // Add some debugging status at the bottom @@ -512,123 +509,9 @@ impl<'term> LineEditor<'term> { } } - /// Compute the cursor position after applying movement - fn eval_movement(&self, movement: Movement) -> usize { - match movement { - Movement::BackwardChar(rep) => { - let mut position = self.cursor; - for _ in 0..rep { - let mut cursor = GraphemeCursor::new(position, self.line.len(), false); - if let Ok(Some(pos)) = cursor.prev_boundary(&self.line, 0) { - position = pos; - } else { - break; - } - } - position - } - Movement::BackwardWord(rep) => { - let char_indices: Vec<(usize, char)> = self.line.char_indices().collect(); - if char_indices.is_empty() { - return self.cursor; - } - let mut char_position = char_indices - .iter() - .position(|(idx, _)| *idx == self.cursor) - .unwrap_or(char_indices.len() - 1); - - for _ in 0..rep { - if char_position == 0 { - break; - } - - let mut found = None; - for prev in (0..char_position - 1).rev() { - if char_indices[prev].1.is_whitespace() { - found = Some(prev + 1); - break; - } - } - - char_position = found.unwrap_or(0); - } - char_indices[char_position].0 - } - Movement::ForwardWord(rep) => { - let char_indices: Vec<(usize, char)> = self.line.char_indices().collect(); - if char_indices.is_empty() { - return self.cursor; - } - let mut char_position = char_indices - .iter() - .position(|(idx, _)| *idx == self.cursor) - .unwrap_or_else(|| char_indices.len()); - - for _ in 0..rep { - // Skip any non-whitespace characters - while char_position < char_indices.len() - && !char_indices[char_position].1.is_whitespace() - { - char_position += 1; - } - - // Skip any whitespace characters - while char_position < char_indices.len() - && char_indices[char_position].1.is_whitespace() - { - char_position += 1; - } - - // We are now on the start of the next word - } - char_indices - .get(char_position) - .map(|(i, _)| *i) - .unwrap_or_else(|| self.line.len()) - } - Movement::ForwardChar(rep) => { - let mut position = self.cursor; - for _ in 0..rep { - let mut cursor = GraphemeCursor::new(position, self.line.len(), false); - if let Ok(Some(pos)) = cursor.next_boundary(&self.line, 0) { - position = pos; - } else { - break; - } - } - position - } - Movement::StartOfLine => 0, - Movement::EndOfLine => { - let mut cursor = - GraphemeCursor::new(self.line.len().saturating_sub(1), self.line.len(), false); - if let Ok(Some(pos)) = cursor.next_boundary(&self.line, 0) { - pos - } else { - self.cursor - } - } - Movement::None => self.cursor, - } - } - fn kill_text(&mut self, kill_movement: Movement, move_movement: Movement) { self.clear_completion(); - let kill_pos = self.eval_movement(kill_movement); - let new_cursor = self.eval_movement(move_movement); - - let (lower, upper) = if kill_pos < self.cursor { - (kill_pos, self.cursor) - } else { - (self.cursor, kill_pos) - }; - - self.line.replace_range(lower..upper, ""); - - // Clamp to the line length, otherwise a kill to end of line - // command will leave the cursor way off beyond the end of - // the line. - self.cursor = new_cursor.min(self.line.len()); + self.line.kill_text(kill_movement, move_movement); } fn clear_completion(&mut self) { @@ -642,8 +525,7 @@ impl<'term> LineEditor<'term> { .. } = &self.state { - self.line = matching_line.to_string(); - self.cursor = *cursor; + self.line.set_line_and_cursor(matching_line, *cursor); self.state = EditorState::Editing; } } @@ -653,23 +535,17 @@ impl<'term> LineEditor<'term> { /// a custom editor operation on the line buffer contents. /// The cursor position is the byte index into the line UTF-8 bytes. pub fn get_line_and_cursor(&mut self) -> (&str, usize) { - (&self.line, self.cursor) + (self.line.get_line(), self.line.get_cursor()) } /// Sets the current line and cursor position. /// You don't normally need to call this unless you are defining /// a custom editor operation on the line buffer contents. /// The cursor position is the byte index into the line UTF-8 bytes. - /// Panics: the cursor must be within the bounds of the provided line. + /// Panics: the cursor must be the first byte in a UTF-8 code point + /// sequence or the end of the provided line. pub fn set_line_and_cursor(&mut self, line: &str, cursor: usize) { - assert!( - cursor < line.len(), - "cursor {} is outside the byte length of the new line of length {}", - cursor, - line.len() - ); - self.line = line.to_string(); - self.cursor = cursor; + self.line.set_line_and_cursor(line, cursor); } /// Call this after changing modifying the line buffer. @@ -698,9 +574,9 @@ impl<'term> LineEditor<'term> { let last_matching_line; let last_cursor; - if let Some(result) = host - .history() - .search(history_pos, *style, *direction, &self.line) + if let Some(result) = + host.history() + .search(history_pos, *style, *direction, self.line.get_line()) { self.history_pos.replace(result.idx); last_matching_line = result.line.to_string(); @@ -733,7 +609,6 @@ impl<'term> LineEditor<'term> { // Not yet searching, so we start a new search // with an empty pattern self.line.clear(); - self.cursor = 0; self.history_pos.take(); } @@ -752,9 +627,9 @@ impl<'term> LineEditor<'term> { }, }; - let search_result = host - .history() - .search(history_pos, style, direction, &self.line); + let search_result = + host.history() + .search(history_pos, style, direction, self.line.get_line()); let last_matching_line; let last_cursor; @@ -836,25 +711,20 @@ impl<'term> LineEditor<'term> { Action::Move(movement) => { self.clear_completion(); self.cancel_search_state(); - self.cursor = self.eval_movement(movement); + self.line.exec_movement(movement); } Action::InsertChar(rep, c) => { self.clear_completion(); for _ in 0..rep { - self.line.insert(self.cursor, c); - let mut cursor = GraphemeCursor::new(self.cursor, self.line.len(), false); - if let Ok(Some(pos)) = cursor.next_boundary(&self.line, 0) { - self.cursor = pos; - } + self.line.insert_char(c); } self.reapply_search_pattern(host); } Action::InsertText(rep, text) => { self.clear_completion(); for _ in 0..rep { - self.line.insert_str(self.cursor, &text); - self.cursor += text.len(); + self.line.insert_text(&text); } self.reapply_search_pattern(host); } @@ -870,18 +740,16 @@ impl<'term> LineEditor<'term> { let prior_idx = cur_pos.saturating_sub(1); if let Some(prior) = host.history().get(prior_idx) { self.history_pos = Some(prior_idx); - self.line = prior.to_string(); - self.cursor = self.line.len(); + self.line.set_line_and_cursor(&prior, prior.len()); } } else if let Some(last) = host.history().last() { - self.bottom_line = Some(self.line.clone()); + self.bottom_line = Some(self.line.get_line().to_string()); self.history_pos = Some(last); - self.line = host + let line = host .history() .get(last) - .expect("History::last and History::get to be consistent") - .to_string(); - self.cursor = self.line.len(); + .expect("History::last and History::get to be consistent"); + self.line.set_line_and_cursor(&line, line.len()) } } Action::HistoryNext => { @@ -892,14 +760,11 @@ impl<'term> LineEditor<'term> { let next_idx = cur_pos.saturating_add(1); if let Some(next) = host.history().get(next_idx) { self.history_pos = Some(next_idx); - self.line = next.to_string(); - self.cursor = self.line.len(); + self.line.set_line_and_cursor(&next, next.len()); } else if let Some(bottom) = self.bottom_line.take() { - self.line = bottom; - self.cursor = self.line.len(); + self.line.set_line_and_cursor(&bottom, bottom.len()); } else { self.line.clear(); - self.cursor = 0; } } } @@ -915,18 +780,17 @@ impl<'term> LineEditor<'term> { self.cancel_search_state(); if self.completion.is_none() { - let candidates = host.complete(&self.line, self.cursor); + let candidates = host.complete(self.line.get_line(), self.line.get_cursor()); if !candidates.is_empty() { let state = CompletionState { candidates, index: 0, - original_line: self.line.clone(), - original_cursor: self.cursor, + original_line: self.line.get_line().to_string(), + original_cursor: self.line.get_cursor(), }; let (cursor, line) = state.current(); - self.cursor = cursor; - self.line = line; + self.line.set_line_and_cursor(&line, cursor); // If there is only a single completion then don't // leave us in a state where we just cycle on the @@ -938,8 +802,7 @@ impl<'term> LineEditor<'term> { } else if let Some(state) = self.completion.as_mut() { state.next(); let (cursor, line) = state.current(); - self.cursor = cursor; - self.line = line; + self.line.set_line_and_cursor(&line, cursor); } } } @@ -949,7 +812,6 @@ impl<'term> LineEditor<'term> { fn read_line_impl(&mut self, host: &mut dyn LineEditorHost) -> Result> { self.line.clear(); - self.cursor = 0; self.history_pos = None; self.bottom_line = None; self.clear_completion(); @@ -964,14 +826,14 @@ impl<'term> LineEditor<'term> { match self.state { EditorState::Searching { .. } | EditorState::Editing => {} EditorState::Cancelled => return Ok(None), - EditorState::Accepted => return Ok(Some(self.line.clone())), + EditorState::Accepted => return Ok(Some(self.line.get_line().to_string())), EditorState::Inactive => bail!("editor is inactive during read line!?"), } } else { self.render(host)?; } } - Ok(Some(self.line.clone())) + Ok(Some(self.line.get_line().to_string())) } } diff --git a/wezterm-gui/src/overlay/copy.rs b/wezterm-gui/src/overlay/copy.rs index c06b0018c..e4de21b8c 100644 --- a/wezterm-gui/src/overlay/copy.rs +++ b/wezterm-gui/src/overlay/copy.rs @@ -7,7 +7,7 @@ use config::keyassignment::{ }; use mux::domain::DomainId; use mux::pane::{ - CachePolicy, ForEachPaneLogicalLine, LogicalLine, Pane, PaneId, Pattern, + CachePolicy, ForEachPaneLogicalLine, LogicalLine, Pane, PaneId, Pattern, PatternType, PerformAssignmentResult, SearchResult, WithPaneLines, }; use mux::renderable::*; @@ -21,6 +21,7 @@ use std::sync::Arc; use std::time::Duration; use termwiz::cell::{Cell, CellAttributes}; use termwiz::color::AnsiColor; +use termwiz::lineedit::{LineEditBuffer, Movement}; use termwiz::surface::{CursorVisibility, SequenceNo, SEQ_ZERO}; use unicode_segmentation::*; use url::Url; @@ -65,7 +66,8 @@ struct CopyRenderable { window: ::window::Window, /// The text that the user entered - pattern: Pattern, + pattern_type: PatternType, + search_line: LineEditBuffer, /// The most recently queried set of matches results: Vec, by_line: HashMap>, @@ -125,6 +127,17 @@ impl CopyOverlay { .clone() .ok_or_else(|| anyhow::anyhow!("failed to clone window handle"))?; let dims = pane.get_dimensions(); + let pattern = if params.pattern.is_empty() { + SAVED_PATTERN + .lock() + .get(&tab_id) + .map(|p| p.clone()) + .unwrap_or(params.pattern) + } else { + params.pattern + }; + let search_line = LineEditBuffer::new(&pattern, pattern.len()); + let mut render = CopyRenderable { cursor, window, @@ -139,15 +152,8 @@ impl CopyOverlay { last_result_seqno: SEQ_ZERO, last_bar_pos: None, tab_id, - pattern: if params.pattern.is_empty() { - SAVED_PATTERN - .lock() - .get(&tab_id) - .map(|p| p.clone()) - .unwrap_or(params.pattern) - } else { - params.pattern - }, + pattern_type: PatternType::from(&pattern), + search_line, editing_search: params.editing_search, result_pos: None, selection_mode: SelectionMode::Cell, @@ -170,7 +176,7 @@ impl CopyOverlay { pub fn get_params(&self) -> CopyModeParams { let render = self.render.lock(); CopyModeParams { - pattern: render.pattern.clone(), + pattern: render.get_pattern(), editing_search: render.editing_search, } } @@ -178,8 +184,11 @@ impl CopyOverlay { pub fn apply_params(&self, params: CopyModeParams) { let mut render = self.render.lock(); render.editing_search = params.editing_search; - if render.pattern != params.pattern { - render.pattern = params.pattern; + if render.get_pattern() != params.pattern { + render.pattern_type = PatternType::from(¶ms.pattern); + render + .search_line + .set_line_and_cursor(¶ms.pattern, params.pattern.len()); render.schedule_update_search(); } let search_row = render.compute_search_row(); @@ -293,18 +302,16 @@ impl CopyRenderable { self.by_line.clear(); self.result_pos.take(); - SAVED_PATTERN - .lock() - .insert(self.tab_id, self.pattern.clone()); + SAVED_PATTERN.lock().insert(self.tab_id, self.get_pattern()); let bar_pos = self.compute_search_row(); self.dirty_results.add(bar_pos); self.last_result_seqno = self.delegate.get_current_seqno(); - if !self.pattern.is_empty() { + let pattern = self.get_pattern(); + if !pattern.is_empty() { let pane: Arc = self.delegate.clone(); let window = self.window.clone(); - let pattern = self.pattern.clone(); let dims = pane.get_dimensions(); let end = dims.scrollback_top + dims.scrollback_rows as StableRowIndex; @@ -350,7 +357,7 @@ impl CopyRenderable { range: Range, ) { self.window.invalidate(); - if pattern != self.pattern { + if pattern != self.get_pattern() { return; } let is_first = self.results.is_empty(); @@ -627,8 +634,17 @@ impl CopyRenderable { } } + fn get_pattern(&self) -> Pattern { + let pattern = self.search_line.get_line().to_string(); + match self.pattern_type { + PatternType::CaseSensitiveString => Pattern::CaseSensitiveString(pattern), + PatternType::CaseInSensitiveString => Pattern::CaseInSensitiveString(pattern), + PatternType::Regex => Pattern::Regex(pattern), + } + } + fn clear_pattern(&mut self) { - self.pattern.clear(); + self.search_line.clear(); self.update_search(); } @@ -670,12 +686,12 @@ impl CopyRenderable { } fn cycle_match_type(&mut self) { - let pattern = match &self.pattern { - Pattern::CaseSensitiveString(s) => Pattern::CaseInSensitiveString(s.clone()), - Pattern::CaseInSensitiveString(s) => Pattern::Regex(s.clone()), - Pattern::Regex(s) => Pattern::CaseSensitiveString(s.clone()), + let pattern_type = match &self.pattern_type { + PatternType::CaseSensitiveString => PatternType::CaseInSensitiveString, + PatternType::CaseInSensitiveString => PatternType::Regex, + PatternType::Regex => PatternType::CaseSensitiveString, }; - self.pattern = pattern; + self.pattern_type = pattern_type; self.schedule_update_search(); } @@ -1090,7 +1106,7 @@ impl Pane for CopyOverlay { fn send_paste(&self, text: &str) -> anyhow::Result<()> { // paste into the search bar let mut r = self.render.lock(); - r.pattern.push_str(text); + r.search_line.insert_text(text); r.schedule_update_search(); Ok(()) } @@ -1141,14 +1157,71 @@ impl Pane for CopyOverlay { (KeyCode::Char(c), KeyModifiers::NONE) | (KeyCode::Char(c), KeyModifiers::SHIFT) => { // Type to add to the pattern - render.pattern.push(c); + render.search_line.insert_char(c); + render.schedule_update_search(); } - (KeyCode::Backspace, KeyModifiers::NONE) => { - // Backspace to edit the pattern - render.pattern.pop(); + (KeyCode::Char('H'), KeyModifiers::CTRL) + | (KeyCode::Backspace, KeyModifiers::NONE) => { + render + .search_line + .kill_text(Movement::BackwardChar(1), Movement::BackwardChar(1)); + render.schedule_update_search(); } + (KeyCode::Delete, KeyModifiers::NONE) => { + render + .search_line + .kill_text(Movement::ForwardChar(1), Movement::None); + + render.schedule_update_search(); + } + (KeyCode::Backspace, KeyModifiers::ALT) + | (KeyCode::Char('W'), KeyModifiers::CTRL) => { + render + .search_line + .kill_text(Movement::BackwardWord(1), Movement::BackwardWord(1)); + + render.schedule_update_search(); + } + (KeyCode::Backspace, KeyModifiers::SUPER) => { + render + .search_line + .kill_text(Movement::StartOfLine, Movement::StartOfLine); + + render.schedule_update_search(); + } + (KeyCode::Char('K'), KeyModifiers::CTRL) => { + render + .search_line + .kill_text(Movement::EndOfLine, Movement::EndOfLine); + + render.schedule_update_search(); + } + (KeyCode::Char('B'), KeyModifiers::CTRL) + | (KeyCode::ApplicationLeftArrow, KeyModifiers::NONE) + | (KeyCode::LeftArrow, KeyModifiers::NONE) => { + render.search_line.exec_movement(Movement::BackwardChar(1)); + } + (KeyCode::Char('F'), KeyModifiers::CTRL) + | (KeyCode::ApplicationRightArrow, KeyModifiers::NONE) + | (KeyCode::RightArrow, KeyModifiers::NONE) => { + render.search_line.exec_movement(Movement::ForwardChar(1)); + } + (KeyCode::ApplicationLeftArrow, KeyModifiers::CTRL) + | (KeyCode::LeftArrow, KeyModifiers::CTRL) => { + render.search_line.exec_movement(Movement::BackwardWord(1)); + } + (KeyCode::ApplicationRightArrow, KeyModifiers::CTRL) + | (KeyCode::RightArrow, KeyModifiers::CTRL) => { + render.search_line.exec_movement(Movement::ForwardWord(1)); + } + (KeyCode::Char('A'), KeyModifiers::CTRL) | (KeyCode::Home, KeyModifiers::NONE) => { + render.search_line.exec_movement(Movement::StartOfLine); + } + (KeyCode::Char('E'), KeyModifiers::CTRL) | (KeyCode::End, KeyModifiers::NONE) => { + render.search_line.exec_movement(Movement::EndOfLine); + } _ => {} } } @@ -1259,8 +1332,14 @@ impl Pane for CopyOverlay { let renderer = self.render.lock(); if renderer.editing_search { // place in the search box + // Padding between the start of the editable line and the left side of the terminal + const SEARCH_CURSOR_PADDING: usize = 8; + let cursor = unicode_column_width( + &renderer.search_line.get_line()[0..renderer.search_line.get_cursor()], + None, + ); StableCursorPosition { - x: 8 + wezterm_term::unicode_column_width(&renderer.pattern, None), + x: SEARCH_CURSOR_PADDING + cursor, y: renderer.compute_search_row(), shape: termwiz::surface::CursorShape::SteadyBlock, visibility: termwiz::surface::CursorVisibility::Visible, @@ -1335,13 +1414,14 @@ impl Pane for CopyOverlay { let stable_idx = idx as StableRowIndex + first_row; self.renderer.dirty_results.remove(stable_idx); + let pattern = self.renderer.get_pattern(); if stable_idx == self.search_row - && (self.renderer.editing_search || !self.renderer.pattern.is_empty()) + && (self.renderer.editing_search || !pattern.is_empty()) { // Replace with search UI let rev = CellAttributes::default().set_reverse(true).clone(); line.fill_range(0..self.dims.cols, &Cell::new(' ', rev.clone()), SEQ_ZERO); - let mode = &match self.renderer.pattern { + let mode = &match pattern { Pattern::CaseSensitiveString(_) => "case-sensitive", Pattern::CaseInSensitiveString(_) => "ignore-case", Pattern::Regex(_) => "regex", @@ -1358,7 +1438,7 @@ impl Pane for CopyOverlay { 0, &format!( "Search: {} ({}/{} matches. {}{remain})", - *self.renderer.pattern, + *pattern, self.renderer.result_pos.map(|x| x + 1).unwrap_or(0), self.renderer.results.len(), mode @@ -1437,12 +1517,12 @@ impl Pane for CopyOverlay { for (idx, line) in lines.iter_mut().enumerate() { let stable_idx = idx as StableRowIndex + top; renderer.dirty_results.remove(stable_idx); - if stable_idx == search_row && (renderer.editing_search || !renderer.pattern.is_empty()) - { + let pattern = renderer.get_pattern(); + if stable_idx == search_row && (renderer.editing_search || !pattern.is_empty()) { // Replace with search UI let rev = CellAttributes::default().set_reverse(true).clone(); line.fill_range(0..dims.cols, &Cell::new(' ', rev.clone()), SEQ_ZERO); - let mode = &match renderer.pattern { + let mode = &match pattern { Pattern::CaseSensitiveString(_) => "case-sensitive", Pattern::CaseInSensitiveString(_) => "ignore-case", Pattern::Regex(_) => "regex", @@ -1451,7 +1531,7 @@ impl Pane for CopyOverlay { 0, &format!( "Search: {} ({}/{} matches. {})", - *renderer.pattern, + *pattern, renderer.result_pos.map(|x| x + 1).unwrap_or(0), renderer.results.len(), mode From ad5d6f96fff13bbb767153ab545bead777af3c91 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Fri, 14 Jun 2024 11:23:04 -0700 Subject: [PATCH 16/69] docs: changelog for #5416 --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 7112722f1..9efc3b004 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -46,6 +46,8 @@ As features stabilize some brief notes about them will accumulate here. ?988 #1647 * [default_ssh_auth_sock](config/lua/config/default_ssh_auth_sock.md) option to manage `SSH_AUTH_SOCK`. +* Search mode: now supports richer line editing. Thanks to @Mrreadiness and + @kenchou! #5416 #3087 #### Fixed * Race condition when very quickly adjusting font scale, and other improvements From 21d8b6bf5da4d10c52881fee4a5e00121963634d Mon Sep 17 00:00:00 2001 From: Dominik Gedon Date: Sat, 15 Jun 2024 05:13:03 +0200 Subject: [PATCH 17/69] Updates for openSUSE/SUSE (#5407) * get-deps: remove not needed deps for openSUSE/SUSE These 2 dependencies are not needed when building from source. I tested this for Tumbleweed, Slowroll and Leap 15.5. Signed-off-by: Dominik Gedon * docs: Update docs for openSUSE/SUSE - Mention different flavours of openSUSE and how to install WezTerm there. - The recommended way is always via the official repositories. However, this is not possible for Leap 15.5 as of now. Signed-off-by: Dominik Gedon * TMP: address suggestions from @wez Signed-off-by: Dominik Gedon --------- Signed-off-by: Dominik Gedon --- docs/install/linux.md | 37 ++++++++++++++++++++++++++----------- get-deps | 1 - 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/docs/install/linux.md b/docs/install/linux.md index 24a27aa1a..fa1bb873a 100644 --- a/docs/install/linux.md +++ b/docs/install/linux.md @@ -168,18 +168,33 @@ hide: * Centos Stream 8 and 9 * Fedora 38, 39, 40, rawhide - * OpenSUSE Leap 15.5 - * OpenSUSE Tumbleweed + * openSUSE Leap 15.5 + * openSUSE Tumbleweed * RHEL 8, 9 + To perform initial installation: ```console $ sudo dnf copr enable wezfurlong/wezterm-nightly $ sudo dnf install wezterm ``` + ## openSUSE specific - To update: + To perform initial installation: + + ```console + $ sudo zypper in dnf + $ sudo dnf copr enable wezfurlong/wezterm-nightly + ``` + where `` is one of the following, depending on the flavor and architecture: + `opensuse-tumbleweed-x86_64`, `opensuse-tumbleweed-aarch64`, `opensuse-leap-15.5-x86_64`, `opensuse-leap-15.5-aarch64`. + + ```console + $ sudo dnf install wezterm + ``` + + ## Update ```console $ sudo dnf update wezterm @@ -213,24 +228,24 @@ hide: $ sudo dnf install -y {{ fedora39_rpm_stable }} ``` -=== "SUSE" - ## SUSE Linux +=== "openSUSE" + ## openSUSE !!! note It is recommended that you install via Copr so that it is easiest to stay up to date as future versions of wezterm are released. - WezTerm is also available in the official Factory repo in openSUSE - Tumbleweed. To install from Factory instead of Copr: + ## openSUSE Tumbleweed/Slowroll + + The stable version of WezTerm is available in the official repositories. ```console - $ zypper addrepo https://download.opensuse.org/repositories/openSUSE:Factory/standard/openSUSE:Factory.repo - $ zypper refresh $ zypper install wezterm ``` - * The package installs `/usr/bin/wezterm` and `/usr/share/applications/org.wezfurlong.wezterm.desktop` - * Configuration instructions can be [found here](../config/files.md) + ## openSUSE Leap + + Use Copr or build if from source. === "Arch" ## Arch Linux diff --git a/get-deps b/get-deps index d716ef597..bd008c5c0 100755 --- a/get-deps +++ b/get-deps @@ -115,7 +115,6 @@ suse_deps() { if [ "${CI}" == "yes" ] ; then RESOLVE="--allow-downgrade" fi - $ZYPPER install $RESOLVE -yl 'perl-FindBin' 'perl-File-Compare' || true $ZYPPER install $RESOLVE -yl \ 'make' \ 'gcc' \ From 1533409ed710eabc4b3cfa1ed9c1aa99caf29b3f Mon Sep 17 00:00:00 2001 From: Ken Chou Date: Sat, 15 Jun 2024 20:42:00 +0800 Subject: [PATCH 18/69] Feature: The search overlay accepts IME composed input (#5564) * Feature: The search overlay accepts IME composed input * use LineEditBuffer Co-authored-by: Wez Furlong --- wezterm-gui/src/overlay/copy.rs | 38 +++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/wezterm-gui/src/overlay/copy.rs b/wezterm-gui/src/overlay/copy.rs index e4de21b8c..00ce46452 100644 --- a/wezterm-gui/src/overlay/copy.rs +++ b/wezterm-gui/src/overlay/copy.rs @@ -13,7 +13,7 @@ use mux::pane::{ use mux::renderable::*; use mux::tab::TabId; use ordered_float::NotNan; -use parking_lot::{MappedMutexGuard, Mutex}; +use parking_lot::{MappedMutexGuard, Mutex, MutexGuard}; use rangeset::RangeSet; use std::collections::HashMap; use std::ops::Range; @@ -40,7 +40,8 @@ const SEARCH_CHUNK_SIZE: StableRowIndex = 1000; pub struct CopyOverlay { delegate: Arc, - render: Mutex, + render: Arc>, + writer: Mutex, } #[derive(Copy, Clone, Debug)] @@ -167,9 +168,15 @@ impl CopyOverlay { render.dirty_results.add(search_row); render.update_search(); + let shared_render = Arc::new(Mutex::new(render)); + let writer = SearchOverlayPatternWriter { + render: Arc::clone(&shared_render), + }; + Ok(Arc::new(CopyOverlay { delegate: Arc::clone(pane), - render: Mutex::new(render), + render: shared_render, + writer: Mutex::new(writer), })) } @@ -1116,7 +1123,10 @@ impl Pane for CopyOverlay { } fn writer(&self) -> MappedMutexGuard { - self.delegate.writer() + MutexGuard::map(self.writer.lock(), |writer| { + let w: &mut dyn std::io::Write = writer; + w + }) } fn resize(&self, size: TerminalSize) -> anyhow::Result<()> { @@ -1587,6 +1597,26 @@ impl Pane for CopyOverlay { } } +pub struct SearchOverlayPatternWriter { + render: Arc>, +} + +impl std::io::Write for SearchOverlayPatternWriter { + fn write(&mut self, buf: &[u8]) -> std::io::Result { + let mut render = self.render.lock(); + let s = std::str::from_utf8(buf).map_err(|err| { + std::io::Error::new(std::io::ErrorKind::Other, format!("invalid UTF-8: {err:#}")) + })?; + render.search_line.insert_text(s); + render.schedule_update_search(); + Ok(buf.len()) + } + + fn flush(&mut self) -> std::io::Result<()> { + Ok(()) + } +} + fn is_whitespace_word(word: &str) -> bool { if let Some(c) = word.chars().next() { c.is_whitespace() From 794389ceacdd19dbf6255d153f88d539bd504e4b Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 15 Jun 2024 05:43:07 -0700 Subject: [PATCH 19/69] docs: changelog for #5564 --- docs/changelog.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/changelog.md b/docs/changelog.md index 9efc3b004..2f79dc5aa 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -77,6 +77,7 @@ As features stabilize some brief notes about them will accumulate here. #5515 #3807 * Render invalidation issue when closing tabs other than the last tab. Thanks to @Mrreadiness! #5441 #5304 +* Search mode now accepts composed input from the IME. Thanks to @kenchou! #5564 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg From 404c1937ef1194a528d57f8096d7215a8faabc5e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 16 Jun 2024 00:20:55 +0000 Subject: [PATCH 20/69] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/d226935fd75012939397c83f6c385e4d6d832288?narHash=sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI%3D' (2024-06-07) → 'github:NixOS/nixpkgs/3f84a279f1a6290ce154c5531378acc827836fbb?narHash=sha256-u1fA0DYQYdeG%2B5kDm1bOoGcHtX0rtC7qs2YA2N1X%2B%2BI%3D' (2024-06-13) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/6dc3e45fe4aee36efeed24d64fc68b1f989d5465?narHash=sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28%3D' (2024-06-08) → 'github:oxalica/rust-overlay/7c2d603cb67c974ef8c5cfee1150060dbb299e04?narHash=sha256-s8QrTANEtY6UxzfkcBfoN93bgW9aCRIq54LPRVNu/4c%3D' (2024-06-15) --- nix/flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index c0b1e05eb..c11400785 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -71,11 +71,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717774105, - "narHash": "sha256-HV97wqUQv9wvptiHCb3Y0/YH0lJ60uZ8FYfEOIzYEqI=", + "lastModified": 1718276985, + "narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d226935fd75012939397c83f6c385e4d6d832288", + "rev": "3f84a279f1a6290ce154c5531378acc827836fbb", "type": "github" }, "original": { @@ -106,11 +106,11 @@ ] }, "locked": { - "lastModified": 1717813066, - "narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=", + "lastModified": 1718417877, + "narHash": "sha256-s8QrTANEtY6UxzfkcBfoN93bgW9aCRIq54LPRVNu/4c=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465", + "rev": "7c2d603cb67c974ef8c5cfee1150060dbb299e04", "type": "github" }, "original": { From 1d3a459ca84bb4a05eef257a0ad5a8125d28441c Mon Sep 17 00:00:00 2001 From: gitmpr <89863774+gitmpr@users.noreply.github.com> Date: Sun, 16 Jun 2024 23:09:42 +0200 Subject: [PATCH 21/69] Bugfix/docs typos (#5571) * Update SelectTextAtMouseCursor.md fix typo * Update index.markdown fix typo --- docs/config/lua/keyassignment/SelectTextAtMouseCursor.md | 2 +- docs/config/lua/pane/index.markdown | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/config/lua/keyassignment/SelectTextAtMouseCursor.md b/docs/config/lua/keyassignment/SelectTextAtMouseCursor.md index ef4ba7791..c6546ae51 100644 --- a/docs/config/lua/keyassignment/SelectTextAtMouseCursor.md +++ b/docs/config/lua/keyassignment/SelectTextAtMouseCursor.md @@ -11,7 +11,7 @@ to take the surrounding semantic zone. In this example, the triple-left-click mouse action is set to automatically select the entire command output when clicking -on any character withing that region: +on any character within that region: ```lua config.mouse_bindings = { diff --git a/docs/config/lua/pane/index.markdown b/docs/config/lua/pane/index.markdown index 35e3933ea..afe37f6eb 100644 --- a/docs/config/lua/pane/index.markdown +++ b/docs/config/lua/pane/index.markdown @@ -12,7 +12,7 @@ for the sake of simplicity. A Pane object is typically passed to your code via an event callback. A Pane object is a handle to a live instance of a Pane that is known to the wezterm -process. A Pane object tracks the psuedo terminal (or real serial terminal) +process. A Pane object tracks the pseudo terminal (or real serial terminal) and associated process(es) and the parsed screen and scrollback. A Pane object can be used to send input to the associated processes and From 17958dbbec8d507bf1667e841b3f2da1c0ccaee6 Mon Sep 17 00:00:00 2001 From: Andy Georges Date: Mon, 17 Jun 2024 17:25:57 +0200 Subject: [PATCH 22/69] Check for the presence of CARGO_BUILD_TARGET_DIR env variable (#5430) * feat: use CARGO_BUILD_TARGET_DIR env When building in the presence of a CARGO_BUILD_TARGET_DIR, there is no target dir created inside the repo, so copying to a location within the local repo dir fails, hence we need to copy to the actual target dir that is being used. * fix: environment variable with correct name --- wezterm-gui/build.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wezterm-gui/build.rs b/wezterm-gui/build.rs index 7ef7b9877..6ffb3c085 100644 --- a/wezterm-gui/build.rs +++ b/wezterm-gui/build.rs @@ -168,7 +168,10 @@ END .join("WezTerm.app") .join("Contents") .join("Info.plist"); - let dest_plist = repo_dir.join("target").join(profile).join("Info.plist"); + let build_target_dir = std::env::var("CARGO_TARGET_DIR") + .and_then(|s| Ok(std::path::PathBuf::from(s))) + .unwrap_or(repo_dir.join("target").join(profile)); + let dest_plist = build_target_dir.join("Info.plist"); println!("cargo:rerun-if-changed=assets/macos/WezTerm.app/Contents/Info.plist"); std::fs::copy(&src_plist, &dest_plist) From 3826086386339df95921fe7070391c7d0940eb14 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 17 Jun 2024 08:29:03 -0700 Subject: [PATCH 23/69] ci: switch mac builds to macos-latest --- .github/workflows/gen_macos.yml | 2 +- .github/workflows/gen_macos_continuous.yml | 2 +- .github/workflows/gen_macos_tag.yml | 2 +- ci/generate-workflows.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/gen_macos.yml b/.github/workflows/gen_macos.yml index b78194b5f..32c1abd77 100644 --- a/.github/workflows/gen_macos.yml +++ b/.github/workflows/gen_macos.yml @@ -19,7 +19,7 @@ on: jobs: build: - runs-on: "macos-11" + runs-on: "macos-latest" env: CARGO_INCREMENTAL: "0" diff --git a/.github/workflows/gen_macos_continuous.yml b/.github/workflows/gen_macos_continuous.yml index 5b72a52f8..24fa89610 100644 --- a/.github/workflows/gen_macos_continuous.yml +++ b/.github/workflows/gen_macos_continuous.yml @@ -21,7 +21,7 @@ on: jobs: build: - runs-on: "macos-11" + runs-on: "macos-latest" env: BUILD_REASON: "Schedule" diff --git a/.github/workflows/gen_macos_tag.yml b/.github/workflows/gen_macos_tag.yml index af0fb69d9..6508ee55a 100644 --- a/.github/workflows/gen_macos_tag.yml +++ b/.github/workflows/gen_macos_tag.yml @@ -7,7 +7,7 @@ on: jobs: build: - runs-on: "macos-11" + runs-on: "macos-latest" env: CARGO_INCREMENTAL: "0" diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index ffb1a65fb..cfc5b2914 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -1003,7 +1003,7 @@ TARGETS = [ Target(container="debian:12", continuous_only=True), Target(name="centos8", container="quay.io/centos/centos:stream8"), Target(name="centos9", container="quay.io/centos/centos:stream9"), - Target(name="macos", os="macos-11"), + Target(name="macos", os="macos-latest"), # https://fedoraproject.org/wiki/End_of_life?rd=LifeCycle/EOL Target(container="fedora:38"), Target(container="fedora:39"), From 91dbc0f6a15f483707965b818c33e4fda1b16565 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 17 Jun 2024 08:31:17 -0700 Subject: [PATCH 24/69] ci: drop centos8 It reached EOL at the end of May 2024 --- .github/workflows/gen_centos8.yml | 109 --------------- .github/workflows/gen_centos8_continuous.yml | 136 ------------------- .github/workflows/gen_centos8_tag.yml | 120 ---------------- ci/generate-workflows.py | 1 - docs/install/linux.md | 2 +- 5 files changed, 1 insertion(+), 367 deletions(-) delete mode 100644 .github/workflows/gen_centos8.yml delete mode 100644 .github/workflows/gen_centos8_continuous.yml delete mode 100644 .github/workflows/gen_centos8_tag.yml diff --git a/.github/workflows/gen_centos8.yml b/.github/workflows/gen_centos8.yml deleted file mode 100644 index 5297d1da0..000000000 --- a/.github/workflows/gen_centos8.yml +++ /dev/null @@ -1,109 +0,0 @@ -name: centos8 - -on: - pull_request: - branches: - - main - paths: - - "**/*.rs" - - "**/Cargo.lock" - - "**/Cargo.toml" - - ".github/workflows/gen_centos8.yml" - - "assets/fonts/**/*" - - "assets/icon/*" - - "assets/open-wezterm-here" - - "assets/shell-completion/**/*" - - "assets/shell-integration/**/*" - - "assets/wezterm-nautilus.py" - - "assets/wezterm.appdata.xml" - - "assets/wezterm.desktop" - - "ci/deploy.sh" - - "ci/tag-name.sh" - - "get-deps" - - "termwiz/data/wezterm.terminfo" - -jobs: - build: - runs-on: "ubuntu-latest" - container: "quay.io/centos/centos:stream8" - env: - CARGO_INCREMENTAL: "0" - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - - steps: - - name: "Install config manager" - shell: bash - run: "dnf install -y 'dnf-command(config-manager)'" - - name: "Enable PowerTools" - shell: bash - run: "dnf config-manager --set-enabled powertools" - - name: "Install git" - shell: bash - run: "yum install -y git" - - name: "Install curl" - shell: bash - run: "yum install -y curl" - - name: "Ensure /run/sshd exists" - shell: bash - run: "mkdir -p /run/sshd" - - name: "Install openssh-server" - shell: bash - run: "yum install -y openssh-server" - - name: "Workaround git permissions issue" - shell: bash - run: "git config --global --add safe.directory /__w/wezterm/wezterm" - - name: "checkout repo" - uses: actions/checkout@v4 - with: - submodules: "recursive" - - name: "Install Rust" - uses: dtolnay/rust-toolchain@stable - - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 - - name: "Cache Rust Dependencies" - uses: actions/cache@v4 - id: cache-cargo-vendor - with: - path: | - vendor - .cargo/config - key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" - - name: "Vendor dependecies" - if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' - shell: bash - run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - - name: "Install System Deps" - shell: bash - run: "env CI=yes PATH=$PATH ./get-deps" - - name: "Build wezterm (Release mode)" - shell: bash - run: "cargo build -p wezterm --release" - - name: "Build wezterm-gui (Release mode)" - shell: bash - run: "cargo build -p wezterm-gui --release" - - name: "Build wezterm-mux-server (Release mode)" - shell: bash - run: "cargo build -p wezterm-mux-server --release" - - name: "Build strip-ansi-escapes (Release mode)" - shell: bash - run: "cargo build -p strip-ansi-escapes --release" - - name: "Install cargo-nextest from Cargo" - uses: baptiste0928/cargo-install@v3 - with: - crate: "cargo-nextest" - cache-key: "centos8" - - name: "Test" - shell: bash - run: "cargo nextest run --all --no-fail-fast" - - name: "Package" - shell: bash - run: "bash ci/deploy.sh" - - name: "Move RPM" - shell: bash - run: "mv ~/rpmbuild/RPMS/*/*.rpm ." - - name: "Upload artifact" - uses: actions/upload-artifact@v3 - with: - name: "centos8" - path: "wezterm-*.rpm" diff --git a/.github/workflows/gen_centos8_continuous.yml b/.github/workflows/gen_centos8_continuous.yml deleted file mode 100644 index 6260ceafe..000000000 --- a/.github/workflows/gen_centos8_continuous.yml +++ /dev/null @@ -1,136 +0,0 @@ -name: centos8_continuous - -on: - schedule: - - cron: "10 3 * * *" - push: - branches: - - main - paths: - - "**/*.rs" - - "**/Cargo.lock" - - "**/Cargo.toml" - - ".github/workflows/gen_centos8_continuous.yml" - - "assets/fonts/**/*" - - "assets/icon/*" - - "assets/open-wezterm-here" - - "assets/shell-completion/**/*" - - "assets/shell-integration/**/*" - - "assets/wezterm-nautilus.py" - - "assets/wezterm.appdata.xml" - - "assets/wezterm.desktop" - - "ci/deploy.sh" - - "ci/tag-name.sh" - - "get-deps" - - "termwiz/data/wezterm.terminfo" - -jobs: - build: - runs-on: "ubuntu-latest" - container: "quay.io/centos/centos:stream8" - env: - BUILD_REASON: "Schedule" - CARGO_INCREMENTAL: "0" - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - - steps: - - name: "Install config manager" - shell: bash - run: "dnf install -y 'dnf-command(config-manager)'" - - name: "Enable PowerTools" - shell: bash - run: "dnf config-manager --set-enabled powertools" - - name: "Install git" - shell: bash - run: "yum install -y git" - - name: "Install curl" - shell: bash - run: "yum install -y curl" - - name: "Ensure /run/sshd exists" - shell: bash - run: "mkdir -p /run/sshd" - - name: "Install openssh-server" - shell: bash - run: "yum install -y openssh-server" - - name: "Workaround git permissions issue" - shell: bash - run: "git config --global --add safe.directory /__w/wezterm/wezterm" - - name: "checkout repo" - uses: actions/checkout@v4 - with: - submodules: "recursive" - - name: "Install Rust" - uses: dtolnay/rust-toolchain@stable - - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 - - name: "Cache Rust Dependencies" - uses: actions/cache@v4 - id: cache-cargo-vendor - with: - path: | - vendor - .cargo/config - key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" - - name: "Vendor dependecies" - if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' - shell: bash - run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - - name: "Install System Deps" - shell: bash - run: "env CI=yes PATH=$PATH ./get-deps" - - name: "Build wezterm (Release mode)" - shell: bash - run: "cargo build -p wezterm --release" - - name: "Build wezterm-gui (Release mode)" - shell: bash - run: "cargo build -p wezterm-gui --release" - - name: "Build wezterm-mux-server (Release mode)" - shell: bash - run: "cargo build -p wezterm-mux-server --release" - - name: "Build strip-ansi-escapes (Release mode)" - shell: bash - run: "cargo build -p strip-ansi-escapes --release" - - name: "Install cargo-nextest from Cargo" - uses: baptiste0928/cargo-install@v3 - with: - crate: "cargo-nextest" - cache-key: "centos8" - - name: "Test" - shell: bash - run: "cargo nextest run --all --no-fail-fast" - - name: "Package" - shell: bash - run: "bash ci/deploy.sh" - - name: "Move RPM" - shell: bash - run: "mv ~/rpmbuild/RPMS/*/*.rpm wezterm-nightly-centos8.rpm" - - name: "Upload artifact" - uses: actions/upload-artifact@v3 - with: - name: "centos8" - path: "wezterm-*.rpm" - retention-days: 5 - - upload: - runs-on: ubuntu-latest - needs: build - - steps: - - name: "Workaround git permissions issue" - shell: bash - run: "git config --global --add safe.directory /__w/wezterm/wezterm" - - name: "checkout repo" - uses: actions/checkout@v4 - - name: "Download artifact" - uses: actions/download-artifact@v3 - with: - name: "centos8" - - name: "Checksum" - shell: bash - run: "for f in wezterm-*.rpm ; do sha256sum $f > $f.sha256 ; done" - - name: "Upload to Nightly Release" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - shell: bash - run: "bash ci/retry.sh gh release upload --clobber nightly wezterm-*.rpm *.sha256" diff --git a/.github/workflows/gen_centos8_tag.yml b/.github/workflows/gen_centos8_tag.yml deleted file mode 100644 index b17b1ee89..000000000 --- a/.github/workflows/gen_centos8_tag.yml +++ /dev/null @@ -1,120 +0,0 @@ -name: centos8_tag - -on: - push: - tags: - - "20*" - -jobs: - build: - runs-on: "ubuntu-latest" - container: "quay.io/centos/centos:stream8" - env: - CARGO_INCREMENTAL: "0" - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - - steps: - - name: "Install config manager" - shell: bash - run: "dnf install -y 'dnf-command(config-manager)'" - - name: "Enable PowerTools" - shell: bash - run: "dnf config-manager --set-enabled powertools" - - name: "Install git" - shell: bash - run: "yum install -y git" - - name: "Install curl" - shell: bash - run: "yum install -y curl" - - name: "Ensure /run/sshd exists" - shell: bash - run: "mkdir -p /run/sshd" - - name: "Install openssh-server" - shell: bash - run: "yum install -y openssh-server" - - name: "Workaround git permissions issue" - shell: bash - run: "git config --global --add safe.directory /__w/wezterm/wezterm" - - name: "checkout repo" - uses: actions/checkout@v4 - with: - submodules: "recursive" - - name: "Install Rust" - uses: dtolnay/rust-toolchain@stable - - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 - - name: "Cache Rust Dependencies" - uses: actions/cache@v4 - id: cache-cargo-vendor - with: - path: | - vendor - .cargo/config - key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" - - name: "Vendor dependecies" - if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' - shell: bash - run: "cargo vendor --locked --versioned-dirs >> .cargo/config" - - name: "Install System Deps" - shell: bash - run: "env CI=yes PATH=$PATH ./get-deps" - - name: "Build wezterm (Release mode)" - shell: bash - run: "cargo build -p wezterm --release" - - name: "Build wezterm-gui (Release mode)" - shell: bash - run: "cargo build -p wezterm-gui --release" - - name: "Build wezterm-mux-server (Release mode)" - shell: bash - run: "cargo build -p wezterm-mux-server --release" - - name: "Build strip-ansi-escapes (Release mode)" - shell: bash - run: "cargo build -p strip-ansi-escapes --release" - - name: "Install cargo-nextest from Cargo" - uses: baptiste0928/cargo-install@v3 - with: - crate: "cargo-nextest" - cache-key: "centos8" - - name: "Test" - shell: bash - run: "cargo nextest run --all --no-fail-fast" - - name: "Package" - shell: bash - run: "bash ci/deploy.sh" - - name: "Move RPM" - shell: bash - run: "mv ~/rpmbuild/RPMS/*/*.rpm ." - - name: "Upload artifact" - uses: actions/upload-artifact@v3 - with: - name: "centos8" - path: "wezterm-*.rpm" - - upload: - runs-on: ubuntu-latest - needs: build - - steps: - - name: "Workaround git permissions issue" - shell: bash - run: "git config --global --add safe.directory /__w/wezterm/wezterm" - - name: "checkout repo" - uses: actions/checkout@v4 - - name: "Download artifact" - uses: actions/download-artifact@v3 - with: - name: "centos8" - - name: "Checksum" - shell: bash - run: "for f in wezterm-*.rpm ; do sha256sum $f > $f.sha256 ; done" - - name: "Create pre-release" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - shell: bash - run: "bash ci/retry.sh bash ci/create-release.sh $(ci/tag-name.sh)" - - name: "Upload to Tagged Release" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - shell: bash - run: "bash ci/retry.sh gh release upload --clobber $(ci/tag-name.sh) wezterm-*.rpm *.sha256" diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index cfc5b2914..f1b0e977d 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -1001,7 +1001,6 @@ TARGETS = [ Target(container="debian:10.3", continuous_only=True), Target(container="debian:11", continuous_only=True), Target(container="debian:12", continuous_only=True), - Target(name="centos8", container="quay.io/centos/centos:stream8"), Target(name="centos9", container="quay.io/centos/centos:stream9"), Target(name="macos", os="macos-latest"), # https://fedoraproject.org/wiki/End_of_life?rd=LifeCycle/EOL diff --git a/docs/install/linux.md b/docs/install/linux.md index fa1bb873a..d19b69171 100644 --- a/docs/install/linux.md +++ b/docs/install/linux.md @@ -214,7 +214,7 @@ hide: |Distro | Stable | Nightly | |------------|------------------|---------------------| - |CentOS8 |[{{ centos8_rpm_stable_asset }}]({{ centos8_rpm_stable }}) |[{{ centos8_rpm_nightly_asset }}]({{ centos8_rpm_nightly }})| + |CentOS8 |[{{ centos8_rpm_stable_asset }}]({{ centos8_rpm_stable }}) |No longer supported| |CentOS9 |[{{ centos9_rpm_stable_asset }}]({{ centos9_rpm_stable }})|[{{ centos9_rpm_nightly_asset }}]({{ centos9_rpm_nightly }})| |Fedora37 |[{{ fedora37_rpm_stable_asset }}]({{ fedora37_rpm_stable }})|No longer supported| |Fedora38 |[{{ fedora38_rpm_stable_asset }}]({{ fedora38_rpm_stable }})|[{{ fedora38_rpm_nightly_asset }}]({{ fedora38_rpm_nightly }})| From cb1406860a23896ca6935696169644d140e29208 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 17 Jun 2024 08:35:35 -0700 Subject: [PATCH 25/69] ci: explicitly install both intel and arm rust for macos --- .github/workflows/gen_macos.yml | 5 +++-- .github/workflows/gen_macos_continuous.yml | 5 +++-- .github/workflows/gen_macos_tag.yml | 5 +++-- ci/generate-workflows.py | 18 +++++++++++------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/.github/workflows/gen_macos.yml b/.github/workflows/gen_macos.yml index 32c1abd77..7eaadc0a1 100644 --- a/.github/workflows/gen_macos.yml +++ b/.github/workflows/gen_macos.yml @@ -32,11 +32,12 @@ jobs: uses: actions/checkout@v4 with: submodules: "recursive" - - name: "Install Rust" - uses: dtolnay/rust-toolchain@stable - name: "Install Rust (ARM)" shell: bash run: "rustup target add aarch64-apple-darwin" + - name: "Install Rust (Intel)" + shell: bash + run: "rustup target add x86_64-apple-darwin" - name: "Compile with sccache" uses: mozilla-actions/sccache-action@v0.0.4 - name: "Cache Rust Dependencies" diff --git a/.github/workflows/gen_macos_continuous.yml b/.github/workflows/gen_macos_continuous.yml index 24fa89610..35366a3c9 100644 --- a/.github/workflows/gen_macos_continuous.yml +++ b/.github/workflows/gen_macos_continuous.yml @@ -35,11 +35,12 @@ jobs: uses: actions/checkout@v4 with: submodules: "recursive" - - name: "Install Rust" - uses: dtolnay/rust-toolchain@stable - name: "Install Rust (ARM)" shell: bash run: "rustup target add aarch64-apple-darwin" + - name: "Install Rust (Intel)" + shell: bash + run: "rustup target add x86_64-apple-darwin" - name: "Compile with sccache" uses: mozilla-actions/sccache-action@v0.0.4 - name: "Cache Rust Dependencies" diff --git a/.github/workflows/gen_macos_tag.yml b/.github/workflows/gen_macos_tag.yml index 6508ee55a..f82545b89 100644 --- a/.github/workflows/gen_macos_tag.yml +++ b/.github/workflows/gen_macos_tag.yml @@ -20,11 +20,12 @@ jobs: uses: actions/checkout@v4 with: submodules: "recursive" - - name: "Install Rust" - uses: dtolnay/rust-toolchain@stable - name: "Install Rust (ARM)" shell: bash run: "rustup target add aarch64-apple-darwin" + - name: "Install Rust (Intel)" + shell: bash + run: "rustup target add x86_64-apple-darwin" - name: "Compile with sccache" uses: mozilla-actions/sccache-action@v0.0.4 - name: "Cache Rust Dependencies" diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index f1b0e977d..2d021a78a 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -379,6 +379,17 @@ rustup default {toolchain} """, ), ] + elif "macos" in self.name: + steps += [ + RunStep( + name="Install Rust (ARM)", + run="rustup target add aarch64-apple-darwin", + ), + RunStep( + name="Install Rust (Intel)", + run="rustup target add x86_64-apple-darwin", + ) + ] else: steps += [ ActionStep( @@ -387,13 +398,6 @@ rustup default {toolchain} params=params, ), ] - if "macos" in self.name: - steps += [ - RunStep( - name="Install Rust (ARM)", - run="rustup target add aarch64-apple-darwin", - ) - ] if cache: steps += [ SccacheStep(name="Compile with sccache"), From 4daab4dc7a3fbbca6895e41a544b54d41ef7e2b5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 23 Jun 2024 00:20:39 +0000 Subject: [PATCH 26/69] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/3f84a279f1a6290ce154c5531378acc827836fbb?narHash=sha256-u1fA0DYQYdeG%2B5kDm1bOoGcHtX0rtC7qs2YA2N1X%2B%2BI%3D' (2024-06-13) → 'github:NixOS/nixpkgs/90338afd6177fc683a04d934199d693708c85a3b?narHash=sha256-%2B1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM%3D' (2024-06-21) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/7c2d603cb67c974ef8c5cfee1150060dbb299e04?narHash=sha256-s8QrTANEtY6UxzfkcBfoN93bgW9aCRIq54LPRVNu/4c%3D' (2024-06-15) → 'github:oxalica/rust-overlay/ff019b65a656d36dca3e57b43c40c44eec7852c5?narHash=sha256-ZDS8x9XpFeSBs9gMTHoujKWPn%2Bi9ecqE9NWEUF07Yuc%3D' (2024-06-22) • Removed input 'rust-overlay/flake-utils' --- nix/flake.lock | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index c11400785..1f0f02469 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -71,11 +71,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718276985, - "narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=", + "lastModified": 1718983919, + "narHash": "sha256-+1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3f84a279f1a6290ce154c5531378acc827836fbb", + "rev": "90338afd6177fc683a04d934199d693708c85a3b", "type": "github" }, "original": { @@ -98,19 +98,16 @@ }, "rust-overlay": { "inputs": { - "flake-utils": [ - "flake-utils" - ], "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1718417877, - "narHash": "sha256-s8QrTANEtY6UxzfkcBfoN93bgW9aCRIq54LPRVNu/4c=", + "lastModified": 1719022649, + "narHash": "sha256-ZDS8x9XpFeSBs9gMTHoujKWPn+i9ecqE9NWEUF07Yuc=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "7c2d603cb67c974ef8c5cfee1150060dbb299e04", + "rev": "ff019b65a656d36dca3e57b43c40c44eec7852c5", "type": "github" }, "original": { From b6cc0382cb5af089c5a2039173cece194e861f46 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 24 Jun 2024 06:54:47 -0700 Subject: [PATCH 27/69] ci: update sccache action closes: #5751 --- .github/workflows/gen_centos9.yml | 2 +- .github/workflows/gen_centos9_continuous.yml | 2 +- .github/workflows/gen_centos9_tag.yml | 2 +- .github/workflows/gen_debian10.3.yml | 2 +- .github/workflows/gen_debian10.3_continuous.yml | 2 +- .github/workflows/gen_debian10.3_tag.yml | 2 +- .github/workflows/gen_debian11.yml | 2 +- .github/workflows/gen_debian11_continuous.yml | 2 +- .github/workflows/gen_debian11_tag.yml | 2 +- .github/workflows/gen_debian12.yml | 2 +- .github/workflows/gen_debian12_continuous.yml | 2 +- .github/workflows/gen_debian12_tag.yml | 2 +- .github/workflows/gen_fedora38.yml | 2 +- .github/workflows/gen_fedora38_continuous.yml | 2 +- .github/workflows/gen_fedora38_tag.yml | 2 +- .github/workflows/gen_fedora39.yml | 2 +- .github/workflows/gen_fedora39_continuous.yml | 2 +- .github/workflows/gen_fedora39_tag.yml | 2 +- .github/workflows/gen_fedora40.yml | 2 +- .github/workflows/gen_fedora40_continuous.yml | 2 +- .github/workflows/gen_fedora40_tag.yml | 2 +- .github/workflows/gen_macos.yml | 2 +- .github/workflows/gen_macos_continuous.yml | 2 +- .github/workflows/gen_macos_tag.yml | 2 +- .github/workflows/gen_ubuntu20.04.yml | 2 +- .github/workflows/gen_ubuntu20.04_continuous.yml | 2 +- .github/workflows/gen_ubuntu20.04_tag.yml | 2 +- .github/workflows/gen_ubuntu22.04.yml | 2 +- .github/workflows/gen_ubuntu22.04_continuous.yml | 2 +- .github/workflows/gen_ubuntu22.04_tag.yml | 2 +- .github/workflows/gen_windows.yml | 2 +- .github/workflows/gen_windows_continuous.yml | 2 +- .github/workflows/gen_windows_tag.yml | 2 +- ci/generate-workflows.py | 2 +- 34 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/workflows/gen_centos9.yml b/.github/workflows/gen_centos9.yml index 0253da5d5..9cd97e760 100644 --- a/.github/workflows/gen_centos9.yml +++ b/.github/workflows/gen_centos9.yml @@ -60,7 +60,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_centos9_continuous.yml b/.github/workflows/gen_centos9_continuous.yml index 4cd205f73..57c52ea1c 100644 --- a/.github/workflows/gen_centos9_continuous.yml +++ b/.github/workflows/gen_centos9_continuous.yml @@ -63,7 +63,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_centos9_tag.yml b/.github/workflows/gen_centos9_tag.yml index c3fdc214a..0d8d38424 100644 --- a/.github/workflows/gen_centos9_tag.yml +++ b/.github/workflows/gen_centos9_tag.yml @@ -43,7 +43,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian10.3.yml b/.github/workflows/gen_debian10.3.yml index 4d48bcc51..026ed0166 100644 --- a/.github/workflows/gen_debian10.3.yml +++ b/.github/workflows/gen_debian10.3.yml @@ -63,7 +63,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian10.3_continuous.yml b/.github/workflows/gen_debian10.3_continuous.yml index 2cb09ff1c..5293a4e20 100644 --- a/.github/workflows/gen_debian10.3_continuous.yml +++ b/.github/workflows/gen_debian10.3_continuous.yml @@ -66,7 +66,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian10.3_tag.yml b/.github/workflows/gen_debian10.3_tag.yml index 50e8798bb..7adc5f5eb 100644 --- a/.github/workflows/gen_debian10.3_tag.yml +++ b/.github/workflows/gen_debian10.3_tag.yml @@ -46,7 +46,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian11.yml b/.github/workflows/gen_debian11.yml index 312de69d3..64e7843b3 100644 --- a/.github/workflows/gen_debian11.yml +++ b/.github/workflows/gen_debian11.yml @@ -63,7 +63,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian11_continuous.yml b/.github/workflows/gen_debian11_continuous.yml index 0dd157115..57c2e3f43 100644 --- a/.github/workflows/gen_debian11_continuous.yml +++ b/.github/workflows/gen_debian11_continuous.yml @@ -66,7 +66,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian11_tag.yml b/.github/workflows/gen_debian11_tag.yml index 253089d75..ad6a10865 100644 --- a/.github/workflows/gen_debian11_tag.yml +++ b/.github/workflows/gen_debian11_tag.yml @@ -46,7 +46,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian12.yml b/.github/workflows/gen_debian12.yml index dca07113b..8453d0137 100644 --- a/.github/workflows/gen_debian12.yml +++ b/.github/workflows/gen_debian12.yml @@ -63,7 +63,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian12_continuous.yml b/.github/workflows/gen_debian12_continuous.yml index 2617d6017..c9e85b672 100644 --- a/.github/workflows/gen_debian12_continuous.yml +++ b/.github/workflows/gen_debian12_continuous.yml @@ -66,7 +66,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_debian12_tag.yml b/.github/workflows/gen_debian12_tag.yml index 3165b87c6..c4f2895e6 100644 --- a/.github/workflows/gen_debian12_tag.yml +++ b/.github/workflows/gen_debian12_tag.yml @@ -46,7 +46,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora38.yml b/.github/workflows/gen_fedora38.yml index 7d5a84345..76a80c7ea 100644 --- a/.github/workflows/gen_fedora38.yml +++ b/.github/workflows/gen_fedora38.yml @@ -57,7 +57,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora38_continuous.yml b/.github/workflows/gen_fedora38_continuous.yml index 44c0fe557..362cc9acc 100644 --- a/.github/workflows/gen_fedora38_continuous.yml +++ b/.github/workflows/gen_fedora38_continuous.yml @@ -60,7 +60,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora38_tag.yml b/.github/workflows/gen_fedora38_tag.yml index 84222a5a0..683d443b7 100644 --- a/.github/workflows/gen_fedora38_tag.yml +++ b/.github/workflows/gen_fedora38_tag.yml @@ -40,7 +40,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora39.yml b/.github/workflows/gen_fedora39.yml index 0f6aaec56..bd4a46f99 100644 --- a/.github/workflows/gen_fedora39.yml +++ b/.github/workflows/gen_fedora39.yml @@ -57,7 +57,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora39_continuous.yml b/.github/workflows/gen_fedora39_continuous.yml index 3a0c7663e..2290994f9 100644 --- a/.github/workflows/gen_fedora39_continuous.yml +++ b/.github/workflows/gen_fedora39_continuous.yml @@ -60,7 +60,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora39_tag.yml b/.github/workflows/gen_fedora39_tag.yml index 4554594e5..ca3141281 100644 --- a/.github/workflows/gen_fedora39_tag.yml +++ b/.github/workflows/gen_fedora39_tag.yml @@ -40,7 +40,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora40.yml b/.github/workflows/gen_fedora40.yml index e5ac8e223..fa62e6a14 100644 --- a/.github/workflows/gen_fedora40.yml +++ b/.github/workflows/gen_fedora40.yml @@ -57,7 +57,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora40_continuous.yml b/.github/workflows/gen_fedora40_continuous.yml index 9d2e06a31..bd9955943 100644 --- a/.github/workflows/gen_fedora40_continuous.yml +++ b/.github/workflows/gen_fedora40_continuous.yml @@ -60,7 +60,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_fedora40_tag.yml b/.github/workflows/gen_fedora40_tag.yml index e1d7d5eae..c4e80467d 100644 --- a/.github/workflows/gen_fedora40_tag.yml +++ b/.github/workflows/gen_fedora40_tag.yml @@ -40,7 +40,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_macos.yml b/.github/workflows/gen_macos.yml index 7eaadc0a1..ea91c10d9 100644 --- a/.github/workflows/gen_macos.yml +++ b/.github/workflows/gen_macos.yml @@ -39,7 +39,7 @@ jobs: shell: bash run: "rustup target add x86_64-apple-darwin" - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_macos_continuous.yml b/.github/workflows/gen_macos_continuous.yml index 35366a3c9..ca026a432 100644 --- a/.github/workflows/gen_macos_continuous.yml +++ b/.github/workflows/gen_macos_continuous.yml @@ -42,7 +42,7 @@ jobs: shell: bash run: "rustup target add x86_64-apple-darwin" - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_macos_tag.yml b/.github/workflows/gen_macos_tag.yml index f82545b89..0c50e5043 100644 --- a/.github/workflows/gen_macos_tag.yml +++ b/.github/workflows/gen_macos_tag.yml @@ -27,7 +27,7 @@ jobs: shell: bash run: "rustup target add x86_64-apple-darwin" - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_ubuntu20.04.yml b/.github/workflows/gen_ubuntu20.04.yml index 50ce9e6e3..08ef08f82 100644 --- a/.github/workflows/gen_ubuntu20.04.yml +++ b/.github/workflows/gen_ubuntu20.04.yml @@ -68,7 +68,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_ubuntu20.04_continuous.yml b/.github/workflows/gen_ubuntu20.04_continuous.yml index d17887ab9..9930aa7cd 100644 --- a/.github/workflows/gen_ubuntu20.04_continuous.yml +++ b/.github/workflows/gen_ubuntu20.04_continuous.yml @@ -71,7 +71,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_ubuntu20.04_tag.yml b/.github/workflows/gen_ubuntu20.04_tag.yml index ab664cc98..ca48e2ebb 100644 --- a/.github/workflows/gen_ubuntu20.04_tag.yml +++ b/.github/workflows/gen_ubuntu20.04_tag.yml @@ -48,7 +48,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_ubuntu22.04.yml b/.github/workflows/gen_ubuntu22.04.yml index 2b07e8e3f..d130990c5 100644 --- a/.github/workflows/gen_ubuntu22.04.yml +++ b/.github/workflows/gen_ubuntu22.04.yml @@ -63,7 +63,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_ubuntu22.04_continuous.yml b/.github/workflows/gen_ubuntu22.04_continuous.yml index 7e5b11e46..9bcba8a41 100644 --- a/.github/workflows/gen_ubuntu22.04_continuous.yml +++ b/.github/workflows/gen_ubuntu22.04_continuous.yml @@ -66,7 +66,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_ubuntu22.04_tag.yml b/.github/workflows/gen_ubuntu22.04_tag.yml index fd34a8924..860439bd3 100644 --- a/.github/workflows/gen_ubuntu22.04_tag.yml +++ b/.github/workflows/gen_ubuntu22.04_tag.yml @@ -46,7 +46,7 @@ jobs: - name: "Install Rust" uses: dtolnay/rust-toolchain@stable - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_windows.yml b/.github/workflows/gen_windows.yml index 6dad080d1..f621e099b 100644 --- a/.github/workflows/gen_windows.yml +++ b/.github/workflows/gen_windows.yml @@ -35,7 +35,7 @@ jobs: with: target: "x86_64-pc-windows-msvc" - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_windows_continuous.yml b/.github/workflows/gen_windows_continuous.yml index 4c6031f7a..af740148e 100644 --- a/.github/workflows/gen_windows_continuous.yml +++ b/.github/workflows/gen_windows_continuous.yml @@ -38,7 +38,7 @@ jobs: with: target: "x86_64-pc-windows-msvc" - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/.github/workflows/gen_windows_tag.yml b/.github/workflows/gen_windows_tag.yml index 235be6c33..7fe59e86d 100644 --- a/.github/workflows/gen_windows_tag.yml +++ b/.github/workflows/gen_windows_tag.yml @@ -25,7 +25,7 @@ jobs: with: target: "x86_64-pc-windows-msvc" - name: "Compile with sccache" - uses: mozilla-actions/sccache-action@v0.0.4 + uses: mozilla-actions/sccache-action@v0.0.5 - name: "Cache Rust Dependencies" uses: actions/cache@v4 id: cache-cargo-vendor diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index 2d021a78a..7b0e7f0f7 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -136,7 +136,7 @@ class CacheStep(ActionStep): class SccacheStep(ActionStep): def __init__(self, name): - super().__init__(name, action="mozilla-actions/sccache-action@v0.0.4") + super().__init__(name, action="mozilla-actions/sccache-action@v0.0.5") class CheckoutStep(ActionStep): From 552bb1d66b6d0102961974c0da22dc7c69b0cd30 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 24 Jun 2024 06:55:22 -0700 Subject: [PATCH 28/69] cargo update --- Cargo.lock | 316 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 198 insertions(+), 118 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 73090883b..850dac8ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,7 +147,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -309,14 +309,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] name = "async-signal" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "329972aa325176e89114919f2a80fdae4f4c040f66a370b1a1159c6c0f94e7aa" +checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" dependencies = [ "async-io", "async-lock", @@ -344,7 +344,7 @@ checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -357,9 +357,12 @@ dependencies = [ [[package]] name = "atomic" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59bdb34bc650a32731b31bd8f0829cc15d24a708ee31559e0bb34f2bc320cba" +checksum = "8d818003e740b63afc82337e3160717f4f63078720a810b7b903e70a5d1d2994" +dependencies = [ + "bytemuck", +] [[package]] name = "atomic-waker" @@ -404,9 +407,9 @@ checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" [[package]] name = "backtrace" -version = "0.3.72" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17c6a35df3749d2e8bb1b7b21a976d82b15548788d2735b9d82f329268f71a11" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -498,9 +501,9 @@ dependencies = [ [[package]] name = "bitstream-io" -version = "2.3.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c12d1856e42f0d817a835fe55853957c85c8c8a470114029143d3f12671446e" +checksum = "415f8399438eb5e4b2f73ed3152a3448b98149dda642a957ee704e1daa5cf1d8" [[package]] name = "block" @@ -555,9 +558,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytemuck" -version = "1.16.0" +version = "1.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78834c15cb5d5efe3452d58b1e8ba890dd62d21907f867f383358198e56ebca5" +checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" dependencies = [ "bytemuck_derive", ] @@ -570,7 +573,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -632,9 +635,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.99" +version = "1.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "c891175c3fb232128f48de6590095e59198bbeb8620c310be349bfc3afd12c7b" dependencies = [ "jobserver", "libc", @@ -715,9 +718,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.6" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9689a29b593160de5bc4aacab7b5d54fb52231de70122626c178e6a368994c7" +checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" dependencies = [ "clap_builder", "clap_derive", @@ -725,9 +728,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.6" +version = "4.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5387378c84f6faa26890ebf9f0a92989f8873d4d380467bcd0d8d8620424df" +checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" dependencies = [ "anstream", "anstyle", @@ -738,9 +741,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.5" +version = "4.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4" +checksum = "fbca90c87c2a04da41e95d1856e8bcd22f159bdbfa147314d2ce5218057b0e58" dependencies = [ "clap", ] @@ -764,7 +767,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -1159,7 +1162,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" dependencies = [ "bitflags 2.5.0", - "libloading 0.8.3", + "libloading 0.8.4", "winapi", ] @@ -1184,7 +1187,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -1195,7 +1198,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -1236,7 +1239,7 @@ dependencies = [ "lazy_static", "mintex", "parking_lot 0.12.3", - "rustc-hash", + "rustc-hash 1.1.0", "serde", "serde_json", "thousands", @@ -1291,7 +1294,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.3", + "libloading 0.8.4", ] [[package]] @@ -1392,7 +1395,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -1703,7 +1706,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -1823,7 +1826,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -2200,6 +2203,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -2255,12 +2264,12 @@ dependencies = [ [[package]] name = "http-body-util" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0475f8b2ac86659c21b64320d5d653f9efe42acd2a4e560073ec61a155a34f1d" +checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f" dependencies = [ "bytes", - "futures-core", + "futures-util", "http", "http-body", "pin-project-lite", @@ -2278,9 +2287,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "humansize" @@ -2317,6 +2326,23 @@ dependencies = [ "want", ] +[[package]] +name = "hyper-rustls" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +dependencies = [ + "futures-util", + "http", + "hyper", + "hyper-util", + "rustls", + "rustls-pki-types", + "tokio", + "tokio-rustls", + "tower-service", +] + [[package]] name = "hyper-tls" version = "0.6.0" @@ -2505,7 +2531,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -2523,7 +2549,7 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.48.0", ] @@ -2549,7 +2575,7 @@ version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "windows-sys 0.52.0", ] @@ -2621,7 +2647,7 @@ dependencies = [ "libc", "proc-macro2", "regex", - "syn 2.0.66", + "syn 2.0.68", "terminal_size 0.2.6", ] @@ -2632,7 +2658,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.3", + "libloading 0.8.4", "pkg-config", ] @@ -2670,9 +2696,9 @@ checksum = "bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f" [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lazycell" @@ -2770,9 +2796,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", "windows-targets 0.52.5", @@ -3002,9 +3028,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memmap2" @@ -3078,9 +3104,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", "simd-adler32", @@ -3106,23 +3132,23 @@ dependencies = [ [[package]] name = "mlua" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e340c022072f3208a4105458286f4985ba5355bfe243c3073afe45cbe9ecf491" +checksum = "d111deb18a9c9bd33e1541309f4742523bfab01d276bfa9a27519f6de9c11dc7" dependencies = [ "bstr", "futures-util", "mlua-sys", "num-traits", "once_cell", - "rustc-hash", + "rustc-hash 2.0.0", ] [[package]] name = "mlua-sys" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5552e7e4e22ada0463dfdeee6caf6dc057a189fdc83136408a8f950a5e5c5540" +checksum = "a088ed0723df7567f569ba018c5d48c23c501f3878b190b04144dfa5ebfa8abc" dependencies = [ "cc", "cfg-if", @@ -3213,7 +3239,7 @@ dependencies = [ "indexmap 2.2.6", "log", "num-traits", - "rustc-hash", + "rustc-hash 1.1.0", "spirv", "termcolor", "thiserror", @@ -3382,7 +3408,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -3431,7 +3457,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", ] @@ -3456,9 +3482,9 @@ dependencies = [ [[package]] name = "object" -version = "0.35.0" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8ec7ab813848ba4522158d5517a6093db1ded27575b070f4177b8d12b41db5e" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" dependencies = [ "memchr", ] @@ -3498,7 +3524,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -3599,7 +3625,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.1", + "redox_syscall 0.5.2", "smallvec", "windows-targets 0.52.5", ] @@ -3657,7 +3683,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -3711,7 +3737,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -3740,7 +3766,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -3842,13 +3868,13 @@ dependencies = [ [[package]] name = "polling" -version = "3.7.1" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6a007746f34ed64099e88783b0ae369eaa3da6392868ba262e2af9b8fbaea1" +checksum = "a3ed00ed3fbf728b5816498ecd316d1716eecaced9c0c8d2c5a6740ca214985b" dependencies = [ "cfg-if", "concurrent-queue", - "hermit-abi", + "hermit-abi 0.4.0", "pin-project-lite", "rustix 0.38.34", "tracing", @@ -3943,9 +3969,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.85" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -3990,7 +4016,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -4145,9 +4171,9 @@ dependencies = [ [[package]] name = "ravif" -version = "0.11.5" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc13288f5ab39e6d7c9d501759712e6969fcc9734220846fc9ed26cae2cc4234" +checksum = "67376f469e7e7840d0040bbf4b9b3334005bb167f814621326e4c7ab8cd6e944" dependencies = [ "avif-serialize", "imgref", @@ -4216,9 +4242,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ "bitflags 2.5.0", ] @@ -4236,9 +4262,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -4248,9 +4274,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -4259,9 +4285,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "relative-path" @@ -4277,9 +4303,9 @@ checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" [[package]] name = "reqwest" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" +checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37" dependencies = [ "base64 0.22.1", "bytes", @@ -4291,6 +4317,7 @@ dependencies = [ "http-body", "http-body-util", "hyper", + "hyper-rustls", "hyper-tls", "hyper-util", "ipnet", @@ -4382,7 +4409,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.66", + "syn 2.0.68", "unicode-ident", ] @@ -4412,6 +4439,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152" + [[package]] name = "rustc_version" version = "0.4.0" @@ -4448,6 +4481,19 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rustls" +version = "0.23.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +dependencies = [ + "once_cell", + "rustls-pki-types", + "rustls-webpki", + "subtle", + "zeroize", +] + [[package]] name = "rustls-pemfile" version = "2.1.2" @@ -4464,6 +4510,17 @@ version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" +[[package]] +name = "rustls-webpki" +version = "0.102.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +dependencies = [ + "ring", + "rustls-pki-types", + "untrusted", +] + [[package]] name = "ryu" version = "1.0.18" @@ -4559,7 +4616,7 @@ checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -4581,7 +4638,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -4630,7 +4687,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -4983,6 +5040,12 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" +[[package]] +name = "subtle" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" + [[package]] name = "svg_fmt" version = "0.4.3" @@ -5002,9 +5065,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.66" +version = "2.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" dependencies = [ "proc-macro2", "quote", @@ -5038,9 +5101,9 @@ dependencies = [ [[package]] name = "sync_wrapper" -version = "0.1.2" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" [[package]] name = "system-configuration" @@ -5275,7 +5338,7 @@ checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -5427,7 +5490,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -5440,6 +5503,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-rustls" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4" +dependencies = [ + "rustls", + "rustls-pki-types", + "tokio", +] + [[package]] name = "tokio-util" version = "0.7.11" @@ -5553,7 +5627,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] [[package]] @@ -5680,9 +5754,9 @@ dependencies = [ [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -5703,15 +5777,15 @@ dependencies = [ [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0" +checksum = "3ea73390fe27785838dcbf75b91b1d84799e28f1ce71e6f372a5dc2200c80de5" dependencies = [ "atomic", "getrandom", @@ -5838,7 +5912,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", "wasm-bindgen-shared", ] @@ -5872,7 +5946,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6492,7 +6566,7 @@ dependencies = [ "parking_lot 0.12.3", "profiling", "raw-window-handle", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "thiserror", "web-sys", @@ -6523,7 +6597,7 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.3", + "libloading 0.8.4", "log", "metal", "naga", @@ -6534,7 +6608,7 @@ dependencies = [ "range-alloc", "raw-window-handle", "renderdoc-sys", - "rustc-hash", + "rustc-hash 1.1.0", "smallvec", "thiserror", "wasm-bindgen", @@ -6643,7 +6717,7 @@ dependencies = [ "k9", "lazy_static", "libc", - "libloading 0.8.3", + "libloading 0.8.4", "line_drawing", "log", "metrics", @@ -7081,12 +7155,12 @@ checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" [[package]] name = "xdg-home" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +checksum = "ca91dcf8f93db085f3a0a29358cd0b9d670915468f4290e8b85d118a34211ab8" dependencies = [ "libc", - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -7124,9 +7198,9 @@ dependencies = [ [[package]] name = "zbus" -version = "4.2.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989c3977a7aafa97b12b9a35d21cdcff9b0d2289762b14683f45d66b1ba6c48f" +checksum = "23915fcb26e7a9a9dc05fd93a9870d336d6d032cd7e8cebf1c5c37666489fdd5" dependencies = [ "async-broadcast", "async-executor", @@ -7162,14 +7236,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.2.2" +version = "4.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fe9de53245dcf426b7be226a4217dd5e339080e5d46e64a02d6e5dcbf90fca1" +checksum = "02bcca0b586d2f8589da32347b4784ba424c4891ed86aa5b50d5e88f6b2c4f5d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", "zvariant_utils", ] @@ -7201,9 +7275,15 @@ checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] +[[package]] +name = "zeroize" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" + [[package]] name = "zstd" version = "0.11.2+zstd.1.5.2" @@ -7225,9 +7305,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.11+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" dependencies = [ "cc", "pkg-config", @@ -7279,7 +7359,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", "zvariant_utils", ] @@ -7291,5 +7371,5 @@ checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", - "syn 2.0.66", + "syn 2.0.68", ] From 69686f4564ea460111936dee3179ecf8c80e9930 Mon Sep 17 00:00:00 2001 From: Austin Horstman Date: Sat, 29 Jun 2024 08:37:32 -0500 Subject: [PATCH 29/69] nix/flake.nix: remove invalid follows Rust overlay no longer uses flake-utls --- nix/flake.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/nix/flake.nix b/nix/flake.nix index c273ce8f2..10661b8d5 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -6,10 +6,7 @@ flake-utils.url = "github:numtide/flake-utils"; rust-overlay = { url = "github:oxalica/rust-overlay"; - inputs = { - nixpkgs.follows = "nixpkgs"; - flake-utils.follows = "flake-utils"; - }; + inputs.nixpkgs.follows = "nixpkgs"; }; # NOTE: @2024-05 Nix flakes does not support getting git submodules of 'self'. From fab09fd3313d4f7f754e08b09505012bc70e0413 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 06:31:07 -0700 Subject: [PATCH 30/69] ci: Add ubuntu 24.04 --- .github/workflows/gen_ubuntu24.04.yml | 111 ++++++++++++++ .../workflows/gen_ubuntu24.04_continuous.yml | 138 ++++++++++++++++++ .github/workflows/gen_ubuntu24.04_tag.yml | 122 ++++++++++++++++ ci/generate-workflows.py | 1 + 4 files changed, 372 insertions(+) create mode 100644 .github/workflows/gen_ubuntu24.04.yml create mode 100644 .github/workflows/gen_ubuntu24.04_continuous.yml create mode 100644 .github/workflows/gen_ubuntu24.04_tag.yml diff --git a/.github/workflows/gen_ubuntu24.04.yml b/.github/workflows/gen_ubuntu24.04.yml new file mode 100644 index 000000000..b5f0b6788 --- /dev/null +++ b/.github/workflows/gen_ubuntu24.04.yml @@ -0,0 +1,111 @@ +name: ubuntu24.04 + +on: + pull_request: + branches: + - main + paths: + - "**/*.rs" + - "**/Cargo.lock" + - "**/Cargo.toml" + - ".github/workflows/gen_ubuntu24.04.yml" + - "assets/fonts/**/*" + - "assets/icon/*" + - "assets/open-wezterm-here" + - "assets/shell-completion/**/*" + - "assets/shell-integration/**/*" + - "assets/wezterm-nautilus.py" + - "assets/wezterm.appdata.xml" + - "assets/wezterm.desktop" + - "ci/deploy.sh" + - "ci/tag-name.sh" + - "get-deps" + - "termwiz/data/wezterm.terminfo" + +jobs: + build: + runs-on: "ubuntu-latest" + container: "ubuntu:24.04" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" + + steps: + - name: "set APT to non-interactive" + shell: bash + run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" + - name: "Update APT" + shell: bash + run: "apt update" + - name: "Install git" + shell: bash + run: "apt-get install -y git" + - name: "Install curl" + shell: bash + run: "apt-get install -y curl" + - name: "Update APT" + shell: bash + run: "apt update" + - name: "Ensure /run/sshd exists" + shell: bash + run: "mkdir -p /run/sshd" + - name: "Install openssh-server" + shell: bash + run: "apt-get install -y openssh-server" + - name: "Workaround git permissions issue" + shell: bash + run: "git config --global --add safe.directory /__w/wezterm/wezterm" + - name: "checkout repo" + uses: actions/checkout@v4 + with: + submodules: "recursive" + - name: "Install Rust" + uses: dtolnay/rust-toolchain@stable + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.5 + - name: "Cache Rust Dependencies" + uses: actions/cache@v4 + id: cache-cargo-vendor + with: + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" + - name: "Install System Deps" + shell: bash + run: "env CI=yes PATH=$PATH ./get-deps" + - name: "Build wezterm (Release mode)" + shell: bash + run: "cargo build -p wezterm --release" + - name: "Build wezterm-gui (Release mode)" + shell: bash + run: "cargo build -p wezterm-gui --release" + - name: "Build wezterm-mux-server (Release mode)" + shell: bash + run: "cargo build -p wezterm-mux-server --release" + - name: "Build strip-ansi-escapes (Release mode)" + shell: bash + run: "cargo build -p strip-ansi-escapes --release" + - name: "Install cargo-nextest from Cargo" + uses: baptiste0928/cargo-install@v3 + with: + crate: "cargo-nextest" + cache-key: "ubuntu24.04" + - name: "Test" + shell: bash + run: "cargo nextest run --all --no-fail-fast" + - name: "Package" + shell: bash + run: "bash ci/deploy.sh" + - name: "Upload artifact" + uses: actions/upload-artifact@v3 + with: + name: "ubuntu24.04" + path: | + wezterm-*.deb + wezterm-*.xz diff --git a/.github/workflows/gen_ubuntu24.04_continuous.yml b/.github/workflows/gen_ubuntu24.04_continuous.yml new file mode 100644 index 000000000..3b7f95870 --- /dev/null +++ b/.github/workflows/gen_ubuntu24.04_continuous.yml @@ -0,0 +1,138 @@ +name: ubuntu24.04_continuous + +on: + schedule: + - cron: "10 3 * * *" + push: + branches: + - main + paths: + - "**/*.rs" + - "**/Cargo.lock" + - "**/Cargo.toml" + - ".github/workflows/gen_ubuntu24.04_continuous.yml" + - "assets/fonts/**/*" + - "assets/icon/*" + - "assets/open-wezterm-here" + - "assets/shell-completion/**/*" + - "assets/shell-integration/**/*" + - "assets/wezterm-nautilus.py" + - "assets/wezterm.appdata.xml" + - "assets/wezterm.desktop" + - "ci/deploy.sh" + - "ci/tag-name.sh" + - "get-deps" + - "termwiz/data/wezterm.terminfo" + +jobs: + build: + runs-on: "ubuntu-latest" + container: "ubuntu:24.04" + env: + BUILD_REASON: "Schedule" + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" + + steps: + - name: "set APT to non-interactive" + shell: bash + run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" + - name: "Update APT" + shell: bash + run: "apt update" + - name: "Install git" + shell: bash + run: "apt-get install -y git" + - name: "Install curl" + shell: bash + run: "apt-get install -y curl" + - name: "Update APT" + shell: bash + run: "apt update" + - name: "Ensure /run/sshd exists" + shell: bash + run: "mkdir -p /run/sshd" + - name: "Install openssh-server" + shell: bash + run: "apt-get install -y openssh-server" + - name: "Workaround git permissions issue" + shell: bash + run: "git config --global --add safe.directory /__w/wezterm/wezterm" + - name: "checkout repo" + uses: actions/checkout@v4 + with: + submodules: "recursive" + - name: "Install Rust" + uses: dtolnay/rust-toolchain@stable + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.5 + - name: "Cache Rust Dependencies" + uses: actions/cache@v4 + id: cache-cargo-vendor + with: + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" + - name: "Install System Deps" + shell: bash + run: "env CI=yes PATH=$PATH ./get-deps" + - name: "Build wezterm (Release mode)" + shell: bash + run: "cargo build -p wezterm --release" + - name: "Build wezterm-gui (Release mode)" + shell: bash + run: "cargo build -p wezterm-gui --release" + - name: "Build wezterm-mux-server (Release mode)" + shell: bash + run: "cargo build -p wezterm-mux-server --release" + - name: "Build strip-ansi-escapes (Release mode)" + shell: bash + run: "cargo build -p strip-ansi-escapes --release" + - name: "Install cargo-nextest from Cargo" + uses: baptiste0928/cargo-install@v3 + with: + crate: "cargo-nextest" + cache-key: "ubuntu24.04" + - name: "Test" + shell: bash + run: "cargo nextest run --all --no-fail-fast" + - name: "Package" + shell: bash + run: "bash ci/deploy.sh" + - name: "Upload artifact" + uses: actions/upload-artifact@v3 + with: + name: "ubuntu24.04" + path: | + wezterm-*.deb + wezterm-*.xz + retention-days: 5 + + upload: + runs-on: ubuntu-latest + needs: build + + steps: + - name: "Workaround git permissions issue" + shell: bash + run: "git config --global --add safe.directory /__w/wezterm/wezterm" + - name: "checkout repo" + uses: actions/checkout@v4 + - name: "Download artifact" + uses: actions/download-artifact@v3 + with: + name: "ubuntu24.04" + - name: "Checksum" + shell: bash + run: "for f in wezterm-*.deb wezterm-*.xz ; do sha256sum $f > $f.sha256 ; done" + - name: "Upload to Nightly Release" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: bash + run: "bash ci/retry.sh gh release upload --clobber nightly wezterm-*.deb wezterm-*.xz *.sha256" diff --git a/.github/workflows/gen_ubuntu24.04_tag.yml b/.github/workflows/gen_ubuntu24.04_tag.yml new file mode 100644 index 000000000..347d6382f --- /dev/null +++ b/.github/workflows/gen_ubuntu24.04_tag.yml @@ -0,0 +1,122 @@ +name: ubuntu24.04_tag + +on: + push: + tags: + - "20*" + +jobs: + build: + runs-on: "ubuntu-latest" + container: "ubuntu:24.04" + env: + CARGO_INCREMENTAL: "0" + SCCACHE_GHA_ENABLED: "true" + RUSTC_WRAPPER: "sccache" + + steps: + - name: "set APT to non-interactive" + shell: bash + run: "echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections" + - name: "Update APT" + shell: bash + run: "apt update" + - name: "Install git" + shell: bash + run: "apt-get install -y git" + - name: "Install curl" + shell: bash + run: "apt-get install -y curl" + - name: "Update APT" + shell: bash + run: "apt update" + - name: "Ensure /run/sshd exists" + shell: bash + run: "mkdir -p /run/sshd" + - name: "Install openssh-server" + shell: bash + run: "apt-get install -y openssh-server" + - name: "Workaround git permissions issue" + shell: bash + run: "git config --global --add safe.directory /__w/wezterm/wezterm" + - name: "checkout repo" + uses: actions/checkout@v4 + with: + submodules: "recursive" + - name: "Install Rust" + uses: dtolnay/rust-toolchain@stable + - name: "Compile with sccache" + uses: mozilla-actions/sccache-action@v0.0.5 + - name: "Cache Rust Dependencies" + uses: actions/cache@v4 + id: cache-cargo-vendor + with: + path: | + vendor + .cargo/config + key: "cargo-deps-${{ hashFiles('**/Cargo.lock') }}" + - name: "Vendor dependecies" + if: steps.cache-cargo-vendor.outputs.cache-hit != 'true' + shell: bash + run: "cargo vendor --locked --versioned-dirs >> .cargo/config" + - name: "Install System Deps" + shell: bash + run: "env CI=yes PATH=$PATH ./get-deps" + - name: "Build wezterm (Release mode)" + shell: bash + run: "cargo build -p wezterm --release" + - name: "Build wezterm-gui (Release mode)" + shell: bash + run: "cargo build -p wezterm-gui --release" + - name: "Build wezterm-mux-server (Release mode)" + shell: bash + run: "cargo build -p wezterm-mux-server --release" + - name: "Build strip-ansi-escapes (Release mode)" + shell: bash + run: "cargo build -p strip-ansi-escapes --release" + - name: "Install cargo-nextest from Cargo" + uses: baptiste0928/cargo-install@v3 + with: + crate: "cargo-nextest" + cache-key: "ubuntu24.04" + - name: "Test" + shell: bash + run: "cargo nextest run --all --no-fail-fast" + - name: "Package" + shell: bash + run: "bash ci/deploy.sh" + - name: "Upload artifact" + uses: actions/upload-artifact@v3 + with: + name: "ubuntu24.04" + path: | + wezterm-*.deb + wezterm-*.xz + + upload: + runs-on: ubuntu-latest + needs: build + + steps: + - name: "Workaround git permissions issue" + shell: bash + run: "git config --global --add safe.directory /__w/wezterm/wezterm" + - name: "checkout repo" + uses: actions/checkout@v4 + - name: "Download artifact" + uses: actions/download-artifact@v3 + with: + name: "ubuntu24.04" + - name: "Checksum" + shell: bash + run: "for f in wezterm-*.deb wezterm-*.xz ; do sha256sum $f > $f.sha256 ; done" + - name: "Create pre-release" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: bash + run: "bash ci/retry.sh bash ci/create-release.sh $(ci/tag-name.sh)" + - name: "Upload to Tagged Release" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + shell: bash + run: "bash ci/retry.sh gh release upload --clobber $(ci/tag-name.sh) wezterm-*.deb wezterm-*.xz *.sha256" diff --git a/ci/generate-workflows.py b/ci/generate-workflows.py index 7b0e7f0f7..ddf35dcdb 100755 --- a/ci/generate-workflows.py +++ b/ci/generate-workflows.py @@ -998,6 +998,7 @@ rustup default {toolchain} TARGETS = [ Target(container="ubuntu:20.04", continuous_only=True, app_image=True), Target(container="ubuntu:22.04", continuous_only=True), + Target(container="ubuntu:24.04", continuous_only=True), # debian 8's wayland libraries are too old for wayland-client # Target(container="debian:8.11", continuous_only=True, bootstrap_git=True), # harfbuzz's C++ is too new for debian 9's toolchain From d4d5c03b57622762f577011f65283e08e0e57da9 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 06:33:45 -0700 Subject: [PATCH 31/69] cargo update --- Cargo.lock | 459 ++++++++++++++++++++++++++++------------------------- 1 file changed, 240 insertions(+), 219 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 850dac8ba..de3be1889 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,7 +147,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -309,7 +309,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -338,13 +338,13 @@ checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" [[package]] name = "async-trait" -version = "0.1.80" +version = "0.1.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -492,18 +492,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" dependencies = [ "serde", ] [[package]] name = "bitstream-io" -version = "2.4.2" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "415f8399438eb5e4b2f73ed3152a3448b98149dda642a957ee704e1daa5cf1d8" +checksum = "3dcde5f311c85b8ca30c2e4198d4326bc342c76541590106f5fa4a50946ea499" [[package]] name = "block" @@ -546,9 +546,9 @@ dependencies = [ [[package]] name = "built" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6a6c0b39c38fd754ac338b00a88066436389c0f029da5d37d1e01091d9b7c17" +checksum = "236e6289eda5a812bc6b53c3b024039382a2895fbbeef2d748b2931546d392c4" [[package]] name = "bumpalo" @@ -573,7 +573,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -590,9 +590,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "cairo-rs" @@ -600,7 +600,7 @@ version = "0.18.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cairo-sys-rs", "libc", "once_cell", @@ -635,9 +635,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.100" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c891175c3fb232128f48de6590095e59198bbeb8620c310be349bfc3afd12c7b" +checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56" dependencies = [ "jobserver", "libc", @@ -666,6 +666,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "cgl" version = "0.3.2" @@ -686,7 +692,7 @@ dependencies = [ "num-traits", "pure-rust-locales", "serde", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -718,9 +724,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.7" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5db83dced34638ad474f39f250d7fea9598bdd239eaced1bdf45d597da0f433f" +checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" dependencies = [ "clap_builder", "clap_derive", @@ -728,9 +734,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.7" +version = "4.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e204572485eb3fbf28f871612191521df159bc3e15a9f5064c66dba3a8c05f" +checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" dependencies = [ "anstream", "anstyle", @@ -741,9 +747,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.6" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbca90c87c2a04da41e95d1856e8bcd22f159bdbfa147314d2ce5218057b0e58" +checksum = "5b4be9c4c4b1f30b78d8a750e0822b6a6102d97e62061c583a6c1dea2dfb33ae" dependencies = [ "clap", ] @@ -760,14 +766,14 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.5" +version = "4.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c780290ccf4fb26629baa7a1081e68ced113f1d3ec302fa5948f1c381ebf06c6" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -930,7 +936,7 @@ dependencies = [ "log", "luahelper", "mlua", - "nix", + "nix 0.28.0", "notify", "once_cell", "ordered-float", @@ -1161,16 +1167,16 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libloading 0.8.4", "winapi", ] [[package]] name = "darling" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ "darling_core", "darling_macro", @@ -1178,27 +1184,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" dependencies = [ "fnv", "ident_case", "proc-macro2", "quote", "strsim", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] name = "darling_macro" -version = "0.20.9" +version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1325,9 +1331,9 @@ dependencies = [ [[package]] name = "either" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "embed-resource" @@ -1395,7 +1401,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1706,7 +1712,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1826,7 +1832,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -1936,7 +1942,7 @@ version = "0.18.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "libgit2-sys", "log", @@ -1996,7 +2002,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf760ebf69878d9fd8f110c89703d90ce35095324d1f1edcb595c63945ee757" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "ignore", "walkdir", ] @@ -2043,7 +2049,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gpu-alloc-types", ] @@ -2053,7 +2059,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -2076,7 +2082,7 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gpu-descriptor-types", "hashbrown 0.14.5", ] @@ -2087,7 +2093,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -2254,9 +2260,9 @@ dependencies = [ [[package]] name = "http-body" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cac85db508abc24a2e48553ba12a996e87244a0395ce011e62b37158745d643" +checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" dependencies = [ "bytes", "http", @@ -2308,9 +2314,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "1.3.1" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" +checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" dependencies = [ "bytes", "futures-channel", @@ -2361,9 +2367,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b875924a60b96e5d7b9ae7b066540b1dd1cbd90d1828f54c92e02a283351c56" +checksum = "3ab92f4f49ee4fb4f997c784b7a2e0fa70050211e0b6a287f898c3c9785ca956" dependencies = [ "bytes", "futures-channel", @@ -2531,7 +2537,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -2647,7 +2653,7 @@ dependencies = [ "libc", "proc-macro2", "regex", - "syn 2.0.68", + "syn 2.0.71", "terminal_size 0.2.6", ] @@ -2801,7 +2807,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" dependencies = [ "cfg-if", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2816,7 +2822,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -2882,12 +2888,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "line-wrap" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd1bc4d24ad230d21fb898d1116b1801d7adfc449d42026475862ab48b11e70e" - [[package]] name = "line_drawing" version = "0.8.1" @@ -2921,9 +2921,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "logging" @@ -2988,7 +2988,7 @@ version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8836fae9d0d4be2c8b4efcdd79e828a2faa058a90d005abf42f91cac5493a08e" dependencies = [ - "nix", + "nix 0.28.0", "winapi", ] @@ -3071,7 +3071,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "block", "core-graphics-types", "foreign-types 0.5.0", @@ -3182,7 +3182,7 @@ dependencies = [ "metrics", "mlua", "names", - "nix", + "nix 0.28.0", "ntapi", "parking_lot 0.12.3", "percent-encoding", @@ -3233,7 +3233,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae585df4b6514cf8842ac0f1ab4992edc975892704835b549cf818dc0191249e" dependencies = [ "bit-set", - "bitflags 2.5.0", + "bitflags 2.6.0", "codespan-reporting", "hexf-parse", "indexmap 2.2.6", @@ -3293,9 +3293,22 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", - "cfg_aliases", + "cfg_aliases 0.1.1", + "libc", + "memoffset", +] + +[[package]] +name = "nix" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "cfg_aliases 0.2.1", "libc", "memoffset", ] @@ -3377,9 +3390,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ "num-integer", "num-traits", @@ -3408,7 +3421,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3482,9 +3495,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -3497,9 +3510,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "openssl" @@ -3507,7 +3520,7 @@ version = "0.10.64" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cfg-if", "foreign-types 0.3.2", "libc", @@ -3524,7 +3537,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3557,9 +3570,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "4.2.0" +version = "4.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76df7075c7d4d01fdcb46c912dd17fba5b60c78ea480b475f2b6ab6f666584e" +checksum = "19ff2cf528c6c03d9ed653d6c4ce1dc0582dc4af309790ad92f07c1cd551b0be" dependencies = [ "num-traits", "rand", @@ -3627,7 +3640,7 @@ dependencies = [ "libc", "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3654,9 +3667,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "560131c633294438da9f7c4b08189194b20946c8274c6b9e38881a7874dc8ee8" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" dependencies = [ "memchr", "thiserror", @@ -3665,9 +3678,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26293c9193fbca7b1a3bf9b79dc1e388e927e6cacaa78b4a3ab705a1d3d41459" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" dependencies = [ "pest", "pest_generator", @@ -3675,22 +3688,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ec22af7d3fb470a85dd2ca96b7c577a1eb4ef6f1683a9fe9a8c16e136c04687" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] name = "pest_meta" -version = "2.7.10" +version = "2.7.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7a240022f37c361ec1878d646fc5b7d7c4d28d5946e1a80ad5a7a4f4ca0bdcd" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" dependencies = [ "once_cell", "pest", @@ -3737,7 +3750,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3766,7 +3779,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -3800,14 +3813,13 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plist" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9d34169e64b3c7a80c8621a48adaf44e0cf62c78a9b25dd9dd35f1881a17cf9" +checksum = "42cf17e9a1800f5f396bc67d193dc9411b59012a5876445ef450d449881e1016" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "indexmap 2.2.6", - "line-wrap", - "quick-xml 0.31.0", + "quick-xml 0.32.0", "serde", "time", ] @@ -3899,7 +3911,7 @@ dependencies = [ "lazy_static", "libc", "log", - "nix", + "nix 0.28.0", "serde", "serde_derive", "serial", @@ -4016,7 +4028,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -4064,9 +4076,18 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33" +checksum = "1d3a6e5838b60e0e8fa7a43f22ade549a37d61f8bdbe636d0d7816191de969c2" +dependencies = [ + "memchr", +] + +[[package]] +name = "quick-xml" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f24d770aeca0eacb81ac29dfbc55ebcc09312fdd1f8bbecdc7e4a84e000e3b4" dependencies = [ "memchr", ] @@ -4171,9 +4192,9 @@ dependencies = [ [[package]] name = "ravif" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67376f469e7e7840d0040bbf4b9b3334005bb167f814621326e4c7ab8cd6e944" +checksum = "c6ba61c28ba24c0cf8406e025cb29a742637e3f70776e61c27a8a8b72a042d12" dependencies = [ "avif-serialize", "imgref", @@ -4246,7 +4267,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -4355,9 +4376,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.37" +version = "0.8.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05aaa8004b64fd573fc9d002f4e632d51ad4f026c2b5ba95fcb6c2f32c2c47d8" +checksum = "1aee83dc281d5a3200d37b299acd13b81066ea126a7f16f0eae70fc9aed241d9" dependencies = [ "bytemuck", ] @@ -4409,7 +4430,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.68", + "syn 2.0.71", "unicode-ident", ] @@ -4419,7 +4440,7 @@ version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "fallible-iterator", "fallible-streaming-iterator", "hashlink", @@ -4474,7 +4495,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys 0.4.14", @@ -4483,9 +4504,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.10" +version = "0.23.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402" +checksum = "4828ea528154ae444e5a642dbb7d5623354030dc9822b83fd9bb79683c7399d0" dependencies = [ "once_cell", "rustls-pki-types", @@ -4512,9 +4533,9 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" -version = "0.102.4" +version = "0.102.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e" +checksum = "f9a6fccd794a42c2c105b513a2f62bc3fd8f3ba57a4593677ceb0bd035164d78" dependencies = [ "ring", "rustls-pki-types", @@ -4563,7 +4584,7 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "core-foundation", "core-foundation-sys", "libc", @@ -4588,9 +4609,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] @@ -4610,20 +4631,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.203" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] name = "serde_json" -version = "1.0.117" +version = "1.0.120" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "455182ea6142b14f93f4bc5320a2b31c1f266b66a4a5c858b013302a5d8cbfc3" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" dependencies = [ "itoa", "ryu", @@ -4638,7 +4659,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -4687,7 +4708,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -4877,7 +4898,7 @@ version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cursor-icon", "libc", "log", @@ -5008,7 +5029,7 @@ dependencies = [ "lazycell", "libc", "mach2", - "nix", + "nix 0.28.0", "num-traits", "uom", "winapi", @@ -5042,9 +5063,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.6.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d0208408ba0c3df17ed26eb06992cb1a1268d41b2c0e12e65203fbe3972cee5" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "svg_fmt" @@ -5065,9 +5086,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.68" +version = "2.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" +checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" dependencies = [ "proc-macro2", "quote", @@ -5165,9 +5186,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "tempfile" @@ -5252,7 +5273,7 @@ version = "0.22.0" dependencies = [ "anyhow", "base64 0.21.7", - "bitflags 2.5.0", + "bitflags 2.6.0", "cassowary", "criterion", "env_logger 0.11.3", @@ -5268,7 +5289,7 @@ dependencies = [ "libc", "log", "memmem", - "nix", + "nix 0.28.0", "num-derive", "num-traits", "ordered-float", @@ -5323,22 +5344,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.62" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -5452,9 +5473,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -5490,7 +5511,7 @@ checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -5545,7 +5566,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.14", + "toml_edit 0.22.15", ] [[package]] @@ -5570,9 +5591,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.14" +version = "0.22.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f21c7aaf97f1bd9ca9d4f9e73b0a6c74bd5afef56f2bc931943a6e1c37e04e38" +checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" dependencies = [ "indexmap 2.2.6", "serde", @@ -5627,7 +5648,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -5783,9 +5804,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea73390fe27785838dcbf75b91b1d84799e28f1ce71e6f372a5dc2200c80de5" +checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" dependencies = [ "atomic", "getrandom", @@ -5912,7 +5933,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", "wasm-bindgen-shared", ] @@ -5946,7 +5967,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5959,9 +5980,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wayland-backend" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34e9e6b6d4a2bb4e7e69433e0b35c7923b95d4dc8503a84d25ec917a4bbfdf07" +checksum = "269c04f203640d0da2092d1b8d89a2d081714ae3ac2f1b53e99f205740517198" dependencies = [ "cc", "downcast-rs", @@ -5973,11 +5994,11 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e63801c85358a431f986cffa74ba9599ff571fc5774ac113ed3b490c19a1133" +checksum = "08bd0f46c069d3382a36c8666c1b9ccef32b8b04f41667ca1fef06a1adcc2982" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "rustix 0.38.34", "wayland-backend", "wayland-scanner", @@ -5989,16 +6010,16 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cursor-icon", "wayland-backend", ] [[package]] name = "wayland-cursor" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a206e8b2b53b1d3fcb9428fec72bc278ce539e2fa81fe2bfc1ab27703d5187b9" +checksum = "09414bcf0fd8d9577d73e9ac4659ebc45bcc9cff1980a350543ad8e50ee263b2" dependencies = [ "rustix 0.38.34", "wayland-client", @@ -6007,9 +6028,9 @@ dependencies = [ [[package]] name = "wayland-egl" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18cede1c33845ccd8fcebf7f107595170abf0ad0a28d47c50b444e06019b16e8" +checksum = "3d33688a00899e3d9725356ad570325bace112c37ea2eac37d9d13b9e3dd2577" dependencies = [ "wayland-backend", "wayland-sys", @@ -6021,7 +6042,7 @@ version = "0.31.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -6033,7 +6054,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -6042,20 +6063,20 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67da50b9f80159dec0ea4c11c13e24ef9e7574bd6ce24b01860a175010cea565" +checksum = "edf466fc49a4feb65a511ca403fec3601494d0dee85dbf37fff6fa0dd4eec3b6" dependencies = [ "proc-macro2", - "quick-xml 0.31.0", + "quick-xml 0.34.0", "quote", ] [[package]] name = "wayland-sys" -version = "0.31.2" +version = "0.31.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "105b1842da6554f91526c14a2a2172897b7f745a805d62af4ce698706be79c12" +checksum = "4a6754825230fa5b27bafaa28c30b3c9e72c55530581220cef401fa422c0fae7" dependencies = [ "dlib", "log", @@ -6559,7 +6580,7 @@ checksum = "ef91c1d62d1e9e81c79e600131a258edf75c9531cbdbde09c44a011a47312726" dependencies = [ "arrayvec", "bit-vec", - "bitflags 2.5.0", + "bitflags 2.6.0", "codespan-reporting", "log", "naga", @@ -6584,7 +6605,7 @@ dependencies = [ "arrayvec", "ash", "bit-set", - "bitflags 2.5.0", + "bitflags 2.6.0", "block", "core-graphics-types", "d3d12", @@ -6623,7 +6644,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "js-sys", "web-sys", ] @@ -6793,7 +6814,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be" dependencies = [ "windows-core 0.52.0", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6811,7 +6832,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6838,7 +6859,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -6873,18 +6894,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -6901,9 +6922,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -6925,9 +6946,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -6949,15 +6970,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -6979,9 +7000,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -7003,9 +7024,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -7021,9 +7042,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -7045,9 +7066,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -7198,9 +7219,9 @@ dependencies = [ [[package]] name = "zbus" -version = "4.3.0" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23915fcb26e7a9a9dc05fd93a9870d336d6d032cd7e8cebf1c5c37666489fdd5" +checksum = "851238c133804e0aa888edf4a0229481c753544ca12a60fd1c3230c8a500fe40" dependencies = [ "async-broadcast", "async-executor", @@ -7218,7 +7239,7 @@ dependencies = [ "futures-sink", "futures-util", "hex", - "nix", + "nix 0.29.0", "ordered-stream", "rand", "serde", @@ -7236,14 +7257,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.3.0" +version = "4.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02bcca0b586d2f8589da32347b4784ba424c4891ed86aa5b50d5e88f6b2c4f5d" +checksum = "8d5a3f12c20bd473be3194af6b49d50d7bb804ef3192dc70eddedb26b85d9da7" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", "zvariant_utils", ] @@ -7260,22 +7281,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] [[package]] @@ -7305,9 +7326,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", @@ -7339,9 +7360,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aa6d31a02fbfb602bfde791de7fedeb9c2c18115b3d00f3a36e489f46ffbbc7" +checksum = "1724a2b330760dc7d2a8402d841119dc869ef120b139d29862d6980e9c75bfc9" dependencies = [ "endi", "enumflags2", @@ -7352,14 +7373,14 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.1.1" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642bf1b6b6d527988b3e8193d20969d53700a36eac734d21ae6639db168701c8" +checksum = "55025a7a518ad14518fb243559c058a2e5b848b015e31f1d90414f36e3317859" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", "zvariant_utils", ] @@ -7371,5 +7392,5 @@ checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" dependencies = [ "proc-macro2", "quote", - "syn 2.0.68", + "syn 2.0.71", ] From 44c1335856e7f698d180822f8719453b999c6bec Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 06:39:11 -0700 Subject: [PATCH 32/69] wezterm-ssh: avoid configuration default config files in tests --- wezterm-ssh/tests/sshd.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/wezterm-ssh/tests/sshd.rs b/wezterm-ssh/tests/sshd.rs index 619f78417..84dd45420 100644 --- a/wezterm-ssh/tests/sshd.rs +++ b/wezterm-ssh/tests/sshd.rs @@ -434,7 +434,10 @@ impl std::ops::DerefMut for SessionWithSshd { pub async fn session(#[default(Config::new())] mut config: Config, sshd: Sshd) -> SessionWithSshd { let port = sshd.port; - config.add_default_config_files(); + // Do not add the default config files; they take the config of the + // user that is running the tests which can vary wildly and have + // inappropriate configuration that disrupts the tests. + // NO: config.add_default_config_files(); // Load our config to point to ourselves, using current sshd instance's port, // generated identity file, and host file From b15847209991008a7aec6ebc75f7fc89fca00831 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 13 Jul 2024 13:46:48 +0000 Subject: [PATCH 33/69] build(deps): bump the all group across 1 directory with 2 updates Bumps the all group with 2 updates in the / directory: [http_req](https://github.com/jayjamesjay/http_req) and [gethostname](https://github.com/swsnr/gethostname.rs). Updates `http_req` from 0.10.3 to 0.11.0 - [Release notes](https://github.com/jayjamesjay/http_req/releases) - [Commits](https://github.com/jayjamesjay/http_req/compare/v0.10.3...v0.11.0) Updates `gethostname` from 0.4.3 to 0.5.0 - [Changelog](https://github.com/swsnr/gethostname.rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/swsnr/gethostname.rs/compare/v0.4.3...v0.5.0) --- updated-dependencies: - dependency-name: http_req dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all - dependency-name: gethostname dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all ... Signed-off-by: dependabot[bot] --- Cargo.lock | 12 ++++++------ wezterm-gui/Cargo.toml | 2 +- wezterm-ssh/Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index de3be1889..b20b065e6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1899,12 +1899,12 @@ dependencies = [ [[package]] name = "gethostname" -version = "0.4.3" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0176e0459c2e4a1fe232f984bca6890e681076abb9934f6cea7c326f3fc47818" +checksum = "dc3655aa6818d65bc620d6911f05aa7b6aeb596291e1e9f79e52df85583d1e30" dependencies = [ - "libc", - "windows-targets 0.48.5", + "rustix 0.38.34", + "windows-targets 0.52.6", ] [[package]] @@ -2283,9 +2283,9 @@ dependencies = [ [[package]] name = "http_req" -version = "0.10.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d9a9b34d2d0a2440774af1b1c09b045fe82ccdc4f4f37d089fbc4cc8a03104e" +checksum = "cd68fe813419e7fd8982607f1b39e2a393226a98cf4cc905e716ba328e2a488f" dependencies = [ "native-tls", "unicase", diff --git a/wezterm-gui/Cargo.toml b/wezterm-gui/Cargo.toml index a5ac3e989..b14e3d02d 100644 --- a/wezterm-gui/Cargo.toml +++ b/wezterm-gui/Cargo.toml @@ -55,7 +55,7 @@ frecency = { path = "../frecency" } futures = "0.3" fuzzy-matcher = "0.3" hdrhistogram = "7.1" -http_req = "0.10" +http_req = "0.11" image = "0.25" lazy_static = "1.4" libc = "0.2" diff --git a/wezterm-ssh/Cargo.toml b/wezterm-ssh/Cargo.toml index 246d658de..bea299af9 100644 --- a/wezterm-ssh/Cargo.toml +++ b/wezterm-ssh/Cargo.toml @@ -24,7 +24,7 @@ camino = "1.0" dirs-next = "2.0" filedescriptor = { version="0.8", path = "../filedescriptor" } filenamegen = "0.2.6" -gethostname = "0.4" +gethostname = "0.5" libc = "0.2" log = "0.4" portable-pty = { version="0.8", path = "../pty" } From ccb7270dd7e05a408c9990a3135f5290cb18d3c5 Mon Sep 17 00:00:00 2001 From: Thayne McCombs Date: Sat, 13 Jul 2024 10:49:45 -0700 Subject: [PATCH 34/69] Upgrade smithay-client-toolkit to 0.19 closes: https://github.com/wez/wezterm/pull/5781 --- Cargo.lock | 12 ++++++------ window/Cargo.toml | 4 ++-- window/src/os/wayland/data_device.rs | 6 ++++++ window/src/os/wayland/window.rs | 18 ++++++++++++++++++ 4 files changed, 32 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b20b065e6..c6804944c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4894,9 +4894,9 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "smithay-client-toolkit" -version = "0.18.1" +version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "922fd3eeab3bd820d76537ce8f582b1cf951eceb5475c28500c7457d9d17f53a" +checksum = "837d3067369e24aeda699a5d9fc5aa14ca14a84dd70aeed7156bfa04a5605b32" dependencies = [ "bitflags 2.6.0", "cursor-icon", @@ -6038,9 +6038,9 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.31.2" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4" +checksum = "1794d82d869f38439d15c24b26f06f6c8603d27d47b4f786d5197c99044de415" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -6050,9 +6050,9 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.2.0" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6" +checksum = "fa43c961473aed713d44c1f616f775186249dfca657f256d8841ca0690366aba" dependencies = [ "bitflags 2.6.0", "wayland-backend", diff --git a/window/Cargo.toml b/window/Cargo.toml index 5d205ae00..3cfa26dc9 100644 --- a/window/Cargo.toml +++ b/window/Cargo.toml @@ -81,8 +81,8 @@ xcb-imdkit = { version="0.3", git="https://github.com/wez/xcb-imdkit-rs.git", re zbus = "4.2" zvariant = "4.0" -smithay-client-toolkit = {version = "0.18", default-features=false, optional=true} -wayland-protocols = {version="0.31", optional=true} +smithay-client-toolkit = {version = "0.19", default-features=false, optional=true} +wayland-protocols = {version="0.32", optional=true} wayland-client = {version="0.31", optional=true} wayland-egl = {version="0.32", optional=true} diff --git a/window/src/os/wayland/data_device.rs b/window/src/os/wayland/data_device.rs index d2c9a570a..caa285be5 100644 --- a/window/src/os/wayland/data_device.rs +++ b/window/src/os/wayland/data_device.rs @@ -4,6 +4,7 @@ use smithay_client_toolkit::data_device_manager::data_source::DataSourceHandler; use smithay_client_toolkit::data_device_manager::WritePipe; use smithay_client_toolkit::reexports::client::protocol::wl_data_device::WlDataDevice; use wayland_client::protocol::wl_data_device_manager::DndAction; +use wayland_client::protocol::wl_surface::WlSurface; use wayland_client::Proxy; use crate::wayland::drag_and_drop::SurfaceAndOffer; @@ -23,6 +24,9 @@ impl DataDeviceHandler for WaylandState { _conn: &wayland_client::Connection, _qh: &wayland_client::QueueHandle, data_device: &WlDataDevice, + _x: f64, + _y: f64, + _surface: &WlSurface, ) { let data = match self.data_device { Some(ref dv) if dv.inner() == data_device => dv.data(), @@ -86,6 +90,8 @@ impl DataDeviceHandler for WaylandState { _conn: &wayland_client::Connection, _qh: &wayland_client::QueueHandle, _data_device: &WlDataDevice, + _x: f64, + _y: f64, ) { } diff --git a/window/src/os/wayland/window.rs b/window/src/os/wayland/window.rs index 51a81a555..254f42dea 100644 --- a/window/src/os/wayland/window.rs +++ b/window/src/os/wayland/window.rs @@ -1314,6 +1314,24 @@ impl CompositorHandler for WaylandState { ) { // TODO: do we need to do anything here? } + + fn surface_enter( + &mut self, + _conn: &WConnection, + _qh: &wayland_client::QueueHandle, + _surface: &wayland_client::protocol::wl_surface::WlSurface, + _output: &wayland_client::protocol::wl_output::WlOutput, + ) { + } + + fn surface_leave( + &mut self, + _conn: &WConnection, + _qh: &wayland_client::QueueHandle, + _surface: &wayland_client::protocol::wl_surface::WlSurface, + _output: &wayland_client::protocol::wl_output::WlOutput, + ) { + } } impl WindowHandler for WaylandState { From e19aa2f05d16ace137f531b1b12e8b1ca1d2b5ee Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 10:50:58 -0700 Subject: [PATCH 35/69] docs: changelog/thanks for wayland work refs: #5781 --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 2f79dc5aa..70e4c8457 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -24,7 +24,7 @@ As features stabilize some brief notes about them will accumulate here. #### Changed * Wayland: currently being reimplemented, it maybe more unstable than usual. Please file GH issues for any problems you see. - Many thanks to @tzx! #4777 + Many thanks to @tzx and @tmccombs! #4777 #5781 * [show_update_window](config/lua/config/show_update_window.md) has been deprecated; it no longer has any effect and will be removed in a future release. From 3607204d80fde06f5478cbfd4a3fbc9843c8e0cd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Jul 2024 00:21:16 +0000 Subject: [PATCH 36/69] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/90338afd6177fc683a04d934199d693708c85a3b?narHash=sha256-%2B1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM%3D' (2024-06-21) → 'github:NixOS/nixpkgs/4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb?narHash=sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8%3D' (2024-07-05) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/ff019b65a656d36dca3e57b43c40c44eec7852c5?narHash=sha256-ZDS8x9XpFeSBs9gMTHoujKWPn%2Bi9ecqE9NWEUF07Yuc%3D' (2024-06-22) → 'github:oxalica/rust-overlay/05ccbe21233d4e9110fc6428d2c3d74b430c3c69?narHash=sha256-eR5glZHS2bLpzUgTDhWGm04j%2Bj5KMYKoDsY5DXAiuKQ%3D' (2024-07-06) --- nix/flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index 1f0f02469..c6a4971aa 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -71,11 +71,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1718983919, - "narHash": "sha256-+1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM=", + "lastModified": 1720181791, + "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "90338afd6177fc683a04d934199d693708c85a3b", + "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", "type": "github" }, "original": { @@ -103,11 +103,11 @@ ] }, "locked": { - "lastModified": 1719022649, - "narHash": "sha256-ZDS8x9XpFeSBs9gMTHoujKWPn+i9ecqE9NWEUF07Yuc=", + "lastModified": 1720232258, + "narHash": "sha256-eR5glZHS2bLpzUgTDhWGm04j+j5KMYKoDsY5DXAiuKQ=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "ff019b65a656d36dca3e57b43c40c44eec7852c5", + "rev": "05ccbe21233d4e9110fc6428d2c3d74b430c3c69", "type": "github" }, "original": { From a46bad17d27794c7b2408849ffadc3bee10e4011 Mon Sep 17 00:00:00 2001 From: Aleksey Kuznetsov Date: Sat, 13 Jul 2024 11:32:54 -0700 Subject: [PATCH 37/69] config: show/hide close-tab button --- config/src/config.rs | 3 + .../config/show_close_tab_button_in_tabs.md | 16 +++ .../src/termwindow/render/fancy_tab_bar.rs | 122 ++++++++++-------- 3 files changed, 84 insertions(+), 57 deletions(-) create mode 100644 docs/config/lua/config/show_close_tab_button_in_tabs.md diff --git a/config/src/config.rs b/config/src/config.rs index 5b099edc7..e51b4d790 100644 --- a/config/src/config.rs +++ b/config/src/config.rs @@ -469,6 +469,9 @@ pub struct Config { #[dynamic(default = "default_true")] pub show_new_tab_button_in_tab_bar: bool, + #[dynamic(default = "default_true")] + pub show_close_tab_button_in_tabs: bool, + /// If true, show_tab_index_in_tab_bar uses a zero-based index. /// The default is false and the tab shows a one-based index. #[dynamic(default)] diff --git a/docs/config/lua/config/show_close_tab_button_in_tabs.md b/docs/config/lua/config/show_close_tab_button_in_tabs.md new file mode 100644 index 000000000..56a2ca0c7 --- /dev/null +++ b/docs/config/lua/config/show_close_tab_button_in_tabs.md @@ -0,0 +1,16 @@ +--- +tags: + - appearance + - tab_bar +--- + +# `show_close_tab_button_in_tabs = true` + +{{since('nightly')}} + +When set to `false`, the close-tab button will not be drawn in tabs when the +fancy tab bar is in use. Default is `true`. + +```lua +config.show_close_tab_button_in_tabs = false +``` diff --git a/wezterm-gui/src/termwindow/render/fancy_tab_bar.rs b/wezterm-gui/src/termwindow/render/fancy_tab_bar.rs index 180d9bb66..ebf393686 100644 --- a/wezterm-gui/src/termwindow/render/fancy_tab_bar.rs +++ b/wezterm-gui/src/termwindow/render/fancy_tab_bar.rs @@ -7,6 +7,8 @@ use crate::termwindow::render::window_buttons::window_button_element; use crate::termwindow::{UIItem, UIItemType}; use crate::utilsprites::RenderMetrics; use config::{Dimension, DimensionContext, TabBarColors}; +use std::rc::Rc; +use wezterm_font::LoadedFont; use wezterm_term::color::{ColorAttribute, ColorPalette}; use window::{IntegratedTitleButtonAlignment, IntegratedTitleButtonStyle}; @@ -343,63 +345,9 @@ impl crate::TermWindow { ElementContent::Text(_) => unreachable!(), ElementContent::Poly { .. } => unreachable!(), ElementContent::Children(mut kids) => { - let x_button = Element::new( - &font, - ElementContent::Poly { - line_width: metrics.underline_height.max(2), - poly: SizedPoly { - poly: X_BUTTON, - width: Dimension::Pixels( - metrics.cell_size.height as f32 / 2., - ), - height: Dimension::Pixels( - metrics.cell_size.height as f32 / 2., - ), - }, - }, - ) - // Ensure that we draw our background over the - // top of the rest of the tab contents - .zindex(1) - .vertical_align(VerticalAlign::Middle) - .float(Float::Right) - .item_type(UIItemType::CloseTab(tab_idx)) - .hover_colors({ - let inactive_tab_hover = colors.inactive_tab_hover(); - let active_tab = colors.active_tab(); - - Some(ElementColors { - border: BorderColor::default(), - bg: (if active { - inactive_tab_hover.bg_color - } else { - active_tab.bg_color - }) - .to_linear() - .into(), - text: (if active { - inactive_tab_hover.fg_color - } else { - active_tab.fg_color - }) - .to_linear() - .into(), - }) - }) - .padding(BoxDimension { - left: Dimension::Cells(0.25), - right: Dimension::Cells(0.25), - top: Dimension::Cells(0.25), - bottom: Dimension::Cells(0.25), - }) - .margin(BoxDimension { - left: Dimension::Cells(0.5), - right: Dimension::Cells(0.), - top: Dimension::Cells(0.), - bottom: Dimension::Cells(0.), - }); - - kids.push(x_button); + if self.config.show_close_tab_button_in_tabs { + kids.push(make_x_button(&font, &metrics, &colors, tab_idx, active)); + } ElementContent::Children(kids) } }; @@ -522,3 +470,63 @@ impl crate::TermWindow { Ok(ui_items) } } + +fn make_x_button( + font: &Rc, + metrics: &RenderMetrics, + colors: &TabBarColors, + tab_idx: usize, + active: bool, +) -> Element { + Element::new( + &font, + ElementContent::Poly { + line_width: metrics.underline_height.max(2), + poly: SizedPoly { + poly: X_BUTTON, + width: Dimension::Pixels(metrics.cell_size.height as f32 / 2.), + height: Dimension::Pixels(metrics.cell_size.height as f32 / 2.), + }, + }, + ) + // Ensure that we draw our background over the + // top of the rest of the tab contents + .zindex(1) + .vertical_align(VerticalAlign::Middle) + .float(Float::Right) + .item_type(UIItemType::CloseTab(tab_idx)) + .hover_colors({ + let inactive_tab_hover = colors.inactive_tab_hover(); + let active_tab = colors.active_tab(); + + Some(ElementColors { + border: BorderColor::default(), + bg: (if active { + inactive_tab_hover.bg_color + } else { + active_tab.bg_color + }) + .to_linear() + .into(), + text: (if active { + inactive_tab_hover.fg_color + } else { + active_tab.fg_color + }) + .to_linear() + .into(), + }) + }) + .padding(BoxDimension { + left: Dimension::Cells(0.25), + right: Dimension::Cells(0.25), + top: Dimension::Cells(0.25), + bottom: Dimension::Cells(0.25), + }) + .margin(BoxDimension { + left: Dimension::Cells(0.5), + right: Dimension::Cells(0.), + top: Dimension::Cells(0.), + bottom: Dimension::Cells(0.), + }) +} From 65e9378f25f4fc9d2fc304a87e7ad696caf120a1 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 11:34:04 -0700 Subject: [PATCH 38/69] docs: changelog for #3818 --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 70e4c8457..3efb30240 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -48,6 +48,8 @@ As features stabilize some brief notes about them will accumulate here. to manage `SSH_AUTH_SOCK`. * Search mode: now supports richer line editing. Thanks to @Mrreadiness and @kenchou! #5416 #3087 +* [show_close_tab_button_in_tabs](config/lua/config/show_close_tab_button_in_tabs.md) + option for the fancy tab bar. Thanks to @zummenix! #3818 #### Fixed * Race condition when very quickly adjusting font scale, and other improvements From ad11815e87304b3bd227fbf6f4edd0a47413fce7 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 11:42:20 -0700 Subject: [PATCH 39/69] deps: harfbuzz -> 9.0.0 --- deps/harfbuzz/harfbuzz | 2 +- docs/changelog.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/harfbuzz/harfbuzz b/deps/harfbuzz/harfbuzz index 63973005b..9c03576c4 160000 --- a/deps/harfbuzz/harfbuzz +++ b/deps/harfbuzz/harfbuzz @@ -1 +1 @@ -Subproject commit 63973005bc07aba599b47fdd4cf788647b601ccd +Subproject commit 9c03576c49db6e7207d9bcdfe3abd170a809157f diff --git a/docs/changelog.md b/docs/changelog.md index 3efb30240..8548c02d2 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -83,7 +83,7 @@ As features stabilize some brief notes about them will accumulate here. #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg -* Bundled harfbuzz to 8.4.0 +* Bundled harfbuzz to 9.0.0 * image crate to 0.25, which means that JPEG images are now decoded via [zune-jpeg](https://docs.rs/zune-jpeg/latest/zune_jpeg/), which improves handling of non-conforming jpeg images. #5365 From 749ddc9ffebc1372177fddf1463e944d2ac610a9 Mon Sep 17 00:00:00 2001 From: Przemek Pawlas <3606072+Destroy666x@users.noreply.github.com> Date: Sat, 13 Jul 2024 12:00:26 -0700 Subject: [PATCH 40/69] Update quick_select_patterns.md to include info about capturing groups closes: https://github.com/wez/wezterm/pull/5082 --- docs/config/lua/config/quick_select_patterns.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/config/lua/config/quick_select_patterns.md b/docs/config/lua/config/quick_select_patterns.md index e00106593..8b9d0d8a1 100644 --- a/docs/config/lua/config/quick_select_patterns.md +++ b/docs/config/lua/config/quick_select_patterns.md @@ -17,6 +17,12 @@ config.quick_select_patterns = { } ``` +!!! note + If you want to use capture groups in your patterns, you must use + non-capturing groups `(?:)` for them to work as you intend, as + the overall list of `quick_select_patterns` is compiled into a larger + alternation regex that itself uses capture groups. + {{since('20230408-112425-69ae8472', outline=True)}} The regex syntax now supports backreferences and look around assertions. See [Fancy Regex Syntax](https://docs.rs/fancy-regex/latest/fancy_regex/#syntax) From 4e8eb7c2ca6db92afd073e785dcd8314f289c7bd Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 14:25:01 -0700 Subject: [PATCH 41/69] fix: quickselect now matches paths with // closes: https://github.com/wez/wezterm/issues/5763 --- docs/changelog.md | 1 + wezterm-gui/src/overlay/quickselect.rs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 8548c02d2..16b1562ed 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -80,6 +80,7 @@ As features stabilize some brief notes about them will accumulate here. * Render invalidation issue when closing tabs other than the last tab. Thanks to @Mrreadiness! #5441 #5304 * Search mode now accepts composed input from the IME. Thanks to @kenchou! #5564 +* Quick select mode will now accept unix paths with `//` in them. #5763 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg diff --git a/wezterm-gui/src/overlay/quickselect.rs b/wezterm-gui/src/overlay/quickselect.rs index c5b0fcdc6..db631fbe8 100644 --- a/wezterm-gui/src/overlay/quickselect.rs +++ b/wezterm-gui/src/overlay/quickselect.rs @@ -27,7 +27,7 @@ const PATTERNS: [&str; 14] = [ // markdown_url r"\[[^]]*\]\(([^)]+)\)", // url - r"(?:https?://|git@|git://|ssh://|ftp://|file:///)\S+", + r"(?:https?://|git@|git://|ssh://|ftp://|file://)\S+", // diff_a r"--- a/(\S+)", // diff_b @@ -35,7 +35,7 @@ const PATTERNS: [&str; 14] = [ // docker r"sha256:([0-9a-f]{64})", // path - r"(?:[.\w\-@~]+)?(?:/[.\w\-@]+)+", + r"(?:[.\w\-@~]+)?(?:/+[.\w\-@]+)+", // color r"#[0-9a-fA-F]{6}", // uuid From 4884f3176254542f1b8db911aa7b7a73eef02f55 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sat, 13 Jul 2024 15:50:03 -0700 Subject: [PATCH 42/69] fix potential panic on shutdown when mux_enable_ssh_agent=true refs: https://github.com/wez/wezterm/issues/5518 --- mux/src/ssh_agent.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mux/src/ssh_agent.rs b/mux/src/ssh_agent.rs index 0c9b96b8a..aea648987 100644 --- a/mux/src/ssh_agent.rs +++ b/mux/src/ssh_agent.rs @@ -127,8 +127,10 @@ impl AgentProxy { std::thread::sleep(std::time::Duration::from_millis(100)); while receiver.try_recv().is_ok() {} - if let Some(agent) = &Mux::get().agent { - agent.update_now(); + if let Some(mux) = Mux::try_get() { + if let Some(agent) = &mux.agent { + agent.update_now(); + } } } } From ff4528e783ab934356e59fb497c5c49ae1fa3ae7 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 07:10:17 -0700 Subject: [PATCH 43/69] fix: blob leases could be broken by tmpwatch Let's put them in an application-specific cache directory location instead. refs: #5422 --- config/src/config.rs | 8 ++++++++ config/src/lib.rs | 1 + docs/changelog.md | 2 ++ wezterm-blob-leases/src/simple_tempdir.rs | 15 ++++++++++++++- wezterm-gui/src/main.rs | 3 +-- wezterm-mux-server/src/main.rs | 2 +- 6 files changed, 27 insertions(+), 4 deletions(-) diff --git a/config/src/config.rs b/config/src/config.rs index e51b4d790..aa3b532dc 100644 --- a/config/src/config.rs +++ b/config/src/config.rs @@ -1676,6 +1676,14 @@ fn default_font_size() -> f64 { 12.0 } +pub(crate) fn compute_cache_dir() -> anyhow::Result { + if let Some(runtime) = dirs_next::cache_dir() { + return Ok(runtime.join("wezterm")); + } + + Ok(crate::HOME_DIR.join(".local/share/wezterm")) +} + pub(crate) fn compute_data_dir() -> anyhow::Result { if let Some(runtime) = dirs_next::data_dir() { return Ok(runtime.join("wezterm")); diff --git a/config/src/lib.rs b/config/src/lib.rs index e4928d31c..881cebbcb 100644 --- a/config/src/lib.rs +++ b/config/src/lib.rs @@ -67,6 +67,7 @@ lazy_static! { pub static ref CONFIG_DIRS: Vec = config_dirs(); pub static ref RUNTIME_DIR: PathBuf = compute_runtime_dir().unwrap(); pub static ref DATA_DIR: PathBuf = compute_data_dir().unwrap(); + pub static ref CACHE_DIR: PathBuf = compute_cache_dir().unwrap(); static ref CONFIG: Configuration = Configuration::new(); static ref CONFIG_FILE_OVERRIDE: Mutex> = Mutex::new(None); static ref CONFIG_SKIP: AtomicBool = AtomicBool::new(false); diff --git a/docs/changelog.md b/docs/changelog.md index 16b1562ed..efe62797a 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -81,6 +81,8 @@ As features stabilize some brief notes about them will accumulate here. to @Mrreadiness! #5441 #5304 * Search mode now accepts composed input from the IME. Thanks to @kenchou! #5564 * Quick select mode will now accept unix paths with `//` in them. #5763 +* blob leases (for image rendering) could be removed by temporary directory + cleaners, resulting in issues with rendering. #5422 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg diff --git a/wezterm-blob-leases/src/simple_tempdir.rs b/wezterm-blob-leases/src/simple_tempdir.rs index 1f504ccf9..0137cbc04 100644 --- a/wezterm-blob-leases/src/simple_tempdir.rs +++ b/wezterm-blob-leases/src/simple_tempdir.rs @@ -4,7 +4,7 @@ use crate::{BlobStorage, BoxedReader, BufSeekRead, ContentId, Error, LeaseId}; use std::collections::HashMap; use std::fs::File; use std::io::{BufReader, Write}; -use std::path::PathBuf; +use std::path::{Path, PathBuf}; use std::sync::Mutex; use tempfile::TempDir; @@ -25,6 +25,19 @@ impl SimpleTempDir { }) } + pub fn new_in>(path: P) -> Result { + let path = path.as_ref(); + std::fs::create_dir_all(path)?; + let root = tempfile::Builder::new() + .prefix("wezterm-blob-lease-") + .rand_bytes(8) + .tempdir_in(path)?; + Ok(Self { + root, + refs: Mutex::new(HashMap::new()), + }) + } + fn path_for_content(&self, content_id: ContentId) -> Result { let path = self.root.path().join(format!("{content_id}")); std::fs::create_dir_all(path.parent().unwrap())?; diff --git a/wezterm-gui/src/main.rs b/wezterm-gui/src/main.rs index f3b7688ac..4d2829aa4 100644 --- a/wezterm-gui/src/main.rs +++ b/wezterm-gui/src/main.rs @@ -414,9 +414,8 @@ async fn async_run_terminal_gui( config::RUNTIME_DIR.join(format!("gui-sock-{}", unsafe { libc::getpid() })); std::env::set_var("WEZTERM_UNIX_SOCKET", unix_socket_path.clone()); wezterm_blob_leases::register_storage(Arc::new( - wezterm_blob_leases::simple_tempdir::SimpleTempDir::new()?, + wezterm_blob_leases::simple_tempdir::SimpleTempDir::new_in(&*config::CACHE_DIR)?, ))?; - if let Err(err) = spawn_mux_server(unix_socket_path, should_publish) { log::warn!("{:#}", err); } diff --git a/wezterm-mux-server/src/main.rs b/wezterm-mux-server/src/main.rs index b92c03ae5..09f5aee07 100644 --- a/wezterm-mux-server/src/main.rs +++ b/wezterm-mux-server/src/main.rs @@ -205,7 +205,7 @@ fn run() -> anyhow::Result<()> { } wezterm_blob_leases::register_storage(Arc::new( - wezterm_blob_leases::simple_tempdir::SimpleTempDir::new()?, + wezterm_blob_leases::simple_tempdir::SimpleTempDir::new_in(&*config::CACHE_DIR)?, ))?; let need_builder = !opts.prog.is_empty() || opts.cwd.is_some(); From f7a0a0f1a6e94fbb1aa78a90e3de4e2615bee0d4 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 07:45:10 -0700 Subject: [PATCH 44/69] blob-lease: improve error handling If someone removed the directory structure, or otherwise messed with the files, there was a good chance that we'd end up in a panic. This commit improves the error messaging produced by the blob lease layer to provide the path as context, log the error, and then translate the error case to an empty frame so that the rest of the rendering machinery can proceed in a more reasonable way. We take care to log this sort of corrupt frame error only once, as it is most likely to occur in an animated gif and will thus trigger multiple times per second for such a file. refs: #5422 --- docs/changelog.md | 5 ++- wezterm-blob-leases/src/error.rs | 4 ++ wezterm-blob-leases/src/simple_tempdir.rs | 5 ++- wezterm-gui/src/glyphcache.rs | 46 ++++++++++++++++++++--- 4 files changed, 52 insertions(+), 8 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index efe62797a..032c035d2 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -82,7 +82,10 @@ As features stabilize some brief notes about them will accumulate here. * Search mode now accepts composed input from the IME. Thanks to @kenchou! #5564 * Quick select mode will now accept unix paths with `//` in them. #5763 * blob leases (for image rendering) could be removed by temporary directory - cleaners, resulting in issues with rendering. #5422 + cleaners, resulting in issues with rendering. We no longer store these + in a pure temporary directory; they live in a cache dir, and if someone + does remove or truncate these files, we now convert that error case + into blank frame(s). #5422 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg diff --git a/wezterm-blob-leases/src/error.rs b/wezterm-blob-leases/src/error.rs index 508c56e47..324cb0163 100644 --- a/wezterm-blob-leases/src/error.rs +++ b/wezterm-blob-leases/src/error.rs @@ -1,4 +1,5 @@ use crate::ContentId; +use std::path::PathBuf; use thiserror::Error; #[derive(Error, Debug)] @@ -17,4 +18,7 @@ pub enum Error { #[error("Storage has not been initialized")] StorageNotInit, + + #[error("Storage location {0} may be corrupt: {1}")] + StorageDirIoError(PathBuf, std::io::Error), } diff --git a/wezterm-blob-leases/src/simple_tempdir.rs b/wezterm-blob-leases/src/simple_tempdir.rs index 0137cbc04..bfbadc833 100644 --- a/wezterm-blob-leases/src/simple_tempdir.rs +++ b/wezterm-blob-leases/src/simple_tempdir.rs @@ -40,7 +40,8 @@ impl SimpleTempDir { fn path_for_content(&self, content_id: ContentId) -> Result { let path = self.root.path().join(format!("{content_id}")); - std::fs::create_dir_all(path.parent().unwrap())?; + std::fs::create_dir_all(path.parent().unwrap()) + .map_err(|err| Error::StorageDirIoError(path.clone(), err))?; Ok(path) } @@ -104,7 +105,7 @@ impl BlobStorage for SimpleTempDir { let _refs = self.refs.lock().unwrap(); let path = self.path_for_content(content_id)?; - Ok(std::fs::read(&path)?) + Ok(std::fs::read(&path).map_err(|err| Error::StorageDirIoError(path, err))?) } fn get_reader(&self, content_id: ContentId, lease_id: LeaseId) -> Result { diff --git a/wezterm-gui/src/glyphcache.rs b/wezterm-gui/src/glyphcache.rs index 535a0eb27..4b2c0a9d3 100644 --- a/wezterm-gui/src/glyphcache.rs +++ b/wezterm-gui/src/glyphcache.rs @@ -20,6 +20,7 @@ use std::cell::RefCell; use std::collections::HashMap; use std::io::Seek; use std::rc::Rc; +use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::mpsc::{sync_channel, Receiver, RecvTimeoutError, SyncSender, TryRecvError}; use std::sync::{Arc, MutexGuard}; use std::time::{Duration, Instant}; @@ -31,6 +32,20 @@ use wezterm_font::units::*; use wezterm_font::{FontConfiguration, GlyphInfo, LoadedFont, LoadedFontId}; use wezterm_term::Underline; +static FRAME_ERROR_REPORTED: AtomicBool = AtomicBool::new(false); + +/// We only want to report a frame error once at error level, because +/// if it is triggering it is likely in a animated image and will continue +/// to trigger multiple times per second as the frames are cycled. +fn report_frame_error>(message: S) { + if FRAME_ERROR_REPORTED.load(Ordering::Relaxed) { + log::debug!("{}", message.into()); + } else { + log::error!("{}", message.into()); + FRAME_ERROR_REPORTED.store(true, Ordering::Relaxed); + } +} + #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum LoadState { Loading, @@ -1025,14 +1040,35 @@ impl GlyphCache { return Ok((sprite.clone(), next, frames.load_state)); } + let expected_byte_size = + frames.current_frame.width * frames.current_frame.height * 4; + + let frame_data = match frames.current_frame.lease.get_data() { + Ok(data) => { + // If the size isn't right, ignore this frame and replace + // it with a blank one instead. This might happen if + // some process is truncating the files, or perhaps if + // the disk is full. + // We need to check for this because the consequence of + // a mismatched size is a panic in a layer where we + // cannot handle the error case. + if data.len() != expected_byte_size { + report_frame_error(format!("frame data is corrupted: expected size {expected_byte_size} but have {}", data.len())); + vec![0u8; expected_byte_size] + } else { + data + } + } + Err(err) => { + report_frame_error(format!("frame data error: {err:#}")); + vec![0u8; expected_byte_size] + } + }; + let frame = Image::from_raw( frames.current_frame.width, frames.current_frame.height, - frames - .current_frame - .lease - .get_data() - .context("frames.current_frame.lease.get_data")?, + frame_data, ); let sprite = atlas.allocate_with_padding(&frame, padding, scale_down)?; From 5b0642d2dc92fe164adbfcc4c880b957f563e4ba Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 07:45:54 -0700 Subject: [PATCH 45/69] fix unused mut warning --- wezterm-ssh/tests/sshd.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wezterm-ssh/tests/sshd.rs b/wezterm-ssh/tests/sshd.rs index 84dd45420..df30791cc 100644 --- a/wezterm-ssh/tests/sshd.rs +++ b/wezterm-ssh/tests/sshd.rs @@ -431,7 +431,7 @@ impl std::ops::DerefMut for SessionWithSshd { #[fixture] /// Stand up an sshd instance and then connect to it and perform authentication -pub async fn session(#[default(Config::new())] mut config: Config, sshd: Sshd) -> SessionWithSshd { +pub async fn session(#[default(Config::new())] config: Config, sshd: Sshd) -> SessionWithSshd { let port = sshd.port; // Do not add the default config files; they take the config of the From 209d13bd6b1b12b82ecc84988c418db63147f1a3 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 07:49:35 -0700 Subject: [PATCH 46/69] allow some unused fields I want these for the future, and they are harmless now --- config/derive/src/attr.rs | 2 ++ wezterm-font/src/hbwrap.rs | 4 ++++ wezterm-gui/src/overlay/launcher.rs | 1 + 3 files changed, 7 insertions(+) diff --git a/config/derive/src/attr.rs b/config/derive/src/attr.rs index cc08abc78..49fbb82a3 100644 --- a/config/derive/src/attr.rs +++ b/config/derive/src/attr.rs @@ -5,6 +5,7 @@ use syn::{ Result, Type, }; +#[allow(unused)] pub struct ContainerInfo { pub into: Option, pub try_from: Option, @@ -67,6 +68,7 @@ pub enum DefValue { Path(Path), } +#[allow(unused)] pub struct FieldInfo<'a> { pub field: &'a Field, pub type_name: String, diff --git a/wezterm-font/src/hbwrap.rs b/wezterm-font/src/hbwrap.rs index ca8bc9a09..939155972 100644 --- a/wezterm-font/src/hbwrap.rs +++ b/wezterm-font/src/hbwrap.rs @@ -507,6 +507,7 @@ pub enum PaintOp { }, PopTransform, PushGlyphClip { + #[allow(unused)] glyph: hb_codepoint_t, draw: Vec, }, @@ -518,12 +519,15 @@ pub enum PaintOp { }, PopClip, PaintSolid { + #[allow(unused)] is_foreground: bool, color: hb_color_t, }, PaintImage { image: Blob, + #[allow(unused)] width: u32, + #[allow(unused)] height: u32, format: hb_tag_t, slant: f32, diff --git a/wezterm-gui/src/overlay/launcher.rs b/wezterm-gui/src/overlay/launcher.rs index 748941ff1..47decd11c 100644 --- a/wezterm-gui/src/overlay/launcher.rs +++ b/wezterm-gui/src/overlay/launcher.rs @@ -38,6 +38,7 @@ struct Entry { pub struct LauncherTabEntry { pub title: String, pub tab_id: TabId, + #[allow(unused)] pub tab_idx: usize, pub pane_count: Option, } From 616eb2fc21cb9111b1b480e7f39725f48d4a5807 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 07:52:05 -0700 Subject: [PATCH 47/69] fix: PaneInformation.pixel_height returned width! Thank you to Rust's unread field warning! --- docs/changelog.md | 2 ++ wezterm-gui/src/termwindow/mod.rs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index 032c035d2..5cc9a750e 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -86,6 +86,8 @@ As features stabilize some brief notes about them will accumulate here. in a pure temporary directory; they live in a cache dir, and if someone does remove or truncate these files, we now convert that error case into blank frame(s). #5422 +* PaneInformation object returned `pixel_width` when asked to return the + `pixel_height`. #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg diff --git a/wezterm-gui/src/termwindow/mod.rs b/wezterm-gui/src/termwindow/mod.rs index 71ece24c2..2fd543b5f 100644 --- a/wezterm-gui/src/termwindow/mod.rs +++ b/wezterm-gui/src/termwindow/mod.rs @@ -283,7 +283,7 @@ impl UserData for PaneInformation { fields.add_field_method_get("width", |_, this| Ok(this.width)); fields.add_field_method_get("height", |_, this| Ok(this.height)); fields.add_field_method_get("pixel_width", |_, this| Ok(this.pixel_width)); - fields.add_field_method_get("pixel_height", |_, this| Ok(this.pixel_width)); + fields.add_field_method_get("pixel_height", |_, this| Ok(this.pixel_height)); fields.add_field_method_get("title", |_, this| Ok(this.title.clone())); fields.add_field_method_get("user_vars", |_, this| Ok(this.user_vars.clone())); fields.add_field_method_get("foreground_process_name", |_, this| { From 824def9e2c76b895c1a894522995876b662b6bd6 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 07:59:25 -0700 Subject: [PATCH 48/69] remove some unused fields --- wezterm-gui/src/overlay/launcher.rs | 4 ---- wezterm-gui/src/termwindow/render/mod.rs | 6 ------ wezterm-gui/src/termwindow/render/pane.rs | 1 - wezterm-gui/src/termwindow/render/screen_line.rs | 4 ---- 4 files changed, 15 deletions(-) diff --git a/wezterm-gui/src/overlay/launcher.rs b/wezterm-gui/src/overlay/launcher.rs index 47decd11c..3dfc68097 100644 --- a/wezterm-gui/src/overlay/launcher.rs +++ b/wezterm-gui/src/overlay/launcher.rs @@ -14,7 +14,6 @@ use fuzzy_matcher::skim::SkimMatcherV2; use fuzzy_matcher::FuzzyMatcher; use mux::domain::{DomainId, DomainState}; use mux::pane::PaneId; -use mux::tab::TabId; use mux::termwiztermtab::TermWizTerminal; use mux::window::WindowId; use mux::Mux; @@ -37,8 +36,6 @@ struct Entry { pub struct LauncherTabEntry { pub title: String, - pub tab_id: TabId, - #[allow(unused)] pub tab_idx: usize, pub pane_count: Option, } @@ -103,7 +100,6 @@ impl LauncherArgs { }; LauncherTabEntry { title, - tab_id: tab.tab_id(), tab_idx, pane_count: tab.count_panes(), } diff --git a/wezterm-gui/src/termwindow/render/mod.rs b/wezterm-gui/src/termwindow/render/mod.rs index 5e7696d54..7e164459b 100644 --- a/wezterm-gui/src/termwindow/render/mod.rs +++ b/wezterm-gui/src/termwindow/render/mod.rs @@ -72,8 +72,6 @@ pub struct LineQuadCacheKey { } pub struct LineQuadCacheValue { - /// For resolving hash collisions - pub line: Line, pub expires: Option, pub layers: HeapQuadAllocator, // Only set if the line contains any hyperlinks, so @@ -86,9 +84,7 @@ pub struct LineToElementParams<'a> { pub line: &'a Line, pub config: &'a ConfigHandle, pub palette: &'a ColorPalette, - pub stable_line_idx: StableRowIndex, pub window_is_transparent: bool, - pub cursor: &'a StableCursorPosition, pub reverse_video: bool, pub shape_key: &'a Option, } @@ -110,8 +106,6 @@ pub struct LineToElementShapeItem { } pub struct LineToElementShape { - pub attrs: CellAttributes, - pub style: TextStyle, pub underline_tex_rect: TextureRect, pub fg_color: LinearRgba, pub bg_color: LinearRgba, diff --git a/wezterm-gui/src/termwindow/render/pane.rs b/wezterm-gui/src/termwindow/render/pane.rs index a7c5f797f..da273cc66 100644 --- a/wezterm-gui/src/termwindow/render/pane.rs +++ b/wezterm-gui/src/termwindow/render/pane.rs @@ -537,7 +537,6 @@ impl crate::TermWindow { let quad_value = LineQuadCacheValue { layers: buf, expires, - line: (*line).clone(), invalidate_on_hover_change: render_result.invalidate_on_hover_change, current_highlight: if render_result.invalidate_on_hover_change { self.term_window.current_highlight.clone() diff --git a/wezterm-gui/src/termwindow/render/screen_line.rs b/wezterm-gui/src/termwindow/render/screen_line.rs index 4a34b40b4..f431a6d00 100644 --- a/wezterm-gui/src/termwindow/render/screen_line.rs +++ b/wezterm-gui/src/termwindow/render/screen_line.rs @@ -144,9 +144,7 @@ impl crate::TermWindow { let params = LineToElementParams { config: params.config, line: params.line, - cursor: params.cursor, palette: params.palette, - stable_line_idx: params.stable_line_idx.unwrap_or(0), window_is_transparent: params.window_is_transparent, reverse_video: params.dims.reverse_video, shape_key: ¶ms.shape_key, @@ -870,8 +868,6 @@ impl crate::TermWindow { .sum(); shaped.push(LineToElementShape { - attrs: style_params.attrs.clone(), - style: style_params.style.clone(), underline_tex_rect: style_params.underline_tex_rect, bg_color: style_params.bg_color, fg_color: style_params.fg_color, From 30ecc426ca8e4c4ff1ad81641ad8a4bf1e555649 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 14 Jul 2024 00:21:57 +0000 Subject: [PATCH 49/69] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb?narHash=sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8%3D' (2024-07-05) → 'github:NixOS/nixpkgs/8b5a3d5a1d951344d683b442c0739010b80039db?narHash=sha256-po3TZO9kcZwzvkyMJKb0WCzzDtiHWD34XeRaX1lWXp0%3D' (2024-07-12) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/05ccbe21233d4e9110fc6428d2c3d74b430c3c69?narHash=sha256-eR5glZHS2bLpzUgTDhWGm04j%2Bj5KMYKoDsY5DXAiuKQ%3D' (2024-07-06) → 'github:oxalica/rust-overlay/92f0608ab66c9770e931056b1c7a1b6249dbc43a?narHash=sha256-WMwo/kZ3o2h5Bls4dEyQ3XFZ4nw2UbbOUFpq3aVlkms%3D' (2024-07-13) --- nix/flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index c6a4971aa..2ab40f36b 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -71,11 +71,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720181791, - "narHash": "sha256-i4vJL12/AdyuQuviMMd1Hk2tsGt02hDNhA0Zj1m16N8=", + "lastModified": 1720781449, + "narHash": "sha256-po3TZO9kcZwzvkyMJKb0WCzzDtiHWD34XeRaX1lWXp0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4284c2b73c8bce4b46a6adf23e16d9e2ec8da4bb", + "rev": "8b5a3d5a1d951344d683b442c0739010b80039db", "type": "github" }, "original": { @@ -103,11 +103,11 @@ ] }, "locked": { - "lastModified": 1720232258, - "narHash": "sha256-eR5glZHS2bLpzUgTDhWGm04j+j5KMYKoDsY5DXAiuKQ=", + "lastModified": 1720837122, + "narHash": "sha256-WMwo/kZ3o2h5Bls4dEyQ3XFZ4nw2UbbOUFpq3aVlkms=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "05ccbe21233d4e9110fc6428d2c3d74b430c3c69", + "rev": "92f0608ab66c9770e931056b1c7a1b6249dbc43a", "type": "github" }, "original": { From 6b5edad360c8211a4a535f04e37370fd0bb40bbb Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 10:39:20 -0700 Subject: [PATCH 50/69] charselect: switch to nucleo fuzzy matcher This has more intuitive sorting; eg: `line` used to show the first match as `linux_endeavour` but now matches `LINEAR B IDEOGRAM VESSEL B212` first, which feels more relevant (has an exact prefix match). refs: https://github.com/wez/wezterm/issues/5532 --- Cargo.lock | 11 +++++++ docs/changelog.md | 2 ++ wezterm-gui/Cargo.toml | 1 + wezterm-gui/src/termwindow/charselect.rs | 41 ++++++++++++++++-------- 4 files changed, 42 insertions(+), 13 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c6804944c..9de7040c0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3374,6 +3374,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "nucleo-matcher" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf33f538733d1a5a3494b836ba913207f14d9d4a1d3cd67030c5061bdd2cac85" +dependencies = [ + "memchr", + "unicode-segmentation", +] + [[package]] name = "num" version = "0.4.3" @@ -6323,6 +6333,7 @@ dependencies = [ "mlua", "mux", "mux-lua", + "nucleo-matcher", "once_cell", "ordered-float", "parking_lot 0.12.3", diff --git a/docs/changelog.md b/docs/changelog.md index 5cc9a750e..6df7b5efb 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -34,6 +34,8 @@ As features stabilize some brief notes about them will accumulate here. drawing glyphs. See [custom_block_glyphs](config/lua/config/custom_block_glyphs.md) for more details. Thanks to @stribor14! #5051 #5169 +* Switched to the [nucleo](https://github.com/helix-editor/nucleo) fuzzy + matcher for `CharSelect`. #5532 #### New * [wezterm.serde](config/lua/wezterm.serde/index.md) module for serialization diff --git a/wezterm-gui/Cargo.toml b/wezterm-gui/Cargo.toml index b14e3d02d..a9eb9f27b 100644 --- a/wezterm-gui/Cargo.toml +++ b/wezterm-gui/Cargo.toml @@ -54,6 +54,7 @@ finl_unicode = "1.2" frecency = { path = "../frecency" } futures = "0.3" fuzzy-matcher = "0.3" +nucleo-matcher = "0.3" hdrhistogram = "7.1" http_req = "0.11" image = "0.25" diff --git a/wezterm-gui/src/termwindow/charselect.rs b/wezterm-gui/src/termwindow/charselect.rs index eae7bec9a..a19fdf27c 100644 --- a/wezterm-gui/src/termwindow/charselect.rs +++ b/wezterm-gui/src/termwindow/charselect.rs @@ -13,8 +13,7 @@ use config::keyassignment::{ use config::Dimension; use emojis::{Emoji, Group}; use frecency::Frecency; -use fuzzy_matcher::skim::SkimMatcherV2; -use fuzzy_matcher::FuzzyMatcher; +use nucleo_matcher::{Matcher, Utf32Str}; use rayon::prelude::*; use serde::{Deserialize, Serialize}; use std::borrow::Cow; @@ -244,18 +243,18 @@ fn build_aliases() -> Vec { #[derive(Debug, Copy, Clone)] struct MatchResult { row_idx: usize, - score: i64, + score: u32, } impl MatchResult { - fn new(row_idx: usize, score: i64, selection: &str, aliases: &[Alias]) -> Self { + fn new(row_idx: usize, score: u32, selection: &str, aliases: &[Alias]) -> Self { Self { row_idx, score: if aliases[row_idx].name == selection { // Pump up the score for an exact match, otherwise // the order may be undesirable if there are a lot // of candidates with the same score - i64::max_value() + u32::max_value() } else { score }, @@ -272,7 +271,11 @@ fn compute_matches(selection: &str, aliases: &[Alias], group: CharSelectGroup) - .map(|(idx, _a)| idx) .collect() } else { - let matcher = SkimMatcherV2::default(); + let pattern = nucleo_matcher::pattern::Pattern::parse( + selection, + nucleo_matcher::pattern::CaseMatching::Ignore, + nucleo_matcher::pattern::Normalization::Smart, + ); let numeric_selection = if selection.chars().all(|c| c.is_ascii_hexdigit()) { // Make this uppercase so that eg: `e1` matches `U+E1` rather @@ -285,14 +288,24 @@ fn compute_matches(selection: &str, aliases: &[Alias], group: CharSelectGroup) - None }; let start = std::time::Instant::now(); + let all_matches: Vec<(String, MatchResult)> = aliases .par_iter() .enumerate() .filter_map(|(row_idx, entry)| { + thread_local! { + static MATCHER: RefCell = RefCell::new(Matcher::new(nucleo_matcher::Config::DEFAULT)); + } + let glyph = entry.glyph(); - let alias_result = matcher - .fuzzy_match(&entry.name, selection) - .map(|score| MatchResult::new(row_idx, score, selection, aliases)); + + let alias_result = MATCHER.with_borrow_mut(|matcher| { + let mut buf = vec![]; + pattern + .score(Utf32Str::new(&entry.name, &mut buf), matcher) + .map(|score| MatchResult::new(row_idx, score , selection, aliases)) + }); + match &numeric_selection { Some(sel) => { let codepoints = entry.codepoints(); @@ -301,13 +314,15 @@ fn compute_matches(selection: &str, aliases: &[Alias], group: CharSelectGroup) - glyph, MatchResult { row_idx, - score: i64::max_value(), + score: u32::max_value(), }, )) } else { - let number_result = matcher - .fuzzy_match(&codepoints, &sel) - .map(|score| MatchResult::new(row_idx, score, sel, aliases)); + let number_result = MATCHER.with_borrow_mut(|matcher| { + let mut buf = vec![]; + pattern + .score(Utf32Str::new(&codepoints, &mut buf), matcher) + .map(|score| MatchResult::new(row_idx, score , selection, aliases))}); match (alias_result, number_result) { ( From b20c61926ea086cfca6a411e38b215c3045bb12c Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Sun, 14 Jul 2024 11:03:54 -0700 Subject: [PATCH 51/69] switch all fuzzy matches to nucleo Centralize the thread local state management into the selector module to make it a bit more convenient to consume from the various other locations. closes: https://github.com/wez/wezterm/issues/5532 --- Cargo.lock | 20 -------------- docs/changelog.md | 3 +- wezterm-gui/Cargo.toml | 1 - wezterm-gui/src/overlay/launcher.rs | 12 ++++---- wezterm-gui/src/overlay/selector.rs | 35 +++++++++++++++++++----- wezterm-gui/src/termwindow/charselect.rs | 27 ++++-------------- wezterm-gui/src/termwindow/palette.rs | 17 ++++++------ 7 files changed, 50 insertions(+), 65 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9de7040c0..64f3bec91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1871,15 +1871,6 @@ dependencies = [ "slab", ] -[[package]] -name = "fuzzy-matcher" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94" -dependencies = [ - "thread_local", -] - [[package]] name = "generate-bidi" version = "0.1.0" @@ -5378,16 +5369,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bf63baf9f5039dadc247375c29eb13706706cfde997d0330d05aa63a77d8820" -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - [[package]] name = "tiff" version = "0.9.1" @@ -6319,7 +6300,6 @@ dependencies = [ "finl_unicode", "frecency", "futures", - "fuzzy-matcher", "hdrhistogram", "http_req", "image", diff --git a/docs/changelog.md b/docs/changelog.md index 6df7b5efb..a876cadac 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -35,7 +35,8 @@ As features stabilize some brief notes about them will accumulate here. [custom_block_glyphs](config/lua/config/custom_block_glyphs.md) for more details. Thanks to @stribor14! #5051 #5169 * Switched to the [nucleo](https://github.com/helix-editor/nucleo) fuzzy - matcher for `CharSelect`. #5532 + matcher which produces matches that more closely match the popular `fzf` + program. #5532 #### New * [wezterm.serde](config/lua/wezterm.serde/index.md) module for serialization diff --git a/wezterm-gui/Cargo.toml b/wezterm-gui/Cargo.toml index a9eb9f27b..e4be89168 100644 --- a/wezterm-gui/Cargo.toml +++ b/wezterm-gui/Cargo.toml @@ -53,7 +53,6 @@ filedescriptor = { version="0.8", path = "../filedescriptor" } finl_unicode = "1.2" frecency = { path = "../frecency" } futures = "0.3" -fuzzy-matcher = "0.3" nucleo-matcher = "0.3" hdrhistogram = "7.1" http_req = "0.11" diff --git a/wezterm-gui/src/overlay/launcher.rs b/wezterm-gui/src/overlay/launcher.rs index 3dfc68097..f10799219 100644 --- a/wezterm-gui/src/overlay/launcher.rs +++ b/wezterm-gui/src/overlay/launcher.rs @@ -7,16 +7,16 @@ //! menus. use crate::commands::derive_command_from_key_assignment; use crate::inputmap::InputMap; +use crate::overlay::selector::{matcher_pattern, matcher_score}; use crate::termwindow::TermWindowNotif; use config::configuration; use config::keyassignment::{KeyAssignment, SpawnCommand, SpawnTabDomain}; -use fuzzy_matcher::skim::SkimMatcherV2; -use fuzzy_matcher::FuzzyMatcher; use mux::domain::{DomainId, DomainState}; use mux::pane::PaneId; use mux::termwiztermtab::TermWizTerminal; use mux::window::WindowId; use mux::Mux; +use rayon::prelude::*; use std::collections::BTreeMap; use termwiz::cell::{AttributeChange, CellAttributes}; use termwiz::color::ColorAttribute; @@ -183,19 +183,19 @@ impl LauncherState { self.filtered_entries.clear(); - let matcher = SkimMatcherV2::default(); + let pattern = matcher_pattern(&self.filter_term); struct MatchResult { row_idx: usize, - score: i64, + score: u32, } let mut scores: Vec = self .entries - .iter() + .par_iter() .enumerate() .filter_map(|(row_idx, entry)| { - let score = matcher.fuzzy_match(&entry.label, &self.filter_term)?; + let score = matcher_score(&pattern, &entry.label)?; Some(MatchResult { row_idx, score }) }) .collect(); diff --git a/wezterm-gui/src/overlay/selector.rs b/wezterm-gui/src/overlay/selector.rs index 40d9f2250..cfc3db8ac 100644 --- a/wezterm-gui/src/overlay/selector.rs +++ b/wezterm-gui/src/overlay/selector.rs @@ -1,10 +1,12 @@ use super::quickselect; use crate::scripting::guiwin::GuiWin; use config::keyassignment::{InputSelector, InputSelectorEntry, KeyAssignment}; -use fuzzy_matcher::skim::SkimMatcherV2; -use fuzzy_matcher::FuzzyMatcher; use mux::termwiztermtab::TermWizTerminal; use mux_lua::MuxPane; +use nucleo_matcher::pattern::Pattern; +use nucleo_matcher::{Matcher, Utf32Str}; +use rayon::prelude::*; +use std::cell::RefCell; use std::rc::Rc; use termwiz::cell::{AttributeChange, CellAttributes}; use termwiz::color::ColorAttribute; @@ -15,6 +17,25 @@ use termwiz_funcs::truncate_right; const ROW_OVERHEAD: usize = 3; +thread_local! { + pub static MATCHER: RefCell = RefCell::new(Matcher::new(nucleo_matcher::Config::DEFAULT)); +} + +pub fn matcher_score(pattern: &Pattern, s: &str) -> Option { + MATCHER.with_borrow_mut(|matcher| { + let mut buf = vec![]; + pattern.score(Utf32Str::new(s, &mut buf), matcher) + }) +} + +pub fn matcher_pattern(s: &str) -> Pattern { + nucleo_matcher::pattern::Pattern::parse( + s, + nucleo_matcher::pattern::CaseMatching::Ignore, + nucleo_matcher::pattern::Normalization::Smart, + ) +} + struct SelectorState { active_idx: usize, max_items: usize, @@ -40,20 +61,20 @@ impl SelectorState { self.filtered_entries.clear(); - let matcher = SkimMatcherV2::default(); - struct MatchResult { row_idx: usize, - score: i64, + score: u32, } + let pattern = matcher_pattern(&self.filter_term); + let mut scores: Vec = self .args .choices - .iter() + .par_iter() .enumerate() .filter_map(|(row_idx, entry)| { - let score = matcher.fuzzy_match(&entry.label, &self.filter_term)?; + let score = matcher_score(&pattern, &entry.label)?; Some(MatchResult { row_idx, score }) }) .collect(); diff --git a/wezterm-gui/src/termwindow/charselect.rs b/wezterm-gui/src/termwindow/charselect.rs index a19fdf27c..ac4bb86ad 100644 --- a/wezterm-gui/src/termwindow/charselect.rs +++ b/wezterm-gui/src/termwindow/charselect.rs @@ -1,3 +1,4 @@ +use crate::overlay::selector::{matcher_pattern, matcher_score}; use crate::termwindow::box_model::*; use crate::termwindow::modal::Modal; use crate::termwindow::render::corners::{ @@ -13,7 +14,6 @@ use config::keyassignment::{ use config::Dimension; use emojis::{Emoji, Group}; use frecency::Frecency; -use nucleo_matcher::{Matcher, Utf32Str}; use rayon::prelude::*; use serde::{Deserialize, Serialize}; use std::borrow::Cow; @@ -271,11 +271,7 @@ fn compute_matches(selection: &str, aliases: &[Alias], group: CharSelectGroup) - .map(|(idx, _a)| idx) .collect() } else { - let pattern = nucleo_matcher::pattern::Pattern::parse( - selection, - nucleo_matcher::pattern::CaseMatching::Ignore, - nucleo_matcher::pattern::Normalization::Smart, - ); + let pattern = matcher_pattern(selection); let numeric_selection = if selection.chars().all(|c| c.is_ascii_hexdigit()) { // Make this uppercase so that eg: `e1` matches `U+E1` rather @@ -293,18 +289,10 @@ fn compute_matches(selection: &str, aliases: &[Alias], group: CharSelectGroup) - .par_iter() .enumerate() .filter_map(|(row_idx, entry)| { - thread_local! { - static MATCHER: RefCell = RefCell::new(Matcher::new(nucleo_matcher::Config::DEFAULT)); - } - let glyph = entry.glyph(); - let alias_result = MATCHER.with_borrow_mut(|matcher| { - let mut buf = vec![]; - pattern - .score(Utf32Str::new(&entry.name, &mut buf), matcher) - .map(|score| MatchResult::new(row_idx, score , selection, aliases)) - }); + let alias_result = matcher_score(&pattern, &entry.name) + .map(|score| MatchResult::new(row_idx, score, selection, aliases)); match &numeric_selection { Some(sel) => { @@ -318,11 +306,8 @@ fn compute_matches(selection: &str, aliases: &[Alias], group: CharSelectGroup) - }, )) } else { - let number_result = MATCHER.with_borrow_mut(|matcher| { - let mut buf = vec![]; - pattern - .score(Utf32Str::new(&codepoints, &mut buf), matcher) - .map(|score| MatchResult::new(row_idx, score , selection, aliases))}); + let number_result = matcher_score(&pattern, &codepoints) + .map(|score| MatchResult::new(row_idx, score, selection, aliases)); match (alias_result, number_result) { ( diff --git a/wezterm-gui/src/termwindow/palette.rs b/wezterm-gui/src/termwindow/palette.rs index 0522c130b..da571ade0 100644 --- a/wezterm-gui/src/termwindow/palette.rs +++ b/wezterm-gui/src/termwindow/palette.rs @@ -1,4 +1,5 @@ use crate::commands::{CommandDef, ExpandedCommand}; +use crate::overlay::selector::{matcher_pattern, matcher_score}; use crate::termwindow::box_model::*; use crate::termwindow::modal::Modal; use crate::termwindow::render::corners::{ @@ -10,10 +11,9 @@ use crate::utilsprites::RenderMetrics; use config::keyassignment::KeyAssignment; use config::Dimension; use frecency::Frecency; -use fuzzy_matcher::skim::SkimMatcherV2; -use fuzzy_matcher::FuzzyMatcher; use luahelper::{from_lua_value_dynamic, impl_lua_conversion_dynamic}; use mux_lua::MuxPane; +use rayon::prelude::*; use serde::{Deserialize, Serialize}; use std::borrow::Cow; use std::cell::{Ref, RefCell}; @@ -172,18 +172,18 @@ fn build_commands( #[derive(Debug)] struct MatchResult { row_idx: usize, - score: i64, + score: u32, } impl MatchResult { - fn new(row_idx: usize, score: i64, selection: &str, commands: &[ExpandedCommand]) -> Self { + fn new(row_idx: usize, score: u32, selection: &str, commands: &[ExpandedCommand]) -> Self { Self { row_idx, score: if commands[row_idx].brief == selection { // Pump up the score for an exact match, otherwise // the order may be undesirable if there are a lot // of candidates with the same score - i64::max_value() + u32::max_value() } else { score }, @@ -195,17 +195,16 @@ fn compute_matches(selection: &str, commands: &[ExpandedCommand]) -> Vec if selection.is_empty() { commands.iter().enumerate().map(|(idx, _)| idx).collect() } else { - let matcher = SkimMatcherV2::default(); + let pattern = matcher_pattern(selection); let start = std::time::Instant::now(); let mut scores: Vec = commands - .iter() + .par_iter() .enumerate() .filter_map(|(row_idx, entry)| { let group = entry.menubar.join(" "); let text = format!("{group}: {}. {} {:?}", entry.brief, entry.doc, entry.action); - matcher - .fuzzy_match(&text, selection) + matcher_score(&pattern, &text) .map(|score| MatchResult::new(row_idx, score, selection, commands)) }) .collect(); From f0416016dc8f18e7930a0969de196f8973789425 Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 15 Jul 2024 06:10:26 -0700 Subject: [PATCH 52/69] chore: Updating docs for macOS Homebrew closes: https://github.com/wez/wezterm/pull/5815 closes: #5466 closes: #5805 closes: #5433 --- docs/install/macos.md | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/docs/install/macos.md b/docs/install/macos.md index 98e99936c..526a1f350 100644 --- a/docs/install/macos.md +++ b/docs/install/macos.md @@ -33,16 +33,30 @@ $ brew install --cask wezterm If you'd like to use a nightly build: ```console -$ brew tap homebrew/cask-versions -$ brew install --cask wezterm-nightly +$ brew install --cask wezterm@nightly ``` +!!! note + For users who have previously used the cask named `wezterm-nightly`, + homebrew has started issuing warnings: `Warning: Cask + homebrew/cask-versions/wezterm-nightly was renamed to wezterm@nightly`. We + recommend that you use `brew uninstall wezterm-nightly` to uninstall the + previously installed version, and then reinstall the new version using the + command above. + to upgrade to a newer nightly (normal `brew upgrade` will not upgrade it!): ```console -$ brew upgrade --cask wezterm-nightly --no-quarantine --greedy-latest +$ brew upgrade --cask wezterm@nightly --no-quarantine --greedy-latest ``` +!!! note + The `--greedy-latest` option in Homebrew forces the latest version of a + formula to be installed, even if a version satisfying the formula's + requirements is already installed. This can be useful when you want to + ensure you have the most up-to-date version of a package, regardless of + whether an older version meets the current dependency requirements. + ## MacPorts WezTerm is also available via [MacPorts](https://ports.macports.org/port/wezterm/summary): From 04e443b5f10f750728aa1c6e130cc4e9811cdcfb Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 06:04:19 -0700 Subject: [PATCH 53/69] docs: changelog tweak sctk bit for #5781 --- docs/changelog.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index a876cadac..ebeab89df 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -66,8 +66,8 @@ As features stabilize some brief notes about them will accumulate here. rather than the intended *starttime* field to decide which process was the youngest. Thanks to @crides! #5001 * Wayland: fixed startup on Hyprland >= 0.37.0. Thanks to @fioncat! #5264 #5103 -* Wayland: updated to SCTK 0.18. Thanks to @deviant! #5276 #5154 #5079 #5071 - #4604 #5209 +* Wayland: updated to SCTK 0.19. Thanks to @deviant and @tmccombs! #5276 #5154 #5079 #5071 + #4604 #5209 #5781 * Windows: Window buttons stopped working when using `win32_system_backdrop`. Thanks to @Kushagra2569! #5362 #5348 * `wezterm cli activate-pane` now respects `unzoom_on_switch_pane`. Thanks to From 7e053d62cbe5ebb363bf625921e5cef56017360e Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 06:04:52 -0700 Subject: [PATCH 54/69] cargo update --- Cargo.lock | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 64f3bec91..b6f6f1fb3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -635,13 +635,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.2" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56" +checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -4581,9 +4580,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "security-framework" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" dependencies = [ "bitflags 2.6.0", "core-foundation", @@ -4594,9 +4593,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" dependencies = [ "core-foundation-sys", "libc", From 57be095264d9bb1c5c21f18dfcb16ef4992e81fa Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 06:12:57 -0700 Subject: [PATCH 55/69] docs: changelog for #4657 closes: #4657 --- docs/changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.md b/docs/changelog.md index ebeab89df..6e7e6acd8 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -88,7 +88,7 @@ As features stabilize some brief notes about them will accumulate here. cleaners, resulting in issues with rendering. We no longer store these in a pure temporary directory; they live in a cache dir, and if someone does remove or truncate these files, we now convert that error case - into blank frame(s). #5422 + into blank frame(s). #5422 #4657 * PaneInformation object returned `pixel_width` when asked to return the `pixel_height`. From 463df9ebedbcc596608bf98a6a528d9c7038d5ce Mon Sep 17 00:00:00 2001 From: Naitik Shah Date: Fri, 31 May 2024 11:21:49 +0400 Subject: [PATCH 56/69] kill and reap ProxyCommand The wrapper struct ensures ensures the child process spawned for the ProxyCommand is cleaned up under all the various error scenarios (such as auth failures etc), as well as in the normal successful use case. This includes killing it if necessary, and then waiting for it. --- wezterm-ssh/src/sessioninner.rs | 34 ++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/wezterm-ssh/src/sessioninner.rs b/wezterm-ssh/src/sessioninner.rs index bbc145a15..4ff213ad2 100644 --- a/wezterm-ssh/src/sessioninner.rs +++ b/wezterm-ssh/src/sessioninner.rs @@ -205,7 +205,7 @@ impl SessionInner { sess.set_option(libssh_rs::SshOption::HostKeys(host_key.to_string()))?; } - let sock = + let (sock, _child) = self.connect_to_host(&hostname, port, verbose, self.config.get("proxycommand"))?; let raw = { #[cfg(unix)] @@ -288,7 +288,7 @@ impl SessionInner { )))) .context("notifying user of banner")?; - let sock = + let (sock, _child) = self.connect_to_host(&hostname, port, verbose, self.config.get("proxycommand"))?; let mut sess = ssh2::Session::new()?; @@ -332,7 +332,7 @@ impl SessionInner { port: u16, verbose: bool, proxy_command: Option<&String>, - ) -> anyhow::Result { + ) -> anyhow::Result<(Socket, Option)> { match proxy_command.map(|s| s.as_str()) { Some("none") | None => {} Some(proxy_command) => { @@ -351,19 +351,25 @@ impl SessionInner { cmd.stdin(b.as_stdio()?); cmd.stdout(b.as_stdio()?); cmd.stderr(std::process::Stdio::inherit()); - let _child = cmd + let child = cmd .spawn() .with_context(|| format!("spawning ProxyCommand {}", proxy_command))?; #[cfg(unix)] unsafe { use std::os::unix::io::{FromRawFd, IntoRawFd}; - return Ok(Socket::from_raw_fd(a.into_raw_fd())); + return Ok(( + Socket::from_raw_fd(a.into_raw_fd()), + Some(KillOnDropChild(child)), + )); } #[cfg(windows)] unsafe { use std::os::windows::io::{FromRawSocket, IntoRawSocket}; - return Ok(Socket::from_raw_socket(a.into_raw_socket())); + return Ok(( + Socket::from_raw_socket(a.into_raw_socket()), + Some(KillOnDropChild(child)), + )); } } } @@ -392,7 +398,7 @@ impl SessionInner { sock.connect(&addr.into()) .with_context(|| format!("Connecting to {hostname}:{port} ({addr:?})"))?; - Ok(sock) + Ok((sock, None)) } /// Used to restrict to_socket_addrs results to the address @@ -1086,3 +1092,17 @@ where } Ok(true) } + +/// A little helper to ensure the Child process is killed on Drop. +struct KillOnDropChild(std::process::Child); + +impl Drop for KillOnDropChild { + fn drop(&mut self) { + if let Err(err) = self.0.kill() { + log::error!("Error killing ProxyCommand: {}", err); + } + if let Err(err) = self.0.wait() { + log::error!("Error waiting for ProxyCommand to finish: {}", err); + } + } +} From d701a8fcea9e806fd5bf5f19f522724aaa53a800 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 06:15:30 -0700 Subject: [PATCH 57/69] docs: changelog for #5494 #5479 --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 6e7e6acd8..9431fcec2 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -91,6 +91,8 @@ As features stabilize some brief notes about them will accumulate here. into blank frame(s). #5422 #4657 * PaneInformation object returned `pixel_width` when asked to return the `pixel_height`. +* ssh: we now explicitly kill and reap the `ProxyCommand` associated + with an ssh session. Thanks to @daaku! #5494 #5479 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg From 0fd76a77c5302805d8c995a9f94c0890252084d1 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 06:23:31 -0700 Subject: [PATCH 58/69] docs: fixup absolute link warning for {{since(nightly)}} We can now compute a relative link instead --- mkdocs_macros.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mkdocs_macros.py b/mkdocs_macros.py index 05a9140b7..9a4c54aab 100644 --- a/mkdocs_macros.py +++ b/mkdocs_macros.py @@ -10,12 +10,15 @@ def define_env(env): @env.macro def since(vers, outline=False, inline=False): if vers == "nightly": + # Determine the relative path traversal to the root, + # so that we can emit the link to the install page + rel_root = "../" * (len(env.page.url.split('/')) - 1) first_line = "*Since: Nightly Builds Only*" expanded = "+" - blurb = """ + blurb = f""" The functionality described in this section requires a nightly build of wezterm. You can obtain a nightly build by following the instructions from the - [Download](/wezterm/installation.html) section. + [Download]({rel_root}installation.md) section. """ else: first_line = f"*Since: Version {vers}*" From d249c4933ddc917839b0d6b40266dff480e418c8 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 06:39:26 -0700 Subject: [PATCH 59/69] sync color schemes --- config/src/scheme_data.rs | 14 +- docs/changelog.md | 11 +- docs/colorschemes/data.json | 313 ++++++++++++++++++++++++++++++++- sync-color-schemes/src/main.rs | 4 +- 4 files changed, 331 insertions(+), 11 deletions(-) diff --git a/config/src/scheme_data.rs b/config/src/scheme_data.rs index d6e3df9c9..a81609139 100644 --- a/config/src/scheme_data.rs +++ b/config/src/scheme_data.rs @@ -1,6 +1,6 @@ //! This file was generated by sync-color-schemes -pub const SCHEMES: [(&'static str, &'static str); 993] = [ +pub const SCHEMES: [(&'static str, &'static str); 1001] = [ // Start here ("3024 (base16)", "[colors]\nansi = [\n \"#090300\",\n \"#db2d20\",\n \"#01a252\",\n \"#fded02\",\n \"#01a0e4\",\n \"#a16a94\",\n \"#b5e4f4\",\n \"#a5a2a2\",\n]\nbackground = \"#090300\"\nbrights = [\n \"#5c5855\",\n \"#db2d20\",\n \"#01a252\",\n \"#fded02\",\n \"#01a0e4\",\n \"#a16a94\",\n \"#b5e4f4\",\n \"#f7f7f7\",\n]\ncursor_bg = \"#a5a2a2\"\ncursor_border = \"#a5a2a2\"\ncursor_fg = \"#090300\"\nforeground = \"#a5a2a2\"\nselection_bg = \"#a5a2a2\"\nselection_fg = \"#090300\"\n\n[colors.indexed]\n16 = \"#e8bbd0\"\n17 = \"#cdab53\"\n18 = \"#3a3432\"\n19 = \"#4a4543\"\n20 = \"#807d7c\"\n21 = \"#d6d5d4\"\n\n[metadata]\naliases = [\"3024 (dark) (terminal.sexy)\"]\nauthor = \"Jan T. Sott (http://github.com/idleberg)\"\nname = \"3024 (base16)\"\norigin_url = \"https://github.com/chriskempson/base16-unclaimed-schemes\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -37,6 +37,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Ashes (base16)", "[colors]\nansi = [\n \"#1c2023\",\n \"#c7ae95\",\n \"#95c7ae\",\n \"#aec795\",\n \"#ae95c7\",\n \"#c795ae\",\n \"#95aec7\",\n \"#c7ccd1\",\n]\nbackground = \"#1c2023\"\nbrights = [\n \"#747c84\",\n \"#c7ae95\",\n \"#95c7ae\",\n \"#aec795\",\n \"#ae95c7\",\n \"#c795ae\",\n \"#95aec7\",\n \"#f3f4f5\",\n]\ncursor_bg = \"#c7ccd1\"\ncursor_border = \"#c7ccd1\"\ncursor_fg = \"#1c2023\"\nforeground = \"#c7ccd1\"\nselection_bg = \"#c7ccd1\"\nselection_fg = \"#1c2023\"\n\n[colors.indexed]\n16 = \"#c7c795\"\n17 = \"#c79595\"\n18 = \"#393f45\"\n19 = \"#565e65\"\n20 = \"#adb3ba\"\n21 = \"#dfe2e5\"\n\n[metadata]\naliases = [\"Ashes (dark) (terminal.sexy)\"]\nauthor = \"Jannik Siebert (https://github.com/janniks)\"\nname = \"Ashes (base16)\"\norigin_url = \"https://github.com/chriskempson/base16-unclaimed-schemes\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Ashes (dark) (terminal.sexy)", "[colors]\nansi = [\n \"#1c2023\",\n \"#c7ae95\",\n \"#95c7ae\",\n \"#aec795\",\n \"#ae95c7\",\n \"#c795ae\",\n \"#95aec7\",\n \"#c7ccd1\",\n]\nbackground = \"#1c2023\"\nbrights = [\n \"#747c84\",\n \"#c7ae95\",\n \"#95c7ae\",\n \"#aec795\",\n \"#ae95c7\",\n \"#c795ae\",\n \"#95aec7\",\n \"#f3f4f5\",\n]\nforeground = \"#c7ccd1\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nauthor = \"Chris Kempson\"\nname = \"Ashes (dark) (terminal.sexy)\"\norigin_url = \"https://github.com/stayradiated/terminal.sexy\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), ("Ashes (light) (terminal.sexy)", "[colors]\nansi = [\n \"#1c2023\",\n \"#c7ae95\",\n \"#95c7ae\",\n \"#aec795\",\n \"#ae95c7\",\n \"#c795ae\",\n \"#95aec7\",\n \"#c7ccd1\",\n]\nbackground = \"#f3f4f5\"\nbrights = [\n \"#747c84\",\n \"#c7ae95\",\n \"#95c7ae\",\n \"#aec795\",\n \"#ae95c7\",\n \"#c795ae\",\n \"#95aec7\",\n \"#f3f4f5\",\n]\nforeground = \"#565e65\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nauthor = \"Chris Kempson\"\nname = \"Ashes (light) (terminal.sexy)\"\norigin_url = \"https://github.com/stayradiated/terminal.sexy\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), +("Astrodark (Gogh)", "[colors]\nansi = [\n \"#111317\",\n \"#f8747e\",\n \"#75ad47\",\n \"#d09214\",\n \"#50a4e9\",\n \"#cc83e3\",\n \"#00b298\",\n \"#adb0bb\",\n]\nbackground = \"#1a1d23\"\nbrights = [\n \"#576176\",\n \"#faa5ab\",\n \"#a5cd84\",\n \"#efbd58\",\n \"#8dc3f1\",\n \"#deaeed\",\n \"#27ffdf\",\n \"#caccd3\",\n]\ncursor_bg = \"#caccd3\"\ncursor_border = \"#caccd3\"\ncursor_fg = \"#1a1d23\"\nforeground = \"#9b9fa9\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Astrodark (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"nightly builds only\"\n"), ("astromouse (terminal.sexy)", "[colors]\nansi = [\n \"#1c1c1c\",\n \"#d770af\",\n \"#9acc79\",\n \"#d0d26b\",\n \"#77b6c5\",\n \"#a488d9\",\n \"#7fcab3\",\n \"#8d8d8d\",\n]\nbackground = \"#000000\"\nbrights = [\n \"#3d3a3a\",\n \"#d28abf\",\n \"#8fb676\",\n \"#c8bc45\",\n \"#8fa7b9\",\n \"#bd89de\",\n \"#6ec2a8\",\n \"#dad3d3\",\n]\nforeground = \"#ffffff\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nauthor = \"\"\nname = \"astromouse (terminal.sexy)\"\norigin_url = \"https://github.com/stayradiated/terminal.sexy\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Atelier Cave (base16)", "[colors]\nansi = [\n \"#19171c\",\n \"#be4678\",\n \"#2a9292\",\n \"#a06e3b\",\n \"#576ddb\",\n \"#955ae7\",\n \"#398bc6\",\n \"#8b8792\",\n]\nbackground = \"#19171c\"\nbrights = [\n \"#655f6d\",\n \"#be4678\",\n \"#2a9292\",\n \"#a06e3b\",\n \"#576ddb\",\n \"#955ae7\",\n \"#398bc6\",\n \"#efecf4\",\n]\ncursor_bg = \"#8b8792\"\ncursor_border = \"#8b8792\"\ncursor_fg = \"#19171c\"\nforeground = \"#8b8792\"\nselection_bg = \"#8b8792\"\nselection_fg = \"#19171c\"\n\n[colors.indexed]\n16 = \"#aa573c\"\n17 = \"#bf40bf\"\n18 = \"#26232a\"\n19 = \"#585260\"\n20 = \"#7e7887\"\n21 = \"#e2dfe7\"\n\n[metadata]\naliases = []\nauthor = \"Bram de Haan (http://atelierbramdehaan.nl)\"\nname = \"Atelier Cave (base16)\"\norigin_url = \"https://github.com/atelierbram/base16-atelier-schemes\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Atelier Cave Light (base16)", "[colors]\nansi = [\n \"#efecf4\",\n \"#be4678\",\n \"#2a9292\",\n \"#a06e3b\",\n \"#576ddb\",\n \"#955ae7\",\n \"#398bc6\",\n \"#585260\",\n]\nbackground = \"#efecf4\"\nbrights = [\n \"#7e7887\",\n \"#be4678\",\n \"#2a9292\",\n \"#a06e3b\",\n \"#576ddb\",\n \"#955ae7\",\n \"#398bc6\",\n \"#19171c\",\n]\ncursor_bg = \"#585260\"\ncursor_border = \"#585260\"\ncursor_fg = \"#efecf4\"\nforeground = \"#585260\"\nselection_bg = \"#585260\"\nselection_fg = \"#efecf4\"\n\n[colors.indexed]\n16 = \"#aa573c\"\n17 = \"#bf40bf\"\n18 = \"#e2dfe7\"\n19 = \"#8b8792\"\n20 = \"#655f6d\"\n21 = \"#26232a\"\n\n[metadata]\naliases = []\nauthor = \"Bram de Haan (http://atelierbramdehaan.nl)\"\nname = \"Atelier Cave Light (base16)\"\norigin_url = \"https://github.com/atelierbram/base16-atelier-schemes\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -123,6 +124,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("BlulocoLight", "[colors]\nansi = [\n \"#373a41\",\n \"#d52753\",\n \"#23974a\",\n \"#df631c\",\n \"#275fe4\",\n \"#823ff1\",\n \"#27618d\",\n \"#babbc2\",\n]\nbackground = \"#f9f9f9\"\nbrights = [\n \"#676a77\",\n \"#ff6480\",\n \"#3cbc66\",\n \"#c5a332\",\n \"#0099e1\",\n \"#ce33c0\",\n \"#6d93bb\",\n \"#d3d3d3\",\n]\ncursor_bg = \"#f32759\"\ncursor_border = \"#f32759\"\ncursor_fg = \"#ffffff\"\nforeground = \"#373a41\"\nselection_bg = \"#daf0ff\"\nselection_fg = \"#373a41\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"BlulocoLight\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Borland", "[colors]\nansi = [\n \"#4f4f4f\",\n \"#ff6c60\",\n \"#a8ff60\",\n \"#ffffb6\",\n \"#96cbfe\",\n \"#ff73fd\",\n \"#c6c5fe\",\n \"#eeeeee\",\n]\nbackground = \"#0000a4\"\nbrights = [\n \"#7c7c7c\",\n \"#ffb6b0\",\n \"#ceffac\",\n \"#ffffcc\",\n \"#b5dcff\",\n \"#ff9cfe\",\n \"#dfdffe\",\n \"#ffffff\",\n]\ncursor_bg = \"#ffa560\"\ncursor_border = \"#ffa560\"\ncursor_fg = \"#ffffff\"\nforeground = \"#ffff4e\"\nselection_bg = \"#a4a4a4\"\nselection_fg = \"#0000a4\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"Borland (Gogh)\"]\nname = \"Borland\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Borland (Gogh)", "[colors]\nansi = [\n \"#4f4f4f\",\n \"#ff6c60\",\n \"#a8ff60\",\n \"#ffffb6\",\n \"#96cbfe\",\n \"#ff73fd\",\n \"#c6c5fe\",\n \"#eeeeee\",\n]\nbackground = \"#0000a4\"\nbrights = [\n \"#7c7c7c\",\n \"#ffb6b0\",\n \"#ceffac\",\n \"#ffffcc\",\n \"#b5dcff\",\n \"#ff9cfe\",\n \"#dfdffe\",\n \"#ffffff\",\n]\ncursor_bg = \"#ffff4e\"\ncursor_border = \"#ffff4e\"\ncursor_fg = \"#0000a4\"\nforeground = \"#ffff4e\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Borland (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), +("Breadog (Gogh)", "[colors]\nansi = [\n \"#362c24\",\n \"#b10b00\",\n \"#007232\",\n \"#8b4c00\",\n \"#005cb4\",\n \"#9b0097\",\n \"#006a78\",\n \"#d4c3b7\",\n]\nbackground = \"#f1ebe6\"\nbrights = [\n \"#514337\",\n \"#de1100\",\n \"#008f40\",\n \"#ae6000\",\n \"#0074e1\",\n \"#c300bd\",\n \"#008697\",\n \"#eae1da\",\n]\ncursor_bg = \"#362c24\"\ncursor_border = \"#362c24\"\ncursor_fg = \"#f1ebe6\"\nforeground = \"#362c24\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Breadog (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"nightly builds only\"\n"), ("Breath (Gogh)", "[colors]\nansi = [\n \"#1e2229\",\n \"#ed1515\",\n \"#44853a\",\n \"#f67400\",\n \"#1d99f3\",\n \"#9b59b6\",\n \"#1abc9c\",\n \"#fcfcfc\",\n]\nbackground = \"#1e2229\"\nbrights = [\n \"#7f8c8d\",\n \"#c0392b\",\n \"#55a649\",\n \"#fdbc4b\",\n \"#3daee9\",\n \"#8e44ad\",\n \"#16a085\",\n \"#ffffff\",\n]\ncursor_bg = \"#17a88b\"\ncursor_border = \"#17a88b\"\ncursor_fg = \"#1e2229\"\nforeground = \"#17a88b\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Breath (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230320-124340-559cb7b0\"\n"), ("Breath Darker (Gogh)", "[colors]\nansi = [\n \"#1e2229\",\n \"#ed1515\",\n \"#44853a\",\n \"#f67400\",\n \"#1d99f3\",\n \"#9b59b6\",\n \"#1abc9c\",\n \"#fcfcfc\",\n]\nbackground = \"#080d14\"\nbrights = [\n \"#7f8c8d\",\n \"#c0392b\",\n \"#55a649\",\n \"#fdbc4b\",\n \"#3daee9\",\n \"#8e44ad\",\n \"#16a085\",\n \"#ffffff\",\n]\ncursor_bg = \"#17a88b\"\ncursor_border = \"#17a88b\"\ncursor_fg = \"#080d14\"\nforeground = \"#17a88b\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Breath Darker (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230320-124340-559cb7b0\"\n"), ("Breath Light (Gogh)", "[colors]\nansi = [\n \"#e8e8e8\",\n \"#ed1515\",\n \"#c0392b\",\n \"#f67400\",\n \"#1d99f3\",\n \"#9b59b6\",\n \"#1abc9c\",\n \"#fcfcfc\",\n]\nbackground = \"#e8e8e8\"\nbrights = [\n \"#7f8c8d\",\n \"#c0392b\",\n \"#55a649\",\n \"#fdbc4b\",\n \"#3daee9\",\n \"#8e44ad\",\n \"#16a085\",\n \"#ffffff\",\n]\ncursor_bg = \"#292f34\"\ncursor_border = \"#292f34\"\ncursor_fg = \"#e8e8e8\"\nforeground = \"#292f34\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"BreathLight (Gogh)\"]\nname = \"Breath Light (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230320-124340-559cb7b0\"\n"), @@ -183,6 +185,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Ciapre", "[colors]\nansi = [\n \"#181818\",\n \"#810009\",\n \"#48513b\",\n \"#cc8b3f\",\n \"#576d8c\",\n \"#724d7c\",\n \"#5c4f4b\",\n \"#aea47f\",\n]\nbackground = \"#191c27\"\nbrights = [\n \"#555555\",\n \"#ac3835\",\n \"#a6a75d\",\n \"#dcdf7c\",\n \"#3097c6\",\n \"#d33061\",\n \"#f3dbb2\",\n \"#f4f4f4\",\n]\ncursor_bg = \"#92805b\"\ncursor_border = \"#92805b\"\ncursor_fg = \"#181818\"\nforeground = \"#aea47a\"\nselection_bg = \"#172539\"\nselection_fg = \"#aea47f\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"Ciapre (Gogh)\"]\nname = \"Ciapre\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Ciapre (Gogh)", "[colors]\nansi = [\n \"#181818\",\n \"#810009\",\n \"#48513b\",\n \"#cc8b3f\",\n \"#576d8c\",\n \"#724d7c\",\n \"#5c4f4b\",\n \"#aea47f\",\n]\nbackground = \"#191c27\"\nbrights = [\n \"#555555\",\n \"#ac3835\",\n \"#a6a75d\",\n \"#dcdf7c\",\n \"#3097c6\",\n \"#d33061\",\n \"#f3dbb2\",\n \"#f4f4f4\",\n]\ncursor_bg = \"#aea47a\"\ncursor_border = \"#aea47a\"\ncursor_fg = \"#191c27\"\nforeground = \"#aea47a\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Ciapre (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), ("Circus (base16)", "[colors]\nansi = [\n \"#191919\",\n \"#dc657d\",\n \"#84b97c\",\n \"#c3ba63\",\n \"#639ee4\",\n \"#b888e2\",\n \"#4bb1a7\",\n \"#a7a7a7\",\n]\nbackground = \"#191919\"\nbrights = [\n \"#5f5a60\",\n \"#dc657d\",\n \"#84b97c\",\n \"#c3ba63\",\n \"#639ee4\",\n \"#b888e2\",\n \"#4bb1a7\",\n \"#ffffff\",\n]\ncursor_bg = \"#a7a7a7\"\ncursor_border = \"#a7a7a7\"\ncursor_fg = \"#191919\"\nforeground = \"#a7a7a7\"\nselection_bg = \"#a7a7a7\"\nselection_fg = \"#191919\"\n\n[colors.indexed]\n16 = \"#4bb1a7\"\n17 = \"#b888e2\"\n18 = \"#202020\"\n19 = \"#303030\"\n20 = \"#505050\"\n21 = \"#808080\"\n\n[metadata]\naliases = []\nauthor = \"Stephan Boyer (https://github.com/stepchowfun) and Esther Wang (https://github.com/ewang12)\"\nname = \"Circus (base16)\"\norigin_url = \"https://github.com/stepchowfun/base16-circus-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), +("City Lights (Gogh)", "[colors]\nansi = [\n \"#41505e\",\n \"#d95468\",\n \"#8bd49c\",\n \"#ebbf83\",\n \"#539afc\",\n \"#b62d65\",\n \"#70e1e8\",\n \"#ffffff\",\n]\nbackground = \"#171d23\"\nbrights = [\n \"#41505e\",\n \"#d95468\",\n \"#8bd49c\",\n \"#ebbf83\",\n \"#539afc\",\n \"#b62d65\",\n \"#70e1e8\",\n \"#ffffff\",\n]\ncursor_bg = \"#008b94\"\ncursor_border = \"#008b94\"\ncursor_fg = \"#171d23\"\nforeground = \"#ffffff\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"City Lights (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"nightly builds only\"\n"), ("City Streets (terminal.sexy)", "[colors]\nansi = [\n \"#201e24\",\n \"#2d2b30\",\n \"#3f3d40\",\n \"#413c3e\",\n \"#423e41\",\n \"#4e4a4b\",\n \"#6e6765\",\n \"#837e81\",\n]\nbackground = \"#000000\"\nbrights = [\n \"#837c78\",\n \"#89827d\",\n \"#a7a099\",\n \"#c2bec1\",\n \"#c3bcb2\",\n \"#cbc5ba\",\n \"#e3ddd2\",\n \"#efe8dc\",\n]\nforeground = \"#d3d3d3\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nauthor = \"dkeg\"\nname = \"City Streets (terminal.sexy)\"\norigin_url = \"https://github.com/stayradiated/terminal.sexy\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Classic Dark (base16)", "[colors]\nansi = [\n \"#151515\",\n \"#ac4142\",\n \"#90a959\",\n \"#f4bf75\",\n \"#6a9fb5\",\n \"#aa759f\",\n \"#75b5aa\",\n \"#d0d0d0\",\n]\nbackground = \"#151515\"\nbrights = [\n \"#505050\",\n \"#ac4142\",\n \"#90a959\",\n \"#f4bf75\",\n \"#6a9fb5\",\n \"#aa759f\",\n \"#75b5aa\",\n \"#f5f5f5\",\n]\ncursor_bg = \"#d0d0d0\"\ncursor_border = \"#d0d0d0\"\ncursor_fg = \"#151515\"\nforeground = \"#d0d0d0\"\nselection_bg = \"#d0d0d0\"\nselection_fg = \"#151515\"\n\n[colors.indexed]\n16 = \"#d28445\"\n17 = \"#8f5536\"\n18 = \"#202020\"\n19 = \"#303030\"\n20 = \"#b0b0b0\"\n21 = \"#e0e0e0\"\n\n[metadata]\naliases = [\"Default (dark) (terminal.sexy)\"]\nauthor = \"Jason Heeris (http://heeris.id.au)\"\nname = \"Classic Dark (base16)\"\norigin_url = \"https://github.com/detly/base16-classic-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Classic Light (base16)", "[colors]\nansi = [\n \"#f5f5f5\",\n \"#ac4142\",\n \"#90a959\",\n \"#f4bf75\",\n \"#6a9fb5\",\n \"#aa759f\",\n \"#75b5aa\",\n \"#303030\",\n]\nbackground = \"#f5f5f5\"\nbrights = [\n \"#b0b0b0\",\n \"#ac4142\",\n \"#90a959\",\n \"#f4bf75\",\n \"#6a9fb5\",\n \"#aa759f\",\n \"#75b5aa\",\n \"#151515\",\n]\ncursor_bg = \"#303030\"\ncursor_border = \"#303030\"\ncursor_fg = \"#f5f5f5\"\nforeground = \"#303030\"\nselection_bg = \"#303030\"\nselection_fg = \"#f5f5f5\"\n\n[colors.indexed]\n16 = \"#d28445\"\n17 = \"#8f5536\"\n18 = \"#e0e0e0\"\n19 = \"#d0d0d0\"\n20 = \"#505050\"\n21 = \"#202020\"\n\n[metadata]\naliases = []\nauthor = \"Jason Heeris (http://heeris.id.au)\"\nname = \"Classic Light (base16)\"\norigin_url = \"https://github.com/detly/base16-classic-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -207,7 +210,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("CrayonPonyFish", "[colors]\nansi = [\n \"#2b1b1d\",\n \"#91002b\",\n \"#579524\",\n \"#ab311b\",\n \"#8c87b0\",\n \"#692f50\",\n \"#e8a866\",\n \"#68525a\",\n]\nbackground = \"#150707\"\nbrights = [\n \"#3d2b2e\",\n \"#c5255d\",\n \"#8dff57\",\n \"#c8381d\",\n \"#cfc9ff\",\n \"#fc6cba\",\n \"#ffceaf\",\n \"#b0949d\",\n]\ncursor_bg = \"#68525a\"\ncursor_border = \"#68525a\"\ncursor_fg = \"#140707\"\nforeground = \"#68525a\"\nselection_bg = \"#2b1b1d\"\nselection_fg = \"#69525a\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"Crayon Pony Fish (Gogh)\"]\nname = \"CrayonPonyFish\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Cupcake (base16)", "[colors]\nansi = [\n \"#fbf1f2\",\n \"#d57e85\",\n \"#a3b367\",\n \"#dcb16c\",\n \"#7297b9\",\n \"#bb99b4\",\n \"#69a9a7\",\n \"#8b8198\",\n]\nbackground = \"#fbf1f2\"\nbrights = [\n \"#bfb9c6\",\n \"#d57e85\",\n \"#a3b367\",\n \"#dcb16c\",\n \"#7297b9\",\n \"#bb99b4\",\n \"#69a9a7\",\n \"#585062\",\n]\ncursor_bg = \"#8b8198\"\ncursor_border = \"#8b8198\"\ncursor_fg = \"#fbf1f2\"\nforeground = \"#8b8198\"\nselection_bg = \"#8b8198\"\nselection_fg = \"#fbf1f2\"\n\n[colors.indexed]\n16 = \"#ebb790\"\n17 = \"#baa58c\"\n18 = \"#f2f1f4\"\n19 = \"#d8d5dd\"\n20 = \"#a59daf\"\n21 = \"#72677e\"\n\n[metadata]\naliases = []\nauthor = \"Chris Kempson (http://chriskempson.com)\"\nname = \"Cupcake (base16)\"\norigin_url = \"https://github.com/chriskempson/base16-default-schemes\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Cupertino (base16)", "[colors]\nansi = [\n \"#ffffff\",\n \"#c41a15\",\n \"#007400\",\n \"#826b28\",\n \"#0000ff\",\n \"#a90d91\",\n \"#318495\",\n \"#404040\",\n]\nbackground = \"#ffffff\"\nbrights = [\n \"#808080\",\n \"#c41a15\",\n \"#007400\",\n \"#826b28\",\n \"#0000ff\",\n \"#a90d91\",\n \"#318495\",\n \"#5e5e5e\",\n]\ncursor_bg = \"#404040\"\ncursor_border = \"#404040\"\ncursor_fg = \"#ffffff\"\nforeground = \"#404040\"\nselection_bg = \"#404040\"\nselection_fg = \"#ffffff\"\n\n[colors.indexed]\n16 = \"#eb8500\"\n17 = \"#826b28\"\n18 = \"#c0c0c0\"\n19 = \"#c0c0c0\"\n20 = \"#808080\"\n21 = \"#404040\"\n\n[metadata]\naliases = []\nauthor = \"Defman21\"\nname = \"Cupertino (base16)\"\norigin_url = \"https://github.com/Defman21/base16-cupertino\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), -("CutiePro", "[colors]\nansi = [\n \"#000000\",\n \"#f56e7f\",\n \"#bec975\",\n \"#f58669\",\n \"#42d9c5\",\n \"#d286b7\",\n \"#37cb8a\",\n \"#d5c3c3\",\n]\nbackground = \"#181818\"\nbrights = [\n \"#373b41\",\n \"#e5a1a3\",\n \"#e8d6a7\",\n \"#f1bb79\",\n \"#80c5de\",\n \"#b294bb\",\n \"#9dccbb\",\n \"#ffffff\",\n]\ncursor_bg = \"#efc4cd\"\ncursor_border = \"#efc4cd\"\ncursor_fg = \"#181818\"\nforeground = \"#d5d0c9\"\nselection_bg = \"#363636\"\nselection_fg = \"#d5d0c9\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"CutiePro\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"nightly builds only\"\n"), +("CutiePro", "[colors]\nansi = [\n \"#000000\",\n \"#f56e7f\",\n \"#bec975\",\n \"#f58669\",\n \"#42d9c5\",\n \"#d286b7\",\n \"#37cb8a\",\n \"#d5c3c3\",\n]\nbackground = \"#181818\"\nbrights = [\n \"#88847f\",\n \"#e5a1a3\",\n \"#e8d6a7\",\n \"#f1bb79\",\n \"#80c5de\",\n \"#b294bb\",\n \"#9dccbb\",\n \"#ffffff\",\n]\ncursor_bg = \"#efc4cd\"\ncursor_border = \"#efc4cd\"\ncursor_fg = \"#181818\"\nforeground = \"#d5d0c9\"\nselection_bg = \"#363636\"\nselection_fg = \"#d5d0c9\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"CutiePro\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"nightly builds only\"\n"), ("Cyberdyne", "[colors]\nansi = [\n \"#080808\",\n \"#ff8373\",\n \"#00c172\",\n \"#d2a700\",\n \"#0071cf\",\n \"#ff90fe\",\n \"#6bffdd\",\n \"#f1f1f1\",\n]\nbackground = \"#151144\"\nbrights = [\n \"#2e2e2e\",\n \"#ffc4be\",\n \"#d6fcba\",\n \"#fffed5\",\n \"#c2e3ff\",\n \"#ffb2fe\",\n \"#e6e7fe\",\n \"#ffffff\",\n]\ncursor_bg = \"#00ff9c\"\ncursor_border = \"#00ff9c\"\ncursor_fg = \"#ffffff\"\nforeground = \"#00ff92\"\nselection_bg = \"#454d96\"\nselection_fg = \"#f4f4f4\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Cyberdyne\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("cyberpunk", "[colors]\nansi = [\n \"#000000\",\n \"#ff7092\",\n \"#00fbac\",\n \"#fffa6a\",\n \"#00bfff\",\n \"#df95ff\",\n \"#86cbfe\",\n \"#ffffff\",\n]\nbackground = \"#332a57\"\nbrights = [\n \"#000000\",\n \"#ff8aa4\",\n \"#21f6bc\",\n \"#fff787\",\n \"#1bccfd\",\n \"#e6aefe\",\n \"#99d6fc\",\n \"#ffffff\",\n]\ncursor_bg = \"#21f6bc\"\ncursor_border = \"#21f6bc\"\ncursor_fg = \"#ffffff\"\nforeground = \"#e6e6e6\"\nselection_bg = \"#c1deff\"\nselection_fg = \"#000000\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"cyberpunk\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("DanQing (base16)", "[colors]\nansi = [\n \"#2d302f\",\n \"#f9906f\",\n \"#8ab361\",\n \"#f0c239\",\n \"#b0a4e3\",\n \"#cca4e3\",\n \"#30dff3\",\n \"#e0f0ef\",\n]\nbackground = \"#2d302f\"\nbrights = [\n \"#9da8a3\",\n \"#f9906f\",\n \"#8ab361\",\n \"#f0c239\",\n \"#b0a4e3\",\n \"#cca4e3\",\n \"#30dff3\",\n \"#fcfefd\",\n]\ncursor_bg = \"#e0f0ef\"\ncursor_border = \"#e0f0ef\"\ncursor_fg = \"#2d302f\"\nforeground = \"#e0f0ef\"\nselection_bg = \"#e0f0ef\"\nselection_fg = \"#2d302f\"\n\n[colors.indexed]\n16 = \"#b38a61\"\n17 = \"#ca6924\"\n18 = \"#434846\"\n19 = \"#5a605d\"\n20 = \"#cad8d2\"\n21 = \"#ecf6f2\"\n\n[metadata]\naliases = []\nauthor = \"Wenhan Zhu (Cosmos) (zhuwenhan950913@gmail.com)\"\nname = \"DanQing (base16)\"\norigin_url = \"https://github.com/CosmosAtlas/base16-danqing-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -467,6 +470,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Ic Orange Ppl (Gogh)", "[colors]\nansi = [\n \"#000000\",\n \"#c13900\",\n \"#a4a900\",\n \"#caaf00\",\n \"#bd6d00\",\n \"#fc5e00\",\n \"#f79500\",\n \"#ffc88a\",\n]\nbackground = \"#262626\"\nbrights = [\n \"#6a4f2a\",\n \"#ff8c68\",\n \"#f6ff40\",\n \"#ffe36e\",\n \"#ffbe55\",\n \"#fc874f\",\n \"#c69752\",\n \"#fafaff\",\n]\ncursor_bg = \"#ffcb83\"\ncursor_border = \"#ffcb83\"\ncursor_fg = \"#262626\"\nforeground = \"#ffcb83\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Ic Orange Ppl (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), ("IC_Green_PPL", "[colors]\nansi = [\n \"#014401\",\n \"#ff2736\",\n \"#41a638\",\n \"#76a831\",\n \"#2ec3b9\",\n \"#50a096\",\n \"#3ca078\",\n \"#e6fef2\",\n]\nbackground = \"#2c2c2c\"\nbrights = [\n \"#035c03\",\n \"#b4fa5c\",\n \"#aefb86\",\n \"#dafa87\",\n \"#2efaeb\",\n \"#50fafa\",\n \"#3cfac8\",\n \"#e0f1dc\",\n]\ncursor_bg = \"#47fa6b\"\ncursor_border = \"#47fa6b\"\ncursor_fg = \"#292929\"\nforeground = \"#e0f1dc\"\nselection_bg = \"#116b41\"\nselection_fg = \"#e0f1dc\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"IC_Green_PPL\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("IC_Orange_PPL", "[colors]\nansi = [\n \"#000000\",\n \"#c13900\",\n \"#a4a900\",\n \"#caaf00\",\n \"#bd6d00\",\n \"#fc5e00\",\n \"#f79500\",\n \"#ffc88a\",\n]\nbackground = \"#262626\"\nbrights = [\n \"#6a4f2a\",\n \"#ff8c68\",\n \"#f6ff40\",\n \"#ffe36e\",\n \"#ffbe55\",\n \"#fc874f\",\n \"#c69752\",\n \"#fafaff\",\n]\ncursor_bg = \"#fc531d\"\ncursor_border = \"#fc531d\"\ncursor_fg = \"#ffc88a\"\nforeground = \"#ffcb83\"\nselection_bg = \"#c14020\"\nselection_fg = \"#ffc88a\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\n \"ICOrangePPL (Gogh)\",\n \"Ic Orange Ppl (Gogh)\",\n]\nname = \"IC_Orange_PPL\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), +("Iceberg (Gogh)", "[colors]\nansi = [\n \"#161821\",\n \"#e27878\",\n \"#b4be82\",\n \"#e2a478\",\n \"#84a0c6\",\n \"#a093c7\",\n \"#89b8c2\",\n \"#c6c8d1\",\n]\nbackground = \"#161821\"\nbrights = [\n \"#6b7089\",\n \"#e98989\",\n \"#c0ca8e\",\n \"#e9b189\",\n \"#91acd1\",\n \"#ada0d3\",\n \"#95c4ce\",\n \"#d2d4de\",\n]\ncursor_bg = \"#d2d4de\"\ncursor_border = \"#d2d4de\"\ncursor_fg = \"#161821\"\nforeground = \"#c6c8d1\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Iceberg (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"nightly builds only\"\n"), ("iceberg-dark", "[colors]\nansi = [\n \"#1e2132\",\n \"#e27878\",\n \"#b4be82\",\n \"#e2a478\",\n \"#84a0c6\",\n \"#a093c7\",\n \"#89b8c2\",\n \"#c6c8d1\",\n]\nbackground = \"#161821\"\nbrights = [\n \"#6b7089\",\n \"#e98989\",\n \"#c0ca8e\",\n \"#e9b189\",\n \"#91acd1\",\n \"#ada0d3\",\n \"#95c4ce\",\n \"#d2d4de\",\n]\ncursor_bg = \"#c6c8d1\"\ncursor_border = \"#c6c8d1\"\ncursor_fg = \"#161821\"\nforeground = \"#c6c8d1\"\nselection_bg = \"#c6c8d1\"\nselection_fg = \"#161821\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"iceberg-dark\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("iceberg-light", "[colors]\nansi = [\n \"#dcdfe7\",\n \"#cc517a\",\n \"#668e3d\",\n \"#c57339\",\n \"#2d539e\",\n \"#7759b4\",\n \"#3f83a6\",\n \"#33374c\",\n]\nbackground = \"#e8e9ec\"\nbrights = [\n \"#8389a3\",\n \"#cc3768\",\n \"#598030\",\n \"#b6662d\",\n \"#22478e\",\n \"#6845ad\",\n \"#327698\",\n \"#262a3f\",\n]\ncursor_bg = \"#33374c\"\ncursor_border = \"#33374c\"\ncursor_fg = \"#e8e9ec\"\nforeground = \"#33374c\"\nselection_bg = \"#33374c\"\nselection_fg = \"#e8e9ec\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"iceberg-light\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Icy Dark (base16)", "[colors]\nansi = [\n \"#021012\",\n \"#16c1d9\",\n \"#4dd0e1\",\n \"#80deea\",\n \"#00bcd4\",\n \"#00acc1\",\n \"#26c6da\",\n \"#095b67\",\n]\nbackground = \"#021012\"\nbrights = [\n \"#052e34\",\n \"#16c1d9\",\n \"#4dd0e1\",\n \"#80deea\",\n \"#00bcd4\",\n \"#00acc1\",\n \"#26c6da\",\n \"#109cb0\",\n]\ncursor_bg = \"#095b67\"\ncursor_border = \"#095b67\"\ncursor_fg = \"#021012\"\nforeground = \"#095b67\"\nselection_bg = \"#095b67\"\nselection_fg = \"#021012\"\n\n[colors.indexed]\n16 = \"#b3ebf2\"\n17 = \"#0097a7\"\n18 = \"#031619\"\n19 = \"#041f23\"\n20 = \"#064048\"\n21 = \"#0c7c8c\"\n\n[metadata]\naliases = []\nauthor = \"icyphox (https://icyphox.ga)\"\nname = \"Icy Dark (base16)\"\norigin_url = \"https://github.com/icyphox/base16-icy-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -513,6 +517,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Kokuban (Gogh)", "[colors]\nansi = [\n \"#2e8744\",\n \"#d84e4c\",\n \"#95da5a\",\n \"#d6e264\",\n \"#4b9ed7\",\n \"#945fc5\",\n \"#d89b25\",\n \"#d8e2d7\",\n]\nbackground = \"#0d4a08\"\nbrights = [\n \"#34934f\",\n \"#ff4f59\",\n \"#aff56a\",\n \"#fcff75\",\n \"#57aeff\",\n \"#ae63e9\",\n \"#ffaa2b\",\n \"#fffefe\",\n]\ncursor_bg = \"#d8e2d7\"\ncursor_border = \"#d8e2d7\"\ncursor_fg = \"#0d4a08\"\nforeground = \"#d8e2d7\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"kokuban (Gogh)\"]\nname = \"Kokuban (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Kolorit", "[colors]\nansi = [\n \"#1d1a1e\",\n \"#ff5b82\",\n \"#47d7a1\",\n \"#e8e562\",\n \"#5db4ee\",\n \"#da6cda\",\n \"#57e9eb\",\n \"#ededed\",\n]\nbackground = \"#1d1a1e\"\nbrights = [\n \"#1d1a1e\",\n \"#ff5b82\",\n \"#47d7a1\",\n \"#e8e562\",\n \"#5db4ee\",\n \"#da6cda\",\n \"#57e9eb\",\n \"#ededed\",\n]\ncursor_bg = \"#c7c7c7\"\ncursor_border = \"#c7c7c7\"\ncursor_fg = \"#ffffff\"\nforeground = \"#efecec\"\nselection_bg = \"#e1925c\"\nselection_fg = \"#1d1a1e\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Kolorit\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Konsolas", "[colors]\nansi = [\n \"#000000\",\n \"#aa1717\",\n \"#18b218\",\n \"#ebae1f\",\n \"#2323a5\",\n \"#ad1edc\",\n \"#42b0c8\",\n \"#c8c1c1\",\n]\nbackground = \"#060606\"\nbrights = [\n \"#7b716e\",\n \"#ff4141\",\n \"#5fff5f\",\n \"#ffff55\",\n \"#4b4bff\",\n \"#ff54ff\",\n \"#69ffff\",\n \"#ffffff\",\n]\ncursor_bg = \"#c8c1c1\"\ncursor_border = \"#c8c1c1\"\ncursor_fg = \"#060606\"\nforeground = \"#c8c1c1\"\nselection_bg = \"#060606\"\nselection_fg = \"#c8c1c1\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Konsolas\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), +("kurokula", "[colors]\nansi = [\n \"#333333\",\n \"#b66056\",\n \"#85b1a9\",\n \"#dbbb43\",\n \"#6890d7\",\n \"#887aa3\",\n \"#837369\",\n \"#ddd0c4\",\n]\nbackground = \"#141515\"\nbrights = [\n \"#515151\",\n \"#ffc663\",\n \"#c1ffae\",\n \"#fff700\",\n \"#a1d9ff\",\n \"#a994ff\",\n \"#f9cfb9\",\n \"#ffffff\",\n]\ncursor_bg = \"#702420\"\ncursor_border = \"#702420\"\ncursor_fg = \"#fefbf3\"\nforeground = \"#ddd0c4\"\nselection_bg = \"#515151\"\nselection_fg = \"#ffc663\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"kurokula\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"nightly builds only\"\n"), ("Lab Fox", "[colors]\nansi = [\n \"#2e2e2e\",\n \"#fc6d26\",\n \"#3eb383\",\n \"#fca121\",\n \"#db3b21\",\n \"#380d75\",\n \"#6e49cb\",\n \"#ffffff\",\n]\nbackground = \"#2e2e2e\"\nbrights = [\n \"#464646\",\n \"#ff6517\",\n \"#53eaa8\",\n \"#fca013\",\n \"#db501f\",\n \"#441090\",\n \"#7d53e7\",\n \"#ffffff\",\n]\ncursor_bg = \"#7f7f7f\"\ncursor_border = \"#7f7f7f\"\ncursor_fg = \"#7f7f7f\"\nforeground = \"#ffffff\"\nselection_bg = \"#cb392e\"\nselection_fg = \"#ffffff\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Lab Fox\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Laser", "[colors]\nansi = [\n \"#626262\",\n \"#ff8373\",\n \"#b4fb73\",\n \"#09b4bd\",\n \"#fed300\",\n \"#ff90fe\",\n \"#d1d1fe\",\n \"#f1f1f1\",\n]\nbackground = \"#030d18\"\nbrights = [\n \"#8f8f8f\",\n \"#ffc4be\",\n \"#d6fcba\",\n \"#fffed5\",\n \"#f92883\",\n \"#ffb2fe\",\n \"#e6e7fe\",\n \"#ffffff\",\n]\ncursor_bg = \"#00ff9c\"\ncursor_border = \"#00ff9c\"\ncursor_fg = \"#ffffff\"\nforeground = \"#f106e3\"\nselection_bg = \"#2e206a\"\nselection_fg = \"#f4f4f4\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Laser\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Laserwave (Gogh)", "[colors]\nansi = [\n \"#39243a\",\n \"#eb64b9\",\n \"#afd686\",\n \"#feae87\",\n \"#40b4c4\",\n \"#b381c5\",\n \"#215969\",\n \"#91889b\",\n]\nbackground = \"#1f1926\"\nbrights = [\n \"#716485\",\n \"#fc2377\",\n \"#50fa7b\",\n \"#ffe261\",\n \"#74dfc4\",\n \"#6d75e0\",\n \"#b4dce7\",\n \"#ffffff\",\n]\ncursor_bg = \"#c7c7c7\"\ncursor_border = \"#c7c7c7\"\ncursor_fg = \"#1f1926\"\nforeground = \"#e0e0e0\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"laserwave (Gogh)\"]\nname = \"Laserwave (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -689,6 +694,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Panda (Gogh)", "[colors]\nansi = [\n \"#1f1f20\",\n \"#fb055a\",\n \"#26ffd4\",\n \"#fdaa5a\",\n \"#5c9fff\",\n \"#fc59a6\",\n \"#26ffd4\",\n \"#f0f0f0\",\n]\nbackground = \"#1d1e20\"\nbrights = [\n \"#5c6370\",\n \"#fb055a\",\n \"#26ffd4\",\n \"#febe7e\",\n \"#55adff\",\n \"#fd95d0\",\n \"#26ffd4\",\n \"#f0f0f0\",\n]\ncursor_bg = \"#f0f0f0\"\ncursor_border = \"#f0f0f0\"\ncursor_fg = \"#1d1e20\"\nforeground = \"#f0f0f0\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Panda (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Pandora", "[colors]\nansi = [\n \"#000000\",\n \"#ff4242\",\n \"#74af68\",\n \"#ffad29\",\n \"#338f86\",\n \"#9414e6\",\n \"#23d7d7\",\n \"#e2e2e2\",\n]\nbackground = \"#141e43\"\nbrights = [\n \"#3f5648\",\n \"#ff3242\",\n \"#74cd68\",\n \"#ffb929\",\n \"#23d7d7\",\n \"#ff37ff\",\n \"#00ede1\",\n \"#ffffff\",\n]\ncursor_bg = \"#43d58e\"\ncursor_border = \"#43d58e\"\ncursor_fg = \"#ffffff\"\nforeground = \"#e1e1e1\"\nselection_bg = \"#2d37ff\"\nselection_fg = \"#82e0ff\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Pandora\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Panels (terminal.sexy)", "[colors]\nansi = [\n \"#191927\",\n \"#282f5e\",\n \"#2b4593\",\n \"#344276\",\n \"#4e3a4f\",\n \"#61372f\",\n \"#6b484c\",\n \"#744537\",\n]\nbackground = \"#000000\"\nbrights = [\n \"#905749\",\n \"#94431c\",\n \"#9f582a\",\n \"#a38687\",\n \"#e1750f\",\n \"#eaaf25\",\n \"#fa8e08\",\n \"#fca806\",\n]\nforeground = \"#d3d3d3\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nauthor = \"dkeg\"\nname = \"Panels (terminal.sexy)\"\norigin_url = \"https://github.com/stayradiated/terminal.sexy\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), +("Paper (Gogh)", "[colors]\nansi = [\n \"#000000\",\n \"#cc3e28\",\n \"#216609\",\n \"#b58900\",\n \"#1e6fcc\",\n \"#5c21a5\",\n \"#158c86\",\n \"#aaaaaa\",\n]\nbackground = \"#f2eede\"\nbrights = [\n \"#555555\",\n \"#cc3e28\",\n \"#216609\",\n \"#b58900\",\n \"#1e6fcc\",\n \"#5c21a5\",\n \"#158c86\",\n \"#aaaaaa\",\n]\ncursor_bg = \"#000000\"\ncursor_border = \"#000000\"\ncursor_fg = \"#f2eede\"\nforeground = \"#000000\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Paper (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"nightly builds only\"\n"), ("PaperColor Dark (base16)", "[colors]\nansi = [\n \"#1c1c1c\",\n \"#585858\",\n \"#af87d7\",\n \"#afd700\",\n \"#ff5faf\",\n \"#00afaf\",\n \"#ffaf00\",\n \"#808080\",\n]\nbackground = \"#1c1c1c\"\nbrights = [\n \"#d7af5f\",\n \"#585858\",\n \"#af87d7\",\n \"#afd700\",\n \"#ff5faf\",\n \"#00afaf\",\n \"#ffaf00\",\n \"#d0d0d0\",\n]\ncursor_bg = \"#808080\"\ncursor_border = \"#808080\"\ncursor_fg = \"#1c1c1c\"\nforeground = \"#808080\"\nselection_bg = \"#808080\"\nselection_fg = \"#1c1c1c\"\n\n[colors.indexed]\n16 = \"#5faf5f\"\n17 = \"#5f8787\"\n18 = \"#af005f\"\n19 = \"#5faf00\"\n20 = \"#5fafd7\"\n21 = \"#d7875f\"\n\n[metadata]\naliases = []\nauthor = \"Jon Leopard (http://github.com/jonleopard) based on PaperColor Theme (https://github.com/NLKNguyen/papercolor-theme)\"\nname = \"PaperColor Dark (base16)\"\norigin_url = \"https://github.com/jonleopard/base16-papercolor-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Papercolor Dark (Gogh)", "[colors]\nansi = [\n \"#1c1c1c\",\n \"#af005f\",\n \"#5faf00\",\n \"#d7af5f\",\n \"#5fafd7\",\n \"#808080\",\n \"#d7875f\",\n \"#d0d0d0\",\n]\nbackground = \"#1c1c1c\"\nbrights = [\n \"#585858\",\n \"#5faf5f\",\n \"#afd700\",\n \"#af87d7\",\n \"#ffaf00\",\n \"#ff5faf\",\n \"#00afaf\",\n \"#5f8787\",\n]\ncursor_bg = \"#d0d0d0\"\ncursor_border = \"#d0d0d0\"\ncursor_fg = \"#1c1c1c\"\nforeground = \"#d0d0d0\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"PaperColorDark (Gogh)\"]\nname = \"Papercolor Dark (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("PaperColor Light (base16)", "[colors]\nansi = [\n \"#eeeeee\",\n \"#bcbcbc\",\n \"#8700af\",\n \"#d70087\",\n \"#d75f00\",\n \"#005faf\",\n \"#d75f00\",\n \"#444444\",\n]\nbackground = \"#eeeeee\"\nbrights = [\n \"#5f8700\",\n \"#bcbcbc\",\n \"#8700af\",\n \"#d70087\",\n \"#d75f00\",\n \"#005faf\",\n \"#d75f00\",\n \"#878787\",\n]\ncursor_bg = \"#444444\"\ncursor_border = \"#444444\"\ncursor_fg = \"#eeeeee\"\nforeground = \"#444444\"\nselection_bg = \"#444444\"\nselection_fg = \"#eeeeee\"\n\n[colors.indexed]\n16 = \"#d70000\"\n17 = \"#005f87\"\n18 = \"#af0000\"\n19 = \"#008700\"\n20 = \"#0087af\"\n21 = \"#005f87\"\n\n[metadata]\naliases = []\nauthor = \"Jon Leopard (http://github.com/jonleopard) based on PaperColor Theme (https://github.com/NLKNguyen/papercolor-theme)\"\nname = \"PaperColor Light (base16)\"\norigin_url = \"https://github.com/jonleopard/base16-papercolor-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -850,6 +856,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Srcery (Gogh)", "[colors]\nansi = [\n \"#1c1b19\",\n \"#ef2f27\",\n \"#519f50\",\n \"#fbb829\",\n \"#2c78bf\",\n \"#e02c6d\",\n \"#0aaeb3\",\n \"#baa67f\",\n]\nbackground = \"#1c1b19\"\nbrights = [\n \"#918175\",\n \"#f75341\",\n \"#98bc37\",\n \"#fed06e\",\n \"#68a8e4\",\n \"#ff5c8f\",\n \"#2be4d0\",\n \"#fce8c3\",\n]\ncursor_bg = \"#fbb829\"\ncursor_border = \"#fbb829\"\ncursor_fg = \"#1c1b19\"\nforeground = \"#fce8c3\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Srcery (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Sublette", "[colors]\nansi = [\n \"#253045\",\n \"#ee5577\",\n \"#55ee77\",\n \"#ffdd88\",\n \"#5588ff\",\n \"#ff77cc\",\n \"#44eeee\",\n \"#f5f5da\",\n]\nbackground = \"#202535\"\nbrights = [\n \"#405570\",\n \"#ee6655\",\n \"#99ee77\",\n \"#ffff77\",\n \"#77bbff\",\n \"#aa88ff\",\n \"#55ffbb\",\n \"#ffffee\",\n]\ncursor_bg = \"#ccced0\"\ncursor_border = \"#ccced0\"\ncursor_fg = \"#202535\"\nforeground = \"#ccced0\"\nselection_bg = \"#ccced0\"\nselection_fg = \"#202535\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Sublette\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Subliminal", "[colors]\nansi = [\n \"#7f7f7f\",\n \"#e15a60\",\n \"#a9cfa4\",\n \"#ffe2a9\",\n \"#6699cc\",\n \"#f1a5ab\",\n \"#5fb3b3\",\n \"#d4d4d4\",\n]\nbackground = \"#282c35\"\nbrights = [\n \"#7f7f7f\",\n \"#e15a60\",\n \"#a9cfa4\",\n \"#ffe2a9\",\n \"#6699cc\",\n \"#f1a5ab\",\n \"#5fb3b3\",\n \"#d4d4d4\",\n]\ncursor_bg = \"#c7c7c7\"\ncursor_border = \"#c7c7c7\"\ncursor_fg = \"#ffffff\"\nforeground = \"#d4d4d4\"\nselection_bg = \"#484e5b\"\nselection_fg = \"#ffffff\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Subliminal\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), +("Sugarplum", "[colors]\nansi = [\n \"#111147\",\n \"#5ca8dc\",\n \"#53b397\",\n \"#249a84\",\n \"#db7ddd\",\n \"#d0beee\",\n \"#f9f3f9\",\n \"#a175d4\",\n]\nbackground = \"#111147\"\nbrights = [\n \"#111147\",\n \"#5cb5dc\",\n \"#52deb5\",\n \"#01f5c7\",\n \"#fa5dfd\",\n \"#c6a5fd\",\n \"#ffffff\",\n \"#b577fd\",\n]\ncursor_bg = \"#53b397\"\ncursor_border = \"#53b397\"\ncursor_fg = \"#53b397\"\nforeground = \"#db7ddd\"\nselection_bg = \"#5ca8dc\"\nselection_fg = \"#d0beee\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nauthor = \"lemonlime0x3C33 (https://github.com/lemonlime0x3C33)\"\nname = \"Sugarplum\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"nightly builds only\"\n"), ("Summer Pop (Gogh)", "[colors]\nansi = [\n \"#666666\",\n \"#ff1e8e\",\n \"#8eff1e\",\n \"#fffb00\",\n \"#1e8eff\",\n \"#e500e5\",\n \"#00e5e5\",\n \"#e5e5e5\",\n]\nbackground = \"#272822\"\nbrights = [\n \"#666666\",\n \"#ff1e8e\",\n \"#8eff1e\",\n \"#fffb00\",\n \"#1e8eff\",\n \"#e500e5\",\n \"#00e5e5\",\n \"#e5e5e5\",\n]\ncursor_bg = \"#ffffff\"\ncursor_border = \"#ffffff\"\ncursor_fg = \"#272822\"\nforeground = \"#ffffff\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"summer-pop (Gogh)\"]\nname = \"Summer Pop (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("summercamp (base16)", "[colors]\nansi = [\n \"#1c1810\",\n \"#e35142\",\n \"#5ceb5a\",\n \"#f2ff27\",\n \"#489bf0\",\n \"#ff8080\",\n \"#5aebbc\",\n \"#736e55\",\n]\nbackground = \"#1c1810\"\nbrights = [\n \"#504b38\",\n \"#e35142\",\n \"#5ceb5a\",\n \"#f2ff27\",\n \"#489bf0\",\n \"#ff8080\",\n \"#5aebbc\",\n \"#f8f5de\",\n]\ncursor_bg = \"#736e55\"\ncursor_border = \"#736e55\"\ncursor_fg = \"#1c1810\"\nforeground = \"#736e55\"\nselection_bg = \"#736e55\"\nselection_fg = \"#1c1810\"\n\n[colors.indexed]\n16 = \"#fba11b\"\n17 = \"#f69be7\"\n18 = \"#2a261c\"\n19 = \"#3a3527\"\n20 = \"#5f5b45\"\n21 = \"#bab696\"\n\n[metadata]\naliases = []\nauthor = \"zoe firi (zoefiri.github.io)\"\nname = \"summercamp (base16)\"\norigin_url = \"https://github.com/zoefiri/base16-summercamp\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Summerfruit Dark (base16)", "[colors]\nansi = [\n \"#151515\",\n \"#ff0086\",\n \"#00c918\",\n \"#aba800\",\n \"#3777e6\",\n \"#ad00a1\",\n \"#1faaaa\",\n \"#d0d0d0\",\n]\nbackground = \"#151515\"\nbrights = [\n \"#505050\",\n \"#ff0086\",\n \"#00c918\",\n \"#aba800\",\n \"#3777e6\",\n \"#ad00a1\",\n \"#1faaaa\",\n \"#ffffff\",\n]\ncursor_bg = \"#d0d0d0\"\ncursor_border = \"#d0d0d0\"\ncursor_fg = \"#151515\"\nforeground = \"#d0d0d0\"\nselection_bg = \"#d0d0d0\"\nselection_fg = \"#151515\"\n\n[colors.indexed]\n16 = \"#fd8900\"\n17 = \"#cc6633\"\n18 = \"#202020\"\n19 = \"#303030\"\n20 = \"#b0b0b0\"\n21 = \"#e0e0e0\"\n\n[metadata]\naliases = []\nauthor = \"Christopher Corley (http://christop.club/)\"\nname = \"Summerfruit Dark (base16)\"\norigin_url = \"https://github.com/cscorley/base16-summerfruit-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), @@ -903,7 +910,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("tokyonight", "[colors]\nansi = [\n \"#15161e\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#a9b1d6\",\n]\nbackground = \"#1a1b26\"\nbrights = [\n \"#414868\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#c0caf5\",\n]\ncursor_bg = \"#c0caf5\"\ncursor_border = \"#c0caf5\"\ncursor_fg = \"#15161e\"\nforeground = \"#c0caf5\"\nselection_bg = \"#33467c\"\nselection_fg = \"#c0caf5\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"tokyonight\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), ("tokyonight-day", "[colors]\nansi = [\n \"#e9e9ed\",\n \"#f52a65\",\n \"#587539\",\n \"#8c6c3e\",\n \"#2e7de9\",\n \"#9854f1\",\n \"#007197\",\n \"#6172b0\",\n]\nbackground = \"#e1e2e7\"\nbrights = [\n \"#a1a6c5\",\n \"#f52a65\",\n \"#587539\",\n \"#8c6c3e\",\n \"#2e7de9\",\n \"#9854f1\",\n \"#007197\",\n \"#3760bf\",\n]\ncursor_bg = \"#3760bf\"\ncursor_border = \"#3760bf\"\ncursor_fg = \"#e1e2e7\"\nforeground = \"#3760bf\"\nselection_bg = \"#99a7df\"\nselection_fg = \"#3760bf\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"tokyonight-day\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), ("tokyonight-storm", "[colors]\nansi = [\n \"#1d202f\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#a9b1d6\",\n]\nbackground = \"#24283b\"\nbrights = [\n \"#414868\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#c0caf5\",\n]\ncursor_bg = \"#c0caf5\"\ncursor_border = \"#c0caf5\"\ncursor_fg = \"#1d202f\"\nforeground = \"#c0caf5\"\nselection_bg = \"#364a82\"\nselection_fg = \"#c0caf5\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"tokyonight-storm\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), -("tokyonight_day", "[colors]\nansi = [\n \"#e9e9ed\",\n \"#f52a65\",\n \"#587539\",\n \"#8c6c3e\",\n \"#2e7de9\",\n \"#9854f1\",\n \"#007197\",\n \"#6172b0\",\n]\nbackground = \"#e1e2e7\"\nbrights = [\n \"#a1a6c5\",\n \"#f52a65\",\n \"#587539\",\n \"#8c6c3e\",\n \"#2e7de9\",\n \"#9854f1\",\n \"#007197\",\n \"#3760bf\",\n]\ncompose_cursor = \"#b15c00\"\ncursor_bg = \"#3760bf\"\ncursor_border = \"#3760bf\"\ncursor_fg = \"#e1e2e7\"\nforeground = \"#3760bf\"\nscrollbar_thumb = \"#c4c8da\"\nselection_bg = \"#b6bfe2\"\nselection_fg = \"#3760bf\"\nsplit = \"#2e7de9\"\n\n[colors.indexed]\n\n[colors.tab_bar]\nbackground = \"#e1e2e7\"\ninactive_tab_edge = \"#e9e9ec\"\n\n[colors.tab_bar.active_tab]\nbg_color = \"#2e7de9\"\nfg_color = \"#e9e9ec\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab]\nbg_color = \"#c4c8da\"\nfg_color = \"#8990b3\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab_hover]\nbg_color = \"#c4c8da\"\nfg_color = \"#2e7de9\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab]\nbg_color = \"#e1e2e7\"\nfg_color = \"#2e7de9\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab_hover]\nbg_color = \"#e1e2e7\"\nfg_color = \"#2e7de9\"\nintensity = \"Bold\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[metadata]\naliases = [\"tokyonight-day\"]\nauthor = \"folke\"\nname = \"tokyonight_day\"\norigin_url = \"https://github.com/folke/tokyonight.nvim\"\nwezterm_version = \"Always\"\n"), +("tokyonight_day", "[colors]\nansi = [\n \"#b4b5b9\",\n \"#f52a65\",\n \"#587539\",\n \"#8c6c3e\",\n \"#2e7de9\",\n \"#9854f1\",\n \"#007197\",\n \"#6172b0\",\n]\nbackground = \"#e1e2e7\"\nbrights = [\n \"#a1a6c5\",\n \"#f52a65\",\n \"#587539\",\n \"#8c6c3e\",\n \"#2e7de9\",\n \"#9854f1\",\n \"#007197\",\n \"#3760bf\",\n]\ncompose_cursor = \"#b15c00\"\ncursor_bg = \"#3760bf\"\ncursor_border = \"#3760bf\"\ncursor_fg = \"#e1e2e7\"\nforeground = \"#3760bf\"\nscrollbar_thumb = \"#c4c8da\"\nselection_bg = \"#b7c1e3\"\nselection_fg = \"#3760bf\"\nsplit = \"#2e7de9\"\n\n[colors.indexed]\n\n[colors.tab_bar]\nbackground = \"#e1e2e7\"\ninactive_tab_edge = \"#d0d5e3\"\n\n[colors.tab_bar.active_tab]\nbg_color = \"#2e7de9\"\nfg_color = \"#d0d5e3\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab]\nbg_color = \"#c4c8da\"\nfg_color = \"#8990b3\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab_hover]\nbg_color = \"#c4c8da\"\nfg_color = \"#2e7de9\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab]\nbg_color = \"#e1e2e7\"\nfg_color = \"#2e7de9\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab_hover]\nbg_color = \"#e1e2e7\"\nfg_color = \"#2e7de9\"\nintensity = \"Bold\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[metadata]\naliases = [\"tokyonight-day\"]\nauthor = \"folke\"\nname = \"tokyonight_day\"\norigin_url = \"https://github.com/folke/tokyonight.nvim\"\nwezterm_version = \"Always\"\n"), ("tokyonight_moon", "[colors]\nansi = [\n \"#1b1d2b\",\n \"#ff757f\",\n \"#c3e88d\",\n \"#ffc777\",\n \"#82aaff\",\n \"#c099ff\",\n \"#86e1fc\",\n \"#828bb8\",\n]\nbackground = \"#222436\"\nbrights = [\n \"#444a73\",\n \"#ff757f\",\n \"#c3e88d\",\n \"#ffc777\",\n \"#82aaff\",\n \"#c099ff\",\n \"#86e1fc\",\n \"#c8d3f5\",\n]\ncompose_cursor = \"#ff966c\"\ncursor_bg = \"#c8d3f5\"\ncursor_border = \"#c8d3f5\"\ncursor_fg = \"#222436\"\nforeground = \"#c8d3f5\"\nscrollbar_thumb = \"#2f334d\"\nselection_bg = \"#2d3f76\"\nselection_fg = \"#c8d3f5\"\nsplit = \"#82aaff\"\n\n[colors.indexed]\n\n[colors.tab_bar]\nbackground = \"#222436\"\ninactive_tab_edge = \"#1e2030\"\n\n[colors.tab_bar.active_tab]\nbg_color = \"#82aaff\"\nfg_color = \"#1e2030\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab]\nbg_color = \"#2f334d\"\nfg_color = \"#545c7e\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab_hover]\nbg_color = \"#2f334d\"\nfg_color = \"#82aaff\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab]\nbg_color = \"#222436\"\nfg_color = \"#82aaff\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab_hover]\nbg_color = \"#222436\"\nfg_color = \"#82aaff\"\nintensity = \"Bold\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[metadata]\naliases = []\nauthor = \"folke\"\nname = \"tokyonight_moon\"\norigin_url = \"https://github.com/folke/tokyonight.nvim\"\nwezterm_version = \"20230320-124340-559cb7b0\"\n"), ("tokyonight_night", "[colors]\nansi = [\n \"#15161e\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#a9b1d6\",\n]\nbackground = \"#1a1b26\"\nbrights = [\n \"#414868\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#c0caf5\",\n]\ncompose_cursor = \"#ff9e64\"\ncursor_bg = \"#c0caf5\"\ncursor_border = \"#c0caf5\"\ncursor_fg = \"#1a1b26\"\nforeground = \"#c0caf5\"\nscrollbar_thumb = \"#292e42\"\nselection_bg = \"#283457\"\nselection_fg = \"#c0caf5\"\nsplit = \"#7aa2f7\"\n\n[colors.indexed]\n\n[colors.tab_bar]\nbackground = \"#1a1b26\"\ninactive_tab_edge = \"#16161e\"\n\n[colors.tab_bar.active_tab]\nbg_color = \"#7aa2f7\"\nfg_color = \"#16161e\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab]\nbg_color = \"#292e42\"\nfg_color = \"#545c7e\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab_hover]\nbg_color = \"#292e42\"\nfg_color = \"#7aa2f7\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab]\nbg_color = \"#1a1b26\"\nfg_color = \"#7aa2f7\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab_hover]\nbg_color = \"#1a1b26\"\nfg_color = \"#7aa2f7\"\nintensity = \"Bold\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[metadata]\naliases = [\"tokyonight\"]\nauthor = \"folke\"\nname = \"tokyonight_night\"\norigin_url = \"https://github.com/folke/tokyonight.nvim\"\nwezterm_version = \"Always\"\n"), ("tokyonight_storm", "[colors]\nansi = [\n \"#1d202f\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#a9b1d6\",\n]\nbackground = \"#24283b\"\nbrights = [\n \"#414868\",\n \"#f7768e\",\n \"#9ece6a\",\n \"#e0af68\",\n \"#7aa2f7\",\n \"#bb9af7\",\n \"#7dcfff\",\n \"#c0caf5\",\n]\ncompose_cursor = \"#ff9e64\"\ncursor_bg = \"#c0caf5\"\ncursor_border = \"#c0caf5\"\ncursor_fg = \"#24283b\"\nforeground = \"#c0caf5\"\nscrollbar_thumb = \"#292e42\"\nselection_bg = \"#2e3c64\"\nselection_fg = \"#c0caf5\"\nsplit = \"#7aa2f7\"\n\n[colors.indexed]\n\n[colors.tab_bar]\nbackground = \"#24283b\"\ninactive_tab_edge = \"#1f2335\"\n\n[colors.tab_bar.active_tab]\nbg_color = \"#7aa2f7\"\nfg_color = \"#1f2335\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab]\nbg_color = \"#292e42\"\nfg_color = \"#545c7e\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.inactive_tab_hover]\nbg_color = \"#292e42\"\nfg_color = \"#7aa2f7\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab]\nbg_color = \"#24283b\"\nfg_color = \"#7aa2f7\"\nintensity = \"Normal\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[colors.tab_bar.new_tab_hover]\nbg_color = \"#24283b\"\nfg_color = \"#7aa2f7\"\nintensity = \"Bold\"\nitalic = false\nstrikethrough = false\nunderline = \"None\"\n\n[metadata]\naliases = [\"tokyonight-storm\"]\nauthor = \"folke\"\nname = \"tokyonight_storm\"\norigin_url = \"https://github.com/folke/tokyonight.nvim\"\nwezterm_version = \"Always\"\n"), @@ -946,6 +953,7 @@ pub const SCHEMES: [(&'static str, &'static str); 993] = [ ("Vag (Gogh)", "[colors]\nansi = [\n \"#303030\",\n \"#a87139\",\n \"#39a871\",\n \"#71a839\",\n \"#7139a8\",\n \"#a83971\",\n \"#3971a8\",\n \"#8a8a8a\",\n]\nbackground = \"#191f1d\"\nbrights = [\n \"#494949\",\n \"#b0763b\",\n \"#3bb076\",\n \"#76b03b\",\n \"#763bb0\",\n \"#b03b76\",\n \"#3b76b0\",\n \"#cfcfcf\",\n]\ncursor_bg = \"#d9e6f2\"\ncursor_border = \"#d9e6f2\"\ncursor_fg = \"#191f1d\"\nforeground = \"#d9e6f2\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Vag (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), ("Vaughn", "[colors]\nansi = [\n \"#25234f\",\n \"#705050\",\n \"#60b48a\",\n \"#dfaf8f\",\n \"#5555ff\",\n \"#f08cc3\",\n \"#8cd0d3\",\n \"#709080\",\n]\nbackground = \"#25234f\"\nbrights = [\n \"#709080\",\n \"#dca3a3\",\n \"#60b48a\",\n \"#f0dfaf\",\n \"#5555ff\",\n \"#ec93d3\",\n \"#93e0e3\",\n \"#ffffff\",\n]\ncursor_bg = \"#ff5555\"\ncursor_border = \"#ff5555\"\ncursor_fg = \"#ffffff\"\nforeground = \"#dcdccc\"\nselection_bg = \"#b5d5ff\"\nselection_fg = \"#000000\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"Vaughn (Gogh)\"]\nname = \"Vaughn\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Vaughn (Gogh)", "[colors]\nansi = [\n \"#25234f\",\n \"#705050\",\n \"#60b48a\",\n \"#dfaf8f\",\n \"#5555ff\",\n \"#f08cc3\",\n \"#8cd0d3\",\n \"#709080\",\n]\nbackground = \"#25234f\"\nbrights = [\n \"#709080\",\n \"#dca3a3\",\n \"#60b48a\",\n \"#f0dfaf\",\n \"#5555ff\",\n \"#ec93d3\",\n \"#93e0e3\",\n \"#ffffff\",\n]\ncursor_bg = \"#dcdccc\"\ncursor_border = \"#dcdccc\"\ncursor_fg = \"#25234f\"\nforeground = \"#dcdccc\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Vaughn (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), +("Vesper", "[colors]\nansi = [\n \"#101010\",\n \"#f5a191\",\n \"#90b99f\",\n \"#e6b99d\",\n \"#aca1cf\",\n \"#e29eca\",\n \"#ea83a5\",\n \"#a0a0a0\",\n]\nbackground = \"#101010\"\nbrights = [\n \"#7e7e7e\",\n \"#ff8080\",\n \"#99ffe4\",\n \"#ffc799\",\n \"#b9aeda\",\n \"#ecaad6\",\n \"#f591b2\",\n \"#ffffff\",\n]\ncursor_bg = \"#acb1ab\"\ncursor_border = \"#acb1ab\"\ncursor_fg = \"#ffffff\"\nforeground = \"#ffffff\"\nselection_bg = \"#988049\"\nselection_fg = \"#acb1ab\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Vesper\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"nightly builds only\"\n"), ("Vibrant Ink (Gogh)", "[colors]\nansi = [\n \"#878787\",\n \"#ff6600\",\n \"#ccff04\",\n \"#ffcc00\",\n \"#44b4cc\",\n \"#9933cc\",\n \"#44b4cc\",\n \"#f5f5f5\",\n]\nbackground = \"#000000\"\nbrights = [\n \"#555555\",\n \"#ff0000\",\n \"#00ff00\",\n \"#ffff00\",\n \"#0000ff\",\n \"#ff00ff\",\n \"#00ffff\",\n \"#e5e5e5\",\n]\ncursor_bg = \"#ffffff\"\ncursor_border = \"#ffffff\"\ncursor_fg = \"#000000\"\nforeground = \"#ffffff\"\n\n[colors.indexed]\n\n[metadata]\naliases = []\nname = \"Vibrant Ink (Gogh)\"\norigin_url = \"https://github.com/Gogh-Co/Gogh\"\nwezterm_version = \"20230712-072601-f4abf8fd\"\n"), ("VibrantInk", "[colors]\nansi = [\n \"#878787\",\n \"#ff6600\",\n \"#ccff04\",\n \"#ffcc00\",\n \"#44b4cc\",\n \"#9933cc\",\n \"#44b4cc\",\n \"#f5f5f5\",\n]\nbackground = \"#000000\"\nbrights = [\n \"#555555\",\n \"#ff0000\",\n \"#00ff00\",\n \"#ffff00\",\n \"#0000ff\",\n \"#ff00ff\",\n \"#00ffff\",\n \"#e5e5e5\",\n]\ncursor_bg = \"#ffffff\"\ncursor_border = \"#ffffff\"\ncursor_fg = \"#000000\"\nforeground = \"#ffffff\"\nselection_bg = \"#b5d5ff\"\nselection_fg = \"#000000\"\n\n[colors.indexed]\n\n[metadata]\naliases = [\"Vibrant Ink (Gogh)\"]\nname = \"VibrantInk\"\norigin_url = \"https://github.com/mbadolato/iTerm2-Color-Schemes\"\nwezterm_version = \"Always\"\n"), ("Vice Alt (base16)", "[colors]\nansi = [\n \"#1c1c1c\",\n \"#ff3d81\",\n \"#44ffdd\",\n \"#ffff73\",\n \"#2fb1d4\",\n \"#8265ff\",\n \"#00caff\",\n \"#555555\",\n]\nbackground = \"#1c1c1c\"\nbrights = [\n \"#323232\",\n \"#ff3d81\",\n \"#44ffdd\",\n \"#ffff73\",\n \"#2fb1d4\",\n \"#8265ff\",\n \"#00caff\",\n \"#d1d1d1\",\n]\ncursor_bg = \"#555555\"\ncursor_border = \"#555555\"\ncursor_fg = \"#1c1c1c\"\nforeground = \"#555555\"\nselection_bg = \"#555555\"\nselection_fg = \"#1c1c1c\"\n\n[colors.indexed]\n16 = \"#f67544\"\n17 = \"#f83d80\"\n18 = \"#282828\"\n19 = \"#2c2c2c\"\n20 = \"#3c3c3c\"\n21 = \"#b6b6b6\"\n\n[metadata]\naliases = []\nauthor = \"Thomas Leon Highbaugh\"\nname = \"Vice Alt (base16)\"\norigin_url = \"https://github.com/Thomashighbaugh/base16-vice-scheme\"\nwezterm_version = \"20220807-113146-c2fee766\"\n"), diff --git a/docs/changelog.md b/docs/changelog.md index 9431fcec2..48b4d4b58 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -100,9 +100,11 @@ As features stabilize some brief notes about them will accumulate here. * image crate to 0.25, which means that JPEG images are now decoded via [zune-jpeg](https://docs.rs/zune-jpeg/latest/zune_jpeg/), which improves handling of non-conforming jpeg images. #5365 -* Color schemes: +* Color schemes: [Astrodark (Gogh)](colorschemes/a/index.md#astrodark-gogh), [Blue Dolphin (Gogh)](colorschemes/b/index.md#blue-dolphin-gogh), + [Breadog (Gogh)](colorschemes/b/index.md#breadog-gogh), [Butrin (Gogh)](colorschemes/b/index.md#butrin-gogh), + [City Lights (Gogh)](colorschemes/c/index.md#city-lights-gogh), [CutiePro](colorschemes/c/index.md#cutiepro), [Ef-Dream](colorschemes/e/index.md#ef-dream), [Ef-Reverie](colorschemes/e/index.md#ef-reverie), @@ -114,7 +116,9 @@ As features stabilize some brief notes about them will accumulate here. [Everforest Light Medium (Gogh)](colorschemes/e/index.md#everforest-light-medium-gogh), [Everforest Light Soft (Gogh)](colorschemes/e/index.md#everforest-light-soft-gogh), [Github Light (Gogh)](colorschemes/g/index.md#github-light-gogh), + [Iceberg (Gogh)](colorschemes/i/index.md#iceberg-gogh), [Kanagawa Dragon (Gogh)](colorschemes/k/index.md#kanagawa-dragon-gogh), + [kurokula](colorschemes/k/index.md#kurokula), [Mellifluous](colorschemes/m/index.md#mellifluous), [Miramare (Gogh)](colorschemes/m/index.md#miramare-gogh), [Modus Operandi (Gogh)](colorschemes/m/index.md#modus-operandi-gogh), @@ -123,12 +127,15 @@ As features stabilize some brief notes about them will accumulate here. [Modus Vivendi Tinted (Gogh)](colorschemes/m/index.md#modus-vivendi-tinted-gogh), [NvimDark](colorschemes/n/index.md#nvimdark), [NvimLight](colorschemes/n/index.md#nvimlight), + [Paper (Gogh)](colorschemes/p/index.md#paper-gogh), [Quiet (Gogh)](colorschemes/q/index.md#quiet-gogh), [Selenized Black (Gogh)](colorschemes/s/index.md#selenized-black-gogh), [Selenized White (Gogh)](colorschemes/s/index.md#selenized-white-gogh), [Seoul256 (Gogh)](colorschemes/s/index.md#seoul256-gogh), [Seoul256 Light (Gogh)](colorschemes/s/index.md#seoul256-light-gogh), - [Sparky (Gogh)](colorschemes/s/index.md#sparky-gogh) + [Sparky (Gogh)](colorschemes/s/index.md#sparky-gogh), + [Sugarplum](colorschemes/s/index.md#sugarplum), + [Vesper](colorschemes/v/index.md#vesper) ### 20240203-110809-5046fc22 diff --git a/docs/colorschemes/data.json b/docs/colorschemes/data.json index 31627f2a2..ae75e351c 100644 --- a/docs/colorschemes/data.json +++ b/docs/colorschemes/data.json @@ -1337,6 +1337,43 @@ "wezterm_version": "20220807-113146-c2fee766" } }, + { + "colors": { + "ansi": [ + "#111317", + "#f8747e", + "#75ad47", + "#d09214", + "#50a4e9", + "#cc83e3", + "#00b298", + "#adb0bb" + ], + "background": "#1a1d23", + "brights": [ + "#576176", + "#faa5ab", + "#a5cd84", + "#efbd58", + "#8dc3f1", + "#deaeed", + "#27ffdf", + "#caccd3" + ], + "cursor_bg": "#caccd3", + "cursor_border": "#caccd3", + "cursor_fg": "#1a1d23", + "foreground": "#9b9fa9", + "indexed": {} + }, + "metadata": { + "aliases": [], + "name": "Astrodark (Gogh)", + "origin_url": "https://github.com/Gogh-Co/Gogh", + "prefix": "a", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -5037,6 +5074,43 @@ "wezterm_version": "20230712-072601-f4abf8fd" } }, + { + "colors": { + "ansi": [ + "#362c24", + "#b10b00", + "#007232", + "#8b4c00", + "#005cb4", + "#9b0097", + "#006a78", + "#d4c3b7" + ], + "background": "#f1ebe6", + "brights": [ + "#514337", + "#de1100", + "#008f40", + "#ae6000", + "#0074e1", + "#c300bd", + "#008697", + "#eae1da" + ], + "cursor_bg": "#362c24", + "cursor_border": "#362c24", + "cursor_fg": "#f1ebe6", + "foreground": "#362c24", + "indexed": {} + }, + "metadata": { + "aliases": [], + "name": "Breadog (Gogh)", + "origin_url": "https://github.com/Gogh-Co/Gogh", + "prefix": "b", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -7670,6 +7744,43 @@ "wezterm_version": "20220807-113146-c2fee766" } }, + { + "colors": { + "ansi": [ + "#41505e", + "#d95468", + "#8bd49c", + "#ebbf83", + "#539afc", + "#b62d65", + "#70e1e8", + "#ffffff" + ], + "background": "#171d23", + "brights": [ + "#41505e", + "#d95468", + "#8bd49c", + "#ebbf83", + "#539afc", + "#b62d65", + "#70e1e8", + "#ffffff" + ], + "cursor_bg": "#008b94", + "cursor_border": "#008b94", + "cursor_fg": "#171d23", + "foreground": "#ffffff", + "indexed": {} + }, + "metadata": { + "aliases": [], + "name": "City Lights (Gogh)", + "origin_url": "https://github.com/Gogh-Co/Gogh", + "prefix": "c", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -8643,7 +8754,7 @@ ], "background": "#181818", "brights": [ - "#373b41", + "#88847f", "#e5a1a3", "#e8d6a7", "#f1bb79", @@ -19309,6 +19420,43 @@ "wezterm_version": "Always" } }, + { + "colors": { + "ansi": [ + "#161821", + "#e27878", + "#b4be82", + "#e2a478", + "#84a0c6", + "#a093c7", + "#89b8c2", + "#c6c8d1" + ], + "background": "#161821", + "brights": [ + "#6b7089", + "#e98989", + "#c0ca8e", + "#e9b189", + "#91acd1", + "#ada0d3", + "#95c4ce", + "#d2d4de" + ], + "cursor_bg": "#d2d4de", + "cursor_border": "#d2d4de", + "cursor_fg": "#161821", + "foreground": "#c6c8d1", + "indexed": {} + }, + "metadata": { + "aliases": [], + "name": "Iceberg (Gogh)", + "origin_url": "https://github.com/Gogh-Co/Gogh", + "prefix": "i", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -21091,6 +21239,45 @@ "wezterm_version": "Always" } }, + { + "colors": { + "ansi": [ + "#333333", + "#b66056", + "#85b1a9", + "#dbbb43", + "#6890d7", + "#887aa3", + "#837369", + "#ddd0c4" + ], + "background": "#141515", + "brights": [ + "#515151", + "#ffc663", + "#c1ffae", + "#fff700", + "#a1d9ff", + "#a994ff", + "#f9cfb9", + "#ffffff" + ], + "cursor_bg": "#702420", + "cursor_border": "#702420", + "cursor_fg": "#fefbf3", + "foreground": "#ddd0c4", + "indexed": {}, + "selection_bg": "#515151", + "selection_fg": "#ffc663" + }, + "metadata": { + "aliases": [], + "name": "kurokula", + "origin_url": "https://github.com/mbadolato/iTerm2-Color-Schemes", + "prefix": "k", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -28040,6 +28227,43 @@ "wezterm_version": "20220807-113146-c2fee766" } }, + { + "colors": { + "ansi": [ + "#000000", + "#cc3e28", + "#216609", + "#b58900", + "#1e6fcc", + "#5c21a5", + "#158c86", + "#aaaaaa" + ], + "background": "#f2eede", + "brights": [ + "#555555", + "#cc3e28", + "#216609", + "#b58900", + "#1e6fcc", + "#5c21a5", + "#158c86", + "#aaaaaa" + ], + "cursor_bg": "#000000", + "cursor_border": "#000000", + "cursor_fg": "#f2eede", + "foreground": "#000000", + "indexed": {} + }, + "metadata": { + "aliases": [], + "name": "Paper (Gogh)", + "origin_url": "https://github.com/Gogh-Co/Gogh", + "prefix": "p", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -34531,6 +34755,46 @@ "wezterm_version": "Always" } }, + { + "colors": { + "ansi": [ + "#111147", + "#5ca8dc", + "#53b397", + "#249a84", + "#db7ddd", + "#d0beee", + "#f9f3f9", + "#a175d4" + ], + "background": "#111147", + "brights": [ + "#111147", + "#5cb5dc", + "#52deb5", + "#01f5c7", + "#fa5dfd", + "#c6a5fd", + "#ffffff", + "#b577fd" + ], + "cursor_bg": "#53b397", + "cursor_border": "#53b397", + "cursor_fg": "#53b397", + "foreground": "#db7ddd", + "indexed": {}, + "selection_bg": "#5ca8dc", + "selection_fg": "#d0beee" + }, + "metadata": { + "aliases": [], + "author": "lemonlime0x3C33 (https://github.com/lemonlime0x3C33)", + "name": "Sugarplum", + "origin_url": "https://github.com/mbadolato/iTerm2-Color-Schemes", + "prefix": "s", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ @@ -36799,7 +37063,7 @@ { "colors": { "ansi": [ - "#e9e9ed", + "#b4b5b9", "#f52a65", "#587539", "#8c6c3e", @@ -36826,13 +37090,13 @@ "foreground": "#3760bf", "indexed": {}, "scrollbar_thumb": "#c4c8da", - "selection_bg": "#b6bfe2", + "selection_bg": "#b7c1e3", "selection_fg": "#3760bf", "split": "#2e7de9", "tab_bar": { "active_tab": { "bg_color": "#2e7de9", - "fg_color": "#e9e9ec", + "fg_color": "#d0d5e3", "intensity": "Normal", "italic": false, "strikethrough": false, @@ -36847,7 +37111,7 @@ "strikethrough": false, "underline": "None" }, - "inactive_tab_edge": "#e9e9ec", + "inactive_tab_edge": "#d0d5e3", "inactive_tab_hover": { "bg_color": "#c4c8da", "fg_color": "#2e7de9", @@ -38671,6 +38935,45 @@ "wezterm_version": "20230712-072601-f4abf8fd" } }, + { + "colors": { + "ansi": [ + "#101010", + "#f5a191", + "#90b99f", + "#e6b99d", + "#aca1cf", + "#e29eca", + "#ea83a5", + "#a0a0a0" + ], + "background": "#101010", + "brights": [ + "#7e7e7e", + "#ff8080", + "#99ffe4", + "#ffc799", + "#b9aeda", + "#ecaad6", + "#f591b2", + "#ffffff" + ], + "cursor_bg": "#acb1ab", + "cursor_border": "#acb1ab", + "cursor_fg": "#ffffff", + "foreground": "#ffffff", + "indexed": {}, + "selection_bg": "#988049", + "selection_fg": "#acb1ab" + }, + "metadata": { + "aliases": [], + "name": "Vesper", + "origin_url": "https://github.com/mbadolato/iTerm2-Color-Schemes", + "prefix": "v", + "wezterm_version": "nightly builds only" + } + }, { "colors": { "ansi": [ diff --git a/sync-color-schemes/src/main.rs b/sync-color-schemes/src/main.rs index 018451198..6682b8095 100644 --- a/sync-color-schemes/src/main.rs +++ b/sync-color-schemes/src/main.rs @@ -84,7 +84,9 @@ pub async fn fetch_url(url: &str) -> anyhow::Result> { } fn make_ident(key: &str) -> String { - let key = key.to_ascii_lowercase(); + let key = key + .to_ascii_lowercase() + .replace("terminal.sexy", "terminalsexy"); let fields: Vec<&str> = key .split(|c: char| !c.is_alphanumeric()) .filter(|c| !c.is_empty()) From fe17be2973e3926bb81475d38e5397fe1afc0791 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 07:00:13 -0700 Subject: [PATCH 60/69] docs: fix some anchors --- docs/changelog.md | 72 ++++++++++++------------- docs/config/appearance.md | 2 +- docs/config/lua/config/tab_bar_style.md | 2 +- docs/features.md | 2 +- docs/index.md | 2 +- 5 files changed, 40 insertions(+), 40 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 48b4d4b58..a27073267 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -237,7 +237,7 @@ As features stabilize some brief notes about them will accumulate here. as a preprocessing step, and controlling the filtering and format used by the resizing, along with showing diagnostics around the resize operation. #3264 * Color schemes: [Aardvark Blue](colorschemes/a/index.md#aardvark-blue), - [alacritty](colorschemes/a/index.md#alacritty), + [alacritty](colorschemes/a/index.md), [Apple System Colors](colorschemes/a/index.md#apple-system-colors), [Bamboo Light](colorschemes/b/index.md#bamboo-light), [Campbell (Gogh)](colorschemes/c/index.md#campbell-gogh), @@ -281,7 +281,7 @@ As features stabilize some brief notes about them will accumulate here. [Moonfly (Gogh)](colorschemes/m/index.md#moonfly-gogh), [Nightfly (Gogh)](colorschemes/n/index.md#nightfly-gogh), [Oxocarbon Dark (Gogh)](colorschemes/o/index.md#oxocarbon-dark-gogh), - [Rosé Pine Moon (base16)](colorschemes/r/index.md#rosé-pine-moon-base16), + [Rosé Pine Moon (base16)](colorschemes/r/index.md#rose-pine-moon-base16), [Selenized Dark (Gogh)](colorschemes/s/index.md#selenized-dark-gogh), [Selenized Light (Gogh)](colorschemes/s/index.md#selenized-light-gogh), [Website (Gogh)](colorschemes/w/index.md#website-gogh) @@ -497,7 +497,7 @@ As features stabilize some brief notes about them will accumulate here. * Bundled freetype to 2.13.0 * Bundled Nerd Font Symbols font to v3.0.1. Note that there are several [breaking changes in v3](https://github.com/ryanoasis/nerd-fonts/releases/tag/v3.0.0). -* Color schemes: [3024 (dark) (terminal.sexy)](colorschemes/3/index.md#3024-dark-terminal-sexy), +* Color schemes: [3024 (dark) (terminal.sexy)](colorschemes/3/index.md#3024-dark-terminalsexy), [3024 Day (Gogh)](colorschemes/3/index.md#3024-day-gogh), [3024 Night (Gogh)](colorschemes/3/index.md#3024-night-gogh), [Adventure Time (Gogh)](colorschemes/a/index.md#adventure-time-gogh), @@ -505,45 +505,45 @@ As features stabilize some brief notes about them will accumulate here. [Apprentice (Gogh)](colorschemes/a/index.md#apprentice-gogh), [Argonaut (Gogh)](colorschemes/a/index.md#argonaut-gogh), [Arthur (Gogh)](colorschemes/a/index.md#arthur-gogh), - [Ashes (dark) (terminal.sexy)](colorschemes/a/index.md#ashes-dark-terminal-sexy), + [Ashes (dark) (terminal.sexy)](colorschemes/a/index.md#ashes-dark-terminalsexy), [Atom (Gogh)](colorschemes/a/index.md#atom-gogh), [Bamboo](colorschemes/b/index.md#bamboo), [Bamboo Multiplex](colorschemes/b/index.md#bamboo-multiplex), [Belafonte Day (Gogh)](colorschemes/b/index.md#belafonte-day-gogh), [Belafonte Night (Gogh)](colorschemes/b/index.md#belafonte-night-gogh), - [Bespin (dark) (terminal.sexy)](colorschemes/b/index.md#bespin-dark-terminal-sexy), + [Bespin (dark) (terminal.sexy)](colorschemes/b/index.md#bespin-dark-terminalsexy), [Birds Of Paradise (Gogh)](colorschemes/b/index.md#birds-of-paradise-gogh), [Blazer (Gogh)](colorschemes/b/index.md#blazer-gogh), [Borland (Gogh)](colorschemes/b/index.md#borland-gogh), - [Brewer (dark) (terminal.sexy)](colorschemes/b/index.md#brewer-dark-terminal-sexy), + [Brewer (dark) (terminal.sexy)](colorschemes/b/index.md#brewer-dark-terminalsexy), [Broadcast (Gogh)](colorschemes/b/index.md#broadcast-gogh), [Brogrammer (Gogh)](colorschemes/b/index.md#brogrammer-gogh), [C64 (Gogh)](colorschemes/c/index.md#c64-gogh), - [Catppuccin Frappé (Gogh)](colorschemes/c/index.md#catppuccin-frappé-gogh), + [Catppuccin Frappé (Gogh)](colorschemes/c/index.md#catppuccin-frappe-gogh), [Catppuccin Latte (Gogh)](colorschemes/c/index.md#catppuccin-latte-gogh), [Catppuccin Macchiato (Gogh)](colorschemes/c/index.md#catppuccin-macchiato-gogh), [Catppuccin Mocha (Gogh)](colorschemes/c/index.md#catppuccin-mocha-gogh), [catppuccin-frappe](colorschemes/c/index.md#catppuccin-frappe), [catppuccin-macchiato](colorschemes/c/index.md#catppuccin-macchiato), [catppuccin-mocha](colorschemes/c/index.md#catppuccin-mocha), - [Chalk (dark) (terminal.sexy)](colorschemes/c/index.md#chalk-dark-terminal-sexy), + [Chalk (dark) (terminal.sexy)](colorschemes/c/index.md#chalk-dark-terminalsexy), [Chalkboard (Gogh)](colorschemes/c/index.md#chalkboard-gogh), [Ciapre (Gogh)](colorschemes/c/index.md#ciapre-gogh), [Clrs (Gogh)](colorschemes/c/index.md#clrs-gogh), [Cobalt 2 (Gogh)](colorschemes/c/index.md#cobalt-2-gogh), [Cobalt Neon (Gogh)](colorschemes/c/index.md#cobalt-neon-gogh), - [Codeschool (dark) (terminal.sexy)](colorschemes/c/index.md#codeschool-dark-terminal-sexy), + [Codeschool (dark) (terminal.sexy)](colorschemes/c/index.md#codeschool-dark-terminalsexy), [Crayon Pony Fish (Gogh)](colorschemes/c/index.md#crayon-pony-fish-gogh), [Dark Pastel (Gogh)](colorschemes/d/index.md#dark-pastel-gogh), [Darkside (Gogh)](colorschemes/d/index.md#darkside-gogh), - [Default (dark) (terminal.sexy)](colorschemes/d/index.md#default-dark-terminal-sexy), + [Default (dark) (terminal.sexy)](colorschemes/d/index.md#default-dark-terminalsexy), [Desert (Gogh)](colorschemes/d/index.md#desert-gogh), [Dimmed Monokai (Gogh)](colorschemes/d/index.md#dimmed-monokai-gogh), [Earthsong (Gogh)](colorschemes/e/index.md#earthsong-gogh), [Ef-Tritanopia-Light](colorschemes/e/index.md#ef-tritanopia-light), - [Eighties (dark) (terminal.sexy)](colorschemes/e/index.md#eighties-dark-terminal-sexy), + [Eighties (dark) (terminal.sexy)](colorschemes/e/index.md#eighties-dark-terminalsexy), [Elemental (Gogh)](colorschemes/e/index.md#elemental-gogh), - [Embers (dark) (terminal.sexy)](colorschemes/e/index.md#embers-dark-terminal-sexy), + [Embers (dark) (terminal.sexy)](colorschemes/e/index.md#embers-dark-terminalsexy), [Espresso (Gogh)](colorschemes/e/index.md#espresso-gogh), [Espresso Libre (Gogh)](colorschemes/e/index.md#espresso-libre-gogh), [Everblush (Gogh)](colorschemes/e/index.md#everblush-gogh), @@ -553,13 +553,13 @@ As features stabilize some brief notes about them will accumulate here. [Frontend Fun Forrest (Gogh)](colorschemes/f/index.md#frontend-fun-forrest-gogh), [Frontend Galaxy (Gogh)](colorschemes/f/index.md#frontend-galaxy-gogh), [Github (Gogh)](colorschemes/g/index.md#github-gogh), - [Gnometerm (terminal.sexy)](colorschemes/g/index.md#gnometerm-terminal-sexy), - [Google (dark) (terminal.sexy)](colorschemes/g/index.md#google-dark-terminal-sexy), - [Gotham (terminal.sexy)](colorschemes/g/index.md#gotham-terminal-sexy), + [Gnometerm (terminal.sexy)](colorschemes/g/index.md#gnometerm-terminalsexy), + [Google (dark) (terminal.sexy)](colorschemes/g/index.md#google-dark-terminalsexy), + [Gotham (terminal.sexy)](colorschemes/g/index.md#gotham-terminalsexy), [Grape (Gogh)](colorschemes/g/index.md#grape-gogh), [Grass (Gogh)](colorschemes/g/index.md#grass-gogh), - [Grayscale (dark) (terminal.sexy)](colorschemes/g/index.md#grayscale-dark-terminal-sexy), - [Greenscreen (dark) (terminal.sexy)](colorschemes/g/index.md#greenscreen-dark-terminal-sexy), + [Grayscale (dark) (terminal.sexy)](colorschemes/g/index.md#grayscale-dark-terminalsexy), + [Greenscreen (dark) (terminal.sexy)](colorschemes/g/index.md#greenscreen-dark-terminalsexy), [Gruvbox Dark (Gogh)](colorschemes/g/index.md#gruvbox-dark-gogh), [Hardcore (Gogh)](colorschemes/h/index.md#hardcore-gogh), [hardhacker](colorschemes/h/index.md#hardhacker), @@ -573,7 +573,7 @@ As features stabilize some brief notes about them will accumulate here. [Hurtado (Gogh)](colorschemes/h/index.md#hurtado-gogh), [Ic Orange Ppl (Gogh)](colorschemes/i/index.md#ic-orange-ppl-gogh), [Idle Toes (Gogh)](colorschemes/i/index.md#idle-toes-gogh), - [Isotope (dark) (terminal.sexy)](colorschemes/i/index.md#isotope-dark-terminal-sexy), + [Isotope (dark) (terminal.sexy)](colorschemes/i/index.md#isotope-dark-terminalsexy), [Jackie Brown (Gogh)](colorschemes/j/index.md#jackie-brown-gogh), [Japanesque (Gogh)](colorschemes/j/index.md#japanesque-gogh), [Jellybeans (Gogh)](colorschemes/j/index.md#jellybeans-gogh), @@ -582,15 +582,15 @@ As features stabilize some brief notes about them will accumulate here. [Lavandula (Gogh)](colorschemes/l/index.md#lavandula-gogh), [Liquid Carbon (Gogh)](colorschemes/l/index.md#liquid-carbon-gogh), [Liquid Carbon Transparent (Gogh)](colorschemes/l/index.md#liquid-carbon-transparent-gogh), - [Londontube (dark) (terminal.sexy)](colorschemes/l/index.md#londontube-dark-terminal-sexy), + [Londontube (dark) (terminal.sexy)](colorschemes/l/index.md#londontube-dark-terminalsexy), [Man Page (Gogh)](colorschemes/m/index.md#man-page-gogh), - [Marrakesh (dark) (terminal.sexy)](colorschemes/m/index.md#marrakesh-dark-terminal-sexy), + [Marrakesh (dark) (terminal.sexy)](colorschemes/m/index.md#marrakesh-dark-terminalsexy), [Mathias (Gogh)](colorschemes/m/index.md#mathias-gogh), [Medallion (Gogh)](colorschemes/m/index.md#medallion-gogh), [Misterioso (Gogh)](colorschemes/m/index.md#misterioso-gogh), - [Mocha (dark) (terminal.sexy)](colorschemes/m/index.md#mocha-dark-terminal-sexy), + [Mocha (dark) (terminal.sexy)](colorschemes/m/index.md#mocha-dark-terminalsexy), [Mona Lisa (Gogh)](colorschemes/m/index.md#mona-lisa-gogh), - [Monokai (dark) (terminal.sexy)](colorschemes/m/index.md#monokai-dark-terminal-sexy), + [Monokai (dark) (terminal.sexy)](colorschemes/m/index.md#monokai-dark-terminalsexy), [Monokai Soda (Gogh)](colorschemes/m/index.md#monokai-soda-gogh), [N0Tch2K (Gogh)](colorschemes/n/index.md#n0tch2k-gogh), [Neopolitan (Gogh)](colorschemes/n/index.md#neopolitan-gogh), @@ -601,24 +601,24 @@ As features stabilize some brief notes about them will accumulate here. [Nord (Gogh)](colorschemes/n/index.md#nord-gogh), [Novel (Gogh)](colorschemes/n/index.md#novel-gogh), [Obsidian (Gogh)](colorschemes/o/index.md#obsidian-gogh), - [Ocean (dark) (terminal.sexy)](colorschemes/o/index.md#ocean-dark-terminal-sexy), + [Ocean (dark) (terminal.sexy)](colorschemes/o/index.md#ocean-dark-terminalsexy), [Oceanic Next (Gogh)](colorschemes/o/index.md#oceanic-next-gogh), [Ollie (Gogh)](colorschemes/o/index.md#ollie-gogh), [Paraiso (base16)](colorschemes/p/index.md#paraiso-base16), - [Paraiso (dark) (terminal.sexy)](colorschemes/p/index.md#paraiso-dark-terminal-sexy), + [Paraiso (dark) (terminal.sexy)](colorschemes/p/index.md#paraiso-dark-terminalsexy), [Paraiso Dark (Gogh)](colorschemes/p/index.md#paraiso-dark-gogh), [Pencil Dark (Gogh)](colorschemes/p/index.md#pencil-dark-gogh), [Pencil Light (Gogh)](colorschemes/p/index.md#pencil-light-gogh), [Pnevma (Gogh)](colorschemes/p/index.md#pnevma-gogh), [Pro (Gogh)](colorschemes/p/index.md#pro-gogh), - [Railscasts (dark) (terminal.sexy)](colorschemes/r/index.md#railscasts-dark-terminal-sexy), + [Railscasts (dark) (terminal.sexy)](colorschemes/r/index.md#railscasts-dark-terminalsexy), [Red Alert (Gogh)](colorschemes/r/index.md#red-alert-gogh), [Red Sands (Gogh)](colorschemes/r/index.md#red-sands-gogh), [Relaxed (Gogh)](colorschemes/r/index.md#relaxed-gogh), [Rippedcasts (Gogh)](colorschemes/r/index.md#rippedcasts-gogh), - [Rosé Pine (Gogh)](colorschemes/r/index.md#rosé-pine-gogh), - [Rosé Pine Dawn (Gogh)](colorschemes/r/index.md#rosé-pine-dawn-gogh), - [Rosé Pine Moon (Gogh)](colorschemes/r/index.md#rosé-pine-moon-gogh), + [Rosé Pine (Gogh)](colorschemes/r/index.md#rose-pine-gogh), + [Rosé Pine Dawn (Gogh)](colorschemes/r/index.md#rose-pine-dawn-gogh), + [Rosé Pine Moon (Gogh)](colorschemes/r/index.md#rose-pine-moon-gogh), [Royal (Gogh)](colorschemes/r/index.md#royal-gogh), [Sea Shells (Gogh)](colorschemes/s/index.md#sea-shells-gogh), [Seafoam Pastel (Gogh)](colorschemes/s/index.md#seafoam-pastel-gogh), @@ -647,7 +647,7 @@ As features stabilize some brief notes about them will accumulate here. [tokyonight-storm](colorschemes/t/index.md#tokyonight-storm), [Toy Chest (Gogh)](colorschemes/t/index.md#toy-chest-gogh), [Treehouse (Gogh)](colorschemes/t/index.md#treehouse-gogh), - [Twilight (dark) (terminal.sexy)](colorschemes/t/index.md#twilight-dark-terminal-sexy), + [Twilight (dark) (terminal.sexy)](colorschemes/t/index.md#twilight-dark-terminalsexy), [Twilight (Gogh)](colorschemes/t/index.md#twilight-gogh), [Urple (Gogh)](colorschemes/u/index.md#urple-gogh), [Vaughn (Gogh)](colorschemes/v/index.md#vaughn-gogh), @@ -889,8 +889,8 @@ As features stabilize some brief notes about them will accumulate here. [rose-pine](colorschemes/r/index.md#rose-pine), [rose-pine-dawn](colorschemes/r/index.md#rose-pine-dawn), [rose-pine-moon](colorschemes/r/index.md#rose-pine-moon), - [Solarized (dark) (terminal.sexy)](colorschemes/s/index.md#solarized-dark-terminal-sexy), - [tokyonight_moon](colorschemes/t/index.md#tokyonight-moon) + [Solarized (dark) (terminal.sexy)](colorschemes/s/index.md#solarized-dark-terminalsexy), + [tokyonight_moon](colorschemes/t/index.md) * [window:focus()](config/lua/window/focus.md), [ActivateWindow](config/lua/keyassignment/ActivateWindow.md), [ActivateWindowRelative](config/lua/keyassignment/ActivateWindowRelative.md), @@ -1232,7 +1232,7 @@ As features stabilize some brief notes about them will accumulate here. #### New -* Color schemes: [carbonfox](colorschemes/c/index.md#carbonfox), [DanQing Light (base16)](colorschemes/d/index.md#danqing-light-base16), [Dracula (Official)](colorschemes/d/index.md#dracula-official), [Poimandres](colorschemes/p/index.md#poimandres), [Poimandres Storm](colorschemes/p/index.md#poimandres-storm), [Sequoia Monochrome](colorschemes/s/index.md#sequoia-monochrome), [Sequoia Moonlight](colorschemes/s/index.md#sequoia-moonlight), [SynthwaveAlpha](colorschemes/s/index.md#synthwavealpha), [SynthwaveAlpha (Gogh)](colorschemes/s/index.md#synthwavealpha-gogh) +* Color schemes: [carbonfox](colorschemes/c/index.md#carbonfox), [DanQing Light (base16)](colorschemes/d/index.md#danqing-light-base16), [Dracula (Official)](colorschemes/d/index.md#dracula-official), [Poimandres](colorschemes/p/index.md#poimandres), [Poimandres Storm](colorschemes/p/index.md#poimandres-storm), [Sequoia Monochrome](colorschemes/s/index.md#sequoia-monochrome), [Sequoia Moonlight](colorschemes/s/index.md#sequoia-moonlight), [SynthwaveAlpha](colorschemes/s/index.md#synthwavealpha), [SynthwaveAlpha (Gogh)](colorschemes/s/index.md#synthwave-alpha-gogh) * [window_frame](config/lua/config/window_frame.md) now supports setting border size and color [#2417](https://github.com/wez/wezterm/issues/2417) * [CopyMode](copymode.md) now supports selecting and move by semantic zones. [#2346](https://github.com/wez/wezterm/issues/2346) * [max_fps](config/lua/config/max_fps.md) option to limit maximum frame rate [#2419](https://github.com/wez/wezterm/discussions/2419) @@ -1310,7 +1310,7 @@ As features stabilize some brief notes about them will accumulate here. * Internal scrollback datastructure improvements reduce per-cell overhead by up to ~40x depending on the composition of the line (lines with lots of varied attributes or image attachments will have more overhead). * Improved search performance * Quickselect: now defaults to searching 1000 lines above and below the current viewport, making it faster and the labels shorter for users with a larger scrollback. A new `scope_lines` parameter to [QuickSelectArgs](config/lua/keyassignment/QuickSelectArgs.md) allows controlling the search region explicitly. Thanks to [@yyogo](https://github.com/yyogo) for the initial PR! [#1317](https://github.com/wez/wezterm/pull/1317) -* OSC 10, 11 and 12 (Set Default Text Background, Default Text Foreground Color, and Text Cursor Color) now support setting the alpha component [#2313](https://github.com/wez/wezterm/issues/2313), and added [CSI 38:6](escape-sequences.md#csi-386---foreground-color-rgba), `CSI 48:6` and `CSI 58:6` extensions to allow setting full color RGB with Alpha channel for spans of text. +* OSC 10, 11 and 12 (Set Default Text Background, Default Text Foreground Color, and Text Cursor Color) now support setting the alpha component [#2313](https://github.com/wez/wezterm/issues/2313), and added [CSI 38:6](escape-sequences.md#csi-386-foreground-color-rgba), `CSI 48:6` and `CSI 58:6` extensions to allow setting full color RGB with Alpha channel for spans of text. * Copy Mode: setting the same selection mode a second time will now toggle off that mode and clear the selection, preserving the current position [#2246](https://github.com/wez/wezterm/discussions/2246) * Copy Mode: new default vim-style `y` "yank" key assignment will copy the selection and close copy mode @@ -1370,7 +1370,7 @@ As features stabilize some brief notes about them will accumulate here. * In Copy Mode, `SHIFT-v` will enable line selection mode. Thanks to [@bew](https://github.com/bew)! [#2086](https://github.com/wez/wezterm/pull/2086) * In Copy Mode, `o` and `O` can be used to move the cursor to the other end of the selection, as in vim. Thanks to [@bew](https://github.com/bew)! [#2150](https://github.com/wez/wezterm/pull/2150) * Copy Mode: key assignments are [now configurable](copymode.md#configurable-key-assignments) [#993](https://github.com/wez/wezterm/issues/993) -* Search Mode: key assignments are [now configurable](scrollback.md#configurable-key-assignments) [#993](https://github.com/wez/wezterm/issues/993) +* Search Mode: key assignments are [now configurable](scrollback.md#configurable-search-mode-key-assignments) [#993](https://github.com/wez/wezterm/issues/993) * Search Mode: the default `CTRL-SHIFT-F` key assignment now defaults to the new `CurrentSelectionOrEmptyString` mode to search for the current selection text, if any. See [Search](config/lua/keyassignment/Search.md) for more info. * Copy Mode and Search Mode can be toggled and remember search results and cursor positioning, making it easier to locate and select text without using the mouse [#1592](https://github.com/wez/wezterm/issues/1592) * In the Launcher Menu, you may now use `CTRL-G` to cancel/exit the launcher [#1977](https://github.com/wez/wezterm/issues/1977) @@ -1384,7 +1384,7 @@ As features stabilize some brief notes about them will accumulate here. * [PaneSelect](config/lua/keyassignment/PaneSelect.md) key assignment to activate the pane selection UI to activate or swap the selected pane. [#1842](https://github.com/wez/wezterm/issues/1842) [#1975](https://github.com/wez/wezterm/issues/1975) * [window_background_gradient](config/lua/config/window_background_gradient.md) now also supports `Linear` gradients with an angle of your choice. Thanks to [@erf](https://github.com/erf)! [#2038](https://github.com/wez/wezterm/pull/2038) * RPM and DEB packages now install zsh and bash `wezterm` CLI completions -* Color schemes: [arcoiris](colorschemes/a/index.md#arcoiris), [duckbones](colorschemes/d/index.md#duckbones), [Grey-green](colorschemes/g/index.md#grey-green), [kanagawabones](colorschemes/k/index.md#kanagawabones), [Neon](colorschemes/n/index.md#neon), [neobones_dark](colorschemes/n/index.md#neobones_dark), [neobones_light](colorschemes/n/index.md#neobones_light), [seoulbones_dark](colorschemes/s/index.md#seoulbones_dark), [seoulbones_light](colorschemes/s/index.md#seoulbones_light), [tokyonight-day](colorschemes/t/index.md#tokyonight-day), [tokyonight-storm](colorschemes/t/index.md#tokyonight-storm), [tokyonight](colorschemes/t/index.md#tokyonight), [vimbones](colorschemes/v/index.md#vimbones), [zenbones](colorschemes/z/index.md#zenbones), [zenbones_dark](colorschemes/z/index.md#zenbones_dark), [zenbones_light](colorschemes/z/index.md#zenbones_light), [zenburned](colorschemes/z/index.md#zenburned), [zenwritten_dark](colorschemes/z/index.md#zenwritten_dark), [zenwritten_light](colorschemes/z/index.md#zenwritten_light) +* Color schemes: [arcoiris](colorschemes/a/index.md#arcoiris), [duckbones](colorschemes/d/index.md#duckbones), [Grey-green](colorschemes/g/index.md#grey-green), [kanagawabones](colorschemes/k/index.md#kanagawabones), [Neon](colorschemes/n/index.md#neon), [neobones_dark](colorschemes/n/index.md#neobones_dark), [neobones_light](colorschemes/n/index.md#neobones_light), [seoulbones_dark](colorschemes/s/index.md#seoulbones_dark), [seoulbones_light](colorschemes/s/index.md#seoulbones_light), [tokyonight-day](colorschemes/t/index.md#tokyonight-day), [tokyonight-storm](colorschemes/t/index.md#tokyonight-storm), [tokyonight](colorschemes/t/index.md#tokyonight), [vimbones](colorschemes/v/index.md#vimbones), [zenbones](colorschemes/z/index.md#zenbones), [zenbones_dark](colorschemes/z/index.md#zenbones_dark), [zenbones_light](colorschemes/z/index.md), [zenburned](colorschemes/z/index.md#zenburned), [zenwritten_dark](colorschemes/z/index.md#zenwritten_dark), [zenwritten_light](colorschemes/z/index.md#zenwritten_light) * [wezterm.GLOBAL](config/lua/wezterm/GLOBAL.md) for persisting lua data across config reloads * `wezterm show-keys` command to show key and mouse binding assignments [#2134](https://github.com/wez/wezterm/issues/2134) @@ -1957,7 +1957,7 @@ As features stabilize some brief notes about them will accumulate here. * macOS: Windows now have drop-shadows when they are opaque. These were disabled due transparency support was added. Thanks to [Rice](https://github.com/fanzeyi)! [#445](https://github.com/wez/wezterm/pull/445) * Unix: adjust font-config patterns to also match "dual spacing" fonts such as [Iosevka Term](https://typeof.net/Iosevka/). Thanks to [Leiser](https://github.com/leiserfg)! [#446](https://github.com/wez/wezterm/pull/446) * New: Added [alternate_buffer_wheel_scroll_speed](config/lua/config/alternate_buffer_wheel_scroll_speed.md) option to control how many cursor key presses are generated by the mouse wheel when the alternate screen is active. The new default for this is a faster-than-previous-releases 3 lines per wheel tick. [#432](https://github.com/wez/wezterm/issues/432) -* macOS: Dead Keys are now processed even when `use_ime=false`. [More details in the docs](config/keys.md#macos-left-and-right-option-key). [#410](https://github.com/wez/wezterm/issues/410). +* macOS: Dead Keys are now processed even when `use_ime=false`. [More details in the docs](config/keyboard-concepts.md#macos-left-and-right-option-key). [#410](https://github.com/wez/wezterm/issues/410). * X11: attempt to load cursors from the XCursor.theme resource specified on the root window [#524](https://github.com/wez/wezterm/issues/524) * Added `file://` URL matching to the default list of implicit hyperlink rules [#525](https://github.com/wez/wezterm/issues/525) diff --git a/docs/config/appearance.md b/docs/config/appearance.md index bd8955f88..d89c021b0 100644 --- a/docs/config/appearance.md +++ b/docs/config/appearance.md @@ -481,7 +481,7 @@ config.window_background_image_hsb = { } ``` -See [Styling Inactive Panes](#style-inactive-panes) for more information +See [Styling Inactive Panes](#styling-inactive-panes) for more information on hue, saturation, brigthness transformations. If you'd like to have control over scaling, tiling/repeating, scrolling diff --git a/docs/config/lua/config/tab_bar_style.md b/docs/config/lua/config/tab_bar_style.md index 194a4959c..cce670630 100644 --- a/docs/config/lua/config/tab_bar_style.md +++ b/docs/config/lua/config/tab_bar_style.md @@ -19,7 +19,7 @@ have been removed and replaced by the more flexible {{since('20210314-114017-04b7cedd')}} This config option allows styling the elements that appear in the tab bar. -This configuration supplements the [tab bar color](../../appearance.md#tab-bar-appearance--colors) +This configuration supplements the [tab bar color](../../appearance.md#tab-bar-appearance-colors) options. Styling in this context refers to how the edges of the tabs and the new tab button are rendered. diff --git a/docs/features.md b/docs/features.md index 127b4dd53..6f4bba995 100644 --- a/docs/features.md +++ b/docs/features.md @@ -7,7 +7,7 @@ hide: * Runs on Linux, macOS, Windows 10 and FreeBSD * [Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback](multiplexing.md) -* Ligatures, Color Emoji and font fallback, with true color and [dynamic color schemes](config/appearance.md#colors). +* Ligatures, Color Emoji and font fallback, with true color and [dynamic color schemes](config/appearance.md). * [Hyperlinks](hyperlinks.md) * [Searchable Scrollback](scrollback.md) (use mouse wheel and `Shift-PageUp` and `Shift PageDown` to navigate, Ctrl-Shift-F to activate search mode) * xterm style selection of text with mouse; paste selection via `Shift-Insert` (bracketed paste is supported!) diff --git a/docs/index.md b/docs/index.md index ad360b78c..143fb0e40 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,7 +13,7 @@ hide: * Runs on Linux, macOS, Windows 10 and FreeBSD * [Multiplex terminal panes, tabs and windows on local and remote hosts, with native mouse and scrollback](multiplexing.md) -* Ligatures, Color Emoji and font fallback, with true color and [dynamic color schemes](config/appearance.md#colors). +* Ligatures, Color Emoji and font fallback, with true color and [dynamic color schemes](config/appearance.md). * [Hyperlinks](hyperlinks.md) * [A full list of features can be found here](features.md) From ae9cdad2281bd3e83b088800dd7488692ebf6a11 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 07:27:46 -0700 Subject: [PATCH 61/69] ssh domains: use default local echo threshol The implementation of this is a bit gnarly, because we have an optional value with a default that *is* populated by the dynamic config stuff, but that isn't part of the derive(Debug) impl. closes: https://github.com/wez/wezterm/issues/5547 --- config/src/ssh.rs | 2 ++ docs/changelog.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/config/src/ssh.rs b/config/src/ssh.rs index e725800fd..7fc0e3103 100644 --- a/config/src/ssh.rs +++ b/config/src/ssh.rs @@ -119,6 +119,7 @@ impl SshDomain { name: format!("SSH:{host}"), remote_address: host.to_string(), multiplexing: SshMultiplexing::None, + local_echo_threshold_ms: default_local_echo_threshold_ms(), ..SshDomain::default() }); @@ -126,6 +127,7 @@ impl SshDomain { name: format!("SSHMUX:{host}"), remote_address: host.to_string(), multiplexing: SshMultiplexing::WezTerm, + local_echo_threshold_ms: default_local_echo_threshold_ms(), ..SshDomain::default() }); } diff --git a/docs/changelog.md b/docs/changelog.md index a27073267..398724268 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -93,6 +93,8 @@ As features stabilize some brief notes about them will accumulate here. `pixel_height`. * ssh: we now explicitly kill and reap the `ProxyCommand` associated with an ssh session. Thanks to @daaku! #5494 #5479 +* `default_ssh_domains()` didn't use the default local echo threshold + for ssh domains. #5547 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg From c9116830c27baf0c547a1524d33363fd5e42295a Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 15 Jul 2024 08:09:45 -0700 Subject: [PATCH 62/69] mux: augment PKI SAN list with getaddrinfo AI_CANONNAME This should hopefully make things a bit easier to consume for remote clients. refs: https://github.com/wez/wezterm/issues/5543 --- Cargo.lock | 14 +++++++++++ docs/changelog.md | 3 +++ wezterm-mux-server-impl/Cargo.toml | 2 ++ wezterm-mux-server-impl/src/pki.rs | 39 ++++++++++++++++++++++++------ 4 files changed, 51 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b6f6f1fb3..3ee07bae9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1302,6 +1302,18 @@ dependencies = [ "libloading 0.8.4", ] +[[package]] +name = "dns-lookup" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc" +dependencies = [ + "cfg-if", + "libc", + "socket2", + "windows-sys 0.48.0", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -6415,9 +6427,11 @@ dependencies = [ "async_ossl", "codec", "config", + "dns-lookup", "futures", "hostname", "lazy_static", + "libc", "log", "mux", "portable-pty", diff --git a/docs/changelog.md b/docs/changelog.md index 398724268..d3afceb21 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -95,6 +95,9 @@ As features stabilize some brief notes about them will accumulate here. with an ssh session. Thanks to @daaku! #5494 #5479 * `default_ssh_domains()` didn't use the default local echo threshold for ssh domains. #5547 +* multiplexer: internal PKI certificate now supplements its list of + "Subject Alternative Names" with the list of canonical hostnames returned + for the local system via `getaddrinfo`. #5543 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg diff --git a/wezterm-mux-server-impl/Cargo.toml b/wezterm-mux-server-impl/Cargo.toml index 228931e42..fba5c8f03 100644 --- a/wezterm-mux-server-impl/Cargo.toml +++ b/wezterm-mux-server-impl/Cargo.toml @@ -13,9 +13,11 @@ async_ossl = { path = "../async_ossl" } async-io = "2.3" codec = { path = "../codec" } config = { path = "../config" } +dns-lookup = "2.0" futures = "0.3" hostname = "0.4" lazy_static = "1.4" +libc = "0.2" log = "0.4" mux = { path = "../mux" } portable-pty = { path = "../pty", features = ["serde_support"]} diff --git a/wezterm-mux-server-impl/src/pki.rs b/wezterm-mux-server-impl/src/pki.rs index ff3de9d81..817c6d31f 100644 --- a/wezterm-mux-server-impl/src/pki.rs +++ b/wezterm-mux-server-impl/src/pki.rs @@ -1,6 +1,10 @@ use anyhow::{anyhow, Context as _}; +#[cfg(unix)] +use libc::{AF_UNSPEC, AI_CANONNAME, SOCK_DGRAM}; use rcgen::{BasicConstraints, Certificate, CertificateParams, DistinguishedName, DnType, IsCa}; use std::path::PathBuf; +#[cfg(windows)] +use winapi::shared::ws2def::{AF_UNSPEC, AI_CANONNAME, SOCK_DGRAM}; /// A helper for managing keys for the TLS server component. /// Each time the server is started, a new CA is generated @@ -22,14 +26,35 @@ impl Pki { pub fn init() -> anyhow::Result { let pki_dir = config::pki_dir()?; std::fs::create_dir_all(&pki_dir)?; - log::error!("runtime dir is {}", pki_dir.display()); + log::debug!("pki dir is {}", pki_dir.display()); + + let hostname = hostname::get()? + .into_string() + .map_err(|_| anyhow!("hostname is not representable as unicode"))?; + + let mut alt_names = vec![hostname.clone(), "localhost".to_owned()]; + + let hints = dns_lookup::AddrInfoHints { + flags: AI_CANONNAME, + address: AF_UNSPEC, + socktype: SOCK_DGRAM, + protocol: 0, + }; + + if let Ok(iter) = dns_lookup::getaddrinfo(Some(&hostname), None, Some(hints)) { + for entry in iter { + if let Ok(entry) = entry { + if let Some(canon) = entry.canonname { + alt_names.push(canon); + } + } + } + } + + alt_names.sort(); + alt_names.dedup(); + log::debug!("generating cert with alt_names={alt_names:?}"); - let alt_names = vec![ - hostname::get()? - .into_string() - .map_err(|_| anyhow!("hostname is not representable as unicode"))?, - "localhost".to_owned(), - ]; let unix_name = config::username_from_env()?; // Create the CA certificate From 643d85f8c9eb533e6c9812e9d6a124d228794914 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 19 Jul 2024 10:30:55 +0000 Subject: [PATCH 63/69] nix: add meta.mainProgram To avoid the following warning while using `lib.getExe`: ``` warning: getExe: Package wezterm does not have the meta.mainProgram attribute. We'll assume that the main program has the same name for now, but this behavior is deprecated, because it leads to surprising errors when the assumption does not hold. If the package has a main program, please set `meta.mainProgram` in its definition to make this warning go away. Otherwise, if the package does not have a main program, or if you don't control its definition, use getExe' to specify the name to the program, such as lib.getExe' foo "bar". ``` --- nix/flake.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nix/flake.nix b/nix/flake.nix index 10661b8d5..1b1026452 100644 --- a/nix/flake.nix +++ b/nix/flake.nix @@ -156,6 +156,8 @@ tic -x -o $out/share/terminfo ${src}/termwiz/data/wezterm.terminfo ''; }; + + meta.mainProgram = "wezterm"; }; devShell = pkgs.mkShell { From 574e0221fa214106352a9f03f0257e9dec9f6176 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 21 Jul 2024 00:21:42 +0000 Subject: [PATCH 64/69] flake.lock: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/8b5a3d5a1d951344d683b442c0739010b80039db?narHash=sha256-po3TZO9kcZwzvkyMJKb0WCzzDtiHWD34XeRaX1lWXp0%3D' (2024-07-12) → 'github:NixOS/nixpkgs/6e14bbce7bea6c4efd7adfa88a40dac750d80100?narHash=sha256-pFSxgSZqZ3h%2B5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c%3D' (2024-07-20) • Updated input 'rust-overlay': 'github:oxalica/rust-overlay/92f0608ab66c9770e931056b1c7a1b6249dbc43a?narHash=sha256-WMwo/kZ3o2h5Bls4dEyQ3XFZ4nw2UbbOUFpq3aVlkms%3D' (2024-07-13) → 'github:oxalica/rust-overlay/b7996075da11a2d441cfbf4e77c2939ce51506fd?narHash=sha256-gYGX9/22tPNeF7dR6bWN5rsrpU4d06GnQNNgZ6ZiXz0%3D' (2024-07-20) --- nix/flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nix/flake.lock b/nix/flake.lock index 2ab40f36b..13a5e0e4d 100644 --- a/nix/flake.lock +++ b/nix/flake.lock @@ -71,11 +71,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1720781449, - "narHash": "sha256-po3TZO9kcZwzvkyMJKb0WCzzDtiHWD34XeRaX1lWXp0=", + "lastModified": 1721466660, + "narHash": "sha256-pFSxgSZqZ3h+5Du0KvEL1ccDZBwu4zvOil1zzrPNb3c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8b5a3d5a1d951344d683b442c0739010b80039db", + "rev": "6e14bbce7bea6c4efd7adfa88a40dac750d80100", "type": "github" }, "original": { @@ -103,11 +103,11 @@ ] }, "locked": { - "lastModified": 1720837122, - "narHash": "sha256-WMwo/kZ3o2h5Bls4dEyQ3XFZ4nw2UbbOUFpq3aVlkms=", + "lastModified": 1721441897, + "narHash": "sha256-gYGX9/22tPNeF7dR6bWN5rsrpU4d06GnQNNgZ6ZiXz0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "92f0608ab66c9770e931056b1c7a1b6249dbc43a", + "rev": "b7996075da11a2d441cfbf4e77c2939ce51506fd", "type": "github" }, "original": { From fef52df952cba752b8677d9b63f57bef6d14631f Mon Sep 17 00:00:00 2001 From: Leszek Swirski Date: Mon, 22 Jul 2024 17:06:54 +0200 Subject: [PATCH 65/69] Add a CloseWithoutClear copy mode key assignment (#4924) * Add a CloseWithoutClear copy mode key assignment Closing the copy overlay currently unconditionally clears the viewport, in particular resetting scroll. For the search overlay, we don't necessarily want to scroll back to the prompt after finding a match -- indeed, the old search overlay (which didn't use copy mode) had this behaviour. Add a CloseWithoutClear key assignment which has this desired behaviour, and make it the default for ESC in search mode. * Change CloseWithoutClear into normal Close, and add ResetViewport * Remove ResetViewport, add helper for keys --- .../default-copy-mode-key-table.markdown | 21 +++++++++++++++---- wezterm-gui/src/overlay/copy.rs | 18 ++++++++++------ 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/docs/examples/default-copy-mode-key-table.markdown b/docs/examples/default-copy-mode-key-table.markdown index 8050f9d77..a04fbd85b 100644 --- a/docs/examples/default-copy-mode-key-table.markdown +++ b/docs/examples/default-copy-mode-key-table.markdown @@ -16,7 +16,10 @@ return { mods = 'NONE', action = act.CopyMode 'MoveToStartOfNextLine', }, - { key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' }, + { key = 'Escape', mods = 'NONE', action = act.Multiple { + { CopyMode = 'ScrollToBottom' }, + { CopyMode = 'Close' }, + } }, { key = 'Space', mods = 'NONE', @@ -124,7 +127,10 @@ return { { key = 'b', mods = 'NONE', action = act.CopyMode 'MoveBackwardWord' }, { key = 'b', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' }, { key = 'b', mods = 'CTRL', action = act.CopyMode 'PageUp' }, - { key = 'c', mods = 'CTRL', action = act.CopyMode 'Close' }, + { key = 'c', mods = 'CTRL', action = act.Multiple { + { CopyMode = 'ScrollToBottom' }, + { CopyMode = 'Close' }, + } }, { key = 'd', mods = 'CTRL', @@ -147,7 +153,10 @@ return { mods = 'NONE', action = act.CopyMode 'MoveToScrollbackTop', }, - { key = 'g', mods = 'CTRL', action = act.CopyMode 'Close' }, + { key = 'g', mods = 'CTRL', action = act.Multiple { + { CopyMode = 'ScrollToBottom' }, + { CopyMode = 'Close' }, + } }, { key = 'h', mods = 'NONE', action = act.CopyMode 'MoveLeft' }, { key = 'j', mods = 'NONE', action = act.CopyMode 'MoveDown' }, { key = 'k', mods = 'NONE', action = act.CopyMode 'MoveUp' }, @@ -162,7 +171,10 @@ return { mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEnd', }, - { key = 'q', mods = 'NONE', action = act.CopyMode 'Close' }, + { key = 'q', mods = 'NONE', action = act.Multiple { + { CopyMode = 'ScrollToBottom' }, + { CopyMode = 'Close' }, + } }, { key = 't', mods = 'NONE', @@ -189,6 +201,7 @@ return { mods = 'NONE', action = act.Multiple { { CopyTo = 'ClipboardAndPrimarySelection' }, + { CopyMode = 'ScrollToBottom' }, { CopyMode = 'Close' }, }, }, diff --git a/wezterm-gui/src/overlay/copy.rs b/wezterm-gui/src/overlay/copy.rs index 00ce46452..dc2a6322e 100644 --- a/wezterm-gui/src/overlay/copy.rs +++ b/wezterm-gui/src/overlay/copy.rs @@ -571,7 +571,6 @@ impl CopyRenderable { } fn close(&self) { - self.set_viewport(None); TermWindow::schedule_cancel_overlay_for_pane(self.window.clone(), self.delegate.pane_id()); } @@ -1684,28 +1683,35 @@ pub fn search_key_table() -> KeyTable { table } +fn scroll_to_bottom_and_close() -> KeyAssignment { + KeyAssignment::Multiple(vec![ + KeyAssignment::ScrollToBottom, + KeyAssignment::CopyMode(CopyModeAssignment::Close), + ]) +} + pub fn copy_key_table() -> KeyTable { let mut table = KeyTable::default(); for (key, mods, action) in [ ( WKeyCode::Char('c'), Modifiers::CTRL, - KeyAssignment::CopyMode(CopyModeAssignment::Close), + scroll_to_bottom_and_close(), ), ( WKeyCode::Char('g'), Modifiers::CTRL, - KeyAssignment::CopyMode(CopyModeAssignment::Close), + scroll_to_bottom_and_close(), ), ( WKeyCode::Char('q'), Modifiers::NONE, - KeyAssignment::CopyMode(CopyModeAssignment::Close), + scroll_to_bottom_and_close(), ), ( WKeyCode::Char('\x1b'), Modifiers::NONE, - KeyAssignment::CopyMode(CopyModeAssignment::Close), + scroll_to_bottom_and_close(), ), ( WKeyCode::Char('h'), @@ -1957,7 +1963,7 @@ pub fn copy_key_table() -> KeyTable { Modifiers::NONE, KeyAssignment::Multiple(vec![ KeyAssignment::CopyTo(ClipboardCopyDestination::ClipboardAndPrimarySelection), - KeyAssignment::CopyMode(CopyModeAssignment::Close), + scroll_to_bottom_and_close(), ]), ), ( From 7e8fdc118d2d7ceb51c720a966090f6cb65089b7 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Mon, 22 Jul 2024 08:09:56 -0700 Subject: [PATCH 66/69] docs: changelog for #4924 --- docs/changelog.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index d3afceb21..3f4b552b7 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -37,6 +37,12 @@ As features stabilize some brief notes about them will accumulate here. * Switched to the [nucleo](https://github.com/helix-editor/nucleo) fuzzy matcher which produces matches that more closely match the popular `fzf` program. #5532 +* The Copy Mode `Close` action no longer implicitly scrolls to the bottom. + This is to facilitate having a key assignment that closes copy mode without + adjusting the viewport position. You can compose multiple actions together using + `Multiple` if you wish; the default key assignments in Copy Mode use this technique + so that the effective behavior of the defaults remains unchanged. + Thanks to @LeszekSwirski! #4924 #3502 #### New * [wezterm.serde](config/lua/wezterm.serde/index.md) module for serialization From 03407cae99a2443a2bc0c73f4e72fa169b78568b Mon Sep 17 00:00:00 2001 From: Thayne McCombs Date: Tue, 30 Jul 2024 00:38:25 -0600 Subject: [PATCH 67/69] fix: Use cols not rows for left margin bound The location of the left margin should depend on the width, not the height. Fixes: #5750 --- term/src/terminalstate/mod.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/term/src/terminalstate/mod.rs b/term/src/terminalstate/mod.rs index 02d1690af..ddbd8772a 100644 --- a/term/src/terminalstate/mod.rs +++ b/term/src/terminalstate/mod.rs @@ -2315,9 +2315,8 @@ impl TerminalState { // The terminal only recognizes this control function if vertical split // screen mode (DECLRMM) is set. if self.left_and_right_margin_mode { - let rows = self.screen().physical_rows as u32; let cols = self.screen().physical_cols as u32; - let left = left.as_zero_based().min(rows - 1).max(0) as usize; + let left = left.as_zero_based().min(cols - 1).max(0) as usize; let right = right.as_zero_based().min(cols - 1).max(0) as usize; // The value of the left margin (Pl) must be less than the right margin (Pr). From 9f5c2adb293fe222cecd456dc2d9e671aba5ffd3 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Tue, 30 Jul 2024 07:45:10 -0700 Subject: [PATCH 68/69] docs: changelog for #5750 #5871 --- docs/changelog.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/changelog.md b/docs/changelog.md index 3f4b552b7..8d6023870 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -104,6 +104,8 @@ As features stabilize some brief notes about them will accumulate here. * multiplexer: internal PKI certificate now supplements its list of "Subject Alternative Names" with the list of canonical hostnames returned for the local system via `getaddrinfo`. #5543 +* DECSLRM incorrectly clamped the left margin based on the terminal height + instead of the terminal width. Thanks to @j4james and @tmccombs! #5871 #5750 #### Updated * Bundled conpty.dll and OpenConsole.exe to build 1.19.240130002.nupkg From 56a27e93a9ee50aab50ff4d78308f9b3154b5122 Mon Sep 17 00:00:00 2001 From: Wez Furlong Date: Tue, 30 Jul 2024 08:27:27 -0700 Subject: [PATCH 69/69] cargo update plus some noise around the image crate api evolving and deprecating some type aliases. --- Cargo.lock | 441 +++++++++--------- .../color-funcs/src/image_colors.rs | 2 +- term/src/terminalstate/image.rs | 2 +- termwiz/src/image.rs | 2 +- wezterm-font/src/rasterizer/harfbuzz.rs | 2 +- wezterm-gui/src/glyphcache.rs | 7 +- wezterm/src/main.rs | 2 +- 7 files changed, 231 insertions(+), 227 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3ee07bae9..6535a2f22 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -80,9 +80,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -95,33 +95,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -147,14 +147,14 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" @@ -179,9 +179,9 @@ dependencies = [ [[package]] name = "assert_fs" -version = "1.1.1" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cd762e110c8ed629b11b6cde59458cc1c71de78ebbcc30099fc8e0403a2a2ec" +checksum = "7efdb1fdb47602827a342857666feb372712cbc64b414172bd6b167a02927674" dependencies = [ "anstyle", "doc-comment", @@ -218,9 +218,9 @@ dependencies = [ [[package]] name = "async-executor" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8828ec6e544c02b0d6691d21ed9f9218d0384a82542855073c2a3f58304aaf0" +checksum = "d7ebdfa2ebdab6b1760375fa7d6f382b9f486eac35fc994625a00e89280bdbb7" dependencies = [ "async-task", "concurrent-queue", @@ -309,14 +309,14 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] name = "async-signal" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794f185324c2f00e771cd9f1ae8b5ac68be2ca7abb129a87afd6e86d228bc54d" +checksum = "dfb3634b73397aa844481f814fad23bbf07fdb0eabec10f2eb95e58944b1ec32" dependencies = [ "async-io", "async-lock", @@ -344,7 +344,7 @@ checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -535,9 +535,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "regex-automata", @@ -573,7 +573,7 @@ checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -635,9 +635,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.1.5" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052" +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" dependencies = [ "jobserver", "libc", @@ -723,9 +723,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.9" +version = "4.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" +checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3" dependencies = [ "clap_builder", "clap_derive", @@ -733,9 +733,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.9" +version = "4.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" +checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa" dependencies = [ "anstream", "anstyle", @@ -746,18 +746,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.8" +version = "4.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b4be9c4c4b1f30b78d8a750e0822b6a6102d97e62061c583a6c1dea2dfb33ae" +checksum = "c6ae69fbb0833c6fcd5a8d4b8609f108c7ad95fc11e248d853ff2c42a90df26a" dependencies = [ "clap", ] [[package]] name = "clap_complete_fig" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4bc503cddc1cd320736fb555d6598309ad07c2ddeaa23891a10ffb759ee612" +checksum = "d494102c8ff3951810c72baf96910b980fb065ca5d3101243e6a8dc19747c86b" dependencies = [ "clap", "clap_complete", @@ -765,21 +765,21 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e" dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "clipboard-win" @@ -881,9 +881,9 @@ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "colored" @@ -928,7 +928,7 @@ dependencies = [ "colorgrad", "dirs-next", "enum-display-derive", - "env_logger 0.11.3", + "env_logger 0.11.5", "hostname", "lazy_static", "libc", @@ -946,7 +946,7 @@ dependencies = [ "shlex", "smol", "termwiz", - "toml 0.8.14", + "toml 0.8.17", "umask", "wezterm-bidi", "wezterm-config-derive", @@ -1167,7 +1167,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" dependencies = [ "bitflags 2.6.0", - "libloading 0.8.4", + "libloading 0.8.5", "winapi", ] @@ -1192,7 +1192,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -1203,7 +1203,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -1299,7 +1299,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.4", + "libloading 0.8.5", ] [[package]] @@ -1361,9 +1361,9 @@ dependencies = [ [[package]] name = "emojis" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f619a926616ae7149a0d82610b051134a0d6c4ae2962d990c06c847a445c5d9" +checksum = "e72f23d65b46527e461b161ab9a126c378aa2249d8a8d15718d23ab1fb4d8786" dependencies = [ "phf", ] @@ -1412,7 +1412,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -1450,9 +1450,9 @@ dependencies = [ [[package]] name = "env_filter" -version = "0.1.0" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" dependencies = [ "log", "regex", @@ -1473,9 +1473,9 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.11.3" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" dependencies = [ "anstream", "anstyle", @@ -1635,9 +1635,9 @@ checksum = "8fcfdc7a0362c9f4444381a9e697c79d435fe65b52a37466fc2c1184cee9edc6" [[package]] name = "fixed" -version = "1.27.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc715d38bea7b5bf487fcd79bcf8c209f0b58014f3018a7a19c2b855f472048" +checksum = "85c6e0b89bf864acd20590dbdbad56f69aeb898abfc9443008fd7bd48b2cc85a" dependencies = [ "az", "bytemuck", @@ -1723,7 +1723,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -1843,7 +1843,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -2285,9 +2285,9 @@ dependencies = [ [[package]] name = "http_req" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd68fe813419e7fd8982607f1b39e2a393226a98cf4cc905e716ba328e2a488f" +checksum = "0122ab6637149482eb66b57288ac597bc7eb9859cbaa79dee62fa19a350df3d2" dependencies = [ "native-tls", "unicase", @@ -2444,12 +2444,12 @@ dependencies = [ [[package]] name = "image" -version = "0.25.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11" +checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10" dependencies = [ "bytemuck", - "byteorder", + "byteorder-lite", "color_quant", "exr", "gif", @@ -2467,12 +2467,12 @@ dependencies = [ [[package]] name = "image-webp" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d730b085583c4d789dfd07fdcf185be59501666a90c97c40162b37e4fdad272d" +checksum = "f79afb8cbee2ef20f59ccd477a218c12a93943d075b492015ecb1bb81f8ee904" dependencies = [ "byteorder-lite", - "thiserror", + "quick-error", ] [[package]] @@ -2539,7 +2539,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -2590,9 +2590,9 @@ dependencies = [ [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -2620,9 +2620,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] @@ -2655,7 +2655,7 @@ dependencies = [ "libc", "proc-macro2", "regex", - "syn 2.0.71", + "syn 2.0.72", "terminal_size 0.2.6", ] @@ -2666,7 +2666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ "libc", - "libloading 0.8.4", + "libloading 0.8.5", "pkg-config", ] @@ -2804,9 +2804,9 @@ dependencies = [ [[package]] name = "libloading" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" dependencies = [ "cfg-if", "windows-targets 0.52.6", @@ -2957,9 +2957,9 @@ dependencies = [ [[package]] name = "lua-src" -version = "546.0.2" +version = "547.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2da0daa7eee611a4c30c8f5ee31af55266e26e573971ba9336d2993e2da129b2" +checksum = "1edaf29e3517b49b8b746701e5648ccb5785cde1c119062cbabbc5d5cd115e42" dependencies = [ "cc", ] @@ -2976,9 +2976,9 @@ dependencies = [ [[package]] name = "luajit-src" -version = "210.5.8+5790d25" +version = "210.5.9+04dca79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441f18d9ad792e871fc2f7f2cb8902c386f6f56fdbddef3b835b61475e375346" +checksum = "6e03d48e8d8c11c297d49ea6d2cf6cc0d7657eb3d175219bba47d59a601b7ca9" dependencies = [ "cc", "which", @@ -3025,7 +3025,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" dependencies = [ "cfg-if", - "rayon", ] [[package]] @@ -3132,6 +3131,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +dependencies = [ + "hermit-abi 0.3.9", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "mlua" version = "0.9.9" @@ -3148,9 +3159,9 @@ dependencies = [ [[package]] name = "mlua-sys" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a088ed0723df7567f569ba018c5d48c23c501f3878b190b04144dfa5ebfa8abc" +checksum = "3ab7a5b4756b8177a2dfa8e0bbcde63bd4000afbc4ab20cbb68d114a25470f29" dependencies = [ "cc", "cfg-if", @@ -3362,7 +3373,7 @@ dependencies = [ "inotify", "kqueue", "libc", - "mio", + "mio 0.8.11", "walkdir", "windows-sys 0.45.0", ] @@ -3433,7 +3444,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -3476,16 +3487,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - [[package]] name = "objc" version = "0.2.7" @@ -3507,9 +3508,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.1" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ "memchr", ] @@ -3528,9 +3529,9 @@ checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "openssl" -version = "0.10.64" +version = "0.10.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" dependencies = [ "bitflags 2.6.0", "cfg-if", @@ -3549,7 +3550,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -3569,9 +3570,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -3582,9 +3583,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "4.2.1" +version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19ff2cf528c6c03d9ed653d6c4ce1dc0582dc4af309790ad92f07c1cd551b0be" +checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" dependencies = [ "num-traits", "rand", @@ -3650,7 +3651,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall 0.5.3", "smallvec", "windows-targets 0.52.6", ] @@ -3708,7 +3709,7 @@ dependencies = [ "pest_meta", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -3762,7 +3763,7 @@ dependencies = [ "phf_shared", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -3791,7 +3792,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -3907,9 +3908,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "portable-pty" @@ -3942,15 +3943,19 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "2288c0e17cc8d342c712bb43a257a80ebffce59cdb33d5000d8348f3ec02528b" +dependencies = [ + "zerocopy", + "zerocopy-derive", +] [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" dependencies = [ "anstyle", "difflib", @@ -3962,15 +3967,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ "predicates-core", "termtree", @@ -4040,7 +4045,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" dependencies = [ "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -4204,16 +4209,15 @@ dependencies = [ [[package]] name = "ravif" -version = "0.11.8" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ba61c28ba24c0cf8406e025cb29a742637e3f70776e61c27a8a8b72a042d12" +checksum = "5797d09f9bd33604689e87e8380df4951d4912f01b63f71205e2abd4ae25e6b6" dependencies = [ "avif-serialize", "imgref", "loop9", "quick-error", "rav1e", - "rayon", "rgb", ] @@ -4275,9 +4279,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.2" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] @@ -4388,9 +4392,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.44" +version = "0.8.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aee83dc281d5a3200d37b299acd13b81066ea126a7f16f0eae70fc9aed241d9" +checksum = "ade4539f42266ded9e755c605bdddf546242b2c961b03b06a7375260788a0523" dependencies = [ "bytemuck", ] @@ -4442,7 +4446,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.71", + "syn 2.0.72", "unicode-ident", ] @@ -4516,9 +4520,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.11" +version = "0.23.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4828ea528154ae444e5a642dbb7d5623354030dc9822b83fd9bb79683c7399d0" +checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" dependencies = [ "once_cell", "rustls-pki-types", @@ -4545,9 +4549,9 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "rustls-webpki" -version = "0.102.5" +version = "0.102.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a6fccd794a42c2c105b513a2f62bc3fd8f3ba57a4593677ceb0bd035164d78" +checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" dependencies = [ "ring", "rustls-pki-types", @@ -4637,7 +4641,7 @@ dependencies = [ "luahelper", "serde_json", "serde_yaml", - "toml 0.8.14", + "toml 0.8.17", "wezterm-dynamic", ] @@ -4649,16 +4653,17 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -4671,14 +4676,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] @@ -4720,7 +4725,7 @@ dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -4906,9 +4911,9 @@ checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" [[package]] name = "smithay-client-toolkit" -version = "0.19.1" +version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "837d3067369e24aeda699a5d9fc5aa14ca14a84dd70aeed7156bfa04a5605b32" +checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ "bitflags 2.6.0", "cursor-icon", @@ -5098,9 +5103,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.71" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -5114,7 +5119,7 @@ dependencies = [ "anyhow", "color-funcs", "config", - "env_logger 0.11.3", + "env_logger 0.11.5", "futures", "lazy_static", "libflate", @@ -5128,7 +5133,7 @@ dependencies = [ "tar", "tempfile", "tokio", - "toml 0.8.14", + "toml 0.8.17", "wezterm-dynamic", ] @@ -5168,7 +5173,7 @@ dependencies = [ "cfg-expr", "heck", "pkg-config", - "toml 0.8.14", + "toml 0.8.17", "version-compare", ] @@ -5288,7 +5293,7 @@ dependencies = [ "bitflags 2.6.0", "cassowary", "criterion", - "env_logger 0.11.3", + "env_logger 0.11.5", "fancy-regex", "filedescriptor", "finl_unicode", @@ -5356,22 +5361,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.62" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2675633b1499176c2dff06b0856a27976a8f9d436737b4cf4f312d4d91d8bbb" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.62" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d20468752b09f49e909e55a5d338caa8bedf615594e9d80bc4c565d30faf798c" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -5490,30 +5495,29 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.1", "pin-project-lite", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -5561,21 +5565,21 @@ dependencies = [ [[package]] name = "toml" -version = "0.8.14" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f49eb2ab21d2f26bd6db7bf383edc527a7ebaee412d17af4d40fdccd442f335" +checksum = "7a44eede9b727419af8095cb2d72fab15487a541f54647ad4414b34096ee4631" dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.15", + "toml_edit 0.22.18", ] [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -5593,15 +5597,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.15" +version = "0.22.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d59a3a72298453f564e2b111fa896f8d07fabb36f51f06d7e875fc5e0b5a3ef1" +checksum = "1490595c74d930da779e944f5ba2ecdf538af67df1a9848cbd156af43c1b7cf0" dependencies = [ "indexmap 2.2.6", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.13", + "winnow 0.6.16", ] [[package]] @@ -5650,7 +5654,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -5851,9 +5855,9 @@ checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vswhom" @@ -5935,7 +5939,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", "wasm-bindgen-shared", ] @@ -5969,7 +5973,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5982,9 +5986,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "wayland-backend" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "269c04f203640d0da2092d1b8d89a2d081714ae3ac2f1b53e99f205740517198" +checksum = "f90e11ce2ca99c97b940ee83edbae9da2d56a08f9ea8158550fd77fa31722993" dependencies = [ "cc", "downcast-rs", @@ -5996,9 +6000,9 @@ dependencies = [ [[package]] name = "wayland-client" -version = "0.31.4" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08bd0f46c069d3382a36c8666c1b9ccef32b8b04f41667ca1fef06a1adcc2982" +checksum = "7e321577a0a165911bdcfb39cf029302479d7527b517ee58ab0f6ad09edf0943" dependencies = [ "bitflags 2.6.0", "rustix 0.38.34", @@ -6019,9 +6023,9 @@ dependencies = [ [[package]] name = "wayland-cursor" -version = "0.31.4" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09414bcf0fd8d9577d73e9ac4659ebc45bcc9cff1980a350543ad8e50ee263b2" +checksum = "6ef9489a8df197ebf3a8ce8a7a7f0a2320035c3743f3c1bd0bdbccf07ce64f95" dependencies = [ "rustix 0.38.34", "wayland-client", @@ -6030,9 +6034,9 @@ dependencies = [ [[package]] name = "wayland-egl" -version = "0.32.2" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33688a00899e3d9725356ad570325bace112c37ea2eac37d9d13b9e3dd2577" +checksum = "f878665a24396ce3a8509116e03fb19d5401620e59daa303e256a657ee096204" dependencies = [ "wayland-backend", "wayland-sys", @@ -6040,9 +6044,9 @@ dependencies = [ [[package]] name = "wayland-protocols" -version = "0.32.2" +version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1794d82d869f38439d15c24b26f06f6c8603d27d47b4f786d5197c99044de415" +checksum = "62989625a776e827cc0f15d41444a3cea5205b963c3a25be48ae1b52d6b4daaa" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -6052,9 +6056,9 @@ dependencies = [ [[package]] name = "wayland-protocols-wlr" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa43c961473aed713d44c1f616f775186249dfca657f256d8841ca0690366aba" +checksum = "fd993de54a40a40fbe5601d9f1fbcaef0aebcc5fda447d7dc8f6dcbaae4f8953" dependencies = [ "bitflags 2.6.0", "wayland-backend", @@ -6065,9 +6069,9 @@ dependencies = [ [[package]] name = "wayland-scanner" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edf466fc49a4feb65a511ca403fec3601494d0dee85dbf37fff6fa0dd4eec3b6" +checksum = "d7b56f89937f1cf2ee1f1259cf2936a17a1f45d8f0aa1019fae6d470d304cfa6" dependencies = [ "proc-macro2", "quick-xml 0.34.0", @@ -6076,9 +6080,9 @@ dependencies = [ [[package]] name = "wayland-sys" -version = "0.31.3" +version = "0.31.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a6754825230fa5b27bafaa28c30b3c9e72c55530581220cef401fa422c0fae7" +checksum = "43676fe2daf68754ecf1d72026e4e6c15483198b5d24e888b74d3f22f887a148" dependencies = [ "dlib", "log", @@ -6146,7 +6150,7 @@ dependencies = [ name = "wezterm-bidi" version = "0.2.3" dependencies = [ - "env_logger 0.11.3", + "env_logger 0.11.5", "k9", "log", "wezterm-dynamic", @@ -6257,7 +6261,7 @@ dependencies = [ "dwrote", "encoding_rs", "enum-display-derive", - "env_logger 0.11.3", + "env_logger 0.11.5", "euclid", "finl_unicode", "fontconfig", @@ -6304,7 +6308,7 @@ dependencies = [ "embed-resource", "emojis", "env-bootstrap", - "env_logger 0.11.3", + "env_logger 0.11.5", "euclid", "fastrand", "filedescriptor", @@ -6466,7 +6470,7 @@ dependencies = [ "camino", "clap", "dirs-next", - "env_logger 0.11.3", + "env_logger 0.11.5", "filedescriptor", "filenamegen", "gethostname", @@ -6497,7 +6501,7 @@ dependencies = [ "bitflags 1.3.2", "csscolorparser", "downcast-rs", - "env_logger 0.11.3", + "env_logger 0.11.5", "finl_unicode", "hex", "humansize", @@ -6622,7 +6626,7 @@ dependencies = [ "js-sys", "khronos-egl", "libc", - "libloading 0.8.4", + "libloading 0.8.5", "log", "metal", "naga", @@ -6655,9 +6659,9 @@ dependencies = [ [[package]] name = "which" -version = "6.0.1" +version = "6.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8211e4f58a2b2805adfbefbc07bab82958fc91e3836339b1ab7ae32465dce0d7" +checksum = "3d9c5ed668ee1f17edb3b627225343d210006a90bb1e3745ce1f30b1fb115075" dependencies = [ "either", "home", @@ -6742,11 +6746,11 @@ dependencies = [ "k9", "lazy_static", "libc", - "libloading 0.8.4", + "libloading 0.8.5", "line_drawing", "log", "metrics", - "mio", + "mio 0.8.11", "objc", "plist", "promise", @@ -7085,9 +7089,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c" dependencies = [ "memchr", ] @@ -7174,9 +7178,9 @@ dependencies = [ [[package]] name = "xcursor" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" +checksum = "d491ee231a51ae64a5b762114c3ac2104b967aadba1de45c86ca42cf051513b7" [[package]] name = "xdg-home" @@ -7223,9 +7227,9 @@ dependencies = [ [[package]] name = "zbus" -version = "4.3.1" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "851238c133804e0aa888edf4a0229481c753544ca12a60fd1c3230c8a500fe40" +checksum = "bb97012beadd29e654708a0fdb4c84bc046f537aecfde2c3ee0a9e4b4d48c725" dependencies = [ "async-broadcast", "async-executor", @@ -7261,14 +7265,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "4.3.1" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d5a3f12c20bd473be3194af6b49d50d7bb804ef3192dc70eddedb26b85d9da7" +checksum = "267db9407081e90bbfa46d841d3cbc60f59c0351838c4bc65199ecd79ab1983e" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", "zvariant_utils", ] @@ -7289,6 +7293,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -7300,7 +7305,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] [[package]] @@ -7355,18 +7360,18 @@ dependencies = [ [[package]] name = "zune-jpeg" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec866b44a2a1fd6133d363f073ca1b179f438f99e7e5bfb1e33f7181facfe448" +checksum = "16099418600b4d8f028622f73ff6e3deaabdff330fb9a2a131dea781ee8b0768" dependencies = [ "zune-core", ] [[package]] name = "zvariant" -version = "4.1.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1724a2b330760dc7d2a8402d841119dc869ef120b139d29862d6980e9c75bfc9" +checksum = "2084290ab9a1c471c38fc524945837734fbf124487e105daec2bb57fd48c81fe" dependencies = [ "endi", "enumflags2", @@ -7377,24 +7382,24 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "4.1.2" +version = "4.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55025a7a518ad14518fb243559c058a2e5b848b015e31f1d90414f36e3317859" +checksum = "73e2ba546bda683a90652bac4a279bc146adad1386f25379cf73200d2002c449" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", "zvariant_utils", ] [[package]] name = "zvariant_utils" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc242db087efc22bd9ade7aa7809e4ba828132edc312871584a6b4391bdf8786" +checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.71", + "syn 2.0.72", ] diff --git a/lua-api-crates/color-funcs/src/image_colors.rs b/lua-api-crates/color-funcs/src/image_colors.rs index 8dc0b79ee..2079cbfcc 100644 --- a/lua-api-crates/color-funcs/src/image_colors.rs +++ b/lua-api-crates/color-funcs/src/image_colors.rs @@ -200,7 +200,7 @@ pub fn extract_colors_from_image<'lua>( } log::trace!("loading image {file_name}"); - let im = image::io::Reader::open(&file_name) + let im = image::ImageReader::open(&file_name) .map_err(|err| mlua::Error::external(format!("{err:#} while loading {file_name}")))? .decode() .map_err(|err| { diff --git a/term/src/terminalstate/image.rs b/term/src/terminalstate/image.rs index 1965d1120..457a756d1 100644 --- a/term/src/terminalstate/image.rs +++ b/term/src/terminalstate/image.rs @@ -297,7 +297,7 @@ pub(crate) struct ImageInfo { } pub(crate) fn dimensions(data: &[u8]) -> anyhow::Result { - let reader = image::io::Reader::new(std::io::Cursor::new(data)).with_guessed_format()?; + let reader = image::ImageReader::new(std::io::Cursor::new(data)).with_guessed_format()?; let format = reader .format() .ok_or_else(|| anyhow::anyhow!("unknown format!?"))?; diff --git a/termwiz/src/image.rs b/termwiz/src/image.rs index 522899810..7f7bfbe71 100644 --- a/termwiz/src/image.rs +++ b/termwiz/src/image.rs @@ -344,7 +344,7 @@ impl ImageDataType { pub fn dimensions(&self) -> Result<(u32, u32), InternalError> { fn dimensions_for_data(data: &[u8]) -> image::ImageResult<(u32, u32)> { let reader = - image::io::Reader::new(std::io::Cursor::new(data)).with_guessed_format()?; + image::ImageReader::new(std::io::Cursor::new(data)).with_guessed_format()?; let (width, height) = reader.into_dimensions()?; Ok((width, height)) diff --git a/wezterm-font/src/rasterizer/harfbuzz.rs b/wezterm-font/src/rasterizer/harfbuzz.rs index c0b043c40..8c298c8dc 100644 --- a/wezterm-font/src/rasterizer/harfbuzz.rs +++ b/wezterm-font/src/rasterizer/harfbuzz.rs @@ -243,7 +243,7 @@ fn record_to_cairo_surface(paint_ops: Vec) -> anyhow::Result<(Recording extents, } => { let image_surface = if format == IS_PNG { - let decoded = image::io::Reader::new(std::io::Cursor::new(image.as_slice())) + let decoded = image::ImageReader::new(std::io::Cursor::new(image.as_slice())) .with_guessed_format()? .decode()?; diff --git a/wezterm-gui/src/glyphcache.rs b/wezterm-gui/src/glyphcache.rs index 4b2c0a9d3..b394143fc 100644 --- a/wezterm-gui/src/glyphcache.rs +++ b/wezterm-gui/src/glyphcache.rs @@ -9,9 +9,8 @@ use ::window::{Point, Rect}; use anyhow::Context; use config::{AllowSquareGlyphOverflow, TextStyle}; use euclid::num::Zero; -use image::io::Limits; use image::{ - AnimationDecoder, DynamicImage, Frame, Frames, ImageDecoder, ImageFormat, ImageResult, + AnimationDecoder, DynamicImage, Frame, Frames, ImageDecoder, ImageFormat, ImageResult, Limits, }; use lfucache::LfuCache; use once_cell::sync::Lazy; @@ -239,7 +238,7 @@ impl FrameDecoder { let (tx, rx) = sync_channel(2); let buf_reader = lease.get_reader().context("lease.get_reader()")?; - let reader = image::io::Reader::new(buf_reader) + let reader = image::ImageReader::new(buf_reader) .with_guessed_format() .context("guess format from lease")?; let format = reader @@ -261,7 +260,7 @@ impl FrameDecoder { } fn run_decoder_thread( - reader: image::io::Reader, + reader: image::ImageReader, format: ImageFormat, tx: SyncSender, ) -> anyhow::Result<()> { diff --git a/wezterm/src/main.rs b/wezterm/src/main.rs index b9732ba19..4ab10dac2 100644 --- a/wezterm/src/main.rs +++ b/wezterm/src/main.rs @@ -384,7 +384,7 @@ impl ImgCatCommand { } fn image_dimensions(data: &[u8]) -> anyhow::Result { - let reader = image::io::Reader::new(std::io::Cursor::new(data)).with_guessed_format()?; + let reader = image::ImageReader::new(std::io::Cursor::new(data)).with_guessed_format()?; let format = reader .format() .ok_or_else(|| anyhow::anyhow!("unknown image format!?"))?;