git: 4eccc8e3da4f - main - textproc/television: Update to 0.15.9

From: Zsolt Udvari <uzsolt_at_FreeBSD.org>
Date: Sat, 04 Jul 2026 18:16:52 UTC
The branch main has been updated by uzsolt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=4eccc8e3da4fb425b4859314a44c81e47e424aaf

commit 4eccc8e3da4fb425b4859314a44c81e47e424aaf
Author:     Zsolt Udvari <uzsolt@FreeBSD.org>
AuthorDate: 2026-07-04 18:12:24 +0000
Commit:     Zsolt Udvari <uzsolt@FreeBSD.org>
CommitDate: 2026-07-04 18:15:12 +0000

    textproc/television: Update to 0.15.9
    
    Use COPYTREE_SHARE to copy more markdown documentation files.
    
    Changelogs:
    https://github.com/alexpasmantier/television/releases/tag/0.15.9
    https://github.com/alexpasmantier/television/releases/tag/0.15.8
    https://github.com/alexpasmantier/television/releases/tag/0.15.7
    https://github.com/alexpasmantier/television/releases/tag/0.15.6
    https://github.com/alexpasmantier/television/releases/tag/0.15.5
    https://github.com/alexpasmantier/television/releases/tag/0.15.4
    https://github.com/alexpasmantier/television/releases/tag/0.15.3
    https://github.com/alexpasmantier/television/releases/tag/0.15.2
    https://github.com/alexpasmantier/television/releases/tag/0.15.1
---
 textproc/television/Makefile        |  6 +--
 textproc/television/Makefile.crates | 40 +++++++++---------
 textproc/television/distinfo        | 82 ++++++++++++++++++-------------------
 textproc/television/pkg-plist       | 40 +++++++++++-------
 4 files changed, 87 insertions(+), 81 deletions(-)

diff --git a/textproc/television/Makefile b/textproc/television/Makefile
index df41f353a966..7e80cead4941 100644
--- a/textproc/television/Makefile
+++ b/textproc/television/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	television
-DISTVERSION=	0.15.0
-PORTREVISION=	3
+DISTVERSION=	0.15.9
 CATEGORIES=	textproc
 
 MAINTAINER=	uzsolt@FreeBSD.org
@@ -28,6 +27,7 @@ post-install:
 		${LN} tv.1 television.1
 	${MKDIR} ${STAGEDIR}${EXAMPLESDIR} ${STAGEDIR}${DOCSDIR}
 	${INSTALL_DATA} ${WRKSRC}/.config/config.toml ${STAGEDIR}${EXAMPLESDIR}
-	${INSTALL_DATA} ${WRKSRC}/docs/01-Users/* ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC}/docs && \
+		${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} "-name *\.md"
 
 .include <bsd.port.mk>
diff --git a/textproc/television/Makefile.crates b/textproc/television/Makefile.crates
index 5d923ccda1d2..7cddf3e03d06 100644
--- a/textproc/television/Makefile.crates
+++ b/textproc/television/Makefile.crates
@@ -12,7 +12,6 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		anstyle-query-1.1.5 \
 		anstyle-wincon-3.0.11 \
 		anyhow-1.0.100 \
-		arrayvec-0.7.6 \
 		atomic-0.6.1 \
 		autocfg-1.5.0 \
 		backtrace-0.3.76 \
@@ -21,17 +20,16 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		bit-set-0.5.3 \
 		bit-vec-0.6.3 \
 		bitflags-1.3.2 \
-		bitflags-2.10.0 \
+		bitflags-2.11.0 \
 		block-buffer-0.10.4 \
 		block2-0.6.2 \
 		bumpalo-3.19.0 \
 		bytemuck-1.24.0 \
-		bytes-1.11.0 \
+		bytes-1.11.1 \
 		cast-0.3.0 \
 		castaway-0.2.4 \
 		cc-1.2.48 \
 		cfg-if-1.0.4 \
-		cfg_aliases-0.1.1 \
 		cfg_aliases-0.2.1 \
 		chrono-0.4.42 \
 		ciborium-0.2.2 \
@@ -54,6 +52,7 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		crc32fast-1.5.0 \
 		criterion-0.8.1 \
 		criterion-plot-0.8.1 \
+		crossbeam-channel-0.5.15 \
 		crossbeam-deque-0.8.6 \
 		crossbeam-epoch-0.9.18 \
 		crossbeam-utils-0.8.21 \
@@ -80,7 +79,6 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		dirs-sys-0.5.0 \
 		dispatch2-0.3.0 \
 		document-features-0.2.12 \
-		downcast-rs-1.2.1 \
 		dyn-clone-1.0.20 \
 		either-1.15.0 \
 		encode_unicode-1.0.0 \
@@ -120,6 +118,7 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		indexmap-2.12.1 \
 		indoc-2.0.7 \
 		instability-0.3.9 \
+		int-enum-1.2.0 \
 		is_terminal_polyfill-1.70.2 \
 		itertools-0.13.0 \
 		itertools-0.14.0 \
@@ -131,6 +130,8 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		lazy-regex-proc_macros-3.4.2 \
 		lazy_static-1.5.0 \
 		libc-0.2.177 \
+		libghostty-vt-0.1.1 \
+		libghostty-vt-sys-0.1.1 \
 		libredox-0.1.10 \
 		line-clipping-0.3.5 \
 		linux-raw-sys-0.4.15 \
@@ -141,19 +142,18 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		lru-0.16.2 \
 		mac_address-1.1.8 \
 		matchers-0.2.0 \
-		memchr-2.7.6 \
+		memchr-2.8.0 \
 		memmem-0.1.1 \
 		memoffset-0.9.1 \
 		minimal-lexical-0.2.1 \
 		miniz_oxide-0.8.9 \
 		mio-1.1.0 \
-		nix-0.28.0 \
 		nix-0.29.0 \
 		nix-0.30.1 \
 		nom-7.1.3 \
 		nom-8.0.0 \
 		nu-ansi-term-0.50.3 \
-		num-conv-0.1.0 \
+		num-conv-0.2.0 \
 		num-derive-0.4.2 \
 		num-traits-0.2.19 \
 		num_threads-0.1.7 \
@@ -187,6 +187,9 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		pest_derive-2.8.4 \
 		pest_generator-2.8.4 \
 		pest_meta-2.8.4 \
+		phantom-core-0.1.0 \
+		phantom-daemon-0.1.0 \
+		phantom-test-0.1.0 \
 		phf-0.11.3 \
 		phf_codegen-0.11.3 \
 		phf_generator-0.11.3 \
@@ -197,9 +200,9 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		plotters-backend-0.3.7 \
 		plotters-svg-0.3.7 \
 		portable-atomic-1.13.0 \
-		portable-pty-0.9.0 \
 		powerfmt-0.2.0 \
 		proc-macro2-1.0.103 \
+		proc-macro2-diagnostics-0.10.1 \
 		quote-1.0.42 \
 		r-efi-5.3.0 \
 		rand-0.8.5 \
@@ -245,11 +248,8 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		serde_spanned-1.0.3 \
 		serde_with-3.16.1 \
 		serde_with_macros-3.16.1 \
-		serial2-0.2.33 \
 		sha2-0.10.9 \
 		sharded-slab-0.1.7 \
-		shared_library-0.1.9 \
-		shell-words-1.1.0 \
 		shlex-1.3.0 \
 		signal-hook-0.3.18 \
 		signal-hook-0.4.1 \
@@ -268,6 +268,8 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		subtle-2.6.1 \
 		syn-1.0.109 \
 		syn-2.0.111 \
+		television-nucleo-0.5.0 \
+		television-nucleo-matcher-0.3.1 \
 		tempfile-3.23.0 \
 		terminfo-0.9.0 \
 		termion-4.0.6 \
@@ -278,9 +280,9 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		thiserror-impl-1.0.69 \
 		thiserror-impl-2.0.17 \
 		thread_local-1.1.9 \
-		time-0.3.44 \
-		time-core-0.1.6 \
-		time-macros-0.2.24 \
+		time-0.3.47 \
+		time-core-0.1.8 \
+		time-macros-0.2.27 \
 		tinytemplate-1.2.1 \
 		tokio-1.48.0 \
 		tokio-macros-2.6.0 \
@@ -298,7 +300,7 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		unicode-ident-1.0.22 \
 		unicode-segmentation-1.12.0 \
 		unicode-truncate-2.0.0 \
-		unicode-width-0.2.2 \
+		unicode-width-0.2.0 \
 		untrusted-0.9.0 \
 		ureq-3.1.4 \
 		ureq-proto-0.5.3 \
@@ -309,8 +311,6 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		version_check-0.9.5 \
 		vt-push-parser-0.11.0 \
 		vt-push-parser-0.13.1 \
-		vt100-0.16.2 \
-		vte-0.15.0 \
 		vtparse-0.6.2 \
 		walkdir-2.5.0 \
 		wasi-0.11.1+wasi-snapshot-preview1 \
@@ -361,10 +361,8 @@ CARGO_CRATES=	addr2line-0.25.1 \
 		windows_x86_64_msvc-0.52.6 \
 		windows_x86_64_msvc-0.53.1 \
 		winnow-0.7.14 \
-		winreg-0.10.1 \
 		winsafe-0.0.19 \
 		wit-bindgen-0.46.0 \
 		zerocopy-0.8.30 \
 		zerocopy-derive-0.8.30 \
-		zeroize-1.8.2 \
-		nucleo,nucleo-matcher@git+https://github.com/alexpasmantier/nucleo.git?branch=television\#4a5b53c7fa7abb8d777c49dc5850033ae108683e
+		zeroize-1.8.2
diff --git a/textproc/television/distinfo b/textproc/television/distinfo
index adbbe9910e8e..9a42527458cf 100644
--- a/textproc/television/distinfo
+++ b/textproc/television/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1769627594
+TIMESTAMP = 1782908838
 SHA256 (rust/crates/addr2line-0.25.1.crate) = 1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b
 SIZE (rust/crates/addr2line-0.25.1.crate) = 43134
 SHA256 (rust/crates/adler2-2.0.1.crate) = 320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa
@@ -27,8 +27,6 @@ SHA256 (rust/crates/anstyle-wincon-3.0.11.crate) = 291e6a250ff86cd4a820112fb8898
 SIZE (rust/crates/anstyle-wincon-3.0.11.crate) = 12638
 SHA256 (rust/crates/anyhow-1.0.100.crate) = a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61
 SIZE (rust/crates/anyhow-1.0.100.crate) = 54059
-SHA256 (rust/crates/arrayvec-0.7.6.crate) = 7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50
-SIZE (rust/crates/arrayvec-0.7.6.crate) = 31237
 SHA256 (rust/crates/atomic-0.6.1.crate) = a89cbf775b137e9b968e67227ef7f775587cde3fd31b0d8599dbd0f598a48340
 SIZE (rust/crates/atomic-0.6.1.crate) = 15243
 SHA256 (rust/crates/autocfg-1.5.0.crate) = c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8
@@ -45,8 +43,8 @@ SHA256 (rust/crates/bit-vec-0.6.3.crate) = 349f9b6a179ed607305526ca489b34ad0a41a
 SIZE (rust/crates/bit-vec-0.6.3.crate) = 19927
 SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
 SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitflags-2.10.0.crate) = 812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3
-SIZE (rust/crates/bitflags-2.10.0.crate) = 48427
+SHA256 (rust/crates/bitflags-2.11.0.crate) = 843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af
+SIZE (rust/crates/bitflags-2.11.0.crate) = 48906
 SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
 SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
 SHA256 (rust/crates/block2-0.6.2.crate) = cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5
@@ -55,8 +53,8 @@ SHA256 (rust/crates/bumpalo-3.19.0.crate) = 46c5e41b57b8bba42a04676d81cb89e9ee8e
 SIZE (rust/crates/bumpalo-3.19.0.crate) = 96414
 SHA256 (rust/crates/bytemuck-1.24.0.crate) = 1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4
 SIZE (rust/crates/bytemuck-1.24.0.crate) = 53243
-SHA256 (rust/crates/bytes-1.11.0.crate) = b35204fbdc0b3f4446b89fc1ac2cf84a8a68971995d0bf2e925ec7cd960f9cb3
-SIZE (rust/crates/bytes-1.11.0.crate) = 78391
+SHA256 (rust/crates/bytes-1.11.1.crate) = 1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33
+SIZE (rust/crates/bytes-1.11.1.crate) = 78584
 SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
 SIZE (rust/crates/cast-0.3.0.crate) = 11452
 SHA256 (rust/crates/castaway-0.2.4.crate) = dec551ab6e7578819132c713a93c022a05d60159dc86e7a7050223577484c55a
@@ -65,8 +63,6 @@ SHA256 (rust/crates/cc-1.2.48.crate) = c481bdbf0ed3b892f6f806287d72acd515b352a4e
 SIZE (rust/crates/cc-1.2.48.crate) = 92458
 SHA256 (rust/crates/cfg-if-1.0.4.crate) = 9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801
 SIZE (rust/crates/cfg-if-1.0.4.crate) = 9360
-SHA256 (rust/crates/cfg_aliases-0.1.1.crate) = fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e
-SIZE (rust/crates/cfg_aliases-0.1.1.crate) = 6009
 SHA256 (rust/crates/cfg_aliases-0.2.1.crate) = 613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724
 SIZE (rust/crates/cfg_aliases-0.2.1.crate) = 6355
 SHA256 (rust/crates/chrono-0.4.42.crate) = 145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2
@@ -111,6 +107,8 @@ SHA256 (rust/crates/criterion-0.8.1.crate) = 4d883447757bb0ee46f233e9dc22eb84d93
 SIZE (rust/crates/criterion-0.8.1.crate) = 122380
 SHA256 (rust/crates/criterion-plot-0.8.1.crate) = ed943f81ea2faa8dcecbbfa50164acf95d555afec96a27871663b300e387b2e4
 SIZE (rust/crates/criterion-plot-0.8.1.crate) = 24771
+SHA256 (rust/crates/crossbeam-channel-0.5.15.crate) = 82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2
+SIZE (rust/crates/crossbeam-channel-0.5.15.crate) = 92716
 SHA256 (rust/crates/crossbeam-deque-0.8.6.crate) = 9dd111b7b7f7d55b72c0a6ae361660ee5853c9af73f70c3c2ef6858b950e2e51
 SIZE (rust/crates/crossbeam-deque-0.8.6.crate) = 22471
 SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
@@ -163,8 +161,6 @@ SHA256 (rust/crates/dispatch2-0.3.0.crate) = 89a09f22a6c6069a18470eb92d2298acf25
 SIZE (rust/crates/dispatch2-0.3.0.crate) = 54606
 SHA256 (rust/crates/document-features-0.2.12.crate) = d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61
 SIZE (rust/crates/document-features-0.2.12.crate) = 14739
-SHA256 (rust/crates/downcast-rs-1.2.1.crate) = 75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2
-SIZE (rust/crates/downcast-rs-1.2.1.crate) = 11821
 SHA256 (rust/crates/dyn-clone-1.0.20.crate) = d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555
 SIZE (rust/crates/dyn-clone-1.0.20.crate) = 13134
 SHA256 (rust/crates/either-1.15.0.crate) = 48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719
@@ -243,6 +239,8 @@ SHA256 (rust/crates/indoc-2.0.7.crate) = 79cf5c93f93228cf8efb3ba362535fb11199ac5
 SIZE (rust/crates/indoc-2.0.7.crate) = 17184
 SHA256 (rust/crates/instability-0.3.9.crate) = 435d80800b936787d62688c927b6490e887c7ef5ff9ce922c6c6050fca75eb9a
 SIZE (rust/crates/instability-0.3.9.crate) = 14451
+SHA256 (rust/crates/int-enum-1.2.0.crate) = e366a1634cccc76b4cfd3e7580de9b605e4d93f1edac48d786c1f867c0def495
+SIZE (rust/crates/int-enum-1.2.0.crate) = 10048
 SHA256 (rust/crates/is_terminal_polyfill-1.70.2.crate) = a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695
 SIZE (rust/crates/is_terminal_polyfill-1.70.2.crate) = 7548
 SHA256 (rust/crates/itertools-0.13.0.crate) = 413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186
@@ -265,6 +263,10 @@ SHA256 (rust/crates/lazy_static-1.5.0.crate) = bbd2bcb4c963f2ddae06a2efc7e9f3591
 SIZE (rust/crates/lazy_static-1.5.0.crate) = 14025
 SHA256 (rust/crates/libc-0.2.177.crate) = 2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976
 SIZE (rust/crates/libc-0.2.177.crate) = 792045
+SHA256 (rust/crates/libghostty-vt-0.1.1.crate) = d8afe5cc9ae303133220e530b28b7addbbf591160bb1564b88f7ee61387fee74
+SIZE (rust/crates/libghostty-vt-0.1.1.crate) = 37937
+SHA256 (rust/crates/libghostty-vt-sys-0.1.1.crate) = aee97068da1692162c4523d54843bdcb43fecf086a9ee412a3375817e433faca
+SIZE (rust/crates/libghostty-vt-sys-0.1.1.crate) = 39542
 SHA256 (rust/crates/libredox-0.1.10.crate) = 416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb
 SIZE (rust/crates/libredox-0.1.10.crate) = 7332
 SHA256 (rust/crates/line-clipping-0.3.5.crate) = 5f4de44e98ddbf09375cbf4d17714d18f39195f4f4894e8524501726fd9a8a4a
@@ -285,8 +287,8 @@ SHA256 (rust/crates/mac_address-1.1.8.crate) = c0aeb26bf5e836cc1c341c8106051b573
 SIZE (rust/crates/mac_address-1.1.8.crate) = 12876
 SHA256 (rust/crates/matchers-0.2.0.crate) = d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9
 SIZE (rust/crates/matchers-0.2.0.crate) = 7075
-SHA256 (rust/crates/memchr-2.7.6.crate) = f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273
-SIZE (rust/crates/memchr-2.7.6.crate) = 97616
+SHA256 (rust/crates/memchr-2.8.0.crate) = f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79
+SIZE (rust/crates/memchr-2.8.0.crate) = 97780
 SHA256 (rust/crates/memmem-0.1.1.crate) = a64a92489e2744ce060c349162be1c5f33c6969234104dbd99ddb5feb08b8c15
 SIZE (rust/crates/memmem-0.1.1.crate) = 10665
 SHA256 (rust/crates/memoffset-0.9.1.crate) = 488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a
@@ -297,8 +299,6 @@ SHA256 (rust/crates/miniz_oxide-0.8.9.crate) = 1fa76a2c86f704bdb222d66965fb3d632
 SIZE (rust/crates/miniz_oxide-0.8.9.crate) = 67132
 SHA256 (rust/crates/mio-1.1.0.crate) = 69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873
 SIZE (rust/crates/mio-1.1.0.crate) = 105232
-SHA256 (rust/crates/nix-0.28.0.crate) = ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4
-SIZE (rust/crates/nix-0.28.0.crate) = 311086
 SHA256 (rust/crates/nix-0.29.0.crate) = 71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46
 SIZE (rust/crates/nix-0.29.0.crate) = 318248
 SHA256 (rust/crates/nix-0.30.1.crate) = 74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6
@@ -309,8 +309,8 @@ SHA256 (rust/crates/nom-8.0.0.crate) = df9761775871bdef83bee530e60050f7e54b11053
 SIZE (rust/crates/nom-8.0.0.crate) = 135590
 SHA256 (rust/crates/nu-ansi-term-0.50.3.crate) = 7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5
 SIZE (rust/crates/nu-ansi-term-0.50.3.crate) = 29597
-SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
-SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-conv-0.2.0.crate) = cf97ec579c3c42f953ef76dbf8d55ac91fb219dde70e49aa4a6b7d74e9919050
+SIZE (rust/crates/num-conv-0.2.0.crate) = 7034
 SHA256 (rust/crates/num-derive-0.4.2.crate) = ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202
 SIZE (rust/crates/num-derive-0.4.2.crate) = 14709
 SHA256 (rust/crates/num-traits-0.2.19.crate) = 071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841
@@ -377,6 +377,12 @@ SHA256 (rust/crates/pest_generator-2.8.4.crate) = dee9efd8cdb50d719a80088b76f81a
 SIZE (rust/crates/pest_generator-2.8.4.crate) = 18650
 SHA256 (rust/crates/pest_meta-2.8.4.crate) = bf1d70880e76bdc13ba52eafa6239ce793d85c8e43896507e43dd8984ff05b82
 SIZE (rust/crates/pest_meta-2.8.4.crate) = 42947
+SHA256 (rust/crates/phantom-core-0.1.0.crate) = 73ff3eeea1b5e9b0b02302fcb853e1e1097cba58af4ed0047d0c473ffc75c859
+SIZE (rust/crates/phantom-core-0.1.0.crate) = 3854
+SHA256 (rust/crates/phantom-daemon-0.1.0.crate) = b94a891d15938ac9ed1d63c012edc51d9dcfb418cdfa6d580f3d87b59cba2c4d
+SIZE (rust/crates/phantom-daemon-0.1.0.crate) = 29877
+SHA256 (rust/crates/phantom-test-0.1.0.crate) = 6e1abb16997166b09a166e7d7d62159037c0a73720b3524309c70256c573af30
+SIZE (rust/crates/phantom-test-0.1.0.crate) = 30664
 SHA256 (rust/crates/phf-0.11.3.crate) = 1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078
 SIZE (rust/crates/phf-0.11.3.crate) = 23231
 SHA256 (rust/crates/phf_codegen-0.11.3.crate) = aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a
@@ -397,12 +403,12 @@ SHA256 (rust/crates/plotters-svg-0.3.7.crate) = 51bae2ac328883f7acdfea3d66a7c357
 SIZE (rust/crates/plotters-svg-0.3.7.crate) = 6715
 SHA256 (rust/crates/portable-atomic-1.13.0.crate) = f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950
 SIZE (rust/crates/portable-atomic-1.13.0.crate) = 195086
-SHA256 (rust/crates/portable-pty-0.9.0.crate) = b4a596a2b3d2752d94f51fac2d4a96737b8705dddd311a32b9af47211f08671e
-SIZE (rust/crates/portable-pty-0.9.0.crate) = 29466
 SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
 SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
 SHA256 (rust/crates/proc-macro2-1.0.103.crate) = 5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8
 SIZE (rust/crates/proc-macro2-1.0.103.crate) = 60024
+SHA256 (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8
+SIZE (rust/crates/proc-macro2-diagnostics-0.10.1.crate) = 12219
 SHA256 (rust/crates/quote-1.0.42.crate) = a338cc41d27e6cc6dce6cefc13a0729dfbb81c262b1f519331575dd80ef3067f
 SIZE (rust/crates/quote-1.0.42.crate) = 31504
 SHA256 (rust/crates/r-efi-5.3.0.crate) = 69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f
@@ -493,16 +499,10 @@ SHA256 (rust/crates/serde_with-3.16.1.crate) = 4fa237f2807440d238e0364a218270b98
 SIZE (rust/crates/serde_with-3.16.1.crate) = 198782
 SHA256 (rust/crates/serde_with_macros-3.16.1.crate) = 52a8e3ca0ca629121f70ab50f95249e5a6f925cc0f6ffe8256c45b728875706c
 SIZE (rust/crates/serde_with_macros-3.16.1.crate) = 38106
-SHA256 (rust/crates/serial2-0.2.33.crate) = 8cc76fa68e25e771492ca1e3c53d447ef0be3093e05cd3b47f4b712ba10c6f3c
-SIZE (rust/crates/serial2-0.2.33.crate) = 34092
 SHA256 (rust/crates/sha2-0.10.9.crate) = a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283
 SIZE (rust/crates/sha2-0.10.9.crate) = 29271
 SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
 SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
-SHA256 (rust/crates/shared_library-0.1.9.crate) = 5a9e7e0f2bfae24d8a5b5a66c5b257a83c7412304311512a0c054cd5e619da11
-SIZE (rust/crates/shared_library-0.1.9.crate) = 10566
-SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde
-SIZE (rust/crates/shell-words-1.1.0.crate) = 9871
 SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
 SIZE (rust/crates/shlex-1.3.0.crate) = 18713
 SHA256 (rust/crates/signal-hook-0.3.18.crate) = d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2
@@ -539,6 +539,10 @@ SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67
 SIZE (rust/crates/syn-1.0.109.crate) = 237611
 SHA256 (rust/crates/syn-2.0.111.crate) = 390cc9a294ab71bdb1aa2e99d13be9c753cd2d7bd6560c77118597410c4d2e87
 SIZE (rust/crates/syn-2.0.111.crate) = 302117
+SHA256 (rust/crates/television-nucleo-0.5.0.crate) = 23826a23dd6cf3fa61e4f01b305f7f6150c60a9714cddd08a4d1950a739d7b25
+SIZE (rust/crates/television-nucleo-0.5.0.crate) = 39143
+SHA256 (rust/crates/television-nucleo-matcher-0.3.1.crate) = e5f4b54a8866aa84bdc0ebe2a23a285b528b3af2876d9d256a91733f56b44a1b
+SIZE (rust/crates/television-nucleo-matcher-0.3.1.crate) = 56065
 SHA256 (rust/crates/tempfile-3.23.0.crate) = 2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16
 SIZE (rust/crates/tempfile-3.23.0.crate) = 43063
 SHA256 (rust/crates/terminfo-0.9.0.crate) = d4ea810f0692f9f51b382fff5893887bb4580f5fa246fde546e0b13e7fcee662
@@ -559,12 +563,12 @@ SHA256 (rust/crates/thiserror-impl-2.0.17.crate) = 3ff15c8ecd7de3849db632e14d18d
 SIZE (rust/crates/thiserror-impl-2.0.17.crate) = 21344
 SHA256 (rust/crates/thread_local-1.1.9.crate) = f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185
 SIZE (rust/crates/thread_local-1.1.9.crate) = 19315
-SHA256 (rust/crates/time-0.3.44.crate) = 91e7d9e3bb61134e77bde20dd4825b97c010155709965fedf0f49bb138e52a9d
-SIZE (rust/crates/time-0.3.44.crate) = 143200
-SHA256 (rust/crates/time-core-0.1.6.crate) = 40868e7c1d2f0b8d73e4a8c7f0ff63af4f6d19be117e90bd73eb1d62cf831c6b
-SIZE (rust/crates/time-core-0.1.6.crate) = 9105
-SHA256 (rust/crates/time-macros-0.2.24.crate) = 30cfb0125f12d9c277f35663a0a33f8c30190f4e4574868a330595412d34ebf3
-SIZE (rust/crates/time-macros-0.2.24.crate) = 24715
+SHA256 (rust/crates/time-0.3.47.crate) = 743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c
+SIZE (rust/crates/time-0.3.47.crate) = 225161
+SHA256 (rust/crates/time-core-0.1.8.crate) = 7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca
+SIZE (rust/crates/time-core-0.1.8.crate) = 9634
+SHA256 (rust/crates/time-macros-0.2.27.crate) = 2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215
+SIZE (rust/crates/time-macros-0.2.27.crate) = 25144
 SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
 SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
 SHA256 (rust/crates/tokio-1.48.0.crate) = ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408
@@ -599,8 +603,8 @@ SHA256 (rust/crates/unicode-segmentation-1.12.0.crate) = f6ccf251212114b54433ec9
 SIZE (rust/crates/unicode-segmentation-1.12.0.crate) = 106323
 SHA256 (rust/crates/unicode-truncate-2.0.0.crate) = 8fbf03860ff438702f3910ca5f28f8dac63c1c11e7efb5012b8b175493606330
 SIZE (rust/crates/unicode-truncate-2.0.0.crate) = 12904
-SHA256 (rust/crates/unicode-width-0.2.2.crate) = b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254
-SIZE (rust/crates/unicode-width-0.2.2.crate) = 282768
+SHA256 (rust/crates/unicode-width-0.2.0.crate) = 1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd
+SIZE (rust/crates/unicode-width-0.2.0.crate) = 271509
 SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
 SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
 SHA256 (rust/crates/ureq-3.1.4.crate) = d39cb1dbab692d82a977c0392ffac19e188bd9186a9f32806f0aaa859d75585a
@@ -621,10 +625,6 @@ SHA256 (rust/crates/vt-push-parser-0.11.0.crate) = 1f8a8f80d386fd6819e90195fb12b
 SIZE (rust/crates/vt-push-parser-0.11.0.crate) = 28109
 SHA256 (rust/crates/vt-push-parser-0.13.1.crate) = cdbf39d53c5a50cad8119d9cde929ecd208764e8d8d1626486b8929cbcd5f0e7
 SIZE (rust/crates/vt-push-parser-0.13.1.crate) = 29252
-SHA256 (rust/crates/vt100-0.16.2.crate) = 054ff75fb8fa83e609e685106df4faeffdf3a735d3c74ebce97ec557d5d36fd9
-SIZE (rust/crates/vt100-0.16.2.crate) = 32355
-SHA256 (rust/crates/vte-0.15.0.crate) = a5924018406ce0063cd67f8e008104968b74b563ee1b85dde3ed1f7cb87d3dbd
-SIZE (rust/crates/vte-0.15.0.crate) = 57487
 SHA256 (rust/crates/vtparse-0.6.2.crate) = 6d9b2acfb050df409c972a37d3b8e08cdea3bddb0c09db9d53137e504cfabed0
 SIZE (rust/crates/vtparse-0.6.2.crate) = 11448
 SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
@@ -725,8 +725,6 @@ SHA256 (rust/crates/windows_x86_64_msvc-0.53.1.crate) = d6bbff5f0aada427a1e5a6da
 SIZE (rust/crates/windows_x86_64_msvc-0.53.1.crate) = 837950
 SHA256 (rust/crates/winnow-0.7.14.crate) = 5a5364e9d77fcdeeaa6062ced926ee3381faa2ee02d3eb83a5c27a8825540829
 SIZE (rust/crates/winnow-0.7.14.crate) = 184718
-SHA256 (rust/crates/winreg-0.10.1.crate) = 80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d
-SIZE (rust/crates/winreg-0.10.1.crate) = 25725
 SHA256 (rust/crates/winsafe-0.0.19.crate) = d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904
 SIZE (rust/crates/winsafe-0.0.19.crate) = 492820
 SHA256 (rust/crates/wit-bindgen-0.46.0.crate) = f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59
@@ -737,7 +735,5 @@ SHA256 (rust/crates/zerocopy-derive-0.8.30.crate) = cf955aa904d6040f70dc8e938444
 SIZE (rust/crates/zerocopy-derive-0.8.30.crate) = 90705
 SHA256 (rust/crates/zeroize-1.8.2.crate) = b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0
 SIZE (rust/crates/zeroize-1.8.2.crate) = 20907
-SHA256 (alexpasmantier-nucleo-4a5b53c7fa7abb8d777c49dc5850033ae108683e_GH0.tar.gz) = e3d3ec7445386249c611093c6869afdb57ec323edb96d65837055ae1bd6139ff
-SIZE (alexpasmantier-nucleo-4a5b53c7fa7abb8d777c49dc5850033ae108683e_GH0.tar.gz) = 88072
-SHA256 (alexpasmantier-television-0.15.0_GH0.tar.gz) = 379573f0d45cc03abb71174c4e76b4e875500fb67df511bb1c106d814417fdd5
-SIZE (alexpasmantier-television-0.15.0_GH0.tar.gz) = 19231848
+SHA256 (alexpasmantier-television-0.15.9_GH0.tar.gz) = 5f46cbe7b14e1d6e3958f436b1d6ed8af86e9914d7d2aee5a9379e8e1772072d
+SIZE (alexpasmantier-television-0.15.9_GH0.tar.gz) = 25491411
diff --git a/textproc/television/pkg-plist b/textproc/television/pkg-plist
index 0c82f42607e6..50093ca04aca 100644
--- a/textproc/television/pkg-plist
+++ b/textproc/television/pkg-plist
@@ -3,17 +3,29 @@ bin/tv
 share/man/man1/television.1.gz
 share/man/man1/tv.1.gz
 %%EXAMPLESDIR%%/config.toml
-%%DOCSDIR%%/01-installation.md
-%%DOCSDIR%%/02-quickstart.md
-%%DOCSDIR%%/03-configuration.md
-%%DOCSDIR%%/04-keybindings.md
-%%DOCSDIR%%/05-shell-integration.md
-%%DOCSDIR%%/06-search-patterns.md
-%%DOCSDIR%%/07-channels.md
-%%DOCSDIR%%/08-themes.md
-%%DOCSDIR%%/09-cli.md
-%%DOCSDIR%%/10-community-channels-unix.md
-%%DOCSDIR%%/10-community-channels-windows.md
-%%DOCSDIR%%/11-terminal_emulators.md
-%%DOCSDIR%%/12-showcase.md
-%%DOCSDIR%%/13-contributing-channels.md
+%%DOCSDIR%%/reference/02-actions.md
+%%DOCSDIR%%/reference/01-cli.md
+%%DOCSDIR%%/reference/03-channel-spec.md
+%%DOCSDIR%%/getting-started/02-quickstart.md
+%%DOCSDIR%%/getting-started/03-first-channel.md
+%%DOCSDIR%%/getting-started/01-installation.md
+%%DOCSDIR%%/developers/contributing.md
+%%DOCSDIR%%/developers/patch-notes.md
+%%DOCSDIR%%/developers/shell-integration-local.md
+%%DOCSDIR%%/developers/release-notes/0.12.md
+%%DOCSDIR%%/developers/release-notes/0.15.md
+%%DOCSDIR%%/advanced/03-troubleshooting.md
+%%DOCSDIR%%/advanced/01-template-system.md
+%%DOCSDIR%%/advanced/02-tips-and-tricks.md
+%%DOCSDIR%%/intro.md
+%%DOCSDIR%%/user-guide/02-configuration.md
+%%DOCSDIR%%/user-guide/01-channels.md
+%%DOCSDIR%%/user-guide/04-shell-integration.md
+%%DOCSDIR%%/user-guide/06-search-patterns.md
+%%DOCSDIR%%/user-guide/03-keybindings.md
+%%DOCSDIR%%/user-guide/05-themes.md
+%%DOCSDIR%%/community/contributing-channels.md
+%%DOCSDIR%%/community/channels-unix.md
+%%DOCSDIR%%/community/terminal-emulators.md
+%%DOCSDIR%%/community/channels-windows.md
+%%DOCSDIR%%/community/showcase.md