irb 1.13.1 → 1.13.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 +4 -4
- data/lib/irb/context.rb +5 -4
- data/lib/irb/default_commands.rb +21 -16
- data/lib/irb/init.rb +35 -0
- data/lib/irb/input-method.rb +4 -3
- data/lib/irb/ruby-lex.rb +23 -23
- data/lib/irb/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 243737997cdd6abe7e129eb7e7945dca379f1af38ed4254dfe094f2a611918cc
|
4
|
+
data.tar.gz: 5a1cbbdf5ab88a61278afe32a5497f38efa1342e123734ae3ede6135aae9b91f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b4e5d658e1eba4a0503ffd3776c3baffabb0782eb43a993aac593b6dc4383e9e209ca3c1f077c78225f612a1ac7607f951bc11a2ff8fd78a93e12029fbf1954
|
7
|
+
data.tar.gz: c9e978f318f22d322934b77b8c431830e67a9cb7cf365923041f77123ee5e7d39ffa814a4e7bdd9af759f4671d0b24bd2ae68a9d20beb54b4a0e4248e32ee85f
|
data/lib/irb/context.rb
CHANGED
@@ -73,11 +73,12 @@ module IRB
|
|
73
73
|
|
74
74
|
self.prompt_mode = IRB.conf[:PROMPT_MODE]
|
75
75
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
@irb_name =
|
76
|
+
@irb_name = IRB.conf[:IRB_NAME]
|
77
|
+
|
78
|
+
unless IRB.conf[:SINGLE_IRB] or !defined?(IRB::JobManager)
|
79
|
+
@irb_name = @irb_name + "#" + IRB.JobManager.n_jobs.to_s
|
80
80
|
end
|
81
|
+
|
81
82
|
self.irb_path = "(" + @irb_name + ")"
|
82
83
|
|
83
84
|
case input_method
|
data/lib/irb/default_commands.rb
CHANGED
@@ -2,32 +2,33 @@
|
|
2
2
|
|
3
3
|
require_relative "command"
|
4
4
|
require_relative "command/internal_helpers"
|
5
|
-
require_relative "command/
|
6
|
-
require_relative "command/exit"
|
7
|
-
require_relative "command/force_exit"
|
8
|
-
require_relative "command/chws"
|
9
|
-
require_relative "command/pushws"
|
10
|
-
require_relative "command/subirb"
|
11
|
-
require_relative "command/load"
|
12
|
-
require_relative "command/debug"
|
13
|
-
require_relative "command/edit"
|
5
|
+
require_relative "command/backtrace"
|
14
6
|
require_relative "command/break"
|
15
7
|
require_relative "command/catch"
|
16
|
-
require_relative "command/
|
17
|
-
require_relative "command/
|
18
|
-
require_relative "command/step"
|
8
|
+
require_relative "command/chws"
|
9
|
+
require_relative "command/context"
|
19
10
|
require_relative "command/continue"
|
11
|
+
require_relative "command/debug"
|
12
|
+
require_relative "command/delete"
|
13
|
+
require_relative "command/disable_irb"
|
14
|
+
require_relative "command/edit"
|
15
|
+
require_relative "command/exit"
|
20
16
|
require_relative "command/finish"
|
21
|
-
require_relative "command/
|
22
|
-
require_relative "command/info"
|
17
|
+
require_relative "command/force_exit"
|
23
18
|
require_relative "command/help"
|
24
|
-
require_relative "command/
|
19
|
+
require_relative "command/history"
|
20
|
+
require_relative "command/info"
|
25
21
|
require_relative "command/irb_info"
|
22
|
+
require_relative "command/load"
|
26
23
|
require_relative "command/ls"
|
27
24
|
require_relative "command/measure"
|
25
|
+
require_relative "command/next"
|
26
|
+
require_relative "command/pushws"
|
27
|
+
require_relative "command/show_doc"
|
28
28
|
require_relative "command/show_source"
|
29
|
+
require_relative "command/step"
|
30
|
+
require_relative "command/subirb"
|
29
31
|
require_relative "command/whereami"
|
30
|
-
require_relative "command/history"
|
31
32
|
|
32
33
|
module IRB
|
33
34
|
module Command
|
@@ -235,6 +236,10 @@ module IRB
|
|
235
236
|
[:history, NO_OVERRIDE],
|
236
237
|
[:hist, NO_OVERRIDE]
|
237
238
|
)
|
239
|
+
|
240
|
+
_register_with_aliases(:irb_disable_irb, Command::DisableIrb,
|
241
|
+
[:disable_irb, NO_OVERRIDE]
|
242
|
+
)
|
238
243
|
end
|
239
244
|
|
240
245
|
ExtendCommand = Command
|
data/lib/irb/init.rb
CHANGED
@@ -52,6 +52,7 @@ module IRB # :nodoc:
|
|
52
52
|
IRB.init_error
|
53
53
|
IRB.parse_opts(argv: argv)
|
54
54
|
IRB.run_config
|
55
|
+
IRB.validate_config
|
55
56
|
IRB.load_modules
|
56
57
|
|
57
58
|
unless @CONF[:PROMPT][@CONF[:PROMPT_MODE]]
|
@@ -427,6 +428,40 @@ module IRB # :nodoc:
|
|
427
428
|
@irbrc_files
|
428
429
|
end
|
429
430
|
|
431
|
+
def IRB.validate_config
|
432
|
+
conf[:IRB_NAME] = conf[:IRB_NAME].to_s
|
433
|
+
|
434
|
+
irb_rc = conf[:IRB_RC]
|
435
|
+
unless irb_rc.nil? || irb_rc.respond_to?(:call)
|
436
|
+
raise_validation_error "IRB.conf[:IRB_RC] should be a callable object. Got #{irb_rc.inspect}."
|
437
|
+
end
|
438
|
+
|
439
|
+
back_trace_limit = conf[:BACK_TRACE_LIMIT]
|
440
|
+
unless back_trace_limit.is_a?(Integer)
|
441
|
+
raise_validation_error "IRB.conf[:BACK_TRACE_LIMIT] should be an integer. Got #{back_trace_limit.inspect}."
|
442
|
+
end
|
443
|
+
|
444
|
+
prompt = conf[:PROMPT]
|
445
|
+
unless prompt.is_a?(Hash)
|
446
|
+
msg = "IRB.conf[:PROMPT] should be a Hash. Got #{prompt.inspect}."
|
447
|
+
|
448
|
+
if prompt.is_a?(Symbol)
|
449
|
+
msg += " Did you mean to set `IRB.conf[:PROMPT_MODE]`?"
|
450
|
+
end
|
451
|
+
|
452
|
+
raise_validation_error msg
|
453
|
+
end
|
454
|
+
|
455
|
+
eval_history = conf[:EVAL_HISTORY]
|
456
|
+
unless eval_history.nil? || eval_history.is_a?(Integer)
|
457
|
+
raise_validation_error "IRB.conf[:EVAL_HISTORY] should be an integer. Got #{eval_history.inspect}."
|
458
|
+
end
|
459
|
+
end
|
460
|
+
|
461
|
+
def IRB.raise_validation_error(msg)
|
462
|
+
raise TypeError, msg, @irbrc_files
|
463
|
+
end
|
464
|
+
|
430
465
|
# loading modules
|
431
466
|
def IRB.load_modules
|
432
467
|
for m in @CONF[:LOAD_MODULES]
|
data/lib/irb/input-method.rb
CHANGED
@@ -328,10 +328,11 @@ module IRB
|
|
328
328
|
->() {
|
329
329
|
dialog.trap_key = nil
|
330
330
|
alt_d = [
|
331
|
-
[Reline::Key.new(nil, 0xE4, true)], # Normal Alt+d.
|
332
331
|
[27, 100], # Normal Alt+d when convert-meta isn't used.
|
333
|
-
|
334
|
-
|
332
|
+
# When option/alt is not configured as a meta key in terminal emulator,
|
333
|
+
# option/alt + d will send a unicode character depend on OS keyboard setting.
|
334
|
+
[195, 164], # "ä" in somewhere (FIXME: environment information is unknown).
|
335
|
+
[226, 136, 130] # "∂" Alt+d on Mac keyboard.
|
335
336
|
]
|
336
337
|
|
337
338
|
if just_cursor_moving and completion_journey_data.nil?
|
data/lib/irb/ruby-lex.rb
CHANGED
@@ -219,28 +219,7 @@ module IRB
|
|
219
219
|
:unrecoverable_error
|
220
220
|
rescue SyntaxError => e
|
221
221
|
case e.message
|
222
|
-
when /
|
223
|
-
# "unterminated regexp meets end of file"
|
224
|
-
#
|
225
|
-
# example:
|
226
|
-
# /
|
227
|
-
#
|
228
|
-
# "unterminated string meets end of file"
|
229
|
-
#
|
230
|
-
# example:
|
231
|
-
# '
|
232
|
-
return :recoverable_error
|
233
|
-
when /syntax error, unexpected end-of-input/
|
234
|
-
# "syntax error, unexpected end-of-input, expecting keyword_end"
|
235
|
-
#
|
236
|
-
# example:
|
237
|
-
# if true
|
238
|
-
# hoge
|
239
|
-
# if false
|
240
|
-
# fuga
|
241
|
-
# end
|
242
|
-
return :recoverable_error
|
243
|
-
when /syntax error, unexpected keyword_end/
|
222
|
+
when /unexpected keyword_end/
|
244
223
|
# "syntax error, unexpected keyword_end"
|
245
224
|
#
|
246
225
|
# example:
|
@@ -250,7 +229,7 @@ module IRB
|
|
250
229
|
# example:
|
251
230
|
# end
|
252
231
|
return :unrecoverable_error
|
253
|
-
when /
|
232
|
+
when /unexpected '\.'/
|
254
233
|
# "syntax error, unexpected '.'"
|
255
234
|
#
|
256
235
|
# example:
|
@@ -262,6 +241,27 @@ module IRB
|
|
262
241
|
# example:
|
263
242
|
# method / f /
|
264
243
|
return :unrecoverable_error
|
244
|
+
when /unterminated (?:string|regexp) meets end of file/
|
245
|
+
# "unterminated regexp meets end of file"
|
246
|
+
#
|
247
|
+
# example:
|
248
|
+
# /
|
249
|
+
#
|
250
|
+
# "unterminated string meets end of file"
|
251
|
+
#
|
252
|
+
# example:
|
253
|
+
# '
|
254
|
+
return :recoverable_error
|
255
|
+
when /unexpected end-of-input/
|
256
|
+
# "syntax error, unexpected end-of-input, expecting keyword_end"
|
257
|
+
#
|
258
|
+
# example:
|
259
|
+
# if true
|
260
|
+
# hoge
|
261
|
+
# if false
|
262
|
+
# fuga
|
263
|
+
# end
|
264
|
+
return :recoverable_error
|
265
265
|
else
|
266
266
|
return :other_error
|
267
267
|
end
|
data/lib/irb/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: irb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.13.
|
4
|
+
version: 1.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- aycabta
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2024-
|
12
|
+
date: 2024-06-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: reline
|
@@ -157,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
157
|
- !ruby/object:Gem::Version
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
|
-
rubygems_version: 3.5.
|
160
|
+
rubygems_version: 3.5.11
|
161
161
|
signing_key:
|
162
162
|
specification_version: 4
|
163
163
|
summary: Interactive Ruby command-line tool for REPL (Read Eval Print Loop).
|