Releases: gokcehan/lf
Releases Β· gokcehan/lf
r33
Changelog
- (Breaking) The
globsearch
option, which previously affected both searching and filtering, now affects only searching. A newglobfilter
option is introduced to enable globs when filtering, and acts independently fromglobsearch
. (#1650) (by @Catalyn45) - (Breaking) The
hidecursorinactive
option is replaced by theon-focus-gained
andon-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 ofrulerfmt
) is now removed. (#1766) (by @joelim-work) - (Breaking) Line numbers from the
number
andrelativenumber
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 whendrawbox
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 theperiod
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 supportsperm
,user
andgroup
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
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 foretc/lfcd.ps1
(#1491) (by @alunegov),etc/lfcd.fish
(#1503) (by @postsolar), andetc/lfcd.nu
(#1575) (by @ZennoZenith). - (Breaking) The documentation from
lf -doc
and thedoc
command is now generated from Markdown usingpandoc
(#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
andselectfmt
are added to configure the indicator color for cut/copied/selected files respectively (#1540) (by @joelim-work). - (New)
zsh
completion is added for thelfcd
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 modelf
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
andlow
commands whenscrolloff
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 afterpaste
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
andtags
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
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 commandcmds
is added to display the commands. The old builtin commandjumps
is now removed. The builtin commandsmaps
andcmaps
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 scriptetc/lfcd.sh
is updated to use-print-last-dir
instead. Otherlfcd
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 replacementrulerfmt
(#1386) (by @joelim-work). The newrulerfmt
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 andLF_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 forread
(i.e.:
) andcmap
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
andetc/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
(defaulta-backspace
anda-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 forpowershell
(#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
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 toruler
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
Changelog
- (Breaking) Three new options
cursoractivefmt
,cursorparentfmt
andcursorpreviewfmt
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 withset cursorpreviewfmt "\033[7m"
. - (Breaking) An alternative boolean option syntax
set option true/false
is added in addition to the previous syntaxset option/nooption
(#758). If you haveset option true
in your configuration, then there is no need for any changes as it was already working as expected accidentally. If you haveset 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 includingset option on/off
are now considered errors and result in error messages. Boolean option togglingset 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 beforeEDITOR
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
anderrorfmt
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 forcmd-history-next
andcmd-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
andcmaps
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
andbottom
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 aslf
(#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 iflf
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
Changelog
- (Breaking) Extension matching for colors and icons are now case insensitive (#908) (by @maicher and @desbma).
- (New) Three new commands
high
,middle
, andlow
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 forpromptfmt
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
andcmap
(#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
andlf_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
andUSER
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
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, manualreload
commands might be necessary whendircounts
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
andinfotimefmtold
are added to configure the time format used ininfo
(by @maicher and @laktak). - (New) Two new commands
jump-next
(default]
) andjump-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>
) andscroll-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
andtag-toggle
(defaultt
) 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
Changelog
- (Fix) On windows, input handling is properly resumed after shell commands.
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
andsetfilter
is added along with a new optionincfilter
and apromptfmt
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 tomap
(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
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.