turbo-editors/turbo-corepublic Fork 0
v1.0.1
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-core.git
git clone ssh://git@rickub.com/turbo-editors/turbo-core.git

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

profile.md · 84 lines · 4.1 KBmarkdown Blame HistoryRaw
🛟 Updated. 28d5985 k33g 20h ago1# Référence : profile
2
📦 Turbo Core f3ade8d k33g 13h ago3> Description neutre et exhaustive de `rickub.com/turbo-editors/turbo-core/profile`.
🛟 Updated. 28d5985 k33g 20h ago4
5`Profile` est la valeur par laquelle diffère un éditeur bâti sur turbo-core. Tout champ qui serait sinon un nom, un chemin ou une commande en dur se trouve ici.
6
7## Profile
8
9| Champ | Type | Défaut | Description |
10| --- | --- | --- | --- |
11| `Name` | `string` | `""` | Le nom que l'éditeur se donne, dans les titres de fenêtres et la boîte À propos. `"Turbo Go"`. Également envoyé au serveur de langage comme nom du client. |
12| `Slug` | `string` | `""` | Son nom en un mot. `"turbo-go"`. Le binaire, le répertoire de projet, le répertoire utilisateur et les variables d'environnement en dérivent tous. |
13| `Language` | `string` | `""` | Ce pour quoi l'éditeur existe, en prose destinée à être lue. `"Go"`, `"Rust"`. Apparaît dans les messages et dans la boîte À propos, pas dans les formats de fichier. |
14| `ToolsMenu` | `string` | `""` | L'étiquette du menu de la chaîne d'outils, avec sa touche rapide entre tildes. `"~G~o"`, `"Rus~t~"`. |
15| `RootMarkers` | `[]string` | `nil` | Les fichiers qui marquent la racine d'un projet, dans l'ordre où ils sont cherchés. `["go.mod"]`, `["Cargo.toml"]`. Vide signifie qu'on ne remonte pas. |
16| `Server` | `Server` | valeur nulle | Le serveur de langage. La valeur nulle signifie que l'éditeur fonctionne sans. |
17| `Templates` | `Templates` | valeur nulle | Les fichiers de départ que l'éditeur propose d'écrire. |
18
19### Valeurs dérivées
20
21| Méthode | Renvoie | Exemple pour `Slug: "turbo-go"` |
22| --- | --- | --- |
23| `ProjectDir()` | `string` | `".turbo-go"` |
24| `UserDir()` | `string` | `"~/.config/turbo-go"`, ou `""` si le système n'a pas de répertoire de configuration |
25| `ThemeDir()` | `string` | `"~/.config/turbo-go/themes"`, ou `""` |
26| `DirEnvVar()` | `string` | `"TURBO_GO_DIR"` |
27| `ThemeDirEnvVar()` | `string` | `"TURBO_GO_THEME_DIR"` |
28| `SnippetDirEnvVar()` | `string` | `"TURBO_GO_SNIPPET_DIR"` |
29
30`UserDir` renvoie la valeur de `DirEnvVar` quand elle est définie. `ThemeDir` renvoie la valeur de `ThemeDirEnvVar` quand elle est définie, et cette variable nomme le répertoire des thèmes lui-même, pas celui qui le contient.
31
32Les tirets d'un slug deviennent des soulignés dans un nom de variable d'environnement : `turbo-rust` donne `TURBO_RUST_THEME_DIR`.
33
34## Server
35
36| Champ | Type | Défaut | Description |
37| --- | --- | --- | --- |
38| `Command` | `string` | `""` | Le nom de l'exécutable, cherché d'abord dans PATH. `"gopls"`, `"rust-analyzer"`. |
39| `Args` | `[]string` | `nil` | Les arguments de démarrage. gopls prend `["serve"]` ; rust-analyzer n'en prend aucun. |
40| `InstallHint` | `string` | `""` | Une commande que l'utilisateur peut copier quand le serveur manque. Affichée sur la barre d'état, donc elle doit tenir sur une ligne. |
41| `Dirs` | `[]string` | `nil` | Répertoires supplémentaires fouillés après PATH, dans l'ordre. Les chaînes vides sont ignorées. |
42
43### Exemple
44
45```go
46profile.Server{
47 Command: "gopls",
48 Args: []string{"serve"},
49 InstallHint: "go install golang.org/x/tools/gopls@latest",
50 Dirs: []string{goBinDir()},
51}
52```
53
54## Templates
55
56| Champ | Type | Arguments de formatage, dans l'ordre |
57| --- | --- | --- |
58| `Settings` | `string` | le nom du thème (`%q`), le délai de sauvegarde automatique (`%q`) |
59| `Snippets` | `string` | le nom du groupe sans nom (`%s`), le chemin des extraits de l'utilisateur (`%s`) |
60| `Tools` | `string` | aucun |
61
62Un modèle avec le mauvais nombre de verbes produit `%!s(MISSING)` ou `%!(EXTRA …)` dans le fichier écrit ; rien ne le vérifie à votre place.
63
64### Exemple
65
66```go
67const settingsTemplate = `# turbo-go project settings.
68
69[editor]
70
71theme = %q
72autosave = false
73autosave_delay = %q
74`
75```
76
77## Erreurs
78
79`profile` ne renvoie aucune erreur. Un `Profile` dont le `Slug` est vide produit un répertoire de projet nommé `"."` et des variables d'environnement nommées `_DIR` ; rien ne le refuse.
80
81## Voir aussi
82
83- [Dialoguer avec un serveur de langage](../how-to/talk-to-a-language-server.md)
84- [Écrire les fichiers de départ](../how-to/write-the-starter-files.md)