Merge pull request #891 from dnoiz1/master

Added redline theme, based on powerline
pull/1117/head
Travis Swicegood 2017-12-16 16:27:14 -06:00 committed by GitHub
commit 0d3eedbc1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 129 additions and 12 deletions

2
.gitignore vendored
View File

@ -12,4 +12,6 @@ plugins/custom.plugins.bash
.*.un~
bats
.idea
*.sublime-workspace
*.sublime-project
enabled/*

View File

@ -14,24 +14,19 @@ function set_color {
}
function __powerline_user_info_prompt {
set +u
local user_info=""
local user_info=${USER}
local color=${USER_INFO_THEME_PROMPT_COLOR}
if [[ "${THEME_CHECK_SUDO}" = true ]]; then
if sudo -n uptime 2>&1 | grep -q "load"; then
color=${USER_INFO_THEME_PROMPT_COLOR_SUDO}
fi
fi
case "${POWERLINE_PROMPT_USER_INFO_MODE}" in
"sudo")
if [[ "${color}" == "${USER_INFO_THEME_PROMPT_COLOR_SUDO}" ]]; then
user_info="!"
if sudo -n true >/dev/null 2>&1; then
color=${USER_INFO_THEME_PROMPT_COLOR_SUDO}
user_info=${USER_INFO_SUDO_CHAR}${USER}
fi
;;
*)
if [[ -n "${SSH_CLIENT}" ]]; then
user_info="${USER_INFO_SSH_CHAR}${USER}@${SHORT_HOSTNAME:=$HOSTNAME}"
if [[ -n "${SSH_CLIENT}" ]] || [[ -n "${SSH_CONNECTION}" ]]; then
user_info="${USER_INFO_SSH_CHAR}${USER}"
else
user_info="${USER}"
fi
@ -90,7 +85,17 @@ function __powerline_scm_prompt {
}
function __powerline_cwd_prompt {
echo "$(pwd | sed "s|^${HOME}|~|")|${CWD_THEME_PROMPT_COLOR}"
local cwd=$(pwd | sed "s|^${HOME}|~|")
#if [[ -n "${CWD_THEME_DIR_SEPARATOR}" ]]; then
# todo
#fi
echo "${cwd}|${CWD_THEME_PROMPT_COLOR}"
}
function __powerline_hostname_prompt {
echo "$(hostname -s)|${HOST_THEME_PROMPT_COLOR}"
}
function __powerline_wd_prompt {
@ -153,11 +158,17 @@ function __powerline_prompt_command {
SEGMENTS_AT_LEFT=0
LAST_SEGMENT_COLOR=""
if [[ -n "${POWERLINE_PROMPT_DISTRO_LOGO}" ]]; then
LEFT_PROMPT+="$(set_color ${PROMPT_DISTRO_LOGO_COLOR} ${PROMPT_DISTRO_LOGO_COLORBG})${PROMPT_DISTRO_LOGO}$(set_color - -)"
fi
## left prompt ##
for segment in $POWERLINE_PROMPT; do
local info="$(__powerline_${segment}_prompt)"
[[ -n "${info}" ]] && __powerline_left_segment "${info}"
done
[[ "${last_status}" -ne 0 ]] && __powerline_left_segment $(__powerline_last_status_prompt ${last_status})
[[ -n "${LEFT_PROMPT}" ]] && LEFT_PROMPT+="$(set_color ${LAST_SEGMENT_COLOR} -)${separator_char}${normal}"
@ -168,3 +179,4 @@ function __powerline_prompt_command {
LEFT_PROMPT \
SEGMENTS_AT_LEFT
}

View File

@ -0,0 +1,43 @@
# Redline Theme
changed up the powerline base a little.
It plays nicest with this font: [DroidSansMonoForPowerline](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/DroidSansMono)
Read the [powerline theme documentation](https://github.com/Bash-it/bash-it/blob/master/themes/powerline/README.md)
## added
* hostname
* distro logo
## changed
* sudo credential check
* required font
* some icons
Works real good like with:
```bash
## set the theme
export BASH_IT_THEME='redline'
# Set this to false to turn off version control status checking within the prompt for all themes
export SCM_CHECK=true
## Set Xterm/screen/Tmux title with only a short hostname.
export SHORT_HOSTNAME=$(hostname -s)
## enable sudo prompt
export POWERLINE_PROMPT_USER_INFO_MODE="sudo"
## prompt part string
export POWERLINE_PROMPT="python_venv user_info hostname cwd scm"
```
## enable your distro logo with
```bash
export POWERLINE_PROMPT_DISTRO_LOGO="yes"
```
![screenshot](screenshot.png?raw=true)

View File

@ -0,0 +1,60 @@
#!/usr/bin/env bash
. "$BASH_IT/themes/powerline/powerline.base.bash"
PROMPT_DISTRO_LOGO=" "
PROMPT_DISTRO_LOGO_COLOR=15
PROMPT_DISTRO_LOGO_COLORBG=52
PROMPT_CHAR=${POWERLINE_PROMPT_CHAR:=""}
POWERLINE_LEFT_SEPARATOR=${POWERLINE_LEFT_SEPARATOR:=""}
USER_INFO_SSH_CHAR=${POWERLINE_USER_INFO_SSH_CHAR:=" "}
USER_INFO_SUDO_CHAR=${POWERLINE_USER_INFO_SUDO_CHAR:=" "}
USER_INFO_THEME_PROMPT_COLOR=52
USER_INFO_THEME_PROMPT_COLOR_SUDO=52
PYTHON_VENV_CHAR=${POWERLINE_PYTHON_VENV_CHAR:=" "}
CONDA_PYTHON_VENV_CHAR=${POWERLINE_CONDA_PYTHON_VENV_CHAR:="c "}
PYTHON_VENV_THEME_PROMPT_COLOR=23
SCM_NONE_CHAR=""
SCM_GIT_CHAR=${POWERLINE_SCM_GIT_CHAR:=" "}
SCM_THEME_PROMPT_CLEAN=""
SCM_THEME_PROMPT_DIRTY=""
SCM_THEME_PROMPT_CLEAN_COLOR=235
SCM_THEME_PROMPT_DIRTY_COLOR=235 #124
SCM_THEME_PROMPT_STAGED_COLOR=235 #52
SCM_THEME_PROMPT_UNSTAGED_COLOR=88
SCM_THEME_PROMPT_COLOR=${SCM_THEME_PROMPT_CLEAN_COLOR}
RVM_THEME_PROMPT_PREFIX=""
RVM_THEME_PROMPT_SUFFIX=""
RBENV_THEME_PROMPT_PREFIX=""
RBENV_THEME_PROMPT_SUFFIX=""
RUBY_THEME_PROMPT_COLOR=161
RUBY_CHAR=${POWERLINE_RUBY_CHAR:=" "}
CWD_THEME_DIR_SEPARATOR=""
CWD_THEME_DIR_SEPARATOR_COLOR=52
CWD_THEME_PROMPT_COLOR=238
HOST_THEME_PROMPT_COLOR=88
LAST_STATUS_THEME_PROMPT_COLOR=52
CLOCK_THEME_PROMPT_COLOR=240
BATTERY_AC_CHAR=${BATTERY_AC_CHAR:="⚡"}
BATTERY_STATUS_THEME_PROMPT_GOOD_COLOR=70
BATTERY_STATUS_THEME_PROMPT_LOW_COLOR=208
BATTERY_STATUS_THEME_PROMPT_CRITICAL_COLOR=160
THEME_CLOCK_FORMAT=${THEME_CLOCK_FORMAT:="%H:%M:%S"}
IN_VIM_THEME_PROMPT_COLOR=245
IN_VIM_THEME_PROMPT_TEXT="vim"
POWERLINE_PROMPT=${POWERLINE_PROMPT:="python_venv ruby user_info hostname cwd scm"}
safe_append_prompt_command __powerline_prompt_command

Binary file not shown.

After

Width:  |  Height:  |  Size: 962 KiB