1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
# Référence : ligne de commande
> Description neutre de la commande `turbo-golo`, de ses options et de l'environnement qu'elle lit.
## Synopsis
```
turbo-golo [options] [fichier...]
```
Chaque `fichier` est ouvert dans sa propre fenêtre. Un fichier qui n'existe pas encore est ouvert comme un tampon vide associé à ce chemin. Sans aucun fichier, une seule fenêtre vide sans titre est ouverte.
## Options
| Option | Type | Défaut | Description |
| --- | --- | --- | --- |
| `-theme <nom>` | chaîne | celui du projet, sinon `turbo-classic` | Thème de démarrage, l'emportant sur celui du projet. Un nom inconnu retombe sur le thème par défaut sans erreur. |
| `-list-themes` | booléen | `false` | Affiche chaque thème chargeable avec sa description, puis le répertoire de thèmes utilisateur, et quitte. |
| `-no-lsp` | booléen | `false` | Ne démarre pas de serveur de langage. La coloration et l'édition sont inchangées. |
| `-version` | booléen | `false` | Affiche `Turbo Golo <version>` sur une ligne, avec le commit et la date de build quand le build les a enregistrés, puis quitte. Voir [le numéro de version](versioning.md). |
| `-h`, `-help` | booléen | `false` | Affiche la liste des options et quitte. |
## Environnement
| Variable | Lue par | Effet |
| --- | --- | --- |
| `TURBO_GOLO_DIR` | répertoire utilisateur | Remplace `~/.config/turbo-golo` : les thèmes sont alors lus dans `$TURBO_GOLO_DIR/themes`, et vos snippets dans `$TURBO_GOLO_DIR/snippets.toml`. |
| `TURBO_GOLO_THEME_DIR` | chargement des thèmes | Répertoire des thèmes utilisateur, à la place de `<répertoire utilisateur>/themes`. |
| `TURBO_GOLO_SNIPPET_DIR` | chargement des snippets | Répertoire contenant votre `snippets.toml`, à la place du répertoire utilisateur. |
| `PATH` | recherche de `golo` | Consulté en premier ; `/usr/local/bin` est ensuite regardé même s'il n'y figure pas. Aucune variable ne nomme un autre répertoire. |
| `TERM` | tcell | Description de terminal à utiliser. |
| `SHELL` | fenêtres terminal | Le shell qu'ouvre `F8` ; `/bin/sh` si elle est absente. |
## Fichiers
| Chemin | Rôle |
| --- | --- |
| `./.turbo-golo/settings.toml` | Les réglages de ce projet, lus au démarrage puis à chaque enregistrement. Voir [réglages de projet](project-settings.md). |
| `./.turbo-golo/snippets.toml` | Les snippets de ce projet. Voir [snippets](snippets.md). |
| `./.turbo-golo/tools.toml` | Les outils du menu Golo. Voir [outils Golo](golo-tools.md). |
| `~/.config/turbo-golo/themes/*.toml` | Thèmes utilisateur sous Linux (`os.UserConfigDir`). |
| `~/Library/Application Support/turbo-golo/themes/*.toml` | Thèmes utilisateur sous macOS. |
| `~/.config/turbo-golo/snippets.toml` | Vos snippets, partagés entre projets. |
| `$TURBO_GOLO_THEME_DIR/*.toml` | Thèmes utilisateur, quand la variable est définie. |
| `/usr/local/bin/golo` | Le serveur de langage, quand `golo` n'est pas dans le `PATH`. |
Le serveur de langage reçoit comme racine le dossier du premier fichier nommé sur la ligne de commande, ou le répertoire de travail quand aucun ne l'est. Aucun fichier marqueur n'est cherché en remontant : Golo n'a pas de manifeste de projet.
## Code de sortie
| Code | Signification |
| --- | --- |
| `0` | L'éditeur s'est terminé normalement, ou une option d'information a été utilisée. |
| `1` | Le terminal n'a pas pu être ouvert ou initialisé. La raison est écrite sur la sortie d'erreur. |
## Cibles make
À exécuter depuis un clone.
| Cible | Ce qu'elle lance |
| --- | --- |
| `make help` | Liste les cibles. C'est la cible par défaut. |
| `make test` | `go test ./...` |
| `make test-verbose` | `go test -v ./...` |
| `make cover` | `go test -cover ./...` |
| `make build` | `go build` estampillé dans `bin/turbo-golo`, puis `scripts/check-version.sh` sur le résultat |
| `make version` | Affiche la version que ce clone estampillerait, sans construire |
| `make ldflags` | Affiche les options d'édition de liens d'un build estampillé |
| `make install` | `scripts/install.sh` — compile et installe dans le PATH |
| `make uninstall` | `scripts/install.sh --uninstall` |
| `make run FILE=x.golo` | `make build`, puis `./bin/turbo-golo x.golo` |
| `make fmt` | `go fmt ./...` |
| `make vet` | `go vet ./...` |
| `make check` | `fmt`, puis `vet`, puis `test` |
| `make clean` | Supprime `bin/` |
## Exemples
```bash
turbo-golo # une fenêtre vide
turbo-golo main.golo README.md # deux fenêtres
turbo-golo -theme turbo-dark main.golo # un autre thème
turbo-golo -no-lsp main.golo # sans serveur de langage
turbo-golo -list-themes # quels thèmes existent
```
## Installateur
`scripts/install.sh`, également accessible via `make install`.
| Option | Description |
| --- | --- |
| `-p`, `--prefix RÉP` | Installer dans `RÉP` au lieu de `$GOBIN` ou `$GOPATH/bin`. |
| `--with-server` | Construire et installer GoloScript — `golo`, `gogolo` et `wagolo` — depuis ses sources, s'il n'est pas déjà présent. |
| `--uninstall` | Retirer un `turbo-golo` installé, puis s'arrêter. |
| `-h`, `--help` | Afficher les options, puis s'arrêter. |
| Code de sortie | Signification |
| --- | --- |
| `0` | Installé, retiré, ou aide affichée. |
| `1` | Go absent ou trop ancien, échec de compilation, ou destination non accessible en écriture. Rien n'est installé et une installation existante reste intacte. |
## Erreurs
| Message | Cause |
| --- | --- |
| `turbo-golo: opening the terminal: …` | tcell n'a pas pu ouvrir le terminal ; en général `TERM` est absent ou inconnu. |
| `turbo-golo: initialising the terminal: …` | Le terminal a été ouvert mais n'a pas pu être mis en mode brut. |
| `Cannot open` (dans une boîte) | Le chemin est un répertoire, ou n'est pas lisible. |
| `Cannot save` (dans une boîte) | Le répertoire n'existe pas, ou n'est pas accessible en écriture. |
|