rl_replace_line

#include <readline/readline.h>
#include <readline/history.h>

int main() {
    char *line;
    rl_bind_key('\t', rl_complete);
    line = readline("Prompt: ");
    if (line) {
        add_history(line);
        free(line);
    }
    return 0;
}