TODO.md 5.1 KB

Todo

Documentation

Déplacements

  • déplacements gauche, droite
    • déplacements sur plusieurs lignes
  • déplacements début, fin
    • déplacements sur plusieurs lignes mal positionné
  • déplacements entre mots : à gauche avec ctrl + U et à droite avec ctrl + I
    • positionnement pas exact aux espaces lors des déplacements.
  • déplacement haut et bas entre les lignes avec ctrl + T et ctrl + G
    • gérer les limites avec la longueur de la cmd et le nombre de lignes et de colones
    • bloquer la remontée sur le prompt
    • la descente enmène en première position gauche
    • Ne pas descendre dans le vide de la ligne
    • en descendant, le déplacement se fait en diagonale
  • Utilisation double de Ctrl + U pour monter en haut et déplacement entre les mots vers la gauche.
  • problème de déplacement horizontal sur plusieurs lignes move-word-left, move-left sous iTerm:
    • monte deux fois en allant vers la gauche, car up puis une autre fois grâce à la gestion intégrée d’iTerm
    • ne dessend pas en allant vers la droite : trouvé, voir point suivant
    • conflit potentiel entre up/do et le/nd : up/do doivent être printés avant le/nd
  • Récupérer les Ctrl + <— et Ctrl + —> pour se déplacer entre les mots.

Éditions

  • insertion caractères à l’endroit du curseur
  • insertion sur plusieurs lignes
    • décalage à apporter pour les lignes inférieures
  • suppression droite et gauche sur la même ligne
    • suppression gauche sur plusieurs lignes
    • suppression droite sur plusieurs lignes
  • finir les termcaps lors de l’extinction du 21sh :
    • problèmes de caractères bizarres dans le shell parent
    • ouvrir avant et fermer après chaque actions de termcaps
    • problème possible de caractères dans un filedescriptor
  • lors de l’insertion de caractères en milieu de ligne : la suite n’est pas bufferisée.

Historique

  • flèche du haut, bas pour naviguer dans l’historique des commandes
    • Corriger le fait de pouvoir se déplacer sur le prompt lors de la navigation dans l’historique
    • Corriger le fait que revenir vers l’historique récent, fait sauter une commande
    • e->cmd non assigné à chaîne de caractères vide lors du déplacement dans l’historique et du retour sur la cmd vide
    • impossible d’éxecuter uniquement la première cmd dans l’historique.

Redirections

Hérédocs

  • gérer l’hérédoc avec les termcaps
  • gérer l’édition de ligne : insertion, suppression, déplacements droite et gauche
  • ne plus afficher les caractères des flèches
  • segfault lors de la suppression gauche.
  • ctrl + d faire office d’EOF X [ ] gérer le parsing de "cat -e << EOF >> toto" et la gestion de double redirection en rappelant redirection()
  • gérer le hérédoc puis la redirection
  • des fois la commande n’est pas présente : no such command

Héréthings

  • attente fermeture parenthèses, quotes, double quotes, back quotes, crochets, accolades
  • première ligne non récupérée
  • retrait des cotes
  • quitte à l’exécution : ajout gestion des fork
  • retrait des (, [ et "{".

Gestion des cotes

  • Gérer le parsing des caractères entres côtes
  • balancer dans le pipe les sous-commandes entourées de ``
  • si '|', ';', '<' ou '>' entre les cotes : problème de parsing :
    • parsing au tout début, avant les parsing des ';', '>', '<' et '|'.
    • détection du type de blocs: parsing en conséquence du type de bloc
  • gérer le retrait des cotes
  • retirer les trims qui enlèvent les espaces entre les blocs cotés
  • ne pas remplacer '~' par $HOME pour les blocs cotés
  • pas splitté entre "narsuit" "nrst": mauvaise détection des blocs
  • les espaces entre les entre les blocs non cotés ne sont pas réduits à un espace
  • "ls -a" erreur, pas bien géré

Autres

  • copier, coller avec sélection : utilisation du presse-papier
  • couper
  • Gérer les fuites mémoires avec leaks : libérer toute la mémoire allouée X [x] Placer, par ordre d’exécution, les pipes avant les redirections.
  • ctrl + d: quitter lors ligne vide, ne pas quitter lors ligne remplie
  • ctrl + d: faire office d’eof/eot dans tous les cas du shell (dans ligne courrant, cat, heredoc)
    • retirer les modes des termps caps uniquement à la lecture au prompt classique et heredoc.
    • lors de l’exécution des commandes, en mode cannonique, le caractère d’eof arrête la lecture.
    • cat, écrire qqch, ctrl + d × 2 quitte le cat:
  • gérer le remplacement des variables d’environnement: 'echo $HOME'

Rendu

  • lancer ./deliver.sh
  • Norminette manuelle
  • nettoyer Makefile avec cmd de leaks
  • Dépôt git de la Vogosphère