rubytext 0.1.13 → 0.1.14
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 +4 -4
- data/lib/output.rb +24 -4
- data/lib/rubytext_version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5edfad72caf19e2e70c17c0abd239a2a563f29db90d7bf46afda16c7d3660f66
|
4
|
+
data.tar.gz: a6736885d763fc52c8ce5f25da49365e144949fda7a4e4943c82c4fe40869496
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3d1eb8234d2a1ac623570647abcd1e729047c5e4b3511664f6e825cf470221903c1d9471813f36439c24c07f1cb2c0592e5ccb0ddf986893e5f23cd98b48177
|
7
|
+
data.tar.gz: 15570d3cd19c82f16df066652f82a5df07824fd7805c54aac2ddbc4b361be24969a718cdc967fd86f0c0d7c80a9aca2d28e8b99a1277eed58ffa3f94062574d0
|
data/lib/output.rb
CHANGED
@@ -139,7 +139,7 @@ class RubyText::Window
|
|
139
139
|
end
|
140
140
|
|
141
141
|
class GetString
|
142
|
-
def initialize(win = STDSCR, str = "", i = 0, history: [], limit: nil)
|
142
|
+
def initialize(win = STDSCR, str = "", i = 0, history: [], limit: nil, tab: [])
|
143
143
|
@win = win
|
144
144
|
@r0, @c0 = @win.rc
|
145
145
|
@limit = limit || (@win.cols - @r0 - 1)
|
@@ -149,7 +149,8 @@ class RubyText::Window
|
|
149
149
|
@win.left @str.length
|
150
150
|
@history = history
|
151
151
|
@h = @history.length - 1
|
152
|
-
@maxlen = 0 # longest string in history
|
152
|
+
@maxlen = 0 # longest string in history list
|
153
|
+
@tabcom = tab
|
153
154
|
end
|
154
155
|
|
155
156
|
def enter
|
@@ -205,6 +206,23 @@ class RubyText::Window
|
|
205
206
|
@win.print @str
|
206
207
|
end
|
207
208
|
|
209
|
+
def complete
|
210
|
+
targets = @tabcom.find_all {|x| x.start_with?(@str) }
|
211
|
+
if targets.nil?
|
212
|
+
Curses.beep
|
213
|
+
return
|
214
|
+
end
|
215
|
+
if targets.size > 1
|
216
|
+
num, target = STDSCR.menu(items: targets)
|
217
|
+
else
|
218
|
+
target = targets.first
|
219
|
+
end
|
220
|
+
@str = target.dup
|
221
|
+
@i = @str.length
|
222
|
+
@win.go @r0, @c0
|
223
|
+
@win.print @str
|
224
|
+
end
|
225
|
+
|
208
226
|
def add(ch)
|
209
227
|
if @str.length >= @limit
|
210
228
|
Curses.beep
|
@@ -221,10 +239,10 @@ class RubyText::Window
|
|
221
239
|
end
|
222
240
|
end
|
223
241
|
|
224
|
-
def gets(history: [], limit: nil, default: "") # still needs improvement
|
242
|
+
def gets(history: [], limit: nil, tab: [], default: "") # still needs improvement
|
225
243
|
# echo assumed to be OFF, keypad ON
|
226
244
|
@history = history
|
227
|
-
gs = GetString.new(self, default, history: history, limit: limit)
|
245
|
+
gs = GetString.new(self, default, history: history, limit: limit, tab: tab)
|
228
246
|
loop do
|
229
247
|
ch = self.getch
|
230
248
|
case ch
|
@@ -233,6 +251,8 @@ class RubyText::Window
|
|
233
251
|
break
|
234
252
|
when 8, 127, 63 # backspace, del, ^H (huh?)
|
235
253
|
gs.backspace
|
254
|
+
when 9 # tab
|
255
|
+
gs.complete
|
236
256
|
when 260 # left-arrow
|
237
257
|
gs.left_arrow
|
238
258
|
when 261 # right-arrow
|
data/lib/rubytext_version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubytext
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hal Fulton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: curses
|