byebug 9.1.0 → 10.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +24 -3
- data/CONTRIBUTING.md +39 -18
- data/GUIDE.md +16 -17
- data/README.md +64 -52
- data/exe/byebug +6 -0
- data/ext/byebug/breakpoint.c +1 -1
- data/ext/byebug/byebug.c +16 -16
- data/ext/byebug/byebug.h +40 -26
- data/ext/byebug/context.c +26 -26
- data/ext/byebug/extconf.rb +7 -5
- data/ext/byebug/threads.c +8 -8
- data/lib/byebug.rb +3 -1
- data/lib/byebug/attacher.rb +17 -3
- data/lib/byebug/breakpoint.rb +25 -3
- data/lib/byebug/command.rb +20 -14
- data/lib/byebug/command_list.rb +3 -1
- data/lib/byebug/commands.rb +39 -37
- data/lib/byebug/commands/break.rb +33 -15
- data/lib/byebug/commands/catch.rb +16 -14
- data/lib/byebug/commands/condition.rb +11 -9
- data/lib/byebug/commands/continue.rb +9 -7
- data/lib/byebug/commands/debug.rb +7 -5
- data/lib/byebug/commands/delete.rb +11 -9
- data/lib/byebug/commands/disable.rb +8 -6
- data/lib/byebug/commands/disable/breakpoints.rb +7 -5
- data/lib/byebug/commands/disable/display.rb +7 -5
- data/lib/byebug/commands/display.rb +11 -9
- data/lib/byebug/commands/down.rb +10 -8
- data/lib/byebug/commands/edit.rb +10 -8
- data/lib/byebug/commands/enable.rb +8 -6
- data/lib/byebug/commands/enable/breakpoints.rb +7 -5
- data/lib/byebug/commands/enable/display.rb +7 -5
- data/lib/byebug/commands/finish.rb +8 -6
- data/lib/byebug/commands/frame.rb +11 -9
- data/lib/byebug/commands/help.rb +7 -5
- data/lib/byebug/commands/history.rb +7 -5
- data/lib/byebug/commands/info.rb +11 -9
- data/lib/byebug/commands/info/breakpoints.rb +17 -11
- data/lib/byebug/commands/info/display.rb +16 -7
- data/lib/byebug/commands/info/file.rb +12 -10
- data/lib/byebug/commands/info/line.rb +5 -3
- data/lib/byebug/commands/info/program.rb +8 -6
- data/lib/byebug/commands/interrupt.rb +8 -4
- data/lib/byebug/commands/irb.rb +9 -7
- data/lib/byebug/commands/kill.rb +9 -7
- data/lib/byebug/commands/list.rb +41 -46
- data/lib/byebug/commands/method.rb +10 -8
- data/lib/byebug/commands/next.rb +8 -6
- data/lib/byebug/commands/pry.rb +10 -8
- data/lib/byebug/commands/quit.rb +7 -5
- data/lib/byebug/commands/restart.rb +13 -11
- data/lib/byebug/commands/save.rb +9 -7
- data/lib/byebug/commands/set.rb +12 -10
- data/lib/byebug/commands/show.rb +7 -5
- data/lib/byebug/commands/source.rb +7 -5
- data/lib/byebug/commands/step.rb +8 -6
- data/lib/byebug/commands/thread.rb +11 -9
- data/lib/byebug/commands/thread/current.rb +6 -4
- data/lib/byebug/commands/thread/list.rb +7 -5
- data/lib/byebug/commands/thread/resume.rb +7 -5
- data/lib/byebug/commands/thread/stop.rb +6 -4
- data/lib/byebug/commands/thread/switch.rb +6 -4
- data/lib/byebug/commands/tracevar.rb +10 -8
- data/lib/byebug/commands/undisplay.rb +10 -8
- data/lib/byebug/commands/untracevar.rb +8 -6
- data/lib/byebug/commands/up.rb +10 -8
- data/lib/byebug/commands/var.rb +12 -10
- data/lib/byebug/commands/var/all.rb +7 -5
- data/lib/byebug/commands/var/args.rb +6 -4
- data/lib/byebug/commands/var/const.rb +9 -7
- data/lib/byebug/commands/var/global.rb +5 -3
- data/lib/byebug/commands/var/instance.rb +6 -4
- data/lib/byebug/commands/var/local.rb +6 -4
- data/lib/byebug/commands/where.rb +9 -7
- data/lib/byebug/context.rb +7 -5
- data/lib/byebug/core.rb +25 -25
- data/lib/byebug/errors.rb +4 -2
- data/lib/byebug/frame.rb +16 -16
- data/lib/byebug/helpers/bin.rb +28 -7
- data/lib/byebug/helpers/eval.rb +8 -6
- data/lib/byebug/helpers/file.rb +4 -2
- data/lib/byebug/helpers/frame.rb +5 -3
- data/lib/byebug/helpers/parse.rb +5 -3
- data/lib/byebug/helpers/path.rb +7 -5
- data/lib/byebug/helpers/reflection.rb +2 -0
- data/lib/byebug/helpers/string.rb +4 -2
- data/lib/byebug/helpers/thread.rb +10 -8
- data/lib/byebug/helpers/toggle.rb +10 -8
- data/lib/byebug/helpers/var.rb +8 -6
- data/lib/byebug/history.rb +7 -5
- data/lib/byebug/interface.rb +13 -11
- data/lib/byebug/interfaces/local_interface.rb +4 -4
- data/lib/byebug/interfaces/remote_interface.rb +21 -9
- data/lib/byebug/interfaces/script_interface.rb +2 -0
- data/lib/byebug/interfaces/test_interface.rb +5 -3
- data/lib/byebug/option_setter.rb +14 -12
- data/lib/byebug/printers/base.rb +6 -6
- data/lib/byebug/printers/plain.rb +8 -6
- data/lib/byebug/printers/texts/base.yml +3 -3
- data/lib/byebug/processors/command_processor.rb +11 -12
- data/lib/byebug/processors/control_processor.rb +4 -6
- data/lib/byebug/processors/post_mortem_processor.rb +4 -2
- data/lib/byebug/processors/script_processor.rb +7 -3
- data/lib/byebug/remote.rb +45 -65
- data/lib/byebug/remote/client.rb +55 -0
- data/lib/byebug/remote/server.rb +47 -0
- data/lib/byebug/runner.rb +26 -19
- data/lib/byebug/setting.rb +10 -4
- data/lib/byebug/settings/autoirb.rb +5 -3
- data/lib/byebug/settings/autolist.rb +5 -3
- data/lib/byebug/settings/autopry.rb +5 -3
- data/lib/byebug/settings/autosave.rb +4 -2
- data/lib/byebug/settings/basename.rb +4 -2
- data/lib/byebug/settings/callstyle.rb +3 -3
- data/lib/byebug/settings/fullpath.rb +4 -2
- data/lib/byebug/settings/histfile.rb +5 -3
- data/lib/byebug/settings/histsize.rb +4 -2
- data/lib/byebug/settings/linetrace.rb +4 -2
- data/lib/byebug/settings/listsize.rb +4 -2
- data/lib/byebug/settings/post_mortem.rb +4 -2
- data/lib/byebug/settings/savefile.rb +4 -2
- data/lib/byebug/settings/stack_on_error.rb +4 -2
- data/lib/byebug/settings/width.rb +3 -1
- data/lib/byebug/source_file_formatter.rb +71 -0
- data/lib/byebug/subcommands.rb +6 -4
- data/lib/byebug/version.rb +1 -1
- metadata +8 -5
- data/bin/byebug +0 -9
@@ -1,5 +1,7 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/command"
|
4
|
+
require "byebug/helpers/parse"
|
3
5
|
|
4
6
|
module Byebug
|
5
7
|
#
|
@@ -15,7 +17,7 @@ module Byebug
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def self.description
|
18
|
-
<<-
|
20
|
+
<<-DESCRIPTION
|
19
21
|
undisp[lay][ nnn]
|
20
22
|
|
21
23
|
#{short_description}
|
@@ -23,25 +25,25 @@ module Byebug
|
|
23
25
|
Arguments are the code numbers of the expressions to stop displaying. No
|
24
26
|
argument means cancel all automatic-display expressions. Type "info
|
25
27
|
display" to see the current list of code numbers.
|
26
|
-
|
28
|
+
DESCRIPTION
|
27
29
|
end
|
28
30
|
|
29
31
|
def self.short_description
|
30
|
-
|
32
|
+
"Stops displaying all or some expressions when program stops"
|
31
33
|
end
|
32
34
|
|
33
35
|
def execute
|
34
36
|
if @match[1]
|
35
|
-
pos, err = get_int(@match[1],
|
37
|
+
pos, err = get_int(@match[1], "Undisplay", 1, Byebug.displays.size)
|
36
38
|
return errmsg(err) unless err.nil?
|
37
39
|
|
38
40
|
unless Byebug.displays[pos - 1]
|
39
|
-
return errmsg(pr(
|
41
|
+
return errmsg(pr("display.errors.undefined", expr: pos))
|
40
42
|
end
|
41
43
|
|
42
44
|
Byebug.displays[pos - 1][0] = nil
|
43
45
|
else
|
44
|
-
return unless confirm(pr(
|
46
|
+
return unless confirm(pr("display.confirmations.clear_all"))
|
45
47
|
|
46
48
|
Byebug.displays.each { |d| d[0] = false }
|
47
49
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/command"
|
2
4
|
|
3
5
|
module Byebug
|
4
6
|
#
|
@@ -10,24 +12,24 @@ module Byebug
|
|
10
12
|
end
|
11
13
|
|
12
14
|
def self.description
|
13
|
-
<<-
|
15
|
+
<<-DESCRIPTION
|
14
16
|
untr[acevar] <variable>
|
15
17
|
|
16
18
|
#{short_description}
|
17
|
-
|
19
|
+
DESCRIPTION
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.short_description
|
21
|
-
|
23
|
+
"Stops tracing a global variable"
|
22
24
|
end
|
23
25
|
|
24
26
|
def execute
|
25
27
|
var = @match[1]
|
26
28
|
if global_variables.include?(:"#{var}")
|
27
29
|
untrace_var(:"#{var}")
|
28
|
-
puts pr(
|
30
|
+
puts pr("trace.messages.undo", var: var)
|
29
31
|
else
|
30
|
-
errmsg pr(
|
32
|
+
errmsg pr("trace.errors.not_global", var: var)
|
31
33
|
end
|
32
34
|
end
|
33
35
|
end
|
data/lib/byebug/commands/up.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
4
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pathname"
|
4
|
+
require "byebug/command"
|
5
|
+
require "byebug/helpers/frame"
|
6
|
+
require "byebug/helpers/parse"
|
5
7
|
|
6
8
|
module Byebug
|
7
9
|
#
|
@@ -18,21 +20,21 @@ module Byebug
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.description
|
21
|
-
<<-
|
23
|
+
<<-DESCRIPTION
|
22
24
|
up[ count]
|
23
25
|
|
24
26
|
#{short_description}
|
25
27
|
|
26
28
|
Use the "bt" command to find out where you want to go.
|
27
|
-
|
29
|
+
DESCRIPTION
|
28
30
|
end
|
29
31
|
|
30
32
|
def self.short_description
|
31
|
-
|
33
|
+
"Moves to a higher frame in the stack trace"
|
32
34
|
end
|
33
35
|
|
34
36
|
def execute
|
35
|
-
pos, err = parse_steps(@match[1],
|
37
|
+
pos, err = parse_steps(@match[1], "Up")
|
36
38
|
return errmsg(err) unless pos
|
37
39
|
|
38
40
|
jump_frames(pos)
|
data/lib/byebug/commands/var.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
4
|
-
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
3
|
+
require "byebug/subcommands"
|
4
|
+
|
5
|
+
require "byebug/commands/var/all"
|
6
|
+
require "byebug/commands/var/args"
|
7
|
+
require "byebug/commands/var/const"
|
8
|
+
require "byebug/commands/var/instance"
|
9
|
+
require "byebug/commands/var/local"
|
10
|
+
require "byebug/commands/var/global"
|
9
11
|
|
10
12
|
module Byebug
|
11
13
|
#
|
@@ -21,15 +23,15 @@ module Byebug
|
|
21
23
|
end
|
22
24
|
|
23
25
|
def self.description
|
24
|
-
<<-
|
26
|
+
<<-DESCRIPTION
|
25
27
|
[v]ar <subcommand>
|
26
28
|
|
27
29
|
#{short_description}
|
28
|
-
|
30
|
+
DESCRIPTION
|
29
31
|
end
|
30
32
|
|
31
33
|
def self.short_description
|
32
|
-
|
34
|
+
"Shows variables and its values"
|
33
35
|
end
|
34
36
|
end
|
35
37
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/helpers/var"
|
2
4
|
|
3
5
|
module Byebug
|
4
6
|
#
|
@@ -18,20 +20,20 @@ module Byebug
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.description
|
21
|
-
<<-
|
23
|
+
<<-DESCRIPTION
|
22
24
|
v[ar] a[ll]
|
23
25
|
|
24
26
|
#{short_description}
|
25
|
-
|
27
|
+
DESCRIPTION
|
26
28
|
end
|
27
29
|
|
28
30
|
def self.short_description
|
29
|
-
|
31
|
+
"Shows local, global and instance variables of self."
|
30
32
|
end
|
31
33
|
|
32
34
|
def execute
|
33
35
|
var_global
|
34
|
-
var_instance(
|
36
|
+
var_instance("self")
|
35
37
|
var_local
|
36
38
|
end
|
37
39
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/helpers/var"
|
2
4
|
|
3
5
|
module Byebug
|
4
6
|
#
|
@@ -18,15 +20,15 @@ module Byebug
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.description
|
21
|
-
<<-
|
23
|
+
<<-DESCRIPTION
|
22
24
|
v[ar] a[args]
|
23
25
|
|
24
26
|
#{short_description}
|
25
|
-
|
27
|
+
DESCRIPTION
|
26
28
|
end
|
27
29
|
|
28
30
|
def self.short_description
|
29
|
-
|
31
|
+
"Information about arguments of the current scope"
|
30
32
|
end
|
31
33
|
|
32
34
|
def execute
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/helpers/eval"
|
2
4
|
|
3
5
|
module Byebug
|
4
6
|
#
|
@@ -18,31 +20,31 @@ module Byebug
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.description
|
21
|
-
<<-
|
23
|
+
<<-DESCRIPTION
|
22
24
|
v[ar] c[onstant]
|
23
25
|
|
24
26
|
#{short_description}
|
25
|
-
|
27
|
+
DESCRIPTION
|
26
28
|
end
|
27
29
|
|
28
30
|
def self.short_description
|
29
|
-
|
31
|
+
"Shows constants of an object."
|
30
32
|
end
|
31
33
|
|
32
34
|
def execute
|
33
35
|
obj = warning_eval(str_obj)
|
34
36
|
unless obj.is_a?(Module)
|
35
|
-
return errmsg(pr(
|
37
|
+
return errmsg(pr("variable.errors.not_module", object: str_obj))
|
36
38
|
end
|
37
39
|
|
38
40
|
constants = warning_eval("#{str_obj}.constants")
|
39
|
-
puts prv(constants.sort.map { |c| [c, obj.const_get(c)] },
|
41
|
+
puts prv(constants.sort.map { |c| [c, obj.const_get(c)] }, "constant")
|
40
42
|
end
|
41
43
|
|
42
44
|
private
|
43
45
|
|
44
46
|
def str_obj
|
45
|
-
@str_obj ||= @match[1] ||
|
47
|
+
@str_obj ||= @match[1] || "self.class"
|
46
48
|
end
|
47
49
|
end
|
48
50
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Byebug
|
2
4
|
#
|
3
5
|
# Reopens the +var+ command to define the +global+ subcommand
|
@@ -16,15 +18,15 @@ module Byebug
|
|
16
18
|
end
|
17
19
|
|
18
20
|
def self.description
|
19
|
-
<<-
|
21
|
+
<<-DESCRIPTION
|
20
22
|
v[ar] g[lobal]
|
21
23
|
|
22
24
|
#{short_description}
|
23
|
-
|
25
|
+
DESCRIPTION
|
24
26
|
end
|
25
27
|
|
26
28
|
def self.short_description
|
27
|
-
|
29
|
+
"Shows global variables."
|
28
30
|
end
|
29
31
|
|
30
32
|
def execute
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/helpers/var"
|
2
4
|
|
3
5
|
module Byebug
|
4
6
|
#
|
@@ -18,15 +20,15 @@ module Byebug
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.description
|
21
|
-
<<-
|
23
|
+
<<-DESCRIPTION
|
22
24
|
v[ar] i[nstance][ <object>]
|
23
25
|
|
24
26
|
#{short_description}
|
25
|
-
|
27
|
+
DESCRIPTION
|
26
28
|
end
|
27
29
|
|
28
30
|
def self.short_description
|
29
|
-
|
31
|
+
"Shows instance variables of self or a specific object."
|
30
32
|
end
|
31
33
|
|
32
34
|
def execute
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/helpers/var"
|
2
4
|
|
3
5
|
module Byebug
|
4
6
|
#
|
@@ -18,15 +20,15 @@ module Byebug
|
|
18
20
|
end
|
19
21
|
|
20
22
|
def self.description
|
21
|
-
<<-
|
23
|
+
<<-DESCRIPTION
|
22
24
|
v[ar] l[ocal]
|
23
25
|
|
24
26
|
#{short_description}
|
25
|
-
|
27
|
+
DESCRIPTION
|
26
28
|
end
|
27
29
|
|
28
30
|
def self.short_description
|
29
|
-
|
31
|
+
"Shows local variables in current scope."
|
30
32
|
end
|
31
33
|
|
32
34
|
def execute
|
@@ -1,6 +1,8 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "pathname"
|
4
|
+
require "byebug/command"
|
5
|
+
require "byebug/helpers/frame"
|
4
6
|
|
5
7
|
module Byebug
|
6
8
|
#
|
@@ -16,7 +18,7 @@ module Byebug
|
|
16
18
|
end
|
17
19
|
|
18
20
|
def self.description
|
19
|
-
<<-
|
21
|
+
<<-DESCRIPTION
|
20
22
|
w[here]|bt|backtrace
|
21
23
|
|
22
24
|
#{short_description}
|
@@ -27,11 +29,11 @@ module Byebug
|
|
27
29
|
The position of the current frame is marked with -->. C-frames hang
|
28
30
|
from their most immediate Ruby frame to indicate that they are not
|
29
31
|
navigable.
|
30
|
-
|
32
|
+
DESCRIPTION
|
31
33
|
end
|
32
34
|
|
33
35
|
def self.short_description
|
34
|
-
|
36
|
+
"Displays the backtrace"
|
35
37
|
end
|
36
38
|
|
37
39
|
def execute
|
@@ -41,7 +43,7 @@ module Byebug
|
|
41
43
|
private
|
42
44
|
|
43
45
|
def print_backtrace
|
44
|
-
bt = prc(
|
46
|
+
bt = prc("frame.line", (0...context.stack_size)) do |_, index|
|
45
47
|
Frame.new(context, index).to_hash
|
46
48
|
end
|
47
49
|
|
data/lib/byebug/context.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
4
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/frame"
|
4
|
+
require "byebug/helpers/path"
|
5
|
+
require "byebug/helpers/file"
|
6
|
+
require "byebug/processors/command_processor"
|
5
7
|
|
6
8
|
module Byebug
|
7
9
|
#
|
@@ -140,7 +142,7 @@ module Byebug
|
|
140
142
|
private
|
141
143
|
|
142
144
|
def processor
|
143
|
-
@processor ||= self.class.processor.new(self)
|
145
|
+
@processor ||= self.class.processor.new(self, self.class.interface)
|
144
146
|
end
|
145
147
|
|
146
148
|
#
|
data/lib/byebug/core.rb
CHANGED
@@ -1,13 +1,15 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
9
|
-
require
|
10
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "byebug/helpers/reflection"
|
4
|
+
require "byebug/byebug"
|
5
|
+
require "byebug/context"
|
6
|
+
require "byebug/breakpoint"
|
7
|
+
require "byebug/interface"
|
8
|
+
require "byebug/processors/script_processor"
|
9
|
+
require "byebug/processors/post_mortem_processor"
|
10
|
+
require "byebug/commands"
|
11
|
+
require "byebug/remote"
|
12
|
+
require "byebug/printers/plain"
|
11
13
|
|
12
14
|
#
|
13
15
|
# Main debugger's container module. Everything is defined under this module
|
@@ -21,7 +23,7 @@ module Byebug
|
|
21
23
|
# Configuration file used for startup commands. Default value is .byebugrc
|
22
24
|
#
|
23
25
|
attr_accessor :init_file
|
24
|
-
self.init_file =
|
26
|
+
self.init_file = ".byebugrc"
|
25
27
|
|
26
28
|
#
|
27
29
|
# Debugger's display expressions
|
@@ -33,7 +35,7 @@ module Byebug
|
|
33
35
|
# Running mode of the debugger. Can be either:
|
34
36
|
#
|
35
37
|
# * :attached => Attached to a running program through the `byebug` method.
|
36
|
-
# * :standalone => Started through `
|
38
|
+
# * :standalone => Started through `byebug` script.
|
37
39
|
#
|
38
40
|
attr_accessor :mode
|
39
41
|
|
@@ -47,11 +49,16 @@ module Byebug
|
|
47
49
|
# are debugging, in the directory where you invoke byebug.
|
48
50
|
#
|
49
51
|
def run_init_script
|
50
|
-
rc_dirs.each
|
52
|
+
rc_dirs.each do |dir|
|
53
|
+
rc_file = File.expand_path(File.join(dir, init_file))
|
54
|
+
next unless File.exist?(rc_file)
|
55
|
+
|
56
|
+
run_rc_file(rc_file)
|
57
|
+
end
|
51
58
|
end
|
52
59
|
|
53
60
|
def self.load_settings
|
54
|
-
Dir.glob(File.join(__dir__,
|
61
|
+
Dir.glob(File.join(__dir__, "settings", "*.rb")).each do |file|
|
55
62
|
require file
|
56
63
|
end
|
57
64
|
|
@@ -80,17 +87,10 @@ module Byebug
|
|
80
87
|
#
|
81
88
|
# Runs a initialization script file
|
82
89
|
#
|
83
|
-
def run_rc_file(
|
84
|
-
|
85
|
-
|
86
|
-
rc_file = File.expand_path(File.join(base_path, init_file))
|
87
|
-
return unless File.exist?(rc_file)
|
88
|
-
|
89
|
-
Context.interface = ScriptInterface.new(rc_file)
|
90
|
+
def run_rc_file(rc_file)
|
91
|
+
interface = ScriptInterface.new(rc_file)
|
90
92
|
|
91
|
-
ScriptProcessor.new(nil).process_commands
|
92
|
-
ensure
|
93
|
-
Context.interface = old_interface
|
93
|
+
ScriptProcessor.new(nil, interface).process_commands
|
94
94
|
end
|
95
95
|
|
96
96
|
#
|
@@ -99,7 +99,7 @@ module Byebug
|
|
99
99
|
# @note Files will be loaded in the order specified here.
|
100
100
|
#
|
101
101
|
def rc_dirs
|
102
|
-
[ENV[
|
102
|
+
[ENV["HOME"], Dir.pwd].compact.uniq
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|