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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +4 -4
- data/bin/ansi-select +6 -0
- data/lib/ansi/selector/impl.rb +7 -3
- data/lib/ansi/selector/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93196545ca121d05b923862104bdc6fda3754099
|
4
|
+
data.tar.gz: 8e80b117b41c20fe78890a53cf398f8eb8fe568f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba1b17043fde1207bb846516415a9f4305eee48959f960633d2f17cdbcf842b52208e30ddd87c18565274d28cdcc3815878bf1b869911087d3fdae34b06859aa
|
7
|
+
data.tar.gz: 4ae6c420d9aefca3f59c626100922d849436482cd5c5a68da207e3395399962788cf37f1ce679cd5d702b928f45827681cf28c4d98eef2a0f71c2ba8de966d0f
|
data/CHANGELOG.md
CHANGED
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
|
48
|
-
*
|
49
|
-
*
|
50
|
-
* Ctrl
|
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))
|
data/lib/ansi/selector/impl.rb
CHANGED
@@ -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
|
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
|