Привет, ребята, я боролся с автозаполнением и readline, если у меня есть ряд параметров, подобных этому:
["@lorem", "@ipsum", "#bla", "#meh"]
, и я в приглашении поставлю @ (на знак) инажмите клавишу TAB, чтобы отобразить все опции:
what do you want? > @[TAB]
@lorem @ipsum #bla #meh
, но если я использую любой другой знак, он сработает:
what do you want? > #[TAB]
#bla #meh
Это код, который у меня есть:
opts = ["@lorem", "@ipsum", "#bla", "#meh"]
question = "whatever? > "
Readline.completion_append_character = " "
Readline.completion_proc = proc { |s| opts.grep( /^#{Regexp.escape(s)}/ ) }
while value = Readline.readline(question, true)
exit if value == 'q'
puts value.chomp.strip
end
end
Кто-нибудь знает, как я могу сделать так, чтобы Readline знал о @'s?