summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md7
-rwxr-xr-xinstall41
-rw-r--r--install.ps12
-rw-r--r--main.go2
-rw-r--r--man/man1/fzf-tmux.12
-rw-r--r--src/ansi.go1
-rw-r--r--src/tui/tcell.go5
7 files changed, 32 insertions, 28 deletions
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