byebug-dap 0.1.2 → 0.1.3
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/CHANGELOG.md +14 -3
- data/README.md +5 -5
- data/bin/byebug-dap +25 -8
- data/lib/byebug/dap.rb +48 -18
- data/lib/byebug/dap/command.rb +250 -0
- data/lib/byebug/dap/command_processor.rb +50 -49
- data/lib/byebug/dap/commands/attach.rb +13 -0
- data/lib/byebug/dap/commands/breakpoint_locations.rb +28 -0
- data/lib/byebug/dap/commands/configuration_done.rb +12 -0
- data/lib/byebug/dap/commands/continue.rb +18 -0
- data/lib/byebug/dap/commands/disconnect.rb +16 -0
- data/lib/byebug/dap/commands/evaluate.rb +27 -0
- data/lib/byebug/dap/commands/exception_info.rb +40 -0
- data/lib/byebug/dap/commands/initialize.rb +27 -0
- data/lib/byebug/dap/commands/launch.rb +13 -0
- data/lib/byebug/dap/commands/next.rb +20 -0
- data/lib/byebug/dap/commands/pause.rb +20 -0
- data/lib/byebug/dap/commands/scopes.rb +56 -0
- data/lib/byebug/dap/commands/set_breakpoints.rb +48 -0
- data/lib/byebug/dap/commands/set_exception_breakpoints.rb +28 -0
- data/lib/byebug/dap/commands/set_function_breakpoints.rb +96 -0
- data/lib/byebug/dap/commands/source.rb +12 -0
- data/lib/byebug/dap/commands/stack_trace.rb +50 -0
- data/lib/byebug/dap/commands/step_in.rb +24 -0
- data/lib/byebug/dap/commands/step_out.rb +21 -0
- data/lib/byebug/dap/commands/threads.rb +20 -0
- data/lib/byebug/dap/commands/variables.rb +33 -0
- data/lib/byebug/dap/contextual_command.rb +30 -0
- data/lib/byebug/dap/helpers/captured_io.rb +65 -0
- data/lib/byebug/dap/helpers/captured_output.rb +21 -0
- data/lib/byebug/dap/{channel.rb → helpers/channel.rb} +0 -0
- data/lib/byebug/dap/{child_spawned_event_body.rb → helpers/child_spawned_event_body.rb} +0 -0
- data/lib/byebug/dap/{handles.rb → helpers/handles.rb} +0 -0
- data/lib/byebug/dap/{invalid_request_argument_error.rb → helpers/invalid_request_argument_error.rb} +0 -0
- data/lib/byebug/dap/helpers/safe_helpers.rb +17 -0
- data/lib/byebug/dap/helpers/scalar.rb +19 -0
- data/lib/byebug/dap/helpers/stdio.rb +21 -0
- data/lib/byebug/dap/helpers/value_helpers.rb +60 -0
- data/lib/byebug/dap/server.rb +52 -36
- data/lib/byebug/dap/session.rb +176 -0
- data/lib/byebug/gem.rb +11 -0
- metadata +38 -10
- data/lib/byebug/dap/controller.rb +0 -252
- data/lib/byebug/dap/interface.rb +0 -303
- data/lib/byebug/dap/safe_helpers.rb +0 -55
@@ -1,55 +0,0 @@
|
|
1
|
-
module Byebug
|
2
|
-
module DAP
|
3
|
-
module SafeHelpers
|
4
|
-
module Scalar
|
5
|
-
def ===(value)
|
6
|
-
case value
|
7
|
-
when nil, true, false
|
8
|
-
return true
|
9
|
-
when ::String, ::Symbol, ::Numeric
|
10
|
-
return true
|
11
|
-
when ::Time, ::Range
|
12
|
-
true
|
13
|
-
end
|
14
|
-
|
15
|
-
return true if defined?(::Date) && ::Date === value
|
16
|
-
return true if defined?(::DateTime) && ::DateTime === value
|
17
|
-
|
18
|
-
false
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def safe(target, method, *args, &block)
|
23
|
-
if target.respond_to?(method)
|
24
|
-
target.__send__(method, *args)
|
25
|
-
else
|
26
|
-
yield
|
27
|
-
end
|
28
|
-
rescue StandardError => e
|
29
|
-
STDERR.puts "\n! #{e.message} (#{e.class})", *e.backtrace if Debug.evaluate
|
30
|
-
block.parameters.empty? ? yield : yield(e)
|
31
|
-
end
|
32
|
-
|
33
|
-
def prepare_value(val)
|
34
|
-
str = safe(val, :inspect) { safe(val, :to_s) { return yield } }
|
35
|
-
cls = safe(val, :class) { nil }
|
36
|
-
typ = safe(cls, :name) { safe(cls, :to_s) { nil } }
|
37
|
-
|
38
|
-
scalar = safe(-> { Scalar === val }, :call) { true }
|
39
|
-
return str, typ, [], [] if scalar
|
40
|
-
|
41
|
-
named = safe(val, :instance_variables) { [] }
|
42
|
-
named += safe(val, :class_variables) { [] }
|
43
|
-
# named += safe(val, :constants) { [] }
|
44
|
-
|
45
|
-
indexed = safe(-> {
|
46
|
-
return (0...val.size).to_a if val.is_a?(Array)
|
47
|
-
return val.keys if val.respond_to?(:keys) && val.respond_to?(:[])
|
48
|
-
[]
|
49
|
-
}, :call) { [] }
|
50
|
-
|
51
|
-
return str, typ, named, indexed
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|