How to use the command 'starship' (with examples)
Starship is a minimal, blazing-fast, and infinitely customizable prompt for any shell. It provides various functionalities to customize and configure the prompt to suit individual needs.
Use case 1: Print the starship integration code for the specified shell
Code:
starship init shell
Motivation: The ‘starship init’ command is used to generate the integration code for a specific shell. This integration code can be added to the shell’s configuration file to make Starship the prompt for that shell.
Explanation:
init
is the subcommand used to generate the shell integration code.shell
is the shell for which the integration code is to be generated. It can be one of bash, elvish, fish, ion, powershell, tcsh, or zsh.
Example output:
# starship init bash
# Place the output of 'starship init bash' in ~/.bashrc
...
Use case 2: Explain each part of the current prompt and show the time taken to render them
Code:
starship explain
Motivation: The ‘starship explain’ command is used to understand each part of the current prompt configuration and how long each part takes to render. This information can be helpful for performance tuning and customization.
Example output:
Shell: bash 5.1.0
Configuration Path: ~/.config/starship.toml
Modules:
- Package
- Line Break
- Python
- Git Branch
...
Timing budget: 4ms
...
Use case 3: Print the computed starship configuration
Code:
starship print-config
Motivation: The ‘starship print-config’ command is used to print the computed starship configuration. If provided with ‘–default’ flag, it prints the default configuration instead of the user’s custom configuration.
Example output:
[character]
format = "💣 $symbol " # A custom character configure to display a bomb emoji
[git_branch]
format = "[$symbol$branch]($style)"
...
Use case 4: List supported modules
Code:
starship module --list
Motivation: The ‘starship module –list’ command is used to list all the supported modules by Starship. Modules are individual components of the prompt that display specific information (e.g., git status, battery level).
Example output:
AWS
Battery
Character
...
Go
Hostname
...
Use case 5: Edit the starship configuration in the default editor
Code:
starship configure
Motivation: The ‘starship configure’ command is used to open the starship configuration file in the default editor. It allows users to modify and customize the prompt configuration according to their preferences.
Use case 6: Create a bug report GitHub issue pre-populated with information
Code:
starship bug-report
Motivation: The ‘starship bug-report’ command is used to generate a bug report GitHub issue pre-populated with system and configuration information. This makes it easier for users to report bugs or issues they encountered while using Starship.
Use case 7: Print the completion script for the specified shell
Code:
starship completions shell
Motivation: The ‘starship completions’ command is used to generate the completion script for a specified shell. The completion script provides auto-completion support for the starship command in the specified shell.
Explanation:
completions
is the subcommand used to generate completion scripts.shell
is the shell for which the completion script is to be generated. It can be one of bash, elvish, fish, powershell, or zsh.
Example output:
# starship completions bash
# To load completions in your current shell session run:
$ source <(starship completions bash)
...
Use case 8: Display help for a subcommand
Code:
starship subcommand --help
Motivation: The ‘starship subcommand –help’ command is used to display help information for a specific subcommand. It provides detailed usage documentation and information about the available flags and arguments for the subcommand.
Example output:
Usage:
starship module --list
Options:
-h, --help Display this message
...
Conclusion:
Starship is a powerful command-line tool that allows users to customize and configure their shell prompt. With the various subcommands and options available, users can generate integration code, customize the prompt, print the configuration, list supported modules, edit the configuration file, create bug reports, generate completion scripts, and get help on specific subcommands. This flexibility makes Starship a great choice for enhancing the command-line experience.