diff --git a/CHANGELOG.md b/CHANGELOG.md index a1fb749c..34527069 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,11 +3,14 @@ CHANGELOG 0.63.0 ------ +_Release highlights: https://junegunn.github.io/fzf/releases/0.63.0/_ + - Added footer. The default border style for footer is `line`, which draws a single separator line. ```sh fzf --reverse --footer "fzf: friend zone forever" ``` - Options + - `--footer[=STRING]` - `--footer-border[=STYLE]` - `--footer-label=LABEL` - `--footer-label-pos=COL[:bottom]` @@ -33,13 +36,13 @@ CHANGELOG seq 10000 | fzf --preview "awk '{sum += \$1} END {print sum}' {*f}" ``` - Use this with caution, as it can make fzf sluggish for large lists. -- Added asynchronous transform actions with `bg-` prefix that run asynchronously in the background, along with `bg-cancel` action to ignore currently running `bg-transform` actions. +- Added asynchronous transform actions with `bg-` prefix that run asynchronously in the background, along with `bg-cancel` action to cancel currently running `bg-transform` actions. ```sh # Implement popup that disappears after 1 second # * Use footer as the popup # * Use `bell` to ring the terminal bell # * Use `bg-transform-footer` to clear the footer after 1 second - # * Use `bg-cancel` to ignore currently running background transform actions + # * Use `bg-cancel` to cancel currently running background transform actions fzf --multi --list-border \ --bind 'enter:execute-silent(echo -n {+} | pbcopy)+bell' \ --bind 'enter:+transform-footer(echo Copied {} to clipboard)' \ diff --git a/install b/install index 79706ee6..b154d26b 100755 --- a/install +++ b/install @@ -2,7 +2,7 @@ set -u -version=0.62.0 +version=0.63.0 auto_completion= key_bindings= update_config=2 @@ -164,28 +164,29 @@ download() { } # Try to download binary executable -archi=$(uname -sm) +archi=$(uname -smo) binary_available=1 binary_error="" case "$archi" in - Darwin\ arm64) download fzf-$version-darwin_arm64.tar.gz ;; - Darwin\ x86_64) download fzf-$version-darwin_amd64.tar.gz ;; - Linux\ armv5*) download fzf-$version-linux_armv5.tar.gz ;; - Linux\ armv6*) download fzf-$version-linux_armv6.tar.gz ;; - Linux\ armv7*) download fzf-$version-linux_armv7.tar.gz ;; - Linux\ armv8*) download fzf-$version-linux_arm64.tar.gz ;; - Linux\ aarch64*) download fzf-$version-linux_arm64.tar.gz ;; - Linux\ loongarch64) download fzf-$version-linux_loong64.tar.gz ;; - Linux\ ppc64le) download fzf-$version-linux_ppc64le.tar.gz ;; - Linux\ *64) download fzf-$version-linux_amd64.tar.gz ;; - Linux\ s390x) download fzf-$version-linux_s390x.tar.gz ;; - FreeBSD\ *64) download fzf-$version-freebsd_amd64.tar.gz ;; - OpenBSD\ *64) download fzf-$version-openbsd_amd64.tar.gz ;; - CYGWIN*\ *64) download fzf-$version-windows_amd64.zip ;; - MINGW*\ *64) download fzf-$version-windows_amd64.zip ;; - MSYS*\ *64) download fzf-$version-windows_amd64.zip ;; - Windows*\ *64) download fzf-$version-windows_amd64.zip ;; - *) binary_available=0 binary_error=1 ;; + Darwin\ arm64*) download fzf-$version-darwin_arm64.tar.gz ;; + Darwin\ x86_64*) download fzf-$version-darwin_amd64.tar.gz ;; + Linux\ armv5*) download fzf-$version-linux_armv5.tar.gz ;; + Linux\ armv6*) download fzf-$version-linux_armv6.tar.gz ;; + Linux\ armv7*) download fzf-$version-linux_armv7.tar.gz ;; + Linux\ armv8*) download fzf-$version-linux_arm64.tar.gz ;; + Linux\ aarch64\ Android) download fzf-$version-android_arm64.tar.gz ;; + Linux\ aarch64*) download fzf-$version-linux_arm64.tar.gz ;; + Linux\ loongarch64*) download fzf-$version-linux_loong64.tar.gz ;; + Linux\ ppc64le*) download fzf-$version-linux_ppc64le.tar.gz ;; + Linux\ *64*) download fzf-$version-linux_amd64.tar.gz ;; + Linux\ s390x*) download fzf-$version-linux_s390x.tar.gz ;; + FreeBSD\ *64*) download fzf-$version-freebsd_amd64.tar.gz ;; + OpenBSD\ *64*) download fzf-$version-openbsd_amd64.tar.gz ;; + CYGWIN*\ *64*) download fzf-$version-windows_amd64.zip ;; + MINGW*\ *64*) download fzf-$version-windows_amd64.zip ;; + MSYS*\ *64*) download fzf-$version-windows_amd64.zip ;; + Windows*\ *64*) download fzf-$version-windows_amd64.zip ;; + *) binary_available=0 binary_error=1 ;; esac cd "$fzf_base" diff --git a/install.ps1 b/install.ps1 index a6c55b96..a9bd62cb 100644 --- a/install.ps1 +++ b/install.ps1 @@ -1,4 +1,4 @@ -$version="0.62.0" +$version="0.63.0" $fzf_base=Split-Path -Parent $MyInvocation.MyCommand.Definition diff --git a/main.go b/main.go index 5b5e3fdf..ff7a81e8 100644 --- a/main.go +++ b/main.go @@ -11,7 +11,7 @@ import ( "github.com/junegunn/fzf/src/protector" ) -var version = "0.62" +var version = "0.63" var revision = "devel" //go:embed shell/key-bindings.bash diff --git a/man/man1/fzf-tmux.1 b/man/man1/fzf-tmux.1 index 8f78a0bd..e6b984b2 100644 --- a/man/man1/fzf-tmux.1 +++ b/man/man1/fzf-tmux.1 @@ -21,7 +21,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .. -.TH fzf\-tmux 1 "May 2025" "fzf 0.62.0" "fzf\-tmux - open fzf in tmux split pane" +.TH fzf\-tmux 1 "Jun 2025" "fzf 0.63.0" "fzf\-tmux - open fzf in tmux split pane" .SH NAME fzf\-tmux - open fzf in tmux split pane diff --git a/src/ansi.go b/src/ansi.go index 6bff3d2b..61137e1f 100644 --- a/src/ansi.go +++ b/src/ansi.go @@ -406,7 +406,6 @@ func interpretCode(ansiCode string, prevState *ansiState) ansiState { state.fg = -1 state.bg = -1 state.attr = 0 - state.lbg = -1 } if len(ansiCode) <= 3 { diff --git a/src/tui/tcell.go b/src/tui/tcell.go index 762768da..0f80882e 100644 --- a/src/tui/tcell.go +++ b/src/tui/tcell.go @@ -103,6 +103,7 @@ const ( AttrRegular = Attr(1 << 7) AttrClear = Attr(1 << 8) BoldForce = Attr(1 << 10) + FullBg = Attr(1 << 11) ) func (r *FullscreenRenderer) Bell() { @@ -161,10 +162,10 @@ func (c Color) Style() tcell.Color { func (a Attr) Merge(b Attr) Attr { if b&AttrRegular > 0 { // Only keep bold attribute set by the system - return b | (a & BoldForce) + return (b &^ AttrRegular) | (a & BoldForce) } - return a | b + return (a &^ AttrRegular) | b } // handle the following as private members of FullscreenRenderer instance