3 points par GN⁺ 2023-11-11 | 1 commentaires | Partager sur WhatsApp

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

 
GN⁺ 2023-11-11
Avis Hacker News
  • Surprise de l’auteur et partage de son dépôt d’expérimentations Talon

    L’auteur se dit surpris par la popularité de son billet et partage un dépôt GitHub lié à ses expérimentations avec Talon.

  • Manipulation du code avec Talon et utilité des commandes vocales

    Le fait que Talon manipule des « parties » du code en s’appuyant sur l’AST de tree-sitter ressemble aux textobjects de Vim, avec en plus une composante vocale. La possibilité, via des commandes vocales, de planifier d’autres actions pendant qu’on utilise le clavier est jugée intéressante.

  • Comparaison avec avy, mais en utilisant la voix au lieu du clavier

    Le fonctionnement est similaire à avy, sauf qu’il utilise la voix à la place du clavier et se combine à des commandes conscientes de l’AST.

  • Lien vers une démo de programmation à la voix et émerveillement

    Partage d’un lien vers une vidéo de démonstration de programmation à la voix, avec une remarque sur le caractère fascinant de l’expérience.

  • Présentation Strange Loop montrant un aperçu de Cursorless et des exemples d’usage réels

    Lien vers une présentation Strange Loop offrant un aperçu général de Cursorless et montrant son utilisation en conditions réelles.

  • Soutien au développement de Cursorless, malgré une barrière personnelle à l’adoption

    Expression d’un soutien au développement de Cursorless, tout en estimant que le coût mental initial pour commencer à l’utiliser est élevé.

  • Curiosité sur le choix de certaines commandes vocales

    Question sur les raisons du choix de mots précis comme « urge » et « bat », ainsi que sur la possibilité d’utiliser d’autres mots commençant par les lettres correspondantes.

  • Question sur la possibilité d’ajuster la position du curseur par suivi oculaire

    Interrogation sur l’état actuel des technologies de suivi oculaire permettant de placer le curseur à l’endroit où le regard se pose.

  • Partage d’une expérience de RSI et d’une amélioration grâce à un changement de frappe

    Témoignage personnel sur des problèmes de RSI : malgré l’essai de divers outils ergonomiques, le plus grand bénéfice est venu d’un changement dans la manière de taper.