turbo-editors/turbo-jspublic Fork 0
27bdf0bcf9e8bba126902ae0c7a7db9509a85f1e
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 · 120 lines · 8.0 KBmarkdown Blame HistoryRaw
📦 Turbo JS 91999d1 k33g yesterday1# 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). |
📦 Turbo JS 27bdf0b k33g 14h ago21| `-load-config <url>` | chaîne | aucune | Copie le répertoire `.turbo-js` trouvé à l'URL d'un dépôt — rickub, GitHub, GitLab ou Codeberg, l'URL du dossier telle que le navigateur l'affiche — dans le répertoire courant, affiche ce qui est arrivé, et quitte. Nécessite `git`. Refuse si `./.turbo-js` existe déjà. L'éditeur n'est pas lancé. |
📦 Turbo JS 91999d1 k33g yesterday22| `-h`, `-help` | booléen | `false` | Affiche la liste des options et quitte. |
23
24## Environnement
25
26| Variable | Lue par | Effet |
27| --- | --- | --- |
28| `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`. |
29| `TURBO_JS_THEME_DIR` | chargement des thèmes | Répertoire des thèmes utilisateur, à la place de `<répertoire utilisateur>/themes`. |
30| `TURBO_JS_SNIPPET_DIR` | chargement des snippets | Répertoire contenant votre `snippets.toml`, à la place du répertoire utilisateur. |
31| `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. |
32| `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. |
33| `TERM` | tcell | Description de terminal à utiliser. |
34| `SHELL` | fenêtres terminal | Le shell qu'ouvre `F8` ; `/bin/sh` si elle est absente. |
35
36## Fichiers
37
38| Chemin | Rôle |
39| --- | --- |
40| `./.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). |
📦 Turbo JS 27bdf0b k33g 14h ago41| `./.turbo-js/` (écrit) | Créé par `-load-config` à partir de la copie d'un dépôt, quand le projet n'en a pas encore. |
📦 Turbo JS 91999d1 k33g yesterday42| `./.turbo-js/snippets.toml` | Les snippets de ce projet. Voir [snippets](snippets.md). |
43| `./.turbo-js/tools.toml` | Les outils du menu JavaScript. Voir [outils JavaScript](javascript-tools.md). |
44| `~/.config/turbo-js/themes/*.toml` | Thèmes utilisateur sous Linux (`os.UserConfigDir`). |
45| `~/Library/Application Support/turbo-js/themes/*.toml` | Thèmes utilisateur sous macOS. |
46| `~/.config/turbo-js/snippets.toml` | Vos snippets, partagés entre projets. |
47| `$TURBO_JS_THEME_DIR/*.toml` | Thèmes utilisateur, quand la variable est définie. |
48| `<projet>/package.json` | Trouvé en remontant depuis le fichier ouvert ; son répertoire devient la racine du serveur de langage. |
49| `$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`. |
50
51Le 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.
52
53## Code de sortie
54
55| Code | Signification |
56| --- | --- |
57| `0` | L'éditeur s'est terminé normalement, ou une option d'information a été utilisée. |
58| `1` | Le terminal n'a pas pu être ouvert ou initialisé. La raison est écrite sur la sortie d'erreur. |
59
60## Cibles make
61
62À exécuter depuis un clone.
63
64| Cible | Ce qu'elle lance |
65| --- | --- |
66| `make help` | Liste les cibles. C'est la cible par défaut. |
67| `make test` | `go test ./...` |
68| `make test-verbose` | `go test -v ./...` |
69| `make cover` | `go test -cover ./...` |
70| `make build` | `go build` estampillé dans `bin/turbo-js`, puis `scripts/check-version.sh` sur le résultat |
71| `make version` | Affiche la version que ce clone estampillerait, sans construire |
72| `make ldflags` | Affiche les options d'édition de liens d'un build estampillé |
73| `make install` | `scripts/install.sh` — compile et installe dans le PATH |
74| `make uninstall` | `scripts/install.sh --uninstall` |
75| `make run FILE=x.js` | `make build`, puis `./bin/turbo-js x.js` |
76| `make fmt` | `go fmt ./...` |
77| `make vet` | `go vet ./...` |
78| `make check` | `fmt`, puis `vet`, puis `test` |
79| `make clean` | Supprime `bin/` |
80
81## Exemples
82
83```bash
84turbo-js # une fenêtre vide
85turbo-js main.js README.md # deux fenêtres
86turbo-js -theme turbo-dark main.js # un autre thème
87turbo-js -no-lsp main.js # sans serveur de langage
88turbo-js -list-themes # quels thèmes existent
📦 Turbo JS 27bdf0b k33g 14h ago89turbo-js -load-config https://rickub.com/turbo-editors/configs/tree/main/golang-init # partir d'une configuration partagée
📦 Turbo JS 91999d1 k33g yesterday90```
91
92## Installateur
93
94`scripts/install.sh`, également accessible via `make install`.
95
96| Option | Description |
97| --- | --- |
98| `-p`, `--prefix RÉP` | Installer dans `RÉP` au lieu de `$GOBIN` ou `$GOPATH/bin`. |
99| `--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`. |
100| `--uninstall` | Retirer un `turbo-js` installé, puis s'arrêter. |
101| `-h`, `--help` | Afficher les options, puis s'arrêter. |
102
103| Code de sortie | Signification |
104| --- | --- |
105| `0` | Installé, retiré, ou aide affichée. |
106| `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. |
107
108## Erreurs
109
110| Message | Cause |
111| --- | --- |
112| `turbo-js: opening the terminal: …` | tcell n'a pas pu ouvrir le terminal ; en général `TERM` est absent ou inconnu. |
113| `turbo-js: initialising the terminal: …` | Le terminal a été ouvert mais n'a pas pu être mis en mode brut. |
114| `Cannot open` (dans une boîte) | Le chemin est un répertoire, ou n'est pas lisible. |
115| `Cannot save` (dans une boîte) | Le répertoire n'existe pas, ou n'est pas accessible en écriture. |
116| `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. |
📦 Turbo JS 27bdf0b k33g 14h ago117| `turbo-js: configrepo: the project already has a configuration directory: …` | `-load-config` dans un projet qui a déjà `.turbo-js`. Déplacez-le d'abord. |
118| `turbo-js: configrepo: git is not installed` | `-load-config` a besoin de la commande `git` dans le `PATH`. |
119| `turbo-js: configrepo: no configuration directory at that path: …` | Le dépôt existe mais ne contient pas de `.turbo-js` là où l'URL pointe. |
120| `turbo-js: configrepo: no repository answered: …` | Aucune adresse de clone pour cette URL n'a répondu : l'URL, le réseau, ou un dépôt privé. |