summaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorMarc Cornellà <marc@mcornella.com>2024-08-04 18:59:42 +0200
committerMarc Cornellà <marc@mcornella.com>2024-08-04 18:59:42 +0200
commit0ffcc3b68a1196e9164ff42fac8a5fdd4804abd0 (patch)
tree461e062ced0950af860e1b965a6d78f5d87653b5 /plugins
parente83c10e0a0737921b0ed26ce1ad64f366a6200b0 (diff)
downloadzsh-0ffcc3b68a1196e9164ff42fac8a5fdd4804abd0.tar.gz
zsh-0ffcc3b68a1196e9164ff42fac8a5fdd4804abd0.tar.bz2
zsh-0ffcc3b68a1196e9164ff42fac8a5fdd4804abd0.zip
style(toolbox): use oneliner to extract and quote container name
Diffstat (limited to 'plugins')
-rw-r--r--plugins/toolbox/toolbox.plugin.zsh8
1 files changed, 6 insertions, 2 deletions
diff --git a/plugins/toolbox/toolbox.plugin.zsh b/plugins/toolbox/toolbox.plugin.zsh
index b9a594c09..efe3836f7 100644
--- a/plugins/toolbox/toolbox.plugin.zsh
+++ b/plugins/toolbox/toolbox.plugin.zsh
@@ -4,8 +4,12 @@ function toolbox_prompt_info() {
function toolbox_prompt_name() {
[[ -f /run/.containerenv ]] || return
- local _to_print="$(cat /run/.containerenv | awk -F\" '/name/ { print$2 }')"
- echo ${_to_print:gs/%/%%}
+
+ # 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"