turbo-editors/turbo-moonbitpublic Fork 0
v1.0.2
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.

getting-started.md · 217 lines · 7.5 KBmarkdown Blame HistoryRaw
📦 Turbo MoonBit cc1f595 k33g 16h ago1# Tutoriel : votre premier programme MoonBit dans Turbo MoonBit
2
3À la fin de ce tutoriel, vous aurez écrit, formaté, lancé et cassé un petit programme MoonBit sans quitter l'éditeur — et vu l'éditeur vous dire où était l'erreur.
4
5Aucune connaissance préalable de Turbo MoonBit n'est nécessaire. Il vous faut Go 1.26 ou plus récent pour compiler l'éditeur, et la chaîne d'outils MoonBit pour compiler le programme.
6
7## Prérequis
8
9Vérifiez Go :
10
11```bash
12go version
13```
14
15Vous devriez voir quelque chose comme :
16
17```
18go version go1.26.5 linux/arm64
19```
20
21Vérifiez la chaîne d'outils MoonBit :
22
23```bash
24moon version --all
25```
26
27Vous devriez voir trois lignes, chacune se terminant par un chemin :
28
29```
30moon 0.1.20260904 (94521db 2026-09-04) ~/.moon/bin/moon
31moonc v0.10.12+1634b282e (2026-09-07) ~/.moon/bin/moonc
32moonrun 0.1.20260904 (94521db 2026-09-04) ~/.moon/bin/moonrun
33```
34
35Si la commande est introuvable, installez d'abord la chaîne d'outils — [une seule commande suffit](../how-to/install-the-moonbit-toolchain.md).
36
37## Étape 1 — Installer l'éditeur
38
39```bash
40git clone https://rickub.com/turbo-editors/turbo-moonbit.git
41cd turbo-moonbit
42make install
43```
44
45L'installeur compile, installe, puis vérifie ce qu'il a installé. Les dernières lignes sont :
46
47```
48==> Checking the language server
49 ✓ moon-lsp at ~/.moon/bin/moon-lsp
50
51==> Ready
52```
53
54Nous avons maintenant une commande `turbo-moonbit`.
55
56## Étape 2 — Créer un projet
57
58```bash
59cd /tmp
60moon new hello
61cd hello
62```
63
64```
65Created username/hello at hello
66```
67
68`moon new` écrit un `moon.mod`, un `moon.pkg`, un fichier de bibliothèque, quelques fichiers de test, et un `cmd/main/main.mbt` contenant un hello-world. **C'est `moon.mod` que Turbo MoonBit cherche** pour trouver la racine d'un projet, et c'est le dossier dans lequel `moon-lsp` sera lancé.
69
70## Étape 3 — Ouvrir le fichier
71
72```bash
73turbo-moonbit cmd/main/main.mbt
74```
75
76L'écran se remplit. En haut :
77
78```
79 File Edit Search Run Code Options Window Snippets MoonBit Help
80```
81
82Dix menus, et le neuvième porte le nom du langage. En bas, à droite, vous devriez voir :
83
84```
851:1 LSP: ready
86```
87
88`LSP: ready` signifie que `moon-lsp` a démarré dans ce dossier. Nous nous en servirons à l'étape 8.
89
90## Étape 4 — Écrire le programme
91
92Sélectionnez tout avec `Ctrl-A` et appuyez sur `Suppr`, puis tapez ceci. Tapez-le exactement ; nous allons regarder les couleurs juste après.
93
94```moonbit
95///|
96struct Greeting {
97 name : String
98 times : Int
99}
100
101///|
102fn greet(g : Greeting) -> Unit {
103 for i in 0..<g.times {
104 println("Hello, \{g.name}! (\{i + 1})")
105 }
106}
107
108///|
109fn main {
110 greet({ name: "MoonBit", times: 3 })
111}
112```
113
114Appuyez sur `F2` pour enregistrer. L'étoile à côté de `main.mbt` dans le titre de la fenêtre disparaît.
115
116## Étape 5 — Lire les couleurs
117
118Regardez ce que vous venez de taper. Dans le thème par défaut `turbo-classic` :
119
120| Quoi | Couleur |
121| --- | --- |
122| `struct`, `fn`, `for`, `in` | blanc vif, gras — mots-clés |
123| `Greeting`, `String`, `Int`, `Unit` | cyan vif — types |
124| `greet`, là où il est déclaré comme là où il est appelé | jaune vif, gras — fonctions |
125| `println` | cyan vif, gras — un nom fourni par le langage |
126| `name`, `times`, `g`, `i` | jaune vif — noms ordinaires |
127| `"Hello, \{g.name}! (\{i + 1})"` | vert, **en entier** — une seule chaîne |
128| `0`, `1`, `3` | magenta — nombres |
129| `///\|` | gris — un commentaire |
130
131Deux de ces lignes méritent un second regard.
132
133**`Greeting` est cyan et `greet` est jaune**, et personne n'a dit à l'éditeur lequel des deux est un type. C'est la règle propre à MoonBit qui tranche : un nom commençant par une majuscule ne peut être qu'un type, un trait ou un constructeur.
134
135**La chaîne est verte du premier guillemet au dernier**, interpolations comprises. Le `\{g.name}` qu'elle contient n'est pas coloré comme du code — [et c'est délibéré](../explanation/colouring-and-completion.md).
136
137## Étape 6 — Donner ses outils au projet
138
139Appuyez sur `F10` pour ouvrir la barre de menus, puis sur `→` **huit fois** pour atteindre **MoonBit** — après Edit, Search, Run, Code, Options, Window et Snippets. Plus rapide : `Alt-M`.
140
141Le menu contient deux entrées, et une seule est disponible :
142
143```
144┌───────────────────┐
145│ Create tools file │
146│ Open tools file │ ← grisée ; il n'y a pas encore de fichier à ouvrir
147└───────────────────┘
148```
149
150Choisissez **Create tools file**.
151
152Une seconde fenêtre s'ouvre sur le fichier qui vient d'être écrit, `.turbo-moonbit/tools.toml`. Lisez-le si vous voulez — il explique chacune de ses clés — puis fermez-le avec `Ctrl-W`.
153
154Rouvrez le menu MoonBit. Il contient maintenant neuf commandes, et les deux entrées ont échangé leurs rôles : `Create tools file` est grisée, et c'est `Open tools file` qui est choisissable.
155
156## Étape 7 — Le formater, et le lancer
157
158Appuyez sur `Alt-M` et choisissez **Format**.
159
160Une boîte de dialogue s'ouvre, se remplit, et affiche `— exit 0`. Appuyez sur `Échap`.
161
162Regardez la dernière ligne de votre fonction `main`. Elle a changé :
163
164```moonbit
165 greet({ name: "MoonBit", times: 3, })
166```
167
168`moon fmt` a ajouté une virgule finale, et l'éditeur a rechargé le fichier dont on venait de lui dire qu'il avait changé sous ses pieds.
169
170Maintenant `Alt-M`, puis **Run**. Une boîte demande une valeur avant de lancer la commande :
171
172```
173┌──────────────── Run ────────────────┐
174│ package, e.g. cmd/main │
175│ [ ] │
176└─────────────────────────────────────┘
177```
178
179Tapez `cmd/main` et appuyez sur `Entrée`. Une fenêtre de terminal s'ouvre et le programme s'y exécute :
180
181```
182Hello, MoonBit! (1)
183Hello, MoonBit! (2)
184Hello, MoonBit! (3)
185```
186
187Un terminal plutôt qu'une boîte de dialogue, parce qu'un programme qui lit le clavier doit pouvoir recevoir une réponse. Le programme est terminé, la fenêtre a donc cessé de se comporter comme un terminal et toutes les touches reviennent à l'éditeur : appuyez sur `Ctrl-W` pour la fermer.
188
189## Étape 8 — Le casser, et voir où
190
191Allez sur la ligne du `println` et remplacez `g.name` par `g.nam`. Appuyez sur `F2` pour enregistrer.
192
193En une seconde ou deux, deux choses se produisent. Un `×` rouge apparaît dans la gouttière, juste à gauche du numéro de cette ligne. Et la barre d'état affiche :
194
195```
196⚠ The value identifier nam is unbound.
197```
198
199Personne ne l'a demandé. `moon-lsp` le publie de lui-même chaque fois qu'il relit le fichier.
200
201Remettez le `e` et enregistrez de nouveau ; la marque et le message disparaissent tous les deux.
202
203## Étape 9 — Changer de thème
204
205`F10`, puis `→` **cinq fois** pour atteindre **Options** — après Edit, Search, Run et Code. Choisissez **Theme…**.
206
207Une liste s'ouvre sur le thème dans lequel vous êtes. Appuyez sur `↓` jusqu'à `cobalt` puis `Entrée`. Tout l'écran change, en gardant la même forme.
208
209Appuyez sur `Alt-X` pour quitter. L'éditeur pose d'abord la question des fichiers non enregistrés, s'il y en a.
210
211## Et maintenant ?
212
213Vous avez créé un projet MoonBit, écrit un programme dans l'éditeur, formaté, lancé, cassé, et vu l'éditeur dire où. Pour aller plus loin :
214
215- Pour faire des choses précises → les [guides pratiques](../how-to/)
216- Pour savoir exactement ce qui est coloré et comment → [langages colorés](../reference/languages.md)
217- Pour comprendre pourquoi l'éditeur est bâti ainsi → les [explications](../explanation/)