From c7e86ad4f1061b0cad9f64a6c9ad26f386bc1168 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Thu, 30 Jan 2014 15:41:44 +0900 Subject: [PATCH] Add --no-mouse option to replace FZF_MOUSE_ENABLED --- README.md | 2 +- fzf | 12 +++++++----- test/test_fzf.rb | 8 ++++++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index aff96bd..61e83fe 100644 --- a/README.md +++ b/README.md @@ -60,11 +60,11 @@ usage: fzf [options] -i Case-insensitive match (default: smart-case match) +i Case-sensitive match +c, --no-color Disable colors + --no-mouse Disable mouse Environment variables FZF_DEFAULT_COMMAND Default command to use when input is tty FZF_DEFAULT_OPTS Defaults options. (e.g. "-x -m --sort 10000") - FZF_MOUSE_ENABLED Set to 0 to disable mouse ``` fzf will launch curses-based finder, read the list from STDIN, and write the diff --git a/fzf b/fzf index f7795dd..7528aab 100755 --- a/fzf +++ b/fzf @@ -7,7 +7,7 @@ # / __/ / /_/ __/ # /_/ /___/_/ Fuzzy finder for your shell # -# Version: 0.7.0-devel (January 30, 2014) +# Version: 0.7.0 (January 30, 2014) # # Author: Junegunn Choi # URL: https://github.com/junegunn/fzf @@ -50,7 +50,7 @@ end class FZF C = Curses - attr_reader :rxflag, :sort, :color, :multi, :query, :extended + attr_reader :rxflag, :sort, :color, :mouse, :multi, :query, :extended class AtomicVar def initialize value @@ -81,6 +81,7 @@ class FZF @color = true @multi = false @extended = false + @mouse = true argv = if opts = ENV['FZF_DEFAULT_OPTS'] @@ -101,6 +102,7 @@ class FZF when '+i' then @rxflag = 0 when '-c', '--color' then @color = true when '+c', '--no-color' then @color = false + when '--no-mouse' then @mouse = false when '+s', '--no-sort' then @sort = nil when '-q', '--query' usage 1, 'query string required' unless query = argv.shift @@ -171,11 +173,11 @@ class FZF -i Case-insensitive match (default: smart-case match) +i Case-sensitive match +c, --no-color Disable colors + --no-mouse Disable mouse Environment variables FZF_DEFAULT_COMMAND Default command to use when input is tty - FZF_DEFAULT_OPTS Defaults options. (e.g. "-x -m --sort 10000") - FZF_MOUSE_ENABLED Set to 0 to disable mouse] + $/ + $/ + FZF_DEFAULT_OPTS Defaults options. (e.g. "-x -m --sort 10000")] + $/ + $/ exit x end @@ -472,7 +474,7 @@ class FZF def init_screen C.init_screen - unless ENV.fetch('FZF_MOUSE_ENABLED', '1') == '0' + if @mouse C.mouseinterval 0 C.mousemask C::ALL_MOUSE_EVENTS end diff --git a/test/test_fzf.rb b/test/test_fzf.rb index 7310735..3f61f0f 100644 --- a/test/test_fzf.rb +++ b/test/test_fzf.rb @@ -20,6 +20,7 @@ class TestFZF < MiniTest::Unit::TestCase assert_equal false, fzf.multi assert_equal true, fzf.color assert_equal nil, fzf.rxflag + assert_equal true, fzf.mouse end def test_environment_variables @@ -28,7 +29,7 @@ class TestFZF < MiniTest::Unit::TestCase fzf = FZF.new [] assert_equal 20000, fzf.sort - ENV['FZF_DEFAULT_OPTS'] = '-x -m -s 10000 -q " hello world " +c' + ENV['FZF_DEFAULT_OPTS'] = '-x -m -s 10000 -q " hello world " +c --no-mouse' fzf = FZF.new [] assert_equal 10000, fzf.sort assert_equal ' hello world ', @@ -36,14 +37,16 @@ class TestFZF < MiniTest::Unit::TestCase assert_equal true, fzf.extended assert_equal true, fzf.multi assert_equal false, fzf.color + assert_equal false, fzf.mouse end def test_option_parser # Long opts - fzf = FZF.new %w[--sort=2000 --no-color --multi +i --query hello --extended] + fzf = FZF.new %w[--sort=2000 --no-color --multi +i --query hello --extended --no-mouse] assert_equal 2000, fzf.sort assert_equal true, fzf.multi assert_equal false, fzf.color + assert_equal false, fzf.mouse assert_equal 0, fzf.rxflag assert_equal 'hello', fzf.query.get assert_equal true, fzf.extended @@ -53,6 +56,7 @@ class TestFZF < MiniTest::Unit::TestCase assert_equal nil, fzf.sort assert_equal false, fzf.multi assert_equal true, fzf.color + assert_equal true, fzf.mouse assert_equal 1, fzf.rxflag assert_equal 'hello', fzf.query.get assert_equal false, fzf.extended