Un'istanza di Cmd possiede i seguenti metodi:
[intro]) |
L'argomento facoltativo è un titolo o una stringa di introduzione che viene mostrata prima del primo prompt (questo sovrascrive il membro di classe intro).
Se viene caricato il modulo readline, l'input erediterà automaticamente la gestione dello storico tipica delle shell simili alla bash (per es.: Control-P mostra il comando precedente, Control-N quello successivo, Control-F muove il cursore a destra in maniera non distruttiva, Control-B muove il cursore a sinistra in maniera non ditruttiva, etc.).
In fondo all'input viene inserita la fine del file tramite la stringa
'EOF'
.
Un'istanza dell'interprete individuerà un comando di nome "foo"se e solo se possiede un metodo di nome do_foo(). Come caso speciale, viene inviata al metodo do_help() una riga che inizia con il carattere "?". Come altro caso speciale, viene inviato al metodo do_shell()(sempre che sia stato definito) una riga che inizia con il carattere "!".
Se il completamento è abilitato, verrà eseguito automaticamente il completamento dei comandi, e in particolare avverrà chiamando la funzione complete_foo() con gli argomenti text, line, begidx ed endidx. text è il prefisso della stringa che stiamo cercando di completare: tutte le corrispondenze devono iniziare con text. line è la riga di input corrente senza lo spazio bianco iniziale, mentre begidx ed endidx sono gli indici iniziale e finale del testo prefissato, che possono essere usati per ottenere diversi tipi di completamento in base alla posizione occupata dal testo all'interno della stringa che si vuole ottenere.
Tutte le sotto classi di Cmd ereditano un metodo predefinito
do_help(). Questo, chiamato con un argomento 'bar'
,
invoca il corrispondente metodo help_bar(). Senza argomenti,
do_help() elenca tutte le possibili richieste di aiuto (cioè,
tutti i comandi con il metodo help_*() corrispondente),
oltre a tutti i comandi non documentati.
str) |
) |
line) |
text, line, begidx, endidx) |
line) |
stop, line) |
) |
) |
Le istanze delle sotto classi di Cmd possiedono alcune variabili d'istanza pubbliche: