shellplay 0.0.6 → 0.0.7

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: 621f7005189c515470dba44094889a9c347bc03d
4
- data.tar.gz: 01b0252c57e3178e6639bea8b56110e797d95e4e
3
+ metadata.gz: 6f8f5cb88df6cc5ab166a35c6edec2e75d3c0539
4
+ data.tar.gz: 31a54955f161ff904ddd3deeac0a9936d01ac777
5
5
  SHA512:
6
- metadata.gz: 7d94a35061475ebff28fb7ed00ea52b12ff16b6fdf59831827f9099d8ece5f0125d5e43d2c8fd948b6e042b6a0be2e2fa2d58f1dadae9d50d239244e13d82e99
7
- data.tar.gz: 412f6788ed609248916086796f21dfcce5fccf9754ac98d883f13c0eaedc916a4e24ac5183b83e339aafdc6ce1ebf2ebefd3aa31c11d1e7b38236ba2915b1fdd
6
+ metadata.gz: f250f0d76cc07130935c499b16dd36bf193df2f188a1e8e4e18decc1c8cd48e21ac3357bfb042e76b44dc36252151e9bf5b6f06c0335de5891212d5f3758bc28
7
+ data.tar.gz: 80ed723b12f5755967e8ea57a504cdb6e2f325469c0afbd8de7408367062877cde6274d499aef11a58109812b0ea02486f567fac08c231b05991f8ff5ed28848
data/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  Shellplay Changelog
2
2
  =========================
3
3
 
4
+ v0.0.7 - 2014-08-13
5
+ -------------------
6
+ - fix exec of commandfs in shellplay
7
+ - implement a `p` command in play mode for switching to previous screen
8
+ - added management of bash escape char for colorization in output texts
9
+
10
+
4
11
  v0.0.6 - 2014-08-13
5
12
  --------------------
6
13
  - save json session in pretty format for manual intervention
data/README.md CHANGED
@@ -5,7 +5,7 @@ This is a CLI tool for recording and presenting step by step operations from the
5
5
 
6
6
  It can record a session and playback from it, so if internet fails in your conference room you are safe.
7
7
 
8
- **Note: this is a work inprogress, nothing there to be seen yet, except for reading code.**
8
+ **Note: this is a barely working, use at your own risk.**
9
9
 
10
10
  ## Installation
11
11
 
@@ -39,7 +39,8 @@ Then type enter to go next, or `?` to display list of available commands.
39
39
 
40
40
  ## Todo
41
41
 
42
- - handle the no-display entries
42
+ - <s>handle the no-display entries</s>
43
+ - write a shell colors parser of some sort because \e[1;33m sucks
43
44
  - add a function in player to edit a screen
44
45
  - when prototype is ready, switch to v0.1.0
45
46
  - test coverage
data/bin/shellplay CHANGED
@@ -17,6 +17,7 @@ continue = true
17
17
  @sleeptime = 1.0/48.0
18
18
  @lastelapsed = 0
19
19
  @playprompt = true
20
+ @sleeptime = (1.0/48.0)
20
21
 
21
22
  counter = 1
22
23
  def usage
@@ -70,8 +71,19 @@ def shownext
70
71
  end
71
72
  end
72
73
 
74
+ def showprevious
75
+ if @session.pointer > 0
76
+ @session.previous
77
+ @session.previous
78
+ display @session.current_screen
79
+ @session.next
80
+ else
81
+ puts "There is no previous screen."
82
+ end
83
+ end
84
+
73
85
  def show(index)
74
- if @session.show(index).stdin
86
+ if @session.show(index) && @session.show(index).stdin
75
87
  display @session.show(index)
76
88
  @session.next
77
89
  else
@@ -92,6 +104,8 @@ while continue do
92
104
  continue = false
93
105
  when /^(?:\?|h)$/
94
106
  usage
107
+ when /^p$/
108
+ showprevious
95
109
  when /^s$/
96
110
  @session.sequence.map { |c| c.stdin }.each_with_index do |l, i|
97
111
  printf(" s%-3s %s\n", i, l)
@@ -101,14 +115,18 @@ while continue do
101
115
  when ''
102
116
  shownext
103
117
  else
104
- Open3.popen3(command.strip) do |i, o, e, t|
105
- o.read.split("\n").each do |line|
106
- print line
107
- sleep sleeptime
108
- end
109
- e.read.split("\n").each do |line|
110
- print Paint[line, :red, :bold]
118
+ begin
119
+ Open3.popen3(command.strip) do |i, o, e, t|
120
+ o.read.split("\n").each do |line|
121
+ puts line
122
+ sleep @sleeptime
123
+ end
124
+ e.read.split("\n").each do |line|
125
+ puts Paint[line, :red, :bold]
126
+ end
111
127
  end
128
+ rescue Exception => e
129
+ puts Paint[e.message, :red, :bold]
112
130
  end
113
131
  end
114
132
  end
data/bin/shellrecord CHANGED
@@ -87,7 +87,7 @@ while continue do
87
87
  'clearscreen' => clearscreen,
88
88
  'customprompt' => customprompt,
89
89
  'stdin' => command,
90
- 'stdout' => out.chomp,
90
+ 'stdout' => out.gsub(/\\e/,27.chr).chomp,
91
91
  'stderr' => '',
92
92
  'timespent' => 0
93
93
  })
@@ -38,13 +38,17 @@ module Shellplay
38
38
 
39
39
  def drop_last_screen
40
40
  @sequence.pop
41
- @pointer -= 1
41
+ previous
42
42
  end
43
43
 
44
44
  def next
45
45
  @pointer += 1
46
46
  end
47
47
 
48
+ def previous
49
+ @pointer -= 1
50
+ end
51
+
48
52
  def show(index)
49
53
  @pointer = index.to_i
50
54
  current_screen
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shellplay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - mose
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-12 00:00:00.000000000 Z
11
+ date: 2014-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: paint