- Helix est un éditeur de texte modal basé sur le terminal, un projet open source qui intègre des fonctionnalités modernes
- Grâce à l’intégration de Tree-sitter, il offre des fonctions d’édition conscientes de la syntaxe comme la coloration syntaxique, le calcul de l’indentation et la navigation dans le code
- Il prend en charge le Language Server Protocol pour fournir des fonctionnalités de niveau IDE comme l’autocomplétion, l’accès à la définition, la consultation de la documentation et les diagnostics
- Écrit en Rust, il fonctionne sans Electron ni JavaScript et peut être utilisé efficacement dans des environnements SSH·tmux·terminal
- Le système de plugins et le frontend GUI sont prévus pour plus tard, avec comme caractéristiques une base de code légère et une configuration moderne par défaut
Caractéristiques principales
- Helix utilise comme unité d’édition centrale un système de multi-sélection et de curseurs inspiré de Kakoune
- Les commandes manipulent plusieurs zones sélectionnées simultanément, ce qui permet une édition de code en parallèle
- Il utilise Tree-sitter pour générer des arbres syntaxiques tolérants aux erreurs
- Cela permet une coloration syntaxique précise, une indentation automatique et des fonctions de navigation dans le code
Manipulation et navigation dans le code
- Il fournit des fonctions de sélection et de déplacement par nœuds de l’arbre syntaxique pour les fonctions, classes, commentaires, etc.
- Cela permet une édition basée sur la structure syntaxique, et non sur le simple texte
- Via le Language Server Protocol (LSP), il offre selon le langage des fonctions d’autocomplétion, d’accès à la définition, de consultation de la documentation et de diagnostics
- Des fonctionnalités de niveau IDE sont ainsi disponibles dans le terminal sans configuration supplémentaire
Fondations techniques
- Écrit en Rust, il garantit stabilité et performances
- Il n’utilise ni Electron, ni VimScript, ni JavaScript
- Il peut fonctionner dans des environnements SSH, tmux et terminal classique
- Sa structure légère améliore l’efficacité énergétique
Fonctionnalités modernes intégrées
- Un fuzzy finder permet d’explorer les fichiers et symboles, ainsi que d’effectuer une recherche à l’échelle du projet
- Il intègre diverses fonctions pratiques comme la fermeture automatique des parenthèses, l’intégration de surround et la personnalisation des thèmes
- Sa structure offre une riche intégration des fonctions de base sans plugin séparé
Questions fréquentes
- L’expression « postmoderne » est une plaisanterie signifiant que si Neovim est un « Vim moderne », alors Helix appartient à la génération suivante
- Un frontend GUI est prévu à l’avenir sous la forme d’un prototype basé sur WebGPU
- Le système de plugins n’est actuellement pas implémenté, mais son introduction est prévue plus tard
- Par rapport à Kakoune, Helix intègre davantage de fonctionnalités et utilise une analyse du code basée sur Tree-sitter
- Contrairement à Vim, Helix a été conçu de zéro, avec une base de code réduite et des valeurs par défaut modernes nécessitant très peu d’ajustements de configuration
Communauté et participation
- Il est possible de contribuer au code sur GitHub
- Les discussions autour du projet ont lieu sur le canal Matrix
- Le développement peut être soutenu via OpenCollective
Aucun commentaire pour le moment.