aboutsummaryrefslogtreecommitdiff
path: root/src/common-utils/scripts/devcontainers.zsh-theme
diff options
context:
space:
mode:
authorChuck Lantz <clantz@microsoft.com>2022-12-16 20:47:21 +0300
committerGitHub <noreply@github.com>2022-12-16 20:47:21 +0300
commitbf058dc49492b3a102a28ed25764a517fcebfb40 (patch)
tree6ccc831064fab57ea6fa2f0c530202ac0d73ff08 /src/common-utils/scripts/devcontainers.zsh-theme
parent7fa90110d762797cc0b1c2fe8fcc028c9b813d56 (diff)
Multi-distro support for common script, refactor, fixes (#326)
Diffstat (limited to 'src/common-utils/scripts/devcontainers.zsh-theme')
-rw-r--r--src/common-utils/scripts/devcontainers.zsh-theme26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/common-utils/scripts/devcontainers.zsh-theme b/src/common-utils/scripts/devcontainers.zsh-theme
new file mode 100644
index 0000000..ff11c91
--- /dev/null
+++ b/src/common-utils/scripts/devcontainers.zsh-theme
@@ -0,0 +1,26 @@
+# Oh My Zsh! theme - partly inspired by https://github.com/ohmyzsh/ohmyzsh/blob/master/themes/robbyrussell.zsh-theme
+__zsh_prompt() {
+ local prompt_username
+ if [ ! -z "${GITHUB_USER}" ]; then
+ prompt_username="@${GITHUB_USER}"
+ else
+ prompt_username="%n"
+ fi
+ PROMPT="%{$fg[green]%}${prompt_username} %(?:%{$reset_color%}➜ :%{$fg_bold[red]%}➜ )" # User/exit code arrow
+ PROMPT+='%{$fg_bold[blue]%}%(5~|%-1~/…/%3~|%4~)%{$reset_color%} ' # cwd
+ PROMPT+='`\
+ if [ "$(git config --get devcontainers-theme.hide-status 2>/dev/null)" != 1 ] && [ "$(git config --get codespaces-theme.hide-status 2>/dev/null)" != 1 ]; then \
+ export BRANCH=$(git --no-optional-locks symbolic-ref --short HEAD 2>/dev/null || git --no-optional-locks rev-parse --short HEAD 2>/dev/null); \
+ if [ "${BRANCH}" != "" ]; then \
+ echo -n "%{$fg_bold[cyan]%}(%{$fg_bold[red]%}${BRANCH}" \
+ && if [ "$(git config --get devcontainers-theme.show-dirty 2>/dev/null)" = 1 ] && \
+ git --no-optional-locks ls-files --error-unmatch -m --directory --no-empty-directory -o --exclude-standard ":/*" > /dev/null 2>&1; then \
+ echo -n " %{$fg_bold[yellow]%}✗"; \
+ fi \
+ && echo -n "%{$fg_bold[cyan]%})%{$reset_color%} "; \
+ fi; \
+ fi`'
+ PROMPT+='%{$fg[white]%}$ %{$reset_color%}'
+ unset -f __zsh_prompt
+}
+__zsh_prompt