Présentation de Rhun

Rhun est un éditeur de texte open‑source publié sous licence MIT (v0.16.2). Il se distingue par son implémentation en langage d’assemblage, ce qui réduit la taille du binaire et minimise les dépendances externes. Le projet cible Windows, Linux et macOS, et propose 39 thèmes clairs et sombres accessibles depuis l’interface.

Architecture et choix de l'assembleur

Le code source en assembleur permet d’accéder directement aux instructions processeur, limitant ainsi le surcoût d’abstraction des bibliothèques de haut niveau. Cette approche explique la rapidité d’affichage et la faible latence lors du défilement de fichiers volumineux. En contrepartie, la portabilité dépend de la disponibilité d’un assembleur compatible avec chaque architecture cible, ce qui impose un effort de maintenance supplémentaire pour chaque mise à jour du système d’exploitation.

Le binaire est distribué via un script d’installation unique :

curl -fsSL https://github.com/vshvedov/rhun/releases/latest/download/install.sh | sh
. Ce script télécharge la version pré‑compilée adaptée à l’OS, ce qui simplifie le déploiement mais masque la compilation locale, limitant la visibilité sur les options d’optimisation appliquées.

Fonctionnalités intégrées et extensibilité

Rhun propose les fonctions classiques d’un éditeur : onglets, coloration syntaxique, recherche floue et mode Vim optionnel. Il intègre également un terminal intégré, permettant d’exécuter des builds ou des commandes shell sans quitter l’application. Le support Git inclut la visualisation de diff, le staging et la rédaction de messages de commit, ce qui réduit le besoin d’outils externes.

Une couche d’intelligence artificielle est disponible en option. Les utilisateurs peuvent connecter leurs abonnements à Claude Code ou Codex pour générer du code ou des suggestions directement dans l’éditeur. Cette fonctionnalité repose sur des appels API externes et n’est pas intégrée dans le binaire, préservant ainsi la légèreté du cœur de l’application.

Analyse des limites et perspectives

Le principal compromis réside dans la maintenabilité du code assembleur : chaque modification nécessite une expertise bas‑niveau, ce qui peut ralentir l’ajout de nouvelles fonctionnalités. De plus, l’absence de modules plug‑in dynamiques limite la personnalisation au-delà des thèmes fournis. La dépendance aux services d’IA externes introduit un point de défaillance réseau et une exposition potentielle des données de code.

Malgré ces contraintes, l’approche assembleur démontre qu’un éditeur de texte moderne peut rester compact tout en offrant des capacités de développement avancées. Les futures versions pourraient envisager une compilation locale configurable, afin de rendre transparentes les optimisations appliquées et d’élargir la compatibilité aux architectures non x86.