Skip to content

0.32.0

Compare
Choose a tag to compare
@junegunn junegunn released this 02 Aug 12:59
· 844 commits to master since this release
0.32.0
f7e7259
  • Updated the scoring algorithm
    • Different bonus points to different categories of word boundaries
      (listed higher to lower bonus point)
      • Word after whitespace characters or beginning of the string
      • Word after common delimiter characters (/,:;|)
      • Word after other non-word characters
      # foo/bar.sh` is preferred over `foo-bar.sh` on `bar`
      fzf --query=bar --height=4 << EOF
      foo-bar.sh
      foo/bar.sh
      EOF
  • Added a new tiebreak chunk
    • Favors the line with shorter matched chunk. A chunk is a set of
      consecutive non-whitespace characters.
    • Unlike the default length, this scheme works well with tabular input
      # length prefers item #1, because the whole line is shorter,
      # chunk prefers item #2, because the matched chunk ("foo") is shorter
      fzf --height=6 --header-lines=2 --tiebreak=chunk --reverse --query=fo << "EOF"
      N | Field1 | Field2 | Field3
      - | ------ | ------ | ------
      1 | hello  | foobar | baz
      2 | world  | foo    | bazbaz
      EOF
    • If the input does not contain any spaces, chunk is equivalent to
      length. But we're not going to set it as the default because it is
      computationally more expensive.
  • Bug fixes and improvements