Greadline est un prompt Linux qui se veut similaire à C readline mais en ligne de commande.
Go to file
Benjamin VAUDOUR c886b16df3 Typo
2024-03-02 14:44:43 +01:00
.gitignore Initial commit 2023-11-04 10:42:57 +00:00
go.mod Typo 2024-03-02 14:44:43 +01:00
go.sum Renommage du package suite au renommage du repo + màj des dépendances 2024-03-02 14:36:01 +01:00
LICENSE Initial commit 2023-11-04 10:42:57 +00:00
readline.go Renommage du package suite au renommage du repo + màj des dépendances 2024-03-02 14:36:01 +01:00
README.md Renommage du package suite au renommage du repo + màj des dépendances 2024-03-02 14:36:01 +01:00

greadline

Greadline est un prompt Linux qui se veut similaire à C readline mais en ligne de commande.

Utilisationtypique

Greadline peut être utilisé de la façon suivante:

package main

import (
    "fmt"
    "os"
    "gitea.zaclys.net/bvaudour/greadline"
)

func main() {
    prompt := "\033[1;31m> \033[m"
    rl := greadline.New()
    defer greadline.Close()
    for {
        input := rl.Prompt(prompt) // rl.PromptPassword(prompt) pour masquer ce qui est saisi
        if result, ok := input.Ok(); ok {
            //@TODO Do some stuff with input
            if result == "exit" {
                return
            }
        } else if err, ok := input.Err(); ok {
            fmt.Printf("\033[1,31mErreur système : %s\033[m\n", err)
            os.Exit(1)
        }
    }
}

Raccourcis clavier disponibles

Raccourci clavier Action
Ctrl+A, Home Retour au début de la saisie
Ctrl+E, End Retour à la fin de la saisie
Ctrl+B, Left Déplacement dun caractère vers la gauche
Ctrl+F, Right Déplacement dun caractère vers la droite
Alt+B, Ctrl+Left Déplacement dun mot vers la gauche
Alt+F, Ctrl+Right Déplacement dun mot vers la droite
Ctrl+U Suppression de tous les caractères du début de la ligne au curseur (curseur non compris)
Ctrl+K Suppression de tous les carctères du curseur (compris) à la fin de la ligne
Ctrl+D (si saisie commencée), Del Suppression du caractère sous le curseur
Ctrl+D (si ligne vide) Termine lapplication (EOF)
Ctrl+H, Backspace Suppression du caractère avant le curseur
Alt+D, Alt+Del Suppression du prochain mot
Alt+Backspace Suppression du précédent mot
Ctrl+C Termine lapplication (avec erreur)
Ctrl+P, Up (si ligne vide au départ) Remonte à lhistorique précédent
Ctrl+N, Down (si ligne vide au départ) Descend dans lhistorique
Ctrl+R, Up (si ligne non vide) Recherche dans lhistorique (par préfixe de ligne) à partir de la fin
Ctrl+S, Down (si ligne non vide) Recherche dans lhistorique (par préfixe de ligne) à partir du début
Ctrl+Y Copie le dernier élément supprimé
Alt+Y Remonte dans lhistorique des éléments supprimés et les copie (implique Ctrl+Y précédemment lancé)
Ctrl+G, Cancel Annule les dernières actions temporaires (historique, recherche, copie, historique de copie)