This commit is contained in:
pull[bot] 2024-04-27 07:36:48 +00:00 committed by GitHub
commit 73c28f0711
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
525 changed files with 23347 additions and 32985 deletions

View File

@ -14,36 +14,20 @@
],
"excludes": [
"CHANGELOG.md",
"docs/.vuepress/dist/**",
"docs/.vitepress/dist/**",
"**/node_modules",
"**/*-lock.json",
".github/*",
"docs/ar-SA/**",
"docs/ckb-IR/**",
"docs/de-DE/**",
"docs/es-ES/**",
"docs/fr-FR/**",
"docs/id-ID/**",
"docs/it-IT/**",
"docs/ja-JP/**",
"docs/ko-KR/**",
"docs/nl-NL/**",
"docs/no-NO/**",
"docs/pl-PL/**",
"docs/pt-BR/**",
"docs/pt-PT/**",
"docs/ru-RU/**",
"docs/tr-TR/**",
"docs/uk-UA/**",
"docs/vi-VN/**",
"docs/zh-CN/**",
"docs/zh-TW/**",
"docs/??-??/**",
"docs/??-???/**",
"docs/???-??/**",
"docs/???-???/**",
"target/"
],
"plugins": [
"https://github.com/dprint/dprint-plugin-typescript/releases/download/0.88.3/plugin.wasm",
"https://github.com/dprint/dprint-plugin-json/releases/download/0.19.0/plugin.wasm",
"https://github.com/dprint/dprint-plugin-markdown/releases/download/0.16.2/plugin.wasm",
"https://github.com/dprint/dprint-plugin-toml/releases/download/0.5.4/plugin.wasm"
"https://github.com/dprint/dprint-plugin-typescript/releases/download/0.90.3/plugin.wasm",
"https://github.com/dprint/dprint-plugin-json/releases/download/0.19.2/plugin.wasm",
"https://github.com/dprint/dprint-plugin-markdown/releases/download/0.16.4/plugin.wasm",
"https://github.com/dprint/dprint-plugin-toml/releases/download/0.6.1/plugin.wasm"
]
}

View File

@ -94,7 +94,7 @@
"disabled": false,
"format": "via [$symbol($version )]($style)",
"style": "bold red",
"symbol": "🍞 ",
"symbol": "🥟 ",
"version_format": "v${raw}"
},
"allOf": [
@ -354,6 +354,29 @@
}
]
},
"direnv": {
"default": {
"allowed_msg": "allowed",
"denied_msg": "denied",
"detect_extensions": [],
"detect_files": [
".envrc"
],
"detect_folders": [],
"disabled": true,
"format": "[$symbol$loaded/$allowed]($style) ",
"loaded_msg": "loaded",
"not_allowed_msg": "not allowed",
"style": "bold orange",
"symbol": "direnv ",
"unloaded_msg": "not loaded"
},
"allOf": [
{
"$ref": "#/definitions/DirenvConfig"
}
]
},
"docker_context": {
"default": {
"detect_extensions": [],
@ -644,6 +667,27 @@
}
]
},
"gleam": {
"default": {
"detect_extensions": [
"gleam"
],
"detect_files": [
"gleam.toml"
],
"detect_folders": [],
"disabled": false,
"format": "via [$symbol($version )]($style)",
"style": "bold #FFAFF3",
"symbol": "⭐ ",
"version_format": "v${raw}"
},
"allOf": [
{
"$ref": "#/definitions/GleamConfig"
}
]
},
"golang": {
"default": {
"detect_extensions": [
@ -908,6 +952,7 @@
"default": {
"context_aliases": {},
"contexts": [],
"detect_env_vars": [],
"detect_extensions": [],
"detect_files": [],
"detect_folders": [],
@ -1104,6 +1149,25 @@
}
]
},
"odin": {
"default": {
"detect_extensions": [
"odin"
],
"detect_files": [],
"detect_folders": [],
"disabled": false,
"format": "via [$symbol($version )]($style)",
"show_commit": false,
"style": "bold bright-blue",
"symbol": "Ø "
},
"allOf": [
{
"$ref": "#/definitions/OdinConfig"
}
]
},
"opa": {
"default": {
"detect_extensions": [
@ -1142,6 +1206,8 @@
"format": "[$symbol]($style)",
"style": "bold white",
"symbols": {
"AIX": "➿ ",
"AlmaLinux": "💠 ",
"Alpaquita": "🔔 ",
"Alpine": "🏔️ ",
"Amazon": "🙂 ",
@ -1159,6 +1225,7 @@
"Gentoo": "🗜️ ",
"HardenedBSD": "🛡️ ",
"Illumos": "🐦 ",
"Kali": "🐉 ",
"Linux": "🐧 ",
"Mabox": "📦 ",
"Macos": "🍎 ",
@ -1176,10 +1243,13 @@
"RedHatEnterprise": "🎩 ",
"Redhat": "🎩 ",
"Redox": "🧪 ",
"RockyLinux": "💠 ",
"SUSE": "🦎 ",
"Solus": "⛵ ",
"Ubuntu": "🎯 ",
"Ultramarine": "🔷 ",
"Unknown": "❓ ",
"Void": " ",
"Windows": "🪟 ",
"openEuler": "🦉 ",
"openSUSE": "🦎 "
@ -1342,6 +1412,27 @@
}
]
},
"quarto": {
"default": {
"detect_extensions": [
"qmd"
],
"detect_files": [
"_quarto.yml"
],
"detect_folders": [],
"disabled": false,
"format": "via [$symbol($version )]($style)",
"style": "bold #75AADB",
"symbol": "⨁ ",
"version_format": "v${raw}"
},
"allOf": [
{
"$ref": "#/definitions/QuartoConfig"
}
]
},
"raku": {
"default": {
"detect_extensions": [
@ -1397,7 +1488,7 @@
"Rsx"
],
"detect_files": [
".Rprofile"
"DESCRIPTION"
],
"detect_folders": [
".Rproj.user"
@ -1671,8 +1762,31 @@
}
]
},
"typst": {
"default": {
"detect_extensions": [
"typ"
],
"detect_files": [
"template.typ"
],
"detect_folders": [],
"disabled": false,
"format": "via [$symbol($version )]($style)",
"style": "bold #0093A7",
"symbol": "t ",
"version_format": "v${raw}"
},
"allOf": [
{
"$ref": "#/definitions/TypstConfig"
}
]
},
"username": {
"default": {
"aliases": {},
"detect_env_vars": [],
"disabled": false,
"format": "[$user]($style) in ",
"show_always": false,
@ -1826,7 +1940,7 @@
"definitions": {
"AwsConfig": {
"title": "AWS",
"description": "The `aws` module shows the current AWS region and profile and an expiration timer when using temporary credentials. The output of the module uses the `AWS_REGION`, `AWS_DEFAULT_REGION`, and `AWS_PROFILE` env vars and the `~/.aws/config` and `~/.aws/credentials` files as required.\n\nThe module will display a profile only if its credentials are present in `~/.aws/credentials` or if a `credential_process` or `sso_start_url` are defined in `~/.aws/config`. Alternatively, having any of the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, or `AWS_SESSION_TOKEN` env vars defined will also suffice. If the option `force_display` is set to `true`, all available information will be displayed even if no credentials per the conditions above are detected.\n\nWhen using [aws-vault](https://github.com/99designs/aws-vault) the profile is read from the `AWS_VAULT` env var and the credentials expiration date is read from the `AWS_SESSION_EXPIRATION` or `AWS_CREDENTIAL_EXPIRATION` var.\n\nWhen using [awsu](https://github.com/kreuzwerker/awsu) the profile is read from the `AWSU_PROFILE` env var.\n\nWhen using [`AWSume`](https://awsu.me) the profile is read from the `AWSUME_PROFILE` env var and the credentials expiration date is read from the `AWSUME_EXPIRATION` env var.",
"description": "The `aws` module shows the current AWS region and profile and an expiration timer when using temporary credentials. The output of the module uses the `AWS_REGION`, `AWS_DEFAULT_REGION`, and `AWS_PROFILE` env vars and the `~/.aws/config` and `~/.aws/credentials` files as required.\n\nThe module will display a profile only if its credentials are present in `~/.aws/credentials` or if a `credential_process` or `sso_start_url` are defined in `~/.aws/config`. Alternatively, having any of the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, or `AWS_SESSION_TOKEN` env vars defined will also suffice. If the option `force_display` is set to `true`, all available information will be displayed even if no credentials per the conditions above are detected.\n\nWhen using [aws-vault](https://github.com/99designs/aws-vault) the profile is read from the `AWS_VAULT` env var and the credentials expiration date is read from the `AWS_SESSION_EXPIRATION` or `AWS_CREDENTIAL_EXPIRATION` var.\n\nWhen using [awsu](https://github.com/kreuzwerker/awsu) the profile is read from the `AWSU_PROFILE` env var.\n\nWhen using [`AWSume`](https://awsu.me) the profile is read from the `AWSUME_PROFILE` env var and the credentials expiration date is read from the `AWSUME_EXPIRATION` env var.\n\nWhen using [aws-sso-cli](https://github.com/synfinatic/aws-sso-cli) the profile is read from the `AWS_SSO_PROFILE` env var.",
"type": "object",
"properties": {
"format": {
@ -2047,7 +2161,7 @@
"type": "string"
},
"symbol": {
"default": "🍞 ",
"default": "🥟 ",
"type": "string"
},
"style": {
@ -2686,6 +2800,71 @@
},
"additionalProperties": false
},
"DirenvConfig": {
"type": "object",
"properties": {
"format": {
"default": "[$symbol$loaded/$allowed]($style) ",
"type": "string"
},
"symbol": {
"default": "direnv ",
"type": "string"
},
"style": {
"default": "bold orange",
"type": "string"
},
"disabled": {
"default": true,
"type": "boolean"
},
"detect_extensions": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"detect_files": {
"default": [
".envrc"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_folders": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"allowed_msg": {
"default": "allowed",
"type": "string"
},
"not_allowed_msg": {
"default": "not allowed",
"type": "string"
},
"denied_msg": {
"default": "denied",
"type": "string"
},
"loaded_msg": {
"default": "loaded",
"type": "string"
},
"unloaded_msg": {
"default": "not loaded",
"type": "string"
}
},
"additionalProperties": false
},
"DockerContextConfig": {
"type": "object",
"properties": {
@ -3397,6 +3576,57 @@
},
"additionalProperties": false
},
"GleamConfig": {
"type": "object",
"properties": {
"format": {
"default": "via [$symbol($version )]($style)",
"type": "string"
},
"version_format": {
"default": "v${raw}",
"type": "string"
},
"symbol": {
"default": "⭐ ",
"type": "string"
},
"style": {
"default": "bold #FFAFF3",
"type": "string"
},
"disabled": {
"default": false,
"type": "boolean"
},
"detect_extensions": {
"default": [
"gleam"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_files": {
"default": [
"gleam.toml"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_folders": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"GoConfig": {
"type": "object",
"properties": {
@ -4027,6 +4257,13 @@
"type": "string"
}
},
"detect_env_vars": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"contexts": {
"default": [],
"type": "array",
@ -4455,6 +4692,55 @@
},
"additionalProperties": false
},
"OdinConfig": {
"type": "object",
"properties": {
"format": {
"default": "via [$symbol($version )]($style)",
"type": "string"
},
"show_commit": {
"default": false,
"type": "boolean"
},
"symbol": {
"default": "Ø ",
"type": "string"
},
"style": {
"default": "bold bright-blue",
"type": "string"
},
"disabled": {
"default": false,
"type": "boolean"
},
"detect_extensions": {
"default": [
"odin"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_files": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"detect_folders": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"OpaConfig": {
"type": "object",
"properties": {
@ -4539,6 +4825,8 @@
},
"symbols": {
"default": {
"AIX": "➿ ",
"AlmaLinux": "💠 ",
"Alpaquita": "🔔 ",
"Alpine": "🏔️ ",
"Amazon": "🙂 ",
@ -4556,6 +4844,7 @@
"Gentoo": "🗜️ ",
"HardenedBSD": "🛡️ ",
"Illumos": "🐦 ",
"Kali": "🐉 ",
"Linux": "🐧 ",
"Mabox": "📦 ",
"Macos": "🍎 ",
@ -4573,10 +4862,13 @@
"RedHatEnterprise": "🎩 ",
"Redhat": "🎩 ",
"Redox": "🧪 ",
"RockyLinux": "💠 ",
"SUSE": "🦎 ",
"Solus": "⛵ ",
"Ubuntu": "🎯 ",
"Ultramarine": "🔷 ",
"Unknown": "❓ ",
"Void": " ",
"Windows": "🪟 ",
"openEuler": "🦉 ",
"openSUSE": "🦎 "
@ -4936,6 +5228,57 @@
}
]
},
"QuartoConfig": {
"type": "object",
"properties": {
"format": {
"default": "via [$symbol($version )]($style)",
"type": "string"
},
"version_format": {
"default": "v${raw}",
"type": "string"
},
"symbol": {
"default": "⨁ ",
"type": "string"
},
"style": {
"default": "bold #75AADB",
"type": "string"
},
"disabled": {
"default": false,
"type": "boolean"
},
"detect_extensions": {
"default": [
"qmd"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_files": {
"default": [
"_quarto.yml"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_folders": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"RakuConfig": {
"type": "object",
"properties": {
@ -5079,7 +5422,7 @@
},
"detect_files": {
"default": [
".Rprofile"
"DESCRIPTION"
],
"type": "array",
"items": {
@ -5290,6 +5633,12 @@
"default": "psh",
"type": "string"
},
"pwsh_indicator": {
"type": [
"string",
"null"
]
},
"ion_indicator": {
"default": "ion",
"type": "string"
@ -5709,9 +6058,67 @@
},
"additionalProperties": false
},
"TypstConfig": {
"type": "object",
"properties": {
"format": {
"default": "via [$symbol($version )]($style)",
"type": "string"
},
"version_format": {
"default": "v${raw}",
"type": "string"
},
"symbol": {
"default": "t ",
"type": "string"
},
"style": {
"default": "bold #0093A7",
"type": "string"
},
"disabled": {
"default": false,
"type": "boolean"
},
"detect_extensions": {
"default": [
"typ"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_files": {
"default": [
"template.typ"
],
"type": "array",
"items": {
"type": "string"
}
},
"detect_folders": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
},
"UsernameConfig": {
"type": "object",
"properties": {
"detect_env_vars": {
"default": [],
"type": "array",
"items": {
"type": "string"
}
},
"format": {
"default": "[$user]($style) in ",
"type": "string"
@ -5731,6 +6138,13 @@
"disabled": {
"default": false,
"type": "boolean"
},
"aliases": {
"default": {},
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"additionalProperties": false

View File

@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Docs | Format
uses: dprint/check@v2.2
@ -22,11 +22,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Install | Taplo
run: cargo install --debug --locked --version 0.8.1 taplo-cli
run: cargo install --debug --locked --version 0.9.0 taplo-cli
- name: Presets | Validate with schema
run: taplo lint --schema "file://${GITHUB_WORKSPACE}/.github/config-schema.json" docs/.vuepress/public/presets/toml/*.toml
run: taplo lint --schema "file://${GITHUB_WORKSPACE}/.github/config-schema.json" docs/public/presets/toml/*.toml
# If this is not a Crowdin PR, block changes to translated documentation
block-crowdin:
@ -35,8 +35,31 @@ jobs:
if: ${{ github.event_name == 'pull_request' }}
steps:
- name: Prevent File Change
uses: xalvarez/prevent-file-change-action@v1.4.0
uses: xalvarez/prevent-file-change-action@v1.6.0
if: ${{ github.event.pull_request.head.ref != 'i18n_master' }}
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
pattern: docs/[a-z][a-z][a-z]?-[A-Z][A-Z]?/.*
# Vitepress build
vitepress:
name: Vitepress [Build]
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@v4
- name: Setup | Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: docs/package-lock.json
- name: Setup | Install dependencies
run: npm install
working-directory: docs
- name: Build | Build docs site
run: npm run build
working-directory: docs

View File

@ -7,12 +7,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Node
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: 16
node-version: 20
cache: 'npm'
cache-dependency-path: docs/package-lock.json
@ -27,7 +27,7 @@ jobs:
- name: Publish
uses: netlify/actions/cli@master
with:
args: deploy --prod --dir=docs/.vuepress/dist
args: deploy --prod --dir=docs/.vitepress/dist
env:
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}

View File

@ -20,12 +20,11 @@ jobs:
release_created: ${{ steps.release.outputs.release_created }}
tag_name: ${{ steps.release.outputs.tag_name }}
steps:
- uses: google-github-actions/release-please-action@v3
- uses: google-github-actions/release-please-action@v4
id: release
with:
token: ${{ secrets.GITHUB_TOKEN }}
release-type: rust
draft: true
# Build sources for every OS
github_build:
@ -89,7 +88,7 @@ jobs:
RUSTFLAGS: ${{ matrix.rustflags || '' }}
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@master
@ -141,7 +140,7 @@ jobs:
cd -
- name: Release | Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}
path: ${{ matrix.name }}
@ -149,7 +148,7 @@ jobs:
- name: Release | Upload installer artifacts [Windows]
continue-on-error: true
if: matrix.os == 'windows-latest' && matrix.target != 'aarch64-pc-windows-msvc'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: starship-${{ matrix.target }}.msi
path: target/wix/starship-${{ matrix.target }}.msi
@ -179,7 +178,7 @@ jobs:
STARSHIP_VERSION: ${{ needs.release_please.outputs.tag_name }}
steps:
- name: Checkout repository
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
with:
# Required to include the recently merged Crowdin PR
ref: master
@ -215,6 +214,11 @@ jobs:
# Add Apple Developer ID credentials to keychain
xcrun notarytool store-credentials "$KEYCHAIN_ENTRY" --team-id "$APPLEID_TEAMID" --apple-id "$APPLEID_USERNAME" --password "$APPLEID_PASSWORD" --keychain "$KEYCHAIN_PATH"
- name: Setup | Node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Notarize | Build docs
run: |
cd docs
@ -222,7 +226,7 @@ jobs:
npm run build
- name: Notarize | Download artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: ${{ matrix.name }}
path: artifacts
@ -234,7 +238,7 @@ jobs:
run: bash install/macos_packages/build_and_notarize.sh starship docs ${{ matrix.arch }} ${{ matrix.pkgname }}
- name: Notarize | Upload Notarized Flat Installer
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.pkgname }}
path: ${{ matrix.pkgname }}
@ -243,10 +247,11 @@ jobs:
run: tar czvf ${{ matrix.name }} starship
- name: Notarize | Upload Notarized Binary
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}
path: ${{ matrix.name }}
overwrite: true
- name: Cleanup Secrets
if: ${{ always() }}
@ -261,7 +266,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
- name: Setup | Checksums
run: for file in starship-*/starship-*; do openssl dgst -sha256 -r "$file" | awk '{print $1}' > "${file}.sha256"; done
@ -272,7 +277,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Build | Add Artifacts to Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
with:
files: starship-*/starship-*
tag_name: ${{ needs.release_please.outputs.tag_name }}
@ -285,7 +290,7 @@ jobs:
if: ${{ needs.release_please.outputs.release_created == 'true' }}
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -317,11 +322,16 @@ jobs:
env:
URL_64: https://github.com/starship/starship/releases/download/${{ needs.release_please.outputs.tag_name }}/starship-x86_64-pc-windows-msvc.msi
URL_32: https://github.com/starship/starship/releases/download/${{ needs.release_please.outputs.tag_name }}/starship-i686-pc-windows-msvc.msi
URL_ARM: https://github.com/starship/starship/releases/download/${{ needs.release_please.outputs.tag_name }}/starship-aarch64-pc-windows-msvc.zip
steps:
# Publishing will fail if the repo is too far behind the upstream
- run: gh repo sync matchai/winget-pkgs
env:
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
- run: |
$version = '${{ needs.release_please.outputs.tag_name }}'.replace('v', '')
iwr https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
./wingetcreate.exe update Starship.Starship -s -v $version -u $env:URL_64 $env:URL_32 -t ${{ secrets.GH_PAT }}
./wingetcreate.exe update Starship.Starship -s -v $version -u $env:URL_64 $env:URL_32 $env:URL_ARM -t ${{ secrets.GH_PAT }}
choco_update:
name: Update Chocolatey Package
@ -330,9 +340,9 @@ jobs:
if: ${{ needs.release_please.outputs.release_created == 'true' }}
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
- run: pwsh ./install/windows/choco/update.ps1
env:
STARSHIP_VERSION: ${{ needs.release_please.outputs.tag_name }}
@ -346,11 +356,11 @@ jobs:
continue-on-error: true
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Merge | Merge Crowdin PR
run: gh pr merge i18n_master --squash --repo=starship/starship
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GH_PAT }}
publish_docs:
name: Trigger docs deployment
@ -358,7 +368,7 @@ jobs:
needs: merge_crowdin_pr
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Trigger workflow dispatch
run: gh workflow run publish-docs.yml
env:

View File

@ -22,8 +22,8 @@ jobs:
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Test | Security Audit
uses: EmbarkStudios/cargo-deny-action@v1.5.5
uses: EmbarkStudios/cargo-deny-action@v1.6.3
with:
command: check ${{ matrix.checks }}

View File

@ -6,5 +6,5 @@ jobs:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
- uses: crate-ci/typos@v1.16.22
- uses: actions/checkout@v4
- uses: crate-ci/typos@v1.20.10

View File

@ -24,7 +24,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -43,7 +43,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -54,7 +54,7 @@ jobs:
uses: Swatinem/rust-cache@v2
- name: Build | Lint
uses: giraffate/clippy-action@871cc4173f2594435c7ea6b0bce499cf6c2164a1
uses: giraffate/clippy-action@94e9bd8deab2618756ec5380f12eb35bcb0a88ca
# Ensure that the project could be successfully compiled
cargo_check:
@ -62,7 +62,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -80,7 +80,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -98,7 +98,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -120,7 +120,7 @@ jobs:
pull-requests: write
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
@ -132,7 +132,7 @@ jobs:
run: cargo run --locked --features config-schema -- config-schema > .github/config-schema.json
- name: Check | Detect Changes
uses: reviewdog/action-suggester@v1.8.0
uses: reviewdog/action-suggester@v1.12.0
with:
tool_name: starship config-schema
filter_mode: nofilter
@ -156,7 +156,7 @@ jobs:
RUSTFLAGS: ${{ matrix.rustflags || '' }}
steps:
- name: Setup | Checkout
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
uses: actions/checkout@v4
# Install all the required dependencies for testing
- name: Setup | Rust
@ -220,7 +220,7 @@ jobs:
STARSHIP_VERSION: v1.2.3
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
if: github.repository == 'starship/starship'
with:
token: ${{ secrets.CODECOV_TOKEN }}

5
.gitignore vendored
View File

@ -27,7 +27,8 @@ Cargo.lock
# Compiled files for documentation
docs/node_modules
docs/.vuepress/dist/
docs/.vitepress/dist/
docs/.vitepress/cache/
# Ignore pkg files within the install directory
install/**/*.pkg
install/**/*.pkg

View File

@ -1,5 +1,98 @@
# Changelog
## [1.18.2](https://github.com/starship/starship/compare/v1.18.1...v1.18.2) (2024-03-29)
### Bug Fixes
* replace unmaintained crates `yaml-rust`, `dirs-next` ([#5887](https://github.com/starship/starship/issues/5887)) ([796a411](https://github.com/starship/starship/commit/796a411602c9ca4e5103c54247440f4efe892918))
### Reverts
* "build(deps): update rust crate gix to 0.61.1" ([#5878](https://github.com/starship/starship/issues/5878)) ([eb80dba](https://github.com/starship/starship/commit/eb80dbab99e38b5018aa3fb70b06ae9e4d793b24))
## [1.18.1](https://github.com/starship/starship/compare/v1.18.0...v1.18.1) (2024-03-24)
### Bug Fixes
* **deps:** update rust crate os_info to 3.8.2 ([#5870](https://github.com/starship/starship/issues/5870)) ([d421f63](https://github.com/starship/starship/commit/d421f63785f901caf222941cbfae7cb8c0feec74))
* replace all remaining paths referring to vuepress ([#5859](https://github.com/starship/starship/issues/5859)) ([d5861f9](https://github.com/starship/starship/commit/d5861f9f974147d307c319865890cbb3e50dbe5a))
## [1.18.0](https://github.com/starship/starship/compare/v1.17.1...v1.18.0) (2024-03-21)
### Features
* $gemset variable for Ruby module ([#5429](https://github.com/starship/starship/issues/5429)) ([938ea3c](https://github.com/starship/starship/commit/938ea3c40145af68d8e28b2ef0275531f1123202))
* **bash:** Support right prompt and transience ([#4902](https://github.com/starship/starship/issues/4902)) ([5ead13d](https://github.com/starship/starship/commit/5ead13d6aa6303c85c562f1b940048cc539667cd))
* **bash:** use PS0 for preexec hook ([#5735](https://github.com/starship/starship/issues/5735)) ([ae711c0](https://github.com/starship/starship/commit/ae711c0f332f4f24c843e59d6d5783e398e21b38))
* **direnv:** use JSON status with direnv >= 2.33.0 ([#5692](https://github.com/starship/starship/issues/5692)) ([482c7b7](https://github.com/starship/starship/commit/482c7b719fc304fcad5f3572c4551f8ff4179522))
* **docs:** move to vitepress ([#5785](https://github.com/starship/starship/issues/5785)) ([7485c90](https://github.com/starship/starship/commit/7485c90c9f7259c026a84dd0335f56860005315d))
* **install:** Add version option to install script ([f66bfd9](https://github.com/starship/starship/commit/f66bfd9435f215867681a699428bd882d8c63ce7))
* **install:** Add version option to install script ([#5728](https://github.com/starship/starship/issues/5728)) ([f66bfd9](https://github.com/starship/starship/commit/f66bfd9435f215867681a699428bd882d8c63ce7))
* **os:** add new os symbols ([#5849](https://github.com/starship/starship/issues/5849)) ([df65b21](https://github.com/starship/starship/commit/df65b2155f92c03d07cabbcee6c92104a878c963))
* **quarto:** Add Quarto module ([#5820](https://github.com/starship/starship/issues/5820)) ([0e49f04](https://github.com/starship/starship/commit/0e49f04a6b249090cf3703c5dac041a51e6bf530))
* **release:** add winget arm64 push & repo sync ([#5033](https://github.com/starship/starship/issues/5033)) ([aef1a3f](https://github.com/starship/starship/commit/aef1a3f275e7ec9095c4718ecf6a268abfe7794a))
* **username:** add detect_env_vars as option ([#5833](https://github.com/starship/starship/issues/5833)) ([b8a812b](https://github.com/starship/starship/commit/b8a812b93207da992ff8ae9f8b955bfa1252072b))
### Bug Fixes
* **bash:** Handle Unbound Variables Errors in Bash ([#4972](https://github.com/starship/starship/issues/4972)) ([7093d5c](https://github.com/starship/starship/commit/7093d5cd84967edba93c9ed412b07519664f6356))
* **bash:** improve integration with bash-preexec ([#5734](https://github.com/starship/starship/issues/5734)) ([2aa711c](https://github.com/starship/starship/commit/2aa711ccc7096437e21149b18d1384534bfbcc57))
* **character:** also handle vi edit mode in pwsh ([#5775](https://github.com/starship/starship/issues/5775)) ([0891ec2](https://github.com/starship/starship/commit/0891ec27a40421cd742a853885731aed63f412aa))
* **direnv:** update to work with direnv v2.33 ([#5657](https://github.com/starship/starship/issues/5657)) ([cec111a](https://github.com/starship/starship/commit/cec111affdaf0a52f72c398f8307cf7e19c7dd8d))
* **git_branch:** fall back to "HEAD" when there is no current branch ([#5768](https://github.com/starship/starship/issues/5768)) ([6a96e84](https://github.com/starship/starship/commit/6a96e84a15e3ea598356e4fcad23ac4b2690dd1e))
* **nu:** continuation prompt not being displayed correctly ([#5851](https://github.com/starship/starship/issues/5851)) ([d308e91](https://github.com/starship/starship/commit/d308e918ee014f4ca9976683e79e819afd8160f7))
* **status:** fix pipestatus width calculation ([#5036](https://github.com/starship/starship/issues/5036)) ([ab84043](https://github.com/starship/starship/commit/ab840439e326a80c53466c7b767d29be0112b9d2)), closes [#3162](https://github.com/starship/starship/issues/3162)
* **zsh:** improve starship binary path escaping ([#5574](https://github.com/starship/starship/issues/5574)) ([2bb57cf](https://github.com/starship/starship/commit/2bb57cf0cd6d53194d26f4be96dff5fa14942622))
## [1.17.1](https://github.com/starship/starship/compare/v1.17.0...v1.17.1) (2024-01-02)
### Bug Fixes
* v1.17.0 post-release fix-ups ([#5660](https://github.com/starship/starship/issues/5660)) ([89dc192](https://github.com/starship/starship/commit/89dc19214bb671fe50a8f1be79a4594e7998ddea))
### Reverts
* refactor(modules): use whoami crate to get username ([#5669](https://github.com/starship/starship/issues/5669)) ([a83e107](https://github.com/starship/starship/commit/a83e10776ba37bd1ab439e5e4d0125a06e947728))
## [1.17.0](https://github.com/starship/starship/compare/v1.16.0...v1.17.0) (2023-12-28)
### Features
* add additional exit status code meanings from libc ([#5412](https://github.com/starship/starship/issues/5412)) ([81c7d0c](https://github.com/starship/starship/commit/81c7d0cc5805dc10018f0589a6671e1b727a0e9c))
* add typst module ([7b21705](https://github.com/starship/starship/commit/7b217056bdb8dcb5b328b51fa3b68fe837f9fb3c))
* **aws:** Adding the AWS SSO CLI env variable to profile list ([#5640](https://github.com/starship/starship/issues/5640)) ([6d96df3](https://github.com/starship/starship/commit/6d96df3c6828161bb9dc922fe45ef35a1ce33771))
* **direnv:** add new direnv module ([#5157](https://github.com/starship/starship/issues/5157)) ([e47bfba](https://github.com/starship/starship/commit/e47bfbabb9b7d6af12a29db9413a6ec03fba174b))
* **fossil_metrics:** add fossil_metrics module ([#4874](https://github.com/starship/starship/issues/4874)) ([e867cda](https://github.com/starship/starship/commit/e867cda1eb90ba452768bd2e0738afc2fd0db613))
* **hostname:** add detect_env_vars as option ([#5196](https://github.com/starship/starship/issues/5196)) ([43b2d42](https://github.com/starship/starship/commit/43b2d42cd526e34c5f0290e7409fbd6d3a54e908))
* **kubernetes:** Add styling based on current context ([#4550](https://github.com/starship/starship/issues/4550)) ([6b444e0](https://github.com/starship/starship/commit/6b444e05c688f9b871d0fe4624cd5559eba1f95c))
* R lang packages version, remove .Rprofile from rlang detection ([#5588](https://github.com/starship/starship/issues/5588)) ([5267c46](https://github.com/starship/starship/commit/5267c464eb5e4b23e44cdb7c56919991f4f67ae3))
* **scanner:** add option not to follow symlinks ([#5325](https://github.com/starship/starship/issues/5325)) ([7b851fc](https://github.com/starship/starship/commit/7b851fc30e109213e911eec38460315872f1ae59))
* **shell:** allow distinguishing between pwsh and powershell ([#5478](https://github.com/starship/starship/issues/5478)) ([d7a34b4](https://github.com/starship/starship/commit/d7a34b45f88ced63bd79a582c14a6b2f8ebd9544))
### Bug Fixes
* **bash:** unbound variable error with STARSHIP_PREEXEC_READY ([#5438](https://github.com/starship/starship/issues/5438)) ([8168c21](https://github.com/starship/starship/commit/8168c21293de8118af1e95778b1eee8f26cd6d6a))
* **docker_context:** ignore unix domain socket path from Docker Context ([#5616](https://github.com/starship/starship/issues/5616)) ([a910e09](https://github.com/starship/starship/commit/a910e094f77ba6d67349a561e5e9780becfe823a)), closes [#5548](https://github.com/starship/starship/issues/5548)
* **git_status:** Avoid printing error on missing stash ref ([#5434](https://github.com/starship/starship/issues/5434)) ([00d3dc8](https://github.com/starship/starship/commit/00d3dc86a21d11aede96f81ffbe49babe487984e))
* **git:** prevent `core.fsmonitor` from executing external commands ([#3981](https://github.com/starship/starship/issues/3981)) ([03278e4](https://github.com/starship/starship/commit/03278e4de4f540cbd0e346e9df878c7e6798d757))
* **install:** do not use curl installed through snap ([#5442](https://github.com/starship/starship/issues/5442)) ([0e73817](https://github.com/starship/starship/commit/0e738175c57d5789350b996b69c5713aac03835e))
* **pastel-powerline:** remove `$path` from docker-context module format string ([#5534](https://github.com/starship/starship/issues/5534)) ([6abc83d](https://github.com/starship/starship/commit/6abc83decdf176842985b4daa5b09771c6b93415))
### Performance Improvements
* **git_status:** avoid running in bare repos ([#5581](https://github.com/starship/starship/issues/5581)) ([ac4a839](https://github.com/starship/starship/commit/ac4a83910357d69950ca304a3fb41d1d39bc3592))
* Skip unnecessary indirection in starship init zsh ([#5322](https://github.com/starship/starship/issues/5322)) ([5ca8daa](https://github.com/starship/starship/commit/5ca8daacd4ce936f97170f814a780b34bfaa486e))
## [1.16.0](https://github.com/starship/starship/compare/v1.15.0...v1.16.0) (2023-07-30)

View File

@ -251,7 +251,7 @@ Changes to documentation can be viewed in a rendered state from the GitHub PR pa
(go to the CI section at the bottom of the page and look for "deploy preview", then
click on "details"). If you want to view changes locally as well, follow these steps.
After cloning the project, you can do the following to run the VuePress website on your local machine:
After cloning the project, you can do the following to run the VitePress website on your local machine:
1. `cd` into the `/docs` directory.
2. Install the project dependencies:
@ -266,7 +266,7 @@ After cloning the project, you can do the following to run the VuePress website
npm run dev
```
Once setup is complete, you can refer to VuePress documentation on the actual implementation here: <https://vuepress.vuejs.org/guide/>.
Once setup is complete, you can refer to VitePress documentation on the actual implementation here: <https://vitepress.dev/guide/getting-started>.
## Git/GitHub workflow
@ -292,7 +292,7 @@ everyone remember what they are. Don't worry: most of them are quite simple!
appropriate--this is a bare minimum).
- [ ] Add the variable to the appropriate location in the "Default Prompt
Format" section of the documentation
- [ ] Add an appropriate choice of options to each preset in `docs/.vuepress/public/presets/toml`
- [ ] Add an appropriate choice of options to each preset in `docs/public/presets/toml`
- [ ] Update the config file schema by running `cargo run --features config-schema -- config-schema > .github/config-schema.json`
- [ ] Create configs structs/traits in `src/configs/<module>.rs` and add the
following:

1765
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
[package]
name = "starship"
version = "1.16.0"
version = "1.18.2"
authors = ["Starship Contributors"]
build = "build.rs"
categories = ["command-line-utilities"]
@ -15,7 +15,7 @@ include = [
"build.rs",
"LICENSE",
"/README.md",
"docs/.vuepress/public/presets/toml/",
"docs/public/presets/toml/",
".github/config-schema.json",
]
keywords = ["prompt", "shell", "bash", "fish", "zsh"]
@ -23,7 +23,7 @@ license = "ISC"
readme = "README.md"
repository = "https://github.com/starship/starship"
# Note: MSRV is only intended as a hint, and only the latest version is officially supported in starship.
rust-version = "1.65"
rust-version = "1.71"
description = """
The minimal, blazing-fast, and infinitely customizable prompt for any shell! 🌌
"""
@ -42,61 +42,61 @@ gix-max-perf = ["gix-features/zlib-ng", "gix/fast-sha1"]
gix-faster = ["gix-features/zlib-stock", "gix/fast-sha1"]
[dependencies]
chrono = { version = "0.4.30", default-features = false, features = ["clock", "std", "wasmbind"] }
clap = { version = "4.4.7", features = ["derive", "cargo", "unicode"] }
clap_complete = "4.4.4"
dirs-next = "2.0.0"
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "wasmbind"] }
clap = { version = "4.5.4", features = ["derive", "cargo", "unicode"] }
clap_complete = "4.5.2"
dirs = "5.0.1"
dunce = "1.0.4"
gethostname = "0.4.3"
# default feature restriction addresses https://github.com/starship/starship/issues/4251
gix = { version = "0.55.2", default-features = false, features = ["max-performance-safe", "revision"] }
gix-features = { version = "0.36.0", optional = true }
indexmap = { version = "2.0.2", features = ["serde"] }
log = { version = "0.4.20", features = ["std"] }
gix = { version = "0.62.0", default-features = false, features = ["max-performance-safe", "revision"] }
gix-features = { version = "0.38.1", optional = true }
indexmap = { version = "2.2.6", features = ["serde"] }
log = { version = "0.4.21", features = ["std"] }
# notify-rust is optional (on by default) because the crate doesn't currently build for darwin with nix
# see: https://github.com/NixOS/nixpkgs/issues/160876
notify-rust = { version = "4.9.0", optional = true }
nu-ansi-term = "0.49.0"
once_cell = "1.18.0"
open = "5.0.0"
notify-rust = { version = "4.11.0", optional = true }
nu-ansi-term = "0.50.0"
once_cell = "1.19.0"
open = "5.1.2"
# update os module config and tests when upgrading os_info
os_info = "3.7.0"
os_info = "3.8.2"
path-slash = "0.2.1"
pest = "2.7.5"
pest_derive = "2.7.5"
pest = "2.7.9"
pest_derive = "2.7.9"
quick-xml = "0.31.0"
rand = "0.8.5"
rayon = "1.8.0"
regex = { version = "1.10.2", default-features = false, features = ["perf", "std", "unicode-perl"] }
rust-ini = "0.19.0"
semver = "1.0.20"
serde = { version = "1.0.189", features = ["derive"] }
serde_json = "1.0.107"
rayon = "1.10.0"
regex = { version = "1.10.4", default-features = false, features = ["perf", "std", "unicode-perl"] }
rust-ini = "0.21.0"
semver = "1.0.22"
serde = { version = "1.0.199", features = ["derive"] }
serde_json = "1.0.116"
sha1 = "0.10.6"
shadow-rs = { version = "0.24.1", default-features = false }
shadow-rs = { version = "0.27.1", default-features = false }
# battery is optional (on by default) because the crate doesn't currently build for Termux
# see: https://github.com/svartalf/rust-battery/issues/33
starship-battery = { version = "0.8.2", optional = true }
strsim = "0.10.0"
starship-battery = { version = "0.8.3", optional = true }
strsim = "0.11.1"
systemstat = "=0.2.3"
terminal_size = "0.3.0"
toml = { version = "0.8.4", features = ["preserve_order"] }
toml_edit = "0.20.4"
unicode-segmentation = "1.10.1"
unicode-width = "0.1.11"
toml = { version = "0.8.12", features = ["preserve_order"] }
toml_edit = "0.22.12"
unicode-segmentation = "1.11.0"
unicode-width = "0.1.12"
urlencoding = "2.1.3"
versions = "5.0.1"
which = "5.0.0"
yaml-rust = "0.4.5"
versions = "6.2.0"
which = "6.0.1"
yaml-rust2 = "0.8.0"
process_control = { version = "4.0.3", features = ["crossbeam-channel"] }
process_control = { version = "4.1.0", features = ["crossbeam-channel"] }
guess_host_triple = "0.1.3"
home = "0.5.5"
home = "0.5.9"
shell-words = "1.1.0"
[dependencies.schemars]
version = "0.8.15"
version = "0.8.16"
optional = true
features = ["preserve_order", "indexmap2"]
@ -104,7 +104,7 @@ features = ["preserve_order", "indexmap2"]
deelevate = "0.2.0"
[target.'cfg(windows)'.dependencies.windows]
version = "0.48.0"
version = "0.56.0"
features = [
"Win32_Foundation",
"Win32_UI_Shell",
@ -114,18 +114,18 @@ features = [
]
[target.'cfg(not(windows))'.dependencies]
nix = { version = "0.27.1", default-features = false, features = ["feature", "fs", "user"] }
nix = { version = "0.28.0", default-features = false, features = ["feature", "fs", "user"] }
[build-dependencies]
shadow-rs = { version = "0.24.1", default-features = false }
shadow-rs = { version = "0.27.1", default-features = false }
dunce = "1.0.4"
[target.'cfg(windows)'.build-dependencies]
winres = "0.1.12"
[dev-dependencies]
mockall = "0.11"
tempfile = "3.8.0"
mockall = "0.12"
tempfile = "3.10.1"
[profile.release]
codegen-units = 1

View File

@ -32,6 +32,11 @@
src="https://img.shields.io/badge/twitter-@StarshipPrompt-1DA1F3?style=flat-square"
alt="Follow @StarshipPrompt on Twitter"
/></a>
<a href="https://stand-with-ukraine.pp.ua"
><img
src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraineFlat.svg"
alt="Stand With Ukraine"
/></a>
</p>
<p align="center">
@ -227,6 +232,7 @@ Alternatively, install Starship using any of the following package managers:
| Gentoo | [Gentoo Packages] | `emerge app-shells/starship` |
| Manjaro | | `pacman -S starship` |
| NixOS | [nixpkgs] | `nix-env -iA nixpkgs.starship` |
| openSUSE | [OSS] | `zypper in starship` |
| Void Linux | [Void Linux Packages] | `xbps-install -S starship` |
</details>
@ -427,10 +433,6 @@ Please check out these previous works that helped inspire the creation of starsh
Support this project by [becoming a sponsor](https://github.com/sponsors/starship). Your name or logo will show up here with a link to your website.
**Supporter Tier**
- [Appwrite](https://appwrite.io/)
<p align="center">
<br>
<img width="100" src="https://raw.githubusercontent.com/starship/starship/master/media/icon.png" alt="Starship rocket icon">
@ -453,6 +455,7 @@ This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE)
[homebrew]: https://formulae.brew.sh/formula/starship
[macports]: https://ports.macports.org/port/starship
[nixpkgs]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix
[OSS]: https://software.opensuse.org/package/starship
[pkgsrc]: https://pkgsrc.se/shells/starship
[scoop]: https://github.com/ScoopInstaller/Main/blob/master/bucket/starship.json
[termux]: https://github.com/termux/termux-packages/tree/master/packages/starship

View File

@ -19,8 +19,8 @@ fn main() -> SdResult<()> {
}
fn gen_presets_hook(mut file: &File) -> SdResult<()> {
println!("cargo:rerun-if-changed=docs/.vuepress/public/presets/toml");
let paths = fs::read_dir("docs/.vuepress/public/presets/toml")?;
println!("cargo:rerun-if-changed=docs/public/presets/toml");
let paths = fs::read_dir("docs/public/presets/toml")?;
let mut sortedpaths = paths.collect::<io::Result<Vec<_>>>()?;
sortedpaths.sort_by_key(std::fs::DirEntry::path);

View File

@ -1,20 +1,17 @@
[advisories]
vulnerability = "deny"
unmaintained = "warn"
yanked = "warn"
notice = "warn"
version = 2
# A list of advisory IDs to ignore. Note that ignored advisories will still
# output a note when they are encountered.
ignore = [
# "RUSTSEC-0000-0000",
# { id = "RUSTSEC-0000-0000", reason = "" },
]
[licenses]
# The lint level for crates which do not have a detectable license
unlicensed = "deny"
version = 2
# List of explicitly allowed licenses
allow = [
"Apache-2.0 WITH LLVM-exception",

View File

@ -1,98 +1,343 @@
import { defineConfig, SidebarConfigArray } from "vuepress/config";
import { defineConfig } from "vitepress";
const sidebar = (lang, override = {}): SidebarConfigArray =>
const sidebar = (lang: string | undefined, override = {}) =>
[
"", // "Home", which should always have a override
"guide", // README, which should always have a override
{ page: "guide", text: "Guide" }, // README, which should always have a override
// Overrides for any page below is an inconsistency between the sidebar title and page title
"installing",
"config",
"advanced-config",
"faq",
"presets",
].map(page => {
{ page: "installing", text: "Installation" },
{ page: "config", text: "Configuration" },
{ page: "advanced-config", text: "Advanced Configuration" },
{ page: "faq", text: "FAQ" },
{ page: "presets", text: "Presets" },
].map(item => {
let path = "/";
if (lang) {
path += `${lang}/`;
}
if (page) {
path += `${page}/`;
if (item.page) {
path += `${item.page}/`;
}
// If no override is set for current page, let VuePress fallback to page title
return page in override ? [path, override[page]] : path;
// If no override is set for current page, let VitePress fallback to page title
return { link: path, text: override?.[item.page] ?? item.text };
});
module.exports = defineConfig({
const editLinkPattern = 'https://github.com/starship/starship/edit/master/docs/:path';
export default defineConfig({
locales: {
"/": {
root: {
label: "English",
lang: "en-US",
title: "Starship",
description: "The minimal, blazing-fast, and infinitely customizable prompt for any shell!",
themeConfig: {
// Custom navbar values
nav: [{ text: "Configuration", link: "/config/"}],
// Custom sidebar values
sidebar: sidebar("", {
guide: "Guide",
}),
// Enable edit links
editLink: {
text: "Edit this page on GitHub",
pattern: editLinkPattern,
},
}
},
"/de-DE/": {
"de-DE": {
label: "Deutsch",
lang: "de-DE",
title: "Starship",
description: "Minimale, super schnelle und unendlich anpassbare Prompt für jede Shell!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Sprachen",
returnToTopLabel: "Zurück zum Seitenanfang",
sidebarMenuLabel: "Menü",
nav: [{ text: "Konfiguration", link: "/de-DE/config/" }],
// Custom sidebar values
sidebar: sidebar("de-DE", {
guide: "Anleitung",
installing: "Erweiterte Installation",
faq: "Häufig gestellte Fragen",
presets: "Konfigurations-Beispiele",
}),
editLink: {
text: "Bearbeite diese Seite auf GitHub",
pattern: editLinkPattern,
},
}
},
"/es-ES/": {
"es-ES": {
label: "Español",
lang: "es-ES",
title: "Starship",
description:
"¡El prompt minimalista, ultrarápido e infinitamente personalizable para cualquier intérprete de comandos!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Idiomas",
returnToTopLabel: "Volver arriba",
sidebarMenuLabel: "Menú",
// Custom navbar values
nav: [{ text: "Configuración", link: "/es-ES/config/" }],
// Custom sidebar values
sidebar: sidebar("es-ES", {
guide: "Guía",
installing: "Instalación avanzada",
faq: "Preguntas frecuentes",
presets: "Ajustes predeterminados",
}),
editLink: {
text: "Edita esta página en GitHub",
pattern: editLinkPattern,
},
},
},
"/fr-FR/": {
"fr-FR": {
label: "Français",
lang: "fr-FR",
title: "Starship",
description: "L'invite minimaliste, ultra-rapide et personnalisable à l'infini pour n'importe quel shell !",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Langues",
returnToTopLabel: "Retour en haut",
// Custom navbar values
nav: [{ text: "Configuration", link: "/fr-FR/config/" }],
// Custom sidebar values
sidebar: sidebar("fr-FR", {
guide: "Guide",
installing: "Installation avancée",
}),
editLink: {
text: "Éditez cette page sur GitHub",
pattern: editLinkPattern,
},
},
},
"/id-ID/": {
"id-ID": {
label: "Bahasa Indonesia",
lang: "id-ID",
title: "Starship",
description: "Prompt yang minimal, super cepat, dan dapat disesuaikan tanpa batas untuk shell apa pun!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Languages",
returnToTopLabel: "Kembali ke atas",
// Custom navbar values
nav: [{ text: "Konfigurasi", link: "/id-ID/config/" }],
// Custom sidebar values
sidebar: sidebar("id-ID", {
guide: "Petunjuk",
installing: "Advanced Installation",
faq: "Pertanyaan Umum",
presets: "Prasetel",
}),
editLink: {
text: "Sunting halaman ini di Github",
pattern: editLinkPattern,
},
},
},
"/it-IT/": {
"it-IT": {
label: "Italiano",
lang: "it-IT",
title: "Starship",
description: "Il prompt minimalista, super veloce e infinitamente personalizzabile per qualsiasi shell!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Languages",
returnToTopLabel: "Torna all'inizio",
// Custom navbar values
nav: [{ text: "Configuration", link: "/it-IT/config/" }],
// Custom sidebar values
sidebar: sidebar("it-IT", {
guide: "Guide",
installing: "Installazione Avanzata",
}),
editLink: {
text: "Modifica questa pagina in Github",
pattern: editLinkPattern,
},
},
},
"/ja-JP/": {
"ja-JP": {
label: "日本語",
lang: "ja-JP",
title: "Starship",
description: "シェル用の最小限の、非常に高速で、無限にカスタマイズ可能なプロンプトです!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "言語",
returnToTopLabel: "ページの先頭へ",
sidebarMenuLabel: "メニュー",
// Custom navbar values
nav: [{ text: "設定", link: "/ja-JP/config/" }],
// Custom sidebar values
sidebar: sidebar("ja-JP", {
guide: "ガイド",
installing: "高度なインストール",
}),
editLink: {
text: "GitHub で編集する",
pattern: editLinkPattern,
},
},
},
"/pt-BR/": {
"pt-BR": {
label: "Português do Brasil",
lang: "pt-BR",
title: "Starship",
description:
"O prompt minimalista, extremamente rápido e infinitamente personalizável para qualquer shell!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Languages",
returnToTopLabel: "Voltar ao topo",
// Custom navbar values
nav: [{ text: "Configuração", link: "/pt-BR/config/" }],
// Custom sidebar values
sidebar: sidebar("pt-BR", {
guide: "Guia",
installing: "Instalação avançada",
faq: "Perguntas frequentes",
presets: "Predefinições",
}),
editLink: {
text: "Edite esta página no Github",
pattern: editLinkPattern,
},
},
},
"/ru-RU/": {
"ru-RU": {
label: "Русский",
lang: "ru-RU",
title: "Starship",
description: "Минималистичная, быстрая и бесконечно настраиваемая командная строка для любой оболочки!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Языки",
returnToTopLabel: "Наверх",
sidebarMenuLabel: "Меню",
// Custom navbar values
nav: [{ text: "Настройка", link: "/ru-RU/config/" }],
// Custom sidebar values
sidebar: sidebar("ru-RU", {
guide: "Руководство",
installing: "Advanced Installation",
config: "Настройка",
"advanced-config": "Расширенная Настройка",
faq: "Часто Задаваемые Вопросы",
}),
editLink: {
text: "Редактировать эту страницу на GitHub",
pattern: editLinkPattern,
},
},
},
"/uk-UA/": {
"uk-UA": {
label: "Українська",
lang: "uk-UA",
title: "Starship",
description: "Простий, супер швидкий та безмежно адаптивний командний рядок для будь-якої оболонки!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Мови",
returnToTopLabel: "Догори",
sidebarMenuLabel: "Меню",
// Custom navbar values
nav: [{ text: "Налаштування", link: "/uk-UA/config/" }],
// Custom sidebar values
sidebar: sidebar("uk-UA", {
guide: "Керівництво",
installing: "Розширене встановлення",
config: "Налаштування",
"advanced-config": "Розширені налаштування",
faq: "Часті питання",
presets: "Шаблони",
}),
editLink: {
text: "Редагувати цю сторінку на GitHub",
pattern: editLinkPattern,
},
},
},
"/vi-VN/": {
"vi-VN": {
label: "Tiếng Việt",
lang: "vi-VN",
title: "Starship",
description: "Nhỏ gọn, cực nhanh, và khả năng tuỳ chỉnh vô hạn prompt cho bất kì shell nào!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "Ngôn ngữ",
returnToTopLabel: "Quay lại đầu trang",
// Custom navbar values
nav: [{ text: "Cấu hình", link: "/vi-VN/config/" }],
// Custom sidebar values
sidebar: sidebar("vi-VN", {
guide: "Hướng dẫn",
installing: "Cài đặt nâng cao",
faq: "Các hỏi thường gặp",
}),
editLink: {
text: "Chỉnh sửa trang này trên GitHub",
pattern: editLinkPattern,
},
},
},
"/zh-CN/": {
"zh-CN": {
label: "简体中文",
lang: "zh-CN",
title: "Starship",
description: "轻量级、反应迅速,可定制的高颜值终端!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "语言",
returnToTopLabel: "返回顶部",
sidebarMenuLabel: "目录",
// Custom navbar values
nav: [{ text: "配置", link: "/zh-CN/config/" }],
// Custom sidebar values
sidebar: sidebar("zh-CN", {
guide: "指南",
installing: "高级安装",
presets: "社区配置分享",
}),
editLink: {
text: "在 GitHub 上修改此页",
pattern: editLinkPattern,
},
},
},
"/zh-TW/": {
"zh-TW": {
label: "繁體中文",
lang: "zh-TW",
title: "Starship",
description: "適合任何 shell 的最小、極速、無限客製化的提示字元!",
themeConfig: {
// text for the language dropdown
langMenuLabel: "語言",
returnToTopLabel: "返回頂部",
sidebarMenuLabel: "目錄",
// Custom navbar values
nav: [{ text: "設定", link: "/zh-TW/config/" }],
// Custom sidebar values
sidebar: sidebar("zh-TW", {
guide: "指引",
installing: "進階安裝",
}),
editLink: {
text: "在 GitHub 上修改此頁面",
pattern: editLinkPattern,
},
},
},
},
// prettier-ignore
@ -120,7 +365,7 @@ module.exports = defineConfig({
[
"script",
{
async: true,
async: '',
src: "https://www.googletagmanager.com/gtag/js?id=G-N3M0VJ9NL6",
},
],
@ -130,245 +375,41 @@ module.exports = defineConfig({
"window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-N3M0VJ9NL6');",
],
],
evergreen: true,
theme: "default-prefers-color-scheme",
sitemap: {
hostname: 'https://starship.rs'
},
vite: {
resolve: {
preserveSymlinks: true
}
},
cleanUrls: true,
markdown: {
theme: "github-dark"
},
ignoreDeadLinks: [
/\/toml\/.*/,
],
// VitePress doesn't support README.md as index files
// Rewrite README.md to index.md at different levels
rewrites: {
"README.md": "index.md",
":c0/README.md": ":c0/index.md",
":c0/:c1/README.md": ":c0/:c1/index.md",
":c0/:c1/:c2/README.md": ":c0/:c1/:c2/index.md",
":c0/:c1/:c2/:c3/README.md": ":c0/:c1/:c2/:c3/index.md",
},
themeConfig: {
logo: "/icon.png",
// the GitHub repo path
repo: "starship/starship",
// the label linking to the repo
repoLabel: "GitHub",
// if your docs are not at the root of the repo:
docsDir: "docs",
// defaults to false, set to true to enable
editLinks: true,
socialLinks: [
{ icon: 'github', link: 'https://github.com/starship/starship' },
],
// enables Algolia DocSearch
algolia: {
apiKey: "44118471f56286dcda7db941a043370d",
indexName: "starship",
appId: "M3XUO3SQOR",
},
locales: {
"/": {
// text for the language dropdown
selectText: "Languages",
// label for this locale in the language dropdown
label: "English",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Edit this page on GitHub",
// Custom navbar values
nav: [{ text: "Configuration", link: "/config/" }],
// Custom sidebar values
sidebar: sidebar("", {
guide: "Guide",
}),
},
"/de-DE/": {
// text for the language dropdown
selectText: "Sprachen",
// label for this locale in the language dropdown
label: "Deutsch",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Bearbeite diese Seite auf GitHub",
// Custom navbar values
nav: [{ text: "Konfiguration", link: "/de-DE/config/" }],
// Custom sidebar values
sidebar: sidebar("de-DE", {
guide: "Anleitung",
installing: "Erweiterte Installation",
faq: "Häufig gestellte Fragen",
presets: "Konfigurations-Beispiele",
}),
},
"/es-ES/": {
// text for the language dropdown
selectText: "Idiomas",
// label for this locale in the language dropdown
label: "Español",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Edita esta página en GitHub",
// Custom navbar values
nav: [{ text: "Configuración", link: "/es-ES/config/" }],
// Custom sidebar values
sidebar: sidebar("es-ES", {
guide: "Guía",
installing: "Instalación avanzada",
faq: "Preguntas frecuentes",
presets: "Ajustes predeterminados",
}),
},
"/fr-FR/": {
// text for the language dropdown
selectText: "Langues",
// label for this locale in the language dropdown
label: "Français",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Éditez cette page sur GitHub",
// Custom navbar values
nav: [{ text: "Configuration", link: "/fr-FR/config/" }],
// Custom sidebar values
sidebar: sidebar("fr-FR", {
guide: "Guide",
installing: "Installation avancée",
}),
},
"/id-ID/": {
// text for the language dropdown
selectText: "Languages",
// label for this locale in the language dropdown
label: "Bahasa Indonesia",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Sunting halaman ini di Github",
// Custom navbar values
nav: [{ text: "Konfigurasi", link: "/id-ID/config/" }],
// Custom sidebar values
sidebar: sidebar("id-ID", {
guide: "Petunjuk",
installing: "Advanced Installation",
faq: "Pertanyaan Umum",
presets: "Prasetel",
}),
},
"/it-IT/": {
// text for the language dropdown
selectText: "Languages",
// label for this locale in the language dropdown
label: "Italiano",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Modifica questa pagina in Github",
// Custom navbar values
nav: [{ text: "Configuration", link: "/it-IT/config/" }],
// Custom sidebar values
sidebar: sidebar("it-IT", {
guide: "Guide",
installing: "Installazione Avanzata",
}),
},
"/ja-JP/": {
// text for the language dropdown
selectText: "言語",
// label for this locale in the language dropdown
label: "日本語",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "GitHub で編集する",
// Custom navbar values
nav: [{ text: "設定", link: "/ja-JP/config/" }],
// Custom sidebar values
sidebar: sidebar("ja-JP", {
guide: "ガイド",
installing: "高度なインストール",
}),
},
"/pt-BR/": {
// text for the language dropdown
selectText: "Languages",
// label for this locale in the language dropdown
label: "Português do Brasil",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Edite esta página no Github",
// Custom navbar values
nav: [{ text: "Configuração", link: "/pt-BR/config/" }],
// Custom sidebar values
sidebar: sidebar("pt-BR", {
guide: "Guia",
installing: "Instalação avançada",
faq: "Perguntas frequentes",
presets: "Predefinições",
}),
},
"/ru-RU/": {
// text for the language dropdown
selectText: "Языки",
// label for this locale in the language dropdown
label: "Русский",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Редактировать эту страницу на GitHub",
// Custom navbar values
nav: [{ text: "Настройка", link: "/ru-RU/config/" }],
// Custom sidebar values
sidebar: sidebar("ru-RU", {
guide: "Руководство",
installing: "Advanced Installation",
config: "Настройка",
"advanced-config": "Расширенная Настройка",
faq: "Часто Задаваемые Вопросы",
}),
},
"/uk-UA/": {
// text for the language dropdown
selectText: "Мови",
// label for this locale in the language dropdown
label: "Українська",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Редагувати цю сторінку на GitHub",
// Custom navbar values
nav: [{ text: "Налаштування", link: "/uk-UA/config/" }],
// Custom sidebar values
sidebar: sidebar("uk-UA", {
guide: "Керівництво",
installing: "Розширене встановлення",
config: "Налаштування",
"advanced-config": "Розширені налаштування",
faq: "Часті питання",
presets: "Шаблони",
}),
},
"/vi-VN/": {
// text for the language dropdown
selectText: "Ngôn ngữ",
// label for this locale in the language dropdown
label: "Tiếng Việt",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Chỉnh sửa trang này trên GitHub",
// Custom navbar values
nav: [{ text: "Cấu hình", link: "/vi-VN/config/" }],
// Custom sidebar values
sidebar: sidebar("vi-VN", {
guide: "Hướng dẫn",
installing: "Cài đặt nâng cao",
faq: "Các hỏi thường gặp",
}),
},
"/zh-TW/": {
// text for the language dropdown
selectText: "語言",
// label for this locale in the language dropdown
label: "繁體中文",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "在 GitHub 上修改此頁面",
// Custom navbar values
nav: [{ text: "設定", link: "/zh-TW/config/" }],
// Custom sidebar values
sidebar: sidebar("zh-TW", {
guide: "指引",
installing: "進階安裝",
}),
},
"/zh-CN/": {
// text for the language dropdown
selectText: "语言",
// label for this locale in the language dropdown
label: "简体中文",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "在 GitHub 上修改此页",
// Custom navbar values
nav: [{ text: "配置", link: "/zh-CN/config/" }],
// Custom sidebar values
sidebar: sidebar("zh-CN", {
guide: "指南",
installing: "高级安装",
presets: "社区配置分享",
}),
},
},
},
plugins: [
[
"vuepress-plugin-sitemap",
{
hostname: "https://starship.rs",
},
],
["vuepress-plugin-code-copy", true],
],
}
});

View File

@ -0,0 +1,97 @@
.VPHero .container {
flex-direction: column;
text-align: center !important;
gap: 10px;
}
.VPHero .image {
order: 0;
margin: 0;
}
.VPHero .image-container {
transform: none;
height: auto;
}
.VPHero .image img {
max-height: 130px;
max-width: none;
position: static;
transform: none;
}
.VPHero .container .actions {
justify-content: center !important;
}
.VPHero .main {
margin: 0 auto;
}
.demo-video {
max-width: 700px;
width: 100%;
margin: 50px auto;
border-radius: 6px;
}
.action-button {
background-color: #dd0b78 !important;
border-bottom: #c6096b !important;
}
p[align="center"] img {
display: inline-block;
}
p[align="center"] img[height="20"] {
height: 20px;
}
@font-face {
font-family: 'Nerd Font';
src: url("/nerd-font.woff2") format("woff2");
font-weight: 400;
font-style: normal;
unicode-range: U+e000-f8ff, U+f0000-fffff, U+100000-10ffff;
}
code {
overflow-wrap: break-word;
}
.vp-doc [class*='language-']>button.copy {
top: unset;
bottom: 12px;
}
:root {
--vp-font-family-mono: 'Nerd Font', source-code-pro, SFMono-Regular, 'SF Mono', Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
--vp-c-brand-1: #9b0854;
--vp-c-brand-2: #f31186;
--vp-c-brand-3: #dd0b78;
--vp-c-brand-soft: rgba(221, 11, 120, 0.14);
/* The following colors were extracted from the dark variant of the default VitePress theme
* Styled variables from: https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css#L319-L362
*/
--vp-code-block-bg: #282c34;
--vp-code-color: #282c34;
--vp-code-block-divider-color: #000;
--vp-code-lang-color: rgba(235, 235, 245, 0.38);
--vp-code-line-highlight-color: rgba(101, 117, 133, 0.16);
--vp-code-line-number-color: rgba(235, 235, 245, 0.38);
--vp-code-copy-code-border-color: #2e2e32;
--vp-code-copy-code-bg: #202127;
--vp-code-copy-code-hover-border-color: #2e2e32;
--vp-code-copy-code-hover-bg: #1b1b1f;
--vp-code-copy-code-active-text: rgba(235, 235, 245, 0.6);
}
.dark {
--vp-c-brand-1: #ff70cd;
--vp-c-brand-2: #ff14ad;
--vp-c-brand-3: #ff33b8;
--vp-c-brand-soft: rgba(255, 51, 184, 0.14);
--vp-code-color: #fff;
}

View File

@ -0,0 +1,4 @@
import DefaultTheme from "vitepress/theme";
import "./index.css";
export default DefaultTheme;

View File

@ -1 +0,0 @@
../../../.github/config-schema.json

View File

@ -1 +0,0 @@
../../../media/icon.png

View File

@ -1 +0,0 @@
../../../install/install.sh

View File

@ -1 +0,0 @@
../../../media/logo.png

View File

@ -1 +0,0 @@
../../../media/logo.svg

View File

@ -1,38 +0,0 @@
.home .hero img
max-width: 500px !important
min-width: 300px
width: 100%
.center
margin 0 auto;
width: 80%
.demo-video
width: 100%
margin: 50px 0
border-radius: 6px
.hero
margin: 150px 25px 70px
.action-button
background-color: #dd0b78 !important
border-bottom: #c6096b !important
@font-face
font-family: 'Nerd Font';
src: url("/nerd-font.woff2") format("woff2");
font-weight: 400;
font-style: normal
code
font-family: 'Nerd Font', source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
overflow-wrap: break-word
@media (prefers-color-scheme: light)
:root
--languageTextColor: rgba(255,255,255,0.4)
.code-copy
position: absolute
right: 0
bottom: 1px

View File

@ -1,6 +0,0 @@
$accentColor = #DD0B78
$accentDarkColor = #ff33b8
$textColor = #2c3e50
$borderColor = #eaecef
$codeBgLightColor = #282c34
$preTextLightColor = #fff

View File

@ -1,10 +1,13 @@
---
home: true
heroImage: /logo.svg
heroText: null
tagline: The minimal, blazing-fast, and infinitely customizable prompt for any shell!
actionText: Get Started →
actionLink: ./guide/
layout: home
hero:
image: /logo.svg
text: null
tagline: The minimal, blazing-fast, and infinitely customizable prompt for any shell!
actions:
- theme: brand
text: Get Started →
link: ./guide/
features:
- title: Compatibility First
details: Works on the most common shells on the most common operating systems. Use it everywhere!
@ -19,12 +22,10 @@ metaTitle: "Starship: Cross-Shell Prompt"
description: Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and PowerShell.
---
<div class="center">
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
</div>
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
### Prerequisites
@ -51,6 +52,7 @@ description: Starship is the minimal, blazing fast, and extremely customizable p
```sh
brew install starship
```
With [Winget](https://github.com/microsoft/winget-cli):
```powershell
@ -143,6 +145,7 @@ description: Starship is the minimal, blazing fast, and extremely customizable p
:::
Add the following to the end of your Nushell env file (find it by running `$nu.env-path` in Nushell):
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu

View File

@ -106,6 +106,41 @@ starship init fish | source
enable_transience
```
## TransientPrompt and TransientRightPrompt in Bash
The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework at v0.4 or higher allows you to replace
the previous-printed prompt with custom strings. This is useful in cases where all
the prompt information is not always needed. To enable this, put this in `~/.bashrc`
`bleopt prompt_ps1_transient=<value>`:
The \<value\> here is a colon-separated list of `always`, `same-dir` and `trim`.
When `prompt_ps1_final` is empty and the option `prompt_ps1_transient` has a non-empty \<value\>,
the prompt specified by `PS1` is erased on leaving the current command line.
If \<value\> contains a field `trim`, only the last line of multiline `PS1` is
preserved and the other lines are erased. Otherwise, the command line will be
redrawn as if `PS1=` is specified. When a field `same-dir` is contained in
\<value\> and the current working directory is different from the final directory of
the previous command line, this option `prompt_ps1_transient` is ignored.
Make the following changes to your `~/.blerc` (or in `~/.config/blesh/init.sh`) to customize what gets displayed on
the left and on the right:
- To customize what the left side of input gets replaced with, configure the
`prompt_ps1_final` Ble.sh option. For example, to display Starship's `character`
module here, you would do
```bash
bleopt prompt_ps1_final='$(starship module character)'
```
- To customize what the right side of input gets replaced with, configure the
`prompt_rps1_final` Ble.sh option. For example, to display
the time at which the last command was started here, you would do
```bash
bleopt prompt_rps1_final='$(starship module time)'
```
## Custom pre-prompt and pre-execution Commands in Cmd
Clink provides extremely flexible APIs to run pre-prompt and pre-exec commands
@ -259,9 +294,11 @@ in `format` is also supported in `right_format`. The `$all` variable will only c
not explicitly used in either `format` or `right_format`.
Note: The right prompt is a single line following the input location. To right align modules above
the input line in a multi-line prompt, see the [`fill` module](/config/#fill).
the input line in a multi-line prompt, see the [`fill` module](../config/#fill).
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell.
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell, bash.
Note: The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework v0.4 or higher should be installed in order to use right prompt in bash.
### Example
@ -300,7 +337,7 @@ Note: Continuation prompts are only available in the following shells:
```toml
# ~/.config/starship.toml
# A continuation prompt that displays two filled in arrows
# A continuation prompt that displays two filled-in arrows
continuation_prompt = '▶▶ '
```
@ -338,6 +375,6 @@ If multiple colors are specified for foreground/background, the last one in the
Not every style string will be displayed correctly by every terminal. In particular, the following known quirks exist:
- Many terminals disable support for `blink` by default
- Many terminals disable support for `blink` by default.
- `hidden` is [not supported on iTerm](https://gitlab.com/gnachman/iterm2/-/issues/4564).
- `strikethrough` is not supported by the default macOS Terminal.app
- `strikethrough` is not supported by the default macOS Terminal.app.

View File

@ -1,10 +1,14 @@
---
home: true
heroImage: /logo.svg
heroText:
tagline: التخصيص البسيط و السريع و الغير محدود لي ال"shell"!
actionText: البدء مع Starship ←
actionLink: ./guide/
layout: home
hero:
image: /logo.svg
text:
tagline: التخصيص البسيط و السريع و الغير محدود لي ال"shell"!
actions:
-
theme: brand
text: البدء مع Starship ←
link: ./guide/
features:
-
title: التوافق أولاً
@ -21,12 +25,10 @@ metaTitle: "Starship: Cross-Shell Prompt"
description: Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and PowerShell.
---
<div class="center">
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
</div>
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
### المتطلبات الأساسية
@ -55,6 +57,7 @@ description: Starship is the minimal, blazing fast, and extremely customizable p
```sh
brew install starship
```
With [Winget](https://github.com/microsoft/winget-cli):
```powershell
@ -154,6 +157,7 @@ description: Starship is the minimal, blazing fast, and extremely customizable p
:::
Add the following to the end of your Nushell env file (find it by running `$nu.env-path` in Nushell):
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu

View File

@ -80,6 +80,26 @@ starship init fish | source
enable_transience
```
## TransientPrompt and TransientRightPrompt in Bash
The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework at v0.4 or higher allows you to replace the previous-printed prompt with custom strings. This is useful in cases where all the prompt information is not always needed. To enable this, put this in `~/.bashrc` `bleopt prompt_ps1_transient=<value>`:
The \<value\> here is a colon-separated list of `always`, `same-dir` and `trim`. When `prompt_ps1_final` is empty and this option has a non-empty value, the prompt specified by `PS1` is erased on leaving the current command line. If the value contains a field `trim`, only the last line of multiline `PS1` is preserved and the other lines are erased. Otherwise, the command line will be redrawn as if `PS1=` is specified. When a field `same-dir` is contained in the value and the current working directory is different from the final directory of the previous command line, this option `prompt_ps1_transient` is ignored.
Make the following changes to your `~/.bashrc` to customize what gets displayed on the left and on the right:
- To customize what the left side of input gets replaced with, configure the `prompt_ps1_final` Ble.sh option. For example, to display Starship's `character` module here, you would do
```bash
bleopt prompt_ps1_final="$(starship module character)"
```
- To customize what the right side of input gets replaced with, configure the `prompt_rps1_final` Ble.sh option. For example, to display the time at which the last command was started here, you would do
```bash
bleopt prompt_rps1_final="$(starship module time)"
```
## Custom pre-prompt and pre-execution Commands in Cmd
Clink provides extremely flexible APIs to run pre-prompt and pre-exec commands in Cmd shell. It is fairly simple to use with Starship. Make the following changes to your `starship.lua` file as per your requirements:
@ -203,9 +223,11 @@ Invoke-Expression (&starship init powershell)
Some shells support a right prompt which renders on the same line as the input. Starship can set the content of the right prompt using the `right_format` option. Any module that can be used in `format` is also supported in `right_format`. The `$all` variable will only contain modules not explicitly used in either `format` or `right_format`.
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](/config/#fill).
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](../config/#fill).
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell.
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell, bash.
Note: The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework v0.4 or higher should be installed in order to use right prompt in bash.
### مثال

View File

@ -158,7 +158,7 @@ In the second part, which is enclosed in a `()`, is a [style string](#style-stri
#### Style Strings
Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/).
Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](../advanced-config/).
- `'fg:green bg:blue'` sets green text on a blue background
- `'bg:blue fg:bright-green'` sets bright green text on a blue background
@ -197,15 +197,22 @@ This is the list of prompt-wide configuration options.
### Options
| Option | الافتراضي | الوصف |
| ----------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `right_format` | `''` | See [Enable Right Prompt](/advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). |
| `add_newline` | `true` | Inserts blank line between shell prompts. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](/advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| Option | الافتراضي | الوصف |
| ----------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `right_format` | `''` | See [Enable Right Prompt](../advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). |
| `add_newline` | `true` | Inserts blank line between shell prompts. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](../advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| `follow_symlinks` | `true` | Follows symlinks to check if they're directories; used in modules such as git. |
::: tip
If you have symlinks to networked filesystems, consider setting `follow_symlinks` to `false`.
:::
### مثال
@ -253,6 +260,7 @@ $kubernetes\
$directory\
$vcsh\
$fossil_branch\
$fossil_metrics\
$git_branch\
$git_commit\
$git_state\
@ -292,6 +300,7 @@ $php\
$pulumi\
$purescript\
$python\
$quarto\
$raku\
$rlang\
$red\
@ -301,6 +310,7 @@ $scala\
$solidity\
$swift\
$terraform\
$typst\
$vlang\
$vagrant\
$zig\
@ -314,6 +324,7 @@ $aws\
$gcloud\
$openstack\
$azure\
$direnv\
$env_var\
$crystal\
$custom\
@ -351,6 +362,8 @@ When using [AWSume](https://awsu.me) the profile is read from the `AWSUME_PROFIL
When using [saml2aws](https://github.com/Versent/saml2aws) the expiration information obtained from `~/.aws/credentials` falls back to the `x_security_token_expires` key.
When using [aws-sso-cli](https://github.com/synfinatic/aws-sso-cli) the profile is read from the `AWS_SSO_PROFILE` env var.
### Options
| Option | الافتراضي | الوصف |
@ -360,7 +373,7 @@ When using [saml2aws](https://github.com/Versent/saml2aws) the expiration inform
| `region_aliases` | `{}` | Table of region aliases to display in addition to the AWS name. |
| `profile_aliases` | `{}` | Table of profile aliases to display in addition to the AWS name. |
| `style` | `'bold yellow'` | The style for the module. |
| `expiration_symbol` | `X` | The symbol displayed when the temporary credentials have expired. |
| `expiration_symbol` | `'X'` | The symbol displayed when the temporary credentials have expired. |
| `disabled` | `false` | Disables the `AWS` module. |
| `force_display` | `false` | If `true` displays info even if `credentials`, `credential_process` or `sso_start_url` have not been setup. |
@ -531,7 +544,7 @@ style = 'bold red'
[[battery.display]] # 'bold yellow' style and 💦 symbol when capacity is between 10% and 30%
threshold = 30
style = 'bold yellow'
discharging_symbol = '💦'
discharging_symbol = '💦 '
# when capacity is over 30%, the battery indicator will not be displayed
```
@ -605,7 +618,9 @@ The `bun` module shows the currently installed version of the [bun](https://bun.
*: This variable can only be used as a part of a style string
### مثال
### Examples
#### Customize the format
```toml
# ~/.config/starship.toml
@ -614,23 +629,32 @@ The `bun` module shows the currently installed version of the [bun](https://bun.
format = 'via [🍔 $version](bold green) '
```
#### Replace Node.js
You can override the `detect_files` property of [the nodejs module](#nodejs) in your config so as to only show the bun runtime:
```
[nodejs]
detect_files = ['package.json', '.node-version', '!bunfig.toml', '!bun.lockb']
```
## C
The `c` module shows some information about your C compiler. By default the module will be shown if the current directory contains a `.c` or `.h` file.
### Options
| Option | الافتراضي | الوصف |
| ------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version(-$name) )]($style)'` | The format string for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'C '` | The symbol used before displaying the compiler details |
| `detect_extensions` | `['c', 'h']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `commands` | [ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ] | How to detect what the compiler is |
| `style` | `'bold 149'` | The style for the module. |
| `disabled` | `false` | Disables the `c` module. |
| Option | الافتراضي | الوصف |
| ------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version(-$name) )]($style)'` | The format string for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'C '` | The symbol used before displaying the compiler details |
| `detect_extensions` | `['c', 'h']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `commands` | `[ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ]` | How to detect what the compiler is |
| `style` | `'bold 149'` | The style for the module. |
| `disabled` | `false` | Disables the `c` module. |
### Variables
@ -671,7 +695,7 @@ The character will tell you whether the last command was successful or not. It c
By default it only changes color. If you also want to change its shape take a look at [this example](#with-custom-error-shape).
::: warning
::: تحذير
`vimcmd_symbol` is only supported in cmd, fish and zsh. `vimcmd_replace_one_symbol`, `vimcmd_replace_symbol`, and `vimcmd_visual_symbol` are only supported in fish due to [upstream issues with mode detection in zsh](https://github.com/starship/starship/issues/625#issuecomment-732454148).
@ -1137,6 +1161,48 @@ truncation_length = 8
truncation_symbol = '…/'
```
## Direnv
The `direnv` module shows the status of the current rc file if one is present. The status includes the path to the rc file, whether it is loaded, and whether it has been allowed by `direnv`.
### Options
| Option | الافتراضي | الوصف |
| ------------------- | -------------------------------------- | ----------------------------------------------------- |
| `format` | `'[$symbol$loaded/$allowed]($style) '` | The format for the module. |
| `symbol` | `'direnv '` | The symbol used before displaying the direnv context. |
| `style` | `'bold orange'` | The style for the module. |
| `disabled` | `true` | Disables the `direnv` module. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `['.envrc']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `allowed_msg` | `'allowed'` | The message displayed when an rc file is allowed. |
| `not_allowed_msg` | `'not allowed'` | The message displayed when an rc file is not_allowed. |
| `denied_msg` | `'denied'` | The message displayed when an rc file is denied. |
| `loaded_msg` | `'loaded'` | The message displayed when an rc file is loaded. |
| `unloaded_msg` | `'not loaded'` | The message displayed when an rc file is not loaded. |
### Variables
| Variable | مثال | الوصف |
| --------- | ------------------- | --------------------------------------- |
| loaded | `loaded` | Whether the current rc file is loaded. |
| allowed | `denied` | Whether the current rc file is allowed. |
| rc_path | `/home/test/.envrc` | The current rc file path. |
| symbol | | Mirrors the value of option `symbol`. |
| style\* | `red bold` | Mirrors the value of option `style`. |
*: This variable can only be used as a part of a style string
### مثال
```toml
# ~/.config/starship.toml
[direnv]
disabled = false
```
## Docker Context
The `docker_context` module shows the currently active [Docker context](https://docs.docker.com/engine/context/working-with-contexts/) if it's not set to `default` or if the `DOCKER_MACHINE_NAME`, `DOCKER_HOST` or `DOCKER_CONTEXT` environment variables are set (as they are meant to override the context in use).
@ -1435,7 +1501,7 @@ The `fennel` module shows the currently installed version of [Fennel](https://fe
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🧅 '` | The symbol used before displaying the version of fennel. |
| `style` | `'bold green'` | The style for the module. |
| `detect_extensions` | `[fnl]` | Which extensions should trigger this module. |
| `detect_extensions` | `['fnl']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `disabled` | `false` | Disables the `fennel` module. |
@ -1524,11 +1590,46 @@ truncation_length = 4
truncation_symbol = ''
```
## Fossil Metrics
The `fossil_metrics` module will show the number of added and deleted lines in the check-out in your current directory. At least v2.14 (2021-01-20) of Fossil is required.
### Options
| Option | الافتراضي | الوصف |
| -------------------- | ------------------------------------------------------------ | ------------------------------------- |
| `format` | `'([+$added]($added_style) )([-$deleted]($deleted_style) )'` | The format for the module. |
| `added_style` | `'bold green'` | The style for the added count. |
| `deleted_style` | `'bold red'` | The style for the deleted count. |
| `only_nonzero_diffs` | `true` | Render status only for changed items. |
| `disabled` | `true` | Disables the `fossil_metrics` module. |
### Variables
| Variable | مثال | الوصف |
| ----------------- | ---- | ------------------------------------------- |
| added | `1` | The current number of added lines |
| deleted | `2` | The current number of deleted lines |
| added_style\* | | Mirrors the value of option `added_style` |
| deleted_style\* | | Mirrors the value of option `deleted_style` |
*: This variable can only be used as a part of a style string
### مثال
```toml
# ~/.config/starship.toml
[fossil_metrics]
added_style = 'bold blue'
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '
```
## Google Cloud (`gcloud`)
The `gcloud` module shows the current configuration for [`gcloud`](https://cloud.google.com/sdk/gcloud) CLI. This is based on the `~/.config/gcloud/active_config` file and the `~/.config/gcloud/configurations/config_{CONFIG NAME}` file and the `CLOUDSDK_CONFIG` env var.
When the module is enabled it will always be active, unless `detect_env_vars` has been set in which case the module will only be active be active when one of the environment variables has been set.
When the module is enabled it will always be active, unless `detect_env_vars` has been set in which case the module will only be active when one of the environment variables has been set.
### Options
@ -1799,7 +1900,7 @@ The following variables can be used in `format`:
| Variable | الوصف |
| -------------- | ------------------------------------------------------------------------------------------------------------- |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$staged$untracked` |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$typechanged$staged$untracked` |
| `ahead_behind` | Displays `diverged`, `ahead`, `behind` or `up_to_date` format string based on the current status of the repo. |
| `conflicted` | Displays `conflicted` when this branch has merge conflicts. |
| `untracked` | Displays `untracked` when there are untracked files in the working directory. |
@ -1931,8 +2032,8 @@ The `guix_shell` module shows the [guix-shell](https://guix.gnu.org/manual/devel
| Option | الافتراضي | الوصف |
| ---------- | -------------------------- | ------------------------------------------------------ |
| `format` | `'via [$symbol]($style) '` | The format for the module. |
| `symbol` | `"🐃 "` | A format string representing the symbol of guix-shell. |
| `style` | `"yellow bold"` | The style for the module. |
| `symbol` | `'🐃 '` | A format string representing the symbol of guix-shell. |
| `style` | `'yellow bold'` | The style for the module. |
| `disabled` | `false` | Disables the `guix_shell` module. |
### Variables
@ -1969,13 +2070,13 @@ The `gradle` module is only able to read your Gradle Wrapper version from your c
| Option | الافتراضي | الوصف |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | The format for the module. |
| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🅶 "` | A format string representing the symbol of Gradle. |
| `detect_extensions` | `["gradle", "gradle.kts"]` | Which extensions should trigger this module. |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🅶 '` | A format string representing the symbol of Gradle. |
| `detect_extensions` | `['gradle', 'gradle.kts']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `["gradle"]` | Which folders should trigger this module. |
| `style` | `"bold bright-cyan"` | The style for the module. |
| `detect_folders` | `['gradle']` | Which folders should trigger this module. |
| `style` | `'bold bright-cyan'` | The style for the module. |
| `disabled` | `false` | Disables the `gradle` module. |
| `recursive` | `false` | Enables recursive finding for the `gradle` directory. |
@ -2034,13 +2135,13 @@ The `haxe` module shows the currently installed version of [Haxe](https://haxe.o
| Option | الافتراضي | الوصف |
| ------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | The format for the module. |
| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["hx", "hxml"]` | Which extensions should trigger this module. |
| `detect_files` | `["project.xml", "Project.xml", "application.xml", "haxelib.json", "hxformat.json", ".haxerc"]` | Which filenames should trigger this module. |
| `detect_folders` | `[".haxelib", "haxe_libraries"]` | Which folders should trigger this modules. |
| `symbol` | `"⌘ "` | A format string representing the symbol of Helm. |
| `style` | `"bold fg:202"` | The style for the module. |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `['hx', 'hxml']` | Which extensions should trigger this module. |
| `detect_files` | `['project.xml', 'Project.xml', 'application.xml', 'haxelib.json', 'hxformat.json', '.haxerc']` | Which filenames should trigger this module. |
| `detect_folders` | `['.haxelib', 'haxe_libraries']` | Which folders should trigger this modules. |
| `symbol` | `'⌘ '` | A format string representing the symbol of Helm. |
| `style` | `'bold fg:202'` | The style for the module. |
| `disabled` | `false` | Disables the `haxe` module. |
### Variables
@ -2107,14 +2208,15 @@ The `hostname` module shows the system hostname.
### Options
| Option | الافتراضي | الوصف |
| ------------ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `ssh_only` | `true` | Only show hostname when connected to an SSH session. |
| `ssh_symbol` | `'🌐 '` | A format string representing the symbol when connected to SSH session. |
| `trim_at` | `'.'` | String that the hostname is cut off at, after the first match. `'.'` will stop after the first dot. `''` will disable any truncation |
| `format` | `'[$ssh_symbol$hostname]($style) in '` | The format for the module. |
| `style` | `'bold dimmed green'` | The style for the module. |
| `disabled` | `false` | Disables the `hostname` module. |
| Option | الافتراضي | الوصف |
| ----------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `ssh_only` | `true` | Only show hostname when connected to an SSH session. |
| `ssh_symbol` | `'🌐 '` | A format string representing the symbol when connected to SSH session. |
| `trim_at` | `'.'` | String that the hostname is cut off at, after the first match. `'.'` will stop after the first dot. `''` will disable any truncation. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$ssh_symbol$hostname]($style) in '` | The format for the module. |
| `style` | `'bold dimmed green'` | The style for the module. |
| `disabled` | `false` | Disables the `hostname` module. |
### Variables
@ -2126,7 +2228,9 @@ The `hostname` module shows the system hostname.
*: This variable can only be used as a part of a style string
### مثال
### Examples
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -2138,6 +2242,17 @@ trim_at = '.companyname.com'
disabled = false
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Java
The `java` module shows the currently installed version of [Java](https://www.oracle.com/java/). By default the module will be shown if any of the following conditions are met:
@ -2323,7 +2438,7 @@ kotlin_binary = 'kotlinc'
## Kubernetes
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly, the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
::: tip
@ -2335,18 +2450,40 @@ When the module is enabled it will always be active, unless any of `detect_exten
### Options
::: تحذير
The `context_aliases` and `user_aliases` options are deprecated. Use `contexts` and the corresponding `context_alias` and `user_alias` options instead.
:::
| Option | الافتراضي | الوصف |
| ------------------- | ---------------------------------------------------- | --------------------------------------------------------------------- |
| `symbol` | `'☸ '` | A format string representing the symbol displayed before the Cluster. |
| `format` | `'[$symbol$context( \($namespace\))]($style) in '` | The format for the module. |
| `style` | `'cyan bold'` | The style for the module. |
| `context_aliases` | `{}` | Table of context aliases to display. |
| `user_aliases` | `{}` | Table of user aliases to display. |
| `context_aliases`* | `{}` | Table of context aliases to display. |
| `user_aliases`* | `{}` | Table of user aliases to display. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `contexts` | `[]` | Customized styles and symbols for specific contexts. |
| `disabled` | `true` | Disables the `kubernetes` module. |
*: This option is deprecated, please add `contexts` with the corresponding `context_alias` and `user_alias` options instead.
To customize the style of the module for specific environments, use the following configuration as part of the `contexts` list:
| Variable | الوصف |
| ----------------- | ---------------------------------------------------------------------------------------- |
| `context_pattern` | **Required** Regular expression to match current Kubernetes context name. |
| `user_pattern` | Regular expression to match current Kubernetes user name. |
| `context_alias` | Context alias to display instead of the full context name. |
| `user_alias` | User alias to display instead of the full user name. |
| `style` | The style for the module when using this context. If not set, will use module's style. |
| `symbol` | The symbol for the module when using this context. If not set, will use module's symbol. |
Note that all regular expression are anchored with `^<pattern>$` and so must match the whole string. The `*_pattern` regular expressions may contain capture groups, which can be referenced in the corresponding alias via `$name` and `$N` (see example below and the [rust Regex::replace() documentation](https://docs.rs/regex/latest/regex/struct.Regex.html#method.replace)).
### Variables
| Variable | مثال | الوصف |
@ -2368,13 +2505,9 @@ When the module is enabled it will always be active, unless any of `detect_exten
[kubernetes]
format = 'on [⛵ ($user on )($cluster in )$context \($namespace\)](dimmed green) '
disabled = false
[kubernetes.context_aliases]
'dev.local.cluster.k8s' = 'dev'
'.*/openshift-cluster/.*' = 'openshift'
'gke_.*_(?P<var_cluster>[\w-]+)' = 'gke-$var_cluster'
[kubernetes.user_aliases]
'dev.local.cluster.k8s' = 'dev'
'root/.*' = 'root'
contexts = [
{ context_pattern = "dev.local.cluster.k8s", style = "green", symbol = "💔 " },
]
```
Only show the module in directories that contain a `k8s` file.
@ -2387,25 +2520,36 @@ disabled = false
detect_files = ['k8s']
```
#### Regex Matching
#### Kubernetes Context specific config
Additional to simple aliasing, `context_aliases` and `user_aliases` also supports extended matching and renaming using regular expressions.
The regular expression must match on the entire kube context, capture groups can be referenced using `$name` and `$N` in the replacement. This is more explained in the [regex crate](https://docs.rs/regex/1.5.4/regex/struct.Regex.html#method.replace) documentation.
Long and automatically generated cluster names can be identified and shortened using regular expressions:
The `contexts` configuration option is used to customise what the current Kubernetes context name looks like (style and symbol) if the name matches the defined regular expression.
```toml
[kubernetes.context_aliases]
# OpenShift contexts carry the namespace and user in the kube context: `namespace/name/user`:
'.*/openshift-cluster/.*' = 'openshift'
# Or better, to rename every OpenShift cluster at once:
'.*/(?P<var_cluster>[\w-]+)/.*' = '$var_cluster'
# ~/.config/starship.toml
[[kubernetes.contexts]]
# "bold red" style + default symbol when Kubernetes current context name equals "production" *and* the current user
# equals "admin_user"
context_pattern = "production"
user_pattern = "admin_user"
style = "bold red"
context_alias = "prod"
user_alias = "admin"
[[kubernetes.contexts]]
# "green" style + a different symbol when Kubernetes current context name contains openshift
context_pattern = ".*openshift.*"
style = "green"
symbol = "💔 "
context_alias = "openshift"
[[kubernetes.contexts]]
# Using capture groups
# Contexts from GKE, AWS and other cloud providers usually carry additional information, like the region/zone.
# The following entry matches on the GKE format (`gke_projectname_zone_cluster-name`)
# and renames every matching kube context into a more readable format (`gke-cluster-name`):
'gke_.*_(?P<var_cluster>[\w-]+)' = 'gke-$var_cluster'
context_pattern = "gke_.*_(?P<cluster>[\\w-]+)"
context_alias = "gke-$cluster"
```
## Line Break
@ -2730,7 +2874,7 @@ The `nodejs` module shows the currently installed version of [Node.js](https://n
| `detect_folders` | `['node_modules']` | Which folders should trigger this module. |
| `style` | `'bold green'` | The style for the module. |
| `disabled` | `false` | Disables the `nodejs` module. |
| `not_capable_style` | `bold red` | The style for the module when an engines property in package.json does not match the Node.js version. |
| `not_capable_style` | `'bold red'` | The style for the module when an engines property in package.json does not match the Node.js version. |
### Variables
@ -2890,8 +3034,8 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y
| Option | الافتراضي | الوصف |
| ---------- | --------------------- | ------------------------------------------------------ |
| `format` | `"[$symbol]($style)"` | The format for the module. |
| `style` | `"bold white"` | The style for the module. |
| `format` | `'[$symbol]($style)'` | The format for the module. |
| `style` | `'bold white'` | The style for the module. |
| `disabled` | `true` | Disables the `os` module. |
| `symbols` | | A table that maps each operating system to its symbol. |
@ -2900,7 +3044,9 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y
```toml
# This is the default symbols table.
[os.symbols]
AIX = "➿ "
Alpaquita = "🔔 "
AlmaLinux = "💠 "
Alpine = "🏔️ "
Amazon = "🙂 "
Android = "🤖 "
@ -2917,6 +3063,7 @@ Garuda = "🦅 "
Gentoo = "🗜️ "
HardenedBSD = "🛡️ "
Illumos = "🐦 "
Kali = "🐉 "
Linux = "🐧 "
Mabox = "📦 "
Macos = "🍎 "
@ -2935,11 +3082,14 @@ Pop = "🍭 "
Raspbian = "🍓 "
Redhat = "🎩 "
RedHatEnterprise = "🎩 "
RockyLinux = "💠 "
Redox = "🧪 "
Solus = "⛵ "
SUSE = "🦎 "
Ubuntu = "🎯 "
Ultramarine = "🔷 "
Unknown = "❓ "
Void = " "
Windows = "🪟 "
```
@ -3224,7 +3374,7 @@ The `python` module shows the currently installed version of [Python](https://ww
If `pyenv_version_name` is set to `true`, it will display the pyenv version name. Otherwise, it will display the version number from `python --version`.
By default the module will be shown if any of the following conditions are met:
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `.python-version` file
- The current directory contains a `Pipfile` file
@ -3245,7 +3395,7 @@ By default the module will be shown if any of the following conditions are met:
| `symbol` | `'🐍 '` | A format string representing the symbol of Python |
| `style` | `'yellow bold'` | The style for the module. |
| `pyenv_version_name` | `false` | Use pyenv to get Python version |
| `pyenv_prefix` | `pyenv` | Prefix before pyenv version display, only used if pyenv is used |
| `pyenv_prefix` | `'pyenv'` | Prefix before pyenv version display, only used if pyenv is used |
| `python_binary` | `['python', 'python3', 'python2']` | Configures the python binaries that Starship should executes when getting the version. |
| `detect_extensions` | `['py']` | Which extensions should trigger this module |
| `detect_files` | `['.python-version', 'Pipfile', '__init__.py', 'pyproject.toml', 'requirements.txt', 'setup.py', 'tox.ini']` | Which filenames should trigger this module |
@ -3296,16 +3446,37 @@ python_binary = 'python3'
detect_extensions = []
```
```toml
# ~/.config/starship.toml
## Quarto
[python]
# Display the version of python from inside a local venv.
#
# Note this will only work when the venv is inside the project and it will only
# work in the directory that contains the venv dir but maybe this is ok?
python_binary = ['./venv/bin/python', 'python', 'python3', 'python2']
```
The `quarto` module shows the current installed version of Quarto used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `_quarto.yml` file
- The current directory contains any `*.qmd` file
### Options
| Option | الافتراضي | الوصف |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'⨁ '` | A format string representing the symbol of Quarto |
| `style` | `'bold #75AADB'` | The style for the module. |
| `detect_extensions` | `['.qmd']` | Which extensions should trigger this module. |
| `detect_files` | `['_quarto.yml']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `quarto` module. |
### Variables
| Variable | مثال | الوصف |
| --------- | --------- | ------------------------------------ |
| version | `1.4.549` | The version of `quarto` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## R
@ -3452,11 +3623,12 @@ Starship gets the current Ruby version by running `ruby -v`.
### Variables
| Variable | مثال | الوصف |
| --------- | -------- | ------------------------------------ |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
| Variable | مثال | الوصف |
| --------- | -------- | ------------------------------------------- |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
| gemset | `test` | Optional, gets the current RVM gemset name. |
*: This variable can only be used as a part of a style string
@ -3562,22 +3734,23 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y
### Options
| Option | الافتراضي | الوصف |
| ---------------------- | ------------------------- | ------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | The format for the module. |
| `style` | `'white bold'` | The style for the module. |
| `disabled` | `true` | Disables the `shell` module. |
| Option | الافتراضي | الوصف |
| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `pwsh_indicator` | | A format string used to represent pwsh. The default value mirrors the value of `powershell_indicator`. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | The format for the module. |
| `style` | `'white bold'` | The style for the module. |
| `disabled` | `true` | Disables the `shell` module. |
### Variables
@ -3694,14 +3867,14 @@ The `solidity` module shows the currently installed version of [Solidity](https:
| Option | الافتراضي | الوصف |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | The format for the module. |
| `version_format` | `"v${major}.${minor}.${patch}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"S "` | A format string representing the symbol of Solidity |
| `compiler | ["solc"] | The default compiler for Solidity. |
| `detect_extensions` | `["sol"]` | Which extensions should trigger this module. |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${major}.${minor}.${patch}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'S '` | A format string representing the symbol of Solidity |
| `compiler | ['solc'] | The default compiler for Solidity. |
| `detect_extensions` | `['sol']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `style` | `"bold blue"` | The style for the module. |
| `style` | `'bold blue'` | The style for the module. |
| `disabled` | `false` | Disables this module. |
### Variables
@ -4009,6 +4182,39 @@ utc_time_offset = '-5'
time_range = '10:00:00-14:00:00'
```
## Typst
The `typst` module shows the current installed version of Typst used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `template.typ` file
- The current directory contains any `*.typ` file
### Options
| Option | الافتراضي | الوصف |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'t '` | A format string representing the symbol of Daml |
| `style` | `'bold #0093A7'` | The style for the module. |
| `detect_extensions` | `['.typ']` | Which extensions should trigger this module. |
| `detect_files` | `['template.typ']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `daml` module. |
### Variables
| Variable | مثال | الوصف |
| ------------- | ----------- | ----------------------------------------------- |
| version | `v0.9.0` | The version of `typst`, alias for typst_version |
| typst_version | `الافتراضي` | The current Typst version |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## Username
The `username` module shows active user's username. The module will be shown if any of the following conditions are met:
@ -4017,6 +4223,7 @@ The `username` module shows active user's username. The module will be shown if
- The current user isn't the same as the one that is logged in
- The user is currently connected as an SSH session
- The variable `show_always` is set to true
- The array `detect_env_vars` contains at least the name of one environment variable, that is set
::: tip
@ -4026,13 +4233,14 @@ SSH connection is detected by checking environment variables `SSH_CONNECTION`, `
### Options
| Option | الافتراضي | الوصف |
| ------------- | ----------------------- | ------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | The style used for non-root users. |
| `format` | `'[$user]($style) in '` | The format for the module. |
| `show_always` | `false` | Always shows the `username` module. |
| `disabled` | `false` | Disables the `username` module. |
| Option | الافتراضي | الوصف |
| ----------------- | ----------------------- | --------------------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | The style used for non-root users. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$user]($style) in '` | The format for the module. |
| `show_always` | `false` | Always shows the `username` module. |
| `disabled` | `false` | Disables the `username` module. |
### Variables
@ -4043,6 +4251,8 @@ SSH connection is detected by checking environment variables `SSH_CONNECTION`, `
### مثال
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -4054,6 +4264,17 @@ disabled = false
show_always = true
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Vagrant
The `vagrant` module shows the currently installed version of [Vagrant](https://www.vagrantup.com/). By default the module will be shown if any of the following conditions are met:

View File

@ -58,7 +58,7 @@ curl -sS https://starship.rs/install.sh | sh -s -- --platform unknown-linux-musl
## Why do I see `Executing command "..." timed out.` warnings?
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](/config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](../config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
## I see symbols I don't understand or expect, what do they mean?
@ -72,7 +72,7 @@ You can enable the debug logs by using the `STARSHIP_LOG` env var. These logs ca
env STARSHIP_LOG=trace starship module rust
```
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that to blame.
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that is to blame.
```sh
env STARSHIP_LOG=trace starship timings
@ -120,3 +120,11 @@ If Starship was installed using the install script, the following command will d
# Locate and delete the starship binary
sh -c 'rm "$(command -v 'starship')"'
```
## How do I install Starship without `sudo`?
The shell install script (`https://starship.rs/install.sh`) only attempts to use `sudo` if the target installation directory is not writable by the current user. The default installation diretory is the value of the `$BIN_DIR` environment variable or `/usr/local/bin` if `$BIN_DIR` is not set. If you instead set the installation directory to one that is writable by your user, you should be able to install starship without `sudo`. For example, `curl -sS https://starship.rs/install.sh | sh -s -- -b ~/.local/bin` uses the `-b` command line option of the install script to set the installation directory to `~/.local/bin`.
For a non-interactive installation of Starship, don't forget to add the `-y` option to skip the confirmation. Check the source of the installation script for a list of all supported installation options.
When using a package manager, see the documentation for your package manager about installing with or without `sudo`.

View File

@ -20,7 +20,7 @@
<a href="https://repology.org/project/starship/versions"
><img
src="https://img.shields.io/repology/repositories/starship?label=in%20repositories&style=flat-square"
alt="Packaging status" /></a
alt="واقع التغليف" /></a
><br />
<a href="https://discord.gg/starship"
><img
@ -32,6 +32,11 @@
src="https://img.shields.io/badge/twitter-@StarshipPrompt-1DA1F3?style=flat-square"
alt="تابع @StarshipPrompt على تويتر"
/></a>
<a href="https://stand-with-ukraine.pp.ua"
><img
src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraineFlat.svg"
alt="Stand With Ukraine"
/></a>
</p>
<p align="center">
@ -87,7 +92,7 @@
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-it.png"
alt="Italiano"
alt="الإيطالية"
/></a>
&nbsp;
<a
@ -147,8 +152,6 @@
/></a>
</p>
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine)
<h1></h1>
<img
@ -168,7 +171,7 @@
- **Easy:** سريع التثبيت استخدمها في دقائق معدودة.
<p align="center">
<a href="https://starship.rs/config/"><strong>استكشف مستندات Starship&nbsp;&nbsp;</strong></a>
<a href="https://starship.rs/config/"><strong>تصفّح مستندات Starship&nbsp;&nbsp;</strong></a>
</p>
<a name="🚀-installation"></a>
@ -229,6 +232,7 @@ curl -sS https://starship.rs/install.sh | sh
| Gentoo | [Gentoo Packages](https://packages.gentoo.org/packages/app-shells/starship) | `emerge app-shells/starship` |
| Manjaro | | `pacman -S starship` |
| NixOS | [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix) | `nix-env -iA nixpkgs.starship` |
| openSUSE | [OSS](https://software.opensuse.org/package/starship) | `zypper in starship` |
| Void Linux | [Void Linux Packages](https://github.com/void-linux/void-packages/tree/master/srcpkgs/starship) | `xbps-install -S starship` |
</details>
@ -299,7 +303,7 @@ load(io.popen('starship init cmd'):read("*a"))()
<details>
<summary>Elvish</summary>
أضف ما يلي إلى نهاية `~/.elvish/rc.elv`:
أضف ما يلي إلى نهاية الملف `~/.elvish/rc.elv`:
```sh
eval (starship init elvish)
@ -427,10 +431,6 @@ If you're looking to further customize Starship:
Support this project by [becoming a sponsor](https://github.com/sponsors/starship). Your name or logo will show up here with a link to your website.
**Supporter Tier**
- [Appwrite](https://appwrite.io/)
<p align="center">
<br>
<img width="100" src="https://raw.githubusercontent.com/starship/starship/master/media/icon.png" alt="Starship rocket icon">

View File

@ -1,19 +1,19 @@
# التثبيت المتقدم
# Advanced Installation
To install starship, you need to do two things:
لثتبيت starship تحتاج للقيام بشيئين هما:
1. Get the **starship** binary onto your computer
1. Tell your shell to use the starship binary as its prompt by modifying its init scripts
1. ثبت ملفات **starship** على جهازك
1. تنبيه موجه الأوامر بإن يقوم بجعل سطر الأوامر ل starship وذلك بتعديل كود الإبتداء
For most users, the instructions on [the main page](/guide/#🚀-installation) will work great. However, for some more specialized platforms, different instructions are needed.
For most users, the instructions on [the main page](../guide/#🚀-installation) will work great. لكن، من أجل الاستخدام المتقدم، هناك حاجة لتوجيهات أخرى.
There are so many platforms out there that they didn't fit into the main README.md file, so here are some installation instructions for other platforms from the community. Is yours not here? Please do add it here if you figure it out!
هناك العديد من الحالات التي لا تلبي المعلومات في ملف README.md احتياجها ولذلك هذه بعض إرشادات التثبيت الإضافية مقدمة من مجتمع starship. إذا كانت لديك ملاحظة وقمت بحلها ولم تجد هذا الحل لها ضمن الحلول التالية، الرجاء أضفها هنا!
## [Chocolatey](https://chocolatey.org)
### المتطلبات الأساسية
Head over to the [Chocolatey installation page](https://chocolatey.org/install) and follow the instructions to install Chocolatey.
إذهب إلى [ صفحة تثبيت Chocolatey ](https://chocolatey.org/install) و اتبع الإرشادات لتثبيت البرنامج.
### التثبيت
@ -39,7 +39,7 @@ curl -sS https://starship.rs/install.sh | sh -s -- --bin-dir /data/data/com.term
### التثبيت
On Funtoo Linux, starship can be installed from [core-kit](https://github.com/funtoo/core-kit/tree/1.4-release/app-shells/starship) via Portage:
يمكن تثبيت starship في Funtoo linux باستخدام [core-kit](https://github.com/funtoo/core-kit/tree/1.4-release/app-shells/starship) via Portage:
```sh
emerge app-shells/starship
@ -47,17 +47,17 @@ emerge app-shells/starship
## [Nix](https://nixos.wiki/wiki/Nix)
### Getting the Binary
### احصل على ملفات الباينري
#### Imperatively
#### بشكل مباشر
```sh
nix-env -iA nixos.starship
```
#### Declarative, single user, via [home-manager](https://github.com/nix-community/home-manager)
#### بشكل تصريحي، من أجل مستخدم واحد، عبر [home-manager](https://github.com/nix-community/home-manager)
Enable the `programs.starship` module in your `home.nix` file, and add your settings
مكن كود`programs.starship` في ملف`home.nix` و أضف إلى الإعدادات الإعدادات التالية
```nix
{
@ -78,15 +78,15 @@ Enable the `programs.starship` module in your `home.nix` file, and add your sett
}
```
then run
ثم بعد ذلك شغل
```sh
home-manager switch
```
#### Declarative, system-wide, with NixOS
#### بشكل تصريحي، لعدة مستخدمين
Add `pkgs.starship` to `environment.systemPackages` in your `configuration.nix`, then run
أضف `pkgs.starship` إلى `environment.systemPackages` في `configuration.nix`, بعد ذلك شغل
```sh
sudo nixos-rebuild switch

View File

@ -1,10 +1,10 @@
# Migrating to v0.45.0
# الإنتقال إلى النسخة v0.45.0
Starship v0.45.0 is a release containing breaking changes, in preparation for the big v1.0.0. We have made some major changes around how configuration is done on the prompt, to allow for a greater degree of customization.
النسخة 0.45.0 سوف تستمر في تقديم تحديثات جذرية حتى الوصول للنسخة المستقرة 1.0.0. لقد قمنا بتغييرات رئيسية لكيفية إعداد سطر الأوامر، وذلك يسمح بطيف أكبر من قابلية التخصيص.
This guide is intended to walk you through the breaking changes.
هذا الدليل هو جولة خلال التغييرات الرئيسية التي قمنا بها.
## `prompt_order` has been replaced by a root-level `format`
## `prompt_order`تم استبداله بتنسيق root-level ``
Previously to v0.45.0, `prompt_order` would accept an array of module names in the order which they should be rendered by Starship.

View File

@ -63,3 +63,15 @@ This preset is inspired by [M365Princess](https://github.com/JanDeDobbeleer/oh-m
This preset is inspired by [tokyo-night-vscode-theme](https://github.com/enkia/tokyo-night-vscode-theme).
[![Screenshot of Tokyo Night preset](/presets/img/tokyo-night.png "Click to view Tokyo Night preset")](./tokyo-night)
## [Gruvbox Rainbow](./gruvbox-rainbow.md)
This preset is heavily inspired by [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
[![Screenshot of Gruvbox Rainbow preset](/presets/img/gruvbox-rainbow.png "Click to view Gruvbox Rainbow preset")](./gruvbox-rainbow)
## [Jetpack](./jetpack.md)
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
[![Screenshot of Jetpack preset](/presets/img/jetpack.png "Click to view Jetpack preset")](./jetpack)

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#bracketed-segments)
[Return to Presets](./#bracketed-segments)
# Bracketed Segments Preset
@ -14,4 +14,4 @@ starship preset bracketed-segments -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/bracketed-segments.toml)
<<< @/.vuepress/public/presets/toml/bracketed-segments.toml
<<< @/public/presets/toml/bracketed-segments.toml

View File

@ -0,0 +1,21 @@
[Return to Presets](./#gruvbox-rainbow)
# Gruvbox Rainbow Preset
This preset is heavily inspired by [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
![Screenshot of Gruvbox Rainbow preset](/presets/img/gruvbox-rainbow.png)
### المتطلبات الأساسية
- تثبيت [Nerd Font](https://www.nerdfonts.com/) وتمكينه في موجه الأوامر الخاصة بك
### Configuration
```sh
starship preset gruvbox-rainbow -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/gruvbox-rainbow.toml)
<<< @/public/presets/toml/gruvbox-rainbow.toml

View File

@ -0,0 +1,24 @@
[Return to Presets](./#jetpack)
# Jetpack Preset
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
> Jetpack uses the terminal's color theme.
![Screenshot of Jetpack preset](/presets/img/jetpack.png)
### Prerequisite
- Requires a shell with [`right-prompt`](https://starship.rs/advanced-config/#enable-right-prompt) support.
- [Jetbrains Mono](https://www.jetbrains.com/lp/mono/) is recommended.
### Configuration
```sh
starship preset jetpack -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/jetpack.toml)
<<< @/public/presets/toml/jetpack.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#nerd-font-symbols)
[Return to Presets](./#nerd-font-symbols)
# Nerd Font Symbols Preset
@ -18,4 +18,4 @@ starship preset nerd-font-symbols -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/nerd-font-symbols.toml)
<<< @/.vuepress/public/presets/toml/nerd-font-symbols.toml
<<< @/public/presets/toml/nerd-font-symbols.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#no-empty-icons)
[Return to Presets](./#no-empty-icons)
# No Empty Icons Preset
@ -14,4 +14,4 @@ starship preset no-empty-icons -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/no-empty-icons.toml)
<<< @/.vuepress/public/presets/toml/no-empty-icons.toml
<<< @/public/presets/toml/no-empty-icons.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#no-nerd-fonts)
[Return to Presets](./#no-nerd-fonts)
# No Nerd Fonts Preset
@ -16,4 +16,4 @@ starship preset no-nerd-font -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/no-nerd-font.toml)
<<< @/.vuepress/public/presets/toml/no-nerd-font.toml
<<< @/public/presets/toml/no-nerd-font.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#no-runtime-versions)
[Return to Presets](./#no-runtime-versions)
# No Runtime Versions Preset
@ -14,4 +14,4 @@ starship preset no-runtime-versions -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/no-runtime-versions.toml)
<<< @/.vuepress/public/presets/toml/no-runtime-versions.toml
<<< @/public/presets/toml/no-runtime-versions.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#pastel-powerline)
[Return to Presets](./#pastel-powerline)
# Pastel Powerline Preset
@ -18,4 +18,4 @@ starship preset pastel-powerline -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/pastel-powerline.toml)
<<< @/.vuepress/public/presets/toml/pastel-powerline.toml
<<< @/public/presets/toml/pastel-powerline.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#plain-text-symbols)
[Return to Presets](./#plain-text-symbols)
## Plain Text Symbols Preset
@ -14,4 +14,4 @@ starship preset plain-text-symbols -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/plain-text-symbols.toml)
<<< @/.vuepress/public/presets/toml/plain-text-symbols.toml
<<< @/public/presets/toml/plain-text-symbols.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#pure)
[Return to Presets](./#pure)
# Pure Preset
@ -14,4 +14,4 @@ starship preset pure-preset -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/pure-preset.toml)
<<< @/.vuepress/public/presets/toml/pure-preset.toml
<<< @/public/presets/toml/pure-preset.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#pastel-powerline)
[Return to Presets](./#pastel-powerline)
# Tokyo Night Preset
@ -18,4 +18,4 @@ starship preset tokyo-night -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/tokyo-night.toml)
<<< @/.vuepress/public/presets/toml/tokyo-night.toml
<<< @/public/presets/toml/tokyo-night.toml

192
docs/bn-BD/README.md Normal file
View File

@ -0,0 +1,192 @@
---
layout: home
hero:
image: /logo.svg
text:
tagline: আপনার টার্মিনাল এর জন্য একটি সহজ, প্রচণ্ড দ্রুত এবং অশেষভাবে কাস্টমাইজ করার মতো সুবিধাসম্পন্ন একটি প্রম্প্ট!
actions:
-
theme: brand
text: Get Started →
link: ./guide/
features:
-
title: Compatibility First
details: Works on the most common shells on the most common operating systems. Use it everywhere!
-
title: Rust-Powered
details: Brings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible.
-
title: Customizable
details: Every little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.
footer: ISC Licensed | Copyright © 2019-present Starship Contributors
#Used for the description meta tag, for SEO
metaTitle: "Starship: Cross-Shell Prompt"
description: Starship is the minimal, blazing fast, and extremely customizable prompt for any shell! Shows the information you need, while staying sleek and minimal. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and PowerShell.
---
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
### পূর্বশর্ত
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal.
### Quick Install
1. Install the **starship** binary:
#### Install Latest Version
With Shell:
```sh
curl -sS https://starship.rs/install.sh | sh
```
To update the Starship itself, rerun the above script. It will replace the current version without touching Starship's configuration.
#### Install via Package Manager
With [Homebrew](https://brew.sh/):
```sh
brew install starship
```
With [Winget](https://github.com/microsoft/winget-cli):
```powershell
winget install starship
```
1. Add the init script to your shell's config file:
#### Bash
`~/.bashrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.bashrc
eval "$(starship init bash)"
```
#### Fish
`~/.config/fish/config.fish` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.config/fish/config.fish
starship init fish | source
```
#### Zsh
`~/.zshrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.zshrc
eval "$(starship init zsh)"
```
#### Powershell
Add the following to the end of `Microsoft.PowerShell_profile.ps1`. You can check the location of this file by querying the `$PROFILE` variable in PowerShell. Typically the path is `~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1` or `~/.config/powershell/Microsoft.PowerShell_profile.ps1` on -Nix.
```sh
Invoke-Expression (&starship init powershell)
```
#### Ion
`~/.config/ion/initrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.config/ion/initrc
eval $(starship init ion)
```
#### Elvish
::: warning
Only elvish v0.18 or higher is supported.
:::
`~/.elvish/rc.elv` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.elvish/rc.elv
eval (starship init elvish)
```
#### Tcsh
`~/.tcshrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.tcshrc
eval `starship init tcsh`
```
#### Nushell
::: warning
This will change in the future. Only Nushell v0.78+ is supported.
:::
আপনার Nushell env ফাইলের (Nushell এ `$nu.env-path` কমান্ডটি রান করে ফাইলটি খুঁজে বের করুন) শেষে নিম্নলিখিত লাইনগুলি যোগ করুন:
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
```
এরপর আপনার Nushell কনফিগের (Nushell এ `$nu.config-path` কমান্ডটি রান করে ফাইলটি খুঁজে বের করুন) শেষে নিম্নলিখিত লাইনটি যোগ করুন:
```sh
use ~/.cache/starship/init.nu
```
#### Xonsh
`~/.xonshrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
# ~/.xonshrc
execx($(starship init xonsh))
```
#### Cmd
আপনাকে Cmd এর সাথে [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) ব্যবহার করতে হবে । Add the following to a file `starship.lua` and place this file in Clink scripts directory:
```lua
-- starship.lua
load(io.popen('starship init cmd'):read("*a"))()
```

View File

@ -0,0 +1,306 @@
# Advanced Configuration
While Starship is a versatile shell, sometimes you need to do more than edit `starship.toml` to get it to do certain things. This page details some of the more advanced configuration techniques used in starship.
::: warning
The configurations in this section are subject to change in future releases of Starship.
:::
## TransientPrompt in PowerShell
It is possible to replace the previous-printed prompt with a custom string. This is useful in cases where all the prompt information is not always needed. To enable this, run `Enable-TransientPrompt` in the shell session. To make it permanent, put this statement in your `$PROFILE`. Transience can be disabled on-the-fly with `Disable-TransientPrompt`.
By default, the left side of input gets replaced with `>`. To customize this, define a new function called `Invoke-Starship-TransientFunction`. For example, to display Starship's `character` module here, you would do
```powershell
function Invoke-Starship-TransientFunction {
&starship module character
}
Invoke-Expression (&starship init powershell)
Enable-TransientPrompt
```
## TransientPrompt and TransientRightPrompt in Cmd
Clink allows you to replace the previous-printed prompt with custom strings. This is useful in cases where all the prompt information is not always needed. To enable this, run `clink set prompt.transient <value>` where \<value\> can be one of:
- `always`: always replace the previous prompt
- `same_dir`: replace the previous prompt only if the working directory is same
- `off`: do not replace the prompt (i.e. turn off transience)
You need to do this only once. Make the following changes to your `starship.lua` to customize what gets displayed on the left and on the right:
- By default, the left side of input gets replaced with `>`. To customize this, define a new function called `starship_transient_prompt_func`. This function receives the current prompt as a string that you can utilize. For example, to display Starship's `character` module here, you would do
```lua
function starship_transient_prompt_func(prompt)
return io.popen("starship module character"
.." --keymap="..rl.getvariable('keymap')
):read("*a")
end
load(io.popen('starship init cmd'):read("*a"))()
```
- By default, the right side of input is empty. To customize this, define a new function called `starship_transient_rprompt_func`. This function receives the current prompt as a string that you can utilize. For example, to display the time at which the last command was started here, you would do
```lua
function starship_transient_rprompt_func(prompt)
return io.popen("starship module time"):read("*a")
end
load(io.popen('starship init cmd'):read("*a"))()
```
## TransientPrompt and TransientRightPrompt in Fish
It is possible to replace the previous-printed prompt with a custom string. This is useful in cases where all the prompt information is not always needed. To enable this, run `enable_transience` in the shell session. To make it permanent, put this statement in your `~/.config/fish/config.fish`. Transience can be disabled on-the-fly with `disable_transience`.
Note that in case of Fish, the transient prompt is only printed if the commandline is non-empty, and syntactically correct.
- By default, the left side of input gets replaced with a bold-green ``. To customize this, define a new function called `starship_transient_prompt_func`. For example, to display Starship's `character` module here, you would do
```fish
function starship_transient_prompt_func
starship module character
end
starship init fish | source
enable_transience
```
- By default, the right side of input is empty. To customize this, define a new function called `starship_transient_rprompt_func`. For example, to display the time at which the last command was started here, you would do
```fish
function starship_transient_rprompt_func
starship module time
end
starship init fish | source
enable_transience
```
## TransientPrompt and TransientRightPrompt in Bash
The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework at v0.4 or higher allows you to replace the previous-printed prompt with custom strings. This is useful in cases where all the prompt information is not always needed. To enable this, put this in `~/.bashrc` `bleopt prompt_ps1_transient=<value>`:
The \<value\> here is a colon-separated list of `always`, `same-dir` and `trim`. When `prompt_ps1_final` is empty and this option has a non-empty value, the prompt specified by `PS1` is erased on leaving the current command line. If the value contains a field `trim`, only the last line of multiline `PS1` is preserved and the other lines are erased. Otherwise, the command line will be redrawn as if `PS1=` is specified. When a field `same-dir` is contained in the value and the current working directory is different from the final directory of the previous command line, this option `prompt_ps1_transient` is ignored.
Make the following changes to your `~/.bashrc` to customize what gets displayed on the left and on the right:
- To customize what the left side of input gets replaced with, configure the `prompt_ps1_final` Ble.sh option. For example, to display Starship's `character` module here, you would do
```bash
bleopt prompt_ps1_final="$(starship module character)"
```
- To customize what the right side of input gets replaced with, configure the `prompt_rps1_final` Ble.sh option. For example, to display the time at which the last command was started here, you would do
```bash
bleopt prompt_rps1_final="$(starship module time)"
```
## Custom pre-prompt and pre-execution Commands in Cmd
Clink provides extremely flexible APIs to run pre-prompt and pre-exec commands in Cmd shell. It is fairly simple to use with Starship. Make the following changes to your `starship.lua` file as per your requirements:
- To run a custom function right before the prompt is drawn, define a new function called `starship_preprompt_user_func`. This function receives the current prompt as a string that you can utilize. For example, to draw a rocket before the prompt, you would do
```lua
function starship_preprompt_user_func(prompt)
print("🚀")
end
load(io.popen('starship init cmd'):read("*a"))()
```
- To run a custom function right before a command is executed, define a new function called `starship_precmd_user_func`. This function receives the current commandline as a string that you can utilize. For example, to print the command that's about to be executed, you would do
```lua
function starship_precmd_user_func(line)
print("Executing: "..line)
end
load(io.popen('starship init cmd'):read("*a"))()
```
## Custom pre-prompt and pre-execution Commands in Bash
Bash does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `bash`. However, Starship does give you limited ability to insert your own functions into the prompt-rendering procedure:
- To run a custom function right before the prompt is drawn, define a new function and then assign its name to `starship_precmd_user_func`. For example, to draw a rocket before the prompt, you would do
```bash
function blastoff(){
echo "🚀"
}
starship_precmd_user_func="blastoff"
```
- To run a custom function right before a command runs, you can use the [`DEBUG` trap mechanism](https://jichu4n.com/posts/debug-trap-and-prompt_command-in-bash/). However, you **must** trap the DEBUG signal _before_ initializing Starship! Starship can preserve the value of the DEBUG trap, but if the trap is overwritten after starship starts up, some functionality will break.
```bash
function blastoff(){
echo "🚀"
}
trap blastoff DEBUG # Trap DEBUG *before* running starship
set -o functrace
eval $(starship init bash)
set +o functrace
```
## Custom pre-prompt and pre-execution Commands in PowerShell
PowerShell does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `powershell`. However, Starship does give you limited ability to insert your own functions into the prompt-rendering procedure:
Create a function named `Invoke-Starship-PreCommand`
```powershell
function Invoke-Starship-PreCommand {
$host.ui.Write("🚀")
}
```
## Change Window Title
Some shell prompts will automatically change the window title for you (e.g. to reflect your working directory). Fish even does it by default. Starship does not do this, but it's fairly straightforward to add this functionality to `bash`, `zsh`, `cmd` or `powershell`.
First, define a window title change function (identical in bash and zsh):
```bash
function set_win_title(){
echo -ne "\033]0; YOUR_WINDOW_TITLE_HERE \007"
}
```
You can use variables to customize this title (`$USER`, `$HOSTNAME`, and `$PWD` are popular choices).
In `bash`, set this function to be the precmd starship function:
```bash
starship_precmd_user_func="set_win_title"
```
In `zsh`, add this to the `precmd_functions` array:
```bash
precmd_functions+=(set_win_title)
```
If you like the result, add these lines to your shell configuration file (`~/.bashrc` or `~/.zshrc`) to make it permanent.
For example, if you want to display your current directory in your terminal tab title, add the following snippet to your `~/.bashrc` or `~/.zshrc`:
```bash
function set_win_title(){
echo -ne "\033]0; $(basename "$PWD") \007"
}
starship_precmd_user_func="set_win_title"
```
For Cmd, you can change the window title using the `starship_preprompt_user_func` function.
```lua
function starship_preprompt_user_func(prompt)
console.settitle(os.getenv('USERNAME').."@"..os.getenv('COMPUTERNAME')..": "..os.getcwd())
end
load(io.popen('starship init cmd'):read("*a"))()
```
You can also set a similar output with PowerShell by creating a function named `Invoke-Starship-PreCommand`.
```powershell
# edit $PROFILE
function Invoke-Starship-PreCommand {
$host.ui.RawUI.WindowTitle = "$env:USERNAME@$env:COMPUTERNAME`: $pwd `a"
}
Invoke-Expression (&starship init powershell)
```
## Enable Right Prompt
Some shells support a right prompt which renders on the same line as the input. Starship can set the content of the right prompt using the `right_format` option. Any module that can be used in `format` is also supported in `right_format`. The `$all` variable will only contain modules not explicitly used in either `format` or `right_format`.
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](../config/#fill).
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell, bash.
Note: The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework v0.4 or higher should be installed in order to use right prompt in bash.
### Example
```toml
# ~/.config/starship.toml
# A minimal left prompt
format = """$character"""
# move the rest of the prompt to the right
right_format = """$all"""
```
Produces a prompt like the following:
```
▶ starship on  rprompt [!] is 📦 v0.57.0 via 🦀 v1.54.0 took 17s
```
## Continuation Prompt
Some shells support a continuation prompt along with the normal prompt. This prompt is rendered instead of the normal prompt when the user has entered an incomplete statement (such as a single left parenthesis or quote).
Starship can set the continuation prompt using the `continuation_prompt` option. The default prompt is `'[∙](bright-black) '`.
Note: `continuation_prompt` should be set to a literal string without any variables.
Note: Continuation prompts are only available in the following shells:
- `bash`
- `zsh`
- `PowerShell`
### Example
```toml
# ~/.config/starship.toml
# A continuation prompt that displays two filled in arrows
continuation_prompt = '▶▶ '
```
## Style Strings
Style strings are a list of words, separated by whitespace. The words are not case sensitive (i.e. `bold` and `BoLd` are considered the same string). Each word can be one of the following:
- `bold`
- `italic`
- `underline`
- `dimmed`
- `inverted`
- `blink`
- `hidden`
- `strikethrough`
- `bg:<color>`
- `fg:<color>`
- `<color>`
- `none`
where `<color>` is a color specifier (discussed below). `fg:<color>` and `<color>` currently do the same thing, though this may change in the future. `inverted` swaps the background and foreground colors. The order of words in the string does not matter.
The `none` token overrides all other tokens in a string if it is not part of a `bg:` specifier, so that e.g. `fg:red none fg:blue` will still create a string with no styling. `bg:none` sets the background to the default color so `fg:red bg:none` is equivalent to `red` or `fg:red` and `bg:green fg:red bg:none` is also equivalent to `fg:red` or `red`. It may become an error to use `none` in conjunction with other tokens in the future.
A color specifier can be one of the following:
- One of the standard terminal colors: `black`, `red`, `green`, `blue`, `yellow`, `purple`, `cyan`, `white`. You can optionally prefix these with `bright-` to get the bright version (e.g. `bright-white`).
- A `#` followed by a six-digit hexadecimal number. This specifies an [RGB color hex code](https://www.w3schools.com/colors/colors_hexadecimal.asp).
- A number between 0-255. This specifies an [8-bit ANSI Color Code](https://i.stack.imgur.com/KTSQa.png).
If multiple colors are specified for foreground/background, the last one in the string will take priority.
Not every style string will be displayed correctly by every terminal. In particular, the following known quirks exist:
- Many terminals disable support for `blink` by default
- `hidden` is [not supported on iTerm](https://gitlab.com/gnachman/iterm2/-/issues/4564).
- `strikethrough` is not supported by the default macOS Terminal.app

4540
docs/bn-BD/config/README.md Normal file

File diff suppressed because it is too large Load Diff

130
docs/bn-BD/faq/README.md Normal file
View File

@ -0,0 +1,130 @@
# Frequently Asked Questions
## What is the configuration used in the demo GIF?
- **Terminal Emulator**: [iTerm2](https://iterm2.com/)
- **Theme**: Minimal
- **Color Scheme**: [Snazzy](https://github.com/sindresorhus/iterm2-snazzy)
- **Font**: [FiraCode Nerd Font](https://www.nerdfonts.com/font-downloads)
- **Shell**: [Fish Shell](https://fishshell.com/)
- **Configuration**: [matchai's Dotfiles](https://github.com/matchai/dotfiles/blob/b6c6a701d0af8d145a8370288c00bb9f0648b5c2/.config/fish/config.fish)
- **Prompt**: [Starship](https://starship.rs/)
## How do I get command completion as shown in the demo GIF?
Completion support, or autocomplete, is provided by your shell of choice. In the case of the demo, the demo was done with [Fish Shell](https://fishshell.com/), which provides completions by default. If you use Z Shell (zsh), I'd suggest taking a look at [zsh-autosuggestions](https://github.com/zsh-users/zsh-autosuggestions).
## Do top level `format` and `<module>.disabled` do the same thing?
Yes, they can both be used to disable modules in the prompt. If all you plan to do is disable modules, `<module>.disabled` is the preferred way to do so for these reasons:
- Disabling modules is more explicit than omitting them from the top level `format`
- Newly created modules will be added to the prompt as Starship is updated
## The docs say Starship is cross-shell. Why isn't my preferred shell supported?
The way Starship is built, it should be possible to add support for virtually any shell. The starship binary is stateless and shell agnostic, so as long as your shell supports prompt customization and shell expansion, Starship can be used.
Here's a small example getting Starship working with bash:
```sh
# Get the status code from the last command executed
STATUS=$?
# Get the number of jobs running.
NUM_JOBS=$(jobs -p | wc -l)
# Set the prompt to the output of `starship prompt`
PS1="$(starship prompt --status=$STATUS --jobs=$NUM_JOBS)"
```
The [Bash implementation](https://github.com/starship/starship/blob/master/src/init/starship.bash) built into Starship is slightly more complex to allow for advanced features like the [Command Duration module](https://starship.rs/config/#command-duration) and to ensure that Starship is compatible with pre-installed Bash configurations.
For a list of all flags accepted by `starship prompt`, use the following command:
```sh
starship prompt --help
```
The prompt will use as much context as is provided, but no flags are "required".
## How do I run Starship on Linux distributions with older versions of glibc?
If you get an error like "_version 'GLIBC_2.18' not found (required by starship)_" when using the prebuilt binary (for example, on CentOS 6 or 7), you can use a binary compiled with `musl` instead of `glibc`:
```sh
curl -sS https://starship.rs/install.sh | sh -s -- --platform unknown-linux-musl
```
## Why do I see `Executing command "..." timed out.` warnings?
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](../config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
## I see symbols I don't understand or expect, what do they mean?
If you see symbols that you don't recognise you can use `starship explain` to explain the currently showing modules.
## Starship is doing something unexpected, how can I debug it?
You can enable the debug logs by using the `STARSHIP_LOG` env var. These logs can be very verbose so it is often useful to use the `module` command if you are trying to debug a particular module, for example, if you are trying to debug the `rust` module you could run the following command to get the trace logs and output from the module.
```sh
env STARSHIP_LOG=trace starship module rust
```
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that is to blame.
```sh
env STARSHIP_LOG=trace starship timings
```
This will output the trace log and a breakdown of all modules that either took more than 1ms to execute or produced some output.
Finally if you find a bug you can use the `bug-report` command to create a GitHub issue.
```sh
starship bug-report
```
## Why don't I see a glyph symbol in my prompt?
The most common cause of this is system misconfiguration. Some Linux distros in particular do not come with font support out-of-the-box. You need to ensure that:
- Your locale is set to a UTF-8 value, like `de_DE.UTF-8` or `ja_JP.UTF-8`. If `LC_ALL` is not a UTF-8 value, [you will need to change it](https://www.tecmint.com/set-system-locales-in-linux/).
- You have an emoji font installed. Most systems come with an emoji font by default, but some (notably Arch Linux) do not. You can usually install one through your system's package manager--[noto emoji](https://www.google.com/get/noto/help/emoji/) is a popular choice.
- You are using a [Nerd Font](https://www.nerdfonts.com/).
To test your system, run the following commands in a terminal:
```sh
echo -e "\xf0\x9f\x90\x8d"
echo -e "\xee\x82\xa0"
```
The first line should produce a [snake emoji](https://emojipedia.org/snake/), while the second should produce a [powerline branch symbol (e0a0)](https://github.com/ryanoasis/powerline-extra-symbols#glyphs).
If either symbol fails to display correctly, your system is still misconfigured. Unfortunately, getting font configuration correct is sometimes difficult. Users on the Discord may be able to help. If both symbols display correctly, but you still don't see them in starship, [file a bug report!](https://github.com/starship/starship/issues/new/choose)
## How do I uninstall Starship?
Starship is just as easy to uninstall as it is to install in the first place.
1. Remove any lines in your shell config (e.g. `~/.bashrc`) used to initialize Starship.
1. Delete the Starship binary.
If Starship was installed using a package manager, please refer to their docs for uninstallation instructions.
If Starship was installed using the install script, the following command will delete the binary:
```sh
# Locate and delete the starship binary
sh -c 'rm "$(command -v 'starship')"'
```
## How do I install Starship without `sudo`?
The shell install script (`https://starship.rs/install.sh`) only attempts to use `sudo` if the target installation directory is not writable by the current user. The default installation diretory is the value of the `$BIN_DIR` environment variable or `/usr/local/bin` if `$BIN_DIR` is not set. If you instead set the installation directory to one that is writable by your user, you should be able to install starship without `sudo`. For example, `curl -sS https://starship.rs/install.sh | sh -s -- -b ~/.local/bin` uses the `-b` command line option of the install script to set the installation directory to `~/.local/bin`.
For a non-interactive installation of Starship, don't forget to add the `-y` option to skip the confirmation. Check the source of the installation script for a list of all supported installation options.
When using a package manager, see the documentation for your package manager about installing with or without `sudo`.

441
docs/bn-BD/guide/README.md Normal file
View File

@ -0,0 +1,441 @@
<p align="center">
<img
width="400"
src="https://raw.githubusercontent.com/starship/starship/master/media/logo.png"
alt="Starship Cross-shell prompt"
/>
</p>
<p align="center">
<a href="https://github.com/starship/starship/actions"
><img
src="https://img.shields.io/github/actions/workflow/status/starship/starship/workflow.yml?branch=master&label=workflow&style=flat-square"
alt="GitHub Actions workflow status"
/></a>
<a href="https://crates.io/crates/starship"
><img
src="https://img.shields.io/crates/v/starship?style=flat-square"
alt="Crates.io version"
/></a>
<a href="https://repology.org/project/starship/versions"
><img
src="https://img.shields.io/repology/repositories/starship?label=in%20repositories&style=flat-square"
alt="Packaging status" /></a
><br />
<a href="https://discord.gg/starship"
><img
src="https://img.shields.io/discord/567163873606500352?label=discord&logoColor=white&style=flat-square"
alt="Chat on Discord"
/></a>
<a href="https://twitter.com/StarshipPrompt"
><img
src="https://img.shields.io/badge/twitter-@StarshipPrompt-1DA1F3?style=flat-square"
alt="Follow @StarshipPrompt on Twitter"
/></a>
<a href="https://stand-with-ukraine.pp.ua"
><img
src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraineFlat.svg"
alt="Stand With Ukraine"
/></a>
</p>
<p align="center">
<a href="https://starship.rs">ওয়েবসাইট</a>
·
<a href="#🚀-installation">ইন্সটল</a>
·
<a href="https://starship.rs/config/"> কনফিগ</a>
</p>
<p align="center">
<a href="https://github.com/starship/starship/blob/master/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-us.png"
alt="English"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/de-DE/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-de.png"
alt="Deutsch"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/es-ES/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-es.png"
alt="Español"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/fr-FR/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-fr.png"
alt="Français"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/id-ID/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-id.png"
alt="Bahasa Indonesia"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/it-IT/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-it.png"
alt="Italiano"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/ja-JP/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-jp.png"
alt="日本語"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/pt-BR/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-br.png"
alt="Português do Brasil"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/ru-RU/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-ru.png"
alt="Русский"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/uk-UA/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-ua.png"
alt="Українська"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/vi-VN/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-vn.png"
alt="Tiếng Việt"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/zh-CN/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-cn.png"
alt="简体中文"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/zh-TW/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-tw.png"
alt="繁體中文"
/></a>
</p>
<h1></h1>
<img
src="https://raw.githubusercontent.com/starship/starship/master/media/demo.gif"
alt="Starship with iTerm2 and the Snazzy theme"
width="50%"
align="right"
/>
**আপনার টার্মিনাল এর জন্য একটি সহজ, প্রচণ্ড দ্রুত এবং অশেষভাবে কাস্টমাইজ করার মতো সুবিধাসম্পন্ন একটি প্রম্প্ট!**
- **দ্রুত:** দ্রুত - সত্যি সত্যিই _অনেক_ দ্রুত! 🚀
- **কাস্টমাইজ করার সুবিধা:** প্রম্পটের প্রতিটি দিক কনফিগ করুন মন মত ।
- **ব্যতিক্রমহীন:** যেকোনো অপারেটিং সিস্টেম ও শেলে কাজ করে ।
- **চালাক:** এক নজরে দরকারি সকল তথ্য দেখা যায় ।
- **ফিচার সমৃদ্ধ:** আপনার প্রিয় সকল টুল ব্যবহার করতে পারবেন ।
- **সহজ:** অনায়াসে ইন্সটল করুন মিনিটের মধ্যে ব্যবহার শুরু করে দিন ।
<p align="center">
<a href="https://starship.rs/config/"><strong>Starship এর ডকুমেন্টেশন ঘুরে দেখুন&nbsp;&nbsp;</strong></a>
</p>
<a name="🚀-installation"></a>
## 🚀 ইন্সটল
### পূর্বশর্ত
- আপনার থেকে টার্মিনালে একটি [Nerd Font](https://www.nerdfonts.com/) ব্যবহার করতে হবে (উদাহরণস্বরূপ আপনি [FiraCode Nerd Font](https://www.nerdfonts.com/font-downloads) টি ব্যবহার করতে পারেন) ।
### ধাপ ১. Starship ইন্সটল করুন
ইনস্টলেশন নির্দেশিকা দেখতে নিচের তালিকা থেকে আপনার অপারেটিং সিস্টেম বাছাই করুন:
<details>
<summary>অ্যান্ড্রয়েড</summary>
নিম্নলিখিত প্যাকেজ ম্যানেজার গুলোর মধ্যে থেকে যেকোনো একটি ব্যবহার করে Starship ইন্সটল করুন:
| রিপোজিটরি | নির্দেশাবলী |
| --------------------------------------------------------------------------------- | ---------------------- |
| [Termux](https://github.com/termux/termux-packages/tree/master/packages/starship) | `pkg install starship` |
</details>
<details>
<summary>বিএসডি</summary>
নিম্নলিখিত প্যাকেজ ম্যানেজার গুলোর মধ্যে থেকে যেকোনো একটি ব্যবহার করে Starship ইন্সটল করুন:
| ডিস্ট্রিবিউশন | রিপোজিটরি | নির্দেশাবলী |
| ------------- | -------------------------------------------------------- | --------------------------------- |
| **_যেকোনো_** | **[crates.io](https://crates.io/crates/starship)** | `cargo install starship --locked` |
| FreeBSD | [FreshPorts](https://www.freshports.org/shells/starship) | `pkg install starship` |
| NetBSD | [pkgsrc](https://pkgsrc.se/shells/starship) | `pkgin install starship` |
</details>
<details>
<summary>লিনাক্স </summary>
আপনার সিস্টেম এর জন্য লেটেস্ট সংস্করণটি ইন্সটল করুন:
```sh
curl -sS https://starship.rs/install.sh | sh
```
অথবা, নিম্নলিখিত প্যাকেজ ম্যানেজার গুলোর মধ্যে থেকে যেকোনো একটি ব্যবহার করে Starship ইন্সটল করুন:
| ডিস্ট্রিবিউশন | রিপোজিটরি | নির্দেশাবলী |
| ------------------ | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **_যেকোনো_** | **[crates.io](https://crates.io/crates/starship)** | `cargo install starship --locked` |
| _যেকোনো_ | [conda-forge](https://anaconda.org/conda-forge/starship) | `conda install -c conda-forge starship` |
| _যেকোনো_ | [Linuxbrew](https://formulae.brew.sh/formula/starship) | `brew install starship` |
| Alpine Linux 3.13+ | [Alpine Linux Packages](https://pkgs.alpinelinux.org/packages?name=starship) | `apk add starship` |
| Arch Linux | [Arch Linux Extra](https://archlinux.org/packages/extra/x86_64/starship) | `pacman -S starship` |
| CentOS 7+ | [Copr](https://copr.fedorainfracloud.org/coprs/atim/starship) | `dnf copr enable atim/starship` <br /> `dnf install starship` |
| Gentoo | [Gentoo Packages](https://packages.gentoo.org/packages/app-shells/starship) | `emerge app-shells/starship` |
| Manjaro | | `pacman -S starship` |
| NixOS | [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix) | `nix-env -iA nixpkgs.starship` |
| openSUSE | [OSS](https://software.opensuse.org/package/starship) | `zypper in starship` |
| Void Linux | [Void Linux Packages](https://github.com/void-linux/void-packages/tree/master/srcpkgs/starship) | `xbps-install -S starship` |
</details>
<details>
<summary>ম্যাক ওএস </summary>
আপনার সিস্টেম এর জন্য লেটেস্ট সংস্করণটি ইন্সটল করুন:
```sh
curl -sS https://starship.rs/install.sh | sh
```
অথবা, নিম্নলিখিত প্যাকেজ ম্যানেজার গুলোর মধ্যে থেকে যেকোনো একটি ব্যবহার করে Starship ইন্সটল করুন:
| রিপোজিটরি | নির্দেশাবলী |
| -------------------------------------------------------- | --------------------------------------- |
| **[crates.io](https://crates.io/crates/starship)** | `cargo install starship --locked` |
| [conda-forge](https://anaconda.org/conda-forge/starship) | `conda install -c conda-forge starship` |
| [Homebrew](https://formulae.brew.sh/formula/starship) | `brew install starship` |
| [MacPorts](https://ports.macports.org/port/starship) | `port install starship` |
</details>
<details>
<summary>উইন্ডোজ</summary>
আপনার সিস্টেম এর জন্য লেটেস্ট সংস্করণটি [রিলিজ সেকশনে](https://github.com/starship/starship/releases/latest) থাকা MSI-ইন্সটলার ব্যবহার করে ইন্সটল করুন ।
নিম্নলিখিত প্যাকেজ ম্যানেজার গুলোর মধ্যে থেকে যেকোনো একটি ব্যবহার করে Starship ইন্সটল করুন:
| রিপোজিটরি | নির্দেশাবলী |
| -------------------------------------------------------------------------------------------- | --------------------------------------- |
| **[crates.io](https://crates.io/crates/starship)** | `cargo install starship --locked` |
| [Chocolatey](https://community.chocolatey.org/packages/starship) | `choco install starship` |
| [conda-forge](https://anaconda.org/conda-forge/starship) | `conda install -c conda-forge starship` |
| [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/starship.json) | `scoop install starship` |
| [winget](https://github.com/microsoft/winget-pkgs/tree/master/manifests/s/Starship/Starship) | `winget install --id Starship.Starship` |
</details>
### ধাপ ২. Starship ব্যবহার করার জন্য আপনার শেল প্রস্তুত করুন
Starship চালু করতে আপনার শেল কে ঠিক মতো কনফিগার করুন । নিম্নলিখিত তালিকা থেকে আপনার শেল বাছাই করুন:
<details>
<summary>Bash</summary>
`~/.bashrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
eval "$(starship init bash)"
```
</details>
<details>
<summary>Cmd</summary>
আপনাকে Cmd এর সাথে [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) ব্যবহার করতে হবে । `%LocalAppData%\clink\starship.lua` ফাইল টি তৈরি করে তার মধ্যে নিম্নলিখিত লাইন টি যোগ করুন:
```lua
load(io.popen('starship init cmd'):read("*a"))()
```
</details>
<details>
<summary>Elvish</summary>
`~/.elvish/rc.elv` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
eval (starship init elvish)
```
বিঃদ্রঃ শুধুমাত্র Elvish v0.18+ কাজ করবে ।
</details>
<details>
<summary>Fish</summary>
`~/.config/fish/config.fish` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```fish
starship init fish | source
```
</details>
<details>
<summary>Ion</summary>
`~/.config/ion/initrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
eval $(starship init ion)
```
</details>
<details>
<summary>Nushell</summary>
আপনার Nushell env ফাইলের (Nushell এ `$nu.env-path` কমান্ডটি রান করে ফাইলটি খুঁজে বের করুন) শেষে নিম্নলিখিত লাইনগুলি যোগ করুন:
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
```
এরপর আপনার Nushell কনফিগের (Nushell এ `$nu.config-path` কমান্ডটি রান করে ফাইলটি খুঁজে বের করুন) শেষে নিম্নলিখিত লাইনটি যোগ করুন:
```sh
use ~/.cache/starship/init.nu
```
বিঃদ্রঃ শুধুমাত্র Nushell v0.78+ কাজ করবে ।
</details>
<details>
<summary>PowerShell</summary>
আপনার PowerShell কনফিগের (PowerShell এ `$PROFILE` কমান্ডটি রান করে ফাইলটি খুঁজে বের করুন) শেষে নিম্নলিখিত লাইনটি যোগ করুন:
```powershell
Invoke-Expression (&starship init powershell)
```
</details>
<details>
<summary>Tcsh</summary>
`~/.tcshrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
eval `starship init tcsh`
```
</details>
<details>
<summary>Xonsh</summary>
`~/.xonshrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```python
execx($(starship init xonsh))
```
</details>
<details>
<summary>Zsh</summary>
`~/.zshrc` এর শেষে নিম্নলিখিত লাইন টি যোগ করুন:
```sh
eval "$(starship init zsh)"
```
</details>
### ধাপ ৩. Starship কনফিগার করুন
নতুন একটি শেল চালু করুন, এরপর আপনি আপনার সুন্দর নতুন শেল প্রম্প্ট দেখতে পাবেন । পূর্ব নির্ধারিত কনফিগ যদি ভালো লেগে থাকে, তাহলে উপভোগ করুন!
আপনি যদি Starship কে নিজের মতো করে কাস্টমাইজ করতে চান:
- **[কনফিগারেশন](https://starship.rs/config/)** আপনার নিজের ইচ্ছা মতো নিজের প্রম্প্টকে পরিবর্তন করতে শিখুন
- **[অন্যদের তৈরি কনফিগ](https://starship.rs/presets/)** অন্যদের তৈরি করা সুন্দর কনফিগ দেখে অনুপ্রাণিত হন
## 🤝 নিজে অবদান রাখুন
আমরা সবসময় **সকল দক্ষতা স্তরের** অবদানকারীদের খুঁজছি! আপনি যদি সহজ ভাবে এই প্রোজেক্টে অবদান রাখতে চান তাইলে ["good first issue"](https://github.com/starship/starship/labels/🌱%20good%20first%20issue) গুলির সমাধান করার চেষ্টা করতে পারেন ।
আপনি যদি ইংরেজি ছাড়া অন্য কোন ভাষায় সাবলীল হন, তাহলে আপনি আমাদের ডকুমেন্টেশন অনুবাদে এবং আপ-টু-ডেট রাখতে সহায়তা করতে পারেন, আমরা খুবই কৃতজ্ঞ হব । যদি এক্ষেত্রে সাহায্য করতে চান, তাহলে [Starship Crowdin](https://translate.starship.rs/) পেইজ এ গিয়ে আপনার অনুবাদ গুলি যোগ করতে পারবেন ।
আপনি যদি Starship এ অবদান রাখতে আগ্রহী হন, অনুগ্রহ করে আমাদের অবদান রাখার [নির্দেশিকা ও নিয়মকানুন](https://github.com/starship/starship/blob/master/CONTRIBUTING.md) দেখে নিবেন । এছাড়াও, নির্দ্বিধায় আমাদের [Discord](https://discord.gg/8Jzqu3T) সার্ভারে এসে হাই বলে যান । 👋
## 💭 অনুপ্রেরণা
অনুগ্রহ করে Starship এর পূর্ববর্তী এইসব প্রোজেক্ট থেকে ঘুরে আসুন, যারা Starship তৈরিতে অনেক অনুপ্রেরণা দিয়েছে । 🙏
- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** A ZSH prompt for astronauts.
- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** Cross-shell robbyrussell theme written in JavaScript.
- **[reujab/silver](https://github.com/reujab/silver)** A cross-shell customizable powerline-like prompt with icons.
## ❤️ স্পনসর
[একজন স্পনসর হয়ে](https://github.com/sponsors/starship) এই প্রোজেক্টটিকে আর্থিক ভাবে সহায়তা করুন । আপনার নাম অথবা লোগো নিম্নে দেখা যাবে আপনার ওয়েবসাইট এর লিঙ্ক সহ ।
<p align="center">
<br>
<img width="100" src="https://raw.githubusercontent.com/starship/starship/master/media/icon.png" alt="Starship rocket icon">
</p>
## 📝 লাইসেন্স
Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).<br /> এই প্রোজেক্টটি [ISC](https://github.com/starship/starship/blob/master/LICENSE) লাইসেন্সের অধিনে রয়েছে ।

View File

@ -0,0 +1,93 @@
# Advanced Installation
To install starship, you need to do two things:
1. Get the **starship** binary onto your computer
1. Tell your shell to use the starship binary as its prompt by modifying its init scripts
For most users, the instructions on [the main page](../guide/#🚀-installation) will work great. However, for some more specialized platforms, different instructions are needed.
There are so many platforms out there that they didn't fit into the main README.md file, so here are some installation instructions for other platforms from the community. Is yours not here? Please do add it here if you figure it out!
## [Chocolatey](https://chocolatey.org)
### পূর্বশর্ত
Head over to the [Chocolatey installation page](https://chocolatey.org/install) and follow the instructions to install Chocolatey.
### ইন্সটল
```powershell
choco install starship
```
## [termux](https://termux.com)
### পূর্বশর্ত
```sh
pkg install getconf
```
### ইন্সটল
```sh
curl -sS https://starship.rs/install.sh | sh -s -- --bin-dir /data/data/com.termux/files/usr/bin
```
## [Funtoo Linux](https://www.funtoo.org/Welcome)
### ইন্সটল
On Funtoo Linux, starship can be installed from [core-kit](https://github.com/funtoo/core-kit/tree/1.4-release/app-shells/starship) via Portage:
```sh
emerge app-shells/starship
```
## [Nix](https://nixos.wiki/wiki/Nix)
### Getting the Binary
#### Imperatively
```sh
nix-env -iA nixos.starship
```
#### Declarative, single user, via [home-manager](https://github.com/nix-community/home-manager)
Enable the `programs.starship` module in your `home.nix` file, and add your settings
```nix
{
programs.starship = {
enable = true;
# Configuration written to ~/.config/starship.toml
settings = {
# add_newline = false;
# character = {
# success_symbol = "[➜](bold green)";
# error_symbol = "[➜](bold red)";
# };
# package.disabled = true;
};
};
}
```
then run
```sh
home-manager switch
```
#### Declarative, system-wide, with NixOS
Add `pkgs.starship` to `environment.systemPackages` in your `configuration.nix`, then run
```sh
sudo nixos-rebuild switch
```

View File

@ -0,0 +1,267 @@
# Migrating to v0.45.0
Starship v0.45.0 is a release containing breaking changes, in preparation for the big v1.0.0. We have made some major changes around how configuration is done on the prompt, to allow for a greater degree of customization.
This guide is intended to walk you through the breaking changes.
## `prompt_order` has been replaced by a root-level `format`
Previously to v0.45.0, `prompt_order` would accept an array of module names in the order which they should be rendered by Starship.
Starship v0.45.0 instead accepts a `format` value, allowing for customization of the prompt outside of the modules themselves.
**Example pre-v0.45.0 configuration**
```toml
prompt_order = [
"username",
"hostname",
"directory",
"git_branch",
"git_commit",
"git_state",
"git_status",
"cmd_duration",
"custom",
"line_break",
"jobs",
"battery",
"time",
"character",
]
```
**Example v0.45.0 configuration**
```toml
format = """\
$username\
$hostname\
$directory\
$git_branch\
$git_commit\
$git_state\
$git_status\
$cmd_duration\
$custom\
$line_break\
$jobs\
$battery\
$time\
$character\
"""
```
## Module `prefix` and `suffix` have been replaced by `format`
Previously to v0.45.0, some modules would accept `prefix` and/or `suffix` in order to stylize the way that modules are rendered.
Starship v0.45.0 instead accepts a `format` value, allowing for further customization of how modules are rendered. Instead of defining a prefix and suffix for the context-based variables, the variables can now be substituted from within a format string, which represents the module's output.
**Example pre-v0.45.0 configuration**
```toml
[cmd_duration]
prefix = "took "
```
**Example v0.45.0 configuration**
```toml
[cmd_duration]
# $duration The command duration (e.g. "15s")
# $style The default style of the module (e.g. "bold yellow")
format = "took [$duration]($style) "
```
### Affected Modules
#### Character
| Removed Property | Replacement |
| ----------------------- | ---------------- |
| `symbol` | `success_symbol` |
| `use_symbol_for_status` | `error_symbol` |
| `style_success` | `success_symbol` |
| `style_failure` | `error_symbol` |
**Changes to the Default Configuration**
```diff
[character]
-- symbol = ""
-- error_symbol = "✖"
-- use_symbol_for_status = true
-- vicmd_symbol = ""
++ success_symbol = "[](bold green)"
++ error_symbol = "[](bold red)"
++ vicmd_symbol = "[](bold green)"
```
Previously, the `use_symbol_for_status` property was used to configure the prompt to show the `error_symbol` when the last command resulted in a non-zero status code.
With the release of v0.45.0, we now always use `error_symbol` after non-zero status codes, unifying `use_symbol_for_status` and `error_symbol` properties.
To configure the prompt to use the older `use_symbol_for_status = true` configuration, add the following to your config file:
```toml
[character]
error_symbol = "[✖](bold red)"
```
_Note:_ The `character` element automatically adds a space after, so unlike the other `format` strings, we specifically do not add one in the above examples.
#### Command Duration
| Removed Property | Replacement |
| ---------------- | ----------- |
| `prefix` | `format` |
**Changes to the Default Configuration**
```diff
[cmd_duration]
-- prefix = "took "
++ format = "took [$duration]($style) "
```
#### Directory
| Removed Property | Replacement |
| ---------------- | ----------- |
| `prefix` | `format` |
**Changes to the Default Configuration**
```diff
[directory]
-- prefix = "in "
++ format = "[$path]($style)[$read_only]($read_only_style) "
```
#### Environment Variable
| Removed Property | Replacement |
| ---------------- | ----------- |
| `prefix` | `format` |
| `suffix` | `format` |
**Changes to the Default Configuration**
```diff
[env_var]
-- prefix = ""
-- suffix = ""
++ format = "with [$env_value]($style) "
```
#### Git Commit
| Removed Property | Replacement |
| ---------------- | ----------- |
| `prefix` | `format` |
| `suffix` | `format` |
**Changes to the Default Configuration**
```diff
[git_commit]
-- prefix = "("
-- suffix = ")"
++ format = '[\($hash\)]($style) '
```
#### Git Status
| Removed Property | Replacement |
| ----------------- | ----------- |
| `prefix` | `format` |
| `suffix` | `format` |
| `show_sync_count` | `format` |
**Changes to the Default Configuration**
```diff
[git_status]
-- prefix = "["
-- suffix = "]"
-- show_sync_count = false
++ format = '([\[$all_status$ahead_behind\]]($style) )'
```
Previously, the `show_sync_count` property was used to configure the prompt to show the number of commits the branch was ahead or behind the remote branch.
With the release of v0.45.0, this has been replaced with three separate properties, `ahead`, `behind`, and `diverged`.
To configure the prompt to use the older `show_sync_count = true` configuration, set the following to your config file:
```toml
[git_status]
ahead = "⇡${count}"
diverged = "⇕⇡${ahead_count}⇣${behind_count}"
behind = "⇣${count}"
```
#### Hostname
| Removed Property | Replacement |
| ---------------- | ----------- |
| `prefix` | `format` |
| `suffix` | `format` |
**Changes to the Default Configuration**
```diff
[hostname]
-- prefix = ""
-- suffix = ""
++ format = "[$hostname]($style) in "
```
#### Singularity
| Removed Property | Replacement |
| ---------------- | ----------- |
| `label` | `format` |
| `prefix` | `format` |
| `suffix` | `format` |
**Changes to the Default Configuration**
```diff
[singularity]
-- prefix = ""
-- suffix = ""
++ format = '[$symbol\[$env\]]($style) '
```
#### Time
| Removed Property | Replacement |
| ---------------- | ------------- |
| `format` | `time_format` |
**Changes to the Default Configuration**
```diff
[time]
-- format = "🕙[ %T ]"
++ time_format = "%T"
++ format = "at 🕙[$time]($style) "
```
#### Custom Commands
| Removed Property | Replacement |
| ---------------- | ----------- |
| `prefix` | `format` |
| `suffix` | `format` |
**Changes to the Default Configuration**
```diff
[custom.example]
-- prefix = ""
-- suffix = ""
++ format = "[$symbol$output]($style) "
```

View File

@ -0,0 +1,77 @@
# Presets
Here is a collection of community-submitted configuration presets for Starship. If you have a preset to share, please [submit a PR](https://github.com/starship/starship/edit/master/docs/presets/README.md) updating this file! 😊
To get details on how to use a preset, simply click on the image.
## [Nerd Font Symbols](./nerd-font.md)
This preset changes the symbols for each module to use Nerd Font symbols.
[![Screenshot of Nerd Font Symbols preset](/presets/img/nerd-font-symbols.png "Click to view Nerd Font Symbols preset")](./nerd-font)
## [No Nerd Fonts](./no-nerd-font.md)
This preset changes the symbols for several modules so that no Nerd Font symbols are used anywhere in the prompt.
::: tip
This preset will become the default preset [in a future release of starship](https://github.com/starship/starship/pull/3544).
:::
[Click to view No Nerd Font preset](./no-nerd-font)
## [Bracketed Segments](./bracketed-segments.md)
This preset changes the format of all the built-in modules to show their segment in brackets instead of using the default Starship wording ("via", "on", etc.).
[![Screenshot of Bracketed Segments preset](/presets/img/bracketed-segments.png "Click to view Bracketed Segments preset")](./bracketed-segments)
## [Plain Text Symbols](./plain-text.md)
This preset changes the symbols for each module into plain text. Great if you don't have access to Unicode.
[![Screenshot of Plain Text Symbols preset](/presets/img/plain-text-symbols.png "Click to view Plain Text Symbols preset")](./plain-text)
## [No Runtime Versions](./no-runtimes.md)
This preset hides the version of language runtimes. If you work in containers or virtualized environments, this one is for you!
[![Screenshot of Hide Runtime Versions preset](/presets/img/no-runtime-versions.png "Click to view No Runtime Versions preset")](./no-runtimes)
## [No Empty Icons](./no-empty-icons.md)
This preset does not show icons if the toolset is not found.
[![Screenshot of No Empty Icons preset](/presets/img/no-empty-icons.png "Click to view No Runtime Versions preset")](./no-empty-icons.md)
## [Pure Prompt](./pure-preset.md)
This preset emulates the look and behavior of [Pure](https://github.com/sindresorhus/pure).
[![Screenshot of Pure preset](/presets/img/pure-preset.png "Click to view Pure Prompt preset")](./pure-preset)
## [Pastel Powerline](./pastel-powerline.md)
This preset is inspired by [M365Princess](https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/M365Princess.omp.json). It also shows how path substitution works in starship.
[![Screenshot of Pastel Powerline preset](/presets/img/pastel-powerline.png "Click to view Pure Prompt preset")](./pastel-powerline)
## [Tokyo Night](./tokyo-night.md)
This preset is inspired by [tokyo-night-vscode-theme](https://github.com/enkia/tokyo-night-vscode-theme).
[![Screenshot of Tokyo Night preset](/presets/img/tokyo-night.png "Click to view Tokyo Night preset")](./tokyo-night)
## [Gruvbox Rainbow](./gruvbox-rainbow.md)
This preset is heavily inspired by [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
[![Screenshot of Gruvbox Rainbow preset](/presets/img/gruvbox-rainbow.png "Click to view Gruvbox Rainbow preset")](./gruvbox-rainbow)
## [Jetpack](./jetpack.md)
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
[![Screenshot of Jetpack preset](/presets/img/jetpack.png "Click to view Jetpack preset")](./jetpack)

View File

@ -0,0 +1,17 @@
[Return to Presets](./#bracketed-segments)
# Bracketed Segments Preset
This preset changes the format of all the built-in modules to show their segment in brackets instead of using the default Starship wording ("via", "on", etc.).
![Screenshot of Bracketed Segments preset](/presets/img/bracketed-segments.png)
### Configuration
```sh
starship preset bracketed-segments -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/bracketed-segments.toml)
<<< @/public/presets/toml/bracketed-segments.toml

View File

@ -0,0 +1,21 @@
[Return to Presets](./#gruvbox-rainbow)
# Gruvbox Rainbow Preset
This preset is heavily inspired by [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
![Screenshot of Gruvbox Rainbow preset](/presets/img/gruvbox-rainbow.png)
### পূর্বশর্ত
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal
### Configuration
```sh
starship preset gruvbox-rainbow -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/gruvbox-rainbow.toml)
<<< @/public/presets/toml/gruvbox-rainbow.toml

View File

@ -0,0 +1,24 @@
[Return to Presets](./#jetpack)
# Jetpack Preset
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
> Jetpack uses the terminal's color theme.
![Screenshot of Jetpack preset](/presets/img/jetpack.png)
### Prerequisite
- Requires a shell with [`right-prompt`](https://starship.rs/advanced-config/#enable-right-prompt) support.
- [Jetbrains Mono](https://www.jetbrains.com/lp/mono/) is recommended.
### Configuration
```sh
starship preset jetpack -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/jetpack.toml)
<<< @/public/presets/toml/jetpack.toml

View File

@ -0,0 +1,21 @@
[Return to Presets](./#nerd-font-symbols)
# Nerd Font Symbols Preset
This preset changes the symbols for each module to use Nerd Font symbols.
![Screenshot of Nerd Font Symbols preset](/presets/img/nerd-font-symbols.png)
### পূর্বশর্ত
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal (the example uses Fira Code Nerd Font)
### Configuration
```sh
starship preset nerd-font-symbols -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/nerd-font-symbols.toml)
<<< @/public/presets/toml/nerd-font-symbols.toml

View File

@ -0,0 +1,17 @@
[Return to Presets](./#no-empty-icons)
# No Empty Icons Preset
If toolset files are identified the toolset icon is displayed. If the toolset is not found to determine its version number, it is not displayed. This preset changes the behavior to display the icon only if the toolset information can be determined.
![Screenshot of No Empty Icons preset](/presets/img/no-empty-icons.png)
### Configuration
```sh
starship preset no-empty-icons -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/no-empty-icons.toml)
<<< @/public/presets/toml/no-empty-icons.toml

View File

@ -0,0 +1,19 @@
[Return to Presets](./#no-nerd-fonts)
# No Nerd Fonts Preset
This preset restricts the use of symbols to those from emoji and powerline sets.
This means that even without a Nerd Font installed, you should be able to view all module symbols.
This preset will become the default preset in a future release of starship.
### Configuration
```sh
starship preset no-nerd-font -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/no-nerd-font.toml)
<<< @/public/presets/toml/no-nerd-font.toml

View File

@ -0,0 +1,17 @@
[Return to Presets](./#no-runtime-versions)
# No Runtime Versions Preset
This preset hides the version of language runtimes. If you work in containers or virtualized environments, this one is for you!
![Screenshot of Hide Runtime Versions preset](/presets/img/no-runtime-versions.png)
### Configuration
```sh
starship preset no-runtime-versions -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/no-runtime-versions.toml)
<<< @/public/presets/toml/no-runtime-versions.toml

View File

@ -0,0 +1,21 @@
[Return to Presets](./#pastel-powerline)
# Pastel Powerline Preset
This preset is inspired by [M365Princess](https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/M365Princess.omp.json). It also shows how path substitution works in starship.
![Screenshot of Pastel Powerline preset](/presets/img/pastel-powerline.png)
### পূর্বশর্ত
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal (the example uses Caskaydia Cove Nerd Font)
### Configuration
```sh
starship preset pastel-powerline -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/pastel-powerline.toml)
<<< @/public/presets/toml/pastel-powerline.toml

View File

@ -0,0 +1,17 @@
[Return to Presets](./#plain-text-symbols)
## Plain Text Symbols Preset
This preset changes the symbols for each module into plain text. Great if you don't have access to Unicode.
![Screenshot of Plain Text Symbols preset](/presets/img/plain-text-symbols.png)
### Configuration
```sh
starship preset plain-text-symbols -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/plain-text-symbols.toml)
<<< @/public/presets/toml/plain-text-symbols.toml

View File

@ -0,0 +1,17 @@
[Return to Presets](./#pure)
# Pure Preset
This preset emulates the look and behavior of [Pure](https://github.com/sindresorhus/pure).
![Screenshot of Pure preset](/presets/img/pure-preset.png)
### Configuration
```sh
starship preset pure-preset -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/pure-preset.toml)
<<< @/public/presets/toml/pure-preset.toml

View File

@ -0,0 +1,21 @@
[Return to Presets](./#pastel-powerline)
# Tokyo Night Preset
This preset is inspired by [tokyo-night-vscode-theme](https://github.com/enkia/tokyo-night-vscode-theme).
![Screenshot of Tokyo Night preset](/presets/img/tokyo-night.png)
### পূর্বশর্ত
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal
### Configuration
```sh
starship preset tokyo-night -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/tokyo-night.toml)
<<< @/public/presets/toml/tokyo-night.toml

View File

@ -1,10 +1,14 @@
---
home: true
heroImage: /logo.svg
heroText:
tagline: promptـێکی سوکەڵە، خێرا، و بێسنور دڵخوازکراو بۆ هەر شێڵێک!
actionText: دەستپێبکە ←
actionLink: ./guide/
layout: home
hero:
image: /logo.svg
text:
tagline: promptـێکی سوکەڵە، خێرا، و بێسنور دڵخوازکراو بۆ هەر شێڵێک!
actions:
-
theme: brand
text: دەستپێبکە ←
link: ./guide/
features:
-
title: سەرەتا گونجان
@ -21,12 +25,10 @@ metaTitle: "Starship: یەکێ لە Promptـە شێڵ نەناسەکان"
description: 'Starship: یەکێ لە promptـە سوکەڵە، خێرا، و بێسنور دڵخوازکراوەکان بۆ هەر شێڵێک! ئەو زانیارییانە پشان دەدات کە پێویستە، لەوکاتەیا بە ئارامی و سوکەڵەیی ئەمێنێتەوە. Quick installation available for Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, and PowerShell.'
---
<div class="center">
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
</div>
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
### پێشمەرجەکان
@ -55,6 +57,7 @@ description: 'Starship: یەکێ لە promptـە سوکەڵە، خێرا، و ب
```sh
brew install starship
```
With [Winget](https://github.com/microsoft/winget-cli):
```powershell
@ -154,6 +157,7 @@ description: 'Starship: یەکێ لە promptـە سوکەڵە، خێرا، و ب
:::
Add the following to the end of your Nushell env file (find it by running `$nu.env-path` in Nushell):
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu

View File

@ -80,6 +80,26 @@ starship init fish | source
enable_transience
```
## TransientPrompt and TransientRightPrompt in Bash
The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework at v0.4 or higher allows you to replace the previous-printed prompt with custom strings. This is useful in cases where all the prompt information is not always needed. To enable this, put this in `~/.bashrc` `bleopt prompt_ps1_transient=<value>`:
The \<value\> here is a colon-separated list of `always`, `same-dir` and `trim`. When `prompt_ps1_final` is empty and this option has a non-empty value, the prompt specified by `PS1` is erased on leaving the current command line. If the value contains a field `trim`, only the last line of multiline `PS1` is preserved and the other lines are erased. Otherwise, the command line will be redrawn as if `PS1=` is specified. When a field `same-dir` is contained in the value and the current working directory is different from the final directory of the previous command line, this option `prompt_ps1_transient` is ignored.
Make the following changes to your `~/.bashrc` to customize what gets displayed on the left and on the right:
- To customize what the left side of input gets replaced with, configure the `prompt_ps1_final` Ble.sh option. For example, to display Starship's `character` module here, you would do
```bash
bleopt prompt_ps1_final="$(starship module character)"
```
- To customize what the right side of input gets replaced with, configure the `prompt_rps1_final` Ble.sh option. For example, to display the time at which the last command was started here, you would do
```bash
bleopt prompt_rps1_final="$(starship module time)"
```
## Custom pre-prompt and pre-execution Commands in Cmd
Clink provides extremely flexible APIs to run pre-prompt and pre-exec commands in Cmd shell. It is fairly simple to use with Starship. Make the following changes to your `starship.lua` file as per your requirements:
@ -203,9 +223,11 @@ Invoke-Expression (&starship init powershell)
Some shells support a right prompt which renders on the same line as the input. Starship can set the content of the right prompt using the `right_format` option. Any module that can be used in `format` is also supported in `right_format`. The `$all` variable will only contain modules not explicitly used in either `format` or `right_format`.
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](/config/#fill).
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](../config/#fill).
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell.
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell, bash.
Note: The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework v0.4 or higher should be installed in order to use right prompt in bash.
### نموونە

View File

@ -158,7 +158,7 @@ In the second part, which is enclosed in a `()`, is a [style string](#style-stri
#### Style Strings
Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/).
Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](../advanced-config/).
- `'fg:green bg:blue'` sets green text on a blue background
- `'bg:blue fg:bright-green'` sets bright green text on a blue background
@ -197,15 +197,22 @@ This is the list of prompt-wide configuration options.
### Options
| Option | Default | Description |
| ----------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `right_format` | `''` | See [Enable Right Prompt](/advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). |
| `add_newline` | `true` | Inserts blank line between shell prompts. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](/advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| Option | Default | Description |
| ----------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `right_format` | `''` | See [Enable Right Prompt](../advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). |
| `add_newline` | `true` | Inserts blank line between shell prompts. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](../advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| `follow_symlinks` | `true` | Follows symlinks to check if they're directories; used in modules such as git. |
::: tip
If you have symlinks to networked filesystems, consider setting `follow_symlinks` to `false`.
:::
### نموونە
@ -253,6 +260,7 @@ $kubernetes\
$directory\
$vcsh\
$fossil_branch\
$fossil_metrics\
$git_branch\
$git_commit\
$git_state\
@ -292,6 +300,7 @@ $php\
$pulumi\
$purescript\
$python\
$quarto\
$raku\
$rlang\
$red\
@ -301,6 +310,7 @@ $scala\
$solidity\
$swift\
$terraform\
$typst\
$vlang\
$vagrant\
$zig\
@ -314,6 +324,7 @@ $aws\
$gcloud\
$openstack\
$azure\
$direnv\
$env_var\
$crystal\
$custom\
@ -351,6 +362,8 @@ When using [AWSume](https://awsu.me) the profile is read from the `AWSUME_PROFIL
When using [saml2aws](https://github.com/Versent/saml2aws) the expiration information obtained from `~/.aws/credentials` falls back to the `x_security_token_expires` key.
When using [aws-sso-cli](https://github.com/synfinatic/aws-sso-cli) the profile is read from the `AWS_SSO_PROFILE` env var.
### Options
| Option | Default | Description |
@ -360,7 +373,7 @@ When using [saml2aws](https://github.com/Versent/saml2aws) the expiration inform
| `region_aliases` | `{}` | Table of region aliases to display in addition to the AWS name. |
| `profile_aliases` | `{}` | Table of profile aliases to display in addition to the AWS name. |
| `style` | `'bold yellow'` | The style for the module. |
| `expiration_symbol` | `X` | The symbol displayed when the temporary credentials have expired. |
| `expiration_symbol` | `'X'` | The symbol displayed when the temporary credentials have expired. |
| `disabled` | `false` | Disables the `AWS` module. |
| `force_display` | `false` | If `true` displays info even if `credentials`, `credential_process` or `sso_start_url` have not been setup. |
@ -531,7 +544,7 @@ style = 'bold red'
[[battery.display]] # 'bold yellow' style and 💦 symbol when capacity is between 10% and 30%
threshold = 30
style = 'bold yellow'
discharging_symbol = '💦'
discharging_symbol = '💦 '
# when capacity is over 30%, the battery indicator will not be displayed
```
@ -605,7 +618,9 @@ The `bun` module shows the currently installed version of the [bun](https://bun.
*: This variable can only be used as a part of a style string
### نموونە
### Examples
#### Customize the format
```toml
# ~/.config/starship.toml
@ -614,23 +629,32 @@ The `bun` module shows the currently installed version of the [bun](https://bun.
format = 'via [🍔 $version](bold green) '
```
#### Replace Node.js
You can override the `detect_files` property of [the nodejs module](#nodejs) in your config so as to only show the bun runtime:
```
[nodejs]
detect_files = ['package.json', '.node-version', '!bunfig.toml', '!bun.lockb']
```
## C
The `c` module shows some information about your C compiler. By default the module will be shown if the current directory contains a `.c` or `.h` file.
### Options
| Option | Default | Description |
| ------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version(-$name) )]($style)'` | The format string for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'C '` | The symbol used before displaying the compiler details |
| `detect_extensions` | `['c', 'h']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `commands` | [ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ] | How to detect what the compiler is |
| `style` | `'bold 149'` | The style for the module. |
| `disabled` | `false` | Disables the `c` module. |
| Option | Default | Description |
| ------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version(-$name) )]($style)'` | The format string for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'C '` | The symbol used before displaying the compiler details |
| `detect_extensions` | `['c', 'h']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `commands` | `[ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ]` | How to detect what the compiler is |
| `style` | `'bold 149'` | The style for the module. |
| `disabled` | `false` | Disables the `c` module. |
### Variables
@ -671,7 +695,7 @@ The character will tell you whether the last command was successful or not. It c
By default it only changes color. If you also want to change its shape take a look at [this example](#with-custom-error-shape).
::: warning
::: ئاگادارکردنەوە
`vimcmd_symbol` is only supported in cmd, fish and zsh. `vimcmd_replace_one_symbol`, `vimcmd_replace_symbol`, and `vimcmd_visual_symbol` are only supported in fish due to [upstream issues with mode detection in zsh](https://github.com/starship/starship/issues/625#issuecomment-732454148).
@ -1137,6 +1161,48 @@ truncation_length = 8
truncation_symbol = '…/'
```
## Direnv
The `direnv` module shows the status of the current rc file if one is present. The status includes the path to the rc file, whether it is loaded, and whether it has been allowed by `direnv`.
### Options
| Option | Default | Description |
| ------------------- | -------------------------------------- | ----------------------------------------------------- |
| `format` | `'[$symbol$loaded/$allowed]($style) '` | The format for the module. |
| `symbol` | `'direnv '` | The symbol used before displaying the direnv context. |
| `style` | `'bold orange'` | The style for the module. |
| `disabled` | `true` | Disables the `direnv` module. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `['.envrc']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `allowed_msg` | `'allowed'` | The message displayed when an rc file is allowed. |
| `not_allowed_msg` | `'not allowed'` | The message displayed when an rc file is not_allowed. |
| `denied_msg` | `'denied'` | The message displayed when an rc file is denied. |
| `loaded_msg` | `'loaded'` | The message displayed when an rc file is loaded. |
| `unloaded_msg` | `'not loaded'` | The message displayed when an rc file is not loaded. |
### Variables
| گۆڕاو | نموونە | Description |
| --------- | ------------------- | --------------------------------------- |
| loaded | `loaded` | Whether the current rc file is loaded. |
| allowed | `denied` | Whether the current rc file is allowed. |
| rc_path | `/home/test/.envrc` | The current rc file path. |
| symbol | | Mirrors the value of option `symbol`. |
| style\* | `red bold` | Mirrors the value of option `style`. |
*: This variable can only be used as a part of a style string
### نموونە
```toml
# ~/.config/starship.toml
[direnv]
disabled = false
```
## Docker Context
The `docker_context` module shows the currently active [Docker context](https://docs.docker.com/engine/context/working-with-contexts/) if it's not set to `default` or if the `DOCKER_MACHINE_NAME`, `DOCKER_HOST` or `DOCKER_CONTEXT` environment variables are set (as they are meant to override the context in use).
@ -1435,7 +1501,7 @@ The `fennel` module shows the currently installed version of [Fennel](https://fe
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🧅 '` | The symbol used before displaying the version of fennel. |
| `style` | `'bold green'` | The style for the module. |
| `detect_extensions` | `[fnl]` | Which extensions should trigger this module. |
| `detect_extensions` | `['fnl']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `disabled` | `false` | Disables the `fennel` module. |
@ -1524,11 +1590,46 @@ truncation_length = 4
truncation_symbol = ''
```
## Fossil Metrics
The `fossil_metrics` module will show the number of added and deleted lines in the check-out in your current directory. At least v2.14 (2021-01-20) of Fossil is required.
### Options
| Option | Default | Description |
| -------------------- | ------------------------------------------------------------ | ------------------------------------- |
| `format` | `'([+$added]($added_style) )([-$deleted]($deleted_style) )'` | The format for the module. |
| `added_style` | `'bold green'` | The style for the added count. |
| `deleted_style` | `'bold red'` | The style for the deleted count. |
| `only_nonzero_diffs` | `true` | Render status only for changed items. |
| `disabled` | `true` | Disables the `fossil_metrics` module. |
### Variables
| گۆڕاو | نموونە | Description |
| ----------------- | ------ | ------------------------------------------- |
| added | `1` | The current number of added lines |
| deleted | `2` | The current number of deleted lines |
| added_style\* | | Mirrors the value of option `added_style` |
| deleted_style\* | | Mirrors the value of option `deleted_style` |
*: This variable can only be used as a part of a style string
### نموونە
```toml
# ~/.config/starship.toml
[fossil_metrics]
added_style = 'bold blue'
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '
```
## Google Cloud (`gcloud`)
The `gcloud` module shows the current configuration for [`gcloud`](https://cloud.google.com/sdk/gcloud) CLI. This is based on the `~/.config/gcloud/active_config` file and the `~/.config/gcloud/configurations/config_{CONFIG NAME}` file and the `CLOUDSDK_CONFIG` env var.
When the module is enabled it will always be active, unless `detect_env_vars` has been set in which case the module will only be active be active when one of the environment variables has been set.
When the module is enabled it will always be active, unless `detect_env_vars` has been set in which case the module will only be active when one of the environment variables has been set.
### Options
@ -1799,7 +1900,7 @@ The following variables can be used in `format`:
| گۆڕاو | Description |
| -------------- | ------------------------------------------------------------------------------------------------------------- |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$staged$untracked` |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$typechanged$staged$untracked` |
| `ahead_behind` | Displays `diverged`, `ahead`, `behind` or `up_to_date` format string based on the current status of the repo. |
| `conflicted` | Displays `conflicted` when this branch has merge conflicts. |
| `untracked` | Displays `untracked` when there are untracked files in the working directory. |
@ -1931,8 +2032,8 @@ The `guix_shell` module shows the [guix-shell](https://guix.gnu.org/manual/devel
| Option | Default | Description |
| ---------- | -------------------------- | ------------------------------------------------------ |
| `format` | `'via [$symbol]($style) '` | The format for the module. |
| `symbol` | `"🐃 "` | A format string representing the symbol of guix-shell. |
| `style` | `"yellow bold"` | The style for the module. |
| `symbol` | `'🐃 '` | A format string representing the symbol of guix-shell. |
| `style` | `'yellow bold'` | The style for the module. |
| `disabled` | `false` | Disables the `guix_shell` module. |
### Variables
@ -1969,13 +2070,13 @@ The `gradle` module is only able to read your Gradle Wrapper version from your c
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | The format for the module. |
| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🅶 "` | A format string representing the symbol of Gradle. |
| `detect_extensions` | `["gradle", "gradle.kts"]` | Which extensions should trigger this module. |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🅶 '` | A format string representing the symbol of Gradle. |
| `detect_extensions` | `['gradle', 'gradle.kts']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `["gradle"]` | Which folders should trigger this module. |
| `style` | `"bold bright-cyan"` | The style for the module. |
| `detect_folders` | `['gradle']` | Which folders should trigger this module. |
| `style` | `'bold bright-cyan'` | The style for the module. |
| `disabled` | `false` | Disables the `gradle` module. |
| `recursive` | `false` | Enables recursive finding for the `gradle` directory. |
@ -2034,13 +2135,13 @@ The `haxe` module shows the currently installed version of [Haxe](https://haxe.o
| Option | Default | Description |
| ------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | The format for the module. |
| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["hx", "hxml"]` | Which extensions should trigger this module. |
| `detect_files` | `["project.xml", "Project.xml", "application.xml", "haxelib.json", "hxformat.json", ".haxerc"]` | Which filenames should trigger this module. |
| `detect_folders` | `[".haxelib", "haxe_libraries"]` | Which folders should trigger this modules. |
| `symbol` | `"⌘ "` | A format string representing the symbol of Helm. |
| `style` | `"bold fg:202"` | The style for the module. |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `['hx', 'hxml']` | Which extensions should trigger this module. |
| `detect_files` | `['project.xml', 'Project.xml', 'application.xml', 'haxelib.json', 'hxformat.json', '.haxerc']` | Which filenames should trigger this module. |
| `detect_folders` | `['.haxelib', 'haxe_libraries']` | Which folders should trigger this modules. |
| `symbol` | `'⌘ '` | A format string representing the symbol of Helm. |
| `style` | `'bold fg:202'` | The style for the module. |
| `disabled` | `false` | Disables the `haxe` module. |
### Variables
@ -2107,14 +2208,15 @@ The `hostname` module shows the system hostname.
### Options
| Option | Default | Description |
| ------------ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `ssh_only` | `true` | Only show hostname when connected to an SSH session. |
| `ssh_symbol` | `'🌐 '` | A format string representing the symbol when connected to SSH session. |
| `trim_at` | `'.'` | String that the hostname is cut off at, after the first match. `'.'` will stop after the first dot. `''` will disable any truncation |
| `format` | `'[$ssh_symbol$hostname]($style) in '` | The format for the module. |
| `style` | `'bold dimmed green'` | The style for the module. |
| `disabled` | `false` | Disables the `hostname` module. |
| Option | Default | Description |
| ----------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `ssh_only` | `true` | Only show hostname when connected to an SSH session. |
| `ssh_symbol` | `'🌐 '` | A format string representing the symbol when connected to SSH session. |
| `trim_at` | `'.'` | String that the hostname is cut off at, after the first match. `'.'` will stop after the first dot. `''` will disable any truncation. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$ssh_symbol$hostname]($style) in '` | The format for the module. |
| `style` | `'bold dimmed green'` | The style for the module. |
| `disabled` | `false` | Disables the `hostname` module. |
### Variables
@ -2126,7 +2228,9 @@ The `hostname` module shows the system hostname.
*: This variable can only be used as a part of a style string
### نموونە
### Examples
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -2138,6 +2242,17 @@ trim_at = '.companyname.com'
disabled = false
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Java
The `java` module shows the currently installed version of [Java](https://www.oracle.com/java/). By default the module will be shown if any of the following conditions are met:
@ -2323,7 +2438,7 @@ kotlin_binary = 'kotlinc'
## Kubernetes
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly, the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
::: tip
@ -2335,18 +2450,40 @@ When the module is enabled it will always be active, unless any of `detect_exten
### Options
::: ئاگادارکردنەوە
The `context_aliases` and `user_aliases` options are deprecated. Use `contexts` and the corresponding `context_alias` and `user_alias` options instead.
:::
| Option | Default | Description |
| ------------------- | ---------------------------------------------------- | --------------------------------------------------------------------- |
| `symbol` | `'☸ '` | A format string representing the symbol displayed before the Cluster. |
| `format` | `'[$symbol$context( \($namespace\))]($style) in '` | The format for the module. |
| `style` | `'cyan bold'` | The style for the module. |
| `context_aliases` | `{}` | Table of context aliases to display. |
| `user_aliases` | `{}` | Table of user aliases to display. |
| `context_aliases`* | `{}` | Table of context aliases to display. |
| `user_aliases`* | `{}` | Table of user aliases to display. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `contexts` | `[]` | Customized styles and symbols for specific contexts. |
| `disabled` | `true` | Disables the `kubernetes` module. |
*: This option is deprecated, please add `contexts` with the corresponding `context_alias` and `user_alias` options instead.
To customize the style of the module for specific environments, use the following configuration as part of the `contexts` list:
| گۆڕاو | Description |
| ----------------- | ---------------------------------------------------------------------------------------- |
| `context_pattern` | **Required** Regular expression to match current Kubernetes context name. |
| `user_pattern` | Regular expression to match current Kubernetes user name. |
| `context_alias` | Context alias to display instead of the full context name. |
| `user_alias` | User alias to display instead of the full user name. |
| `style` | The style for the module when using this context. If not set, will use module's style. |
| `symbol` | The symbol for the module when using this context. If not set, will use module's symbol. |
Note that all regular expression are anchored with `^<pattern>$` and so must match the whole string. The `*_pattern` regular expressions may contain capture groups, which can be referenced in the corresponding alias via `$name` and `$N` (see example below and the [rust Regex::replace() documentation](https://docs.rs/regex/latest/regex/struct.Regex.html#method.replace)).
### Variables
| گۆڕاو | نموونە | Description |
@ -2368,13 +2505,9 @@ When the module is enabled it will always be active, unless any of `detect_exten
[kubernetes]
format = 'on [⛵ ($user on )($cluster in )$context \($namespace\)](dimmed green) '
disabled = false
[kubernetes.context_aliases]
'dev.local.cluster.k8s' = 'dev'
'.*/openshift-cluster/.*' = 'openshift'
'gke_.*_(?P<var_cluster>[\w-]+)' = 'gke-$var_cluster'
[kubernetes.user_aliases]
'dev.local.cluster.k8s' = 'dev'
'root/.*' = 'root'
contexts = [
{ context_pattern = "dev.local.cluster.k8s", style = "green", symbol = "💔 " },
]
```
Only show the module in directories that contain a `k8s` file.
@ -2387,25 +2520,36 @@ disabled = false
detect_files = ['k8s']
```
#### Regex Matching
#### Kubernetes Context specific config
Additional to simple aliasing, `context_aliases` and `user_aliases` also supports extended matching and renaming using regular expressions.
The regular expression must match on the entire kube context, capture groups can be referenced using `$name` and `$N` in the replacement. This is more explained in the [regex crate](https://docs.rs/regex/1.5.4/regex/struct.Regex.html#method.replace) documentation.
Long and automatically generated cluster names can be identified and shortened using regular expressions:
The `contexts` configuration option is used to customise what the current Kubernetes context name looks like (style and symbol) if the name matches the defined regular expression.
```toml
[kubernetes.context_aliases]
# OpenShift contexts carry the namespace and user in the kube context: `namespace/name/user`:
'.*/openshift-cluster/.*' = 'openshift'
# Or better, to rename every OpenShift cluster at once:
'.*/(?P<var_cluster>[\w-]+)/.*' = '$var_cluster'
# ~/.config/starship.toml
[[kubernetes.contexts]]
# "bold red" style + default symbol when Kubernetes current context name equals "production" *and* the current user
# equals "admin_user"
context_pattern = "production"
user_pattern = "admin_user"
style = "bold red"
context_alias = "prod"
user_alias = "admin"
[[kubernetes.contexts]]
# "green" style + a different symbol when Kubernetes current context name contains openshift
context_pattern = ".*openshift.*"
style = "green"
symbol = "💔 "
context_alias = "openshift"
[[kubernetes.contexts]]
# Using capture groups
# Contexts from GKE, AWS and other cloud providers usually carry additional information, like the region/zone.
# The following entry matches on the GKE format (`gke_projectname_zone_cluster-name`)
# and renames every matching kube context into a more readable format (`gke-cluster-name`):
'gke_.*_(?P<var_cluster>[\w-]+)' = 'gke-$var_cluster'
context_pattern = "gke_.*_(?P<cluster>[\\w-]+)"
context_alias = "gke-$cluster"
```
## Line Break
@ -2730,7 +2874,7 @@ The `nodejs` module shows the currently installed version of [Node.js](https://n
| `detect_folders` | `['node_modules']` | Which folders should trigger this module. |
| `style` | `'bold green'` | The style for the module. |
| `disabled` | `false` | Disables the `nodejs` module. |
| `not_capable_style` | `bold red` | The style for the module when an engines property in package.json does not match the Node.js version. |
| `not_capable_style` | `'bold red'` | The style for the module when an engines property in package.json does not match the Node.js version. |
### Variables
@ -2890,8 +3034,8 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y
| Option | Default | Description |
| ---------- | --------------------- | ------------------------------------------------------ |
| `format` | `"[$symbol]($style)"` | The format for the module. |
| `style` | `"bold white"` | The style for the module. |
| `format` | `'[$symbol]($style)'` | The format for the module. |
| `style` | `'bold white'` | The style for the module. |
| `disabled` | `true` | Disables the `os` module. |
| `symbols` | | A table that maps each operating system to its symbol. |
@ -2900,7 +3044,9 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y
```toml
# This is the default symbols table.
[os.symbols]
AIX = "➿ "
Alpaquita = "🔔 "
AlmaLinux = "💠 "
Alpine = "🏔️ "
Amazon = "🙂 "
Android = "🤖 "
@ -2917,6 +3063,7 @@ Garuda = "🦅 "
Gentoo = "🗜️ "
HardenedBSD = "🛡️ "
Illumos = "🐦 "
Kali = "🐉 "
Linux = "🐧 "
Mabox = "📦 "
Macos = "🍎 "
@ -2935,11 +3082,14 @@ Pop = "🍭 "
Raspbian = "🍓 "
Redhat = "🎩 "
RedHatEnterprise = "🎩 "
RockyLinux = "💠 "
Redox = "🧪 "
Solus = "⛵ "
SUSE = "🦎 "
Ubuntu = "🎯 "
Ultramarine = "🔷 "
Unknown = "❓ "
Void = " "
Windows = "🪟 "
```
@ -3224,7 +3374,7 @@ The `python` module shows the currently installed version of [Python](https://ww
If `pyenv_version_name` is set to `true`, it will display the pyenv version name. Otherwise, it will display the version number from `python --version`.
By default the module will be shown if any of the following conditions are met:
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `.python-version` file
- The current directory contains a `Pipfile` file
@ -3245,7 +3395,7 @@ By default the module will be shown if any of the following conditions are met:
| `symbol` | `'🐍 '` | A format string representing the symbol of Python |
| `style` | `'yellow bold'` | The style for the module. |
| `pyenv_version_name` | `false` | Use pyenv to get Python version |
| `pyenv_prefix` | `pyenv` | Prefix before pyenv version display, only used if pyenv is used |
| `pyenv_prefix` | `'pyenv'` | Prefix before pyenv version display, only used if pyenv is used |
| `python_binary` | `['python', 'python3', 'python2']` | Configures the python binaries that Starship should executes when getting the version. |
| `detect_extensions` | `['py']` | Which extensions should trigger this module |
| `detect_files` | `['.python-version', 'Pipfile', '__init__.py', 'pyproject.toml', 'requirements.txt', 'setup.py', 'tox.ini']` | Which filenames should trigger this module |
@ -3296,16 +3446,37 @@ python_binary = 'python3'
detect_extensions = []
```
```toml
# ~/.config/starship.toml
## Quarto
[python]
# Display the version of python from inside a local venv.
#
# Note this will only work when the venv is inside the project and it will only
# work in the directory that contains the venv dir but maybe this is ok?
python_binary = ['./venv/bin/python', 'python', 'python3', 'python2']
```
The `quarto` module shows the current installed version of Quarto used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `_quarto.yml` file
- The current directory contains any `*.qmd` file
### Options
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'⨁ '` | A format string representing the symbol of Quarto |
| `style` | `'bold #75AADB'` | The style for the module. |
| `detect_extensions` | `['.qmd']` | Which extensions should trigger this module. |
| `detect_files` | `['_quarto.yml']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `quarto` module. |
### Variables
| گۆڕاو | نموونە | Description |
| --------- | --------- | ------------------------------------ |
| version | `1.4.549` | The version of `quarto` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## R
@ -3452,11 +3623,12 @@ Starship gets the current Ruby version by running `ruby -v`.
### Variables
| گۆڕاو | نموونە | Description |
| --------- | -------- | ------------------------------------ |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
| گۆڕاو | نموونە | Description |
| --------- | -------- | ------------------------------------------- |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
| gemset | `test` | Optional, gets the current RVM gemset name. |
*: This variable can only be used as a part of a style string
@ -3562,22 +3734,23 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y
### Options
| Option | Default | Description |
| ---------------------- | ------------------------- | ------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | The format for the module. |
| `style` | `'white bold'` | The style for the module. |
| `disabled` | `true` | Disables the `shell` module. |
| Option | Default | Description |
| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `pwsh_indicator` | | A format string used to represent pwsh. The default value mirrors the value of `powershell_indicator`. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | The format for the module. |
| `style` | `'white bold'` | The style for the module. |
| `disabled` | `true` | Disables the `shell` module. |
### Variables
@ -3694,14 +3867,14 @@ The `solidity` module shows the currently installed version of [Solidity](https:
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | The format for the module. |
| `version_format` | `"v${major}.${minor}.${patch}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"S "` | A format string representing the symbol of Solidity |
| `compiler | ["solc"] | The default compiler for Solidity. |
| `detect_extensions` | `["sol"]` | Which extensions should trigger this module. |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${major}.${minor}.${patch}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'S '` | A format string representing the symbol of Solidity |
| `compiler | ['solc'] | The default compiler for Solidity. |
| `detect_extensions` | `['sol']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `style` | `"bold blue"` | The style for the module. |
| `style` | `'bold blue'` | The style for the module. |
| `disabled` | `false` | Disables this module. |
### Variables
@ -4009,6 +4182,39 @@ utc_time_offset = '-5'
time_range = '10:00:00-14:00:00'
```
## Typst
The `typst` module shows the current installed version of Typst used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `template.typ` file
- The current directory contains any `*.typ` file
### Options
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'t '` | A format string representing the symbol of Daml |
| `style` | `'bold #0093A7'` | The style for the module. |
| `detect_extensions` | `['.typ']` | Which extensions should trigger this module. |
| `detect_files` | `['template.typ']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `daml` module. |
### Variables
| گۆڕاو | نموونە | Description |
| ------------- | --------- | ----------------------------------------------- |
| version | `v0.9.0` | The version of `typst`, alias for typst_version |
| typst_version | `default` | The current Typst version |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## Username
The `username` module shows active user's username. The module will be shown if any of the following conditions are met:
@ -4017,6 +4223,7 @@ The `username` module shows active user's username. The module will be shown if
- The current user isn't the same as the one that is logged in
- The user is currently connected as an SSH session
- The variable `show_always` is set to true
- The array `detect_env_vars` contains at least the name of one environment variable, that is set
::: tip
@ -4026,13 +4233,14 @@ SSH connection is detected by checking environment variables `SSH_CONNECTION`, `
### Options
| Option | Default | Description |
| ------------- | ----------------------- | ------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | The style used for non-root users. |
| `format` | `'[$user]($style) in '` | The format for the module. |
| `show_always` | `false` | Always shows the `username` module. |
| `disabled` | `false` | Disables the `username` module. |
| Option | Default | Description |
| ----------------- | ----------------------- | --------------------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | The style used for non-root users. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$user]($style) in '` | The format for the module. |
| `show_always` | `false` | Always shows the `username` module. |
| `disabled` | `false` | Disables the `username` module. |
### Variables
@ -4043,6 +4251,8 @@ SSH connection is detected by checking environment variables `SSH_CONNECTION`, `
### نموونە
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -4054,6 +4264,17 @@ disabled = false
show_always = true
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Vagrant
The `vagrant` module shows the currently installed version of [Vagrant](https://www.vagrantup.com/). By default the module will be shown if any of the following conditions are met:

View File

@ -58,7 +58,7 @@ curl -sS https://starship.rs/install.sh | sh -s -- --platform unknown-linux-musl
## Why do I see `Executing command "..." timed out.` warnings?
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](/config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](../config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
## I see symbols I don't understand or expect, what do they mean?
@ -72,7 +72,7 @@ You can enable the debug logs by using the `STARSHIP_LOG` env var. These logs ca
env STARSHIP_LOG=trace starship module rust
```
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that to blame.
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that is to blame.
```sh
env STARSHIP_LOG=trace starship timings
@ -120,3 +120,11 @@ If Starship was installed using the install script, the following command will d
# Locate and delete the starship binary
sh -c 'rm "$(command -v 'starship')"'
```
## How do I install Starship without `sudo`?
The shell install script (`https://starship.rs/install.sh`) only attempts to use `sudo` if the target installation directory is not writable by the current user. The default installation diretory is the value of the `$BIN_DIR` environment variable or `/usr/local/bin` if `$BIN_DIR` is not set. If you instead set the installation directory to one that is writable by your user, you should be able to install starship without `sudo`. For example, `curl -sS https://starship.rs/install.sh | sh -s -- -b ~/.local/bin` uses the `-b` command line option of the install script to set the installation directory to `~/.local/bin`.
For a non-interactive installation of Starship, don't forget to add the `-y` option to skip the confirmation. Check the source of the installation script for a list of all supported installation options.
When using a package manager, see the documentation for your package manager about installing with or without `sudo`.

View File

@ -32,6 +32,11 @@
src="https://img.shields.io/badge/twitter-@StarshipPrompt-1DA1F3?style=flat-square"
alt="شوێن @StarshipPrompt بکەوە لەسەر تویتەر"
/></a>
<a href="https://stand-with-ukraine.pp.ua"
><img
src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraineFlat.svg"
alt="Stand With Ukraine"
/></a>
</p>
<p align="center">
@ -143,8 +148,6 @@
/></a>
</p>
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine)
<h1></h1>
<img
@ -225,6 +228,7 @@ Alternatively, install Starship using any of the following package managers:
| Gentoo | [Gentoo Packages](https://packages.gentoo.org/packages/app-shells/starship) | `emerge app-shells/starship` |
| Manjaro | | `pacman -S starship` |
| NixOS | [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix) | `nix-env -iA nixpkgs.starship` |
| openSUSE | [OSS](https://software.opensuse.org/package/starship) | `zypper in starship` |
| Void Linux | [Void Linux Packages](https://github.com/void-linux/void-packages/tree/master/srcpkgs/starship) | `xbps-install -S starship` |
</details>
@ -423,10 +427,6 @@ If you're looking to further customize Starship:
Support this project by [becoming a sponsor](https://github.com/sponsors/starship). Your name or logo will show up here with a link to your website.
**Supporter Tier**
- [Appwrite](https://appwrite.io/)
<p align="center">
<br>
<img width="100" src="https://raw.githubusercontent.com/starship/starship/master/media/icon.png" alt="ئایکۆنی مووشەکی Starship">

View File

@ -5,7 +5,7 @@ To install starship, you need to do two things:
1. Get the **starship** binary onto your computer
1. Tell your shell to use the starship binary as its prompt by modifying its init scripts
For most users, the instructions on [the main page](/guide/#🚀-installation) will work great. However, for some more specialized platforms, different instructions are needed.
For most users, the instructions on [the main page](../guide/#🚀-installation) will work great. However, for some more specialized platforms, different instructions are needed.
There are so many platforms out there that they didn't fit into the main README.md file, so here are some installation instructions for other platforms from the community. Is yours not here? Please do add it here if you figure it out!

View File

@ -63,3 +63,15 @@ This preset is inspired by [M365Princess](https://github.com/JanDeDobbeleer/oh-m
This preset is inspired by [tokyo-night-vscode-theme](https://github.com/enkia/tokyo-night-vscode-theme).
[![Screenshot of Tokyo Night preset](/presets/img/tokyo-night.png "Click to view Tokyo Night preset")](./tokyo-night)
## [Gruvbox Rainbow](./gruvbox-rainbow.md)
This preset is heavily inspired by [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
[![Screenshot of Gruvbox Rainbow preset](/presets/img/gruvbox-rainbow.png "Click to view Gruvbox Rainbow preset")](./gruvbox-rainbow)
## [Jetpack](./jetpack.md)
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
[![Screenshot of Jetpack preset](/presets/img/jetpack.png "Click to view Jetpack preset")](./jetpack)

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#bracketed-segments)
[Return to Presets](./#bracketed-segments)
# Bracketed Segments Preset
@ -14,4 +14,4 @@ starship preset bracketed-segments -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/bracketed-segments.toml)
<<< @/.vuepress/public/presets/toml/bracketed-segments.toml
<<< @/public/presets/toml/bracketed-segments.toml

View File

@ -0,0 +1,21 @@
[Return to Presets](./#gruvbox-rainbow)
# Gruvbox Rainbow Preset
This preset is heavily inspired by [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
![Screenshot of Gruvbox Rainbow preset](/presets/img/gruvbox-rainbow.png)
### پێشمەرجەکان
- [فۆنتێکی Nerd](https://www.nerdfonts.com/) دامەزراوە و چالاککراوە لە تێرمیناڵەکەتا
### ڕێکخستن
```sh
starship preset gruvbox-rainbow -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/gruvbox-rainbow.toml)
<<< @/public/presets/toml/gruvbox-rainbow.toml

View File

@ -0,0 +1,24 @@
[Return to Presets](./#jetpack)
# Jetpack Preset
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
> Jetpack uses the terminal's color theme.
![Screenshot of Jetpack preset](/presets/img/jetpack.png)
### Prerequisite
- Requires a shell with [`right-prompt`](https://starship.rs/advanced-config/#enable-right-prompt) support.
- [Jetbrains Mono](https://www.jetbrains.com/lp/mono/) is recommended.
### ڕێکخستن
```sh
starship preset jetpack -o ~/.config/starship.toml
```
[Click to download TOML](/presets/toml/jetpack.toml)
<<< @/public/presets/toml/jetpack.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#nerd-font-symbols)
[Return to Presets](./#nerd-font-symbols)
# Nerd Font Symbols Preset
@ -18,4 +18,4 @@ starship preset nerd-font-symbols -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/nerd-font-symbols.toml)
<<< @/.vuepress/public/presets/toml/nerd-font-symbols.toml
<<< @/public/presets/toml/nerd-font-symbols.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#no-empty-icons)
[Return to Presets](./#no-empty-icons)
# No Empty Icons Preset
@ -14,4 +14,4 @@ starship preset no-empty-icons -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/no-empty-icons.toml)
<<< @/.vuepress/public/presets/toml/no-empty-icons.toml
<<< @/public/presets/toml/no-empty-icons.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#no-nerd-fonts)
[Return to Presets](./#no-nerd-fonts)
# No Nerd Fonts Preset
@ -16,4 +16,4 @@ starship preset no-nerd-font -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/no-nerd-font.toml)
<<< @/.vuepress/public/presets/toml/no-nerd-font.toml
<<< @/public/presets/toml/no-nerd-font.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#no-runtime-versions)
[Return to Presets](./#no-runtime-versions)
# No Runtime Versions Preset
@ -14,4 +14,4 @@ starship preset no-runtime-versions -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/no-runtime-versions.toml)
<<< @/.vuepress/public/presets/toml/no-runtime-versions.toml
<<< @/public/presets/toml/no-runtime-versions.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#pastel-powerline)
[Return to Presets](./#pastel-powerline)
# Pastel Powerline Preset
@ -18,4 +18,4 @@ starship preset pastel-powerline -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/pastel-powerline.toml)
<<< @/.vuepress/public/presets/toml/pastel-powerline.toml
<<< @/public/presets/toml/pastel-powerline.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#plain-text-symbols)
[Return to Presets](./#plain-text-symbols)
## Plain Text Symbols Preset
@ -14,4 +14,4 @@ starship preset plain-text-symbols -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/plain-text-symbols.toml)
<<< @/.vuepress/public/presets/toml/plain-text-symbols.toml
<<< @/public/presets/toml/plain-text-symbols.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#pure)
[Return to Presets](./#pure)
# Pure Preset
@ -14,4 +14,4 @@ starship preset pure-preset -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/pure-preset.toml)
<<< @/.vuepress/public/presets/toml/pure-preset.toml
<<< @/public/presets/toml/pure-preset.toml

View File

@ -1,4 +1,4 @@
[Return to Presets](./README.md#pastel-powerline)
[Return to Presets](./#pastel-powerline)
# Tokyo Night Preset
@ -18,4 +18,4 @@ starship preset tokyo-night -o ~/.config/starship.toml
[Click to download TOML](/presets/toml/tokyo-night.toml)
<<< @/.vuepress/public/presets/toml/tokyo-night.toml
<<< @/public/presets/toml/tokyo-night.toml

View File

@ -164,7 +164,7 @@ For example:
#### Style Strings
Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/).
Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](../advanced-config/).
- `'fg:green bg:blue'` sets green text on a blue background
- `'bg:blue fg:bright-green'` sets bright green text on a blue background
@ -210,16 +210,16 @@ This is the list of prompt-wide configuration options.
### Options
| Option | Default | Description |
| ----------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `right_format` | `''` | See [Enable Right Prompt](/advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). |
| `add_newline` | `true` | Inserts blank line between shell prompts. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](/advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| `follow_symlinks` | `true` | Follows symlinks to check if they're directories; used in modules such as git. |
| Option | Default | Description |
| ----------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Configure the format of the prompt. |
| `right_format` | `''` | See [Enable Right Prompt](../advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). |
| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). |
| `add_newline` | `true` | Inserts blank line between shell prompts. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](../advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| `follow_symlinks` | `true` | Follows symlinks to check if they're directories; used in modules such as git. |
::: tip
@ -295,6 +295,7 @@ $elixir\
$elm\
$erlang\
$fennel\
$gleam\
$golang\
$guix_shell\
$haskell\
@ -314,6 +315,7 @@ $php\
$pulumi\
$purescript\
$python\
$quarto\
$raku\
$rlang\
$red\
@ -323,6 +325,7 @@ $scala\
$solidity\
$swift\
$terraform\
$typst\
$vlang\
$vagrant\
$zig\
@ -336,6 +339,7 @@ $aws\
$gcloud\
$openstack\
$azure\
$direnv\
$env_var\
$crystal\
$custom\
@ -382,6 +386,9 @@ date is read from the `AWSUME_EXPIRATION` env var.
When using [saml2aws](https://github.com/Versent/saml2aws) the expiration information obtained from `~/.aws/credentials`
falls back to the `x_security_token_expires` key.
When using [aws-sso-cli](https://github.com/synfinatic/aws-sso-cli) the profile
is read from the `AWS_SSO_PROFILE` env var.
### Options
| Option | Default | Description |
@ -564,7 +571,7 @@ style = 'bold red'
[[battery.display]] # 'bold yellow' style and 💦 symbol when capacity is between 10% and 30%
threshold = 30
style = 'bold yellow'
discharging_symbol = '💦'
discharging_symbol = '💦 '
# when capacity is over 30%, the battery indicator will not be displayed
```
@ -622,7 +629,7 @@ By default the module will be shown if any of the following conditions are met:
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🍞 '` | A format string representing the symbol of Bun. |
| `symbol` | `'🥟 '` | A format string representing the symbol of Bun. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `['bun.lockb', 'bunfig.toml']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
@ -639,7 +646,9 @@ By default the module will be shown if any of the following conditions are met:
*: This variable can only be used as a part of a style string
### Example
### Examples
#### Customize the format
```toml
# ~/.config/starship.toml
@ -648,6 +657,15 @@ By default the module will be shown if any of the following conditions are met:
format = 'via [🍔 $version](bold green) '
```
#### Replace Node.js
You can override the `detect_files` property of [the nodejs module](#nodejs) in your config so as to only show the bun runtime:
```
[nodejs]
detect_files = ['package.json', '.node-version', '!bunfig.toml', '!bun.lockb']
```
## C
The `c` module shows some information about your C compiler. By default
@ -1204,6 +1222,48 @@ truncation_length = 8
truncation_symbol = '…/'
```
## Direnv
The `direnv` module shows the status of the current rc file if one is present. The status includes the path to the rc file, whether it is loaded, and whether it has been allowed by `direnv`.
### Options
| Option | Default | Description |
| ------------------- | -------------------------------------- | ----------------------------------------------------- |
| `format` | `'[$symbol$loaded/$allowed]($style) '` | The format for the module. |
| `symbol` | `'direnv '` | The symbol used before displaying the direnv context. |
| `style` | `'bold orange'` | The style for the module. |
| `disabled` | `true` | Disables the `direnv` module. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `['.envrc']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `allowed_msg` | `'allowed'` | The message displayed when an rc file is allowed. |
| `not_allowed_msg` | `'not allowed'` | The message displayed when an rc file is not_allowed. |
| `denied_msg` | `'denied'` | The message displayed when an rc file is denied. |
| `loaded_msg` | `'loaded'` | The message displayed when an rc file is loaded. |
| `unloaded_msg` | `'not loaded'` | The message displayed when an rc file is not loaded. |
### Variables
| Variable | Example | Description |
| -------- | ------------------- | --------------------------------------- |
| loaded | `loaded` | Whether the current rc file is loaded. |
| allowed | `denied` | Whether the current rc file is allowed. |
| rc_path | `/home/test/.envrc` | The current rc file path. |
| symbol | | Mirrors the value of option `symbol`. |
| style\* | `red bold` | Mirrors the value of option `style`. |
*: This variable can only be used as a part of a style string
### Example
```toml
# ~/.config/starship.toml
[direnv]
disabled = false
```
## Docker Context
The `docker_context` module shows the currently active
@ -1654,7 +1714,7 @@ The `gcloud` module shows the current configuration for [`gcloud`](https://cloud
This is based on the `~/.config/gcloud/active_config` file and the `~/.config/gcloud/configurations/config_{CONFIG NAME}` file and the `CLOUDSDK_CONFIG` env var.
When the module is enabled it will always be active, unless `detect_env_vars` has
been set in which case the module will only be active be active when one of the
been set in which case the module will only be active when one of the
environment variables has been set.
### Options
@ -1933,7 +1993,7 @@ The following variables can be used in `format`:
| Variable | Description |
| -------------- | ------------------------------------------------------------------------------------------------------------- |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$staged$untracked` |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$typechanged$staged$untracked` |
| `ahead_behind` | Displays `diverged`, `ahead`, `behind` or `up_to_date` format string based on the current status of the repo. |
| `conflicted` | Displays `conflicted` when this branch has merge conflicts. |
| `untracked` | Displays `untracked` when there are untracked files in the working directory. |
@ -1999,6 +2059,45 @@ Use Windows Starship executable on Windows paths in WSL
windows_starship = '/mnt/c/Users/username/scoop/apps/starship/current/starship.exe'
```
## Gleam
The `gleam` module shows the currently installed version of [Gleam](https://gleam.run/).
By default the module will be shown if any of the following conditions are met:
- The current directory contains a `gleam.toml` file
- The current directory contains a file with the `.gleam` extension
### Options
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'⭐ '` | A format string representing the symbol of Go. |
| `detect_extensions` | `['gleam']` | Which extensions should trigger this module. |
| `detect_files` | `['gleam.toml']` | Which filenames should trigger this module. |
| `style` | `'bold #FFAFF3'` | The style for the module. |
| `disabled` | `false` | Disables the `gleam` module. |
### Variables
| Variable | Example | Description |
| -------- | -------- | ------------------------------------ |
| version | `v1.0.0` | The version of `gleam` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
### Example
```toml
# ~/.config/starship.toml
[gleam]
format = 'via [⭐ $version](bold red) '
```
## Go
The `golang` module shows the currently installed version of [Go](https://golang.org/).
@ -2502,8 +2601,9 @@ This module is disabled by default.
To enable it, set `disabled` to `false` in your configuration file.
When the module is enabled it will always be active, unless any of
`detect_extensions`, `detect_files` or `detect_folders` have been set in which
case the module will only be active in directories that match those conditions.
`detect_env_vars`, `detect_extensions`, `detect_files` or `detect_folders` have
been set in which case the module will only be active in directories that match
those conditions or one of the environmatal variable has been set.
:::
@ -2526,6 +2626,7 @@ and `user_alias` options instead.
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `detect_env_vars` | `[]` | Which environmental variables should trigger this module |
| `contexts` | `[]` | Customized styles and symbols for specific contexts. |
| `disabled` | `true` | Disables the `kubernetes` module. |
@ -3015,6 +3116,43 @@ By default the module will be shown if any of the following conditions are met:
format = 'via [🐪 $version]($style) '
```
## Odin
The 'odin' module shows the currently installed version of [Odin](https://odin-lang.org/). By default the module will be shown if the current directory contains a `.odin` file.
### Options
| Option | Default | Description |
| ------------------- | ------------------------------------ | ----------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `show_commit` | `false` | Shows the commit as part of the version. |
| `symbol` | `'Ø '` | The symbol used before displaying the version of Zig. |
| `style` | `'bold bright-blue'` | The style for the module. |
| `disabled` | `false` | Disables the `odin` module. |
| `detect_extensions` | `['odin']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
### Variables
| Variable | Example | Description |
| -------- | ------------- | ------------------------------------ |
| version | `dev-2024-03` | The version of `odin` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
### Example
```toml
# ~/.config/starship.toml
[odin]
format = 'via [󰹩 ($version )]($style)'
show_commit = true
```
## Open Policy Agent
The `opa` module shows the currently installed version of the OPA tool.
@ -3125,7 +3263,9 @@ If you would like an operating system to be added, feel free to open a [feature
```toml
# This is the default symbols table.
[os.symbols]
AIX = "➿ "
Alpaquita = "🔔 "
AlmaLinux = "💠 "
Alpine = "🏔️ "
Amazon = "🙂 "
Android = "🤖 "
@ -3142,6 +3282,7 @@ Garuda = "🦅 "
Gentoo = "🗜️ "
HardenedBSD = "🛡️ "
Illumos = "🐦 "
Kali = "🐉 "
Linux = "🐧 "
Mabox = "📦 "
Macos = "🍎 "
@ -3160,11 +3301,14 @@ Pop = "🍭 "
Raspbian = "🍓 "
Redhat = "🎩 "
RedHatEnterprise = "🎩 "
RockyLinux = "💠 "
Redox = "🧪 "
Solus = "⛵ "
SUSE = "🦎 "
Ubuntu = "🎯 "
Ultramarine = "🔷 "
Unknown = "❓ "
Void = " "
Windows = "🪟 "
```
@ -3461,7 +3605,7 @@ current [Python virtual environment](https://docs.python.org/tutorial/venv.html)
If `pyenv_version_name` is set to `true`, it will display the pyenv version
name. Otherwise, it will display the version number from `python --version`.
By default the module will be shown if any of the following conditions are met:
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `.python-version` file
- The current directory contains a `Pipfile` file
@ -3543,16 +3687,37 @@ python_binary = 'python3'
detect_extensions = []
```
```toml
# ~/.config/starship.toml
## Quarto
[python]
# Display the version of python from inside a local venv.
#
# Note this will only work when the venv is inside the project and it will only
# work in the directory that contains the venv dir but maybe this is ok?
python_binary = ['./venv/bin/python', 'python', 'python3', 'python2']
```
The `quarto` module shows the current installed version of Quarto used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `_quarto.yml` file
- The current directory contains any `*.qmd` file
### Options
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'⨁ '` | A format string representing the symbol of Quarto |
| `style` | `'bold #75AADB'` | The style for the module. |
| `detect_extensions` | `['.qmd']` | Which extensions should trigger this module. |
| `detect_files` | `['_quarto.yml']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `quarto` module. |
### Variables
| Variable | Example | Description |
| -------- | --------- | ------------------------------------ |
| version | `1.4.549` | The version of `quarto` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## R
@ -3703,11 +3868,12 @@ Starship gets the current Ruby version by running `ruby -v`.
### Variables
| Variable | Example | Description |
| -------- | -------- | ------------------------------------ |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
| Variable | Example | Description |
| -------- | -------- | ------------------------------------------- |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
| gemset | `test` | Optional, gets the current RVM gemset name. |
*: This variable can only be used as a part of a style string
@ -3816,22 +3982,23 @@ To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
| ---------------------- | ------------------------- | ------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | The format for the module. |
| `style` | `'white bold'` | The style for the module. |
| `disabled` | `true` | Disables the `shell` module. |
| Option | Default | Description |
| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `pwsh_indicator` | | A format string used to represent pwsh. The default value mirrors the value of `powershell_indicator`. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | The format for the module. |
| `style` | `'white bold'` | The style for the module. |
| `disabled` | `true` | Disables the `shell` module. |
### Variables
@ -3895,7 +4062,7 @@ threshold = 3
Using `repeat` and `repeat_offset` along with `character` module, one can get
prompt like `` where last character is colored appropriately for return
status code and preceeding characters are provided by `shlvl`.
status code and preceding characters are provided by `shlvl`.
```toml
# ~/.config/starship.toml
@ -4278,6 +4445,39 @@ utc_time_offset = '-5'
time_range = '10:00:00-14:00:00'
```
## Typst
The `typst` module shows the current installed version of Typst used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `template.typ` file
- The current directory contains any `*.typ` file
### Options
| Option | Default | Description |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'t '` | A format string representing the symbol of Daml |
| `style` | `'bold #0093A7'` | The style for the module. |
| `detect_extensions` | `['.typ']` | Which extensions should trigger this module. |
| `detect_files` | `['template.typ']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `daml` module. |
### Variables
| Variable | Example | Description |
| ------------- | --------- | ----------------------------------------------- |
| version | `v0.9.0` | The version of `typst`, alias for typst_version |
| typst_version | `default` | The current Typst version |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## Username
The `username` module shows active user's username.
@ -4287,6 +4487,7 @@ The module will be shown if any of the following conditions are met:
- The current user isn't the same as the one that is logged in
- The user is currently connected as an SSH session
- The variable `show_always` is set to true
- The array `detect_env_vars` contains at least the name of one environment variable, that is set
::: tip
@ -4298,13 +4499,15 @@ these variables, one workaround is to set one of them with a dummy value.
### Options
| Option | Default | Description |
| ------------- | ----------------------- | ------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | The style used for non-root users. |
| `format` | `'[$user]($style) in '` | The format for the module. |
| `show_always` | `false` | Always shows the `username` module. |
| `disabled` | `false` | Disables the `username` module. |
| Option | Default | Description |
| ----------------- | ----------------------- | --------------------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | The style used for non-root users. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$user]($style) in '` | The format for the module. |
| `show_always` | `false` | Always shows the `username` module. |
| `disabled` | `false` | Disables the `username` module. |
| `aliases` | `{}` | Translate system usernames to something else |
### Variables
@ -4315,6 +4518,8 @@ these variables, one workaround is to set one of them with a dummy value.
### Example
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -4324,6 +4529,18 @@ style_root = 'black bold'
format = 'user: [$user]($style) '
disabled = false
show_always = true
aliases = { "corpuser034g" = "matchai" }
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Vagrant

View File

@ -1,10 +1,14 @@
---
home: true
heroImage: /logo.svg
heroText:
tagline: Minimale, super schnelle und unendlich anpassbare Prompt für jede Shell!
actionText: Loslegen →
actionLink: ./de-DE/guide/
layout: home
hero:
image: /logo.svg
text:
tagline: Der minimalistische, super schnelle und unendlich anpassbare Prompt für jede Shell!
actions:
-
theme: brand
text: Loslegen →
link: ./de-DE/guide/
features:
-
title: Kompatibel
@ -21,12 +25,10 @@ metaTitle: "Starship: Cross-Shell Prompt"
description: Starship ist eine minimale, super schnelle, und extrem anpassbare Prompt für jede Shell! Sie zeigt die Information, die man benötigt an, während sie schnell und minimal bleibt. Schnell-Installation verfügbar für Bash, Fish, ZSH, Ion, Tcsh, Elvish, Nu, Xonsh, Cmd, und PowerShell.
---
<div class="center">
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
</div>
<video class="demo-video" muted autoplay loop playsinline>
<source src="/demo.webm" type="video/webm">
<source src="/demo.mp4" type="video/mp4">
</video>
### Voraussetzungen
@ -45,7 +47,7 @@ description: Starship ist eine minimale, super schnelle, und extrem anpassbare P
curl -sS https://starship.rs/install.sh | sh
```
Um Starship selbst zu aktualisieren, führe das Skript oben erneut aus. Die vorhandene Version wird ersetzt, ohne das deine Konfiguration von Starship verloren geht.
Führe das Skript oben erneut aus, um Starship selbst zu aktualisieren. Die vorhandene Version wird ersetzt, ohne dass deine Starship-Konfiguration verloren geht.
#### Installation mithilfe eines Paket-Managers
@ -55,6 +57,7 @@ description: Starship ist eine minimale, super schnelle, und extrem anpassbare P
```sh
brew install starship
```
Mit [Winget](https://github.com/microsoft/winget-cli):
```powershell
@ -66,7 +69,7 @@ description: Starship ist eine minimale, super schnelle, und extrem anpassbare P
#### Bash
Trage folgendes am Ende der `~/.bashrc` ein:
Füge dies ans Ende von `~/.bashrc`:
```sh
# ~/.bashrc
@ -99,7 +102,7 @@ description: Starship ist eine minimale, super schnelle, und extrem anpassbare P
#### Powershell
Trage das folgende am Ende von `Microsoft.PowerShell_profile.ps1` ein. Du kannst den Speicherort dieser Datei überprüfen, indem du die `$PROFILE` Variable in PowerShell abfragst. Der Pfat lautet normalerweise `~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1` unter Windows und `~/.config/powershell/Microsoft.PowerShell_profile.ps1` auf -Nix.
Füge das Folgende ans Ende von `Microsoft.PowerShell_profile.ps1` an. Du kannst den Speicherort dieser Datei überprüfen, indem du die `$PROFILE` Variable in PowerShell abfragst. Normalerweise ist der Pfad `~\Documents\PowerShell\Microsoft.PowerShell_profile.ps1` oder `~/.config/powershell/Microsoft.PowerShell_profile.ps1` auf -Nix.
```sh
Invoke-Expression (&starship init powershell)
@ -153,7 +156,8 @@ description: Starship ist eine minimale, super schnelle, und extrem anpassbare P
:::
Add the following to the end of your Nushell env file (find it by running `$nu.env-path` in Nushell):
Füge folgendes zum Ende deiner Nushell env Datei hinzu (finde sie, indem du `$nu.env-path` in Nushell ausführst):
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu

View File

@ -1,6 +1,6 @@
# Erweiterte Konfiguration
Auch wenn Starship eine vielseitige Shell ist, reichen manche Konfigurationen in der `starship.toml` nicht aus, um erweiterte Einstellungen vorzunehmen. Diese Seite beschreibt einige fortgeschrittene Konfigurationen für Starship.
Auch wenn Starship eine vielseitige Shell ist, reichen manche Konfigurationen in der `starship.toml` nicht aus, um manche Sachen zu erreichen. Diese Seite beschreibt einige fortgeschrittene Konfigurationen für Starship.
::: warning
@ -10,7 +10,7 @@ Die hier beschriebenen Konfigurationen werden sich mit kommenden Updates von Sta
## TransientPrompt in PowerShell
It is possible to replace the previous-printed prompt with a custom string. This is useful in cases where all the prompt information is not always needed. To enable this, run `Enable-TransientPrompt` in the shell session. To make it permanent, put this statement in your `$PROFILE`. Transience can be disabled on-the-fly with `Disable-TransientPrompt`.
Es ist möglich, die zuvor geprintete Prompt mit einem benutzerdefinierten String zu ersetzen. Das ist in Fällen nützlich, in denen nicht immer die ganze Information der Prompt gebraucht wird. Führe `Enable-TransientPrompt` in deiner Shell-Session aus, um dieses Verhalten zu aktivieren. Füge das Statement in dein `$PROFILE` ein, um diese Funktion dauerhaft zu aktivieren. Transience can be disabled on-the-fly with `Disable-TransientPrompt`.
By default, the left side of input gets replaced with `>`. To customize this, define a new function called `Invoke-Starship-TransientFunction`. For example, to display Starship's `character` module here, you would do
@ -26,7 +26,7 @@ Enable-TransientPrompt
## TransientPrompt and TransientRightPrompt in Cmd
Clink allows you to replace the previous-printed prompt with custom strings. This is useful in cases where all the prompt information is not always needed. To enable this, run `clink set prompt.transient <value>` where \<value\> can be one of:
Clink allows you to replace the previous-printed prompt with custom strings. Das ist in Fällen nützlich, in denen nicht immer die ganze Information der Prompt gebraucht wird. To enable this, run `clink set prompt.transient <value>` where \<value\> can be one of:
- `always`: always replace the previous prompt
- `same_dir`: replace the previous prompt only if the working directory is same
@ -56,7 +56,7 @@ load(io.popen('starship init cmd'):read("*a"))()
## TransientPrompt and TransientRightPrompt in Fish
It is possible to replace the previous-printed prompt with a custom string. This is useful in cases where all the prompt information is not always needed. To enable this, run `enable_transience` in the shell session. To make it permanent, put this statement in your `~/.config/fish/config.fish`. Transience can be disabled on-the-fly with `disable_transience`.
Es ist möglich, die zuvor geprintete Prompt mit einem benutzerdefinierten String zu ersetzen. Das ist in Fällen nützlich, in denen nicht immer die ganze Information der Prompt gebraucht wird. To enable this, run `enable_transience` in the shell session. To make it permanent, put this statement in your `~/.config/fish/config.fish`. Transience can be disabled on-the-fly with `disable_transience`.
Note that in case of Fish, the transient prompt is only printed if the commandline is non-empty, and syntactically correct.
@ -80,6 +80,26 @@ starship init fish | source
enable_transience
```
## TransientPrompt and TransientRightPrompt in Bash
The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework at v0.4 or higher allows you to replace the previous-printed prompt with custom strings. This is useful in cases where all the prompt information is not always needed. To enable this, put this in `~/.bashrc` `bleopt prompt_ps1_transient=<value>`:
The \<value\> here is a colon-separated list of `always`, `same-dir` and `trim`. When `prompt_ps1_final` is empty and this option has a non-empty value, the prompt specified by `PS1` is erased on leaving the current command line. If the value contains a field `trim`, only the last line of multiline `PS1` is preserved and the other lines are erased. Otherwise, the command line will be redrawn as if `PS1=` is specified. When a field `same-dir` is contained in the value and the current working directory is different from the final directory of the previous command line, this option `prompt_ps1_transient` is ignored.
Make the following changes to your `~/.bashrc` to customize what gets displayed on the left and on the right:
- To customize what the left side of input gets replaced with, configure the `prompt_ps1_final` Ble.sh option. For example, to display Starship's `character` module here, you would do
```bash
bleopt prompt_ps1_final="$(starship module character)"
```
- To customize what the right side of input gets replaced with, configure the `prompt_rps1_final` Ble.sh option. For example, to display the time at which the last command was started here, you would do
```bash
bleopt prompt_rps1_final="$(starship module time)"
```
## Custom pre-prompt and pre-execution Commands in Cmd
Clink provides extremely flexible APIs to run pre-prompt and pre-exec commands in Cmd shell. It is fairly simple to use with Starship. Make the following changes to your `starship.lua` file as per your requirements:
@ -129,7 +149,7 @@ eval $(starship init bash)
set +o functrace
```
## Custom pre-prompt and pre-execution Commands in PowerShell
## Benutzerdefinierte Pre-Prompt- und Pre-Execution-Befehle in PowerShell
PowerShell does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `powershell`. Starship bietet daher die begrenzte Möglichkeit, eigene Funktionen in das prompt rendering Verfahren einzufügen:
@ -203,9 +223,11 @@ Invoke-Expression (&starship init powershell)
Some shells support a right prompt which renders on the same line as the input. Starship can set the content of the right prompt using the `right_format` option. Any module that can be used in `format` is also supported in `right_format`. The `$all` variable will only contain modules not explicitly used in either `format` or `right_format`.
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](/config/#fill).
Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [`fill` module](../config/#fill).
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell.
`right_format` is currently supported for the following shells: elvish, fish, zsh, xonsh, cmd, nushell, bash.
Note: The [Ble.sh](https://github.com/akinomyoga/ble.sh) framework v0.4 or higher should be installed in order to use right prompt in bash.
### Beispiel

View File

@ -1,6 +1,6 @@
# Konfiguration
Um mit der Konfiguration von Starship zu beginnen, muss eine leere Datei in diesem Pfad erstellt werden: `~/.config/starship.toml`.
Um mit der Konfiguration von Starship zu beginnen, musst du die folgende Datei erstellen: `~/.config/starship.toml`.
```sh
mkdir -p ~/.config && touch ~/.config/starship.toml
@ -9,24 +9,25 @@ mkdir -p ~/.config && touch ~/.config/starship.toml
Die gesamte Konfiguration von Starship erfolgt in dieser [TOML](https://github.com/toml-lang/toml)-Datei:
```toml
# Get editor completions based on the config schema
# Editor Vervollständigungen basierend auf dem Konfigurations-Schema erhalten
"$schema" = 'https://starship.rs/config-schema.json'
# Inserts a blank line between shell prompts
# Fügt eine Leerzeile zwischen den Eingabeaufforderungen ein
add_newline = true
# Replace the '' symbol in the prompt with '➜'
[character] # The name of the module we are configuring is 'character'
success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green'
# Ersetzt das '' Zeichen in der Prompt mit '➜'
[character] # Der name des Moduls das wir ändern ist 'character'
success_symbol = '[➜](bold green)' # Der 'success_symbol' Teil wird auf '➜' mit der farbe 'bold green' gesetzt
# Disable the package module, hiding it from the prompt completely
# Deaktiviert das "package" Modul, damit es in der Eingabeaufforderung nicht mehr zu sehen ist
[package]
disabled = true
```
### Config File Location
### Ort der Konfigurationsdatei
Die voreingestellte Konfigurations-Datei kann mit der `STARSHIP_CONFIG` Umgebungsvariable verändert werden. Hier z. Bsp. für die BASH shell, hinzuzufügen zur ~/. bashrc:
Du kannst die voreingestellte Konfigurations-Datei mit der `STARSHIP_CONFIG` Umgebungsvariable verändern:
```sh
export STARSHIP_CONFIG=~/example/non/default/path/starship.toml
@ -38,7 +39,7 @@ export STARSHIP_CONFIG=~/example/non/default/path/starship.toml
$ENV:STARSHIP_CONFIG = "$HOME\example\non\default\path\starship.toml"
```
Or for Cmd (Windows) would be adding this line to your `starship.lua`:
Oder für Cmd (Windows) diese Zeile (wieder zur `starship.lua`):
```lua
os.setenv('STARSHIP_CONFIG', 'C:\\Users\\user\\example\\non\\default\\path\\starship.toml')
@ -46,7 +47,7 @@ os.setenv('STARSHIP_CONFIG', 'C:\\Users\\user\\example\\non\\default\\path\\star
### Protokollierung
By default starship logs warnings and errors into a file named `~/.cache/starship/session_${STARSHIP_SESSION_KEY}.log`, where the session key is corresponding to an instance of your terminal. Das kann jedoch durch die Nutzung der `STARSHIP_CACHE` Umgebungsvariable verändert werden:
Standardmäßig protokolliert Starship Warnungen und Fehler in einer Datei names `~/.cache/starship/session_${STARSHIP_SESSION_KEY}.log`, wobei der session key zu der Instanz deines Terminals korrespondiert. Das kann jedoch durch die Nutzung der `STARSHIP_CACHE` Umgebungsvariable verändert werden:
```sh
export STARSHIP_CACHE=~/.starship/cache
@ -58,7 +59,7 @@ export STARSHIP_CACHE=~/.starship/cache
$ENV:STARSHIP_CACHE = "$HOME\AppData\Local\Temp"
```
Or for Cmd (Windows) would be adding this line to your `starship.lua`:
Oder für Cmd (Windows) diese Zeile (wieder zur `starship.lua`):
```lua
os.setenv('STARSHIP_CACHE', 'C:\\Users\\user\\AppData\\Local\\Temp')
@ -74,9 +75,9 @@ Die meisten Module haben einen Präfix der standardmäßigen terminal-Farbe (z.B
### Strings
In TOML syntax, [text values](https://toml.io/en/v1.0.0#string) are declared with `'`, `"`, `'''`, or `"""`.
In der TOML Syntax werden [Zeichenketten](https://toml.io/en/v1.0.0#string) mit `'`, `"`, `'''`, oder `"""` eingesetzt.
The following Starship syntax symbols have special usage in a format string and must be escaped to display as that character: `$ [ ] ( )`.
Die folgende Starship Syntax Symbole haben eine spezielle Rolle in einem String, und müssen demnach als Spezialzeichen markiert werden, um als normales Zeichen angezeigt zu werden: `$ [ ] ( )`.
| Symbol | Type | Notes |
| ------ | ------------------------- | ------------------------------------------------------ |
@ -158,7 +159,7 @@ Hier sind ein paar Beispiele:
#### Style-Strings
Die meisten Module in Starship lassen dich den Darstellungsstil verändern. Dies passiert meistens an einem bestimmten Eintrag (gewöhnlich `style` genannt), der einen String mit den Einstellungen darstellt. Es folgen ein paar Beispiele für solche Strings zusammen der mit Beschreibungen, was sie bewirken. Details zur vollen Syntax findest du im [Erweiterten Konfigurationshandbuch](/advanced-config/).
Die meisten Module in Starship lassen dich den Darstellungsstil verändern. Dies passiert meistens an einem bestimmten Eintrag (gewöhnlich `style` genannt), der einen String mit den Einstellungen darstellt. Es folgen ein paar Beispiele für solche Strings zusammen der mit Beschreibungen, was sie bewirken. For details on the full syntax, consult the [advanced config guide](../advanced-config/).
- `'fg:green bg:blue'` sets green text on a blue background
- `'bg:blue fg:bright-green'` sets bright green text on a blue background
@ -197,15 +198,22 @@ Dies ist eine Liste mit Prompt-weiten Konfigurationsoptionen.
### Optionen
| Option | Standartwert | Beschreibung |
| ----------------- | ------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Das Aussehen des Prompts festlegen. |
| `right_format` | `''` | Sieh [Enable Right Prompt](/advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout für das Scannen von Dateien (in Millisekunden). |
| `command_timeout` | `500` | Maximale Zeit für von Starship ausgeführte Kommandos. |
| `add_newline` | `true` | Fügt leere Zeilen zwischen Shell Prompts ein. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](/advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| Option | Standartwert | Beschreibung |
| ----------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `format` | [link](#default-prompt-format) | Das Aussehen des Prompts festlegen. |
| `right_format` | `''` | See [Enable Right Prompt](../advanced-config/#enable-right-prompt) |
| `scan_timeout` | `30` | Timeout für das Scannen von Dateien (in Millisekunden). |
| `command_timeout` | `500` | Maximale Zeit für von Starship ausgeführte Kommandos. |
| `add_newline` | `true` | Fügt leere Zeilen zwischen Shell Prompts ein. |
| `palette` | `''` | Sets which color palette from `palettes` to use. |
| `palettes` | `{}` | Collection of color palettes that assign [colors](../advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| `follow_symlinks` | `true` | Follows symlinks to check if they're directories; used in modules such as git. |
::: tip
If you have symlinks to networked filesystems, consider setting `follow_symlinks` to `false`.
:::
### Beispiel
@ -253,6 +261,7 @@ $kubernetes\
$directory\
$vcsh\
$fossil_branch\
$fossil_metrics\
$git_branch\
$git_commit\
$git_state\
@ -292,6 +301,7 @@ $php\
$pulumi\
$purescript\
$python\
$quarto\
$raku\
$rlang\
$red\
@ -301,6 +311,7 @@ $scala\
$solidity\
$swift\
$terraform\
$typst\
$vlang\
$vagrant\
$zig\
@ -314,6 +325,7 @@ $aws\
$gcloud\
$openstack\
$azure\
$direnv\
$env_var\
$crystal\
$custom\
@ -339,7 +351,7 @@ format = '$all$directory$character'
## AWS
The `aws` module shows the current AWS region and profile and an expiration timer when using temporary credentials. The output of the module uses the `AWS_REGION`, `AWS_DEFAULT_REGION`, and `AWS_PROFILE` env vars and the `~/.aws/config` and `~/.aws/credentials` files as required.
Das `aws` Modul zeigt die aktuelle AWS Region und Profil sowie den Ablauf-Timer an, wenn temporäre Zugangsdaten verwendet werden. Die Ausgabe des Moduls verwendet die `AWS_REGION`, `AWS_DEFAULT_REGION` und `AWS_PROFILE` Umgebungsvariablen sowie die `~/. ws/config` und `~/.aws/credentials` Dateien, falls nötig.
The module will display a profile only if its credentials are present in `~/.aws/credentials` or if a `credential_process`, `sso_start_url`, or `sso_session` are defined in `~/.aws/config`. Alternatively, having any of the `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, or `AWS_SESSION_TOKEN` env vars defined will also suffice. If the option `force_display` is set to `true`, all available information will be displayed even if no credentials per the conditions above are detected.
@ -351,6 +363,8 @@ When using [AWSume](https://awsu.me) the profile is read from the `AWSUME_PROFIL
When using [saml2aws](https://github.com/Versent/saml2aws) the expiration information obtained from `~/.aws/credentials` falls back to the `x_security_token_expires` key.
When using [aws-sso-cli](https://github.com/synfinatic/aws-sso-cli) the profile is read from the `AWS_SSO_PROFILE` env var.
### Optionen
| Option | Standardwert | Beschreibung |
@ -360,7 +374,7 @@ When using [saml2aws](https://github.com/Versent/saml2aws) the expiration inform
| `region_aliases` | `{}` | Tabelle der Regionaliasen, die zusätzlich zum AWS-Namen angezeigt werden sollen. |
| `profile_aliases` | `{}` | Table of profile aliases to display in addition to the AWS name. |
| `style` | `'bold yellow'` | Stil für dieses Modul. |
| `expiration_symbol` | `X` | Das Symbol, das angezeigt wird, wenn die temporären Anmeldeinformationen abgelaufen sind. |
| `expiration_symbol` | `'X'` | Das Symbol, das angezeigt wird, wenn die temporären Anmeldeinformationen abgelaufen sind. |
| `disabled` | `false` | Deaktiviert das `aws`-Modul. |
| `force_display` | `false` | If `true` displays info even if `credentials`, `credential_process` or `sso_start_url` have not been setup. |
@ -531,7 +545,7 @@ style = 'bold red'
[[battery.display]] # 'bold yellow' style and 💦 symbol when capacity is between 10% and 30%
threshold = 30
style = 'bold yellow'
discharging_symbol = '💦'
discharging_symbol = '💦 '
# when capacity is over 30%, the battery indicator will not be displayed
```
@ -605,7 +619,9 @@ The `bun` module shows the currently installed version of the [bun](https://bun.
*: This variable can only be used as a part of a style string
### Beispiel
### Beispiele
#### Customize the format
```toml
# ~/.config/starship.toml
@ -614,23 +630,32 @@ The `bun` module shows the currently installed version of the [bun](https://bun.
format = 'via [🍔 $version](bold green) '
```
#### Replace Node.js
You can override the `detect_files` property of [the nodejs module](#nodejs) in your config so as to only show the bun runtime:
```
[nodejs]
detect_files = ['package.json', '.node-version', '!bunfig.toml', '!bun.lockb']
```
## C
The `c` module shows some information about your C compiler. By default the module will be shown if the current directory contains a `.c` or `.h` file.
### Optionen
| Option | Standardwert | Beschreibung |
| ------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version(-$name) )]($style)'` | The format string for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'C '` | The symbol used before displaying the compiler details |
| `detect_extensions` | `['c', 'h']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `commands` | [ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ] | How to detect what the compiler is |
| `style` | `'bold 149'` | Stil für dieses Modul. |
| `disabled` | `false` | Disables the `c` module. |
| Option | Standardwert | Beschreibung |
| ------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version(-$name) )]($style)'` | The format string for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'C '` | The symbol used before displaying the compiler details |
| `detect_extensions` | `['c', 'h']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `commands` | `[ [ 'cc', '--version' ], [ 'gcc', '--version' ], [ 'clang', '--version' ] ]` | How to detect what the compiler is |
| `style` | `'bold 149'` | Stil für dieses Modul. |
| `disabled` | `false` | Disables the `c` module. |
### Variables
@ -1137,6 +1162,48 @@ truncation_length = 8
truncation_symbol = '…/'
```
## Direnv
The `direnv` module shows the status of the current rc file if one is present. The status includes the path to the rc file, whether it is loaded, and whether it has been allowed by `direnv`.
### Optionen
| Option | Standartwert | Beschreibung |
| ------------------- | -------------------------------------- | ----------------------------------------------------- |
| `format` | `'[$symbol$loaded/$allowed]($style) '` | Das Format für das Modul. |
| `symbol` | `'direnv '` | The symbol used before displaying the direnv context. |
| `style` | `'bold orange'` | Stil für dieses Modul. |
| `disabled` | `true` | Disables the `direnv` module. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `['.envrc']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `allowed_msg` | `'allowed'` | The message displayed when an rc file is allowed. |
| `not_allowed_msg` | `'not allowed'` | The message displayed when an rc file is not_allowed. |
| `denied_msg` | `'denied'` | The message displayed when an rc file is denied. |
| `loaded_msg` | `'loaded'` | The message displayed when an rc file is loaded. |
| `unloaded_msg` | `'not loaded'` | The message displayed when an rc file is not loaded. |
### Variables
| Variable | Beispiel | Beschreibung |
| --------- | ------------------- | --------------------------------------- |
| loaded | `loaded` | Whether the current rc file is loaded. |
| allowed | `denied` | Whether the current rc file is allowed. |
| rc_path | `/home/test/.envrc` | The current rc file path. |
| symbol | | Spiegelt den Wert der Option `symbol`. |
| style\* | `red bold` | Spiegelt den Wert der Option `style`. |
*: This variable can only be used as a part of a style string
### Beispiel
```toml
# ~/.config/starship.toml
[direnv]
disabled = false
```
## Docker Context
The `docker_context` module shows the currently active [Docker context](https://docs.docker.com/engine/context/working-with-contexts/) if it's not set to `default` or if the `DOCKER_MACHINE_NAME`, `DOCKER_HOST` or `DOCKER_CONTEXT` environment variables are set (as they are meant to override the context in use).
@ -1435,7 +1502,7 @@ The `fennel` module shows the currently installed version of [Fennel](https://fe
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🧅 '` | The symbol used before displaying the version of fennel. |
| `style` | `'bold green'` | Stil für dieses Modul. |
| `detect_extensions` | `[fnl]` | Which extensions should trigger this module. |
| `detect_extensions` | `['fnl']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `disabled` | `false` | Disables the `fennel` module. |
@ -1524,11 +1591,46 @@ truncation_length = 4
truncation_symbol = ''
```
## Fossil Metrics
The `fossil_metrics` module will show the number of added and deleted lines in the check-out in your current directory. At least v2.14 (2021-01-20) of Fossil is required.
### Optionen
| Option | Standartwert | Beschreibung |
| -------------------- | ------------------------------------------------------------ | ------------------------------------- |
| `format` | `'([+$added]($added_style) )([-$deleted]($deleted_style) )'` | Das Format für das Modul. |
| `added_style` | `'bold green'` | The style for the added count. |
| `deleted_style` | `'bold red'` | The style for the deleted count. |
| `only_nonzero_diffs` | `true` | Render status only for changed items. |
| `disabled` | `true` | Disables the `fossil_metrics` module. |
### Variables
| Variable | Beispiel | Beschreibung |
| ----------------- | -------- | ------------------------------------------- |
| added | `1` | The current number of added lines |
| deleted | `2` | The current number of deleted lines |
| added_style\* | | Mirrors the value of option `added_style` |
| deleted_style\* | | Mirrors the value of option `deleted_style` |
*: This variable can only be used as a part of a style string
### Beispiel
```toml
# ~/.config/starship.toml
[fossil_metrics]
added_style = 'bold blue'
format = '[+$added]($added_style)/[-$deleted]($deleted_style) '
```
## Google Cloud (`gcloud`)
The `gcloud` module shows the current configuration for [`gcloud`](https://cloud.google.com/sdk/gcloud) CLI. This is based on the `~/.config/gcloud/active_config` file and the `~/.config/gcloud/configurations/config_{CONFIG NAME}` file and the `CLOUDSDK_CONFIG` env var.
When the module is enabled it will always be active, unless `detect_env_vars` has been set in which case the module will only be active be active when one of the environment variables has been set.
When the module is enabled it will always be active, unless `detect_env_vars` has been set in which case the module will only be active when one of the environment variables has been set.
### Optionen
@ -1799,7 +1901,7 @@ The following variables can be used in `format`:
| Variable | Beschreibung |
| -------------- | ------------------------------------------------------------------------------------------------------------- |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$staged$untracked` |
| `all_status` | Shortcut for`$conflicted$stashed$deleted$renamed$modified$typechanged$staged$untracked` |
| `ahead_behind` | Displays `diverged`, `ahead`, `behind` or `up_to_date` format string based on the current status of the repo. |
| `conflicted` | Displays `conflicted` when this branch has merge conflicts. |
| `untracked` | Displays `untracked` when there are untracked files in the working directory. |
@ -1931,8 +2033,8 @@ The `guix_shell` module shows the [guix-shell](https://guix.gnu.org/manual/devel
| Option | Standartwert | Beschreibung |
| ---------- | -------------------------- | ------------------------------------------------------ |
| `format` | `'via [$symbol]($style) '` | Das Format für das Modul. |
| `symbol` | `"🐃 "` | A format string representing the symbol of guix-shell. |
| `style` | `"yellow bold"` | Stil für dieses Modul. |
| `symbol` | `'🐃 '` | A format string representing the symbol of guix-shell. |
| `style` | `'yellow bold'` | Stil für dieses Modul. |
| `disabled` | `false` | Disables the `guix_shell` module. |
### Variables
@ -1969,13 +2071,13 @@ The `gradle` module is only able to read your Gradle Wrapper version from your c
| Option | Standartwert | Beschreibung |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | Das Format für das Modul. |
| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"🅶 "` | A format string representing the symbol of Gradle. |
| `detect_extensions` | `["gradle", "gradle.kts"]` | Which extensions should trigger this module. |
| `format` | `'via [$symbol($version )]($style)'` | Das Format für das Modul. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'🅶 '` | A format string representing the symbol of Gradle. |
| `detect_extensions` | `['gradle', 'gradle.kts']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `["gradle"]` | Which folders should trigger this module. |
| `style` | `"bold bright-cyan"` | Stil für dieses Modul. |
| `detect_folders` | `['gradle']` | Which folders should trigger this module. |
| `style` | `'bold bright-cyan'` | Stil für dieses Modul. |
| `disabled` | `false` | Disables the `gradle` module. |
| `recursive` | `false` | Enables recursive finding for the `gradle` directory. |
@ -2034,13 +2136,13 @@ The `haxe` module shows the currently installed version of [Haxe](https://haxe.o
| Option | Standartwert | Beschreibung |
| ------------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | Das Format für das Modul. |
| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `["hx", "hxml"]` | Which extensions should trigger this module. |
| `detect_files` | `["project.xml", "Project.xml", "application.xml", "haxelib.json", "hxformat.json", ".haxerc"]` | Which filenames should trigger this module. |
| `detect_folders` | `[".haxelib", "haxe_libraries"]` | Which folders should trigger this modules. |
| `symbol` | `"⌘ "` | A format string representing the symbol of Helm. |
| `style` | `"bold fg:202"` | Stil für dieses Modul. |
| `format` | `'via [$symbol($version )]($style)'` | Das Format für das Modul. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `detect_extensions` | `['hx', 'hxml']` | Which extensions should trigger this module. |
| `detect_files` | `['project.xml', 'Project.xml', 'application.xml', 'haxelib.json', 'hxformat.json', '.haxerc']` | Which filenames should trigger this module. |
| `detect_folders` | `['.haxelib', 'haxe_libraries']` | Which folders should trigger this modules. |
| `symbol` | `'⌘ '` | A format string representing the symbol of Helm. |
| `style` | `'bold fg:202'` | Stil für dieses Modul. |
| `disabled` | `false` | Disables the `haxe` module. |
### Variables
@ -2107,14 +2209,15 @@ Das `hostname`-Modul zeigt den Hostnamen des Systems an.
### Optionen
| Option | Standartwert | Beschreibung |
| ------------ | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| `ssh_only` | `true` | Zeigt den Hostnamen nur, wenn via SSH-Sitzung verbunden. |
| `ssh_symbol` | `'🌐 '` | A format string representing the symbol when connected to SSH session. |
| `trim_at` | `'.'` | String that the hostname is cut off at, after the first match. `'.'` will stop after the first dot. `''` will disable any truncation |
| `format` | `'[$ssh_symbol$hostname]($style) in '` | Das Format für das Modul. |
| `style` | `'bold dimmed green'` | Stil für dieses Modul. |
| `disabled` | `false` | Deaktiviert das `hostname`-Modul. |
| Option | Standartwert | Beschreibung |
| ----------------- | -------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `ssh_only` | `true` | Zeigt den Hostnamen nur, wenn via SSH-Sitzung verbunden. |
| `ssh_symbol` | `'🌐 '` | A format string representing the symbol when connected to SSH session. |
| `trim_at` | `'.'` | String that the hostname is cut off at, after the first match. `'.'` will stop after the first dot. `''` will disable any truncation. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$ssh_symbol$hostname]($style) in '` | Das Format für das Modul. |
| `style` | `'bold dimmed green'` | Stil für dieses Modul. |
| `disabled` | `false` | Deaktiviert das `hostname`-Modul. |
### Variables
@ -2126,7 +2229,9 @@ Das `hostname`-Modul zeigt den Hostnamen des Systems an.
*: This variable can only be used as a part of a style string
### Beispiel
### Beispiele
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -2138,6 +2243,17 @@ trim_at = '.companyname.com'
disabled = false
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Java
The `java` module shows the currently installed version of [Java](https://www.oracle.com/java/). By default the module will be shown if any of the following conditions are met:
@ -2323,7 +2439,7 @@ kotlin_binary = 'kotlinc'
## Kubernetes
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly, the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
::: tip
@ -2335,18 +2451,40 @@ When the module is enabled it will always be active, unless any of `detect_exten
### Optionen
::: warning
The `context_aliases` and `user_aliases` options are deprecated. Use `contexts` and the corresponding `context_alias` and `user_alias` options instead.
:::
| Option | Standartwert | Beschreibung |
| ------------------- | ---------------------------------------------------- | --------------------------------------------------------------------- |
| `symbol` | `'☸ '` | A format string representing the symbol displayed before the Cluster. |
| `format` | `'[$symbol$context( \($namespace\))]($style) in '` | Das Format für das Modul. |
| `style` | `'cyan bold'` | Stil für dieses Modul. |
| `context_aliases` | `{}` | Table of context aliases to display. |
| `user_aliases` | `{}` | Table of user aliases to display. |
| `context_aliases`* | `{}` | Table of context aliases to display. |
| `user_aliases`* | `{}` | Table of user aliases to display. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this modules. |
| `contexts` | `[]` | Customized styles and symbols for specific contexts. |
| `disabled` | `true` | Deaktiviert das `kubernetes`-Modul. |
*: This option is deprecated, please add `contexts` with the corresponding `context_alias` and `user_alias` options instead.
To customize the style of the module for specific environments, use the following configuration as part of the `contexts` list:
| Variable | Beschreibung |
| ----------------- | ---------------------------------------------------------------------------------------- |
| `context_pattern` | **Required** Regular expression to match current Kubernetes context name. |
| `user_pattern` | Regular expression to match current Kubernetes user name. |
| `context_alias` | Context alias to display instead of the full context name. |
| `user_alias` | User alias to display instead of the full user name. |
| `style` | The style for the module when using this context. If not set, will use module's style. |
| `symbol` | The symbol for the module when using this context. If not set, will use module's symbol. |
Note that all regular expression are anchored with `^<pattern>$` and so must match the whole string. The `*_pattern` regular expressions may contain capture groups, which can be referenced in the corresponding alias via `$name` and `$N` (see example below and the [rust Regex::replace() documentation](https://docs.rs/regex/latest/regex/struct.Regex.html#method.replace)).
### Variables
| Variable | Beispiel | Beschreibung |
@ -2368,13 +2506,9 @@ When the module is enabled it will always be active, unless any of `detect_exten
[kubernetes]
format = 'on [⛵ ($user on )($cluster in )$context \($namespace\)](dimmed green) '
disabled = false
[kubernetes.context_aliases]
'dev.local.cluster.k8s' = 'dev'
'.*/openshift-cluster/.*' = 'openshift'
'gke_.*_(?P<var_cluster>[\w-]+)' = 'gke-$var_cluster'
[kubernetes.user_aliases]
'dev.local.cluster.k8s' = 'dev'
'root/.*' = 'root'
contexts = [
{ context_pattern = "dev.local.cluster.k8s", style = "green", symbol = "💔 " },
]
```
Only show the module in directories that contain a `k8s` file.
@ -2387,25 +2521,36 @@ disabled = false
detect_files = ['k8s']
```
#### Regex Matching
#### Kubernetes Context specific config
Additional to simple aliasing, `context_aliases` and `user_aliases` also supports extended matching and renaming using regular expressions.
The regular expression must match on the entire kube context, capture groups can be referenced using `$name` and `$N` in the replacement. This is more explained in the [regex crate](https://docs.rs/regex/1.5.4/regex/struct.Regex.html#method.replace) documentation.
Long and automatically generated cluster names can be identified and shortened using regular expressions:
The `contexts` configuration option is used to customise what the current Kubernetes context name looks like (style and symbol) if the name matches the defined regular expression.
```toml
[kubernetes.context_aliases]
# OpenShift contexts carry the namespace and user in the kube context: `namespace/name/user`:
'.*/openshift-cluster/.*' = 'openshift'
# Or better, to rename every OpenShift cluster at once:
'.*/(?P<var_cluster>[\w-]+)/.*' = '$var_cluster'
# ~/.config/starship.toml
[[kubernetes.contexts]]
# "bold red" style + default symbol when Kubernetes current context name equals "production" *and* the current user
# equals "admin_user"
context_pattern = "production"
user_pattern = "admin_user"
style = "bold red"
context_alias = "prod"
user_alias = "admin"
[[kubernetes.contexts]]
# "green" style + a different symbol when Kubernetes current context name contains openshift
context_pattern = ".*openshift.*"
style = "green"
symbol = "💔 "
context_alias = "openshift"
[[kubernetes.contexts]]
# Using capture groups
# Contexts from GKE, AWS and other cloud providers usually carry additional information, like the region/zone.
# The following entry matches on the GKE format (`gke_projectname_zone_cluster-name`)
# and renames every matching kube context into a more readable format (`gke-cluster-name`):
'gke_.*_(?P<var_cluster>[\w-]+)' = 'gke-$var_cluster'
context_pattern = "gke_.*_(?P<cluster>[\\w-]+)"
context_alias = "gke-$cluster"
```
## Zeilenumbruch
@ -2730,7 +2875,7 @@ The `nodejs` module shows the currently installed version of [Node.js](https://n
| `detect_folders` | `['node_modules']` | Which folders should trigger this module. |
| `style` | `'bold green'` | Stil für dieses Modul. |
| `disabled` | `false` | Deaktiviert das `nodejs`-Modul. |
| `not_capable_style` | `bold red` | The style for the module when an engines property in package.json does not match the Node.js version. |
| `not_capable_style` | `'bold red'` | The style for the module when an engines property in package.json does not match the Node.js version. |
### Variables
@ -2890,8 +3035,8 @@ Dieses Modul ist standardmäßig deaktiviert. Setze in deiner Konfiguration `dis
| Option | Standartwert | Beschreibung |
| ---------- | --------------------- | ------------------------------------------------------ |
| `format` | `"[$symbol]($style)"` | Das Format für das Modul. |
| `style` | `"bold white"` | Stil für dieses Modul. |
| `format` | `'[$symbol]($style)'` | Das Format für das Modul. |
| `style` | `'bold white'` | Stil für dieses Modul. |
| `disabled` | `true` | Disables the `os` module. |
| `symbols` | | A table that maps each operating system to its symbol. |
@ -2900,7 +3045,9 @@ Dieses Modul ist standardmäßig deaktiviert. Setze in deiner Konfiguration `dis
```toml
# This is the default symbols table.
[os.symbols]
AIX = "➿ "
Alpaquita = "🔔 "
AlmaLinux = "💠 "
Alpine = "🏔️ "
Amazon = "🙂 "
Android = "🤖 "
@ -2917,6 +3064,7 @@ Garuda = "🦅 "
Gentoo = "🗜️ "
HardenedBSD = "🛡️ "
Illumos = "🐦 "
Kali = "🐉 "
Linux = "🐧 "
Mabox = "📦 "
Macos = "🍎 "
@ -2935,11 +3083,14 @@ Pop = "🍭 "
Raspbian = "🍓 "
Redhat = "🎩 "
RedHatEnterprise = "🎩 "
RockyLinux = "💠 "
Redox = "🧪 "
Solus = "⛵ "
SUSE = "🦎 "
Ubuntu = "🎯 "
Ultramarine = "🔷 "
Unknown = "❓ "
Void = " "
Windows = "🪟 "
```
@ -3224,7 +3375,7 @@ The `python` module shows the currently installed version of [Python](https://ww
If `pyenv_version_name` is set to `true`, it will display the pyenv version name. Otherwise, it will display the version number from `python --version`.
By default the module will be shown if any of the following conditions are met:
By default, the module will be shown if any of the following conditions are met:
- Das aktuelle Verzeichnis enthält eine `.python-version`-Datei
- Das aktuelle Verzeichnis enthält eine `Pipfile`-Datei
@ -3245,7 +3396,7 @@ By default the module will be shown if any of the following conditions are met:
| `symbol` | `'🐍 '` | A format string representing the symbol of Python |
| `style` | `'yellow bold'` | Stil für dieses Modul. |
| `pyenv_version_name` | `false` | Verwende `pyenv` um die Python-Versionzu beziehen. |
| `pyenv_prefix` | `pyenv` | Prefix before pyenv version display, only used if pyenv is used |
| `pyenv_prefix` | `'pyenv'` | Prefix before pyenv version display, only used if pyenv is used |
| `python_binary` | `['python', 'python3', 'python2']` | Configures the python binaries that Starship should executes when getting the version. |
| `detect_extensions` | `['py']` | Which extensions should trigger this module |
| `detect_files` | `['.python-version', 'Pipfile', '__init__.py', 'pyproject.toml', 'requirements.txt', 'setup.py', 'tox.ini']` | Which filenames should trigger this module |
@ -3296,16 +3447,37 @@ python_binary = 'python3'
detect_extensions = []
```
```toml
# ~/.config/starship.toml
## Quarto
[python]
# Display the version of python from inside a local venv.
#
# Note this will only work when the venv is inside the project and it will only
# work in the directory that contains the venv dir but maybe this is ok?
python_binary = ['./venv/bin/python', 'python', 'python3', 'python2']
```
The `quarto` module shows the current installed version of Quarto used in a project.
By default, the module will be shown if any of the following conditions are met:
- The current directory contains a `_quarto.yml` file
- The current directory contains any `*.qmd` file
### Optionen
| Option | Standartwert | Beschreibung |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | Das Format für das Modul. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'⨁ '` | A format string representing the symbol of Quarto |
| `style` | `'bold #75AADB'` | Stil für dieses Modul. |
| `detect_extensions` | `['.qmd']` | Which extensions should trigger this module. |
| `detect_files` | `['_quarto.yml']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `quarto` module. |
### Variables
| Variable | Beispiel | Beschreibung |
| --------- | --------- | ------------------------------------- |
| version | `1.4.549` | The version of `quarto` |
| symbol | | Spiegelt den Wert der Option `symbol` |
| style\* | | Spiegelt den Wert der Option `style` |
*: This variable can only be used as a part of a style string
## R
@ -3452,11 +3624,12 @@ Starship gets the current Ruby version by running `ruby -v`.
### Variables
| Variable | Beispiel | Beschreibung |
| --------- | -------- | ------------------------------------- |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Spiegelt den Wert der Option `symbol` |
| style\* | | Spiegelt den Wert der Option `style` |
| Variable | Beispiel | Beschreibung |
| --------- | -------- | ------------------------------------------- |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | Spiegelt den Wert der Option `symbol` |
| style\* | | Spiegelt den Wert der Option `style` |
| gemset | `test` | Optional, gets the current RVM gemset name. |
*: This variable can only be used as a part of a style string
@ -3562,22 +3735,23 @@ Dieses Modul ist standardmäßig deaktiviert. Setze in deiner Konfiguration `dis
### Optionen
| Option | Standartwert | Beschreibung |
| ---------------------- | ------------------------- | ------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | Das Format für das Modul. |
| `style` | `'white bold'` | Stil für dieses Modul. |
| `disabled` | `true` | Disables the `shell` module. |
| Option | Standartwert | Beschreibung |
| ---------------------- | ------------------------- | ------------------------------------------------------------------------------------------------------ |
| `bash_indicator` | `'bsh'` | A format string used to represent bash. |
| `fish_indicator` | `'fsh'` | A format string used to represent fish. |
| `zsh_indicator` | `'zsh'` | A format string used to represent zsh. |
| `powershell_indicator` | `'psh'` | A format string used to represent powershell. |
| `pwsh_indicator` | | A format string used to represent pwsh. The default value mirrors the value of `powershell_indicator`. |
| `ion_indicator` | `'ion'` | A format string used to represent ion. |
| `elvish_indicator` | `'esh'` | A format string used to represent elvish. |
| `tcsh_indicator` | `'tsh'` | A format string used to represent tcsh. |
| `xonsh_indicator` | `'xsh'` | A format string used to represent xonsh. |
| `cmd_indicator` | `'cmd'` | A format string used to represent cmd. |
| `nu_indicator` | `'nu'` | A format string used to represent nu. |
| `unknown_indicator` | `''` | The default value to be displayed when the shell is unknown. |
| `format` | `'[$indicator]($style) '` | Das Format für das Modul. |
| `style` | `'white bold'` | Stil für dieses Modul. |
| `disabled` | `true` | Disables the `shell` module. |
### Variables
@ -3694,14 +3868,14 @@ The `solidity` module shows the currently installed version of [Solidity](https:
| Option | Standartwert | Beschreibung |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `"via [$symbol($version )]($style)"` | Das Format für das Modul. |
| `version_format` | `"v${major}.${minor}.${patch}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `"S "` | A format string representing the symbol of Solidity |
| `compiler | ["solc"] | The default compiler for Solidity. |
| `detect_extensions` | `["sol"]` | Which extensions should trigger this module. |
| `format` | `'via [$symbol($version )]($style)'` | Das Format für das Modul. |
| `version_format` | `'v${major}.${minor}.${patch}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'S '` | A format string representing the symbol of Solidity |
| `compiler | ['solc'] | The default compiler for Solidity. |
| `detect_extensions` | `['sol']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `style` | `"bold blue"` | Stil für dieses Modul. |
| `style` | `'bold blue'` | Stil für dieses Modul. |
| `disabled` | `false` | Disables this module. |
### Variables
@ -4009,6 +4183,39 @@ utc_time_offset = '-5'
time_range = '10:00:00-14:00:00'
```
## Typst
The `typst` module shows the current installed version of Typst used in a project.
By default, the module will be shown if any of the following conditions are met:
- Das aktuelle Verzeichnis enthält eine `template.typ`-Datei
- The current directory contains any `*.typ` file
### Optionen
| Option | Standartwert | Beschreibung |
| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| `format` | `'via [$symbol($version )]($style)'` | Das Format für das Modul. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'t '` | A format string representing the symbol of Daml |
| `style` | `'bold #0093A7'` | Stil für dieses Modul. |
| `detect_extensions` | `['.typ']` | Which extensions should trigger this module. |
| `detect_files` | `['template.typ']` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `daml` module. |
### Variables
| Variable | Beispiel | Beschreibung |
| ------------- | --------- | ----------------------------------------------- |
| version | `v0.9.0` | The version of `typst`, alias for typst_version |
| typst_version | `default` | The current Typst version |
| symbol | | Spiegelt den Wert der Option `symbol` |
| style\* | | Spiegelt den Wert der Option `style` |
*: This variable can only be used as a part of a style string
## Username
Das `username` Modul zeigt den Namen des aktiven Benutzers. Das Modul wird gezeigt, wenn mindestens einer der folgenden Punkte erfüllt ist:
@ -4017,6 +4224,7 @@ Das `username` Modul zeigt den Namen des aktiven Benutzers. Das Modul wird gezei
- Der aktuelle Benutzer ist nicht der eingeloggte Benutzer
- Der Benutzer ist aktuell via SSH verbunden
- Die Variable `show_always` ist auf true gesetzt
- The array `detect_env_vars` contains at least the name of one environment variable, that is set
::: tip
@ -4026,13 +4234,14 @@ SSH connection is detected by checking environment variables `SSH_CONNECTION`, `
### Optionen
| Option | Standartwert | Beschreibung |
| ------------- | ----------------------- | ---------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | Stil wenn der Benutzer nicht unter root läuft. |
| `format` | `'[$user]($style) in '` | Das Format für das Modul. |
| `show_always` | `false` | Immer das `username` Modul anzeigen. |
| `disabled` | `false` | Deavktiviert das `username` Modul. |
| Option | Standartwert | Beschreibung |
| ----------------- | ----------------------- | --------------------------------------------------------- |
| `style_root` | `'bold red'` | The style used when the user is root/admin. |
| `style_user` | `'bold yellow'` | Stil wenn der Benutzer nicht unter root läuft. |
| `detect_env_vars` | `[]` | Which environment variable(s) should trigger this module. |
| `format` | `'[$user]($style) in '` | Das Format für das Modul. |
| `show_always` | `false` | Immer das `username` Modul anzeigen. |
| `disabled` | `false` | Deavktiviert das `username` Modul. |
### Variables
@ -4043,6 +4252,8 @@ SSH connection is detected by checking environment variables `SSH_CONNECTION`, `
### Beispiel
#### Always show the hostname
```toml
# ~/.config/starship.toml
@ -4054,6 +4265,17 @@ disabled = false
show_always = true
```
#### Hide the hostname in remote tmux sessions
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
detect_env_vars = ['!TMUX', 'SSH_CONNECTION']
disabled = false
```
## Vagrant
The `vagrant` module shows the currently installed version of [Vagrant](https://www.vagrantup.com/). By default the module will be shown if any of the following conditions are met:

View File

@ -58,7 +58,7 @@ curl -sS https://starship.rs/install.sh | sh -s -- --platform unknown-linux-musl
## Why do I see `Executing command "..." timed out.` warnings?
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](/config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
Starship executes different commands to get information to display in the prompt, for example the version of a program or the current git status. To make sure starship doesn't hang while trying to execute these commands we set a time limit, if a command takes longer than this limit starship will stop the execution of the command and output the above warning, this is expected behaviour. This time limit is configurable using the [`command_timeout`key](../config/#prompt) so if you want you can increase the time limit. You can also follow the debugging steps below to see which command is being slow and see if you can optimise it. Finally you can set the `STARSHIP_LOG` env var to `error` to hide these warnings.
## I see symbols I don't understand or expect, what do they mean?
@ -72,7 +72,7 @@ You can enable the debug logs by using the `STARSHIP_LOG` env var. These logs ca
env STARSHIP_LOG=trace starship module rust
```
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that to blame.
If starship is being slow you can try using the `timings` command to see if there is a particular module or command that is to blame.
```sh
env STARSHIP_LOG=trace starship timings
@ -120,3 +120,11 @@ Wenn Starship mit Hilfe des Installationsscripts installiert wurde, entfernt der
# Locate and delete the starship binary
sh -c 'rm "$(command -v 'starship')"'
```
## How do I install Starship without `sudo`?
The shell install script (`https://starship.rs/install.sh`) only attempts to use `sudo` if the target installation directory is not writable by the current user. The default installation diretory is the value of the `$BIN_DIR` environment variable or `/usr/local/bin` if `$BIN_DIR` is not set. If you instead set the installation directory to one that is writable by your user, you should be able to install starship without `sudo`. For example, `curl -sS https://starship.rs/install.sh | sh -s -- -b ~/.local/bin` uses the `-b` command line option of the install script to set the installation directory to `~/.local/bin`.
For a non-interactive installation of Starship, don't forget to add the `-y` option to skip the confirmation. Check the source of the installation script for a list of all supported installation options.
When using a package manager, see the documentation for your package manager about installing with or without `sudo`.

View File

@ -32,6 +32,11 @@
src="https://img.shields.io/badge/twitter-@StarshipPrompt-1DA1F3?style=flat-square"
alt="Folge @StarshipPrompt auf Twitter"
/></a>
<a href="https://stand-with-ukraine.pp.ua"
><img
src="https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraineFlat.svg"
alt="Wir stehen zur Ukraine"
/></a>
</p>
<p align="center">
@ -103,7 +108,7 @@
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-br.png"
alt="Portugiesisch (Brasilien)"
alt="Português do Brasil"
/></a>
&nbsp;
<a
@ -127,7 +132,7 @@
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-vn.png"
alt="Vietnamesisch"
alt="Tiếng Việt"
/></a>
&nbsp;
<a
@ -147,8 +152,6 @@
/></a>
</p>
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://vshymanskyy.github.io/StandWithUkraine)
<h1></h1>
<img
@ -177,7 +180,7 @@
### Voraussetzungen
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal (for example, try the [FiraCode Nerd Font](https://www.nerdfonts.com/font-downloads)).
- Eine [Nerd Font](https://www.nerdfonts.com/), installiert und in deinem Terminal aktiviert (versuche es zum Beispiel mal mit der [FiraCode Nerd Font](https://www.nerdfonts.com/font-downloads)).
### Schritt 1. Installiere Starship
@ -229,6 +232,7 @@ Alternatively, install Starship using any of the following package managers:
| Gentoo | [Gentoo Packages](https://packages.gentoo.org/packages/app-shells/starship) | `emerge app-shells/starship` |
| Manjaro | | `pacman -S starship` |
| NixOS | [nixpkgs](https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix) | `nix-env -iA nixpkgs.starship` |
| openSUSE | [OSS](https://software.opensuse.org/package/starship) | `zypper in starship` |
| Void Linux | [Void Linux Packages](https://github.com/void-linux/void-packages/tree/master/srcpkgs/starship) | `xbps-install -S starship` |
</details>
@ -270,14 +274,14 @@ Install Starship using any of the following package managers:
</details>
### Schritt 2. Set up your shell to use Starship
### Schritt 2. Richte deine Shell für die Nutzung von Starship ein
Konfigurieren deine Shell um Starship zu initialisieren. Wähle dafür deine Shell aus der Liste aus:
Konfiguriere deine Shell, um Starship automatisch zu starten. Wähle dafür deine Shell aus der Liste aus:
<details>
<summary>Bash</summary>
Trage folgendes am Ende der `~/.bashrc` ein:
Füge dies ans Ende von `~/.bashrc`:
```sh
eval "$(starship init bash)"
@ -288,7 +292,7 @@ eval "$(starship init bash)"
<details>
<summary>⌘ Cmd</summary>
Du musst [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) mit Cmd verwenden. Create a file at this path `%LocalAppData%\clink\starship.lua` with the following contents:
Du musst [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) mit Cmd verwenden. Erstelle eine Datei in diesem Pfad `%LocalAppData%\clink\starship.lua` mit dem folgenden Inhalt:
```lua
load(io.popen('starship init cmd'):read("*a"))()
@ -334,27 +338,27 @@ eval $(starship init ion)
<details>
<summary>Nushell</summary>
Add the following to the end of your Nushell env file (find it by running `$nu.env-path` in Nushell):
Füge folgendes zum Ende deiner Nushell env Datei hinzu (finde sie, indem du `$nu.env-path` in Nushell ausführst):
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
```
Und füge folgendes am Ende deiner Nushell-Konfiguration hinzu (du findest diese, indem du folgenden Befehl in Nushell ausführst `$nu.config-path`):
Und füge Folgendes am Ende deiner Nushell-Konfiguration hinzu (finde sie, indem du folgenden Befehl in Nushell ausführst `$nu.config-path`):
```sh
use ~/.cache/starship/init.nu
```
Note: Only Nushell v0.78+ is supported
Beachte: Nushell wird erst ab v0.78+ unterstützt
</details>
<details>
<summary>PowerShell</summary>
Add the following to the end of your PowerShell configuration (find it by running `$PROFILE`):
Füge Folgendes am Ende deiner PowerShell-Konfiguration hinzu (finde sie, indem du folgenden Befehl ausführst `$PROFILE`):
```powershell
Invoke-Expression (&starship init powershell)
@ -365,7 +369,7 @@ Invoke-Expression (&starship init powershell)
<details>
<summary>Tcsh</summary>
Trage folgendes am Ende von `~/.bashrc` ein:
Füge Folgendes am Ende von `~/.tcshrc` ein:
```sh
eval `starship init tcsh`
@ -417,19 +421,15 @@ Falls du an Starship mitwirken willst, wirf bitte einen Blick auf den [Leitfaden
Schaut euch bitte auch die Projekte an, die die Entstehung von Starship inspiriert haben. 🙏
- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** A ZSH prompt for astronauts.
- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** Eine ZSH Prompt für Astronauten.
- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** Cross-shell robbyrussell theme written in JavaScript.
- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** Cross-Shell robbyrussell Thema geschrieben in JavaScript.
- **[reujab/silver](https://github.com/reujab/silver)** A cross-shell customizable powerline-like prompt with icons.
- **[reujab/silber](https://github.com/reujab/silver)** Eine cross-shell anpassbare Powerline-Prompt mit Icons.
## ❤️ Sponsors
## ❤️ Sponsoren
Support this project by [becoming a sponsor](https://github.com/sponsors/starship). Your name or logo will show up here with a link to your website.
**Supporter Tier**
- [Appwrite](https://appwrite.io/)
Unterstütze dieses Projekt, indem du [ein Sponsor wirst](https://github.com/sponsors/starship). Dein Name und Logo wird hier mit einem Link zu deiner Website erscheinen.
<p align="center">
<br>

View File

@ -5,7 +5,7 @@ Um Starship zu installieren, musst du zwei Dinge tun:
1. Lade die **starship** Datei auf den Computer herunter
1. Weise deine Shell an die Starship Datei als Eingabeaufforderung zu nutzen, indem du eines der Initialisierungs-Skripte benutzt
Die Anleitung auf [der Hauptseite](/guide/#🚀-installation) wird für die meisten Benutzer ausreichend sein. Für einige speziellere Plattformen wird jedoch eine speziellere Anleitung benötigt.
For most users, the instructions on [the main page](../guide/#🚀-installation) will work great. Für einige speziellere Plattformen wird jedoch eine speziellere Anleitung benötigt.
Es gibt sehr viele Plattformen, sodass diese nicht alle in die Hauptanleitung passen, aus diesem Grund sind hier ein paar Installationsanweisungen für ein paar Plattformen von der Community. Ist deine Platform nicht dabei? Dann füge bitte deine hinzu, sobald du herausgefunden hast wie man starship mit dieser benutzt!

View File

@ -63,3 +63,15 @@ This preset is inspired by [M365Princess](https://github.com/JanDeDobbeleer/oh-m
This preset is inspired by [tokyo-night-vscode-theme](https://github.com/enkia/tokyo-night-vscode-theme).
[![Screenshot of Tokyo Night preset](/presets/img/tokyo-night.png "Click to view Tokyo Night preset")](./tokyo-night)
## [Gruvbox Rainbow](./gruvbox-rainbow.md)
Diese Voreinstellung ist stark inspiriert von [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
[![Screenshot von Gruvbox Regenbogen](/presets/img/gruvbox-rainbow.png "Click to view Gruvbox Rainbow preset")](./gruvbox-rainbow)
## [Jetpack](./jetpack.md)
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
[![Screenshot of Jetpack preset](/presets/img/jetpack.png "Click to view Jetpack preset")](./jetpack)

View File

@ -1,4 +1,4 @@
[Zurück zu den Voreinstellungen](./README.md#bracketed-segments)
[Zurück zu den Voreinstellungen](./#bracketed-segments)
# Bracketed Segments Preset
@ -14,4 +14,4 @@ starship preset bracketed-segments -o ~/.config/starship.toml
[Zum Herunterladen der TOML Datei klicken](/presets/toml/bracketed-segments.toml)
<<< @/.vuepress/public/presets/toml/bracketed-segments.toml
<<< @/public/presets/toml/bracketed-segments.toml

View File

@ -0,0 +1,21 @@
[Zurück zu den Voreinstellungen](./#gruvbox-rainbow)
# Gruvbox Regenbogen
Diese Voreinstellung ist stark inspiriert von [Pastel Powerline](./pastel-powerline.md), and [Tokyo Night](./tokyo-night.md).
![Screenshot von Gruvbox Regenbogen](/presets/img/gruvbox-rainbow.png)
### Voraussetzungen
- Eine [Nerd Font](https://www.nerdfonts.com/) installiert und aktiviert in deinem Terminal
### Konfiguration
```sh
starship preset gruvbox-rainbow -o ~/.config/starship.toml
```
[Zum Herunterladen der TOML Datei klicken](/presets/toml/gruvbox-rainbow.toml)
<<< @/public/presets/toml/gruvbox-rainbow.toml

View File

@ -0,0 +1,24 @@
[Zurück zu den Voreinstellungen](./#jetpack)
# Jetpack Preset
This is a pseudo minimalist preset inspired by the [geometry](https://github.com/geometry-zsh/geometry) and [spaceship](https://github.com/spaceship-prompt/spaceship-prompt) prompts.
> Jetpack uses the terminal's color theme.
![Screenshot of Jetpack preset](/presets/img/jetpack.png)
### Prerequisite
- Requires a shell with [`right-prompt`](https://starship.rs/advanced-config/#enable-right-prompt) support.
- [Jetbrains Mono](https://www.jetbrains.com/lp/mono/) is recommended.
### Konfiguration
```sh
starship preset jetpack -o ~/.config/starship.toml
```
[Zum Herunterladen der TOML Datei klicken](/presets/toml/jetpack.toml)
<<< @/public/presets/toml/jetpack.toml

View File

@ -1,4 +1,4 @@
[Zurück zu den Voreinstellungen](./README.md#nerd-font-symbols)
[Zurück zu den Voreinstellungen](./#nerd-font-symbols)
# Nerd Font Symbols Preset
@ -18,4 +18,4 @@ starship preset nerd-font-symbols -o ~/.config/starship.toml
[Zum Herunterladen der TOML Datei klicken](/presets/toml/nerd-font-symbols.toml)
<<< @/.vuepress/public/presets/toml/nerd-font-symbols.toml
<<< @/public/presets/toml/nerd-font-symbols.toml

View File

@ -1,4 +1,4 @@
[Zurück zu den Voreinstellungen](./README.md#no-empty-icons)
[Zurück zu den Voreinstellungen](./#no-empty-icons)
# No Empty Icons Preset
@ -14,4 +14,4 @@ starship preset no-empty-icons -o ~/.config/starship.toml
[Zum Herunterladen der TOML Datei klicken](/presets/toml/no-empty-icons.toml)
<<< @/.vuepress/public/presets/toml/no-empty-icons.toml
<<< @/public/presets/toml/no-empty-icons.toml

View File

@ -1,4 +1,4 @@
[Zurück zu den Voreinstellungen](./README.md#no-nerd-fonts)
[Zurück zu den Voreinstellungen](./#no-nerd-fonts)
# No Nerd Fonts Preset
@ -16,4 +16,4 @@ starship preset no-nerd-font -o ~/.config/starship.toml
[Zum Herunterladen der TOML Datei klicken](/presets/toml/no-nerd-font.toml)
<<< @/.vuepress/public/presets/toml/no-nerd-font.toml
<<< @/public/presets/toml/no-nerd-font.toml

View File

@ -1,4 +1,4 @@
[Zurück zu den Voreinstellungen](./README.md#no-runtime-versions)
[Zurück zu den Voreinstellungen](./#no-runtime-versions)
# No Runtime Versions Preset
@ -14,4 +14,4 @@ starship preset no-runtime-versions -o ~/.config/starship.toml
[Zum Herunterladen der TOML Datei klicken](/presets/toml/no-runtime-versions.toml)
<<< @/.vuepress/public/presets/toml/no-runtime-versions.toml
<<< @/public/presets/toml/no-runtime-versions.toml

Some files were not shown because too many files have changed in this diff Show More