mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-23 02:35:38 +01:00
Merge a22dca6ae2 into e076690551
This commit is contained in:
commit
b7183b816d
2 changed files with 48 additions and 0 deletions
|
|
@ -112,6 +112,37 @@ plugins=(... hcloud)
|
|||
| hcst | `hcloud server-type list` | List all server types |
|
||||
| hcit | `hcloud image list --type system` | List all system images |
|
||||
|
||||
## Prompt function
|
||||
|
||||
This plugin provides `hcloud_prompt_info` which can be added to your prompt to display the current Hetzner Cloud context.
|
||||
|
||||
- If `HCLOUD_TOKEN` environment variable is set, it displays `HCLOUD_TOKEN` (indicating direct token usage)
|
||||
- Otherwise, it displays the active context name
|
||||
|
||||
### Usage
|
||||
|
||||
Add `$(hcloud_prompt_info)` to your `PROMPT` or `RPROMPT` in your `.zshrc`:
|
||||
|
||||
```zsh
|
||||
RPROMPT='$(hcloud_prompt_info)'
|
||||
```
|
||||
|
||||
### Theme variables
|
||||
|
||||
| Variable | Default | Description |
|
||||
| :----------------------------- | :-------------- | :----------------------------------------------- |
|
||||
| `ZSH_THEME_HCLOUD_PREFIX` | `<hcloud:` | Prefix before the context name |
|
||||
| `ZSH_THEME_HCLOUD_SUFFIX` | `>` | Suffix after the context name |
|
||||
| `ZSH_THEME_HCLOUD_TOKEN_TEXT` | `HCLOUD_TOKEN` | Text shown when `HCLOUD_TOKEN` env var is set |
|
||||
|
||||
### Example with custom styling
|
||||
|
||||
```zsh
|
||||
ZSH_THEME_HCLOUD_PREFIX="%{$fg[blue]%}hcloud:("
|
||||
ZSH_THEME_HCLOUD_SUFFIX=")%{$reset_color%}"
|
||||
RPROMPT='$(hcloud_prompt_info)'
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
This plugin requires the [Hetzner Cloud CLI](https://github.com/hetznercloud/cli) to be installed.
|
||||
|
|
|
|||
|
|
@ -127,3 +127,20 @@ alias hcdc='hcloud datacenter list'
|
|||
alias hcloc='hcloud location list'
|
||||
alias hcst='hcloud server-type list'
|
||||
alias hcit='hcloud image list --type system'
|
||||
|
||||
# Prompt function to display current hcloud context
|
||||
# Usage: add $(hcloud_prompt_info) to your PROMPT or RPROMPT
|
||||
function hcloud_prompt_info() {
|
||||
# Check if HCLOUD_TOKEN is set (overrides context)
|
||||
if [[ -n "$HCLOUD_TOKEN" ]]; then
|
||||
echo "${ZSH_THEME_HCLOUD_PREFIX=<hcloud:}${ZSH_THEME_HCLOUD_TOKEN_TEXT=HCLOUD_TOKEN}${ZSH_THEME_HCLOUD_SUFFIX=>}"
|
||||
return
|
||||
fi
|
||||
|
||||
# Get active context
|
||||
local context
|
||||
context=$(hcloud context active 2>/dev/null)
|
||||
[[ -n "$context" ]] || return
|
||||
|
||||
echo "${ZSH_THEME_HCLOUD_PREFIX=<hcloud:}${context}${ZSH_THEME_HCLOUD_SUFFIX=>}"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue