From 8582e52e2de3fea3da8ae99ae5cbc976f6173ad62ab126b3b191f9bd6b5b3fba Mon Sep 17 00:00:00 2001 From: OBS User smolsheep Date: Sat, 15 Feb 2025 14:40:38 +0000 Subject: [PATCH] - Update to version 34: Breaking: * The autoquit option is now enabled by default. New: * A new option locale is added to sort files based on the collation rules of the provided locale. This feature is currently experimental. * A new on-init hook command is added to allow triggering custom actions when lf has finished initializing and connecting to the server. Fix: * The background color now renders properly when displaying filenames. * A bug where the on-quit hook command causes an infinite loop has been fixed. * File sizes now display correctly after being copied when watch is enabled. * Files are now automatically unselected when removed by an external process, when watch is enabled. OBS-URL: https://build.opensuse.org/package/show/utilities/lf?expand=0&rev=13 --- .gitattributes | 23 ++++ .gitignore | 1 + _service | 15 +++ _servicedata | 4 + lf-32.tar.gz | 3 + lf-33.tar.gz | 3 + lf-34.tar.gz | 3 + lf.changes | 333 +++++++++++++++++++++++++++++++++++++++++++++++++ lf.spec | 105 ++++++++++++++++ vendor.tar.gz | 3 + 10 files changed, 493 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _service create mode 100644 _servicedata create mode 100644 lf-32.tar.gz create mode 100644 lf-33.tar.gz create mode 100644 lf-34.tar.gz create mode 100644 lf.changes create mode 100644 lf.spec create mode 100644 vendor.tar.gz diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..95f062c --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + https://github.com/gokcehan/lf.git + git + .git + @PARENT_TAG@ + r(.*) + + + + *.tar + gz + + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..aa41003 --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/gokcehan/lf.git + 4408f37a9b90969aada7e8103a84baff422cedf0 \ No newline at end of file diff --git a/lf-32.tar.gz b/lf-32.tar.gz new file mode 100644 index 0000000..b267d87 --- /dev/null +++ b/lf-32.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2f8246434b914c86dd7c14b44be7cec0e3ce1dc81a131832e78e2a15aa2739e0 +size 144562 diff --git a/lf-33.tar.gz b/lf-33.tar.gz new file mode 100644 index 0000000..8806d5d --- /dev/null +++ b/lf-33.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e20574ec9c80d82bb49531cf1cd3957d4beedcafd11564c653d0485a84163d22 +size 150764 diff --git a/lf-34.tar.gz b/lf-34.tar.gz new file mode 100644 index 0000000..50c806c --- /dev/null +++ b/lf-34.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1bb2617991ae19dfd2ed1777bc3b96b64ce74e84bcae293db4c98cdda603da77 +size 152538 diff --git a/lf.changes b/lf.changes new file mode 100644 index 0000000..99b86e8 --- /dev/null +++ b/lf.changes @@ -0,0 +1,333 @@ +------------------------------------------------------------------- +Sat Feb 15 14:17:05 UTC 2025 - Joshua Smith + +- Update to version 34: + Breaking: + * The autoquit option is now enabled by default. + New: + * A new option locale is added to sort files based on the + collation rules of the provided locale. This feature is + currently experimental. + * A new on-init hook command is added to allow triggering custom + actions when lf has finished initializing and connecting to the + server. + Fix: + * The background color now renders properly when displaying + filenames. + * A bug where the on-quit hook command causes an infinite loop + has been fixed. + * File sizes now display correctly after being copied when watch + is enabled. + * Files are now automatically unselected when removed by an + external process, when watch is enabled. + +------------------------------------------------------------------- +Sun Nov 3 08:25:10 UTC 2024 - Joshua Smith + +- Remove changesgenerate from service as upstream has been shipping + useful and verbose changelogs for bit. +- Update to version 33: + Breaking: + * The globsearch option, which previously affected both searching + and filtering, now affects only searching. A new globfilter + option is introduced to enable globs when filtering, and acts + independently from globsearch. + * The hidecursorinactive option is replaced by the + on-focus-gained and on-focus-lost hook commands. These commands + can be used to invoke custom behavior when the terminal gains + or loses focus. + * The ruler option (deprecated in favor of rulerfmt) is now + removed. + * Line numbers from the number and relativenumber options are + displayed in the main window only, instead of all windows. + New: + * Support for UNIX domain sockets (for communicating with the lf + server) is added for Windows. + * Color and icon configurations now support the target keyword + for symbolic links. + * A new option roundbox is added to use rounded corners when + drawbox is enabled. + * A new option watch is added to allow using filesystem + notifications to detect and display changes to files. This is + an alternative to the period option, which polls the filesystem + periodically for changes. + * Icons can now be colored independently of the filename. + * The info option now supports perm, user and group to display + the permissions, user and group respectively for each file. + * A new option showbinds is added to toggle whether the + keybinding hints are shown when a keybinding is partially + typed. + Fix: + * Sorting by extension is fixed for hidden files. + * The on-quit hook command is now triggered when the terminal is + closed. + * Previews no longer flicker when deleting files. + * Previews no longer flicker when directories are being reloaded. + * lfcd.nu now runs properly without raising errors. + * Image previews (composed of ASCII art) containing long lines + should now display properly. + * The performance is improved when copying files. + * lfcd.cmd now handles directories with special characters. + * Icon colors are no longer clipped when displaying in Windows + Terminal. + * The file stat info is now cleared when changing to an empty + directory. + * Error messages are cleared when opening files. + +------------------------------------------------------------------- +Sun Jun 9 21:29:22 UTC 2024 - Joshua Smith + +- Add main package to completion Requires + +------------------------------------------------------------------- +Sun Mar 31 21:29:30 UTC 2024 - Joshua Smith + +- Switch _service to use manual instead of the deprecated disabled +- Update to version 32: + Breaking: + * The example script etc/lfcd.cmd is updated to use the + -print-last-dir option instead of -last-dir-path + * The documentation from lf -doc and the doc command is now + generated from Markdown using pandoc + New: + * A new option hidecursorinactive is added to hide the cursor + when the terminal is not focused + * A new special command on-redraw is added to be able to run a + command when the screen is redrawn or when the terminal is + resized + * Options cutfmt, copyfmt and selectfmt are added to configure + the indicator color for cut/copied/selected files respectively + * zsh completion is added for the lfcd command + * The file stat information now falls back to displaying + user/group ID if looking up the user/group name fails + * A new environment variable lf_mode is now exported to indicate + which mode lf is currently running in + * Default icons are added for Docker Compose files + Fix: + * Default value of rulerfmt option is now left-padded with spaces + to visually separate it from the file stat information + * Previews should now work for files containing lines with 65536 + characters or more + * Sixel previews should now work when using lfcd scripts + * Colors and icons should now display properly for character + device files + * The selection file is now immediately synced to physical + storage after writing to it + * Timestamps are preserved when moving files across devices + * Fix crash for high and low commands when scrolloff is set to a + large value + * Documentation is updated with various spelling and grammar + fixes + * Files beginning with a dot + * Prevent potential race condition when sorting directory + contents + * Signals are now handled properly even after receiving and + ignoring SIGINT + * The file stat information should now update properly after + using the cd command to change to a directory for the first + time + * Previous error messages should now be cleared after a + mark-save/mark-remove operation + * Fix high CPI usage issue when viewing CryFS filesystems + * Invalid entries in the marks and tags files now raise an error + message instead of crashing + * Startup time is improved on Windows + * Sixel previews are now resized properly when the horizontal + size of the preview window changes + * The cut buffer is only cleared if the paste operation succeeds + * The extension after . is ignored to set the cursor position + when renaming a directory + * The option period should not cause flickers in sixel previews + anymore + +------------------------------------------------------------------- +Sun Sep 17 18:20:07 UTC 2023 - Joshua Smith + +- Update to version 31: + Breaking: + * There has been some changes in the server protocol. Make sure + to kill the old server process when you update to avoid errors + (i.e. lf -remote 'quit!'). + * A new server command query is added to expose internal state + to users (#1384) (by @joelim-work). + * A new builtin command cmds is added to display the commands. + The old builtin command jumps is now removed. The builtin + commands maps and cmaps now use the new server command. + * Cleaning program should now instead receive an additional + sixth argument for the next file path to be previewed to allow + comparisons with the previous file path. User options (i.e. + user_{option}) are now exported whenever they are changed + (#1418) (by @raslop). + * Command outputs are now exclusively attached to stderr to allow + printing the last directory or selection to stdout (#1399 and + #1402) (by @joelim-work). Two new command line options -print- + last-dir and -print-selection are added to print the last + directory and selection to stdout. The example script etc/ + lfcd.sh is updated to use -print-last-dir instead. Other lfcd + scripts are also likely to be updated in the future to use the + new method (patches are welcome). + * The option ruler is now deprecated in favor of its replacement + rulerfmt (#1386) (by @joelim-work). The new rulerfmt option is + more capable (i.e. displays option values, supports colors and + attributes, and supports optional fields) and more consistent + with the rest of our options. See the documentation for more + information. + New: + * Modifier keys (i.e. control, shift, alt) with special keys + (e.g. arrows, enter) are now supported for most combinations + (#1248) (by @joelim-work). + * A new option borderfmt is added to configure colors for pane + borders (#1251) (by @joelim-work). + * New lf specific environment variables, LF_CONFIG_HOME on + Windows and LF_CONFIG/DATA_HOME on Unix, are now supported to + set the configuration directory (#1253) (by @alok-mishra). + * Tilde (i.e. ~) expansion is performed during completion to be + able to use expanded tilde paths as command arguments (#1246) + (by @joelim-work). + * A new option preserve is added to preserve attributes (i.e. + mode and timestamps) while copying (#1026) (by @raslop). + * The file etc/icons.example is updated for nerd-fonts v3.0.0 + (#1271) (by @MunifTanjim). + * A new builtin command clearmaps is added to clear all default + keybindings except for read (i.e. :) and cmap keybindings to be + able to :quit (#1286) (by @joelim-work). + * A new option statfmt is added to configure the status line at + the bottom (#1288) (by @joelim-work). + * A new option truncatepct is added to determine the location of + truncation from the beginning in terms of percentage (#1029) + (by @raslop). + * A new option dupfilefmt is added to configure the names of + duplicate files while copying (#1315) (by @Limero). + * Shell scripts etc/lf.nu and etc/lfcd.nu are added to the + repository to allow completion and directory change with + Nushell (#1341) (by @mauerlaeufer). + * A new configuration keyword setlocal is added to configure + directory specific options (#1381) (by @gokcehan). + * A new command line command cmd-delete-word-back (default a- + backspace and a-backspace2) is added to use word boundaries + when deleting a word backwards (#1409) (by @janpeterd). + Fix: + * Cursor positions in the directory should now be preserved after + file operations that changes the directory (e.g. create or + delete) (#1247) (by @joelim-work). + * Option reverse should now respect to sort stability + requirements (#1261) (by @joelim-work). + * Backspace should not exit filter mode anymore (#1269) (by + @jdujava). + * Truncated double width characters should not cause misalignment + for the file information (#1272) (by @joelim-work). + * Piping shell commands should not refresh the preview anymore + (#1281) (by @joelim-work). + * Cursor position should now update properly after a terminal + resize (#1290) (by @joelim-work). + * Directories should now be reloaded properly after a delete + operation (#1292) (by @joelim-work). + * Executable file completion should not add entries to the log + file anymore (#1307) (by @joelim-work). + * Blank input lines are now allowed in piping shell commands + (#1308) (by @joelim-work). + * Shell commands arguments on Windows should now be quoted + properly to fix various issues (#1309) (by @joelim-work). + * Reloading in a symlink directory should not follow the symlink + anymore (#1327) (by @joelim-work). + * Command load should not flicker image previews anymore (#1335) + (by @joelim-work). + * Filenames should only be quoted for cmd on Windows to avoid + quoting issues for powershell (#1371) (by @joelim-work). + * Inaccessible files should now be included in the directory list + and display their lstat errors in the status line at the bottom + (#1382) (by @jantatje). + * Command line command cmd-delete-word should now add the deleted + text to the yank buffer (#1409) (by @janpeterd). + +------------------------------------------------------------------- +Sun Aug 13 09:00:51 UTC 2023 - Joshua Smith + +- Switch upstream repo as upstream is shipping sixel now +- Specfile cleanup +- Update to version 30+dd82949: + * Sixel preview (#1211) + * Fix cursor location when printing statline (#1348) + * Remove environment exports from preview thread (#1354) + * Clean image preview on `set preview!` (#1350) + * Support optional fields for `statfmt` option (#1337) + * Call `load` after shell-async commands (#1345) + +------------------------------------------------------------------- +Mon May 29 00:34:07 UTC 2023 - Joshua Smith + +- Update to version 30: + * preserve mtime when copying files (#1026) + * Bound cursor position when selecting file (#1247) + * Expand tilde during autocompletion (#1246) + * Refactor pager commands & synchronous shell commands (#1243) + * LF_CONFIG_HOME environment variable (#1253) + * Support custom colors for `drawbox` characters (#1251) + * Support modifiers in special key mappings (#1248) + * Fix count when parsing `bottom` command (#1240) + * Add `jumps` command for displaying the jump list (#1233) + * Separate filter from selections in the ui ruler (#1223) + * Prevent scrolling to bottom when selecting files (#1222) + +------------------------------------------------------------------- +Fri May 12 21:45:24 UTC 2023 - Joshua Smith + +- Update to version 29: + * allow previews of up to 5MB per line + * Validate `selmode` setting (#1206) + * Fix statusbar spacing (#1205) + * add 'ruler' to completion + * Customizable statusline, df (#1168) + * Fix crash when sorting files in a directory (#1204) + * Simplify edge calculation when scrolling down (#1194) + * Use $VISUAL for the `e` command instead of $EDITOR (#1197) + * Make `:maps` work on Windows and add `:cmaps`. (#1201) + * Add support for moving to a specific line (#1196) + * lfrc.example: Add mkdir, add "show execution result" (#1188) + * add file operations to non-features in readme + * Make the `:doc` command work even if `lf` is not in the PATH, + add `lf` environment variable (#1176) + * Export count as a variable when running commands (#1187) + * Completion: always insert longest match (#1184) + * Fix infinite loop in listMatches (#1183) + * Support custom line number colors (#1177) + * Display zero when relativenumber is enabled (#1171) + * Use tcell constants for drawbox (#1170) + * Improve preview loading message flickering (#1154) + * Enhance rename prompt (#1162) + * Avoid refreshing previews for async shell commands (#1164) + * add errors for unexpected boolean option values + * add 'true/false' syntax for boolean options + * Fix width used for line numbers (#1151) + * Refactor code for printing directories (#1150) + * Update file info after reload command (#1149) + * Delete stale dircache entry during rename (#1138) + * `invert-below` command to substitute for visual mode (#1101) + * Navigate cmd history with up/down (#1112) + * Option to change look of cursors in parent dirs, rename an + option. (#1106) + * Fix documentation for dironly/dirpreviews options (#1105) + * Allow separate styles for cursor in normal and preview + panes, simplify `tagfmt` and `errorfmt` (#1086) + * Refresh preview even if selection doesn't change (#1074) + * Add example to hiddenfiles documentation (#1073) + * Disallow exiting from `rename:` mode with backspace (#1060) + * Bind Ctrl+MouseWheel to scroll up/down (#1051) + * Make `lfcd` examples safer for people who alias `lf` to + `lfcd` (#1049) + +------------------------------------------------------------------- +Tue Mar 07 15:21:41 UTC 2023 - Joshua Smith + +- Update to version 28.1: + * revert dim colors for previews + * add the current example open command to the doc + * Avoids flicker during open (#991) + * export lf_width and lf_height as env variables + * load file info after init (#994) + * Sixel patch (#1) + +------------------------------------------------------------------- +Tue Mar 7 15:18:48 UTC 2023 - Joshua Smith + +- Initial commit for lf 28.1 for openSUSE diff --git a/lf.spec b/lf.spec new file mode 100644 index 0000000..11b9de0 --- /dev/null +++ b/lf.spec @@ -0,0 +1,105 @@ +# +# spec file for package lf +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: lf +Version: 34 +Release: 0 +Summary: Terminal file manager (with sixel support) +License: MIT +Group: Productivity/File utilities +URL: https://github.com/gokcehan/lf +Source: %{name}-%{version}.tar.gz +Source1: vendor.tar.gz +BuildRequires: golang-packaging + +%description +lf (as in "list files") is a terminal file manager written in Go with a +heavy inspiration from ranger file manager + +%package bash-completion +Summary: Bash Completion for %{name} +Group: System/Shells +Supplements: (%{name} and bash-completion) +Requires: %{name} = %{version} +Requires: bash-completion +BuildArch: noarch + +%description bash-completion +Bash command-line completion support for %{name}. + +%package fish-completion +Summary: Fish Completion for %{name} +Group: System/Shells +Supplements: (%{name} and fish) +Requires: %{name} = %{version} +Requires: fish +BuildArch: noarch + +%description fish-completion +Fish command-line completion support for %{name}. + +%package zsh-completion +Summary: Zsh Completion for %{name} +Group: System/Shells +Supplements: (%{name} and zsh) +Requires: %{name} = %{version} +Requires: zsh +BuildArch: noarch + +%description zsh-completion +Zsh command-line completion support for %{name}. + +%prep +%autosetup -a 1 + +%build +go build -v -buildmode=pie -ldflags="-s -w \ + -X main.gVersion=%{version}" \ + -mod vendor -trimpath . + +%install +install -Dm755 -t "%{buildroot}%{_bindir}" lf +install -Dm644 -t "%{buildroot}%{_mandir}/man1" lf.1 +install -Dm644 -t "%{buildroot}%{_docdir}/%{name}" README.md etc/lfrc.example +install -Dm644 -t "%{buildroot}%{_datadir}/applications" lf.desktop +install -Dm644 -t "%{buildroot}%{_datadir}/bash-completion/completions/lf" etc/lf.bash +install -Dm644 -t "%{buildroot}%{_datadir}/fish/vendor_functions.d" etc/lfcd.fish +install -Dm644 -t "%{buildroot}%{_datadir}/fish/vendor_completions.d/lf.fish" etc/lf.fish +install -Dm644 -t "%{buildroot}%{_datadir}/zsh/site-functions/_lf" etc/lf.zsh +install -Dm644 -t "%{buildroot}%{_licensedir}/lf" LICENSE + +%files +%doc README.md lfrc.example +%license LICENSE + +%{_mandir}/man1/lf.1* +%{_bindir}/lf +%{_datadir}/applications/%{name}.desktop + +%files bash-completion +%{_datadir}/bash-completion/* + +%files fish-completion +%dir %{_datadir}/fish +%{_datadir}/fish/* + +%files zsh-completion +%dir %{_datadir}/zsh +%{_datadir}/zsh/* + +%changelog diff --git a/vendor.tar.gz b/vendor.tar.gz new file mode 100644 index 0000000..fd0e85e --- /dev/null +++ b/vendor.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9121e43dab7460480d305967bc14c73f69e67288f316bd54e8ebe07384b356b7 +size 4002152