Cursorless : une magie extraterrestre venue du futur
- Cadey mentionne avoir commencé à ressentir des symptômes de RSI (troubles musculo-squelettiques liés aux gestes répétitifs) avant de commencer à travailler dans son nouveau poste.
- Ces symptômes étaient déjà anticipés, et la personne est actuellement en convalescence.
- Lors d’un précédent épisode de RSI, la situation avait été gérée en se consacrant à l’écriture technique, mais cette fois, il est nécessaire de pouvoir programmer.
- Cadey utilise principalement emacs, mais cette fois travaille avec Visual Studio Code, en raison d’une extension appelée « Cursorless ».
Les fonctionnalités magiques de Cursorless
- « Cursorless » est un plugin intégré à un logiciel de contrôle vocal qui permet d’éditer du code à la voix au niveau de l’AST.
- L’aspect le plus magique de « Cursorless » est la notion de cibles (
Targets), qui sont des ancres individuelles dans le document, et de destinations (Destinations), qui sont des positions relatives à ces cibles.
- Chaque token du document affiche au-dessus des lettres un repère coloré, ce qui permet de donner des commandes en se basant sur la position, la destination et le chemin entre les deux.
- Par exemple, le mot
function peut être référencé comme « green urge » et utilisé pour supprimer ou déplacer ce mot.
La véritable puissance de Cursorless
- « Cursorless » ne se limite pas à de simples opérations d’édition : il comprend l’AST, ce qui lui permet d’agir à l’échelle d’une fonction entière.
- Par exemple, refactoriser une fonction en fonction asynchrone devient simple avec « Cursorless ».
- Cadey explique qu’à force d’utiliser « Cursorless » de manière répétée, les commandes deviennent progressivement une seconde nature.
Écrire ses propres commandes
- Il est possible d’écrire ses propres commandes avec « Cursorless » et « Talon ».
- Les commandes Talon se divisent en patterns (les mots prononcés) et captures (ce que l’on veut extraire).
- L’article prend comme exemple la règle Talon la plus complexe pour expliquer comment déclarer une méthode en Go.
Une nouvelle tentative pour expliquer le concept de pointeur
- Cadey expérimente les termes « raising » et « lowering » pour expliquer le concept de pointeur en Go.
- Comme alternative à la syntaxe de pointeurs de style C utilisée par Go, la personne explore une manière d’exprimer le passage entre valeurs pointeurs et valeurs ordinaires avec « raising » et « lowering ».
L’avis de GN⁺
- Le point le plus important de cet article est que l’extension « Cursorless » améliore l’accessibilité de la programmation grâce au contrôle vocal, et permet aussi de coder à des personnes qui ont du mal à taper à cause de blessures comme les RSI.
- Les fonctionnalités de « Cursorless » sont particulièrement intéressantes car elles offrent une manière innovante d’éditer du code à la voix, ouvrant ainsi de nouvelles possibilités pour l’avenir du développement logiciel.
1 commentaires
Avis Hacker News
Surprise de l’auteur et partage de son dépôt d’expérimentations Talon
Manipulation du code avec Talon et utilité des commandes vocales
Comparaison avec avy, mais en utilisant la voix au lieu du clavier
Lien vers une démo de programmation à la voix et émerveillement
Présentation Strange Loop montrant un aperçu de Cursorless et des exemples d’usage réels
Soutien au développement de Cursorless, malgré une barrière personnelle à l’adoption
Curiosité sur le choix de certaines commandes vocales
Question sur la possibilité d’ajuster la position du curseur par suivi oculaire
Partage d’une expérience de RSI et d’une amélioration grâce à un changement de frappe