turbo-editors/turbo-moonbitpublic Fork 0
cc1f59535e31ad5d5a940f517c7375fbc8c663a0
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-moonbit.git
git clone ssh://git@rickub.com/turbo-editors/turbo-moonbit.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

use-snippets.md · 93 lines · 3.6 KBmarkdown Blame HistoryRaw
📦 Turbo MoonBit cc1f595 k33g 22h ago1# Insérer des snippets depuis un menu
2
3Ce guide montre comment mettre en place des morceaux de texte réutilisables et les insérer dans un fichier à l'endroit du curseur. Il suppose Turbo MoonBit déjà installé.
4
5## Obtenir un fichier de départ
6
7Lancez l'éditeur **depuis le dossier du projet**, puis choisissez **Snippets ▸ Create snippets file** (`Alt-N`, puis `C`).
8
9Cela écrit `.turbo-moonbit/snippets.toml`, rempli de quelques exemples travaillés, et l'ouvre — coloré, puisque Turbo MoonBit colore le TOML :
10
11```toml
12[[snippet]]
13name = "if err != nil"
14group = "MoonBit"
15languages = ["moonbit"]
16body = """
17if err != nil {
18 return err
19}"""
20
21[[snippet]]
22name = "TODO"
23body = "TODO: "
24```
25
26Chaque `[[snippet]]` devient une ligne du menu. Le fichier est relu **chaque fois que le menu s'ouvre** : une modification prend effet immédiatement, sans redémarrage.
27
28## En insérer un
29
30Ouvrez **Snippets** (`Alt-N`). Les snippets partageant un `group` apparaissent ensemble dans un sous-menu de ce nom ; celui qui n'a pas de groupe va dans **General**.
31
32| Touche | Effet |
33| --- | --- |
34| `Alt-N`, ou `F10` puis `→` jusqu'à Snippets | Ouvrir le menu |
35| `↑` `↓` | Parcourir les groupes |
36| `→`, ou `Entrée` | Ouvrir le groupe surligné |
37| `↑` `↓` puis `Entrée` | Insérer le snippet surligné |
38| `←` | Ressortir d'un groupe |
39| `Échap` | Refermer tout le menu |
40
41Le snippet arrive au curseur. **Les lignes suivant la première sont indentées sur la ligne où vous l'avez inséré**, de sorte qu'un snippet multi-ligne déposé dans un bloc imbriqué atterrit là où vous l'auriez tapé :
42
43```
44func f() {
45 | ← curseur ici
46}
47```
48
49devient
50
51```
52func f() {
53 if err != nil {
54 return err
55 }
56}
57```
58
59C'est une seule opération d'annulation : `Ctrl-Z` retire tout le snippet.
60
61## Garder ses snippets d'un projet à l'autre
62
63Mettez-les dans `~/.config/turbo-moonbit/snippets.toml` — le même dossier que vos thèmes. Ceux-là apparaissent dans tous les projets, et le fichier d'un projet s'y **ajoute** plutôt que de les remplacer.
64
65Quand un projet et vous employez le même `name` dans le même `group`, **celui du projet gagne** : c'est le plus spécifique des deux énoncés.
66
67## N'afficher un snippet que là où il a un sens
68
69Ajoutez `languages`, avec les noms que l'éditeur emploie — `moonbit`, `toml`, `markdown`, `javascript`, `html`, `bash` :
70
71```toml
72[[snippet]]
73name = "strict mode"
74group = "Shell"
75languages = ["bash"]
76body = "set -euo pipefail"
77```
78
79Ce snippet n'apparaît alors que si un script shell est au premier plan. Omettez `languages` et le snippet est proposé partout, ce que vous voulez pour un en-tête de licence ou un `TODO`.
80
81Un groupe que le filtrage laisse vide n'apparaît pas du tout.
82
83## Variantes
84
85- **Vous avez lancé l'éditeur depuis un sous-dossier.** Le fichier du projet n'est pas trouvé : seul `./.turbo-moonbit` est consulté, la même règle que `settings.toml`. Vos propres snippets apparaissent quand même.
86- **Le fichier contient une erreur.** Le menu affiche un `Cannot read snippets` grisé à la place des groupes, et **Create snippets file** est toujours là. Ouvrez le fichier et corrigez-le.
87- **Vous voulez des tabulations dans un corps.** Écrivez `\t`, comme le fichier de départ — le TOML le transforme en tabulation à la lecture.
88
89## Voir aussi
90
91- Toutes les clés du fichier et toutes les règles : [Référence des snippets](../reference/snippets.md)
92- Pourquoi le menu est reconstruit à chaque ouverture, et pourquoi l'insertion réindente : [Snippets](../explanation/snippets.md)
93- L'autre fichier de `.turbo-moonbit` : [Réglages de projet](../reference/project-settings.md)