Skip to content

Releases: gokcehan/lf

r33

01 Nov 12:48
f96a070
Compare
Choose a tag to compare

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
Compare
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
Compare
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).

r30

20 May 13:55
88b3c99
Compare
Choose a tag to compare
r30

Changelog

  • (New) A new builtin command jumps is addded to display the jump list (#1233) (by @joelim-work).
  • (New) A new possible field filter is added to ruler option to display the filter indicator (#1223) (by @joelim-work).
  • (Fix) Broken mappings for bottom command due to recent changes are fixed (#1240) (by @joelim-work).
  • (Fix) Selecting a file does not scroll to bottom anymore (#1222) (by @joelim-work).
  • (Fix) Broken builds on some platforms due to recent changes are fixed (#1168).

r29

30 Apr 14:36
Compare
Choose a tag to compare
r29

Changelog

  • (Breaking) Three new options cursoractivefmt, cursorparentfmt and cursorpreviewfmt have been added (#1086 and #1106) (by @ilyagr). The default style for the preview cursor is changed to underline. You can revert back to the old style with set cursorpreviewfmt "\033[7m".
  • (Breaking) An alternative boolean option syntax set option true/false is added in addition to the previous syntax set option/nooption (#758). If you have set option true in your configuration, then there is no need for any changes as it was already working as expected accidentally. If you have set option false in your configuration, then previously it was enabling the option instead accidentally but now it is disabling the option as intended. Any other syntax including set option on/off are now considered errors and result in error messages. Boolean option toggling set option! remains unchanged with no new alternative syntax added.
  • (Breaking) Cursor is now placed at the file extension by default in rename prompts (#1162) (by @rrveex).
  • (Breaking) The environment variable VISUAL is checked before EDITOR for the default editor choice (#1197) (by @rumaks-xyz).
  • (New) Mouse wheel events with the Control modifier have been bound to scrolling by default (#1051) (by @ilyagr).
  • (New) Option values for tagfmt and errorfmt have been simplified to be able to avoid the reset sequence (#1086) (by @ilyagr).
  • (New) Two default command line bindings for <down> and <up> have been added for cmd-history-next and cmd-history-prev respectively (#1112) (by @Limero).
  • (New) A new command invert-below is added to invert all selections below the cursor (#1101) (by @ilyagr).
  • (New) Two new commands maps and cmaps have been added to display the current list of bindings (#1146) (#1201) (by @jackielii and @ilyagr).
  • (New) A new option numberfmt is added to customize line numbers (#1177) (by @joelim-work).
  • (New) A new environment variable lf_count is now exported to use the count in shell commands (#1187) (by @joelim-work).
  • (New) A new environment variable lf is now exported to be used as the executable path (#1176) (by @ilyagr).
  • (New) An example mkdir binding is added to the example configuration (#1188) (by @ilyagr).
  • (New) An example binding to show execution results is added to the example configuration (#1188) (by @ilyagr).
  • (New) Commands top and bottom now accepts counts to move to a specific line (#1196) (by @joelim-work).
  • (New) A new option ruler is added to customize the ruler information with a new addition for free disk space (#1168 and #1205) (by @rrveex and @joelim-work).
  • (Fix) Example lfcd files have been made safer to be able to alias the commands as lf (#1049) (by @ilyagr).
  • (Fix) Backspace should not exit from rename: mode anymore (#1060) (by @ilyagr).
  • (Fix) Preview is now refreshed even if the selection does not change (#1074) (by @joelim-work).
  • (Fix) Stale directory cache entry is now deleted during rename (#1138) (by @joelim-work).
  • (Fix) File information is now updated properly after reloading (#1149) (by @joelim-work).
  • (Fix) Window widths are now calculated properly when drawbox is enabled (#1150) (by @joelim-work).
  • (Fix) Line number widths are now calculated properly when there are exactly 10 entries (#1151) (by @joelim-work).
  • (Fix) Preview is not redrawn in async shell commands (#1164) (by @joelim-work).
  • (Fix) A small delay is added before showing loading text in preview pane to avoid flickering (#1154) (by @joelim-work).
  • (Fix) Hard-coded box drawing characters are replaced with Tcell constants to enable the fallback mechanism (#1170) (by @joelim-work).
  • (Fix) Option relativenumber now shows zero in the current line (#1171) (by @joelim-work).
  • (Fix) Completion is not stuck in an infinite loop anymore when a match is longer than the window width (#1183) (by @p-ouellette).
  • (Fix) Completion now inserts the longest match even if there is no word before the cursor (#1184) (by @p-ouellette).
  • (Fix) Command doc should now work even if lf is not in the PATH variable (#1176) (by @ilyagr).
  • (Fix) Directory option changes should not crash the program anymore (#1204) (by @joelim-work).
  • (Fix) Option selmode is now validated for the accepted values (#1206) (by @joelim-work).

r28

24 Dec 20:22
Compare
Choose a tag to compare
r28

Changelog

  • (Breaking) Extension matching for colors and icons are now case insensitive (#908) (by @maicher and @desbma).
  • (New) Three new commands high, middle, and low are added to move the current selection relative to the screen (#824) (by @laktak).
  • (New) Backspace on empty prompt now switches to normal mode (#836) (by @SeekingBlues).
  • (New) A new history option is now added to be able to disable history (#866) (by @segf00lt).
  • (New) A new special expansion %S spacer is added for promptfmt to be able to right align parts (#867) (by @laktak).
  • (New) A new command-line command cmd-menu-accept is now added to accept the currently selected match (#934) (by @p-ouellette).
  • (New) Command-line commands should now be shown in completion for map and cmap (#934) (by @p-ouellette).
  • (New) Italic escape codes should now be working in previews (#936) (by @p-ouellette).
  • (New) Position and size information are now also passed to the cleaner script as arguments (#945) (by @phillbush).
  • (New) A new option dirpreviews is now added to also pass directories to the previewer script (#842) (by @ilmari-h).
  • (New) A new option selmode is now added to be able to limit the selection to the current directory (#849) (by @laktak).
  • (New) User defined options with user_ prefix are now supported (#865) (by @laktak).
  • (New) Adding or removing $/%/!/& characters in : mode should now change the mode accordingly (#960) (by @ilyagr).
  • (New) A new special command on-select is now added to be able to run a command after the selection changes (#864) (by @laktak).
  • (New) Mouse support is extended to be able to click filenames for selection and opening (#963) (by @p-ouellette).
  • (New) Two new environment variables lf_width and lf_height are now exported for shell commands.
  • (Fix) Option tagfmt can now be changed properly.
  • (Fix) User name, group name, and link count should now be displayed as before where available (#829) (by @SeekingBlues).
  • (Fix) Tagging files with colons in their names should now work as expected (#857) (by @amano-kenji).
  • (Fix) Some multibyte characters should now be handled properly for completion (#934) (by @p-ouellette).
  • (Fix) Menu completion for a file in a subdirectory should now be working properly (#934) (by @p-ouellette).
  • (Fix) File completion should now be escaped properly in menu completion (#934) (by @p-ouellette).
  • (Fix) First use of cmd-menu-complete-back should now select the last completion as expected (#934) (by @p-ouellette).
  • (Fix) Broken symlinks should now be working properly in completion (#934) (by @p-ouellette).
  • (Fix) Files with stat errors should now be skipped properly in completion (#934) (by @p-ouellette).
  • (Fix) Empty search with incsearch option should now be handled properly (#944) (by @p-ouellette).
  • (Fix) History position is now also reset when leaving command line (#953) (by @p-ouellette).
  • (Fix) Mouse drag events are now ignored properly to avoid command repetition (#962) (by @p-ouellette).
  • (Fix) Environment variables HOME and USER should now be used as fallback for locations on some systems (#972) (by @GaetanLepage).
  • (Fix) File information is now displayed in the status line at first launch when there are no errors in the configuration file (#994) (by @valoq).

r27

02 Apr 22:21
Compare
Choose a tag to compare
r27

Changelog

  • (Breaking) Creation of log files are now disabled by default (with @desbma). Instead, a new command line option -log is provided.
  • (Breaking) Copy selections are now kept after paste (by @laktak). You can use map p :paste; clear to get the old behavior.
  • (Breaking) Socket file is now created in XDG_RUNTIME_DIR when set with a fall back to the temporary directory otherwise (with @desbma).
  • (Breaking) Directory counting with dircounts option is moved from ui drawing to directory reading to be run asynchronously without locking the ui. With this change, manual reload commands might be necessary when dircounts is changed at runtime. Indicators for errors are changed to ! instead of ? to distinguish them from missing values.
  • (Breaking) The default icons are now replaced with ascii characters to avoid font issues.
  • (New) Files and options are now exported for previewer and cleaner scripts (with @lucas-mior). For cleaner scripts, this can be used to detect if the file selection is changed or not (e.g. $1 == $f) and act accordingly (e.g. skip cleaning).
  • (New) A new tempmarks option is added to set some marks as temporary (by @laktak).
  • (New) Pattern *filename is added for colors and icons (by @lmburns).
  • (New) A new calcdirsize command is added to calculate directory sizes (by @laktak).
  • (New) Two new options infotimefmtnew and infotimefmtold are added to configure the time format used in info (by @maicher and @laktak).
  • (New) Two new commands jump-next (default ]) and jump-prev (default [) are added to navigate the jumplist (by @laktak).
  • (New) Colors and icons file support is now added to be able to configure without environment variables. Example colors and icons files are added to the repository under etc directory. See the documentation for more information.
  • (New) For Windows, an example open command in now provided in the powershell example configuration (by @seantwie03).
  • (New) Two new commands scroll-up (default <c-y>) and scroll-down (default <c-e>) are added to be able to scroll the file list without moving (by @sbinnee).
  • (New) A new special command on-quit is added to be able to run a command before quitting.
  • (New) Two new commands tag and tag-toggle (default t) are now added to be able to tag files (by @sant0s12).
  • (Fix) Chmod calls in the codebase are now removed to avoid TOC/TOU exploits (with @desbma). Instead, file permissions are now set at file creations.
  • (Fix) Socket and log files are now created with only user permissions (with @desbma).
  • (Fix) On Windows, PWD variable is not quoted properly.
  • (Fix) Shell commands % and & are now run in a separate process group (by @laktak).
  • (Fix) Navigation initialization is now delayed after the evaluation of configuration files to avoid startup races and redundant loadings (with @laktak).
  • (Fix) The error message shown when the current working directory does not exist at startup is made more clear.
  • (Fix) Trailing slashes in PWD variable are now handled properly.
  • (Fix) Files with stat errors are now skipped while reading directories.

r26

21 Oct 22:41
Compare
Choose a tag to compare
r26

Changelog

  • (Fix) On windows, input handling is properly resumed after shell commands.

r25

09 Oct 21:15
Compare
Choose a tag to compare
r25

Changelog

  • (New) A new dironly option is added to only show directories and hide regular files (by @mtoohey31).
  • (New) A new dircache option is added to disable caching of directories (by @sigasigasiga).
  • (New) Two new commands filter and setfilter is added along with a new option incfilter and a promptfmt expansion %F to implement directory filtering feature (by @SPFabGerman).
  • (New) A new special command pre-cd is added to run a command before a directory is changed (by @SPFabGerman).
  • (New) cmap command now accepts all expressions similar to map (by @SPFabGerman).
  • (Fix) Marking a symlink directory should now save the symlink path instead of the target path (by @SeerLite).
  • (Fix) A number of crashes have been fixed when hidden option is changed (by @kmarius).

r24

19 Jun 22:51
Compare
Choose a tag to compare
r24

Changelog

  • (Fix) Data directory is automatically created before the selection file is written.
  • (Fix) An error is returned for remote commands when the given id is not connected to the server.
  • (Fix) Prompts longer than the width should not crash the program anymore.