| 📦 Turbo Python 6fc62ea k33g 10h ago | 1 | # Référence : ligne de commande |
| 2 | |
| 3 | > Description neutre de la commande `turbo-python`, de ses options et de l'environnement qu'elle lit. |
| 4 | |
| 5 | ## Synopsis |
| 6 | |
| 7 | ``` |
| 8 | turbo-python [options] [fichier...] |
| 9 | ``` |
| 10 | |
| 11 | 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. |
| 12 | |
| 13 | ## Options |
| 14 | |
| 15 | | Option | Type | Défaut | Description | |
| 16 | | --- | --- | --- | --- | |
| 17 | | `-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. | |
| 18 | | `-list-themes` | booléen | `false` | Affiche chaque thème chargeable avec sa description, puis le répertoire de thèmes utilisateur, et quitte. | |
| 19 | | `-no-lsp` | booléen | `false` | Ne démarre pas de serveur de langage. La coloration et l'édition sont inchangées. | |
| 20 | | `-version` | booléen | `false` | Affiche `Turbo Python <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). | |
| 21 | | `-h`, `-help` | booléen | `false` | Affiche la liste des options et quitte. | |
| 22 | |
| 23 | ## Environnement |
| 24 | |
| 25 | | Variable | Lue par | Effet | |
| 26 | | --- | --- | --- | |
| 27 | | `TURBO_PYTHON_THEME_DIR` | chargement des thèmes | Répertoire des thèmes utilisateur, à la place du répertoire de configuration de la plateforme. | |
| 28 | | `TERM` | tcell | Description de terminal à utiliser. | |
| 29 | | `GOBIN`, `GOPATH`, `HOME` | recherche de pylsp | Consultées, dans cet ordre, quand `pylsp` n'est pas dans le `PATH`. | |
| 30 | |
| 31 | ## Fichiers |
| 32 | |
| 33 | | Chemin | Rôle | |
| 34 | | --- | --- | |
| 35 | | `$TURBO_PYTHON_THEME_DIR/*.toml` | Thèmes utilisateur, quand la variable est définie. | |
| 36 | | `./.turbo-python/settings.toml` | Les réglages de ce projet, lus une fois au démarrage. Voir [réglages de projet](project-settings.md). | |
| 37 | | `~/.config/turbo-python/themes/*.toml` | Thèmes utilisateur sous Linux (`os.UserConfigDir`). | |
| 38 | | `~/Library/Application Support/turbo-python/themes/*.toml` | Thèmes utilisateur sous macOS. | |
| 39 | | `<module>/pyproject.toml` | Trouvé en remontant depuis le premier fichier ; son répertoire devient la racine du serveur de langage. | |
| 40 | |
| 41 | ## Code de sortie |
| 42 | |
| 43 | | Code | Signification | |
| 44 | | --- | --- | |
| 45 | | `0` | L'éditeur s'est terminé normalement, ou une option d'information a été utilisée. | |
| 46 | | `1` | Le terminal n'a pas pu être ouvert ou initialisé. La raison est écrite sur la sortie d'erreur. | |
| 47 | |
| 48 | ## Cibles make |
| 49 | |
| 50 | À exécuter depuis un clone. |
| 51 | |
| 52 | | Cible | Ce qu'elle lance | |
| 53 | | --- | --- | |
| 54 | | `make help` | Liste les cibles. C'est la cible par défaut. | |
| 55 | | `make test` | `uv run pytest` | |
| 56 | | `make test-verbose` | `go test -v ./...` | |
| 57 | | `make cover` | `go test -cover ./...` | |
| 58 | | `make build` | `go build -o bin/turbo-python .` | |
| 59 | | `make install` | `scripts/install.sh` — compile et installe dans le PATH | |
| 60 | | `make uninstall` | `scripts/install.sh --uninstall` | |
| 61 | | `make run FILE=x.go` | `make build`, puis `./bin/turbo-python x.go` | |
| 62 | | `make fmt` | `go fmt ./...` | |
| 63 | | `make vet` | `uv run ruff check .` | |
| 64 | | `make check` | `fmt`, puis `vet`, puis `test` | |
| 65 | | `make clean` | Supprime `bin/` | |
| 66 | |
| 67 | ## Exemples |
| 68 | |
| 69 | ```bash |
| 70 | turbo-python # une fenêtre vide |
| 71 | turbo-python main.py pyproject.toml # deux fenêtres |
| 72 | turbo-python -theme turbo-dark main.py # un autre thème |
| 73 | turbo-python -no-lsp main.py # sans serveur de langage |
| 74 | turbo-python -list-themes # quels thèmes existent |
| 75 | ``` |
| 76 | |
| 77 | ## Installateur |
| 78 | |
| 79 | `scripts/install.sh`, également accessible via `make install`. |
| 80 | |
| 81 | | Option | Description | |
| 82 | | --- | --- | |
| 83 | | `-p`, `--prefix RÉP` | Installer dans `RÉP` au lieu de `$GOBIN` ou `$GOPATH/bin`. | |
| 84 | | `--with-pylsp` | Installer aussi `pylsp`, s'il n'est pas déjà présent. | |
| 85 | | `--uninstall` | Retirer un `turbo-python` installé, puis s'arrêter. | |
| 86 | | `-h`, `--help` | Afficher les options, puis s'arrêter. | |
| 87 | |
| 88 | | Code de sortie | Signification | |
| 89 | | --- | --- | |
| 90 | | `0` | Installé, retiré, ou aide affichée. | |
| 91 | | `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. | |
| 92 | |
| 93 | ## Erreurs |
| 94 | |
| 95 | | Message | Cause | |
| 96 | | --- | --- | |
| 97 | | `turbo-python: opening the terminal: …` | tcell n'a pas pu ouvrir le terminal ; en général `TERM` est absent ou inconnu. | |
| 98 | | `turbo-python: initialising the terminal: …` | Le terminal a été ouvert mais n'a pas pu être mis en mode brut. | |
| 99 | | `Cannot open` (dans une boîte) | Le chemin est un répertoire, ou n'est pas lisible. | |
| 100 | | `Cannot save` (dans une boîte) | Le répertoire n'existe pas, ou n'est pas accessible en écriture. | |