Releases: PatrickF1/fzf.fish
v9.3
Search git status
Support previewing merge conflicts (#262)
Report files containing merge conflicts as "Unmerged" when previewing to distinguish them from normal changed files. Without this, merge conflicts mistakenly show up as unstaged changes and as an empty staged changes section.
Fix previewing paths with spaces (38896f2)
Previously, paths containing spaces could not be previewed.
v9.2
[Search history] support selecting multiple commands (#252 - @acegallagher, #255 )
Enable multi-select by default for search history. Selecting multiple commands can in cobbling together a script from previously run commands.
[Search git status] beautify header (2bb6f71)
Put a border around the diff type header created using ASCII art to make it stand out more.
Pass --no-prefix to git diff to slightly shorten the diff header
.
v9.1
Search git status preview updates
- rewrite status parsing logic and fix bug with renames (8f0f134)
- show diff type header in yellow and fix color bleeding (785df55)
- add tests for preview logic (fe06393)
Search git history update
Don't merge history when in private mode (#245 and a79dc75). Calling history merge in private mode (fish --private) clears the session history. So if you execute the search history function while in private mode, there is no history to search. This has now been fixed.
v9.0
MAJOR new features
[Search git status] preview changed files (#237, @NextAlone)
Show a preview of the unstaged and staged changes of the hovered-over file. This will make it easier to identify which files to select and perhaps offer a faster-to-navigate alternative to git diff.
[Search git log] include diff stats in preview (#238, @NextAlone)
Include diff stats when previewing commits to provide a quick overview of the files changed, which will be very helpful when the diff is very large and involves multiple files.
Behind the scenes changes
[Search directory] Prevent duplicate / when fd version >= 8.4.0 (#241, @kidonng)
fd 8.4.0 contains this change: "Directories are now printed with an additional path separator at the end".
fzf.fish has another feature that appends / for quick cds. This causes a duplicate / at the end that is confusing and looks terrible, though it may not actually cause issues. We fix this by preventing the / to be appended when the fd version is >= 8.4.0.
[Search variables] Always wrap preview (#239, @jaminthorns)
Useful for when the variable is very long, e.g. database URI. There shouldn't be any situation in which this is an inconvenience.
BIG thanks to @NextAlone for working hard and patiently with me on #237 to get it merged. It was the third PR to attempt this change, which shows how difficult it is to design well from a product standpoint. But NextAlone did it!
v8.3
v8.2
v8.1
Improvements to search processes
- Allow multi-selection and add regression test (#219)
- Use clearer ps field names in preview (4f926c3)
- Add a gif to illustrate use (22dd684)
Other
- [Search git log] improve performance and code readability (d86bc56)
- [Readme] better describe what fzf.fish does and how it is meant to be used
v8.0
Search processes (#216 - @cr-mitmit)
- Search through all running processes and insert the pid of the selected process
- Useful for commands such as
kill -STOP $pid
orlsof -p $pid
- Includes a preview that shows other useful information about the process selected such as parent pid, CPU use, memory use, and start time.
- The feature is very usable and well tested but is not 100% done and I will follow up with an update hopefully soon to put the finishing touches on it.
v7.5
v7.4
[Search directory] Hide ./ prefix when fd version >= 8.3.0 (#211 - @kidonng )
fd >= 8.3.0 prefixes ./
to all paths when the output is being piped rather than sent to TTY. This is ugly and we don't need this so we disable this new behavior by passing a new flag --strip-cwd-prefix
if the version is >= 8.3.0. Eventually, we will require fd 8.3.0 as a minimum version and always pass that flag.
[Search variables] Remove excessive escape for replacement group (#209 - @rmgk )
This fixes a dormant bug that will eventually rear its ugly head in a future Fish release. It was not manifested because string replace currently has some idiosyncratic behavior that does extra escaping. However, that behavior will be removed when the regex-easyesc
feature flag (see https://fishshell.com/docs/current/language.html#future-feature-flags) is turned on by default, which will inevitably happen.