irb 1.3.8.pre.9 → 1.3.8.pre.10
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/doc/irb/irb.rd.ja +6 -0
- data/irb.gemspec +1 -1
- data/lib/irb/completion.rb +20 -16
- data/lib/irb/context.rb +16 -1
- data/lib/irb/lc/help-message +7 -1
- data/lib/irb/ruby-lex.rb +14 -2
- data/lib/irb/version.rb +2 -2
- data/lib/irb.rb +7 -1
- data/man/irb.1 +11 -1
- metadata +9 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 64245fa0213491e1a1340223cad9978a831a4cb95c30583947d1580f781fa916
|
|
4
|
+
data.tar.gz: 971cb2a3ef3631d3489202f13e070c43966d4e981dae846ca2756248afb2285f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1547d50d86acaeeb7edc4dc0d68fd9cf2f025f82f1f7e47728d8212776506cd485dcd96c39c5b429e8b7c2f83afc1698042b976797fa2e26d4ba2b4faba7e186
|
|
7
|
+
data.tar.gz: d18b3174329d2c7f253dfcfbff40656ceaf2fd42fa603468e0bb48eba6e4057c6e5fdc06874f1d7701f5be47d072aa0aa2b024bdb7e8a80e6644041e2af5b03e
|
data/doc/irb/irb.rd.ja
CHANGED
|
@@ -51,6 +51,12 @@ irbの使い方は, Rubyさえ知っていればいたって簡単です. 基本
|
|
|
51
51
|
オブジェクトの作成方法を 0 から 3 のいずれかに設定する.
|
|
52
52
|
--echo 実行結果を表示する(デフォルト).
|
|
53
53
|
--noecho 実行結果を表示しない.
|
|
54
|
+
--echo-on-assignment
|
|
55
|
+
代入時に実行結果を表示する.
|
|
56
|
+
--noecho-on-assignment
|
|
57
|
+
代入時に実行結果を表示しない.
|
|
58
|
+
--truncate-echo-on-assignment
|
|
59
|
+
代入時に省略された実行結果を表示する(デフォルト).
|
|
54
60
|
--inspect 結果出力にinspectを用いる.
|
|
55
61
|
--noinspect 結果出力にinspectを用いない.
|
|
56
62
|
--singleline シングルラインエディタを利用する.
|
data/irb.gemspec
CHANGED
data/lib/irb/completion.rb
CHANGED
|
@@ -59,23 +59,27 @@ module IRB
|
|
|
59
59
|
File.join(s.full_gem_path, p)
|
|
60
60
|
end
|
|
61
61
|
}
|
|
62
|
-
}.flatten
|
|
63
|
-
(gem_paths
|
|
62
|
+
}.flatten if defined?(Gem::Specification)
|
|
63
|
+
(gem_paths.to_a | $LOAD_PATH).sort
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
def self.retrieve_files_to_require_from_load_path
|
|
67
|
-
@@files_from_load_path ||=
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
67
|
+
@@files_from_load_path ||=
|
|
68
|
+
(
|
|
69
|
+
shortest = []
|
|
70
|
+
rest = retrieve_gem_and_system_load_path.each_with_object([]) { |path, result|
|
|
71
|
+
begin
|
|
72
|
+
names = Dir.glob("**/*.{rb,#{RbConfig::CONFIG['DLEXT']}}", base: path)
|
|
73
|
+
rescue Errno::ENOENT
|
|
74
|
+
nil
|
|
75
|
+
end
|
|
76
|
+
next if names.empty?
|
|
77
|
+
names.map! { |n| n.sub(/\.(rb|#{RbConfig::CONFIG['DLEXT']})\z/, '') }.sort!
|
|
78
|
+
shortest << names.shift
|
|
79
|
+
result.concat(names)
|
|
80
|
+
}
|
|
81
|
+
shortest.sort! | rest
|
|
82
|
+
)
|
|
79
83
|
end
|
|
80
84
|
|
|
81
85
|
def self.retrieve_files_to_require_relative_from_current_dir
|
|
@@ -188,7 +192,7 @@ module IRB
|
|
|
188
192
|
sym = $1
|
|
189
193
|
candidates = Symbol.all_symbols.collect do |s|
|
|
190
194
|
":" + s.id2name.encode(Encoding.default_external)
|
|
191
|
-
rescue
|
|
195
|
+
rescue EncodingError
|
|
192
196
|
# ignore
|
|
193
197
|
end
|
|
194
198
|
candidates.grep(/^#{Regexp.quote(sym)}/)
|
|
@@ -286,7 +290,7 @@ module IRB
|
|
|
286
290
|
all_gvars.grep(Regexp.new(Regexp.quote(gvar)))
|
|
287
291
|
end
|
|
288
292
|
|
|
289
|
-
when /^([
|
|
293
|
+
when /^([^.:"].*)(\.|::)([^.]*)$/
|
|
290
294
|
# variable.func or func.func
|
|
291
295
|
receiver = $1
|
|
292
296
|
sep = $2
|
data/lib/irb/context.rb
CHANGED
|
@@ -264,13 +264,28 @@ module IRB
|
|
|
264
264
|
#
|
|
265
265
|
# a = "omg"
|
|
266
266
|
# #=> omg
|
|
267
|
+
#
|
|
267
268
|
# a = "omg" * 10
|
|
268
269
|
# #=> omgomgomgomgomgomgomg...
|
|
270
|
+
#
|
|
269
271
|
# IRB.CurrentContext.echo_on_assignment = false
|
|
270
272
|
# a = "omg"
|
|
273
|
+
#
|
|
271
274
|
# IRB.CurrentContext.echo_on_assignment = true
|
|
272
|
-
# a = "omg"
|
|
275
|
+
# a = "omg" * 10
|
|
273
276
|
# #=> omgomgomgomgomgomgomgomgomgomg
|
|
277
|
+
#
|
|
278
|
+
# To set the behaviour of showing on assignment in irb:
|
|
279
|
+
#
|
|
280
|
+
# IRB.conf[:ECHO_ON_ASSIGNMENT] = :truncate or true or false
|
|
281
|
+
#
|
|
282
|
+
# or
|
|
283
|
+
#
|
|
284
|
+
# irb_context.echo_on_assignment = :truncate or true or false
|
|
285
|
+
#
|
|
286
|
+
# or
|
|
287
|
+
#
|
|
288
|
+
# IRB.CurrentContext.echo_on_assignment = :truncate or true or false
|
|
274
289
|
attr_accessor :echo_on_assignment
|
|
275
290
|
# Whether a newline is put before multiline output.
|
|
276
291
|
#
|
data/lib/irb/lc/help-message
CHANGED
|
@@ -20,8 +20,14 @@ Usage: irb.rb [options] [programfile] [arguments]
|
|
|
20
20
|
-W[level=2] Same as `ruby -W`
|
|
21
21
|
--context-mode n Set n[0-4] to method to create Binding Object,
|
|
22
22
|
when new workspace was created
|
|
23
|
-
--echo Show result(default)
|
|
23
|
+
--echo Show result (default)
|
|
24
24
|
--noecho Don't show result
|
|
25
|
+
--echo-on-assignment
|
|
26
|
+
Show result on assignment
|
|
27
|
+
--noecho-on-assignment
|
|
28
|
+
Don't show result on assignment
|
|
29
|
+
--truncate-echo-on-assignment
|
|
30
|
+
Show truncated result on assignment (default)
|
|
25
31
|
--inspect Use `inspect' for output
|
|
26
32
|
--noinspect Don't use inspect for output
|
|
27
33
|
--multiline Use multiline editor module
|
data/lib/irb/ruby-lex.rb
CHANGED
|
@@ -207,7 +207,7 @@ class RubyLex
|
|
|
207
207
|
last_line = lines[line_index]&.byteslice(0, byte_pointer)
|
|
208
208
|
code += last_line if last_line
|
|
209
209
|
@tokens = self.class.ripper_lex_without_warning(code, context: context)
|
|
210
|
-
corresponding_token_depth = check_corresponding_token_depth
|
|
210
|
+
corresponding_token_depth = check_corresponding_token_depth(lines, line_index)
|
|
211
211
|
if corresponding_token_depth
|
|
212
212
|
corresponding_token_depth
|
|
213
213
|
else
|
|
@@ -603,7 +603,7 @@ class RubyLex
|
|
|
603
603
|
depth_difference
|
|
604
604
|
end
|
|
605
605
|
|
|
606
|
-
def check_corresponding_token_depth
|
|
606
|
+
def check_corresponding_token_depth(lines, line_index)
|
|
607
607
|
corresponding_token_depth = nil
|
|
608
608
|
is_first_spaces_of_line = true
|
|
609
609
|
is_first_printable_of_line = true
|
|
@@ -611,6 +611,11 @@ class RubyLex
|
|
|
611
611
|
spaces_at_line_head = 0
|
|
612
612
|
open_brace_on_line = 0
|
|
613
613
|
in_oneliner_def = nil
|
|
614
|
+
|
|
615
|
+
if heredoc_scope?
|
|
616
|
+
return lines[line_index][/^ */].length
|
|
617
|
+
end
|
|
618
|
+
|
|
614
619
|
@tokens.each_with_index do |t, index|
|
|
615
620
|
# detecting one-liner method definition
|
|
616
621
|
if in_oneliner_def.nil?
|
|
@@ -817,5 +822,12 @@ class RubyLex
|
|
|
817
822
|
end
|
|
818
823
|
false
|
|
819
824
|
end
|
|
825
|
+
|
|
826
|
+
private
|
|
827
|
+
|
|
828
|
+
def heredoc_scope?
|
|
829
|
+
heredoc_tokens = @tokens.select { |t| [:on_heredoc_beg, :on_heredoc_end].include?(t.event) }
|
|
830
|
+
heredoc_tokens[-1]&.event == :on_heredoc_beg
|
|
831
|
+
end
|
|
820
832
|
end
|
|
821
833
|
# :startdoc:
|
data/lib/irb/version.rb
CHANGED
data/lib/irb.rb
CHANGED
|
@@ -62,8 +62,14 @@ require_relative "irb/easter-egg"
|
|
|
62
62
|
# -W[level=2] Same as `ruby -W`
|
|
63
63
|
# --context-mode n Set n[0-4] to method to create Binding Object,
|
|
64
64
|
# when new workspace was created
|
|
65
|
-
# --echo Show result(default)
|
|
65
|
+
# --echo Show result (default)
|
|
66
66
|
# --noecho Don't show result
|
|
67
|
+
# --echo-on-assignment
|
|
68
|
+
# Show result on assignment
|
|
69
|
+
# --noecho-on-assignment
|
|
70
|
+
# Don't show result on assignment
|
|
71
|
+
# --truncate-echo-on-assignment
|
|
72
|
+
# Show truncated result on assignment (default)
|
|
67
73
|
# --inspect Use `inspect' for output
|
|
68
74
|
# --noinspect Don't use inspect for output
|
|
69
75
|
# --multiline Use multiline editor module
|
data/man/irb.1
CHANGED
|
@@ -106,12 +106,22 @@ Doesn't use singleline editor module.
|
|
|
106
106
|
.Pp
|
|
107
107
|
.Pp
|
|
108
108
|
.It Fl -echo
|
|
109
|
-
Show result(default).
|
|
109
|
+
Show result (default).
|
|
110
110
|
.Pp
|
|
111
111
|
.It Fl -noecho
|
|
112
112
|
Don't show result.
|
|
113
113
|
.Pp
|
|
114
114
|
.Pp
|
|
115
|
+
.It Fl -echo-on-assignment
|
|
116
|
+
Show result on assignment.
|
|
117
|
+
.Pp
|
|
118
|
+
.It Fl -noecho-on-assignment
|
|
119
|
+
Don't show result on assignment.
|
|
120
|
+
.Pp
|
|
121
|
+
.It Fl -truncate-echo-on-assignment
|
|
122
|
+
Show truncated result on assignment (default).
|
|
123
|
+
.Pp
|
|
124
|
+
.Pp
|
|
115
125
|
.It Fl -colorize
|
|
116
126
|
Use colorization.
|
|
117
127
|
.Pp
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: irb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.8.pre.
|
|
4
|
+
version: 1.3.8.pre.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Keiju ISHITSUKA
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-10-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: reline
|
|
15
|
-
prerelease: false
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
16
|
requirements:
|
|
18
17
|
- - ">="
|
|
19
18
|
- !ruby/object:Gem::Version
|
|
20
|
-
version: 0.2.8.pre.
|
|
19
|
+
version: 0.2.8.pre.10
|
|
21
20
|
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: 0.2.8.pre.
|
|
26
|
+
version: 0.2.8.pre.10
|
|
27
27
|
description: Interactive Ruby command-line tool for REPL (Read Eval Print Loop).
|
|
28
28
|
email:
|
|
29
29
|
- keiju@ruby-lang.org
|
|
@@ -97,7 +97,7 @@ licenses:
|
|
|
97
97
|
- Ruby
|
|
98
98
|
- BSD-2-Clause
|
|
99
99
|
metadata: {}
|
|
100
|
-
post_install_message:
|
|
100
|
+
post_install_message:
|
|
101
101
|
rdoc_options: []
|
|
102
102
|
require_paths:
|
|
103
103
|
- lib
|
|
@@ -112,8 +112,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
112
112
|
- !ruby/object:Gem::Version
|
|
113
113
|
version: 1.3.1
|
|
114
114
|
requirements: []
|
|
115
|
-
rubygems_version: 3.
|
|
116
|
-
signing_key:
|
|
115
|
+
rubygems_version: 3.2.22
|
|
116
|
+
signing_key:
|
|
117
117
|
specification_version: 4
|
|
118
118
|
summary: Interactive Ruby command-line tool for REPL (Read Eval Print Loop).
|
|
119
119
|
test_files: []
|