Index | Thread | Search

From:
"Igor Zornik" <mocheryl@mocheryl.org>
Subject:
[UPDATE] sysutils/lf 41 -> 42
To:
"OpenBSD ports" <ports@openbsd.org>
Date:
Wed, 02 Sep 2026 23:44:13 +0200

Download raw body.

Thread
Hello, ports.

New version of lf brings too many fixes and features to list here.
Another addition to the port that I've included with this release
is command completion for three popular shells. I didn't test the
completions as I don't use any of the aforementioned shells, just set
them in the same way as other ports do it. The port itself builds and
runs on yesterday's amd64 snap. QP-encoded diff below. Someone please
commit if OK.

Changelog is available at
https://github.com/gokcehan/lf/releases/tag/r42

Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/lf/Makefile,v
retrieving revision 1.15
diff -u -p -u -p -r1.15 Makefile
--- Makefile	10 Feb 2026 22:52:41 -0000	1.15
+++ Makefile	2 Sep 2026 21:17:22 -0000
@@ -1,9 +1,9 @@
 COMMENT =	terminal file manager inspired by ranger written in Go
 
 MODGO_MODNAME =	github.com/gokcehan/lf
-MODGO_VERSION =	v0.0.0-20260204053052-18ab3cf6500d
+MODGO_VERSION =	v0.0.0-20260731071221-5b6c393d5479
 
-R =	41
+R =	42
 DISTNAME =	lf-${R}
 
 CATEGORIES =	sysutils
@@ -15,7 +15,7 @@ MAINTAINER =	Igor Zornik <mocheryl@moche
 # MIT
 PERMIT_PACKAGE =	Yes
 
-WANTLIB +=	c pthread
+WANTLIB += c pthread
 
 MODGO_LDFLAGS +=	-X 'main.gVersion=r${R}'
 
@@ -26,10 +26,18 @@ RUN_DEPENDS =	devel/desktop-file-utils
 post-install:
 	${INSTALL_MAN_DIR} ${PREFIX}/man/man1
 	${INSTALL_DATA_DIR} ${PREFIX}/share/examples/lf
+	${INSTALL_DATA_DIR} ${PREFIX}/share/bash-completion/completions \
+		${PREFIX}/share/fish/vendor_completions.d \
+		${PREFIX}/share/zsh/site-functions
 	${INSTALL_DATA_DIR} ${PREFIX}/share/applications
 	${INSTALL_MAN} ${WRKSRC}/lf.1 ${PREFIX}/man/man1
 	${INSTALL_DATA} ${WRKSRC}/etc/lfrc.example ${PREFIX}/share/examples/lf
 	${INSTALL_DATA} ${WRKSRC}/etc/ruler.default ${PREFIX}/share/examples/lf
+	${INSTALL_DATA} ${WRKSRC}/etc/lf.bash \
+		${PREFIX}/share/bash-completion/completions/lf
+	${INSTALL_DATA} ${WRKSRC}/etc/lf.fish \
+		${PREFIX}/share/fish/vendor_completions.d/
+	${INSTALL_DATA} ${WRKSRC}/etc/lf.zsh ${PREFIX}/share/zsh/site-functions/_lf
 	${INSTALL_DATA} ${WRKSRC}/lf.desktop ${PREFIX}/share/applications
 
 .include "modules.inc"
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/lf/distinfo,v
retrieving revision 1.13
diff -u -p -u -p -r1.13 distinfo
--- distinfo	10 Feb 2026 22:52:41 -0000	1.13
+++ distinfo	2 Sep 2026 21:17:22 -0000
@@ -1,28 +1,24 @@
-SHA256 (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.2.0.mod) = 88X05Pnn+xaupf2dxfJMP/nBV7GmdXbA8hQBF1iVB6A=
-SHA256 (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.2.0.zip) = CybXOd3ehqO9LAzEzoynEWlqUjSZqbJnMvsl/IuVMas=
+SHA256 (go_modules/github.com/clipperhouse/displaywidth/@v/v0.11.0.mod) = ZDv5CTUde8j/Kainu0TMoR7+GB7Wbl7+V9aVuwI+/7M=
+SHA256 (go_modules/github.com/clipperhouse/displaywidth/@v/v0.11.0.zip) = J4MMkc37KmSHSNsh96JzTctQ0hxiDt3lHUiLpOeWfj0=
+SHA256 (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.7.0.mod) = 88X05Pnn+xaupf2dxfJMP/nBV7GmdXbA8hQBF1iVB6A=
+SHA256 (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.7.0.zip) = Z7Enjx/7Tk14OjkOSP5zloZGUBOOeF1LS/ylkUMz92E=
 SHA256 (go_modules/github.com/djherbis/times/@v/v1.6.0.mod) = 7MB94w6lYbIca6xhdg8www2oqoZn15As+x9btZdDgIo=
 SHA256 (go_modules/github.com/djherbis/times/@v/v1.6.0.zip) = IdaQYJZ7wD6jw5/4wLGpVRHpbszTdJotrvGgKvG8CoU=
-SHA256 (go_modules/github.com/fsnotify/fsnotify/@v/v1.9.0.mod) = 2jcTxcV9JS0lUg3g5rOXsDOFizr/Xd3yEWSr4yl8n/k=
-SHA256 (go_modules/github.com/fsnotify/fsnotify/@v/v1.9.0.zip) = lOZIJLI1kbeqUE4zIdXsP1feiPTUmILq77v2gg2rdG4=
+SHA256 (go_modules/github.com/fsnotify/fsnotify/@v/v1.10.1.mod) = f2YUFkmpSEI7qI1ki/RLERvfcvVWzVXQHeqKUPy+KH8=
+SHA256 (go_modules/github.com/fsnotify/fsnotify/@v/v1.10.1.zip) = ssajNODVGNouBGBmvdnaNMsmutbfnxdwGALT3lIqsBY=
 SHA256 (go_modules/github.com/gdamore/encoding/@v/v1.0.1.mod) = Z2IawwIkfAvI+iS78TchCDbgwG1nxBFsjI+YHhY9AEM=
 SHA256 (go_modules/github.com/gdamore/encoding/@v/v1.0.1.zip) = 5YQwPHQzBq5VviGlcDkA0GKKou+EDOSdXwu/fFE3njM=
-SHA256 (go_modules/github.com/gdamore/tcell/v2/@v/v2.9.0.mod) = iNTFnpx/qfMtjsaUYclRU4u4aIBsFWyqbSnPfl9CM/0=
-SHA256 (go_modules/github.com/gdamore/tcell/v2/@v/v2.9.0.zip) = 420MsBR0xUVrT9KNxrDB3BFdF4jtF0iFr9S/X6K5r0I=
-SHA256 (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.2.0.mod) = hPnDjpiEqwE8g3yxau4TlQDT1cbMqwJDmIHbLs8o9mA=
-SHA256 (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.3.0.mod) = hPnDjpiEqwE8g3yxau4TlQDT1cbMqwJDmIHbLs8o9mA=
-SHA256 (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.3.0.zip) = nHyKwg0bL/4bQ5Vua+lMl52dQvLswYLRu7LJHxFkfBU=
-SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.16.mod) = IWyT0ZMQYSyB1cdBAkmJ+DiX0jM8Op+We1ixMXWH9Rk=
-SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.19.mod) = 8Y88c/WdE4/VZfngGbQYcTY4FYnohQdwT0YY5C1a9Y4=
-SHA256 (go_modules/github.com/mattn/go-runewidth/@v/v0.0.19.zip) = SpmFeGC2wmVX5tJ11zffi8KaVCzCj7BB1HpBdRWQaHY=
-SHA256 (go_modules/github.com/rivo/uniseg/@v/v0.4.3.mod) = oeF0iQ/J8lJFAhH63rU3VvnPWrexlpd2X5+yVfgeqJg=
-SHA256 (go_modules/github.com/rivo/uniseg/@v/v0.4.3.zip) = usKS35mFcacqXc35FQ3txWs7YRyBvBtv+EBV4aQ0gy0=
+SHA256 (go_modules/github.com/gdamore/tcell/v3/@v/v3.4.1.mod) = MP9i+k0WL3erF7FRRu8ACa2hXHVHxPAV+mvmT5+9rks=
+SHA256 (go_modules/github.com/gdamore/tcell/v3/@v/v3.4.1.zip) = IPJ1To1dXZuFfRhnbhKv/C/RfeYwU+z5ndf/vHnKfwk=
+SHA256 (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.4.0.mod) = hPnDjpiEqwE8g3yxau4TlQDT1cbMqwJDmIHbLs8o9mA=
+SHA256 (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.4.0.zip) = 8slon8XKMrbtFDa8zoebROe50U9nBoGrQZdCE/Ksshc=
 SHA256 (go_modules/github.com/yuin/goldmark/@v/v1.4.13.mod) = 7n/kRmIDoB06wZrcE0zeyZvG3nGZLCjz3Zp0SAv/BgM=
 SHA256 (go_modules/github.com/yuin/goldmark/@v/v1.4.13.zip) = u0GmArF0NF/aOSyK2D/MkyF8KFx2NplndjC+kP63peM=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20190308221718-c2843e01d9a2.mod) = M+0HClpm4JYGhaxThkQOG1mJnnTYo4oRgGhecqIZXe0=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20210921155107-089bfa567519.mod) = zWMRYSoqpNDX4DxBs6ofvC1fiVqz9hCJ+rgL/p+PVIU=
 SHA256 (go_modules/golang.org/x/crypto/@v/v0.0.0-20210921155107-089bfa567519.zip) = 6yQmp4kZFSE8xdodp7b8bp4s8lPVGNjhaeA44of0FOM=
-SHA256 (go_modules/golang.org/x/mod/@v/v0.27.0.mod) = sg1sH0tGdC5q+CgycWA0aus+YiqxeArVG4Dh1nrf6Vs=
-SHA256 (go_modules/golang.org/x/mod/@v/v0.27.0.zip) = GfskHUbkOX0xk7X6iZ4qnWK7XRxB9z0J0pwXw8DTlTw=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.37.0.mod) = U4Ry/fCU3V5J3EDnBGj6kxqTwkHroH+5RqmHR8lKtN8=
+SHA256 (go_modules/golang.org/x/mod/@v/v0.37.0.zip) = kejk6bdKhwba6Ai2ZTjUqyK+/QDBHzQTTrl/9XLVLoU=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.6.0-dev.0.20220419223038-86c51ed26bb4.mod) = QtGQI/+PLq5wC8VJXzcezZmKItGbqYXQr19pkAslQIM=
 SHA256 (go_modules/golang.org/x/mod/@v/v0.8.0.mod) = YkVnRZxumUesSr3gtwNO5h3Ltqk3P1lwCUwLs+gSGWQ=
 SHA256 (go_modules/golang.org/x/net/@v/v0.0.0-20190620200207-3b0461eec859.mod) = 5u/a94opUD8IDPbSYV4onPsdnjq31XD1NmjsorSrQdo=
@@ -33,8 +29,8 @@ SHA256 (go_modules/golang.org/x/net/@v/v
 SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20190423024810-112230192c58.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
 SHA256 (go_modules/golang.org/x/sync/@v/v0.0.0-20220722155255-886fb9371eb4.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
 SHA256 (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = Qh9hOWhtWJHz3FpWPQmVeA0yefZcrU0iXOpSaGeUFhw=
-SHA256 (go_modules/golang.org/x/sync/@v/v0.17.0.mod) = 0zPFS3SviguOx0jTfFly0nudCIueRci/XDq1INIRMJA=
-SHA256 (go_modules/golang.org/x/sync/@v/v0.17.0.zip) = xdz9MuIj7cegA6UaFmqBdZpL7MuakeuFOFtNZ6HIIMY=
+SHA256 (go_modules/golang.org/x/sync/@v/v0.22.0.mod) = o+KedgYL1WEGBFSx+ivc1mZ09gycqTgzuBBjVeNMYDw=
+SHA256 (go_modules/golang.org/x/sync/@v/v0.22.0.zip) = S8Z9JYznhnz8GkN2XEPZi0xJuQxG3QuG+JalpJCfreA=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20190215142949-d0b11bdaac8a.mod) = iWkRXko5EIhIMk55ob2KhEUjDm46rMvp+AV/tQ//yME=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20201119102817-f84b799fce68.mod) = GBl56L1X0tngZBgtqGyaYRGqaXVeiI8IQx7OR0Kuw0M=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20210615035016-665e8c7367d1.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
@@ -42,58 +38,51 @@ SHA256 (go_modules/golang.org/x/sys/@v/v
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220615213510-4f61da869c0c.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.0.0-20220722155257-8c9f86f7a55f.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.13.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
-SHA256 (go_modules/golang.org/x/sys/@v/v0.35.0.mod) = 9n4+GPTAjmCn6Acmqza2kf3Opbga4caW/2TK9Ri8/j0=
-SHA256 (go_modules/golang.org/x/sys/@v/v0.40.0.mod) = 9BGBTYOpboZ4Gx3uQcEluVBNpUItujfMHWOwFq45z+I=
-SHA256 (go_modules/golang.org/x/sys/@v/v0.40.0.zip) = 1/n+RDAPyNR7MNBs0AHZxixUxhGYGKGaLjOpNTiXFmk=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.47.0.mod) = V/Q5PqGNVEahI2OzXCOmFthD+hZpxxIacKK8OpZ31mU=
+SHA256 (go_modules/golang.org/x/sys/@v/v0.47.0.zip) = zawBPdztAmKSbsKf/NpkXaOWcOYcflt2HlcraxgJuxs=
 SHA256 (go_modules/golang.org/x/sys/@v/v0.5.0.mod) = 8DMzMJb+GY8xUd7tk/LeunTlC7/nc5E0BFvDt85KUCQ=
 SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20201126162022-7de9c90e9dd1.mod) = TLqxT3cGdxsnHZlaGzzBMf5aJGqtx+5tG6bwvYlHgfo=
 SHA256 (go_modules/golang.org/x/term/@v/v0.0.0-20210927222741-03fcf44c2211.mod) = dAeU4pFPXMh+JWVsWEMiKyxlZlghIF9FYyoEd8jT95s=
-SHA256 (go_modules/golang.org/x/term/@v/v0.34.0.mod) = pf+AuqfyY5257Z30bvbOKf0asbQnXpuKaFaqm47N4no=
-SHA256 (go_modules/golang.org/x/term/@v/v0.39.0.mod) = wDklZj+X1JDHRXWE2tqVS2z748R2K6AufPbw6694oss=
-SHA256 (go_modules/golang.org/x/term/@v/v0.39.0.zip) = RDux+HrRGn0tqP6k5YJy6G89cIlfOOE6mSU23EMfxS0=
+SHA256 (go_modules/golang.org/x/term/@v/v0.45.0.mod) = YsP50aWuEiZKtI4siswIyfIBvalhneFxVE61cUt0rsU=
+SHA256 (go_modules/golang.org/x/term/@v/v0.45.0.zip) = s6OvaJcotDASrhshSCVxo1wDPFRemOAhYGvU/PH3kQg=
 SHA256 (go_modules/golang.org/x/term/@v/v0.5.0.mod) = DW9YIoqtwaZSjmdV2gGFFlZuOuXFIB963hdz9W+o2TQ=
 SHA256 (go_modules/golang.org/x/text/@v/v0.14.0.mod) = lxV58X6avFkmq3YhT1M71RfPSSXIhSQ6xHVaGgp8ae8=
-SHA256 (go_modules/golang.org/x/text/@v/v0.28.0.mod) = URSs2/q356CXgI0L1M3wbjowQ+S8Xk5JdHFdZkUCaYo=
-SHA256 (go_modules/golang.org/x/text/@v/v0.29.0.mod) = tXvMf/392xuCNfdyYr9BQix11y3aWhRVQ8w2vMrEOtM=
-SHA256 (go_modules/golang.org/x/text/@v/v0.29.0.zip) = +0d0RWX9NtpCqy69PuTbADjf7U9wPJJqnnMn3rq4r3c=
 SHA256 (go_modules/golang.org/x/text/@v/v0.3.0.mod) = NoedWG/YAB6E2oeHGQoR5PeHSeKoHf6Lm2kxiZ//Mc8=
 SHA256 (go_modules/golang.org/x/text/@v/v0.3.3.mod) = +7eojtFAUV55Dsp6EP/TGcl4axHGpsfln4D3+ze7RUI=
 SHA256 (go_modules/golang.org/x/text/@v/v0.3.7.mod) = xF1mkIlCe8RjXQexhfm5aAMy0cSMdbPEnLcVuBoEpbA=
+SHA256 (go_modules/golang.org/x/text/@v/v0.40.0.mod) = 5p+wmxRjfKtiRaElPCLYASG3nZ/j3dGbVYYp4Vuq2vM=
+SHA256 (go_modules/golang.org/x/text/@v/v0.40.0.zip) = B3VzhHKND1LdhcHz8WNAXmOWsrD7frfWthDypxHWnuM=
 SHA256 (go_modules/golang.org/x/text/@v/v0.7.0.mod) = FZKedvzgSupMkqNUQmu0M3BoRkWk7gPy510MLrFGYwQ=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.0.0-20180917221912-90fa682c2a6e.mod) = oOAvBnj+Ytw8S0vHf6kSybcN4Q+p988veq0DNzkrUq8=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.0.0-20191119224855-298f0cb1881e.mod) = iNR5Jl+Ib15ZjXbAA9DyV7QtvxuJXYIKErWrCzUBrKE=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.1.12.mod) = KouTZYmPCCL6zmW6CJoTU+aKZdNC8wDKMXzOzN5kIfM=
-SHA256 (go_modules/golang.org/x/tools/@v/v0.36.0.mod) = U3kuYjgn70C+jxrzbc8SeQ6CeAs9M7SwlE9Wo1hLxCk=
-SHA256 (go_modules/golang.org/x/tools/@v/v0.36.0.zip) = hbSGAw6ZXNW01W3qkvJHsyv04K4v5oFrKdRRS1pD/sg=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.47.0.mod) = 60bkSFD7TcpI97aAysUXdoLLDjArMH1NPb1+2d8F/A8=
+SHA256 (go_modules/golang.org/x/tools/@v/v0.47.0.zip) = FD0TK1GdoUVNuWf+u2UkF5aAXXydR1IDQ0HBN2/T1/E=
 SHA256 (go_modules/golang.org/x/tools/@v/v0.6.0.mod) = gw7Xjc0+mSfEEuJkEjAwhEd0nVE9MQJNJ24kQ7IBZgk=
 SHA256 (go_modules/golang.org/x/xerrors/@v/v0.0.0-20190717185122-a985d3407aa7.mod) = ql4+ybt7n2gWCe+sAZ2d4ae6dxkkj/Hqon54iC2z1/U=
 SHA256 (go_modules/golang.org/x/xerrors/@v/v0.0.0-20190717185122-a985d3407aa7.zip) = xOnwY8/tVGyQ8AqWV96sT5FaiZT4y+bb0/GOeeuDAs8=
-SHA256 (lf-41.zip) = wL81/5dEbo8m7Lz2xaFmDMRvsJlr+T5bwzMA8qSblRw=
-SIZE (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.2.0.mod) = 255
-SIZE (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.2.0.zip) = 283496
+SHA256 (lf-42.zip) = SYWrxoeeISLVAfz7hbv5Y+JxfkfEChylxbDXlmDhqow=
+SIZE (go_modules/github.com/clipperhouse/displaywidth/@v/v0.11.0.mod) = 102
+SIZE (go_modules/github.com/clipperhouse/displaywidth/@v/v0.11.0.zip) = 79386
+SIZE (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.7.0.mod) = 255
+SIZE (go_modules/github.com/clipperhouse/uax29/v2/@v/v2.7.0.zip) = 319061
 SIZE (go_modules/github.com/djherbis/times/@v/v1.6.0.mod) = 103
 SIZE (go_modules/github.com/djherbis/times/@v/v1.6.0.zip) = 20667
-SIZE (go_modules/github.com/fsnotify/fsnotify/@v/v1.9.0.mod) = 279
-SIZE (go_modules/github.com/fsnotify/fsnotify/@v/v1.9.0.zip) = 116946
+SIZE (go_modules/github.com/fsnotify/fsnotify/@v/v1.10.1.mod) = 279
+SIZE (go_modules/github.com/fsnotify/fsnotify/@v/v1.10.1.zip) = 120092
 SIZE (go_modules/github.com/gdamore/encoding/@v/v1.0.1.mod) = 78
 SIZE (go_modules/github.com/gdamore/encoding/@v/v1.0.1.zip) = 25022
-SIZE (go_modules/github.com/gdamore/tcell/v2/@v/v2.9.0.mod) = 308
-SIZE (go_modules/github.com/gdamore/tcell/v2/@v/v2.9.0.zip) = 278542
-SIZE (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.2.0.mod) = 51
-SIZE (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.3.0.mod) = 51
-SIZE (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.3.0.zip) = 971586
-SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.16.mod) = 84
-SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.19.mod) = 95
-SIZE (go_modules/github.com/mattn/go-runewidth/@v/v0.0.19.zip) = 24585
-SIZE (go_modules/github.com/rivo/uniseg/@v/v0.4.3.mod) = 39
-SIZE (go_modules/github.com/rivo/uniseg/@v/v0.4.3.zip) = 476353
+SIZE (go_modules/github.com/gdamore/tcell/v3/@v/v3.4.1.mod) = 313
+SIZE (go_modules/github.com/gdamore/tcell/v3/@v/v3.4.1.zip) = 474606
+SIZE (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.4.0.mod) = 51
+SIZE (go_modules/github.com/lucasb-eyer/go-colorful/@v/v1.4.0.zip) = 976519
 SIZE (go_modules/github.com/yuin/goldmark/@v/v1.4.13.mod) = 41
 SIZE (go_modules/github.com/yuin/goldmark/@v/v1.4.13.zip) = 229017
 SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20190308221718-c2843e01d9a2.mod) = 88
 SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20210921155107-089bfa567519.mod) = 247
 SIZE (go_modules/golang.org/x/crypto/@v/v0.0.0-20210921155107-089bfa567519.zip) = 1878482
-SIZE (go_modules/golang.org/x/mod/@v/v0.27.0.mod) = 86
-SIZE (go_modules/golang.org/x/mod/@v/v0.27.0.zip) = 172649
+SIZE (go_modules/golang.org/x/mod/@v/v0.37.0.mod) = 86
+SIZE (go_modules/golang.org/x/mod/@v/v0.37.0.zip) = 174531
 SIZE (go_modules/golang.org/x/mod/@v/v0.6.0-dev.0.20220419223038-86c51ed26bb4.mod) = 157
 SIZE (go_modules/golang.org/x/mod/@v/v0.8.0.mod) = 84
 SIZE (go_modules/golang.org/x/net/@v/v0.0.0-20190620200207-3b0461eec859.mod) = 181
@@ -104,8 +93,8 @@ SIZE (go_modules/golang.org/x/net/@v/v0.
 SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20190423024810-112230192c58.mod) = 25
 SIZE (go_modules/golang.org/x/sync/@v/v0.0.0-20220722155255-886fb9371eb4.mod) = 25
 SIZE (go_modules/golang.org/x/sync/@v/v0.1.0.mod) = 25
-SIZE (go_modules/golang.org/x/sync/@v/v0.17.0.mod) = 36
-SIZE (go_modules/golang.org/x/sync/@v/v0.17.0.zip) = 25707
+SIZE (go_modules/golang.org/x/sync/@v/v0.22.0.mod) = 36
+SIZE (go_modules/golang.org/x/sync/@v/v0.22.0.zip) = 25790
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20190215142949-d0b11bdaac8a.mod) = 24
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20201119102817-f84b799fce68.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20210615035016-665e8c7367d1.mod) = 33
@@ -113,30 +102,27 @@ SIZE (go_modules/golang.org/x/sys/@v/v0.
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220615213510-4f61da869c0c.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.0.0-20220722155257-8c9f86f7a55f.mod) = 33
 SIZE (go_modules/golang.org/x/sys/@v/v0.13.0.mod) = 33
-SIZE (go_modules/golang.org/x/sys/@v/v0.35.0.mod) = 35
-SIZE (go_modules/golang.org/x/sys/@v/v0.40.0.mod) = 35
-SIZE (go_modules/golang.org/x/sys/@v/v0.40.0.zip) = 2003724
+SIZE (go_modules/golang.org/x/sys/@v/v0.47.0.mod) = 35
+SIZE (go_modules/golang.org/x/sys/@v/v0.47.0.zip) = 2022425
 SIZE (go_modules/golang.org/x/sys/@v/v0.5.0.mod) = 33
 SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20201126162022-7de9c90e9dd1.mod) = 95
 SIZE (go_modules/golang.org/x/term/@v/v0.0.0-20210927222741-03fcf44c2211.mod) = 95
-SIZE (go_modules/golang.org/x/term/@v/v0.34.0.mod) = 70
-SIZE (go_modules/golang.org/x/term/@v/v0.39.0.mod) = 70
-SIZE (go_modules/golang.org/x/term/@v/v0.39.0.zip) = 21694
+SIZE (go_modules/golang.org/x/term/@v/v0.45.0.mod) = 70
+SIZE (go_modules/golang.org/x/term/@v/v0.45.0.zip) = 21694
 SIZE (go_modules/golang.org/x/term/@v/v0.5.0.mod) = 67
 SIZE (go_modules/golang.org/x/text/@v/v0.14.0.mod) = 197
-SIZE (go_modules/golang.org/x/text/@v/v0.28.0.mod) = 190
-SIZE (go_modules/golang.org/x/text/@v/v0.29.0.mod) = 190
-SIZE (go_modules/golang.org/x/text/@v/v0.29.0.zip) = 9234225
 SIZE (go_modules/golang.org/x/text/@v/v0.3.0.mod) = 25
 SIZE (go_modules/golang.org/x/text/@v/v0.3.3.mod) = 97
 SIZE (go_modules/golang.org/x/text/@v/v0.3.7.mod) = 97
+SIZE (go_modules/golang.org/x/text/@v/v0.40.0.mod) = 190
+SIZE (go_modules/golang.org/x/text/@v/v0.40.0.zip) = 7015236
 SIZE (go_modules/golang.org/x/text/@v/v0.7.0.mod) = 258
 SIZE (go_modules/golang.org/x/tools/@v/v0.0.0-20180917221912-90fa682c2a6e.mod) = 26
 SIZE (go_modules/golang.org/x/tools/@v/v0.0.0-20191119224855-298f0cb1881e.mod) = 212
 SIZE (go_modules/golang.org/x/tools/@v/v0.1.12.mod) = 327
-SIZE (go_modules/golang.org/x/tools/@v/v0.36.0.mod) = 301
-SIZE (go_modules/golang.org/x/tools/@v/v0.36.0.zip) = 3553586
+SIZE (go_modules/golang.org/x/tools/@v/v0.47.0.mod) = 301
+SIZE (go_modules/golang.org/x/tools/@v/v0.47.0.zip) = 2760246
 SIZE (go_modules/golang.org/x/tools/@v/v0.6.0.mod) = 211
 SIZE (go_modules/golang.org/x/xerrors/@v/v0.0.0-20190717185122-a985d3407aa7.mod) = 37
 SIZE (go_modules/golang.org/x/xerrors/@v/v0.0.0-20190717185122-a985d3407aa7.zip) = 20009
-SIZE (lf-41.zip) = 226063
+SIZE (lf-42.zip) = 242048
Index: modules.inc
===================================================================
RCS file: /cvs/ports/sysutils/lf/modules.inc,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 modules.inc
--- modules.inc	10 Feb 2026 22:52:41 -0000	1.10
+++ modules.inc	2 Sep 2026 21:17:22 -0000
@@ -1,56 +1,50 @@
 MODGO_MODULES =	\
-	github.com/clipperhouse/uax29/v2	 v2.2.0 \
+	github.com/clipperhouse/displaywidth	 v0.11.0 \
+	github.com/clipperhouse/uax29/v2	 v2.7.0 \
 	github.com/djherbis/times		 v1.6.0 \
-	github.com/fsnotify/fsnotify		 v1.9.0 \
+	github.com/fsnotify/fsnotify		 v1.10.1 \
 	github.com/gdamore/encoding		 v1.0.1 \
-	github.com/gdamore/tcell/v2		 v2.9.0 \
-	github.com/lucasb-eyer/go-colorful	 v1.3.0 \
-	github.com/mattn/go-runewidth		 v0.0.19 \
-	github.com/rivo/uniseg			 v0.4.3 \
+	github.com/gdamore/tcell/v3		 v3.4.1 \
+	github.com/lucasb-eyer/go-colorful	 v1.4.0 \
 	github.com/yuin/goldmark		 v1.4.13 \
 	golang.org/x/crypto			 v0.0.0-20210921155107-089bfa567519 \
-	golang.org/x/mod			 v0.27.0 \
+	golang.org/x/mod			 v0.37.0 \
 	golang.org/x/net			 v0.6.0 \
-	golang.org/x/sync			 v0.17.0 \
-	golang.org/x/sys			 v0.40.0 \
-	golang.org/x/term			 v0.39.0 \
-	golang.org/x/text			 v0.29.0 \
-	golang.org/x/tools			 v0.36.0 \
+	golang.org/x/sync			 v0.22.0 \
+	golang.org/x/sys			 v0.47.0 \
+	golang.org/x/term			 v0.45.0 \
+	golang.org/x/text			 v0.40.0 \
+	golang.org/x/tools			 v0.47.0 \
 	golang.org/x/xerrors			 v0.0.0-20190717185122-a985d3407aa7
 
 MODGO_MODFILES =	\
-	github.com/lucasb-eyer/go-colorful	 v1.2.0 \
-	github.com/mattn/go-runewidth		 v0.0.16 \
-	golang.org/x/crypto			 v0.0.0-20190308221718-c2843e01d9a2 \
-	golang.org/x/mod			 v0.6.0-dev.0.20220419223038-86c51ed26bb4 \
-	golang.org/x/mod			 v0.8.0 \
-	golang.org/x/net			 v0.0.0-20190620200207-3b0461eec859 \
-	golang.org/x/net			 v0.0.0-20210226172049-e18ecbb05110 \
-	golang.org/x/net			 v0.0.0-20220722155237-a158d28d115b \
-	golang.org/x/sync			 v0.0.0-20190423024810-112230192c58 \
-	golang.org/x/sync			 v0.0.0-20220722155255-886fb9371eb4 \
-	golang.org/x/sync			 v0.1.0 \
-	golang.org/x/sys			 v0.0.0-20190215142949-d0b11bdaac8a \
-	golang.org/x/sys			 v0.0.0-20201119102817-f84b799fce68 \
-	golang.org/x/sys			 v0.0.0-20210615035016-665e8c7367d1 \
-	golang.org/x/sys			 v0.0.0-20220520151302-bc2c85ada10a \
-	golang.org/x/sys			 v0.0.0-20220615213510-4f61da869c0c \
-	golang.org/x/sys			 v0.0.0-20220722155257-8c9f86f7a55f \
-	golang.org/x/sys			 v0.13.0 \
-	golang.org/x/sys			 v0.35.0 \
-	golang.org/x/sys			 v0.5.0 \
-	golang.org/x/term			 v0.0.0-20201126162022-7de9c90e9dd1 \
-	golang.org/x/term			 v0.0.0-20210927222741-03fcf44c2211 \
-	golang.org/x/term			 v0.34.0 \
-	golang.org/x/term			 v0.5.0 \
-	golang.org/x/text			 v0.14.0 \
-	golang.org/x/text			 v0.28.0 \
-	golang.org/x/text			 v0.3.0 \
-	golang.org/x/text			 v0.3.3 \
-	golang.org/x/text			 v0.3.7 \
-	golang.org/x/text			 v0.7.0 \
-	golang.org/x/tools			 v0.0.0-20180917221912-90fa682c2a6e \
-	golang.org/x/tools			 v0.0.0-20191119224855-298f0cb1881e \
-	golang.org/x/tools			 v0.1.12 \
-	golang.org/x/tools			 v0.6.0
+	golang.org/x/crypto	 v0.0.0-20190308221718-c2843e01d9a2 \
+	golang.org/x/mod	 v0.6.0-dev.0.20220419223038-86c51ed26bb4 \
+	golang.org/x/mod	 v0.8.0 \
+	golang.org/x/net	 v0.0.0-20190620200207-3b0461eec859 \
+	golang.org/x/net	 v0.0.0-20210226172049-e18ecbb05110 \
+	golang.org/x/net	 v0.0.0-20220722155237-a158d28d115b \
+	golang.org/x/sync	 v0.0.0-20190423024810-112230192c58 \
+	golang.org/x/sync	 v0.0.0-20220722155255-886fb9371eb4 \
+	golang.org/x/sync	 v0.1.0 \
+	golang.org/x/sys	 v0.0.0-20190215142949-d0b11bdaac8a \
+	golang.org/x/sys	 v0.0.0-20201119102817-f84b799fce68 \
+	golang.org/x/sys	 v0.0.0-20210615035016-665e8c7367d1 \
+	golang.org/x/sys	 v0.0.0-20220520151302-bc2c85ada10a \
+	golang.org/x/sys	 v0.0.0-20220615213510-4f61da869c0c \
+	golang.org/x/sys	 v0.0.0-20220722155257-8c9f86f7a55f \
+	golang.org/x/sys	 v0.13.0 \
+	golang.org/x/sys	 v0.5.0 \
+	golang.org/x/term	 v0.0.0-20201126162022-7de9c90e9dd1 \
+	golang.org/x/term	 v0.0.0-20210927222741-03fcf44c2211 \
+	golang.org/x/term	 v0.5.0 \
+	golang.org/x/text	 v0.14.0 \
+	golang.org/x/text	 v0.3.0 \
+	golang.org/x/text	 v0.3.3 \
+	golang.org/x/text	 v0.3.7 \
+	golang.org/x/text	 v0.7.0 \
+	golang.org/x/tools	 v0.0.0-20180917221912-90fa682c2a6e \
+	golang.org/x/tools	 v0.0.0-20191119224855-298f0cb1881e \
+	golang.org/x/tools	 v0.1.12 \
+	golang.org/x/tools	 v0.6.0
 
Index: pkg/PLIST
===================================================================
RCS file: /cvs/ports/sysutils/lf/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -u -p -r1.3 PLIST
--- pkg/PLIST	4 Dec 2025 02:25:55 -0000	1.3
+++ pkg/PLIST	2 Sep 2026 21:17:22 -0000
@@ -1,10 +1,19 @@
 @bin bin/lf
 @man man/man1/lf.1
 share/applications/lf.desktop
+share/bash-completion/
+share/bash-completion/completions/
+share/bash-completion/completions/lf
 share/examples/lf/
 @sample ${SYSCONFDIR}/lf/
 share/examples/lf/lfrc.example
 @sample ${SYSCONFDIR}/lf/lfrc
 share/examples/lf/ruler.default
 @sample ${SYSCONFDIR}/lf/ruler
+share/fish/
+share/fish/vendor_completions.d/
+share/fish/vendor_completions.d/lf.fish
+share/zsh/
+share/zsh/site-functions/
+share/zsh/site-functions/_lf
 @tag update-desktop-database