ruby-debug-ide 0.7.0.beta4 → 0.7.0.beta6
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/Gemfile +1 -1
- data/bin/rdebug-ide +6 -1
- data/lib/ruby-debug-ide.rb +2 -1
- data/lib/ruby-debug-ide/version.rb +1 -1
- data/lib/ruby-debug-ide/xml_printer.rb +28 -6
- 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: 255f62070c2ea02e2d2e1e973e1b4a688ad5acb5
|
4
|
+
data.tar.gz: bda6489b589198e82ef8c76500d20c98546094cc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcd0da624f59ba503601743f9a7809e0548ce2eab7c14cb2a80ca60cb4ca41744787eae61aea2069e4f397ffdd6c48386061fd03bb154fcc5bac91444f1ed590
|
7
|
+
data.tar.gz: 060d148ae4a201d233a1c0da8e770e67416626de67225ec48a2a03d4742a351b761d5b6a9c9db215703a9d966d6cb8088ae39b5ee858051ba9bf79a0659ba6bf
|
data/Gemfile
CHANGED
@@ -13,7 +13,7 @@ end
|
|
13
13
|
gem "ruby-debug-base", :platforms => [:jruby, *mries('18')]
|
14
14
|
gem "ruby-debug-base19x", ">= 0.11.32", :platforms => mries('19')
|
15
15
|
if RUBY_VERSION && RUBY_VERSION >= "2.0"
|
16
|
-
gem "debase", "~> 0.2.2", :platforms => mries('20', '21', '22', '23', '24', '25')
|
16
|
+
gem "debase", "~> 0.2", ">= 0.2.2", :platforms => mries('20', '21', '22', '23', '24', '25')
|
17
17
|
end
|
18
18
|
|
19
19
|
gemspec
|
data/bin/rdebug-ide
CHANGED
@@ -27,7 +27,8 @@ options = OpenStruct.new(
|
|
27
27
|
'catchpoint_deleted_event' => false,
|
28
28
|
'value_as_nested_element' => false,
|
29
29
|
'attach_mode' => false,
|
30
|
-
'cli_debug' => false
|
30
|
+
'cli_debug' => false,
|
31
|
+
'key_value_mode' => false
|
31
32
|
)
|
32
33
|
|
33
34
|
opts = OptionParser.new do |opts|
|
@@ -80,6 +81,9 @@ EOB
|
|
80
81
|
opts.on("--attach-mode", "Tells that rdebug-ide is working in attach mode") do
|
81
82
|
options.attach_mode = true
|
82
83
|
end
|
84
|
+
opts.on("--key-value", "Key/Value presentation of hash items") do
|
85
|
+
options.key_value_mode = true
|
86
|
+
end
|
83
87
|
opts.on("--ignore-port", "Generate another port") do
|
84
88
|
options.ignore_port = true
|
85
89
|
end
|
@@ -166,6 +170,7 @@ Debugger.debugger_memory_limit = options.debugger_memory_limit
|
|
166
170
|
Debugger.inspect_time_limit = options.inspect_time_limit
|
167
171
|
Debugger.catchpoint_deleted_event = options.catchpoint_deleted_event || options.rm_protocol_extensions
|
168
172
|
Debugger.value_as_nested_element = options.value_as_nested_element || options.rm_protocol_extensions
|
173
|
+
Debugger.key_value_mode = options.key_value_mode
|
169
174
|
|
170
175
|
if options.attach_mode
|
171
176
|
if Debugger::FRONT_END == "debase"
|
data/lib/ruby-debug-ide.rb
CHANGED
@@ -51,6 +51,7 @@ module Debugger
|
|
51
51
|
end
|
52
52
|
|
53
53
|
attr_accessor :attached
|
54
|
+
attr_accessor :key_value_mode
|
54
55
|
attr_accessor :cli_debug, :xml_debug, :evaluation_timeout
|
55
56
|
attr_accessor :trace_to_s, :debugger_memory_limit, :inspect_time_limit
|
56
57
|
attr_accessor :control_thread
|
@@ -119,7 +120,7 @@ module Debugger
|
|
119
120
|
# "localhost" and nil have problems on some systems.
|
120
121
|
host ||= '127.0.0.1'
|
121
122
|
|
122
|
-
server = notify_dispatcher_if_needed(host, port, notify_dispatcher) do |real_port, port_changed
|
123
|
+
server = notify_dispatcher_if_needed(host, port, notify_dispatcher) do |real_port, port_changed|
|
123
124
|
s = TCPServer.new(host, real_port)
|
124
125
|
print_greeting_msg $stderr, host, real_port, port_changed ? "Subprocess" : "Fast" if defined? IDE_VERSION
|
125
126
|
s
|
@@ -144,19 +144,36 @@ module Debugger
|
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
|
-
def
|
147
|
+
def do_print_hash_key_value(hash)
|
148
|
+
print_element("variables", {:type => 'hashItem'}) do
|
149
|
+
hash.each {|(k, v)|
|
150
|
+
print_variable('key', k, 'instance')
|
151
|
+
print_variable('value', v, 'instance')
|
152
|
+
}
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
def do_print_hash(hash)
|
148
157
|
print_element("variables") do
|
149
|
-
hash.
|
158
|
+
hash.each {|(k, v)|
|
150
159
|
if k.class.name == "String"
|
151
160
|
name = '\'' + k + '\''
|
152
161
|
else
|
153
162
|
name = exec_with_allocation_control(k, :to_s, OverflowMessageType::EXCEPTION_MESSAGE)
|
154
163
|
end
|
155
|
-
print_variable(name,
|
164
|
+
print_variable(name, v, 'instance')
|
156
165
|
}
|
157
166
|
end
|
158
167
|
end
|
159
168
|
|
169
|
+
def print_hash(hash)
|
170
|
+
if Debugger.key_value_mode
|
171
|
+
do_print_hash_key_value(hash)
|
172
|
+
else
|
173
|
+
do_print_hash(hash)
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
160
177
|
def print_string(string)
|
161
178
|
print_element("variables") do
|
162
179
|
if string.respond_to?('bytes')
|
@@ -243,6 +260,7 @@ module Debugger
|
|
243
260
|
|
244
261
|
def print_variable(name, value, kind)
|
245
262
|
name = name.to_s
|
263
|
+
|
246
264
|
if value.nil?
|
247
265
|
print("<variable name=\"%s\" kind=\"%s\"/>", CGI.escapeHTML(name), kind)
|
248
266
|
return
|
@@ -280,6 +298,7 @@ module Debugger
|
|
280
298
|
CGI.escapeHTML(name), build_compact_value_attr(value, value_str), kind,
|
281
299
|
build_value_attr(escaped_value_str), value.class,
|
282
300
|
has_children, value.object_id)
|
301
|
+
|
283
302
|
print("<value><![CDATA[%s]]></value>", escaped_value_str) if Debugger.value_as_nested_element
|
284
303
|
print('</variable>')
|
285
304
|
rescue StandardError => e
|
@@ -439,10 +458,13 @@ module Debugger
|
|
439
458
|
end
|
440
459
|
end
|
441
460
|
|
442
|
-
def print_element(name)
|
443
|
-
|
461
|
+
def print_element(name, additional_tags = nil)
|
462
|
+
additional_tags_presentation = additional_tags.nil? ? ''
|
463
|
+
: additional_tags.map {|tag, value| " #{tag}=\"#{value}\""}.reduce(:+)
|
464
|
+
|
465
|
+
print("<#{name}#{additional_tags_presentation}>")
|
444
466
|
begin
|
445
|
-
yield
|
467
|
+
yield if block_given?
|
446
468
|
ensure
|
447
469
|
print("</#{name}>")
|
448
470
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-debug-ide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.0.
|
4
|
+
version: 0.7.0.beta6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Markus Barchfeld, Martin Krauskopf, Mark Moseley, JetBrains RubyMine Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|