ruby_jard 0.1.0 → 0.3.0
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/.github/FUNDING.yml +3 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/workflows/documentation.yml +65 -0
- data/.github/workflows/rspec.yml +96 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +90 -2
- data/CHANGELOG.md +112 -0
- data/Gemfile +14 -4
- data/README.md +95 -3
- data/benchmark/path_filter_bench.rb +58 -0
- data/bin/console +1 -2
- data/lib/ruby_jard.rb +68 -32
- data/lib/ruby_jard/box_drawer.rb +175 -0
- data/lib/ruby_jard/color_scheme.rb +28 -0
- data/lib/ruby_jard/color_schemes.rb +54 -0
- data/lib/ruby_jard/color_schemes/256_color_scheme.rb +50 -0
- data/lib/ruby_jard/color_schemes/256_light_color_scheme.rb +50 -0
- data/lib/ruby_jard/color_schemes/deep_space_color_scheme.rb +49 -0
- data/lib/ruby_jard/color_schemes/gruvbox_color_scheme.rb +48 -0
- data/lib/ruby_jard/color_schemes/one_half_dark_color_scheme.rb +47 -0
- data/lib/ruby_jard/color_schemes/one_half_light_color_scheme.rb +49 -0
- data/lib/ruby_jard/column.rb +26 -0
- data/lib/ruby_jard/commands/color_helpers.rb +32 -0
- data/lib/ruby_jard/commands/continue_command.rb +4 -9
- data/lib/ruby_jard/commands/down_command.rb +9 -8
- data/lib/ruby_jard/commands/exit_command.rb +27 -0
- data/lib/ruby_jard/commands/frame_command.rb +13 -11
- data/lib/ruby_jard/commands/jard/color_scheme_command.rb +74 -0
- data/lib/ruby_jard/commands/jard/filter_command.rb +136 -0
- data/lib/ruby_jard/commands/jard/hide_command.rb +40 -0
- data/lib/ruby_jard/commands/jard/output_command.rb +36 -0
- data/lib/ruby_jard/commands/jard/show_command.rb +41 -0
- data/lib/ruby_jard/commands/jard_command.rb +52 -0
- data/lib/ruby_jard/commands/list_command.rb +31 -0
- data/lib/ruby_jard/commands/next_command.rb +11 -8
- data/lib/ruby_jard/commands/step_command.rb +11 -8
- data/lib/ruby_jard/commands/step_out_command.rb +34 -0
- data/lib/ruby_jard/commands/up_command.rb +10 -8
- data/lib/ruby_jard/commands/validation_helpers.rb +50 -0
- data/lib/ruby_jard/config.rb +61 -0
- data/lib/ruby_jard/console.rb +158 -0
- data/lib/ruby_jard/control_flow.rb +73 -0
- data/lib/ruby_jard/decorators/array_decorator.rb +79 -0
- data/lib/ruby_jard/decorators/attributes_decorator.rb +172 -0
- data/lib/ruby_jard/decorators/color_decorator.rb +80 -0
- data/lib/ruby_jard/decorators/hash_decorator.rb +74 -0
- data/lib/ruby_jard/decorators/inspection_decorator.rb +109 -0
- data/lib/ruby_jard/decorators/loc_decorator.rb +108 -119
- data/lib/ruby_jard/decorators/object_decorator.rb +122 -0
- data/lib/ruby_jard/decorators/path_decorator.rb +56 -60
- data/lib/ruby_jard/decorators/rails_decorator.rb +194 -0
- data/lib/ruby_jard/decorators/source_decorator.rb +3 -1
- data/lib/ruby_jard/decorators/string_decorator.rb +41 -0
- data/lib/ruby_jard/decorators/struct_decorator.rb +79 -0
- data/lib/ruby_jard/frame.rb +68 -0
- data/lib/ruby_jard/key_binding.rb +14 -0
- data/lib/ruby_jard/key_bindings.rb +96 -0
- data/lib/ruby_jard/keys.rb +48 -0
- data/lib/ruby_jard/layout.rb +17 -88
- data/lib/ruby_jard/layout_calculator.rb +168 -0
- data/lib/ruby_jard/layout_picker.rb +34 -0
- data/lib/ruby_jard/layouts.rb +52 -0
- data/lib/ruby_jard/layouts/narrow_horizontal_layout.rb +32 -0
- data/lib/ruby_jard/layouts/narrow_vertical_layout.rb +32 -0
- data/lib/ruby_jard/layouts/tiny_layout.rb +29 -0
- data/lib/ruby_jard/layouts/wide_layout.rb +50 -0
- data/lib/ruby_jard/pager.rb +112 -0
- data/lib/ruby_jard/path_classifier.rb +133 -0
- data/lib/ruby_jard/path_filter.rb +125 -0
- data/lib/ruby_jard/reflection.rb +97 -0
- data/lib/ruby_jard/repl_processor.rb +151 -89
- data/lib/ruby_jard/repl_proxy.rb +337 -0
- data/lib/ruby_jard/row.rb +31 -0
- data/lib/ruby_jard/row_renderer.rb +119 -0
- data/lib/ruby_jard/screen.rb +14 -41
- data/lib/ruby_jard/screen_adjuster.rb +104 -0
- data/lib/ruby_jard/screen_drawer.rb +25 -0
- data/lib/ruby_jard/screen_manager.rb +167 -82
- data/lib/ruby_jard/screen_renderer.rb +152 -0
- data/lib/ruby_jard/screens.rb +31 -12
- data/lib/ruby_jard/screens/backtrace_screen.rb +118 -116
- data/lib/ruby_jard/screens/menu_screen.rb +73 -45
- data/lib/ruby_jard/screens/source_screen.rb +86 -106
- data/lib/ruby_jard/screens/threads_screen.rb +103 -78
- data/lib/ruby_jard/screens/variables_screen.rb +224 -142
- data/lib/ruby_jard/session.rb +151 -16
- data/lib/ruby_jard/span.rb +23 -0
- data/lib/ruby_jard/templates/layout_template.rb +35 -0
- data/lib/ruby_jard/templates/screen_template.rb +34 -0
- data/lib/ruby_jard/thread_info.rb +69 -0
- data/lib/ruby_jard/version.rb +1 -1
- data/ruby_jard.gemspec +7 -8
- metadata +84 -50
- data/.travis.yml +0 -6
- data/lib/ruby_jard/commands/finish_command.rb +0 -31
- data/lib/ruby_jard/decorators/text_decorator.rb +0 -61
- data/lib/ruby_jard/layout_template.rb +0 -101
- data/lib/ruby_jard/screens/breakpoints_screen.rb +0 -23
- data/lib/ruby_jard/screens/empty_screen.rb +0 -13
- data/lib/ruby_jard/screens/expressions_sreen.rb +0 -22
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyJard
|
4
|
+
##
|
5
|
+
# Smallest unit of texts. A span includes content, margin, and styles of a particular
|
6
|
+
# text chunk. All decorators and presenters return single/a list of spans.
|
7
|
+
class Span
|
8
|
+
extend Forwardable
|
9
|
+
|
10
|
+
attr_accessor :content, :content_length, :styles
|
11
|
+
|
12
|
+
def initialize(content: '', content_length: nil, margin_left: 0, margin_right: 0, styles: [])
|
13
|
+
if !content.nil? && !content.empty?
|
14
|
+
content = ' ' * margin_left + content if margin_left > 0
|
15
|
+
content += ' ' * margin_right if margin_right > 0
|
16
|
+
end
|
17
|
+
|
18
|
+
@content = content.to_s
|
19
|
+
@content_length = content_length || @content.length
|
20
|
+
@styles = styles
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyJard
|
4
|
+
module Templates
|
5
|
+
##
|
6
|
+
# Template of a layout. Templates are hierarchy. Each template includes the
|
7
|
+
# sizing configuration, including absolute values, min, max, or ratio
|
8
|
+
# relative to its parant.
|
9
|
+
class LayoutTemplate
|
10
|
+
attr_reader :height_ratio, :width_ratio,
|
11
|
+
:min_width, :min_height,
|
12
|
+
:height, :width,
|
13
|
+
:children,
|
14
|
+
:fill_width, :fill_height
|
15
|
+
|
16
|
+
def initialize(
|
17
|
+
height_ratio: nil, width_ratio: nil,
|
18
|
+
min_width: nil, min_height: nil,
|
19
|
+
height: nil, width: nil,
|
20
|
+
children: [],
|
21
|
+
fill_width: true, fill_height: true
|
22
|
+
)
|
23
|
+
@height_ratio = height_ratio
|
24
|
+
@width_ratio = width_ratio
|
25
|
+
@min_width = min_width
|
26
|
+
@min_height = min_height
|
27
|
+
@height = height
|
28
|
+
@width = width
|
29
|
+
@children = children
|
30
|
+
@fill_width = fill_width
|
31
|
+
@fill_height = fill_height
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyJard
|
4
|
+
module Templates
|
5
|
+
##
|
6
|
+
# Template of a screen. A screen doesn't have children. Each screen includes screen name, sizes androw template for
|
7
|
+
# rendering.
|
8
|
+
class ScreenTemplate
|
9
|
+
attr_reader :screen, :row_template, :height_ratio, :width_ratio,
|
10
|
+
:min_width, :min_height,
|
11
|
+
:height, :width,
|
12
|
+
:adjust_mode
|
13
|
+
|
14
|
+
def initialize(
|
15
|
+
screen: nil,
|
16
|
+
row_template: nil,
|
17
|
+
height_ratio: nil, width_ratio: nil,
|
18
|
+
min_width: nil, min_height: nil,
|
19
|
+
height: nil, width: nil,
|
20
|
+
adjust_mode: nil
|
21
|
+
)
|
22
|
+
@screen = screen
|
23
|
+
@row_template = row_template
|
24
|
+
@height_ratio = height_ratio
|
25
|
+
@width_ratio = width_ratio
|
26
|
+
@min_width = min_width
|
27
|
+
@min_height = min_height
|
28
|
+
@height = height
|
29
|
+
@width = width
|
30
|
+
@adjust_mode = adjust_mode
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyJard
|
4
|
+
##
|
5
|
+
# A wrapper for thread object to prevent direc access to thread data
|
6
|
+
class ThreadInfo
|
7
|
+
class << self
|
8
|
+
def labels
|
9
|
+
@labels ||= {}
|
10
|
+
end
|
11
|
+
|
12
|
+
def clear_labels
|
13
|
+
@labels = {}
|
14
|
+
@next_label = 0
|
15
|
+
end
|
16
|
+
|
17
|
+
def next_label
|
18
|
+
@next_label ||= 0
|
19
|
+
@next_label += 1
|
20
|
+
end
|
21
|
+
|
22
|
+
def generate_label_for(id)
|
23
|
+
return '' if id.nil?
|
24
|
+
return labels[id] if labels[id]
|
25
|
+
|
26
|
+
labels[id] = next_label.to_s
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
attr_reader :id, :label
|
31
|
+
|
32
|
+
def initialize(thread)
|
33
|
+
raise RubyJard::Error, 'Expected Thread object or nil' if !thread.is_a?(::Thread) && !thread.nil?
|
34
|
+
|
35
|
+
@thread = thread
|
36
|
+
@id = thread&.object_id
|
37
|
+
@label = self.class.generate_label_for(@id)
|
38
|
+
end
|
39
|
+
|
40
|
+
def name
|
41
|
+
@thread&.name
|
42
|
+
end
|
43
|
+
|
44
|
+
def status
|
45
|
+
s = @thread&.status
|
46
|
+
s == false ? 'exited' : s
|
47
|
+
end
|
48
|
+
|
49
|
+
def alive?
|
50
|
+
@thread&.alive? || false
|
51
|
+
end
|
52
|
+
|
53
|
+
def backtrace_locations
|
54
|
+
@thread&.backtrace_locations || []
|
55
|
+
end
|
56
|
+
|
57
|
+
# rubocop:disable Style/CaseLikeIf
|
58
|
+
def ==(other)
|
59
|
+
if other.is_a?(::Thread)
|
60
|
+
@thread == other
|
61
|
+
elsif other.is_a?(ThreadInfo)
|
62
|
+
@id == other.id
|
63
|
+
else
|
64
|
+
raise RubyJard::Error, 'Invalid comparation'
|
65
|
+
end
|
66
|
+
end
|
67
|
+
# rubocop:enable Style/CaseLikeIf
|
68
|
+
end
|
69
|
+
end
|
data/lib/ruby_jard/version.rb
CHANGED
data/ruby_jard.gemspec
CHANGED
@@ -24,16 +24,15 @@ Gem::Specification.new do |spec|
|
|
24
24
|
# Specify which files should be added to the gem when it is released.
|
25
25
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
26
26
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
27
|
-
`git ls-files -z`.split("\x0").reject
|
27
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
28
|
+
f.match(%r{^(test|spec|features|docs|javascripts|images|stylesheets|website)/})
|
29
|
+
end
|
28
30
|
end
|
29
31
|
spec.bindir = 'bin'
|
30
|
-
spec.executables =
|
32
|
+
spec.executables = []
|
31
33
|
spec.require_paths = ['lib']
|
32
34
|
|
33
|
-
spec.add_runtime_dependency '
|
34
|
-
spec.add_runtime_dependency '
|
35
|
-
spec.add_runtime_dependency 'tty-screen', '
|
36
|
-
|
37
|
-
spec.add_runtime_dependency 'byebug', '>= 11.1.0'
|
38
|
-
spec.add_runtime_dependency 'pry', '>= 0.13.0'
|
35
|
+
spec.add_runtime_dependency 'byebug', '>= 9.1', '< 12.0'
|
36
|
+
spec.add_runtime_dependency 'pry', '~> 0.13.0'
|
37
|
+
spec.add_runtime_dependency 'tty-screen', '~> 0.8.1'
|
39
38
|
end
|
metadata
CHANGED
@@ -1,133 +1,167 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_jard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Minh Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: byebug
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
19
|
+
version: '9.1'
|
20
|
+
- - "<"
|
25
21
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: tty-cursor
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 0.7.1
|
22
|
+
version: '12.0'
|
34
23
|
type: :runtime
|
35
24
|
prerelease: false
|
36
25
|
version_requirements: !ruby/object:Gem::Requirement
|
37
26
|
requirements:
|
38
27
|
- - ">="
|
39
28
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
41
|
-
-
|
42
|
-
name: tty-screen
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 0.8.0
|
48
|
-
type: :runtime
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
29
|
+
version: '9.1'
|
30
|
+
- - "<"
|
53
31
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
32
|
+
version: '12.0'
|
55
33
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
34
|
+
name: pry
|
57
35
|
requirement: !ruby/object:Gem::Requirement
|
58
36
|
requirements:
|
59
|
-
- - "
|
37
|
+
- - "~>"
|
60
38
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
39
|
+
version: 0.13.0
|
62
40
|
type: :runtime
|
63
41
|
prerelease: false
|
64
42
|
version_requirements: !ruby/object:Gem::Requirement
|
65
43
|
requirements:
|
66
|
-
- - "
|
44
|
+
- - "~>"
|
67
45
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
46
|
+
version: 0.13.0
|
69
47
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
48
|
+
name: tty-screen
|
71
49
|
requirement: !ruby/object:Gem::Requirement
|
72
50
|
requirements:
|
73
|
-
- - "
|
51
|
+
- - "~>"
|
74
52
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
53
|
+
version: 0.8.1
|
76
54
|
type: :runtime
|
77
55
|
prerelease: false
|
78
56
|
version_requirements: !ruby/object:Gem::Requirement
|
79
57
|
requirements:
|
80
|
-
- - "
|
58
|
+
- - "~>"
|
81
59
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
60
|
+
version: 0.8.1
|
83
61
|
description: |-
|
84
62
|
Ruby Jard provides an unified experience debugging Ruby source code in different platforms and \
|
85
63
|
editors.
|
86
64
|
email:
|
87
65
|
- nguyenquangminh0711@gmail.com
|
88
|
-
executables:
|
89
|
-
- console
|
66
|
+
executables: []
|
90
67
|
extensions: []
|
91
68
|
extra_rdoc_files: []
|
92
69
|
files:
|
70
|
+
- ".github/FUNDING.yml"
|
71
|
+
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
72
|
+
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
73
|
+
- ".github/workflows/documentation.yml"
|
74
|
+
- ".github/workflows/rspec.yml"
|
93
75
|
- ".gitignore"
|
94
76
|
- ".rspec"
|
95
77
|
- ".rubocop.yml"
|
96
|
-
- ".travis.yml"
|
97
78
|
- CHANGELOG.md
|
98
79
|
- CODE_OF_CONDUCT.md
|
99
80
|
- Gemfile
|
100
81
|
- LICENSE.txt
|
101
82
|
- README.md
|
102
83
|
- Rakefile
|
84
|
+
- benchmark/path_filter_bench.rb
|
103
85
|
- bin/console
|
104
86
|
- lib/ruby_jard.rb
|
87
|
+
- lib/ruby_jard/box_drawer.rb
|
88
|
+
- lib/ruby_jard/color_scheme.rb
|
89
|
+
- lib/ruby_jard/color_schemes.rb
|
90
|
+
- lib/ruby_jard/color_schemes/256_color_scheme.rb
|
91
|
+
- lib/ruby_jard/color_schemes/256_light_color_scheme.rb
|
92
|
+
- lib/ruby_jard/color_schemes/deep_space_color_scheme.rb
|
93
|
+
- lib/ruby_jard/color_schemes/gruvbox_color_scheme.rb
|
94
|
+
- lib/ruby_jard/color_schemes/one_half_dark_color_scheme.rb
|
95
|
+
- lib/ruby_jard/color_schemes/one_half_light_color_scheme.rb
|
96
|
+
- lib/ruby_jard/column.rb
|
97
|
+
- lib/ruby_jard/commands/color_helpers.rb
|
105
98
|
- lib/ruby_jard/commands/continue_command.rb
|
106
99
|
- lib/ruby_jard/commands/down_command.rb
|
107
|
-
- lib/ruby_jard/commands/
|
100
|
+
- lib/ruby_jard/commands/exit_command.rb
|
108
101
|
- lib/ruby_jard/commands/frame_command.rb
|
102
|
+
- lib/ruby_jard/commands/jard/color_scheme_command.rb
|
103
|
+
- lib/ruby_jard/commands/jard/filter_command.rb
|
104
|
+
- lib/ruby_jard/commands/jard/hide_command.rb
|
105
|
+
- lib/ruby_jard/commands/jard/output_command.rb
|
106
|
+
- lib/ruby_jard/commands/jard/show_command.rb
|
107
|
+
- lib/ruby_jard/commands/jard_command.rb
|
108
|
+
- lib/ruby_jard/commands/list_command.rb
|
109
109
|
- lib/ruby_jard/commands/next_command.rb
|
110
110
|
- lib/ruby_jard/commands/step_command.rb
|
111
|
+
- lib/ruby_jard/commands/step_out_command.rb
|
111
112
|
- lib/ruby_jard/commands/up_command.rb
|
113
|
+
- lib/ruby_jard/commands/validation_helpers.rb
|
114
|
+
- lib/ruby_jard/config.rb
|
115
|
+
- lib/ruby_jard/console.rb
|
116
|
+
- lib/ruby_jard/control_flow.rb
|
117
|
+
- lib/ruby_jard/decorators/array_decorator.rb
|
118
|
+
- lib/ruby_jard/decorators/attributes_decorator.rb
|
119
|
+
- lib/ruby_jard/decorators/color_decorator.rb
|
120
|
+
- lib/ruby_jard/decorators/hash_decorator.rb
|
121
|
+
- lib/ruby_jard/decorators/inspection_decorator.rb
|
112
122
|
- lib/ruby_jard/decorators/loc_decorator.rb
|
123
|
+
- lib/ruby_jard/decorators/object_decorator.rb
|
113
124
|
- lib/ruby_jard/decorators/path_decorator.rb
|
125
|
+
- lib/ruby_jard/decorators/rails_decorator.rb
|
114
126
|
- lib/ruby_jard/decorators/source_decorator.rb
|
115
|
-
- lib/ruby_jard/decorators/
|
127
|
+
- lib/ruby_jard/decorators/string_decorator.rb
|
128
|
+
- lib/ruby_jard/decorators/struct_decorator.rb
|
129
|
+
- lib/ruby_jard/frame.rb
|
130
|
+
- lib/ruby_jard/key_binding.rb
|
131
|
+
- lib/ruby_jard/key_bindings.rb
|
132
|
+
- lib/ruby_jard/keys.rb
|
116
133
|
- lib/ruby_jard/layout.rb
|
117
|
-
- lib/ruby_jard/
|
134
|
+
- lib/ruby_jard/layout_calculator.rb
|
135
|
+
- lib/ruby_jard/layout_picker.rb
|
136
|
+
- lib/ruby_jard/layouts.rb
|
137
|
+
- lib/ruby_jard/layouts/narrow_horizontal_layout.rb
|
138
|
+
- lib/ruby_jard/layouts/narrow_vertical_layout.rb
|
139
|
+
- lib/ruby_jard/layouts/tiny_layout.rb
|
140
|
+
- lib/ruby_jard/layouts/wide_layout.rb
|
141
|
+
- lib/ruby_jard/pager.rb
|
142
|
+
- lib/ruby_jard/path_classifier.rb
|
143
|
+
- lib/ruby_jard/path_filter.rb
|
144
|
+
- lib/ruby_jard/reflection.rb
|
118
145
|
- lib/ruby_jard/repl_processor.rb
|
146
|
+
- lib/ruby_jard/repl_proxy.rb
|
147
|
+
- lib/ruby_jard/row.rb
|
148
|
+
- lib/ruby_jard/row_renderer.rb
|
119
149
|
- lib/ruby_jard/screen.rb
|
150
|
+
- lib/ruby_jard/screen_adjuster.rb
|
151
|
+
- lib/ruby_jard/screen_drawer.rb
|
120
152
|
- lib/ruby_jard/screen_manager.rb
|
153
|
+
- lib/ruby_jard/screen_renderer.rb
|
121
154
|
- lib/ruby_jard/screens.rb
|
122
155
|
- lib/ruby_jard/screens/backtrace_screen.rb
|
123
|
-
- lib/ruby_jard/screens/breakpoints_screen.rb
|
124
|
-
- lib/ruby_jard/screens/empty_screen.rb
|
125
|
-
- lib/ruby_jard/screens/expressions_sreen.rb
|
126
156
|
- lib/ruby_jard/screens/menu_screen.rb
|
127
157
|
- lib/ruby_jard/screens/source_screen.rb
|
128
158
|
- lib/ruby_jard/screens/threads_screen.rb
|
129
159
|
- lib/ruby_jard/screens/variables_screen.rb
|
130
160
|
- lib/ruby_jard/session.rb
|
161
|
+
- lib/ruby_jard/span.rb
|
162
|
+
- lib/ruby_jard/templates/layout_template.rb
|
163
|
+
- lib/ruby_jard/templates/screen_template.rb
|
164
|
+
- lib/ruby_jard/thread_info.rb
|
131
165
|
- lib/ruby_jard/version.rb
|
132
166
|
- ruby_jard.gemspec
|
133
167
|
homepage: https://github.com/nguyenquangminh0711/ruby_jard
|
data/.travis.yml
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyJard
|
4
|
-
module Commands
|
5
|
-
# Command used to finish up the current frame.
|
6
|
-
# Data attached in the throw:
|
7
|
-
# * command: constant symbol (:finish)
|
8
|
-
# * pry: current context pry instance
|
9
|
-
class FinishCommand < Pry::ClassCommand
|
10
|
-
group 'RubyJard'
|
11
|
-
description 'Finish the execution of the current frame.'
|
12
|
-
|
13
|
-
match 'finish'
|
14
|
-
|
15
|
-
banner <<-BANNER
|
16
|
-
Usage: finish
|
17
|
-
|
18
|
-
Finish the execution of the current frame.
|
19
|
-
|
20
|
-
Examples:
|
21
|
-
finish
|
22
|
-
BANNER
|
23
|
-
|
24
|
-
def process
|
25
|
-
throw :control_flow, command: :finish, pry: pry_instance
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
Pry::Commands.add_command(RubyJard::Commands::FinishCommand)
|