Documentation‎ > ‎Articles‎ > ‎

Historique de la console

publié le 3 juin 2011 à 19:16 par REBOL FRANCE   [ mis à jour : 4 juin 2011 à 14:29 ]

Comment gérer l'historique de la console ?

Très simple (comme REBOL ;)) avec cette fonction :

hist: funct [/save /recall] [
if save [
write/lines %hist.r head reverse copy rebol/console/history
return
]
if recall [
d: copy system/console/history 
  forall d [print rejoin [index? d " : " first d]] 
  do pick head d to-integer ask "-> "
return
]
d: copy system/console/history 
 forall d [print rejoin [index? d " : " first d]] 
]

Cette fonction permet d'afficher l'historique de la console, de rappeler une ligne saisie dans la console et de sauvegarder dans un fichier %console-hist.r l'historique de la console.

Tout est basé sur l'accès à :

system/console/history

qui contient l'historique des chaînes de caractères saisie dans la console de l'interpréteur REBOL.

Voici l'objet system/console :

make object! [
    history: ["probe system/console"]
    keys: none
    prompt: ">> "
    result: "== "
    escape: "(escape)"
    busy: "|/-\"
    tab-size: 4
    break: true
    lookup: func [
        "Console filename completion lookup."
        file /value
    ][
        if #"/" <> last file [file: first split-path file]
        attempt [read file]
    ]
]

Dans les propriétés intéressantes, on peut noter prompt qui permet de redéfinir l'invite, tab-size qui permet de définir la tabulation. 

Nicolas


Comments