ansi-select 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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