Eglot fait maintenant partie du noyau d'Emacs
LSP (Language Server Protocol) facilite la programmation en introduisant des fonctionnalités telles que l'autocomplétion plus précise et la recherche de définitions. Eglot (Emacs Polyglot) est un client LSP pour Emacs. Plusieurs intégrations de LSP existent pour Emacs, comme LSP Mode, Eglot et lsp-bridge. Parmi les trois, Eglot fait maintenant partie du noyau d'Emacs. Selon l'équipe, vous n'avez plus besoin d'installer un paquet, il suffit d'enregistrer un serveur LSP et l'autocomplétion, la documentation, la détection d'erreurs et d'autres fonctionnalités seront disponibles immédiatement.
Tree-sitter fait également partie du noyau d'Emacs
Au cas où vous ne le sauriez pas, la coloration syntaxique actuelle d'Emacs est basée sur un système de regex. Bien que ce ne soit pas la pire chose à utiliser, ce n'est pas non plus la meilleure, et cela peut devenir assez lent sur les gros fichiers. Tree-sitter est un outil de génération d'analyseur syntaxique et une bibliothèque d'analyse incrémentale. Il peut construire un arbre syntaxique concret pour un fichier source et mettre à jour efficacement l'arbre syntaxique lorsque le fichier source est édité. À partir de là, non seulement la coloration syntaxique peut être effectuée à grande vitesse.
Mais une analyse beaucoup plus profonde du code est possible et des actions telles que la manipulation syntaxique peuvent également être réalisées puisque l'arbre syntaxique lui-même est disponible comme un objet qui peut être manipulé. Tree-sitter a pour but d'être :
- suffisamment général pour analyser tout langage de programmation ;
- assez rapide pour analyser chaque frappe dans un éditeur de texte ;
- suffisamment robuste pour fournir des résultats utiles même en présence d'erreurs de syntaxe ;
- sans dépendance pour que la bibliothèque d'exécution (écrite en C pur) puisse être intégrée dans n'importe quelle application.
Actuellement, le Tree-sitter d'Emacs supporte les principaux modes :
- bash-ts-mode
- c-ts-mode
- c++-ts-mode
- csharp-ts-mode
- css-ts-mode
- java-ts-mode
- js-ts-mode
- json-ts-mode
- python-ts-mode
- typescript-ts-mode
Tree-sitter a également pour l'instant un statut spécial dans la nouvelle branche emacs-29 puisque de nouvelles fonctionnalités peuvent encore lui être ajoutées, sa fusion avec la branche master étant encore récente. Il est donc possible que la liste des modes majeurs pour Emacs s'allonge encore un peu, surtout si l'on considère que Tree-sitter essaie de rendre l'ajout de nouvelles langues relativement facile. Si vous ne pouvez pas attendre pour tester Tree-sitter, il existe déjà un autre paquet disponible pour Emacs que vous pouvez utiliser dès maintenant. Sachez simplement qu'il ne s'agit pas du même paquet que celui qui a été intégré à Emacs.
Installer des paquets à partir des sources avec package.el
Emacs inclut un gestionnaire de paquets nommé Package.el, qui installe des paquets à partir de l'archive officielle des paquets Emacs Lisp, nommée GNU ELPA. GNU ELPA héberge une sélection de paquets, mais la plupart sont disponibles sur MELPA, qui est une archive de paquets non officielle qui implémente la spécification ELPA. Pour utiliser MELPA, il faut l'installer en l'ajoutant à la liste des archives de paquets de package.el. Le gestionnaire de paquets intégré installe les paquets par le biais de la fonction package-install. L'ancienne alternative à package.el est Straight.el.
Straight.el est un gestionnaire de paquets alternatif qui installe les paquets par le biais de vérifications Git au lieu de télécharger des archives de paquets. Cela permet d'installer des paquets dérivés, de modifier les archives locales de paquets et de verrouiller les paquets à des versions exactes pour des configurations reproductibles. À propos de package.el, il y a aussi la nouvelle fonction package-report-bug qui permet aux utilisateurs d'Emacs de signaler les bogues aux développeurs d'un paquet directement depuis Emacs. Attention cependant, elle ne fonctionne que pour les paquets installés via Package.el.
Org Mode 9.6 pourrait faire partir d'Emacs 29
Comme confirmé par l'un des mainteneurs de Org Mode, Bastien Guerry, sur une liste de diffusion Emacs francophone, Org Mode 9.6 serait prêt à faire partie d'Emacs 29. Org mode est un mode d'Emacs pour la prise de notes, la planification de projets, les listes TODO et la rédaction. En d'autres termes, Org mode est un format de fichier texte structuré très flexible, composé de quelques structures simples, mais polyvalentes, conçues pour être à la fois assez simples pour le novice et assez puissantes pour l'expert. Outre le démarrage rapide et le manuel, Org Mode dispose d'un guide et d'une abondante documentation écrite par la communauté.
Emacs peut maintenant être compilé avec GTK pur
L'un des problèmes majeurs d'Emacs sous Linux était sa dépendance à Xorg lorsqu'il fonctionnait en mode GUI. Avec Xorg, ce n'est pas vraiment un problème, mais Wayland est devenu de plus en plus courant ces dernières années, et même avec l'existence de XWayland, c'est devenu une gêne. Eh bien, Emacs peut maintenant être compilé avec GTK pur. Il peut maintenant être construit sans Xorg et fonctionner en mode natif dans Wayland. Sachez cependant que Wayland est le seul cas d'utilisation d'Emacs GTK pur. Si vous n'utilisez pas Wayland, Emacs devrait afficherCompiler les fichiers EmacsLisp à l'avance.
Accès natif aux bases de données SQLite
Emacs peut maintenant être compilé avec un support natif pour SQLite et la bibliothèque sqlite3. En fait, selon l'équipe, c'est maintenant un comportement par défaut, puisque vous devez passer --without-sqlite3 au script de configuration lors de la construction d'Emacs afin de l'empêcher. Ceci est accompagné d'une nouvelle fonction sqlite-mode qui vous permet d'explorer les bases de données SQLite dans Emacs et d'interagir avec elles.
Support de HaikuOS
Les utilisateurs de Haiku OS ont maintenant accès à Emacs. Selon l'équipe, le processus de configuration devrait automatiquement détecter et construire pour Haiku. Il existe également un portage optionnel du système de fenêtres sur Haiku, qui peut être activé en configurant Emacs avec l'option --with-be-app, ce qui nécessitera la présence des en-têtes de développement du kit d'application Haiku et d'un compilateur C++ sur votre système. Si Emacs n'est pas construit avec l'option '--with-be-app', l'éditeur résultant ne fonctionnera que dans des terminaux en mode texte.
Pour activer la prise en charge de Cairo, assurez-vous que les fichiers de développement Cairo et FreeType sont présents sur votre système, et configurez Emacs avec l'option --with-be-cairo. Contrairement à X, il n'y a pas d'option de compilation pour activer ou désactiver le double tampon ; il est toujours activé. Pour la désactiver, modifiez le paramètre de trame inhibit-double-buffering à la place.
Répertoire utilisateur personnalisé
Il est maintenant plus facile de lancer des profils Emacs personnalisés sans avoir besoin d'outils tels que chemacs2 avec l'ajout de l'option --init-directory. Ceci peut définir n'importe quel répertoire du répertoire utilisateur d'Emacs qui inclut le fichier init.el qui l'accompagne.
Support des images WebP
Depuis un certain temps, Emacs est capable d'afficher des images, mais pas encore le format webp. C'est maintenant corrigé. Et en fait, le support des images webp est devenu le comportement par défaut, puisque vous devez passer --without-webp au script de configuration d'Emacs pour désactiver le support webp. Notons que le mode C++ supporte maintenant le standard C++20.
Meilleure gestion des fichiers .pdmp
Emacs a depuis quelques versions la possibilité de vider son état dans un fichier pdmp pour un démarrage plus rapide. Maintenant, lors de la création d'un tel fichier, il inclura dans son nom une empreinte de son état actuel, bien qu'il donnera toujours la priorité à un fichier emacs.pdmp s'il existe.
Meilleur support de la souris et du touchpad
Emacs utilise maintenant XInput 2, qui permet à Emacs de supporter plus d'événements d'entrée, tels que les événements de touchpad. Par exemple, par défaut, un geste de pincement sur un pavé tactile augmente ou diminue la taille du texte. Ceci grâce au nouvel événement pinch, qui vient avec touch-end.
Source : GNU Emacs 29 (1, 2)
Et vous ?
Que pensez-vous des changements potentiels dans Emacs 29 ?
Voir aussi
GNU Emacs 26.1 est disponible en téléchargement : tour d'horizon des principales nouveautés de l'éditeur de texte libre
GNU Emacs 28.1 est disponible avec la prise en charge de la compilation native des fichiers Lisp, et la bibliothèque graphique Cairo est maintenant utilisée par défaut si elle est présente
Emacs : la communauté se demande comment accroître son attractivité, certains suggèrent plus de modernité et Richard Stallman se prête au jeu des échanges d'idées
Linux 6.0 arrive avec des améliorations de performance et plus de correctifs pour le support de Rust sont attendus dans les prochaines versions, Linux 6.0 prend en charge la norme HEVC/H.265