turbo-editors/turbo-golopublic Fork 0
v1.0.0
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-golo.git
git clone ssh://git@rickub.com/turbo-editors/turbo-golo.git

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

📦 Turbo Golo d710c1b · on v1.0.0 · k33g · 12h ago
install-goloscript.md · 100 lines · 5.7 KBmarkdown
Blame HistoryOpen raw

Installer GoloScript

Ce guide montre comment mettre golo — et, si vous les voulez, gogolo et wagolo — sur une machine, et comment vérifier que Turbo Golo le trouve. Il suppose que vous avez déjà Turbo Golo, ou êtes sur le point de l'avoir — voir installer l'éditeur pour cela.

L'éditeur marche sans rien de tout cela. L'édition, la coloration, les thèmes, les snippets et les fenêtres de terminal tournent tous sans aucun interpréteur. Ce qui en a besoin : la complétion, les marques d'erreur dans la gouttière, et chaque commande du menu Golo.

Quel binaire il vous faut

GoloScript en livre trois, sous une seule version :

Binaire À quoi il sert Il lui faut aussi
golo L'interpréteur : exécute les scripts, et est aussi le REPL, le débogueur, le lanceur de tests et le serveur de langage rien
gogolo Compile un script en exécutable natif, via Go l'outillage Go
wagolo Compile un script en WebAssembly, via Go et TinyGo TinyGo, et wasm-tools pour la cible wasip2

L'éditeur a besoin de golo et de rien d'autre. gogolo et wagolo sont ce que lancent les entrées Build native et Build wasm du menu Golo ; sans eux ces deux entrées répondent command not found et le reste du menu n'est pas affecté.

Installer une release

Des binaires précompilés pour macOS (Intel et Apple Silicon), Linux (amd64, arm64, 386) et Windows (amd64, arm64, 386) sont sur la page des releases. Chacun est un fichier :

chmod +x golo-<version>-<plateforme>
sudo mv golo-<version>-<plateforme> /usr/local/bin/golo
golo --version

Sur macOS un téléchargement non signé est mis en quarantaine jusqu'à ce que vous en décidiez autrement, dans Réglages Système ▸ Confidentialité et sécurité ou avec xattr -d com.apple.quarantine golo-<version>-<plateforme>.

Répétez pour gogolo et wagolo si vous voulez les compilateurs.

Ou construire depuis les sources

Cela donne les trois d'un coup, dans /usr/local/bin. Il faut Go ; wagolo se construit sans TinyGo mais ne peut rien compiler tant que TinyGo n'est pas installé.

git clone https://codeberg.org/TypeUnsafe/golo-script.git && cd golo-script
./install.sh

L'installeur de Turbo Golo fera exactement cela si on le lui demande :

scripts/install.sh --with-server

Il clone GoloScript dans un répertoire temporaire et lance son install.sh, qui demande sudo quand il copie dans /usr/local/bin.

Vérifier

golo --version
v0.1.1 | dev.20260802.🤓

Et le serveur de langage en particulier — c'est l'interpréteur, c'est donc une sous-commande plutôt qu'un second binaire :

golo lsp </dev/null

Il ne lit rien, voit la fin de son entrée, et se termine proprement. Un golo qui imprime son usage ou démarre un REPL ici est un autre programme du même nom.

Vérifier que l'éditeur le trouve

Ouvrez n'importe quel fichier .golo et lisez l'extrémité droite de la barre d'état :

 F1 Describe  F2 Save  F3 Open  F6 Window  F10 Menu       1:1  LSP: ready

LSP: ready signifie que le serveur a démarré. LSP: no golo — see https://codeberg.org/TypeUnsafe/golo-script/releases signifie qu'il n'a pas été trouvé, et le message dit où l'obtenir.

Turbo Golo regarde à deux endroits, dans l'ordre : votre PATH, puis /usr/local/bin. Le second est là où écrit l'installeur de GoloScript, et il est fouillé même quand il n'est pas sur le PATH — un shell lancé par un lanceur de bureau, par exemple — pour que le cas qui ressemble sinon à un serveur cassé fonctionne.

Variantes

  • Vous installez les binaires ailleurs. Mettez ce répertoire sur le PATH ; l'éditeur n'a aucune variable d'environnement nommant un autre endroit où regarder. Un lien symbolique dans /usr/local/bin marche aussi.
  • Vous avez déjà golo mais pas de complétion. Lancez golo lsp </dev/null et assurez-vous qu'il se termine sans bruit. Puis lisez la barre d'état — Run ▸ Language server status montre le chemin que l'éditeur a trouvé et si le serveur a répondu à sa poignée de main.
  • Vous voulez mettre à jour. Remplacez le binaire — un téléchargement de release ou ./install.sh à nouveau après un git pull. Redémarrez l'éditeur : il démarre un serveur par session et ne remarque pas un nouveau binaire avant.
  • Vous installez pour la CI, ou dans une image. GoloScript publie une image basée sur scratch qui ne contient que l'interpréteur : docker run --rm -v "$PWD:/app" -w /app k33g/gololang:<tag> /golo ./main.golo. L'éditeur ne peut pas utiliser un serveur dans un conteneur, c'est donc pour exécuter des scripts, pas pour la complétion.
  • Vous voulez être sûr que l'éditeur ne le trouve pas simplement sur le PATH. Lancez-le avec un environnement réduit — env PATH=/usr/bin:/bin turbo-golo main.golo — et la barre d'état doit toujours dire LSP: ready, depuis /usr/local/bin.

À quoi sert chaque binaire, vu de l'éditeur

Binaire Ce que l'éditeur en fait
golo golo lsp — la complétion, le survol, les définitions, les symboles du fichier et les marques d'erreur ; et les entrées Run, Test, Test one, Debug, REPL et New script du menu Golo
gogolo L'entrée Build native
wagolo L'entrée Build wasm

Voir aussi

  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
# Installer GoloScript

Ce guide montre comment mettre `golo` — et, si vous les voulez, `gogolo` et `wagolo` — sur une machine, et comment vérifier que Turbo Golo le trouve. Il suppose que vous avez déjà Turbo Golo, ou êtes sur le point de l'avoir — voir [installer l'éditeur](install.md) pour cela.

**L'éditeur marche sans rien de tout cela.** L'édition, la coloration, les thèmes, les snippets et les fenêtres de terminal tournent tous sans aucun interpréteur. Ce qui en a besoin : la complétion, les marques d'erreur dans la gouttière, et chaque commande du menu Golo.

## Quel binaire il vous faut

GoloScript en livre trois, sous une seule version :

| Binaire | À quoi il sert | Il lui faut aussi |
| --- | --- | --- |
| `golo` | L'interpréteur : exécute les scripts, et est aussi le REPL, le débogueur, le lanceur de tests et **le serveur de langage** | rien |
| `gogolo` | Compile un script en exécutable natif, via Go | l'outillage Go |
| `wagolo` | Compile un script en WebAssembly, via Go et TinyGo | TinyGo, et `wasm-tools` pour la cible `wasip2` |

L'éditeur a besoin de `golo` et de rien d'autre. `gogolo` et `wagolo` sont ce que lancent les entrées **Build native** et **Build wasm** du menu Golo ; sans eux ces deux entrées répondent `command not found` et le reste du menu n'est pas affecté.

## Installer une release

Des binaires précompilés pour macOS (Intel et Apple Silicon), Linux (amd64, arm64, 386) et Windows (amd64, arm64, 386) sont sur la [page des releases](https://codeberg.org/TypeUnsafe/golo-script/releases). Chacun est un fichier :

```bash
chmod +x golo-<version>-<plateforme>
sudo mv golo-<version>-<plateforme> /usr/local/bin/golo
golo --version
```

Sur macOS un téléchargement non signé est mis en quarantaine jusqu'à ce que vous en décidiez autrement, dans **Réglages Système ▸ Confidentialité et sécurité** ou avec `xattr -d com.apple.quarantine golo-<version>-<plateforme>`.

Répétez pour `gogolo` et `wagolo` si vous voulez les compilateurs.

## Ou construire depuis les sources

Cela donne les trois d'un coup, dans `/usr/local/bin`. Il faut Go ; `wagolo` se construit sans TinyGo mais ne peut rien compiler tant que TinyGo n'est pas installé.

```bash
git clone https://codeberg.org/TypeUnsafe/golo-script.git && cd golo-script
./install.sh
```

L'installeur de Turbo Golo fera exactement cela si on le lui demande :

```bash
scripts/install.sh --with-server
```

Il clone GoloScript dans un répertoire temporaire et lance son `install.sh`, qui demande `sudo` quand il copie dans `/usr/local/bin`.

## Vérifier

```bash
golo --version
```

```
v0.1.1 | dev.20260802.🤓
```

Et le serveur de langage en particulier — c'est l'interpréteur, c'est donc une sous-commande plutôt qu'un second binaire :

```bash
golo lsp </dev/null
```

Il ne lit rien, voit la fin de son entrée, et se termine proprement. Un `golo` qui imprime son usage ou démarre un REPL ici est un autre programme du même nom.

## Vérifier que l'éditeur le trouve

Ouvrez n'importe quel fichier `.golo` et lisez l'extrémité droite de la barre d'état :

```
 F1 Describe  F2 Save  F3 Open  F6 Window  F10 Menu       1:1  LSP: ready
```

`LSP: ready` signifie que le serveur a démarré. `LSP: no golo — see https://codeberg.org/TypeUnsafe/golo-script/releases` signifie qu'il n'a pas été trouvé, et le message dit où l'obtenir.

**Turbo Golo regarde à deux endroits, dans l'ordre** : votre `PATH`, puis `/usr/local/bin`. Le second est là où écrit l'installeur de GoloScript, et il est fouillé même quand il n'est pas sur le `PATH` — un shell lancé par un lanceur de bureau, par exemple — pour que le cas qui ressemble sinon à un serveur cassé fonctionne.

## Variantes

- **Vous installez les binaires ailleurs.** Mettez ce répertoire sur le `PATH` ; l'éditeur n'a aucune variable d'environnement nommant un autre endroit où regarder. Un lien symbolique dans `/usr/local/bin` marche aussi.
- **Vous avez déjà `golo` mais pas de complétion.** Lancez `golo lsp </dev/null` et assurez-vous qu'il se termine sans bruit. Puis lisez la barre d'état — `Run ▸ Language server status` montre le chemin que l'éditeur a trouvé et si le serveur a répondu à sa poignée de main.
- **Vous voulez mettre à jour.** Remplacez le binaire — un téléchargement de release ou `./install.sh` à nouveau après un `git pull`. Redémarrez l'éditeur : il démarre un serveur par session et ne remarque pas un nouveau binaire avant.
- **Vous installez pour la CI, ou dans une image.** GoloScript publie une image basée sur `scratch` qui ne contient que l'interpréteur : `docker run --rm -v "$PWD:/app" -w /app k33g/gololang:<tag> /golo ./main.golo`. L'éditeur ne peut pas utiliser un serveur dans un conteneur, c'est donc pour exécuter des scripts, pas pour la complétion.
- **Vous voulez être sûr que l'éditeur ne le trouve pas simplement sur le `PATH`.** Lancez-le avec un environnement réduit — `env PATH=/usr/bin:/bin turbo-golo main.golo` — et la barre d'état doit toujours dire `LSP: ready`, depuis `/usr/local/bin`.

## À quoi sert chaque binaire, vu de l'éditeur

| Binaire | Ce que l'éditeur en fait |
| --- | --- |
| `golo` | `golo lsp` — la complétion, le survol, les définitions, les symboles du fichier et les marques d'erreur ; et les entrées **Run**, **Test**, **Test one**, **Debug**, **REPL** et **New script** du menu Golo |
| `gogolo` | L'entrée **Build native** |
| `wagolo` | L'entrée **Build wasm** |

## Voir aussi

- [Activer la complétion](enable-completion.md) — que faire quand le serveur est installé et ne dit toujours rien
- [Lancer des commandes Golo depuis l'éditeur](run-golo-commands.md) — le menu Golo
- [Coloration et complétion](../explanation/colouring-and-completion.md) — pourquoi l'interpréteur est le serveur