- Update install script to download Windows binary if $TERM == cygwin
- Unset TERM if $TERM == cygwin (#933)
- Always use cmd.exe instead of $SHELL when running commands
Make sure to consistently calculate tiebreak scores based on the
original line.
This change may not be preferable if you filter aligned tabular input on
a subset of columns using --nth. However, if we calculate length
tiebreak only on the matched components instead of the entire line, the
result can be very confusing when multiple --nth components are
specified, so let's keep it simple and consistent.
Close#926
Due to go std lib uses poller for os.File introducing in this commit:
https://github.com/golang/go/commit/c05b06a12d005f50e4776095a60d6bd9c2c91fac
There are two changes to watch out:
1. os.File.Fd will always return a blocking fd except on bsd.
2. os.File.Read won't return EAGAIN error for nonblocking fd.
So
For 1, we just get tty's fd in advance and then set its block mode.
For 2, we use read syscall directly to get what we wanted error(EAGAIN).
Fix issue #910.
Signed-off-by: Tw <tw19881113@gmail.com>
Do not automatically decide to use alternate screen when the value of
height exceeds the height of the terminal.
# Use alternate screen
fzf
fzf --height 100%
fzf --no-height
# Still use current screen
fzf --height 10000
Due to performance consideration, FuzzyMatchV2 does not return the exact
positions of the matching characters by default. However, the ommission
caused `--tiebreak=begin` to produce inaccurate result in some cases.
(echo baz foo bar; echo foo bar baz) | fzf --tiebreak=begin -fbar | head -1
# Expected: foo bar baz
# Actual: baz foo bar
This commit fixes the problem by using the end offset which is
guaranteed to be correct.
- Move cursor to the top-left corner when starting a command in
alternate screen
- Fix cursor position when returning to alternate screen when fzf is
running in full screen mode