Chemin
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Description
Affiche le chemin courant.
Exemple de configuration
- json
- yaml
- toml
{
"type": "path",
"style": "powerline",
"powerline_symbol": "",
"foreground": "#ffffff",
"background": "#61AFEF",
"options": {
"style": "folder",
"mapped_locations": {
"C:\\temp": ""
}
}
}
type: path
style: powerline
powerline_symbol:
foreground: "#ffffff"
background: "#61AFEF"
options:
style: folder
mapped_locations:
C:\temp:
type = "path"
style = "powerline"
powerline_symbol = ""
foreground = "#ffffff"
background = "#61AFEF"
[options]
style = "folder"
[options.mapped_locations]
"C:\\temp" = ""
Options
| Name | Type | Default | Description |
|---|---|---|---|
folder_separator_icon | string | / | the symbol to use as a separator between folders |
folder_separator_template | string | the template to use as a separator between folders | |
home_icon | string | ~ | the icon to display when at $HOME |
folder_icon | string | .. | the icon to use as a folder indication |
windows_registry_icon | string | \uF013 | the icon to display when in the Windows registry |
style | enum | agnoster | how to display the current path |
mixed_threshold | number | 4 | the maximum length of a path segment that will be displayed when using Mixed |
max_depth | number | 1 | maximum path depth to display before shortening when using agnoster_short |
max_width | any | 0 | maximum path length to display when using powerlevel or agnoster, can leverage templates |
hide_root_location | boolean | false | hides the root location if it doesn't fit in the last max_depth folders when using agnoster_short |
cycle | []string | a list of color overrides to cycle through to colorize the individual path folders, e.g. [ "#ffffff,#111111" ] | |
cycle_folder_separator | boolean | false | colorize the folder_separator_icon as well when using a cycle |
folder_format | string | %s | format to use on individual path folders |
edge_format | string | %s | format to use on the first and last folder of the path |
left_format | string | %s | format to use on the first folder of the path - defaults to edge_format |
right_format | string | %s | format to use on the last folder of the path - defaults to edge_format |
gitdir_format | string | format to use for a git root directory | |
display_cygpath | boolean | false | display the Cygwin style path using cygpath -u $PWD |
display_root | boolean | false | display the root / on Unix systems |
dir_length | number | 1 | the length of the directory name to display when using fish |
full_length_dirs | number | 1 | indicates how many full length directory names should be displayed when using fish |
Emplacements mappés
Permet de remplacer un emplacement par une icône/chaîne. Vérifie si le chemin courant commence par les éléments spécifiés et le remplace par l'icône/chaîne en cas de correspondance. Pour éviter les conflits avec les remplacements imbriqués, Oh My Posh trie la liste des emplacements mappés avant tout remplacement.
| Name | Type | Default | Description |
|---|---|---|---|
mapped_locations_enabled | boolean | true | replace known locations in the path with the replacements before applying the style |
mapped_locations | object | custom glyph/text for specific paths. Works regardless of the mapped_locations_enabled |
paramètre.
Par exemple, pour remplacer C:\Users\Leet\GitHub par une icône GitHub :
- json
- yaml
- toml
{
"mapped_locations": {
"C:\\Users\\Leet\\GitHub": ""
}
}
mapped_locations:
C:\Users\Leet\GitHub:
[mapped_locations]
"C:\\Users\\Leet\\GitHub" = ""
Fonctionnement
-
Pour un fonctionnement multiplateforme, utilisez
/comme séparateur de chemin. Oh My Posh adaptera automatiquement les séparateurs selon le système d'exploitation. -
Pour cibler tous les sous-répertoires, utilisez
*comme joker. Exemple :"C:/Users/Bill/*": "$"transformeraC:/Users/Bill/Downloadsen$/Downloadsmais laisseraC:/Users/Billinchangé. -
Le caractère
~en début d'emplacement mappé correspond au répertoire personnel de l'utilisateur. -
La correspondance est insensible à la casse sous Windows et macOS, mais sensible sur les autres systèmes. Ainsi pour l'utilisateur Bill (compte
Billsous Windows,billsous Linux),~/Foopourra correspondre àC:\Users\Bill\FooouC:\Users\Bill\foosous Windows, mais uniquement à/home/bill/Foosous Linux.
Pour éviter la corruption des éléments de chemin, si vous utilisez des balises de style (ex: <lightGreen>...</>) dans les valeurs de remplacement,
évitez d'utiliser les chevrons (</>) dans la propriété folder_separator_icon, et vice-versa.
Utilisation des expressions régulières
Pour les cas complexes, utilisez le préfixe re: avec un groupe de capture dans l'expression régulière.
Cette fonctionnalité utilise le package regexp de Golang et supporte toute syntaxe valide. La valeur de remplacement sera le premier groupe capturé,
les groupes suivants seront ignorés.
Par exemple, "re:(C:/[0-9]+/Foo)": "#" correspondra à C:\123\Foo\Bar et le remplacera par #\Bar. Le chemin utilisé pour la correspondance
utilisera toujours /, garantissant une compatibilité multiplateforme.
Comme pour les remplacements standards, la correspondance est insensible à la casse sous Windows et sur les lecteurs montés WSL, mais sensible sur les autres systèmes.
Style
Le style détermine l'affichage du chemin. Basé sur les thèmes populaires, 10 variantes sont disponibles :
-
agnoster -
agnoster_full -
agnoster_short -
agnoster_left -
full -
folder -
mixed -
letter -
unique -
powerlevel -
fish
Agnoster
Affiche chaque dossier intermédiaire via folder_icon, séparé par folder_separator_icon.
Le premier et le dernier dossier (courant) sont toujours affichés tels quels.
Agnoster Full
Affiche chaque nom de dossier séparé par folder_separator_icon.
Agnoster Short
Lorsque le chemin dépasse max_depth niveaux, il affiche une folder_icon (si hide_root_location est false,
ce qui signifie que le dossier racine n'est pas compté dans la profondeur) suivie des noms des max_depth derniers dossiers,
séparés par le folder_separator_icon.
Agnoster Left
Affiche chaque dossier sous forme de folder_icon séparé par le folder_separator_icon.
Seul le nom du premier dossier et son enfant sont affichés en entier.
Full
Affiche le répertoire de travail courant sous forme de chaîne complète, chaque dossier étant séparé par le folder_separator_icon.
Folder
Affiche le nom du dossier courant.
Mixed
Fonctionne comme agnoster, mais pour tout nom de dossier intermédiaire suffisamment court, il sera affiché tel quel.
La longueur maximale pour l'affichage des dossiers est déterminée par la propriété mixed_threshold.
Letter
Fonctionne comme agnoster_full, mais n'affiche que la première lettre de chaque nom de dossier, sauf si le nom du dossier
commence par un symbole ou une icône. En particulier, le dernier dossier (courant) est toujours affiché en entier.
-
foldersera raccourci enf -
.configsera raccourci en.c -
__pycache__sera raccourci en__p -
➼ foldersera raccourci en➼ f
Unique
Fonctionne comme letter, mais s'assure que chaque nom de dossier est la valeur unique la plus courte.
L'unicité fait référence au chemin affiché, donc C:\dev\dev\dev\development sera affiché sous la forme
C\d\de\dev\development (au lieu de C\d\d\d\development pour Letter). L'unicité ne fait pas référence aux autres
dossiers au même niveau, donc si C:\projectA\dev et C:\projectB\dev existent, ils seront tous deux affichés comme
C\p\dev.
Powerlevel
Fonctionne comme unique, mais arrête le raccourcissement lorsque max_width est atteint.
Fish
Fonctionne comme letter, mais affiche les premiers dir_length caractères de chaque nom de dossier, à l'exception des
derniers dossiers dont le nombre est spécifié par full_length_dirs, qui seront affichés en entier. Inspiré par le PWD du shell Fish.
Modèle (info)
{{ .Path }}
Propriétés
| Name | Type | Description |
|---|---|---|
.Path | string | the current directory (based on the style property) |
.Parent | string | the current directory's parent folder which ends with a path separator (designed for use with style folder, it is empty if .Path contains only one single element) |
.RootDir | boolean | true if we're at the root directory (no parent) |
.Location | string | the current directory (raw value) |
.StackCount | int | the stack count |
.Writable | boolean | is the current directory writable by the user or not |
.Format | function | format any path based on the segment's settings (e.g. {{ .Format .Segments.Git.RelativeDir }}) |