ansi-select 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e0b7678dcd7b0eb448dc1ffa8cd3ee7621c89093
4
- data.tar.gz: 4e7f2a784d81aa8c3e488715ab795381ec87fcd1
3
+ metadata.gz: 93196545ca121d05b923862104bdc6fda3754099
4
+ data.tar.gz: 8e80b117b41c20fe78890a53cf398f8eb8fe568f
5
5
  SHA512:
6
- metadata.gz: 008e8fa95ec62bfcf6ebb7233b3b4f6cc360fe3ef275ce3f515d4955fef24783bc92e589ff1d1b3c6ed694c4c08c64e0f353786c4f84fa7d62fbfbd8706ae088
7
- data.tar.gz: 709585d4347c5398ac9030d4566f8f5fe6827aeca847fe065778f776c47876754219e62c4eca4ff87749eb541a32ce6bea7b0585c93ab5d36ef3e0752f87e7cb
6
+ metadata.gz: ba1b17043fde1207bb846516415a9f4305eee48959f960633d2f17cdbcf842b52208e30ddd87c18565274d28cdcc3815878bf1b869911087d3fdae34b06859aa
7
+ data.tar.gz: 4ae6c420d9aefca3f59c626100922d849436482cd5c5a68da207e3395399962788cf37f1ce679cd5d702b928f45827681cf28c4d98eef2a0f71c2ba8de966d0f
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ### 0.3.1
2
+
3
+ * Navigate using Ctrl+N and Ctrl+P
4
+ * Add the `--version` options.
5
+
1
6
  ### 0.3.0
2
7
 
3
8
  * Fix default formatter not defined error.
data/README.md CHANGED
@@ -44,7 +44,7 @@ Ansi::Selector.select(objects, ->(object) { "❤❤❤#{object}❤❤❤" })
44
44
 
45
45
  ## Keyboard
46
46
 
47
- * Up and down arrows or `j`/`k` to move around.
48
- * Return to choose.
49
- * Space to toggle in multi select mode.
50
- * Ctrl-c or `q` to quit.
47
+ * Up and down arrows, `j/k`, or `Ctrl+N/P` to navigate.
48
+ * `Space` to toggle in multi select mode.
49
+ * `Return` to choose.
50
+ * `Ctrl+C` or `q` to quit.
data/bin/ansi-select CHANGED
@@ -1,6 +1,12 @@
1
1
  #!/usr/bin/env ruby
2
2
  require_relative '../lib/ansi/selector'
3
3
 
4
+ unless (ARGV & %w(--version -v)).empty?
5
+ require_relative '../lib/ansi/selector/version'
6
+ puts Ansi::Selector::VERSION
7
+ exit
8
+ end
9
+
4
10
  method_name = ARGV.include?('--multi') ? :multi_select : :select
5
11
 
6
12
  puts Ansi::Selector.public_send(method_name, STDIN.readlines.map(&:chomp))
@@ -108,19 +108,23 @@ module Ansi
108
108
 
109
109
  # @return [#to_s]
110
110
  def ask_to_choose
111
+ ctrl_p = "\u0010"
112
+ ctrl_n = "\u000E"
113
+ ctrl_c = "\u0003"
114
+
111
115
  loop do
112
116
  input = listen_carefully_to_keyboard
113
117
 
114
118
  case input
115
- when "\u0003", "q"
119
+ when ctrl_c, "q"
116
120
  exit(0)
117
121
  when " "
118
122
  space_key_handler
119
123
  when CODES[:carriage_return_key]
120
124
  break carriage_return_handler
121
- when "\e[A", "k", CODES[:cursor_up]
125
+ when "\e[A", "k", ctrl_p, CODES[:cursor_up]
122
126
  scroll_to(@highlighted_line_index - 1)
123
- when "\e[B", "j", CODES[:cursor_down]
127
+ when "\e[B", "j", ctrl_n, CODES[:cursor_down]
124
128
  scroll_to(@highlighted_line_index + 1)
125
129
  end
126
130
  end
@@ -1,5 +1,5 @@
1
1
  module Ansi
2
2
  class Selector
3
- VERSION = "0.3.0"
3
+ VERSION = "0.3.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ansi-select
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Volodymyr Shatskyi