@ 261102.1

261021.4 · 2adb741c33b276990f55e4b9f5c33d316070dc3c

Respect --no-sort in non-streaming filter mode

- --sync, --tac, --bench disable streaming filter, and the result was sorted
- Matcher.scan already checks pattern.sortable

Problem analyzed and patch submitted by @NavpreetSSidhu

Fix #4940

Co-authored-by: NavpreetSSidhu <116211004+NavpreetSSidhu@users.noreply.github.com>

reading declarations

CHANGELOG.md

@@ -26,6 +26,7 @@ CHANGELOG       ``` - nushell     - The completion integration now requires nushell 0.116.1 or above, where an interactive completer can take the terminal through the `@interactive` attribute (#4934) (@sim590)+- Fixed `--no-sort` being ignored in filter mode with `--sync`, `--tac`, or `--bench` (#4940) (@NavpreetSSidhu) - Vim plugin: Fixed garbage text on screen in Neovim with `set title` when the fzf command contains ANSI escape sequences (#4941)  0.74.5

src/core.go

@@ -264,7 +264,6 @@ func Run(opts *Options) (int, error) { 		}  		pattern := patternBuilder([]rune(*opts.Filter))-		matcher.sort = pattern.sortable  		transformer := buildItemTransformer(opts) 

test/test_filter.rb

@@ -25,6 +25,15 @@ class TestFilter < TestBase     assert_equal 1, `echo Foo bar | #{FZF} -x -f "foo Fbar" | wc -l`.to_i   end +  def test_filter_no_sort+    input = "printf 'abz\\nab\\nzab\\n'"+    ['', '--sync'].each do |opts|+      assert_equal %w[ab abz zab], `#{input} | #{FZF} -f ab #{opts}`.lines(chomp: true)+      assert_equal %w[abz ab zab], `#{input} | #{FZF} -f ab --no-sort #{opts}`.lines(chomp: true)+      assert_equal %w[zab ab abz], `#{input} | #{FZF} -f ab --no-sort --tac #{opts}`.lines(chomp: true)+    end+  end+   def test_filter_exitstatus     # filter / streaming filter     ['', '--no-sort'].each do |opts|