Hé les gars, j'ai été aux prises avec autocomplétion et readline, si j'ai un éventail d'options comme ceci:cordes Autocomplete commençant par un @ (arobase) avec Readline Ruby
["@lorem", "@ipsum", "#bla", "#meh"]
et je suis dans l'invite d'un mettre le @ (arobase) et appuyez sur TAB il montre toutes les options:
what do you want? > @[TAB]
@lorem @ipsum #bla #meh
mais si je l'utilise tout autre signe: ça marche
what do you want? > #[TAB]
#bla #meh
C'est le code que j'ai jusqu'à présent:
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
Est-ce que quelqu'un sait comment puis-je faire Readline au courant de l '@?
Pouvez-vous nous montrer ce code que vous avez à ce jour? –
Je viens de mettre à jour le poste avec le code, merci. – raf