irb icon indicating copy to clipboard operation
irb copied to clipboard

completion for Symbols

Open no6v opened this issue 5 years ago • 0 comments

Description

completion for Symbols in multiline mode doesn't work well.

What are your expected behavior and actual behavior of your environment?

(TAB) is hit TAB key

expected:

$ irb -f --nomultiline
irb(main):001:0> :verify_t(TAB)ransient_heap_internal_consistency

actual:

$ irb -f --multiline
irb(main):001:0> :verify_t(TAB)(TAB)
:verify_t
:verify_transient_heap_internal_consistency
irb(main):001:0> :verify_tr(TAB)(TAB)
:verify_tr
:verify_transient_heap_internal_consistency
irb(main):001:0> :verify_tra(TAB)(TAB)
:verify_tra
:verify_transient_heap_internal_consistency

In multiline mode irb calls Ripper.lex and RubyVM::InstructionSequence.compile with the intermediate input string, and they create new Symbol, then the completion doesn't go as planned. Is this unavoidable? Global variables are in a similar situation.

Terminal Emulator

What's your terminal emulator? gnome-terminal / xterm on Linux

no6v avatar Feb 06 '20 12:02 no6v