Éléments d’Emacs Lisp
(protesilaos.com)- Emacs Lisp est le langage de programmation qui permet d’étendre Emacs, afin que les utilisateurs puissent le personnaliser et l’utiliser plus efficacement
- Emacs Lisp exécute toutes les opérations via des appels de fonctions, et les utilisateurs peuvent lancer des fonctions de manière interactive via des raccourcis clavier ou des commandes
- Les fonctions Emacs Lisp prennent des entrées, produisent des sorties et peuvent avoir des effets de bord qui modifient l’environnement
- Les buffers sont utilisés comme structures de données, ce qui permet d’effectuer diverses opérations via les propriétés du texte et les variables locales au buffer
- Emacs Lisp structure son code avec des listes et des symboles, et peut l’étendre grâce à l’évaluation partielle et aux macros
Emacs Lisp Elements
Vue d’ensemble du langage de programmation Emacs Lisp
- Ce livre de Protesilaos Stavrou offre une vue d’ensemble du langage de programmation Emacs Lisp
- Emacs est un éditeur de texte programmable qui fonctionne en interprétant Emacs Lisp
- Les utilisateurs peuvent personnaliser Emacs pour créer un environnement de travail plus efficace
- Grâce à Emacs Lisp, ils peuvent automatiser les tâches répétitives et gagner en productivité
- Ce livre aborde divers sujets destinés aussi bien aux débutants qu’aux utilisateurs avancés
Évaluation en Emacs Lisp
- Dans Emacs, toutes les opérations passent par des appels de fonctions Emacs Lisp
- Les utilisateurs peuvent exécuter des fonctions de manière interactive via des raccourcis clavier ou des commandes
- Emacs peut évaluer du code Elisp dans un buffer, et exécuter ce code via différentes commandes
- La commande
eval-expressionpermet d’évaluer du code Elisp dans le buffer courant - Emacs rend compte de son état actuel grâce à ses fonctionnalités d’auto-documentation
Effets de bord et valeurs de retour
- Les fonctions Emacs Lisp prennent des entrées, produisent des sorties et peuvent avoir des effets de bord qui influencent l’environnement
- La valeur de retour d’une fonction peut servir d’entrée à une autre
- Les effets de bord permettent de manipuler l’état d’Emacs pour accomplir l’action souhaitée
- En utilisant les effets de bord avec soin, on peut exploiter pleinement le potentiel d’Elisp
- L’expérience permet de développer l’intuition nécessaire pour bien gérer effets de bord et valeurs de retour
Le buffer comme structure de données
- Un buffer stocke les données sous forme de séquence de caractères, et diverses fonctions renvoient des positions dans ce buffer
- Il est possible d’extraire le contenu d’un buffer sous forme de chaîne, ou d’obtenir une sous-chaîne entre des positions données
- On peut afficher des résultats dans un buffer ou définir des variables liées au buffer
- Un buffer fonctionne comme un ensemble de variables et peut avoir des valeurs locales au buffer
- Les fenêtres et les frames d’Emacs peuvent elles aussi être utilisées comme structures de données
Propriétés du texte
- Le texte peut avoir des propriétés, et Emacs Lisp permet d’inspecter ces métadonnées
- Les propriétés de texte fournissent des effets comme la coloration syntaxique
- La commande
describe-charpermet d’inspecter les propriétés du caractère situé à la position du curseur - Les utilisateurs peuvent écrire leur propre major mode pour ajouter manuellement des propriétés de texte
- Le texte peut contenir plus d’informations qu’une simple suite de caractères
Symboles, expressions équilibrées et citation
- Emacs Lisp est un langage riche en parenthèses, ce qui facilite la compréhension de la structure du code
- Une liste peut être évaluée comme un appel de fonction ou renvoyée comme donnée
- Pour empêcher l’évaluation d’une liste, on utilise une apostrophe simple
- Les fonctions
caretcdrrenvoient respectivement le premier élément d’une liste et le reste de la liste - Emacs Lisp peut étendre le code grâce aux macros
Évaluation partielle à l’intérieur des listes
- Le code Emacs Lisp peut être évalué ou utilisé tel quel
- On peut évaluer partiellement une liste pour n’évaluer que certains éléments
- On peut utiliser l’accent grave (`) et la virgule (,) pour évaluer des éléments précis dans une liste
,@permet de supprimer les parenthèses externes d’une liste- L’évaluation partielle est plus couramment utilisée dans les macros
Évaluation à l’intérieur des macros ou des formes spéciales
- Le cas de base du code Emacs Lisp est une liste qui est soit évaluée, soit non évaluée
- Une macro est un système de gabarits qui étend du code en un autre code ensuite évalué
- À l’intérieur d’une macro, la gestion de la citation peut différer
- Les macros permettent d’exprimer plus clairement l’intention du code et d’ouvrir la voie à des optimisations
- Elles permettent aussi d’améliorer la flexibilité et la réutilisabilité du code
Aucun commentaire pour le moment.