ruby-dap 0.1.1 → 0.1.2

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
  SHA256:
3
- metadata.gz: 68c843969c7c0f9e2792f38c244de4c832ef974878784fd08875a9a594fde536
4
- data.tar.gz: 5beafd8c66698cf20b7c47658ccf01b6244080020d83423c1c653865e67e60f3
3
+ metadata.gz: 161f235e05d3ede1272cc3b6e4a7a01bb09fefe3c3679ee51a62dd770c0fedd8
4
+ data.tar.gz: bdc5e6e97b4266cae5d9e0f4e84f279a9d06e869f843c1f05bcbe601dfd6b161
5
5
  SHA512:
6
- metadata.gz: 53b88f4a5564c551ec1eb398ea392353d50e1220f904403f6fb6dff55174981873b9b290ce6a0c2bf31da0581235059fa5cf73f0114b32376f72008575bed13f
7
- data.tar.gz: f82ff5292f6fc4246ceee4f81bbe7a5f11d6fecaccfe343b9cd547297b4829a1fd6d6899db16c8e833db35c9b29ebdc0088b9be6c03b8ec26bfb1e54332aefda
6
+ metadata.gz: 10995fbe87a5038f28cd32d6432030e12b7b080dca7b95511691bcb06c7d61dd6efe83b45f61c3e9a8a41ca5ce4bdb06d558c121d0bc2d481ae5406ede86c540
7
+ data.tar.gz: 72f2ce41850f1980a7388342e9cd1e827a74faf8ccc7b638da676ea8bafec3152658838bc207a411352a2243abd72ae12941e7aec552d0e98878ceb878d26bed
@@ -0,0 +1,13 @@
1
+ # Change Log
2
+
3
+ ## 0.1.2
4
+
5
+ - Support for custom events, requests, and responses
6
+
7
+ ## 0.1.1
8
+
9
+ - More documentation
10
+
11
+ ## 0.1.0
12
+
13
+ - Initial release
@@ -19,24 +19,27 @@ class DAP::Event < DAP::ProtocolMessage
19
19
  'event'
20
20
  end
21
21
 
22
- property :event
22
+ def self.bodies
23
+ @bodies ||= one_of(
24
+ initialized: empty,
25
+ stopped: DAP::StoppedEventBody,
26
+ continued: DAP::ContinuedEventBody,
27
+ exited: DAP::ExitedEventBody,
28
+ terminated: DAP::TerminatedEventBody,
29
+ thread: DAP::ThreadEventBody,
30
+ output: DAP::OutputEventBody,
31
+ breakpoint: DAP::BreakpointEventBody,
32
+ module: DAP::ModuleEventBody,
33
+ loadedSource: DAP::LoadedSourceEventBody,
34
+ process: DAP::ProcessEventBody,
35
+ capabilities: DAP::CapabilitiesEventBody,
36
+ progressStart: DAP::ProgressStartEventBody,
37
+ progressUpdate: DAP::ProgressUpdateEventBody,
38
+ progressEnd: DAP::ProgressEndEventBody,
39
+ invalidated: DAP::InvalidatedEventBody,
40
+ )
41
+ end
23
42
 
24
- property :body, as: one_of(
25
- initialized: empty,
26
- stopped: DAP::StoppedEventBody,
27
- continued: DAP::ContinuedEventBody,
28
- exited: DAP::ExitedEventBody,
29
- terminated: DAP::TerminatedEventBody,
30
- thread: DAP::ThreadEventBody,
31
- output: DAP::OutputEventBody,
32
- breakpoint: DAP::BreakpointEventBody,
33
- module: DAP::ModuleEventBody,
34
- loadedSource: DAP::LoadedSourceEventBody,
35
- process: DAP::ProcessEventBody,
36
- capabilities: DAP::CapabilitiesEventBody,
37
- progressStart: DAP::ProgressStartEventBody,
38
- progressUpdate: DAP::ProgressUpdateEventBody,
39
- progressEnd: DAP::ProgressEndEventBody,
40
- invalidated: DAP::InvalidatedEventBody,
41
- ).with(:event)
43
+ property :event
44
+ property :body, as: bodies.with(:event)
42
45
  end
@@ -21,8 +21,13 @@ module DAP::Relation
21
21
  end
22
22
 
23
23
  def with(key)
24
- @key = key
25
- self
24
+ o = dup
25
+ o.instance_eval { @key = key }
26
+ o
27
+ end
28
+
29
+ def []=(k, v)
30
+ @types[k] = v
26
31
  end
27
32
  end
28
33
  end
@@ -42,50 +42,53 @@ class DAP::Request < DAP::ProtocolMessage
42
42
  'request'
43
43
  end
44
44
 
45
- property :command
45
+ def self.arguments
46
+ @arguments ||= one_of(
47
+ cancel: DAP::CancelArguments,
48
+ runInTerminal: DAP::RunInTerminalRequestArguments,
49
+ initialize: DAP::InitializeRequestArguments,
50
+ configurationDone: empty,
51
+ launch: DAP::LaunchRequestArguments,
52
+ attach: DAP::AttachRequestArguments,
53
+ restart: empty,
54
+ disconnect: DAP::DisconnectArguments,
55
+ terminate: DAP::TerminateArguments,
56
+ breakpointLocations: DAP::BreakpointLocationsArguments,
57
+ setBreakpoints: DAP::SetBreakpointsArguments,
58
+ setFunctionBreakpoints: DAP::SetFunctionBreakpointsArguments,
59
+ setExceptionBreakpoints: DAP::SetExceptionBreakpointsArguments,
60
+ dataBreakpointInfo: DAP::DataBreakpointInfoArguments,
61
+ setDataBreakpoints: DAP::SetDataBreakpointsArguments,
62
+ setInstructionBreakpoints: DAP::SetInstructionBreakpointsArguments,
63
+ continue: DAP::ContinueArguments,
64
+ next: DAP::NextArguments,
65
+ stepIn: DAP::StepInArguments,
66
+ stepOut: DAP::StepOutArguments,
67
+ stepBack: DAP::StepBackArguments,
68
+ reverseContinue: DAP::ReverseContinueArguments,
69
+ restartFrame: DAP::RestartFrameArguments,
70
+ goto: DAP::GotoArguments,
71
+ pause: DAP::PauseArguments,
72
+ stackTrace: DAP::StackTraceArguments,
73
+ scopes: DAP::ScopesArguments,
74
+ variables: DAP::VariablesArguments,
75
+ setVariable: DAP::SetVariableArguments,
76
+ source: DAP::SourceArguments,
77
+ threads: empty,
78
+ terminateThreads: DAP::TerminateThreadsArguments,
79
+ modules: DAP::ModulesArguments,
80
+ loadedSources: empty,
81
+ evaluate: DAP::EvaluateArguments,
82
+ setExpression: DAP::SetExpressionArguments,
83
+ stepInTargets: DAP::StepInTargetsArguments,
84
+ gotoTargets: DAP::GotoTargetsArguments,
85
+ completions: DAP::CompletionsArguments,
86
+ exceptionInfo: DAP::ExceptionInfoArguments,
87
+ readMemory: DAP::ReadMemoryArguments,
88
+ disassemble: DAP::DisassembleArguments,
89
+ )
90
+ end
46
91
 
47
- property :arguments, as: one_of(
48
- cancel: DAP::CancelArguments,
49
- runInTerminal: DAP::RunInTerminalRequestArguments,
50
- initialize: DAP::InitializeRequestArguments,
51
- configurationDone: empty,
52
- launch: DAP::LaunchRequestArguments,
53
- attach: DAP::AttachRequestArguments,
54
- restart: empty,
55
- disconnect: DAP::DisconnectArguments,
56
- terminate: DAP::TerminateArguments,
57
- breakpointLocations: DAP::BreakpointLocationsArguments,
58
- setBreakpoints: DAP::SetBreakpointsArguments,
59
- setFunctionBreakpoints: DAP::SetFunctionBreakpointsArguments,
60
- setExceptionBreakpoints: DAP::SetExceptionBreakpointsArguments,
61
- dataBreakpointInfo: DAP::DataBreakpointInfoArguments,
62
- setDataBreakpoints: DAP::SetDataBreakpointsArguments,
63
- setInstructionBreakpoints: DAP::SetInstructionBreakpointsArguments,
64
- continue: DAP::ContinueArguments,
65
- next: DAP::NextArguments,
66
- stepIn: DAP::StepInArguments,
67
- stepOut: DAP::StepOutArguments,
68
- stepBack: DAP::StepBackArguments,
69
- reverseContinue: DAP::ReverseContinueArguments,
70
- restartFrame: DAP::RestartFrameArguments,
71
- goto: DAP::GotoArguments,
72
- pause: DAP::PauseArguments,
73
- stackTrace: DAP::StackTraceArguments,
74
- scopes: DAP::ScopesArguments,
75
- variables: DAP::VariablesArguments,
76
- setVariable: DAP::SetVariableArguments,
77
- source: DAP::SourceArguments,
78
- threads: empty,
79
- terminateThreads: DAP::TerminateThreadsArguments,
80
- modules: DAP::ModulesArguments,
81
- loadedSources: empty,
82
- evaluate: DAP::EvaluateArguments,
83
- setExpression: DAP::SetExpressionArguments,
84
- stepInTargets: DAP::StepInTargetsArguments,
85
- gotoTargets: DAP::GotoTargetsArguments,
86
- completions: DAP::CompletionsArguments,
87
- exceptionInfo: DAP::ExceptionInfoArguments,
88
- readMemory: DAP::ReadMemoryArguments,
89
- disassemble: DAP::DisassembleArguments,
90
- ).with(:command)
92
+ property :command
93
+ property :arguments, as: arguments.with(:command)
91
94
  end
@@ -30,57 +30,60 @@ class DAP::Response < DAP::ProtocolMessage
30
30
  'response'
31
31
  end
32
32
 
33
+ def self.bodies
34
+ @bodies ||= one_of(
35
+ initialize: DAP::Capabilities,
36
+ error: DAP::ErrorResponseBody,
37
+ cancel: empty,
38
+ runInTerminal: DAP::RunInTerminalResponseBody,
39
+ configurationDone: empty,
40
+ launch: empty,
41
+ attach: empty,
42
+ restart: empty,
43
+ disconnect: empty,
44
+ terminate: empty,
45
+ breakpointLocations: DAP::BreakpointLocationsResponseBody,
46
+ setBreakpoints: DAP::SetBreakpointsResponseBody,
47
+ setFunctionBreakpoints: DAP::SetFunctionBreakpointsResponseBody,
48
+ setExceptionBreakpoints: empty,
49
+ dataBreakpointInfo: DAP::DataBreakpointInfoResponseBody,
50
+ setDataBreakpoints: DAP::SetDataBreakpointsResponseBody,
51
+ setInstructionBreakpoints: DAP::SetInstructionBreakpointsResponseBody,
52
+ continue: DAP::ContinueResponseBody,
53
+ next: empty,
54
+ stepIn: empty,
55
+ stepOut: empty,
56
+ stepBack: empty,
57
+ reverseContinue: empty,
58
+ restartFrame: empty,
59
+ goto: empty,
60
+ pause: empty,
61
+ stackTrace: DAP::StackTraceResponseBody,
62
+ scopes: DAP::ScopesResponseBody,
63
+ variables: DAP::VariablesResponseBody,
64
+ setVariable: DAP::SetVariableResponseBody,
65
+ source: DAP::SourceResponseBody,
66
+ threads: DAP::ThreadsResponseBody,
67
+ terminateThreads: empty,
68
+ modules: DAP::ModulesResponseBody,
69
+ loadedSources: DAP::LoadedSourcesResponseBody,
70
+ evaluate: DAP::EvaluateResponseBody,
71
+ setExpression: DAP::SetExpressionResponseBody,
72
+ stepInTargets: DAP::StepInTargetsResponseBody,
73
+ gotoTargets: DAP::GotoTargetsResponseBody,
74
+ completions: DAP::CompletionsResponseBody,
75
+ exceptionInfo: DAP::ExceptionInfoResponseBody,
76
+ readMemory: DAP::ReadMemoryResponseBody,
77
+ disassemble: DAP::DisassembleResponseBody,
78
+ )
79
+ end
80
+
33
81
  def validate!
34
82
  return unless success
35
83
 
36
84
  super
37
85
  end
38
86
 
39
- property :request_seq, :success, :command, :message, :body
40
-
41
- property :body, as: one_of(
42
- initialize: DAP::Capabilities,
43
- error: DAP::ErrorResponseBody,
44
- cancel: empty,
45
- runInTerminal: DAP::RunInTerminalResponseBody,
46
- configurationDone: empty,
47
- launch: empty,
48
- attach: empty,
49
- restart: empty,
50
- disconnect: empty,
51
- terminate: empty,
52
- breakpointLocations: DAP::BreakpointLocationsResponseBody,
53
- setBreakpoints: DAP::SetBreakpointsResponseBody,
54
- setFunctionBreakpoints: DAP::SetFunctionBreakpointsResponseBody,
55
- setExceptionBreakpoints: empty,
56
- dataBreakpointInfo: DAP::DataBreakpointInfoResponseBody,
57
- setDataBreakpoints: DAP::SetDataBreakpointsResponseBody,
58
- setInstructionBreakpoints: DAP::SetInstructionBreakpointsResponseBody,
59
- continue: DAP::ContinueResponseBody,
60
- next: empty,
61
- stepIn: empty,
62
- stepOut: empty,
63
- stepBack: empty,
64
- reverseContinue: empty,
65
- restartFrame: empty,
66
- goto: empty,
67
- pause: empty,
68
- stackTrace: DAP::StackTraceResponseBody,
69
- scopes: DAP::ScopesResponseBody,
70
- variables: DAP::VariablesResponseBody,
71
- setVariable: DAP::SetVariableResponseBody,
72
- source: DAP::SourceResponseBody,
73
- threads: DAP::ThreadsResponseBody,
74
- terminateThreads: empty,
75
- modules: DAP::ModulesResponseBody,
76
- loadedSources: DAP::LoadedSourcesResponseBody,
77
- evaluate: DAP::EvaluateResponseBody,
78
- setExpression: DAP::SetExpressionResponseBody,
79
- stepInTargets: DAP::StepInTargetsResponseBody,
80
- gotoTargets: DAP::GotoTargetsResponseBody,
81
- completions: DAP::CompletionsResponseBody,
82
- exceptionInfo: DAP::ExceptionInfoResponseBody,
83
- readMemory: DAP::ReadMemoryResponseBody,
84
- disassemble: DAP::DisassembleResponseBody,
85
- ).with(:command)
87
+ property :request_seq, :success, :command, :message
88
+ property :body, as: bodies.with(:command)
86
89
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-dap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ethan Reesor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-07 00:00:00.000000000 Z
11
+ date: 2020-10-09 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Debug Adapter Protocol parsers and formatters
14
14
  email: ethan.reesor@gmail.com
@@ -17,6 +17,7 @@ extensions: []
17
17
  extra_rdoc_files: []
18
18
  files:
19
19
  - AUTHORS
20
+ - CHANGELOG.md
20
21
  - LICENSE
21
22
  - README.md
22
23
  - lib/dap.rb