Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: gokcehan/lf

r40

10 Dec 03:48
e439536

Choose a tag to compare

Fixed

  • Error messages from the server are no longer written to the terminal which causes the UI to break (#2290).
  • A bug where file previews fail to load properly when scrolling quickly is now fixed (#2292).

r39

01 Dec 13:33
e17504b

Choose a tag to compare

r39

Changed

  • File extensions are now shown for long filenames even if they are truncated (#2159).
  • The history file will no longer contain a space between the prefix and the actual command (e.g. :quit instead of : quit) for each line (#2161). The command sed -i -E 's/^(.) /\1/' ~/.local/share/lf/history can be run to make an existing history file compatible with the new format.
  • The cmd-history-next and cmd-history-prev commands will now select only matching entries if part of the command is typed beforehand (#2161). Consecutive duplicate entries will also be skipped for convenience.
  • The string representation of commands shown when displaying keybindings is simplified (e.g. cd ~ instead of cd -- [~]) (#2165).
  • yes-no-prompts now use the same design everywhere (#2212).
  • Logs generated by -log <path> now get appended to <path> instead of overwriting it (#2215).
  • The showbinds menu now hides the redundant mode column (#2226) (#2228) and omits already typed keys (#2249).
  • The setlocal command no longer requires absolute paths (#2253).
  • The string representation of file permissions now matches the traditional Unix format instead of the one used by Go (#2270).

Added

  • A new command cmd-menu-discard is added to allow exiting the completion menu with completions discarded (#2146).
  • The lf_mode environment variable will now be set to compmenu if the completion menu is active (#2146).
  • A ruler config file is added as an alternate method for customizing the ruler (#2186). This is intended to eventually replace the existing rulerfmt/statfmt options and must be enabled using the new rulerfile option. This feature is currently experimental.
  • A new option preload is added to enable calling the previewer to generate previews in advance (#2206). This feature is currently experimental.
  • OSC 8 escape codes to render clickable hyperlinks are now supported (#2243).

Fixed

  • shell-pipe commands no longer wait for output if kept open after the command has finished running (#2155).
  • Natural sorting now compares string lengths when dealing with equivalent numbers (e.g. 0 is ordered before 00) (#2177).
  • A bug where the copy progress indicator only displayed the first time a file was copied is now fixed (#2181).
  • A bug where the source command does not show an error message upon failure is now fixed (#2189).
  • The addcustominfo (#2198) and setlocal (#2254) (#2259) commands, as well as the cleaner and previewer options (#2211) now support filename completions.
  • A bug where an empty custom info property would still take up space is now fixed (#2208).
  • A bug where setting drawbox could lead to scrolling outside the view is now fixed (#2210) (#2218).
  • The preview cache is now not cleared when setting ratios to its current value (#2218).
  • Filtering is fixed when using special characters in the search pattern if the filtermethod is text (#2231).
  • Custom commands that output messages (e.g. cmd greet echo 'hello world') now display properly (#2245).
  • Errors in config files are now displayed properly (#2246).

r38

19 Sep 04:23
49f2a7c

Choose a tag to compare

r38

Changed

  • The deprecated globfilter and globsearch options are now removed (#2108).
  • Sixel image support is now enabled by default, and the sixel option has been removed as it is no longer required (#2109).
  • The dircache option has now been removed (#2110). This was previously used as a workaround to disable the directory cache since at the time changes to files were not detected reliably, but this is no longer the case.
  • The experimental locale option has been removed in favor of the recommendation to use addcustominfo/set sortby custom for custom sorting (#2111).
  • The existing doc command has been renamed to help so that it is more natural for users (#2125).
  • Text previews are no longer displayed with a padding of two spaces by default (#2131). Instead, a custom padding can be added in the previewer script, for example by piping to sed 's/^/ /'.

Added

  • Sixel image previews can now display multiple images as well as text (#2109).
  • A new option sizeunits is added to allow displaying file sizes in either binary or decimal units (#2118).
  • XDG_CONFIG_HOME and XDG_DATA_HOME are now taken into account when looking up config/data files on Windows (#2119).
  • Three new options menufmt, menuheaderfmt, and menuselectfmt are added to customize the appearance of the menu (#2123).

Fixed

  • Error messages are now cleared after running interactive commands such as invert/unselect/tag-toggle (#2117).
  • The menu is now drawn over sixel images instead of being hidden behind it if they overlap (#2122).
  • A bug which prevents the user from quitting when copying files with a size of 0 has been fixed (#2130).
  • lf -remote should no longer busy wait and cause high CPU usage if its output is not being read (#2138).
  • The parameter types for command line options shown by lf -help now match the synopsis in the documentation (#2153).

r37

25 Aug 04:47
6c13807

Choose a tag to compare

r37

Changed

  • The default paths of files read by lf is changed on Windows, to separate configuration files from data files (#2051).
    • Configuration files (lfrc/colors/icons) are now stored in %APPDATA%, which can be overridden by %LF_CONFIG_HOME%.
    • Data files (files/marks/tags/history) are now stored in %LOCALAPPDATA%, which can be overridden by %LF_DATA_HOME%.
  • The change for following symbolic links when tagging files from the previous release has been reverted (#2055). The previous change made it impossible to tag symbolic links separately from their targets, and also caused lf to run slowly in some cases.
  • The existing globfilter and globsearch options are now deprecated in favor of the new filtermethod and searchmethod options, which support regex patterns (#2058).
    • set globfilter true should be replaced by set filtermethod glob.
    • set globsearch true should be replaced by set searchmethod glob.
  • File sizes are now displayed using binary units (e.g. 1.0K means 1024 bytes, not 1000 bytes) (#2062). The maximum width for displaying the file size has been increased from four to five characters.

Added

  • dircounts are now respected when sorting by size (#2025).
  • The info and sortby options now support btime (file creation time) (#2042). This depends on support for file creation times from the underlying system.
  • The selection in Visual mode now follows wrapping when wrapscan/wrapscroll is enabled (#2056).
  • Input pasted from the terminal is now ignored while in Normal mode (#2059). This prevents pasted content from being treated as keybindings, which can result in dangerous unintended behavior.
  • The Command-line mode completion now supports keywords for the selmode and sortby options (#2061), as well as the info and preserve options (#2071).
  • Command line flags are now exported as environment variables in the form lf_flag_{flag} (#2079).
  • Support is added for terminal escape sequences that disable text styles (#2101).

Fixed

  • dircounts are now automatically populated after enabling it (#2049).
  • A bug where directories are unsorted after reloading when dircache is disabled is now fixed (#2050).
  • Filenames are now escaped when completing shell commands (#2071).
  • A bug where completion menu entries are misaligned when containing fullwidth characters is now fixed (#2071).
  • The on-load command now passes all files in the directory as arguments, not just files visible to the user (#2077).
  • Failure to move files across different filesystems is now shown as an error instead of a success in the UI (#2085).
  • Errors are now logged correctly when there are multiple errors during move/copy operations (#2089).
  • The progress for copy operations is now displayed immediately in the UI, even if it takes time to calculate the total size of files to be copied (#2093).

r36

18 Jul 02:02
e5c2cc4

Choose a tag to compare

r36

Changed

  • Tagging symbolic links now affects the target instead of the symbolic link itself. This mimics the behavior in ranger (#1997).
  • The experimental command invert-below has been removed in favor of the newly added support for Visual mode (#2021).

Added

  • A new placeholder %P representing the scroll percentage is added to the rulerfmt option (#1985).
  • A new on-load hook command is added, which is triggered when files in a directory are loaded in lf (#2010).
  • The info option now supports custom, allowing users to display custom information for each file (#2012). The custom information should be added by the user via the addcustominfo command. Sorting by the custom information is also supported (#2019).
  • Support for visual-mode has now been added (#2021) (#2035). This includes the following changes:
    • A new command visual (default V) can be used to enter Visual mode.
    • A new command visual-change (default o in Visual mode) can be used to swap the positions of the cursor and anchor (start of the visual selection).
    • A new command visual-accept (default V in Visual mode) can be used to exit Visual mode, adding the visual selection to the selection list.
    • A new command visual-discard (default <esc> in Visual mode) can be used to exit Visual mode, without adding the visual selection to the selection list.
    • A new command visual-unselect can be used to exit Visual mode, removing the visual selection from the selection list.
    • The existing map command now adds keybindings for both Normal and Visual modes. Two new commands nmap and vmap are added which can be used to add keybindings for only Normal or Visual mode respectively.
    • Two new commands nmaps and vmaps are added to display the list of keybindings in Normal and Visual mode respectively. These, along with the existing maps and cmaps commands, now display an extra column indicating the mode for which the keybindings apply to.
    • A new option visualfmt is added to customize the appearance of the visual selection.
    • Two new placeholders %m and %M are added to statfmt to display the mode in the status line. Both will display VISUAL when in Visual mode, however in Normal mode %m will display as a blank string while %M will display NORMAL.
    • A new placeholder %v is added to rulerfmt which displays the number of files in the Visual selection. This is included in the default setting for rulerfmt.
    • The lf_mode environment variable will now be set to visual while in Visual mode.
    • The environment variable $fv is now exported to shell commands, which lists the files in the visual selection.
  • A CHANGELOG.md file has been added to the repo (#2027). This will be updated to describe Changed, Added and Fixed functionality for each new release.

Fixed

  • Displaying sixel images now uses the screen locking API in Tcell, which reduces flickering in the UI (#1943).
  • The cmd-history command is now ignored outside of Normal or Command-line mode, to prevent accidentally escaping out of other modes (#1971).
  • A potential crash when using the cmd-delete-word-back command is fixed (#1976).
  • The preserve option now applies to directories in addition to files when copying. This includes preserving timestamps (#1979) and mode (#1981).
  • The lfrc.ps1.example example config file is updated to include PowerShell equivalents for the default commands and keybindings (#1989).
  • Quoting for the lf environment variable is fixed for PowerShell users (#1990).
  • tempmarks are no longer cleared after the sync command is called (#1996).
  • The file stat information is no longer displayed during the execution of a shell-pipe command even if the file is updated (#2002).
  • Directories are now reloaded properly if any component in the current path is renamed (#2005).
  • Write updates for the log file are now ignored when watch is enabled. This helps to reduce notification spam and potential of infinite loops (#2015).
  • Attempting to cut/copy files into a directory without execute permissions no longer causes lf to crash, and an error message will be displayed instead (#2024).

r35

25 Apr 01:36
3d205f0

Choose a tag to compare

r35

Changelog

  • (New) Support is added for displaying underline styles (#1896) (by @joelim-work).
  • (New) Support is added for displaying underline colors (#1933) (by @joelim-work).
  • (New) A new subcommand files is added to the query server command to list the files in the current directory as displayed in lf (#1949) (by @MahouShoujoMivutilde).
  • (New) A new tty-write command is added for sending escape sequences to the terminal (#1961) (by @joelim-work). Writing directly to /dev/tty is not recommended as it not synchronized and can interfere with drawing the UI.
  • (Fix) The trash command in lfrc.example now verifes if the trash directory exists before moving files there (#1918) (by @valoq).
  • (Fix) lf should no longer crash if it fails to open the log file (#1937) (by @joelim-work).
  • (Fix) Arrow keys are now handled properly when waiting for a key press after executing a shell-wait (!) command (#1956) (by @joelim-work).
  • (Fix) The previewer script is now only invoked for the current directory (instead of all directories), when starting lf with dirpreviews enabled (#1958) (by @joelim-work).

r34

09 Feb 12:00
c25647d

Choose a tag to compare

r34

Changelog

  • (Breaking) The autoquit option is now enabled by default. (#1839) (by @joelim-work)
  • (New) A new option locale is added to sort files based on the collation rules of the provided locale. (#1818) (by @SirZenith). This feature is currently experimental.
  • (New) A new on-init hook command is added to allow triggering custom actions when lf has finished initializing and connecting to the server. (#1838) (by @joelim-work)
  • (Fix) The background color now renders properly when displaying filenames. (#1849) (by @joelim-work)
  • (Fix) A bug where the on-quit hook command causes an infinite loop has been fixed. (#1856) (by @joelim-work)
  • (Fix) File sizes now display correctly after being copied when watch is enabled. (#1881) (by @joelim-work)
  • (Fix) Files are now automatically unselected when removed by an external process, when watch is enabled. (#1901) (by @joelim-work)

r33

01 Nov 12:48
f96a070

Choose a tag to compare

r33

Changelog

  • (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. (#1650) (by @Catalyn45)
  • (Breaking) 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. (#1763) (by @joelim-work)
  • (Breaking) The ruler option (deprecated in favor of rulerfmt) is now removed. (#1766) (by @joelim-work)
  • (Breaking) Line numbers from the number and relativenumber options are displayed in the main window only, instead of all windows. (#1789) (by @joelim-work)
  • (New) Support for UNIX domain sockets (for communicating with the lf server) is added for Windows. (#1637) (by @Catalyn45)
  • (New) Color and icon configurations now support the target keyword for symbolic links. (#1644) (by @lorentzforces)
  • (New) A new option roundbox is added to use rounded corners when drawbox is enabled. (#1653) (by @J-Kappes)
  • (New) 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. (#1667) (by @joelim-work)
  • (New) Icons can now be colored independently of the filename. (#1674) (by @wodesuck)
  • (New) The info option now supports perm, user and group to display the permissions, user and group respectively for each file. (#1799) (by @owallb)
  • (New) A new option showbinds is added to toggle whether the keybinding hints are shown when a keybinding is partially typed. (#1815) (by @dazzywi)
  • (Fix) Sorting by extension is fixed for hidden files. (#1670) (by @Limero)
  • (Fix) The on-quit hook command is now triggered when the terminal is closed. (#1681) (by @joelim-work)
  • (Fix) Previews no longer flicker when deleting files. (#1691) (by @joelim-work)
  • (Fix) Previews no longer flicker when directories are being reloaded. (#1697) (by @joelim-work)
  • (Fix) lfcd.nu now runs properly without raising errors. (#1728) (by @unsafe-andrew)
  • (Fix) Image previews (composed of ASCII art) containing long lines should now display properly. (#1737) (by @joelim-work)
  • (Fix) The performance is improved when copying files. (#1749) (by @MahouShoujoMivutilde)
  • (Fix) lfcd.cmd now handles directories with special characters. (#1772) (by @Jaehaks)
  • (Fix) Icon colors are no longer clipped when displaying in Windows Terminal. (#1777) (by @joelim-work)
  • (Fix) The file stat info is now cleared when changing to an empty directory. (#1808) (by @joelim-work)
  • (Fix) Error messages are cleared when opening files. (#1809) (by @joelim-work)

r32

31 Mar 20:04

Choose a tag to compare

r32

Changelog

  • (Breaking) The example script etc/lfcd.cmd is updated to use the -print-last-dir option instead of -last-dir-path (#1444) (by @atahrijouti and @joelim-work). Similar changes have been made for etc/lfcd.ps1 (#1491) (by @alunegov), etc/lfcd.fish (#1503) (by @postsolar), and etc/lfcd.nu (#1575) (by @ZennoZenith).
  • (Breaking) The documentation from lf -doc and the doc command is now generated from Markdown using pandoc (#1474) (by @gokcehan).
  • (New) A new option hidecursorinactive is added to hide the cursor when the terminal is not focused (#965) (by @laktak).
  • (New) 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 (#1479) (by @joelim-work).
  • (New) Options cutfmt, copyfmt and selectfmt are added to configure the indicator color for cut/copied/selected files respectively (#1540) (by @joelim-work).
  • (New) zsh completion is added for the lfcd command (#1564) (by @postsolar).
  • (New) The file stat information now falls back to displaying user/group ID if looking up the user/group name fails (#1590) (by @jantatje).
  • (New) A new environment variable lf_mode is now exported to indicate which mode lf is currently running in (#1594) (by @joelim-work).
  • (New) Default icons are added for Docker Compose files (#1626) (by @Nuckle).
  • (Fix) Default value of rulerfmt option is now left-padded with spaces to visually separate it from the file stat information (#1437) (by @joelim-work).
  • (Fix) Previews should now work for files containing lines with 65536 characters or more (#1447) (by @joelim-work).
  • (Fix) Sixel previews should now work when using lfcd scripts (#1451) (by @joelim-work).
  • (Fix) Colors and icons should now display properly for character device files (#1469) (by @joelim-work).
  • (Fix) The selection file is now immediately synced to physical storage after writing to it (#1480) (by @joelim-work).
  • (Fix) Timestamps are preserved when moving files across devices (#1482) (by @joelim-work).
  • (Fix) Fix crash for high and low commands when scrolloff is set to a large value (#1504) (by @joelim-work).
  • (Fix) Documentation is updated with various spelling and grammar fixes (#1518) (by @hankertrix).
  • (Fix) Files beginning with a dot (e.g. .gitignore) are named correctly after paste if another file with the same name already exists (#1525) (by @joshuali925).
  • (Fix) Prevent potential race condition when sorting directory contents (#1526) (by @Michael-Gallo).
  • (Fix) Signals are now handled properly even after receiving and ignoring SIGINT (#1549) (by @mtoohey31).
  • (Fix) The file stat information should now update properly after using the cd command to change to a directory for the first time (#1536) (by @joelim-work).
  • (Fix) Previous error messages should now be cleared after a mark-save/mark-remove operation (#1544) (by @joelim-work).
  • (Fix) Fix high CPU usage issue when viewing CryFS filesystems (#1607) (by @Michael-Gallo).
  • (Fix) Invalid entries in the marks and tags files now raise an error message instead of crashing (#1614) (by @joelim-work).
  • (Fix) Startup time is improved on Windows (#1617) (by @Catalyn45).
  • (Fix) Sixel previews are now resized properly when the horizontal size of the preview window changes (#1629) (by @joelim-work).
  • (Fix) The cut buffer is only cleared if the paste operation succeeds (#1652) (by @joelim-work).
  • (Fix) The extension after . is ignored to set the cursor position when renaming a directory (#1664) (by @Limero).
  • (Fix) The option period should not cause flickers in sixel previews anymore (#1666) (by @joelim-work).

r31

17 Sep 11:55

Choose a tag to compare

r31

Changelog

  • (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!').
  • (Breaking) 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.
  • (Breaking) Environment variable exporting for files and options are not performed anymore while previewing and cleaning to avoid various issues with race conditions (#1354) (by @joelim-work). 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).
  • (Breaking) 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).
  • (Breaking) 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).
  • (New) A new option borderfmt is added to configure colors for pane borders (#1251) (by @joelim-work).
  • (New) 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).
  • (New) Tilde (i.e. ~) expansion is performed during completion to be able to use expanded tilde paths as command arguments (#1246) (by @joelim-work).
  • (New) A new option preserve is added to preserve attributes (i.e. mode and timestamps) while copying (#1026) (by @raslop).
  • (New) The file etc/icons.example is updated for nerd-fonts v3.0.0 (#1271) (by @MunifTanjim).
  • (New) 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).
  • (New) A new option statfmt is added to configure the status line at the bottom (#1288) (by @joelim-work).
  • (New) A new option truncatepct is added to determine the location of truncation from the beginning in terms of percentage (#1029) (by @raslop).
  • (New) A new option dupfilefmt is added to configure the names of duplicate files while copying (#1315) (by @Limero).
  • (New) 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).
  • (New) Sixels are now supported for previewing (#1211) (by @horriblename). A new option sixel is added to enable this behavior.
  • (New) A new configuration keyword setlocal is added to configure directory specific options (#1381) (by @gokcehan).
  • (New) 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).
  • (Fix) Option reverse should now respect to sort stability requirements (#1261) (by @joelim-work).
  • (Fix) Backspace should not exit filter mode anymore (#1269) (by @jdujava).
  • (Fix) Truncated double width characters should not cause misalignment for the file information (#1272) (by @joelim-work).
  • (Fix) Piping shell commands should not refresh the preview anymore (#1281) (by @joelim-work).
  • (Fix) Cursor position should now update properly after a terminal resize (#1290) (by @joelim-work).
  • (Fix) Directories should now be reloaded properly after a delete operation (#1292) (by @joelim-work).
  • (Fix) Executable file completion should not add entries to the log file anymore (#1307) (by @joelim-work).
  • (Fix) Blank input lines are now allowed in piping shell commands (#1308) (by @joelim-work).
  • (Fix) Shell commands arguments on Windows should now be quoted properly to fix various issues (#1309) (by @joelim-work).
  • (Fix) Reloading in a symlink directory should not follow the symlink anymore (#1327) (by @joelim-work).
  • (Fix) Command load should not flicker image previews anymore (#1335) (by @joelim-work).
  • (Fix) Asynchronous shell commands should now trigger load automatically when they are finished (#1345) (by @joelim-work).
  • (Fix) Changing the value of preview option should now clear image previews (#1350) (by @jdujava).
  • (Fix) Cursor position in the status line at the bottom should now consider double width characters properly (#1348) (by @joelim-work).
  • (Fix) Filenames should only be quoted for cmd on Windows to avoid quoting issues for powershell (#1371) (by @joelim-work).
  • (Fix) 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).
  • (Fix) Command line command cmd-delete-word should now add the deleted text to the yank buffer (#1409) (by @janpeterd).