starship/docs
Jan Katins 6b444e05c6
feat(kubernetes): Add styling based on current context (#4550)
* feat(kubernetes): Add styling based on current context

Add an ability to customize the configuration of the kubernetes module style, based on the current context.

A new variable is added to the config section, called environments, which is a list of possible customizations. Each such customization is an object with a context_pattern regex, which matches context name, and an optional style and icon that will override the global configuration, if the currently used context matched the context_pattern.

Based on multiple attempts to add per-context styling and symbols to the kubernetes module.

- https://github.com/starship/starship/pull/1568 by @lht https://github.com/lht -> base
- https://github.com/starship/starship/pull/614 by @nomaed https://github.com/nomaed -> naming, symbol, some tests

Rebased and combined by @jankatins

Contains the following squasched commits

- Rename to contexts and move aliases into contexts
- Move deprecated functions to a submodule
- Cleanup: ignore None-valued KubeCtxComponents
- Add regex func + clean up matching-context search
- Placate paper clip

Closes: https://github.com/starship/starship/issues/570

Co-authored-by: =?UTF-8?q?Boris=20Aranovic=CC=8C?= <nomaed@gmail.com>
Co-authored-by: Jan Katins <jasc@gmx.net>
Co-authored-by: Kevin Song <chips@ksong.dev>

* refactor(kubernetes): Remove options and use clearer names

* test(kubernetes): Handle duplicated contexts right

* refactor(kubernetes): Cleaner user matching

* fix(kubernetes): Only show warning in case of problems

* feat(kubernetes): Add back alias replacements

* refactor(kubernetes): Cleanup rust usage

---------

Co-authored-by: Haitao Li <lihaitao@gmail.com>
Co-authored-by: =?UTF-8?q?Boris=20Aranovic=CC=8C?= <nomaed@gmail.com>
Co-authored-by: Kevin Song <chips@ksong.dev>
Co-authored-by: David Knaack <davidkna@users.noreply.github.com>
2023-09-02 09:19:33 +02:00
..
.vuepress docs(preset): Add Jetpack Preset (#5261) 2023-09-01 16:10:04 -05:00
advanced-config docs(pwsh): use a more convenient method to update the window title (#5125) 2023-04-23 13:42:51 +02:00
ar-SA docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
ckb-IR docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
config feat(kubernetes): Add styling based on current context (#4550) 2023-09-02 09:19:33 +02:00
de-DE docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
es-ES docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
faq docs: fix typos (#4889) 2023-02-07 12:52:41 +01:00
fr-FR docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
guide docs: Add vuepress with initial docs (#99) 2019-07-19 16:18:52 -04:00
id-ID docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
installing fix(docs): fix and cleanup VuePress config (#3738) 2022-03-11 14:48:44 -06:00
it-IT docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
ja-JP docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
ko-KR docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
migrating-to-0.45.0 ci: Use `dprint` to format documentation + TOML files (#3426) 2022-01-20 11:32:09 +03:00
nl-NL docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
no-NO docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
pl-PL docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
presets docs(preset): Add Jetpack Preset (#5261) 2023-09-01 16:10:04 -05:00
pt-BR docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
pt-PT docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
ru-RU docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
tr-TR docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
uk-UA docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
vi-VN docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
zh-CN docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
zh-TW docs(i18n): new Crowdin updates (#5237) 2023-07-30 15:29:01 +02:00
README.md feat: update the nushell init file and make it valid module and overlay (#5188) 2023-06-12 11:02:46 +02:00
package-lock.json build(deps): update dependency vuepress to ^1.9.10 2023-08-21 04:54:25 +00:00
package.json build(deps): update dependency vuepress to ^1.9.10 2023-08-21 04:54:25 +00:00

README.md

home heroImage heroText tagline actionText actionLink features footer metaTitle description
true /logo.svg null The minimal, blazing-fast, and infinitely customizable prompt for any shell! Get Started → ./guide/
title details
Compatibility First Works on the most common shells on the most common operating systems. Use it everywhere!
title details
Rust-Powered Brings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible.
title details
Customizable Every little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.
ISC Licensed | Copyright © 2019-present Starship Contributors Starship: Cross-Shell Prompt 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.

Prerequisites

  • A Nerd Font installed and enabled in your terminal.

Quick Install

  1. Install the starship binary:

    Install Latest Version

    With Shell:

    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:

    brew install starship
    

    With Winget:

    winget install starship
    
  2. Add the init script to your shell's config file:

    Bash

    Add the following to the end of ~/.bashrc:

    # ~/.bashrc
    
    eval "$(starship init bash)"
    

    Fish

    Add the following to the end of ~/.config/fish/config.fish:

    # ~/.config/fish/config.fish
    
    starship init fish | source
    

    Zsh

    Add the following to the end of ~/.zshrc:

    # ~/.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.

    Invoke-Expression (&starship init powershell)
    

    Ion

    Add the following to the end of ~/.config/ion/initrc:

    # ~/.config/ion/initrc
    
    eval $(starship init ion)
    

    Elvish

    ::: warning

    Only elvish v0.18 or higher is supported.

    :::

    Add the following to the end of ~/.elvish/rc.elv:

    # ~/.elvish/rc.elv
    
    eval (starship init elvish)
    

    Tcsh

    Add the following to the end of ~/.tcshrc:

    # ~/.tcshrc
    
    eval `starship init tcsh`
    

    Nushell

    ::: warning

    This will change in the future. Only Nushell v0.78+ is supported.

    :::

    Add the following to the end of your Nushell env file (find it by running $nu.env-path in Nushell):

    mkdir ~/.cache/starship
    starship init nu | save -f ~/.cache/starship/init.nu
    

    And add the following to the end of your Nushell configuration (find it by running $nu.config-path):

    use ~/.cache/starship/init.nu
    

    Xonsh

    Add the following to the end of ~/.xonshrc:

    # ~/.xonshrc
    
    execx($(starship init xonsh))
    

    Cmd

    You need to use Clink (v1.2.30+) with Cmd. Add the following to a file starship.lua and place this file in Clink scripts directory:

    -- starship.lua
    
    load(io.popen('starship init cmd'):read("*a"))()