Conclusão da guia do aplicativo do console .NET
Pergunta
Alguma idéia sobre como implementar o preenchimento de tabulação para um aplicativo de console .NET (C#)?E quero dizer, dentro de um aplicativo que é executado e, em seguida, faz um loop para a entrada do usuário (como se você executasse ftp.exe sem nenhum argumento), assim:
string line = string.Empty;
while (line != "exit")
{
//do something here
Console.ReadLine();
}
Eu sei que provavelmente não poderia usar o readline, mas gostaria de poder completar a guia no mesmo ponto em que você recupera a entrada do usuário.
Solução
Dê uma olhada neste código do projeto Monohttp://tirania.org/blog/archive/2008/Aug-26.htmlBrinquei com ele outro dia.Ele faz muita edição de linha de comando, mas não acho que complete a linha.
Outras dicas
Faça um Console.ReadKey().
Se você obtiver uma guia, veja o que você tem no buffer de comando e percorra os comandos disponíveis.Se someCommand.Name.BeginsWith(currentinput)
, você tem um vencedor e pode escrever na tela uma lista de comandos possíveis.
Se existe apenas um (TM) você pode substituí-lo pelo que o usuário digitou :)
Criei uma pequena biblioteca para adicionar essa funcionalidade a um aplicativo que fiz:
https://github.com/fjunqueira/hinter
Pode não atender às suas necessidades, mas você pode editá-lo.