GitHub améliore son éditeur de texte Atom

Par:
fredericmazue

ven, 02/11/2018 - 16:03

L'équipe de développement d'Atom annonce des améliorations à son éditeur de code Atom, qui 'comprend votre code mieux que jamais' selon les termes de GitHub. A remarquer :

Coloration syntaxique

Une nouvelle coloration syntaxique qui est est maintenant basée sur les arbres de syntaxe fournis par Tree-sitter. Cela permet d'utiliser la couleur pour décrire la structure de votre code plus clairement et apporte la cohérence avec laquelle les champs, les fonctions, les mots - clés, les types et les variables sont mis en surbrillance pour les différences langages :

Pliage de code

Dans la plupart des éditeurs de texte, le pliage 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 réalité et cela peut mettre la fonctionnalité de pliage de code 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 difficile comme celui-ci :

Une sélection qui tient compte de la syntaxe

Atom utilise également les arbres syntaxiques comme base de deux nouvelles commandes d'édition: Select Larger Syntax Node et Select Smaller Syntax Node, liées aux combinaisons de touches à Alt+Upet Alt+Down. Ces commandes peuvent rendre de nombreuses tâches d'édition plus efficaces, 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 jusqu'à ce que vous arrêtiez de taper pour analyser votre code. De fait, il y a souvent un délai avant que la coloration syntaxique soit mise à jour. Pour éviter ces latences, GitHub a conçu Tree-sitter qui analyse le code de manière incrémentielle. Ainsi l'arbre de syntaxe est maintenu à jour lorsque vous modifiez votre code sans avoir à ré-analyser le fichier entier à partir de zéro.