Snippets

Qu’est-ce qu’un snippet ?

Dans un grand nombre d’éditeurs de code populaires, il est possible de rédiger plus vite en utilisant un certain nombre de raccourcis qui vous évitent d’avoir à écrire entièrement certaines structures, mots-clefs fréquents, ou autre. Imaginez par exemple avoir à écrire systématiquement :


live_loop :encore do end

Vous aurez certes une mémoire musculaire impressionnante, mais vous gaspillez inutilement votre énergie. Sonic-Pi doit avant tout vous permettre de faire de la musique, rapidement et efficacement. Ecrivez ll puis pressez TAB. Voilà, vous avez votre live_loop, et tout est pour le mieux.

Sam Aaron ne fait pas de publicité autour de cette fonctionalité, et vous ne trouverez aucune section du guide officiel qui en fasse mention. Ce système de snippets n’est pas assez simple et pas assez bien implémenté selon lui pour en recommander l’utilisation. L’éditeur de Sonic-Pi est vraiment rudimentaire : tout ce qui peut nous faciliter la tâche est nécessaire !

Sauvegarder des snippets personnalisés

Les snippets sont sauvegardés dans le dossier d’installation du logiciel. Sur MacOs, vous aurez besoin d’aller dans votre dossier Applications et de choisir l’option “afficher le contenu du paquet” pour accéder aux fichiers. Vous les trouverez, serrés en rang d’oignon, dans le dossier /etc/snippets/. Chacun d’entre eux est un fichier .sps qui respecte un formatage précis. Voici par exemple echo.sps :


# key: fx e # point_line: 1 # point_index: 2 # — with_fx :echo do end

Vous pouvez créer autant de fichiers que vous souhaitez, avec autant de code que vous souhaitez. Voici la fonction des différents champs que vous devez remplir :

  • key: le code que vous aurez à écrire avant de presser TAB pour l’étendre.
  • point_line: sur quelle ligne se trouvera le curseur après expansion.
  • point_index: sur quel caractère de la ligne sus-mentionnée doit se placer le curseur d’édition après expansion.

Voilà, c’est fait. Ajoutez maintenant après le code que vous souhaitez sauvegarder comme snippet. Attention : chaque espace compte. Chaque caractère compte. Un retour à la ligne compte comme un caractère. Tout compte.

Plus vite

Vous serez rapidement habitués à utiliser des snippets pour à peu près tout. Pour ce qui me concerne, je possède certainement beaucoup plus de snippets que je n’en utilise en réalité. J’en crée parfois pour une fonction que je juge révolutionnaire, avant de l’oublier quelques jours plus tard. C’est un peu pénible de les créer un par un à la main. Je vous recommande dès à présent de vous familiariser avec un véritable éditeur de code, comme Vim, Emacs ou Atom (le plus simple et accessible). Il existe des plugins pour chacun de ces éditeurs permettant d’envoyer du code à Sonic-Pi.

 

Voici par exemple un extrait de mon fichier de snippets sauvegardés dans l’éditeur de texte Atom.

 

Apprenez maintenant, et vous en tirerez des bénéfices considérables dès que vous serez plus à l’aise. Pour quelques jours d’adaptation, vous aurez appris une compétence vraiment utile non seulement pour le live-coding mais aussi pour tout type d’édition de texte. Un éditeur de code vous permettra également d’avoir des formes de snippets beaucoup plus avancés et beaucoup plus personnalisables. Atom est non seulement pratique pour écrire du code plus efficacement, mais aussi pour éditer rapidement vos fichiers .sps si vous souhaitez continuer à utiliser l’interface standard de Sonic-Pi.