From: Yugui Date: 2011-01-16T22:25:40+09:00 Subject: [ruby-dev:43047] Fwd: [ruby-core:33987] [Ruby 1.9-Feature#4222][Open] Irb tab completion support for the valid (but rare) obj::method invocation syntax --20cf3054a2db675bd70499f69a7f Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =E7=9F=B3=E5=A1=9A=E3=81=95=E3=82=93=E3=80=81 [ruby-core:33987]=E3=81=AE=E4=BB=B6=E3=80=81=E7=8F=BE=E7=8A=B6=E3=81=8C=E6= =84=8F=E5=9B=B3=E3=81=97=E3=81=9F=E4=BB=95=E6=A7=98=E3=81=A8=E3=81=84=E3=81= =86=E8=A8=B3=E3=81=A7=E3=81=AA=E3=81=84=E3=81=AA=E3=82=89=E3=81=B0=E3=83=9E= =E3=83=BC=E3=82=B8=E3=81=97=E3=82=88=E3=81=86=E3=81=8B=E3=81=A8=E6=80=9D=E3= =81=84=E3=81=BE=E3=81=99=E3=81=8C=E3=80=81=E3=81=A9=E3=81=86=E3=81=A7=E3=81= =97=E3=82=87=E3=81=86=E3=81=8B=E3=80=82 ---------- Forwarded message ---------- From: Abinoam P. Marques Jr. Date: Wed, Dec 29, 2010 at 1:10 PM Subject: [ruby-core:33987] [Ruby 1.9-Feature#4222][Open] Irb tab completion support for the valid (but rare) obj::method invocation syntax To: ruby-core@ruby-lang.org Feature #4222: Irb tab completion support for the valid (but rare) obj::method invocation syntax http://redmine.ruby-lang.org/issues/show/4222 Author: Abinoam P. Marques Jr. Status: Open, Priority: Low class MyC =C2=A0def my_method =C2=A0 =C2=A0true =C2=A0end end a =3D MyC.new # This is a valid method invocation syntax (rare, but valid) a::my_method # =3D> true But when you type in irb a:: No tab-completion from irb. a. is working well. So, I think the small patch bellow could implement this feature. Index: lib/irb/completion.rb =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- lib/irb/completion.rb =C2=A0 =C2=A0 =C2=A0 (revis=C3=A3o 30417) +++ lib/irb/completion.rb =C2=A0 =C2=A0 =C2=A0 (c=C3=B3pia de trabalho) @@ -131,7 +131,8 @@ =C2=A0# =C2=A0 =C2=A0 =C2=A0when /^(\$?(\.?[^.]+)+)\.([^.]*)$/ =C2=A0# =C2=A0 =C2=A0 =C2=A0when /^((\.?[^.]+)+)\.([^.]*)$/ - =C2=A0 =C2=A0 =C2=A0when /^([^."].*)\.([^.]*)$/ +# =C2=A0 =C2=A0 =C2=A0when /^([^."].*)\.([^.]*)$/ + =C2=A0 =C2=A0 =C2=A0when /^([^."].*)(?:\.|::)([^.]*)$/ =C2=A0 =C2=A0 =C2=A0 =C2=A0# variable =C2=A0 =C2=A0 =C2=A0 =C2=A0receiver =3D $1 =C2=A0 =C2=A0 =C2=A0 =C2=A0message =3D Regexp.quote($2) I'm at ruby 1.9.2p136 (2010-12-25 revision 30365) [x86_64-linux] Ubuntu 10.04 amd64 ---------------------------------------- http://redmine.ruby-lang.org --=20 Yuki Sonoda (Yugui) yugui@yugui.jp http://yugui.jp --20cf3054a2db675bd70499f69a7f Content-Type: text/x-patch; charset=UTF-8; name="tab-completion-for-rare-method-invocation-syntax.patch" Content-Disposition: attachment; filename="tab-completion-for-rare-method-invocation-syntax.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: 53e07c96a841a21a_0.1 SW5kZXg6IGxpYi9pcmIvY29tcGxldGlvbi5yYgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsaWIvaXJiL2NvbXBs ZXRpb24ucmIJKHJldmlzw6NvIDMwNDE3KQorKysgbGliL2lyYi9jb21wbGV0aW9uLnJiCShjw7Nw aWEgZGUgdHJhYmFsaG8pCkBAIC0xMzEsNyArMTMxLDggQEAKIAogIyAgICAgIHdoZW4gL14oXCQ/ KFwuP1teLl0rKSspXC4oW14uXSopJC8KICMgICAgICB3aGVuIC9eKChcLj9bXi5dKykrKVwuKFte Ll0qKSQvCi0gICAgICB3aGVuIC9eKFteLiJdLiopXC4oW14uXSopJC8KKyMgICAgICB3aGVuIC9e KFteLiJdLiopXC4oW14uXSopJC8KKyAgICAgIHdoZW4gL14oW14uIl0uKikoPzpcLnw6OikoW14u XSopJC8KIAkjIHZhcmlhYmxlCiAJcmVjZWl2ZXIgPSAkMQogCW1lc3NhZ2UgPSBSZWdleHAucXVv dGUoJDIpCg== --20cf3054a2db675bd70499f69a7f--