summaryrefslogtreecommitdiff
path: root/plugins/toolbox
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/toolbox')
-rw-r--r--plugins/toolbox/README.md13
-rw-r--r--plugins/toolbox/toolbox.plugin.zsh10
2 files changed, 18 insertions, 5 deletions
diff --git a/plugins/toolbox/README.md b/plugins/toolbox/README.md
index bc04a906b..d957d9bc4 100644
--- a/plugins/toolbox/README.md
+++ b/plugins/toolbox/README.md
@@ -10,7 +10,8 @@ plugins=(... toolbox)
## Prompt function
-This plugins adds `toolbox_prompt_info()` function. Using it in your prompt, it will show the toolbox indicator ⬢ (if you are running in a toolbox container), and nothing if not.
+This plugins adds `toolbox_prompt_info()` function. Using it in your prompt, it will show the toolbox
+indicator ⬢ (if you are running in a toolbox container), and nothing if not.
You can use it by adding `$(toolbox_prompt_info)` to your `PROMPT` or `RPROMPT` variable:
@@ -18,9 +19,11 @@ You can use it by adding `$(toolbox_prompt_info)` to your `PROMPT` or `RPROMPT`
RPROMPT='$(toolbox_prompt_info)'
```
+In the same way, it adds `toolbox_prompt_name()`, showing the name of the containerized environment.
+
## Aliases
-| Alias | Command | Description |
-|-------|----------------------|----------------------------------------|
-| tbe | `toolbox enter` | Enters the toolbox environment |
-| tbr | `toolbox run` | Run a command in an existing toolbox |
+| Alias | Command | Description |
+| ----- | --------------- | ------------------------------------ |
+| tbe | `toolbox enter` | Enters the toolbox environment |
+| tbr | `toolbox run` | Run a command in an existing toolbox |
diff --git a/plugins/toolbox/toolbox.plugin.zsh b/plugins/toolbox/toolbox.plugin.zsh
index 377e498cd..efe3836f7 100644
--- a/plugins/toolbox/toolbox.plugin.zsh
+++ b/plugins/toolbox/toolbox.plugin.zsh
@@ -2,5 +2,15 @@ function toolbox_prompt_info() {
[[ -f /run/.toolboxenv ]] && echo "⬢"
}
+function toolbox_prompt_name() {
+ [[ -f /run/.containerenv ]] || return
+
+ # This command reads the /run/.containerenv file line by line and extracts the
+ # container name from it by looking for the `name="..."` line, and uses -F\" to
+ # split the line by double quotes. Then all % characters are replaced with %%
+ # to escape them for the prompt.
+ awk -F\" '/name/ { gsub(/%/, "%%", $2); print $2 }' /run/.containerenv
+}
+
alias tbe="toolbox enter"
alias tbr="toolbox run"