En 2014, GitHub a lancé la première version d’Atom, un éditeur de texte pour les développeurs. La totalité du code source a été disponible en open source sous licence MIT la même année, ce qui implique que les développeurs avaient alors accès au code de base de l’application, au code de son gestionnaire de packages pour l’installation des extensions tierces à Atom Shell et au code du framework de l’application Desktop.
Hier, dans un billet sur GitHub, Max Brunsfeld a annoncé les améliorations qui ont été apportées à l’éditeur de texte. En préambule, il essaye de mettre la nécessité de ces évolutions en contexte :
« Les éditeurs de texte tels qu'Atom possèdent de nombreuses fonctionnalités qui facilitent la lecture et l'écriture de code. La coloration syntaxique et le pliage du code (fonctionnalité que certains IDE, éditeurs de texte ou éditeurs de code source ont de pouvoir cacher ou afficher une sélection) sont deux des exemples les plus importants. Pendant des décennies, tous les principaux éditeurs de texte ont implémenté ce type de fonctionnalités basées sur une compréhension très grossière du code, obtenue en recherchant des modèles d'expression simples et réguliers. Cette approche a considérablement limité l'utilité des éditeurs de texte.
« Chez GitHub, nous souhaitons explorer de nouvelles façons de rendre la programmation intuitive et agréable. Nous avons donc développé un système d’analyse syntaxique appelé Tree-sitter, qui servira de nouvelle base pour l’analyse de code dans Atom. Tree-sitter permet à Atom d’analyser votre code pendant que vous tapez, tout en maintenant un arbre de syntaxe décrivant précisément la structure de votre code. Nous avons activé le nouveau système par défaut dans Atom, apportant un certain nombre d’améliorations ».
Mise en surbrillance de la syntaxe
La coloration syntaxique d’Atom est maintenant basée sur les arbres de syntaxe fournis par Tree-sitter. Cela permet à l’éditeur d’utiliser la couleur pour décrire la structure de votre code plus clairement qu’avant. Max recommande de noter la cohérence avec laquelle les champs, les fonctions, les mots-clés, les types et les variables sont mis en surbrillance dans divers langages :
Un pliage de code plus fiable
Dans la plupart des éditeurs de texte, le repliement du code est basé sur l'indentation: les lignes avec une plus grande indentation sont considérées comme étant imbriquées plus profondément que les lignes avec moins d'indentation. Mais cela ne correspond pas toujours à la structure de notre code et peut rendre le pliage de code inutile dans certains fichiers. Avec Tree-sitter, Atom plie le code en fonction de sa syntaxe, ce qui permet au pliage de fonctionner comme prévu, même pour un code comme celui-ci:
Sélection tenant compte de la syntaxe
Atom utilise également des arbres de syntaxe comme base de deux nouvelles commandes d'édition : sélectionner un nœud de syntaxe plus grand et Sélectionner un nœud de syntaxe plus petit, lié à Alt + Haut et Alt + Bas. Ces commandes peuvent rendre de nombreuses tâches d'édition plus efficaces et plus amusantes, en particulier lorsqu'elles sont combinées à plusieurs curseurs.
Vitesse
L'analyse d'un fichier source entier peut prendre beaucoup de temps. C'est pourquoi la plupart des IDE attendent que vous arrêtiez de taper un moment pour procéder à l’analyse syntaxique de votre code, et il y a souvent un délai avant la coloration syntaxique des mises à jour. GitHub voudrait éviter ces délais et a donc conçu Tree-sitter pour analyser votre code de manière incrémentielle : il maintient l'arbre de syntaxe à jour lorsque vous modifiez votre code sans avoir à procéder à nouveau à une analyse syntaxique du fichier entier.
Actuellement, Atom utilise Tree-sitter pour procéder à l’analyse syntaxique de 11 langages: Bash, C, C ++, ERB, EJS, Go, HTML, JavaScript, Python, Ruby et TypeScript.
Source : GitHub
Et vous ?
Utilisez-vous Atom ? Qu'en pensez-vous ?
Que pensez-vous de ces améliorations ?
Laquelle vous intéresse le plus ?
Voir aussi :
GitHub et Facebook veulent transformer Atom d'un simple éditeur de texte en « un vrai IDE », avec le lancement d'Atom IDE
JSON Feed : le nouveau format de syndication pour diffuser les flux d'informations est disponible en version 1.0, pourra-t-il détrôner RSS et Atom ?
Atom 1.0 : l'éditeur de texte de GitHub pour les développeurs atteint sa première version stable, il est open source et repose sur Chromium et Node.js
GitHub présente son éditeur de texte pour les développeurs, Atom est une «variante spécialisée de Chromium»
Atom : GitHub apporte des mises à jour à son éditeur de texte orienté développeurs
Et assure qu'il « comprend votre code mieux que jamais »
Atom : GitHub apporte des mises à jour à son éditeur de texte orienté développeurs
Et assure qu'il « comprend votre code mieux que jamais »
Le , par Stéphane le calme
Une erreur dans cette actualité ? Signalez-nous-la !