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.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -3
  3. data/README.md +5 -5
  4. data/bin/byebug-dap +25 -8
  5. data/lib/byebug/dap.rb +48 -18
  6. data/lib/byebug/dap/command.rb +250 -0
  7. data/lib/byebug/dap/command_processor.rb +50 -49
  8. data/lib/byebug/dap/commands/attach.rb +13 -0
  9. data/lib/byebug/dap/commands/breakpoint_locations.rb +28 -0
  10. data/lib/byebug/dap/commands/configuration_done.rb +12 -0
  11. data/lib/byebug/dap/commands/continue.rb +18 -0
  12. data/lib/byebug/dap/commands/disconnect.rb +16 -0
  13. data/lib/byebug/dap/commands/evaluate.rb +27 -0
  14. data/lib/byebug/dap/commands/exception_info.rb +40 -0
  15. data/lib/byebug/dap/commands/initialize.rb +27 -0
  16. data/lib/byebug/dap/commands/launch.rb +13 -0
  17. data/lib/byebug/dap/commands/next.rb +20 -0
  18. data/lib/byebug/dap/commands/pause.rb +20 -0
  19. data/lib/byebug/dap/commands/scopes.rb +56 -0
  20. data/lib/byebug/dap/commands/set_breakpoints.rb +48 -0
  21. data/lib/byebug/dap/commands/set_exception_breakpoints.rb +28 -0
  22. data/lib/byebug/dap/commands/set_function_breakpoints.rb +96 -0
  23. data/lib/byebug/dap/commands/source.rb +12 -0
  24. data/lib/byebug/dap/commands/stack_trace.rb +50 -0
  25. data/lib/byebug/dap/commands/step_in.rb +24 -0
  26. data/lib/byebug/dap/commands/step_out.rb +21 -0
  27. data/lib/byebug/dap/commands/threads.rb +20 -0
  28. data/lib/byebug/dap/commands/variables.rb +33 -0
  29. data/lib/byebug/dap/contextual_command.rb +30 -0
  30. data/lib/byebug/dap/helpers/captured_io.rb +65 -0
  31. data/lib/byebug/dap/helpers/captured_output.rb +21 -0
  32. data/lib/byebug/dap/{channel.rb → helpers/channel.rb} +0 -0
  33. data/lib/byebug/dap/{child_spawned_event_body.rb → helpers/child_spawned_event_body.rb} +0 -0
  34. data/lib/byebug/dap/{handles.rb → helpers/handles.rb} +0 -0
  35. data/lib/byebug/dap/{invalid_request_argument_error.rb → helpers/invalid_request_argument_error.rb} +0 -0
  36. data/lib/byebug/dap/helpers/safe_helpers.rb +17 -0
  37. data/lib/byebug/dap/helpers/scalar.rb +19 -0
  38. data/lib/byebug/dap/helpers/stdio.rb +21 -0
  39. data/lib/byebug/dap/helpers/value_helpers.rb +60 -0
  40. data/lib/byebug/dap/server.rb +52 -36
  41. data/lib/byebug/dap/session.rb +176 -0
  42. data/lib/byebug/gem.rb +11 -0
  43. metadata +38 -10
  44. data/lib/byebug/dap/controller.rb +0 -252
  45. data/lib/byebug/dap/interface.rb +0 -303
  46. 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