Je sais comment utiliser les fonctions d'achèvement personnalisées avec Term :: Readline :: Gnu (Perl), par ex.Term :: Readline :: Gnu - comment utiliser complete_internal (si possible ..)?
str list_completion_function(str text, int state)
http://search.cpan.org/dist/Term-ReadLine-Gnu/Gnu.pm#Custom_Completion https://cnswww.cns.cwru.edu/php/chet/readline/readline.html#SEC47
$attribs->{attempted_completion_function } = sub {
my ($text, $line, $start, $end) = @_;
my @cmds = ('one', 'two', 'three');
$attribs->{completion_word} = \@cmds;
return $term->completion_matches($text, $attribs->{'list_completion_function'});
};
..mais je ne suis absolument pas obtenir comment utiliser complete_internal:
int rl_complete_internal(int what_to_do = TAB)
http://search.cpan.org/dist/Term-ReadLine-Gnu/Gnu.pm#Custom_Completion
De la GNU Readline Docs:
Une valeur de ?' means list the possible completions.
TAB 'signifie l'achèvement standard. *' means insert all of the possible completions.
! ' signifie pour afficher toutes les commandes possibles (...)
https://cnswww.cns.cwru.edu/php/chet/readline/readline.html#SEC47
Cela me semble gnu-readline a une "cisco-like"/routeur en mode cli - mais peut-être que je reçois quelque chose de complètement mal ici? Et s'il y a quelque chose comme ça; comment puis-je passer des données d'achèvement personnalisées à l'aide de Term :: Readline :: Gnu? Je ai cherché SO, GitHub Code, Google etc pp et je suis presque certain de manquer (comprendre) quelque chose.
ce serait génial si tu pouvais m'éclaircir.
Merci beaucoup Håkon! J'étais en vacances et je suis resté à l'écart du clavier - je regarderai de plus près votre code au cours des prochains jours, puis je ferai des commentaires. –