byebug 9.1.0 → 10.0.0
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 +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
|
|