turbo-editors/turbo-jspublic Fork 0
v1.0.2
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-js.git
git clone ssh://git@rickub.com/turbo-editors/turbo-js.git

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

cli.md · 113 lines · 6.8 KBmarkdown Blame HistoryRaw
📦 Turbo JS 91999d1 k33g 11h ago1# Référence : ligne de commande
2
3> Description neutre de la commande `turbo-js`, de ses options et de l'environnement qu'elle lit.
4
5## Synopsis
6
7```
8turbo-js [options] [fichier...]
9```
10
11Chaque `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 JS <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_JS_DIR` | répertoire utilisateur | Remplace `~/.config/turbo-js` : les thèmes sont alors lus dans `$TURBO_JS_DIR/themes`, et vos snippets dans `$TURBO_JS_DIR/snippets.toml`. |
28| `TURBO_JS_THEME_DIR` | chargement des thèmes | Répertoire des thèmes utilisateur, à la place de `<répertoire utilisateur>/themes`. |
29| `TURBO_JS_SNIPPET_DIR` | chargement des snippets | Répertoire contenant votre `snippets.toml`, à la place du répertoire utilisateur. |
30| `PATH` | recherche de `typescript-language-server` | Consulté en premier ; viennent ensuite `$NVM_BIN`, `$NPM_CONFIG_PREFIX/bin` ou `~/.npm-global/bin`, `$PNPM_HOME`, `$VOLTA_HOME/bin` ou `~/.volta/bin`, `/usr/local/bin` et `/opt/homebrew/bin`, même s'ils n'y figurent pas. |
31| `NVM_BIN`, `NPM_CONFIG_PREFIX`, `PNPM_HOME`, `VOLTA_HOME` | recherche de `typescript-language-server` | Nomment les répertoires regardés après le `PATH`, quand elles sont définies ; une variable vide n'ajoute rien. |
32| `TERM` | tcell | Description de terminal à utiliser. |
33| `SHELL` | fenêtres terminal | Le shell qu'ouvre `F8` ; `/bin/sh` si elle est absente. |
34
35## Fichiers
36
37| Chemin | Rôle |
38| --- | --- |
39| `./.turbo-js/settings.toml` | Les réglages de ce projet, lus au démarrage puis à chaque enregistrement. Voir [réglages de projet](project-settings.md). |
40| `./.turbo-js/snippets.toml` | Les snippets de ce projet. Voir [snippets](snippets.md). |
41| `./.turbo-js/tools.toml` | Les outils du menu JavaScript. Voir [outils JavaScript](javascript-tools.md). |
42| `~/.config/turbo-js/themes/*.toml` | Thèmes utilisateur sous Linux (`os.UserConfigDir`). |
43| `~/Library/Application Support/turbo-js/themes/*.toml` | Thèmes utilisateur sous macOS. |
44| `~/.config/turbo-js/snippets.toml` | Vos snippets, partagés entre projets. |
45| `$TURBO_JS_THEME_DIR/*.toml` | Thèmes utilisateur, quand la variable est définie. |
46| `<projet>/package.json` | Trouvé en remontant depuis le fichier ouvert ; son répertoire devient la racine du serveur de langage. |
47| `$NVM_BIN/typescript-language-server`, `~/.npm-global/bin/…`, `$PNPM_HOME/…`, `~/.volta/bin/…`, `/usr/local/bin/…`, `/opt/homebrew/bin/…` | Le serveur de langage, quand `typescript-language-server` n'est pas dans le `PATH`. |
48
49Le serveur de langage reçoit comme racine le dossier le plus proche, au niveau du fichier ouvert ou au-dessus, qui contient un `package.json` : c'est le seul fichier marqueur, et dans un monorepo le plus proche l'emporte. Sans `package.json` nulle part, la racine est le répertoire de travail.
50
51## Code de sortie
52
53| Code | Signification |
54| --- | --- |
55| `0` | L'éditeur s'est terminé normalement, ou une option d'information a été utilisée. |
56| `1` | Le terminal n'a pas pu être ouvert ou initialisé. La raison est écrite sur la sortie d'erreur. |
57
58## Cibles make
59
60À exécuter depuis un clone.
61
62| Cible | Ce qu'elle lance |
63| --- | --- |
64| `make help` | Liste les cibles. C'est la cible par défaut. |
65| `make test` | `go test ./...` |
66| `make test-verbose` | `go test -v ./...` |
67| `make cover` | `go test -cover ./...` |
68| `make build` | `go build` estampillé dans `bin/turbo-js`, puis `scripts/check-version.sh` sur le résultat |
69| `make version` | Affiche la version que ce clone estampillerait, sans construire |
70| `make ldflags` | Affiche les options d'édition de liens d'un build estampillé |
71| `make install` | `scripts/install.sh` — compile et installe dans le PATH |
72| `make uninstall` | `scripts/install.sh --uninstall` |
73| `make run FILE=x.js` | `make build`, puis `./bin/turbo-js x.js` |
74| `make fmt` | `go fmt ./...` |
75| `make vet` | `go vet ./...` |
76| `make check` | `fmt`, puis `vet`, puis `test` |
77| `make clean` | Supprime `bin/` |
78
79## Exemples
80
81```bash
82turbo-js # une fenêtre vide
83turbo-js main.js README.md # deux fenêtres
84turbo-js -theme turbo-dark main.js # un autre thème
85turbo-js -no-lsp main.js # sans serveur de langage
86turbo-js -list-themes # quels thèmes existent
87```
88
89## Installateur
90
91`scripts/install.sh`, également accessible via `make install`.
92
93| Option | Description |
94| --- | --- |
95| `-p`, `--prefix RÉP` | Installer dans `RÉP` au lieu de `$GOBIN` ou `$GOPATH/bin`. |
96| `--with-server` | Installer aussi le serveur de langage — `npm install -g typescript-language-server typescript@6` — s'il n'est pas déjà présent ; sa présence est vérifiée en lançant `typescript-language-server --version`. |
97| `--uninstall` | Retirer un `turbo-js` installé, puis s'arrêter. |
98| `-h`, `--help` | Afficher les options, puis s'arrêter. |
99
100| Code de sortie | Signification |
101| --- | --- |
102| `0` | Installé, retiré, ou aide affichée. |
103| `1` | Go absent ou trop ancien, échec de compilation, destination non accessible en écriture, ou `npm` absent alors que `--with-server` est demandé. Rien n'est installé et une installation existante reste intacte. |
104
105## Erreurs
106
107| Message | Cause |
108| --- | --- |
109| `turbo-js: opening the terminal: …` | tcell n'a pas pu ouvrir le terminal ; en général `TERM` est absent ou inconnu. |
110| `turbo-js: initialising the terminal: …` | Le terminal a été ouvert mais n'a pas pu être mis en mode brut. |
111| `Cannot open` (dans une boîte) | Le chemin est un répertoire, ou n'est pas lisible. |
112| `Cannot save` (dans une boîte) | Le répertoire n'existe pas, ou n'est pas accessible en écriture. |
113| `LSP: no typescript-language-server — npm install -g typescript-language-server typescript@6` (barre d'état) | Le serveur n'a été trouvé ni dans le `PATH` ni dans les répertoires listés plus haut. |