jets 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/Gemfile.lock +1 -1
  4. data/lib/jets/builders/code_builder.rb +1 -0
  5. data/lib/jets/builders/gem_replacer.rb +1 -0
  6. data/lib/jets/version.rb +1 -1
  7. data/vendor/lambdagem/CHANGELOG.md +3 -0
  8. data/vendor/lambdagem/Gemfile.lock +3 -3
  9. data/vendor/lambdagem/README.md +0 -4
  10. data/vendor/lambdagem/lib/lambdagem.rb +2 -0
  11. data/vendor/lambdagem/lib/lambdagem/base.rb +2 -0
  12. data/vendor/lambdagem/lib/lambdagem/extract/base.rb +6 -6
  13. data/vendor/lambdagem/lib/lambdagem/extract/gem.rb +6 -5
  14. data/vendor/lambdagem/lib/lambdagem/extract/ruby.rb +4 -3
  15. data/vendor/lambdagem/lib/lambdagem/util.rb +30 -0
  16. data/vendor/lambdagem/lib/lambdagem/version.rb +1 -1
  17. metadata +3 -140
  18. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/byebug/byebug.so +0 -0
  19. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem.build_complete +0 -0
  20. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/byebug-10.0.0/gem_make.out +0 -19
  21. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/LICENSE +0 -23
  22. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/exe/byebug +0 -6
  23. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/Makefile +0 -263
  24. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.c +0 -517
  25. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.o +0 -0
  26. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.c +0 -905
  27. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.h +0 -143
  28. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.o +0 -0
  29. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.so +0 -0
  30. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.c +0 -673
  31. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.o +0 -0
  32. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/extconf.rb +0 -12
  33. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.c +0 -96
  34. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.o +0 -0
  35. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.c +0 -230
  36. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.o +0 -0
  37. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug.rb +0 -3
  38. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/attacher.rb +0 -48
  39. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/breakpoint.rb +0 -111
  40. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/byebug.so +0 -0
  41. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command.rb +0 -111
  42. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command_list.rb +0 -34
  43. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands.rb +0 -39
  44. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/break.rb +0 -116
  45. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/catch.rb +0 -82
  46. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/condition.rb +0 -57
  47. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/continue.rb +0 -50
  48. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/debug.rb +0 -38
  49. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/delete.rb +0 -57
  50. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable.rb +0 -33
  51. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/breakpoints.rb +0 -42
  52. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/display.rb +0 -43
  53. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/display.rb +0 -66
  54. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/down.rb +0 -45
  55. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/edit.rb +0 -68
  56. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable.rb +0 -33
  57. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/breakpoints.rb +0 -42
  58. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/display.rb +0 -43
  59. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/finish.rb +0 -57
  60. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/frame.rb +0 -57
  61. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/help.rb +0 -64
  62. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/history.rb +0 -39
  63. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info.rb +0 -37
  64. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/breakpoints.rb +0 -67
  65. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/display.rb +0 -51
  66. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/file.rb +0 -82
  67. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/line.rb +0 -35
  68. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/program.rb +0 -49
  69. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/interrupt.rb +0 -34
  70. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/irb.rb +0 -52
  71. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/kill.rb +0 -47
  72. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/list.rb +0 -159
  73. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/method.rb +0 -53
  74. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/next.rb +0 -40
  75. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/pry.rb +0 -43
  76. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/quit.rb +0 -42
  77. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/restart.rb +0 -64
  78. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/save.rb +0 -72
  79. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/set.rb +0 -79
  80. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/show.rb +0 -45
  81. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/source.rb +0 -42
  82. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/step.rb +0 -40
  83. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread.rb +0 -34
  84. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/current.rb +0 -37
  85. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/list.rb +0 -43
  86. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/resume.rb +0 -47
  87. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/stop.rb +0 -43
  88. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/switch.rb +0 -46
  89. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/tracevar.rb +0 -57
  90. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/undisplay.rb +0 -52
  91. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/untracevar.rb +0 -36
  92. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/up.rb +0 -45
  93. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var.rb +0 -37
  94. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/all.rb +0 -41
  95. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/args.rb +0 -39
  96. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/const.rb +0 -51
  97. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/global.rb +0 -37
  98. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/instance.rb +0 -39
  99. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/local.rb +0 -39
  100. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/where.rb +0 -53
  101. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/context.rb +0 -157
  102. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/core.rb +0 -114
  103. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/errors.rb +0 -29
  104. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/frame.rb +0 -185
  105. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/bin.rb +0 -47
  106. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/eval.rb +0 -126
  107. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/file.rb +0 -63
  108. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/frame.rb +0 -75
  109. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/parse.rb +0 -77
  110. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/path.rb +0 -40
  111. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/reflection.rb +0 -19
  112. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/string.rb +0 -36
  113. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/thread.rb +0 -67
  114. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/toggle.rb +0 -64
  115. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/var.rb +0 -54
  116. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/history.rb +0 -130
  117. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interface.rb +0 -146
  118. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/local_interface.rb +0 -44
  119. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/remote_interface.rb +0 -50
  120. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/script_interface.rb +0 -32
  121. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/test_interface.rb +0 -67
  122. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/option_setter.rb +0 -95
  123. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/base.rb +0 -69
  124. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/plain.rb +0 -44
  125. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/base.yml +0 -115
  126. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/plain.yml +0 -33
  127. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/command_processor.rb +0 -173
  128. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/control_processor.rb +0 -24
  129. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/post_mortem_processor.rb +0 -18
  130. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/script_processor.rb +0 -49
  131. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote.rb +0 -85
  132. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/client.rb +0 -55
  133. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/server.rb +0 -47
  134. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/runner.rb +0 -198
  135. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/setting.rb +0 -79
  136. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autoirb.rb +0 -29
  137. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autolist.rb +0 -29
  138. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autopry.rb +0 -29
  139. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autosave.rb +0 -17
  140. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/basename.rb +0 -16
  141. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/callstyle.rb +0 -20
  142. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/fullpath.rb +0 -16
  143. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histfile.rb +0 -20
  144. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histsize.rb +0 -20
  145. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/linetrace.rb +0 -22
  146. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/listsize.rb +0 -21
  147. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/post_mortem.rb +0 -27
  148. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/savefile.rb +0 -20
  149. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/stack_on_error.rb +0 -15
  150. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/width.rb +0 -20
  151. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/source_file_formatter.rb +0 -71
  152. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/subcommands.rb +0 -54
  153. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/version.rb +0 -8
  154. data/vendor/lambdagem/bundled/gems/ruby/2.5.0/specifications/byebug-10.0.0.gemspec +0 -39
@@ -1,54 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "byebug/helpers/eval"
4
-
5
- module Byebug
6
- module Helpers
7
- #
8
- # Utilities for variable subcommands
9
- #
10
- module VarHelper
11
- include EvalHelper
12
-
13
- def var_list(ary, binding = context.frame._binding)
14
- vars = ary.sort.map do |name|
15
- [name, safe_inspect(silent_eval(name.to_s, binding))]
16
- end
17
-
18
- puts prv(vars, "instance")
19
- end
20
-
21
- def var_global
22
- globals = global_variables.reject do |v|
23
- %i[$IGNORECASE $= $KCODE $-K $binding].include?(v)
24
- end
25
-
26
- var_list(globals)
27
- end
28
-
29
- def var_instance(str)
30
- obj = warning_eval(str || "self")
31
-
32
- var_list(obj.instance_variables, obj.instance_eval { binding })
33
- end
34
-
35
- def var_local
36
- locals = context.frame.locals
37
- cur_self = context.frame._self
38
- locals[:self] = cur_self unless cur_self.to_s == "main"
39
- puts prv(locals.keys.sort.map { |k| [k, locals[k]] }, "instance")
40
- end
41
-
42
- def var_args
43
- args = context.frame.args
44
- return if args == [[:rest]]
45
-
46
- all_locals = context.frame.locals
47
- arg_values = args.map { |arg| arg[1] }
48
-
49
- locals = all_locals.select { |k, _| arg_values.include?(k) }
50
- puts prv(locals.keys.sort.map { |k| [k, locals[k]] }, "instance")
51
- end
52
- end
53
- end
54
- end
@@ -1,130 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- begin
4
- require "readline"
5
- rescue LoadError
6
- warn <<-MESSAGE
7
- Sorry, you can't use byebug without Readline. To solve this, you need to
8
- rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get
9
- install libreadline-dev` and then reinstall your Ruby.
10
- MESSAGE
11
-
12
- raise
13
- end
14
-
15
- module Byebug
16
- #
17
- # Handles byebug's history of commands.
18
- #
19
- class History
20
- attr_accessor :size
21
-
22
- def initialize
23
- self.size = 0
24
- end
25
-
26
- #
27
- # Array holding the list of commands in history
28
- #
29
- def buffer
30
- Readline::HISTORY.to_a
31
- end
32
-
33
- #
34
- # Restores history from disk.
35
- #
36
- def restore
37
- return unless File.exist?(Setting[:histfile])
38
-
39
- File.readlines(Setting[:histfile]).reverse_each { |l| push(l.chomp) }
40
- end
41
-
42
- #
43
- # Saves history to disk.
44
- #
45
- def save
46
- n_cmds = Setting[:histsize] > size ? size : Setting[:histsize]
47
-
48
- open(Setting[:histfile], "w") do |file|
49
- n_cmds.times { file.puts(pop) }
50
- end
51
-
52
- clear
53
- end
54
-
55
- #
56
- # Discards history.
57
- #
58
- def clear
59
- size.times { pop }
60
- end
61
-
62
- #
63
- # Adds a new command to Readline's history.
64
- #
65
- def push(cmd)
66
- return if ignore?(cmd)
67
-
68
- self.size += 1
69
- Readline::HISTORY.push(cmd)
70
- end
71
-
72
- #
73
- # Removes a command from Readline's history.
74
- #
75
- def pop
76
- self.size -= 1
77
- Readline::HISTORY.pop
78
- end
79
-
80
- #
81
- # Prints the requested numbers of history entries.
82
- #
83
- def to_s(n_cmds)
84
- show_size = n_cmds ? specific_max_size(n_cmds) : default_max_size
85
-
86
- commands = buffer.last(show_size)
87
-
88
- last_ids(show_size).zip(commands).map do |l|
89
- format("%<position>5d %<command>s", position: l[0], command: l[1])
90
- end.join("\n") + "\n"
91
- end
92
-
93
- #
94
- # Array of ids of the last n commands.
95
- #
96
- def last_ids(n)
97
- (1 + size - n..size).to_a
98
- end
99
-
100
- #
101
- # Max number of commands to be displayed when no size has been specified.
102
- #
103
- # Never more than Setting[:histsize].
104
- #
105
- def default_max_size
106
- [Setting[:histsize], self.size].min
107
- end
108
-
109
- #
110
- # Max number of commands to be displayed when a size has been specified.
111
- #
112
- # The only bound here is not showing more items than available.
113
- #
114
- def specific_max_size(number)
115
- [self.size, number].min
116
- end
117
-
118
- #
119
- # Whether a specific command should not be stored in history.
120
- #
121
- # For now, empty lines and consecutive duplicates.
122
- #
123
- def ignore?(buf)
124
- return true if /^\s*$/ =~ buf
125
- return false if Readline::HISTORY.empty?
126
-
127
- buffer[Readline::HISTORY.length - 1] == buf
128
- end
129
- end
130
- end
@@ -1,146 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "byebug/setting"
4
- require "byebug/history"
5
- require "byebug/helpers/file"
6
-
7
- #
8
- # Namespace for all of byebug's code
9
- #
10
- module Byebug
11
- #
12
- # Main Interface class
13
- #
14
- # Contains common functionality to all implemented interfaces.
15
- #
16
- class Interface
17
- include Helpers::FileHelper
18
-
19
- attr_accessor :command_queue, :history
20
- attr_reader :input, :output, :error
21
-
22
- def initialize
23
- @command_queue = []
24
- @history = History.new
25
- @last_line = ""
26
- end
27
-
28
- def last_if_empty(input)
29
- @last_line = input.empty? ? @last_line : input
30
- end
31
-
32
- #
33
- # Pops a command from the input stream.
34
- #
35
- def read_command(prompt)
36
- return command_queue.shift unless command_queue.empty?
37
-
38
- read_input(prompt)
39
- end
40
-
41
- #
42
- # Pushes lines in +filename+ to the command queue.
43
- #
44
- def read_file(filename)
45
- command_queue.concat(get_lines(filename))
46
- end
47
-
48
- #
49
- # Reads a new line from the interface's input stream, parses it into
50
- # commands and saves it to history.
51
- #
52
- # @return [String] Representing something to be run by the debugger.
53
- #
54
- def read_input(prompt, save_hist = true)
55
- line = prepare_input(prompt)
56
- return unless line
57
-
58
- history.push(line) if save_hist
59
-
60
- command_queue.concat(split_commands(line))
61
- command_queue.shift
62
- end
63
-
64
- #
65
- # Reads a new line from the interface's input stream.
66
- #
67
- # @return [String] New string read or the previous string if the string
68
- # read now was empty.
69
- #
70
- def prepare_input(prompt)
71
- line = readline(prompt)
72
- return unless line
73
-
74
- last_if_empty(line)
75
- end
76
-
77
- #
78
- # Prints an error message to the error stream.
79
- #
80
- def errmsg(message)
81
- error.print("*** #{message}\n")
82
- end
83
-
84
- #
85
- # Prints an output message to the output stream.
86
- #
87
- def puts(message)
88
- output.puts(message)
89
- end
90
-
91
- #
92
- # Prints an output message to the output stream without a final "\n".
93
- #
94
- def print(message)
95
- output.print(message)
96
- end
97
-
98
- #
99
- # Confirms user introduced an affirmative response to the input stream.
100
- #
101
- def confirm(prompt)
102
- readline(prompt) == "y"
103
- end
104
-
105
- def close
106
- end
107
-
108
- #
109
- # Saves or clears history according to +autosave+ setting.
110
- #
111
- def autosave
112
- Setting[:autosave] ? history.save : history.clear
113
- end
114
-
115
- #
116
- # Restores history according to +autosave+ setting.
117
- #
118
- def autorestore
119
- history.restore if Setting[:autosave]
120
- end
121
-
122
- private
123
-
124
- #
125
- # Splits a command line of the form "cmd1 ; cmd2 ; ... ; cmdN" into an
126
- # array of commands: [cmd1, cmd2, ..., cmdN]
127
- #
128
- def split_commands(cmd_line)
129
- return [""] if cmd_line.empty?
130
-
131
- cmd_line.split(/;/).each_with_object([]) do |v, m|
132
- if m.empty? || m.last[-1] != '\\'
133
- m << v.strip
134
- next
135
- end
136
-
137
- m.last[-1, 1] = ""
138
- m.last << ";" << v
139
- end
140
- end
141
- end
142
- end
143
-
144
- require "byebug/interfaces/local_interface"
145
- require "byebug/interfaces/script_interface"
146
- require "byebug/interfaces/remote_interface"
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Byebug
4
- #
5
- # Interface class for standard byebug use.
6
- #
7
- class LocalInterface < Interface
8
- EOF_ALIAS = "continue".freeze
9
-
10
- def initialize
11
- super()
12
- @input = $stdin
13
- @output = $stdout
14
- @error = $stderr
15
- end
16
-
17
- #
18
- # Reads a single line of input using Readline. If Ctrl-D is pressed, it
19
- # returns "continue", meaning that program's execution will go on.
20
- #
21
- # @param prompt Prompt to be displayed.
22
- #
23
- def readline(prompt)
24
- with_repl_like_sigint { Readline.readline(prompt) || EOF_ALIAS }
25
- end
26
-
27
- #
28
- # Yields the block handling Ctrl-C the following way: if pressed while
29
- # waiting for input, the line is reset to only the prompt and we ask for
30
- # input again.
31
- #
32
- # @note Any external 'INT' traps are overriden during this method.
33
- #
34
- def with_repl_like_sigint
35
- orig_handler = trap("INT") { raise Interrupt }
36
- yield
37
- rescue Interrupt
38
- puts("^C")
39
- retry
40
- ensure
41
- trap("INT", orig_handler)
42
- end
43
- end
44
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "byebug/history"
4
-
5
- module Byebug
6
- #
7
- # Interface class for remote use of byebug.
8
- #
9
- class RemoteInterface < Interface
10
- def initialize(socket)
11
- super()
12
- @input = socket
13
- @output = socket
14
- @error = socket
15
- end
16
-
17
- def read_command(prompt)
18
- super("PROMPT #{prompt}")
19
- rescue Errno::EPIPE, Errno::ECONNABORTED
20
- "continue"
21
- end
22
-
23
- def confirm(prompt)
24
- super("CONFIRM #{prompt}")
25
- rescue Errno::EPIPE, Errno::ECONNABORTED
26
- false
27
- end
28
-
29
- def print(message)
30
- super(message)
31
- rescue Errno::EPIPE, Errno::ECONNABORTED
32
- nil
33
- end
34
-
35
- def puts(message)
36
- super(message)
37
- rescue Errno::EPIPE, Errno::ECONNABORTED
38
- nil
39
- end
40
-
41
- def close
42
- output.close
43
- end
44
-
45
- def readline(prompt)
46
- puts(prompt)
47
- (input.gets || "continue").chomp
48
- end
49
- end
50
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Byebug
4
- #
5
- # Interface class for command execution from script files.
6
- #
7
- class ScriptInterface < Interface
8
- def initialize(file, verbose = false)
9
- super()
10
- @verbose = verbose
11
- @input = File.open(file)
12
- @output = verbose ? $stdout : StringIO.new
13
- @error = $stderr
14
- end
15
-
16
- def read_command(prompt)
17
- readline(prompt, false)
18
- end
19
-
20
- def close
21
- input.close
22
- end
23
-
24
- def readline(*)
25
- while (result = input.gets)
26
- output.puts "+ #{result}" if @verbose
27
- next if result =~ /^\s*#/
28
- return result.chomp
29
- end
30
- end
31
- end
32
- end