rfd 0.6.1 → 0.6.2
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/rfd.rb +13 -9
- data/lib/rfd/commands.rb +4 -6
- data/lib/rfd/windows.rb +8 -5
- data/rfd.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85ce1000330ce786e4ea5b2dba2854adb3188a89
|
4
|
+
data.tar.gz: 47299a571cdf2f7e18fea161971b463c1a5ea733
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fbdea0a3e8ba2c97369f5e9d057fe18d3bc3214c01f868c6212196e7d5fdaeecd17a194225d751880b45052aed7055f7ac448e80c961fece3c8538355502346
|
7
|
+
data.tar.gz: e640102c242bd0741ebaafae583c6b5ac166b2038785021b800da907fcc061b01756687ba5c617020cba9bc5acfa62a0f557afb1482695ba3ad00ff047737f9f
|
data/lib/rfd.rb
CHANGED
@@ -34,9 +34,10 @@ module Rfd
|
|
34
34
|
def self.start(dir = '.')
|
35
35
|
init_curses
|
36
36
|
Rfd::Window.draw_borders
|
37
|
-
Curses.
|
37
|
+
Curses.stdscr.noutrefresh
|
38
38
|
rfd = Rfd::Controller.new
|
39
39
|
rfd.cd dir
|
40
|
+
Curses.doupdate
|
40
41
|
rfd
|
41
42
|
end
|
42
43
|
|
@@ -60,7 +61,7 @@ module Rfd
|
|
60
61
|
loop do
|
61
62
|
begin
|
62
63
|
number_pressed = false
|
63
|
-
case (c = Curses.getch)
|
64
|
+
ret = case (c = Curses.getch)
|
64
65
|
when 10, 13 # enter, return
|
65
66
|
enter
|
66
67
|
when 27 # ESC
|
@@ -101,6 +102,7 @@ module Rfd
|
|
101
102
|
else
|
102
103
|
debug "key: #{c}" if ENV['DEBUG']
|
103
104
|
end
|
105
|
+
Curses.doupdate if ret
|
104
106
|
@times = nil unless number_pressed
|
105
107
|
rescue StopIteration
|
106
108
|
raise
|
@@ -163,7 +165,6 @@ module Rfd
|
|
163
165
|
main.display current_page
|
164
166
|
|
165
167
|
header_l.draw_current_file_info item
|
166
|
-
header_l.refresh
|
167
168
|
@current_row
|
168
169
|
end
|
169
170
|
|
@@ -180,6 +181,7 @@ module Rfd
|
|
180
181
|
@current_dir, @current_page, @current_row = dir, 0, nil
|
181
182
|
main.activate_pane 0
|
182
183
|
ls
|
184
|
+
@current_dir
|
183
185
|
end
|
184
186
|
|
185
187
|
# cd to the previous directory.
|
@@ -199,6 +201,7 @@ module Rfd
|
|
199
201
|
|
200
202
|
draw_marked_items
|
201
203
|
draw_total_items
|
204
|
+
true
|
202
205
|
end
|
203
206
|
|
204
207
|
# Sort the whole files and directories in the current directory, then refresh the screen.
|
@@ -586,7 +589,7 @@ module Rfd
|
|
586
589
|
|
587
590
|
# Number of pages in the current directory.
|
588
591
|
def total_pages
|
589
|
-
items.size / max_items + 1
|
592
|
+
(items.size - 1) / max_items + 1
|
590
593
|
end
|
591
594
|
|
592
595
|
# Move to the given page number.
|
@@ -630,13 +633,14 @@ module Rfd
|
|
630
633
|
command_line.set_prompt prompt
|
631
634
|
cmd, *args = command_line.get_command(prompt: prompt).split(' ')
|
632
635
|
if cmd && !cmd.empty? && respond_to?(cmd)
|
633
|
-
self.public_send cmd, *args
|
636
|
+
ret = self.public_send cmd, *args
|
634
637
|
command_line.clear
|
635
|
-
command_line.
|
638
|
+
command_line.noutrefresh
|
639
|
+
ret
|
636
640
|
end
|
637
641
|
rescue Interrupt
|
638
642
|
command_line.clear
|
639
|
-
command_line.
|
643
|
+
command_line.noutrefresh
|
640
644
|
end
|
641
645
|
|
642
646
|
# Accept user input, and directly execute it in an external shell.
|
@@ -649,7 +653,7 @@ module Rfd
|
|
649
653
|
rescue Interrupt
|
650
654
|
ensure
|
651
655
|
command_line.clear
|
652
|
-
command_line.
|
656
|
+
command_line.noutrefresh
|
653
657
|
end
|
654
658
|
|
655
659
|
# Let the user answer y or n.
|
@@ -662,7 +666,7 @@ module Rfd
|
|
662
666
|
while (c = Curses.getch)
|
663
667
|
next unless [?N, ?Y, ?n, ?y, 3, 27] .include? c # N, Y, n, y, ^c, esc
|
664
668
|
command_line.clear
|
665
|
-
command_line.
|
669
|
+
command_line.noutrefresh
|
666
670
|
break (c == 'y') || (c == 'Y')
|
667
671
|
end
|
668
672
|
end
|
data/lib/rfd/commands.rb
CHANGED
@@ -192,7 +192,6 @@ module Rfd
|
|
192
192
|
draw_items
|
193
193
|
move_cursor current_row
|
194
194
|
draw_marked_items
|
195
|
-
header_r.refresh
|
196
195
|
end
|
197
196
|
|
198
197
|
# "b"ack to the previous page.
|
@@ -246,17 +245,17 @@ module Rfd
|
|
246
245
|
end
|
247
246
|
|
248
247
|
# Change current directory (cd).
|
249
|
-
define_method('@') do
|
248
|
+
define_method(:'@') do
|
250
249
|
process_command_line preset_command: 'cd'
|
251
250
|
end
|
252
251
|
|
253
252
|
# Execute a shell command in an external shell.
|
254
|
-
define_method(
|
253
|
+
define_method(:!) do
|
255
254
|
process_shell_command
|
256
255
|
end
|
257
256
|
|
258
257
|
# Execute a command in the controller context.
|
259
|
-
define_method(':') do
|
258
|
+
define_method(:':') do
|
260
259
|
process_command_line
|
261
260
|
end
|
262
261
|
|
@@ -277,9 +276,8 @@ module Rfd
|
|
277
276
|
# Toggle mark, and move down.
|
278
277
|
def space
|
279
278
|
toggle_mark
|
280
|
-
j
|
281
279
|
draw_marked_items
|
282
|
-
|
280
|
+
j
|
283
281
|
end
|
284
282
|
|
285
283
|
# cd to the upper hierarchy.
|
data/lib/rfd/windows.rb
CHANGED
@@ -29,14 +29,16 @@ module Rfd
|
|
29
29
|
|
30
30
|
def draw_path_and_page_number(path: nil, current: 1, total: nil)
|
31
31
|
writeln 0, %Q[Page: #{"#{current}/ #{total}".ljust(11)} Path: #{path}]
|
32
|
-
|
32
|
+
noutrefresh
|
33
33
|
end
|
34
34
|
|
35
35
|
def draw_current_file_info(current_file)
|
36
36
|
draw_current_filename current_file.full_display_name
|
37
37
|
draw_stat current_file
|
38
|
+
noutrefresh
|
38
39
|
end
|
39
40
|
|
41
|
+
private
|
40
42
|
def draw_current_filename(current_file_name)
|
41
43
|
writeln 1, "File: #{current_file_name}"
|
42
44
|
end
|
@@ -53,11 +55,12 @@ module Rfd
|
|
53
55
|
|
54
56
|
def draw_marked_items(count: 0, size: 0)
|
55
57
|
writeln 0, %Q[#{"#{count}Marked".rjust(11)} #{size.to_s.reverse.gsub( /(\d{3})(?=\d)/, '\1,').reverse.rjust(16)}]
|
58
|
+
noutrefresh
|
56
59
|
end
|
57
60
|
|
58
61
|
def draw_total_items(count: 0, size: 0)
|
59
62
|
writeln 1, %Q[#{"#{count}Files".rjust(10)} #{size.to_s.reverse.gsub( /(\d{3})(?=\d)/, '\1,').reverse.rjust(17)}]
|
60
|
-
|
63
|
+
noutrefresh
|
61
64
|
end
|
62
65
|
end
|
63
66
|
|
@@ -68,7 +71,7 @@ module Rfd
|
|
68
71
|
|
69
72
|
def debug(s)
|
70
73
|
writeln 0, s.to_s
|
71
|
-
|
74
|
+
noutrefresh
|
72
75
|
end
|
73
76
|
end
|
74
77
|
|
@@ -91,7 +94,7 @@ module Rfd
|
|
91
94
|
end
|
92
95
|
|
93
96
|
def display(page)
|
94
|
-
|
97
|
+
noutrefresh 0, (Curses.cols - 2) * page, begy, 1, begy + maxy - 1, Curses.cols - 2
|
95
98
|
end
|
96
99
|
|
97
100
|
def activate_pane(num)
|
@@ -156,7 +159,7 @@ module Rfd
|
|
156
159
|
attron(Curses.color_pair(Curses::COLOR_RED) | Curses::A_BOLD) do
|
157
160
|
writeln 0, str
|
158
161
|
end
|
159
|
-
|
162
|
+
noutrefresh
|
160
163
|
end
|
161
164
|
end
|
162
165
|
end
|
data/rfd.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "rfd"
|
7
|
-
spec.version = '0.6.
|
7
|
+
spec.version = '0.6.2'
|
8
8
|
spec.authors = ["Akira Matsuda"]
|
9
9
|
spec.email = ["ronnie@dio.jp"]
|
10
10
|
spec.description = 'Ruby on Files & Directories'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rfd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akira Matsuda
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|