jets 0.5.5 → 0.5.6
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 +3 -0
- data/Gemfile.lock +1 -1
- data/lib/jets/builders/code_builder.rb +1 -0
- data/lib/jets/builders/gem_replacer.rb +1 -0
- data/lib/jets/version.rb +1 -1
- data/vendor/lambdagem/CHANGELOG.md +3 -0
- data/vendor/lambdagem/Gemfile.lock +3 -3
- data/vendor/lambdagem/README.md +0 -4
- data/vendor/lambdagem/lib/lambdagem.rb +2 -0
- data/vendor/lambdagem/lib/lambdagem/base.rb +2 -0
- data/vendor/lambdagem/lib/lambdagem/extract/base.rb +6 -6
- data/vendor/lambdagem/lib/lambdagem/extract/gem.rb +6 -5
- data/vendor/lambdagem/lib/lambdagem/extract/ruby.rb +4 -3
- data/vendor/lambdagem/lib/lambdagem/util.rb +30 -0
- data/vendor/lambdagem/lib/lambdagem/version.rb +1 -1
- metadata +3 -140
- 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
- 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
- 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
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/LICENSE +0 -23
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/exe/byebug +0 -6
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/Makefile +0 -263
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.c +0 -517
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/breakpoint.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.c +0 -905
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.h +0 -143
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/byebug.so +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.c +0 -673
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/context.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/extconf.rb +0 -12
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.c +0 -96
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/locker.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.c +0 -230
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/ext/byebug/threads.o +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug.rb +0 -3
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/attacher.rb +0 -48
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/breakpoint.rb +0 -111
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/byebug.so +0 -0
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command.rb +0 -111
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/command_list.rb +0 -34
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands.rb +0 -39
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/break.rb +0 -116
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/catch.rb +0 -82
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/condition.rb +0 -57
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/continue.rb +0 -50
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/debug.rb +0 -38
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/delete.rb +0 -57
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable.rb +0 -33
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/breakpoints.rb +0 -42
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/disable/display.rb +0 -43
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/display.rb +0 -66
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/down.rb +0 -45
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/edit.rb +0 -68
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable.rb +0 -33
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/breakpoints.rb +0 -42
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/enable/display.rb +0 -43
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/finish.rb +0 -57
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/frame.rb +0 -57
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/help.rb +0 -64
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/history.rb +0 -39
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info.rb +0 -37
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/breakpoints.rb +0 -67
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/display.rb +0 -51
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/file.rb +0 -82
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/line.rb +0 -35
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/info/program.rb +0 -49
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/interrupt.rb +0 -34
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/irb.rb +0 -52
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/kill.rb +0 -47
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/list.rb +0 -159
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/method.rb +0 -53
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/next.rb +0 -40
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/pry.rb +0 -43
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/quit.rb +0 -42
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/restart.rb +0 -64
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/save.rb +0 -72
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/set.rb +0 -79
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/show.rb +0 -45
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/source.rb +0 -42
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/step.rb +0 -40
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread.rb +0 -34
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/current.rb +0 -37
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/list.rb +0 -43
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/resume.rb +0 -47
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/stop.rb +0 -43
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/thread/switch.rb +0 -46
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/tracevar.rb +0 -57
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/undisplay.rb +0 -52
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/untracevar.rb +0 -36
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/up.rb +0 -45
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var.rb +0 -37
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/all.rb +0 -41
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/args.rb +0 -39
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/const.rb +0 -51
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/global.rb +0 -37
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/instance.rb +0 -39
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/var/local.rb +0 -39
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/commands/where.rb +0 -53
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/context.rb +0 -157
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/core.rb +0 -114
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/errors.rb +0 -29
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/frame.rb +0 -185
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/bin.rb +0 -47
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/eval.rb +0 -126
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/file.rb +0 -63
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/frame.rb +0 -75
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/parse.rb +0 -77
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/path.rb +0 -40
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/reflection.rb +0 -19
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/string.rb +0 -36
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/thread.rb +0 -67
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/toggle.rb +0 -64
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/helpers/var.rb +0 -54
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/history.rb +0 -130
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interface.rb +0 -146
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/local_interface.rb +0 -44
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/remote_interface.rb +0 -50
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/script_interface.rb +0 -32
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/interfaces/test_interface.rb +0 -67
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/option_setter.rb +0 -95
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/base.rb +0 -69
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/plain.rb +0 -44
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/base.yml +0 -115
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/printers/texts/plain.yml +0 -33
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/command_processor.rb +0 -173
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/control_processor.rb +0 -24
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/post_mortem_processor.rb +0 -18
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/processors/script_processor.rb +0 -49
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote.rb +0 -85
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/client.rb +0 -55
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/remote/server.rb +0 -47
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/runner.rb +0 -198
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/setting.rb +0 -79
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autoirb.rb +0 -29
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autolist.rb +0 -29
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autopry.rb +0 -29
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/autosave.rb +0 -17
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/basename.rb +0 -16
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/callstyle.rb +0 -20
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/fullpath.rb +0 -16
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histfile.rb +0 -20
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/histsize.rb +0 -20
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/linetrace.rb +0 -22
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/listsize.rb +0 -21
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/post_mortem.rb +0 -27
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/savefile.rb +0 -20
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/stack_on_error.rb +0 -15
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/settings/width.rb +0 -20
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/source_file_formatter.rb +0 -71
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/subcommands.rb +0 -54
- data/vendor/lambdagem/bundled/gems/ruby/2.5.0/gems/byebug-10.0.0/lib/byebug/version.rb +0 -8
- 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
|