Skip to content

Commit

Permalink
feat(themes): add new theme nekonight, a cupcake theme variant (#652)
Browse files Browse the repository at this point in the history
  • Loading branch information
BrunoCiccarino authored Jan 21, 2025
1 parent 21660f7 commit e94c7f6
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
4 changes: 4 additions & 0 deletions themes/THEMES.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,10 @@

[![](n0qorg/n0qorg-dark.png)](n0qorg/n0qorg-dark.png)

## `nekonight`

[![](nekonight/nekonight-dark.jpg)](nekonight/nekonight-dark.jpg)

## `nwinkler`

[![](nwinkler/nwinkler-dark.png)](nwinkler/nwinkler-dark.png)
Expand Down
Binary file added themes/nekonight/nekonight-dark.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 55 additions & 0 deletions themes/nekonight/nekonight.theme.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# nekonight Bash prompt with source control management
# Author: Bruno Ciccarino <[email protected]>
#
#
# Theme inspired by:
# - Bash_it cupcake theme
# Demo:
# ╭─🐱 virtualenv 🐱user at 🐱host in 🐱directory on (🐱branch {1} ↑1 ↓1 +1 •1 ⌀1 ✗)
# ╰λ cd ~/path/to/your-directory

icon_start="╭─"
icon_user=" 🐱 ${_omb_prompt_bold_olive}\u${_omb_prompt_normal}"
icon_host=" at 🐱 ${_omb_prompt_bold_cyan}\h${_omb_prompt_normal}"
icon_directory=" in 🐱 ${_omb_prompt_bold_magenta}\w${_omb_prompt_normal}"
icon_end="╰─${_omb_prompt_bold_white}λ${_omb_prompt_normal}"

function _omb_theme_nekonight_git_prompt_info() {
local branch_name
branch_name=$(git symbolic-ref --short HEAD 2>/dev/null)
local git_status=""

if [[ -n $branch_name ]]; then
git_status="${_omb_prompt_bold_white}(🐱 $branch_name $(_omb_theme_nekonight_scm_git_status))${_omb_prompt_normal}"
fi

echo -n "$git_status"
}

function _omb_theme_nekonight_scm_git_status() {
local git_status=""

if git rev-list --count --left-right @{upstream}...HEAD 2>/dev/null | grep -Eq '^[0-9]+\s[0-9]+$'; then
git_status+="${_omb_prompt_brown}${_omb_prompt_normal} "
fi

if [[ -n $(git diff --cached --name-status 2>/dev/null) ]]; then
git_status+="${_omb_prompt_green}+${_omb_prompt_normal}"
fi

if [[ -n $(git diff --name-status 2>/dev/null) ]]; then
git_status+="${_omb_prompt_yellow}${_omb_prompt_normal}"
fi

if [[ -n $(git ls-files --others --exclude-standard 2>/dev/null) ]]; then
git_status+="${_omb_prompt_red}${_omb_prompt_normal}"
fi

echo -n "$git_status"
}

function _omb_theme_PROMPT_COMMAND() {
PS1="${icon_start}${icon_user}${icon_host}${icon_directory} in $(_omb_theme_nekonight_git_prompt_info)\n${icon_end} "
}

_omb_util_add_prompt_command _omb_theme_PROMPT_COMMAND

0 comments on commit e94c7f6

Please sign in to comment.