Introduction
Dans l'univers des éditeurs de texte, Emacs occupe une place particulière avec sa capacité d'être étendu et personnalisé. Parmi les nombreuses extensions disponibles, Ghostel.el se démarque en tant qu'émulateur de terminal utilisant le moteur moderne libghostty. Ce projet s'inspire de emacs-libvterm, mais se distingue par l'utilisation de la technologie de pointe de Ghostty pour améliorer les performances et la flexibilité.
Qu'est-ce que Ghostel.el ?
Ghostel.el est un émulateur de terminal pour Emacs, propulsé par libghostty-vt, un moteur VT moderne. Le module dynamique natif est écrit en Zig, gérant l'état du terminal, le rendu et l'I/O PTY local. Elisp est utilisé pour gérer les keymaps, les buffers, les commandes et l'intégration des processus distants.
Fonctionnalités principales
- Émulation de Terminal : Ghostel offre une émulation de terminal riche avec des fonctionnalités avancées telles que l'intégration de shell, la détection automatique des mots de passe, et la possibilité d'exécuter des commandes Elisp directement depuis le shell.
- Support des Images Inline : Grâce au protocole graphique Kitty, Ghostel prend en charge l'affichage d'images inline, bien que cela ait des limitations.
- Intégration TRAMP : Pour ceux qui travaillent avec des terminaux distants, Ghostel offre une intégration TRAMP robuste, permettant d'injecter automatiquement les configurations nécessaires.
- Modes d'entrée multiples : Avec plusieurs modes d'entrée, y compris le mode Emacs et le mode semi-caractère, l'utilisateur a un contrôle total sur son interaction avec le terminal.
Installation et Configuration
Prérequis
Ghostel nécessite Emacs 30+ pour fonctionner correctement. L'installation peut être réalisée via MELPA ou manuellement si besoin.
Installation
Pour installer via MELPA, ajoute simplement le package à ton fichier de configuration Emacs : ``elisp (use-package ghostel :ensure t) ` Pour une installation manuelle, télécharge le code source depuis le dépôt GitHub et ajoute-le à ton load-path`.
Comparaison avec d'autres émulateurs
Ghostel se positionne comme une alternative viable à d'autres émulateurs comme vterm et eat. Sa principale différence réside dans l'utilisation de libghostty qui offre une meilleure gestion des processus et un rendu plus fluide.
Performances
Les tests montrent que Ghostel a une latence de frappe réduite et une absorption des rafales améliorée par rapport aux alternatives basées sur Emacs PTY.
Extensions et Intégrations
Ghostel est compatible avec de nombreuses extensions Emacs. Parmi celles-ci, on trouve Evil-mode pour les utilisateurs de Vim, et eshell pour une intégration shell native.
Conclusion
Ghostel.el se démarque comme une solution moderne et performante pour quiconque utilise Emacs en tant qu'IDE ou environnement de développement complet. Avec ses fonctionnalités avancées et son intégration fluide, il est prêt à devenir un outil incontournable pour les développeurs exigeants.
Discutons de ton projet en 15 minutes.