🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
Go to file
Titouan Vervack 59e8b1fc92 feat: added truncation_length/symbol to git_branch (#268)
Git branches can become very long (e.g. gitlab auto-generated branch
names), thus it would be nice to be able to truncate them to keep your
prompt lenght in line.

This patch adds two new options to the git_branch module:
* truncation_length: The amount of graphemes to of a gitbranch to
truncate to
* truncation_symbol: The symbol that should be used to indicate that a
branch name was trunctated

To be able to correctly work with UTF-8 graphemes, unicode-segmentation
was added as a dependency.
2019-09-02 15:56:59 -04:00
.github chore: Add labels to issue templates 2019-08-19 13:00:32 -04:00
ci ci: Remove brew bump formula from CI 2019-08-13 19:41:42 -04:00
docs feat: added truncation_length/symbol to git_branch (#268) 2019-09-02 15:56:59 -04:00
media docs: Add new demo gif to README (#231) 2019-08-22 20:03:45 -04:00
src feat: added truncation_length/symbol to git_branch (#268) 2019-09-02 15:56:59 -04:00
tests feat: added truncation_length/symbol to git_branch (#268) 2019-09-02 15:56:59 -04:00
.all-contributorsrc docs: update bbigras as a contributor (#266) 2019-08-31 19:34:29 -04:00
.dockerignore Add docker for integration tests (#37) 2019-04-28 13:34:46 -04:00
.gitignore feat: Add option to control git directory truncation (#165) 2019-08-16 20:29:22 -07:00
azure-pipelines.yml ci: Remove remaining reference to bump brew formula 2019-08-13 19:42:25 -04:00
Cargo.lock feat: added truncation_length/symbol to git_branch (#268) 2019-09-02 15:56:59 -04:00
Cargo.toml feat: added truncation_length/symbol to git_branch (#268) 2019-09-02 15:56:59 -04:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#42) 2019-04-30 23:30:42 -04:00
CONTRIBUTING.md fix: Failing Tests if home is a git directory (#214) 2019-08-21 09:37:43 -07:00
integration_test Add support for prompt configuration (#62) 2019-06-10 15:56:17 +01:00
LICENSE docs: Attribute copyright to Starship Contributors (#115) 2019-07-25 12:50:29 -04:00
README.md docs: update bbigras as a contributor (#266) 2019-08-31 19:34:29 -04:00


Starship – Cross-shell prompt

Packaging status Crates.io version Azure Pipelines Build Status All Contributors Chat on Discord


Website · Installation · Configuration

Starship is the minimal, blazing fast, and extremely customizable prompt for any shell!
The prompt shows information you need while you're working, while staying sleek and out of the way.


Starship with iTerm2 and the Snazzy theme

🍬 Features

  • Prompt character turns red if the last command exits with non-zero code
  • Current username if not the same as the logged-in user
  • Current Node.js version()
  • Current Rust version (🦀)
  • Current Ruby version (💎)
  • Current Python version (🐍)
  • Current Go version (🐹)
  • Nix-shell environment detection
  • Current version of package in current directory (📦)
    • npm (Node.js)
    • cargo (Rust)
    • poetry (Python)
  • Current battery level and status
  • Current Git branch and rich repo status:
    • = — conflicting changes
    • — ahead of remote branch
    • — behind of remote branch
    • — diverged changes
    • ? — untracked changes
    • $ — stashed changes
    • ! — modified files
    • + — added files
    • » — renamed files
    • — deleted files
  • Execution time of the last command if it exceeds the set threshold
  • Indicator for jobs in the background ()

🚀 Installation

Prerequisites

Getting Started

  1. Install the starship binary:

    Download archives of precompiled binaries if you don't use the platforms below.

    Homebrew

    $ brew install starship
    

    Rust (v1.33 or higher)

    $ cargo install starship
    

    Arch Linux (AUR)

    Starship is available on the AUR under the name starship. Install it with yay or your favorite AUR helper.

    $ yay -S starship
    

    Nix (unstable)

    $ nix-env --install starship
    

    Termux

    $ pkg 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
    
    eval (starship init fish)
    

    Zsh

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

    # ~/.zshrc
    
    eval "$(starship init zsh)"
    

🔧 Configuration

For details on how to configure Starship, check out our documentation.

🤝 Contributing

We are always looking for contributors of all skill levels! If you're looking to ease your way into the project, try out a good first issue.

High Priority Needs

  • 👩‍💼 Product Manager
    • We have a GitHub Project and many unorganized/unprioritized features, as well as ideas that haven't yet been made into issues. Starship needs someone to own the product direction!
  • 👩‍🎨 Designer
    • Like making eye-catching websites? Excellent! We are looking to create a beautiful landing page showing off Starship in all its glory. Helping design for Starship's brand is a great opportunity to try out new ideas!
  • 👩‍💻 Rust Developer
    • There is a lot of low-hanging fruit when it comes to writing idiomatic Rust, designing effective Rust architecture, performance optimizations, cross-platform build optimizations, and more! I (@matchai) am a beginner to Rust. Come point us in the right direction!

If you are interested in helping contribute to starship, please take a look at our Contributing Guide. Also, feel free to drop into our Discord server and say hi. 👋

Contributors

Thanks goes to these wonderful people (emoji key):

Matan Kushner
Matan Kushner

💻 🎨 🤔 🚇 🚧 👀 ⚠️
John Letey
John Letey

💻 🤔 👀 ⚠️
Tim Mulqueen
Tim Mulqueen

💻 🤔 👀 ⚠️
Tiffany Le-Nguyen
Tiffany Le-Nguyen

🤔 🚧 👀 📖
​Snuggle
Snuggle

🎨 🤔 🚧 👀
Ryan Leckey
Ryan Leckey

👀
Youssef Habri
Youssef Habri

💻
Kevin Song
Kevin Song

🐛 💻 📖 ⚠️
Andrew Dassonville
Andrew Dassonville

🐛 💻
MaT1g3R
MaT1g3R

💻 📖 ⚠️
André Zanellato
André Zanellato

💻 📖 ⚠️
Saghm Rossi
Saghm Rossi

💻 📖 ⚠️
Shu Kutsuzawa
Shu Kutsuzawa

💻 📖 ⚠️
Saurav Sharma
Saurav Sharma

💻 📖
Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️
Bruno Bigras
Bruno Bigras

💻 👀
Neil Kistner
Neil Kistner

💻 ⚠️
Quinn Strahl
Quinn Strahl

💻 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!


Starship rocket icon

📝 License

Copyright © 2019-present, Starship Contributors.
This project is ISC licensed.