From 6efa049781f5819ad5ec0374f156ae04496a3e4e Mon Sep 17 00:00:00 2001 From: Diogo Alexsander Cavilha Date: Wed, 15 Mar 2023 23:29:39 -0300 Subject: [PATCH 1/2] :sparkles: Add new theme called "pill" (fancygit --theme-pill) --- CHANGELOG.md | 3 + color_schemes/pill_pill | 33 +++++++++ commands-handler.sh | 2 + fancygit-completion | 2 + help.sh | 2 + prompt.sh | 2 + themes/pill.sh | 153 ++++++++++++++++++++++++++++++++++++++++ version.sh | 2 +- 8 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 color_schemes/pill_pill create mode 100644 themes/pill.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 7968cfe..d6c428c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ > Any trouble, please visit the [troubleshooting page](https://github.com/diogocavilha/fancy-git/blob/master/TROUBLESHOOTING.md) +## v7.2.0 +- Add pill theme. It can be applied by running `fancygit --theme-pill`. + ## v7.1.9 - Add --nofontconfig option to install.sh to skip creation of ~/.fonts and requirement for fontconfig to be installed (useful option for those only accessing a headless server via SSH where the font needs to be set on their local terminal application) diff --git a/color_schemes/pill_pill b/color_schemes/pill_pill new file mode 100644 index 0000000..44c668f --- /dev/null +++ b/color_schemes/pill_pill @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="59" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="231" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="59" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="231" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="139" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="231" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="25" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="231" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="10" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="11" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/commands-handler.sh b/commands-handler.sh index 508b7ec..a917a2e 100755 --- a/commands-handler.sh +++ b/commands-handler.sh @@ -58,6 +58,7 @@ case "$1" in "--theme-default") fancygit_theme_set "default" "true";; "--theme-human") fancygit_theme_set "human" "false";; "--theme-simple") fancygit_theme_set "simple" "false";; + "--theme-pill") fancygit_theme_set "pill" "true";; # Color schemes. "--color-scheme-simple") fancygit_theme_color_scheme_set "simple_simple";; @@ -70,6 +71,7 @@ case "$1" in "--color-scheme-superman") fancygit_theme_color_scheme_set "default_superman";; "--color-scheme-neon") fancygit_theme_color_scheme_set "default_neon";; "--color-scheme-cga") fancygit_theme_color_scheme_set "default_cga";; + "--color-scheme-pill") fancygit_theme_color_scheme_set "pill_pill";; # Deprecated commands. "--separator-blocs") fancygit_app_command_deprecation_warning "--separator-blocks";; diff --git a/fancygit-completion b/fancygit-completion index 843ff3a..e27f139 100644 --- a/fancygit-completion +++ b/fancygit-completion @@ -40,6 +40,7 @@ _fancygit() { --theme-default \ --theme-human \ --theme-simple \ + --theme-pill \ --color-scheme-simple \ --color-scheme-human \ --color-scheme-default \ @@ -50,6 +51,7 @@ _fancygit() { --color-scheme-neon \ --color-scheme-cga \ --color-scheme-superman \ + --color-scheme-pill \ --reset ' diff --git a/help.sh b/help.sh index e6ddc5a..c200f13 100644 --- a/help.sh +++ b/help.sh @@ -38,6 +38,7 @@ THEME COMMANDS: fancygit --theme-default Change prompt to the default theme. fancygit --theme-human Change prompt to the human theme readable theme. fancygit --theme-simple Change prompt to the simple theme. + fancygit --theme-pill Change prompt to the pill theme. COLOR SCHEME COMMANDS: fancygit --color-scheme-simple Available for theme-simple. @@ -49,6 +50,7 @@ COLOR SCHEME COMMANDS: fancygit --color-scheme-superman Available for theme-default. fancygit --color-scheme-light Available for theme-default. fancygit --color-scheme-neon Available for theme-default. + fancygit --color-scheme-pill Available for theme-pill. SEPARATOR STYLE COMMANDS: fancygit --separator-default Change the separator (if it's present on current theme) to default style. diff --git a/prompt.sh b/prompt.sh index f758508..8cccc68 100644 --- a/prompt.sh +++ b/prompt.sh @@ -26,6 +26,8 @@ function fancygit_theme_handler() { . "$HOME/.fancy-git/themes/human.sh";; "simple") . "$HOME/.fancy-git/themes/simple.sh";; + "pill") + . "$HOME/.fancy-git/themes/pill.sh";; esac } diff --git a/themes/pill.sh b/themes/pill.sh new file mode 100644 index 0000000..0511cc4 --- /dev/null +++ b/themes/pill.sh @@ -0,0 +1,153 @@ +#!/bin/bash +# +# Author: Diogo Alexsander Cavilha +# Date: 03.15.2023 + +# ---------------------------------------------------------------------------------------------------------------------- +# The main function to change the prompt. +# ---------------------------------------------------------------------------------------------------------------------- +fancygit_theme_builder() { + check_for_update + + # !! IMPORTANT !! + # If you're just interested on creating a new color scheme, please have a look at $HOME/.fancy-git/color_schemes. + # Everything you need to do is creating a new file to the color scheme you wish to create. + local color_scheme + color_scheme=$(fancygit_config_get "color_scheme" "pill_pill") + + # Load the color scheme. + # shellcheck source=/dev/null + . "${HOME}/.fancy-git/color_schemes/${color_scheme}" + + # !! WARNING !! + # From here you better now what you're doing. Have fun =D + + # Create color tags to change prompt style. + local time_color_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND}m\\]" + local time_color_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND}m\\]" + local time_symbol_color_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND}m\\]" + local user_color_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_USER_FOREGROUND}m\\]" + local host_color_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND}m\\]" + local at_color_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_AT_FOREGROUND}m\\]" + local user_symbol_color_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND}m\\]" + local user_symbol_color_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND}m\\]" + local user_symbol_color_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND}m\\]" + local workdir_color_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND}m\\]" + local workdir_color_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND}m\\]" + local workdir_color_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND}m\\]" + local user_at_host_color_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND}m\\]" + local user_at_host_color_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND}m\\]" + local branch_color_staged_files_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND}m\\]" + local branch_color_staged_files_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND}m\\]" + local branch_color_staged_files_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND}m\\]" + local branch_color_changed_files_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND}m\\]" + local branch_color_changed_files_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND}m\\]" + local branch_color_changed_files_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND}m\\]" + local branch_color_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND}m\\]" + local branch_color_bg_tag="\\[\\e[48;5;${FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND}m\\]" + local branch_color_font_tag="\\[\\e[38;5;${FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND}m\\]" + local none="\\[\\e[39m\\]" + local bold_none="\\[\\e[0m\\]" + local bg_none="\\[\\e[49m\\]" + + # Prompt style + local separator_init + local separator + # separator=$(fancygit_config_get "separator" "") + separator_init="" + separator="" + + local icon_git_repo="" + local user="${user_color_font_tag}" + local at="${at_color_font_tag}" + local host="${host_color_font_tag}" + local user_at_host="${user_at_host_color_bg_tag}" + local user_at_host_end="${bold_none}${bg_none}${user_at_host_color_tag}${user_symbol_color_bg_tag}${separator}" + local user_symbol="${user_symbol_color_tag}${separator_init}${user_symbol_color_bg_tag}${user_symbol_color_font_tag}" + local user_symbol_end="${none}${bold_none}${bg_none}${user_symbol_color_tag}${workdir_color_bg_tag}${bg_none}${separator} " + local path="${workdir_color_tag}${separator_init}${workdir_color_bg_tag}${workdir_color_font_tag}" + local path_git="${workdir_color_tag}${separator_init}${workdir_color_bg_tag}${workdir_color_font_tag} ${icon_git_repo} " + local path_end="${none}${bold_none}" + local branch="${workdir_color_tag}${branch_color_bg_tag}${bg_none}${separator} ${branch_color_tag}${separator_init}${branch_color_bg_tag}${branch_color_font_tag}" + local branch_end="${branch_color_tag}${bg_none}${separator}${bold_none}${none}" + local time="${time_color_bg_tag}${time_color_tag}" + local time_end="${bold_none}${bg_none}" + local prompt_time + local prompt_user + local prompt_env + local prompt_path + local prompt_double_line + local notification_area + local is_rich_notification + local time_raw + + time_raw="$(fancygit_theme_get_time)" + + # When time background color and user background color are the same, we need to add a separator between time and username. + # This prevents a weird presentation. Life is not easy :/ + if [[ "$FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND" != "$FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND" && "" != "$time_raw" ]] + then + time_end="${bold_none}${bg_none}${time_symbol_color_tag}${user_at_host_color_bg_tag}${separator} " + fi + + local user_name + user_name=$(fancygit_config_get "user_name" "\\u") + + local host_name + host_name=$(fancygit_config_get "host_name" "\\h") + + # Get some theme config. + prompt_time="${time}${time_raw}${time_end}" + prompt_path=$(fancygit_theme_get_path_sign) + prompt_symbol="${user_symbol} \$ ${user_symbol_end}" + prompt_double_line=$(fancygit_theme_get_double_line) + + if fancygit_config_is "show_user_at_machine" "true" + then + prompt_user="${user_at_host}${user}${user_name}${none}${at}@${none}${host}${host_name}${none} ${user_at_host_end}" + fi + + branch_name=$(fancygit_git_get_branch) + if [ "" = "$branch_name" ] + then + # No branch found, so we're not in a git repo. + prompt_env=$(__fancygit_get_venv_icon) + prompt_path="${path}${prompt_env} ${prompt_path} ${path_end}${workdir_color_tag}${separator}${none}" + PS1="${prompt_time}${prompt_user}${prompt_symbol}${prompt_path}${prompt_double_line} " + return + fi + + if [ "HEAD" = "$branch_name" ] + then + branch_name=$(fancygit_git_get_tag) + fi + + # We're in a git repo =D + # We have a branch name, it means we are in a git repo, so we need to make some more changes on PS1... + + # Get some config preferences. + is_rich_notification=$(fancygit_config_get "show_rich_notification" "true") + + # Configure a specific background color to branch name, if it has some change. + if [ "" != "$(fancygit_git_get_status)" ] + then + branch="${workdir_color_tag}${branch_color_changed_files_bg_tag}${bg_none}${separator} ${branch_color_changed_files_tag}${separator_init}${branch_color_changed_files_bg_tag}${branch_color_changed_files_font_tag}" + branch_end="${bg_none}${bold_none}${branch_color_changed_files_tag}${separator}${none}" + fi + + # Configure a specific background color to branch name, if it has staged files. + if [ "" != "$(fancygit_git_get_staged_files)" ] + then + branch="${workdir_color_tag}${branch_color_staged_files_bg_tag}${bg_none}${separator} ${branch_color_staged_files_tag}${separator_init}${branch_color_staged_files_bg_tag}${branch_color_staged_files_font_tag}" + branch_end="${bg_none}${bold_none}${branch_color_staged_files_tag}${separator}${none}" + fi + + notification_area=$(fancygit_get_notification_area "$is_rich_notification") + prompt_path="${path_git}${notification_area} ${prompt_path} ${path_end}" + prompt_branch="${branch} $(fancygit_git_get_branch_icon "${branch_name}") ${branch_name} ${branch_end}" + PS1="${prompt_time}${prompt_user}${prompt_symbol}${prompt_path}${prompt_branch}${prompt_double_line} " +} + +# Here's where the magic happens! +# It calls our main function (fancygit_theme_builder) in order to mount a beautiful PS1 prompt =D +PROMPT_COMMAND="fancygit_theme_builder" diff --git a/version.sh b/version.sh index 682b8ba..71270c9 100644 --- a/version.sh +++ b/version.sh @@ -3,4 +3,4 @@ # Author: Diogo Alexsander Cavilha # Date: 11.17.2017 -export FANCYGIT_VERSION="7.1.8" +export FANCYGIT_VERSION="7.2.0" From 25fc6cb6d8cde6cb3e93b495951fa48acc554112 Mon Sep 17 00:00:00 2001 From: Diogo Alexsander Cavilha Date: Sat, 18 Mar 2023 11:03:05 -0300 Subject: [PATCH 2/2] :sparkles: Replicates all default color schemes to pill theme --- color_schemes/pill_batman | 33 +++++++++++++++++++++++++++++++++ color_schemes/pill_cga | 33 +++++++++++++++++++++++++++++++++ color_schemes/pill_dracula | 33 +++++++++++++++++++++++++++++++++ color_schemes/pill_light | 33 +++++++++++++++++++++++++++++++++ color_schemes/pill_neon | 33 +++++++++++++++++++++++++++++++++ color_schemes/pill_robin | 33 +++++++++++++++++++++++++++++++++ color_schemes/pill_superman | 33 +++++++++++++++++++++++++++++++++ commands-handler.sh | 7 +++++++ fancygit-completion | 9 ++++++++- help.sh | 7 +++++++ themes/pill.sh | 4 ++-- 11 files changed, 255 insertions(+), 3 deletions(-) create mode 100644 color_schemes/pill_batman create mode 100644 color_schemes/pill_cga create mode 100644 color_schemes/pill_dracula create mode 100644 color_schemes/pill_light create mode 100644 color_schemes/pill_neon create mode 100644 color_schemes/pill_robin create mode 100644 color_schemes/pill_superman diff --git a/color_schemes/pill_batman b/color_schemes/pill_batman new file mode 100644 index 0000000..f90ce5f --- /dev/null +++ b/color_schemes/pill_batman @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="233" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="231" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="233" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="231" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="238" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="231" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="233" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="231" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="10" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="11" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/color_schemes/pill_cga b/color_schemes/pill_cga new file mode 100644 index 0000000..afbea30 --- /dev/null +++ b/color_schemes/pill_cga @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="0" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="14" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="13" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="15" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="14" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="0" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="14" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="0" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="13" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="15" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="15" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="14" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="13" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="14" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/color_schemes/pill_dracula b/color_schemes/pill_dracula new file mode 100644 index 0000000..9f3fd62 --- /dev/null +++ b/color_schemes/pill_dracula @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="59" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="231" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="59" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="231" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="207" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="231" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="99" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="231" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="120" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="222" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/color_schemes/pill_light b/color_schemes/pill_light new file mode 100644 index 0000000..4864772 --- /dev/null +++ b/color_schemes/pill_light @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="7" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="0" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="7" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="0" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="0" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="0" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="15" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="0" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="7" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="0" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="10" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="11" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/color_schemes/pill_neon b/color_schemes/pill_neon new file mode 100644 index 0000000..502c93e --- /dev/null +++ b/color_schemes/pill_neon @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="199" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="231" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="199" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="231" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="129" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="231" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="57" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="231" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="49" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="226" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/color_schemes/pill_robin b/color_schemes/pill_robin new file mode 100644 index 0000000..8abdc7a --- /dev/null +++ b/color_schemes/pill_robin @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="233" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="226" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="233" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="208" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="11" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="238" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="231" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="15" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="202" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="10" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="11" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/color_schemes/pill_superman b/color_schemes/pill_superman new file mode 100644 index 0000000..2666dbc --- /dev/null +++ b/color_schemes/pill_superman @@ -0,0 +1,33 @@ +# Use color values in the range [0-255] for 256 bit colors. +# Themes will handle the color values properly. +# You can check how that works here: https://misc.flogisoft.com/bash/tip_colors_and_formatting + +# TIME +FANCYGIT_COLOR_SCHEME_TIME_BACKGROUND="9" +FANCYGIT_COLOR_SCHEME_TIME_FOREGROUND="231" + +# USER AT HOST +FANCYGIT_COLOR_SCHEME_USER_AT_HOST_BACKGROUND="9" +FANCYGIT_COLOR_SCHEME_USER_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_AT_FOREGROUND="231" +FANCYGIT_COLOR_SCHEME_HOST_FOREGROUND="231" + +# USER SYMBOL +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_BACKGROUND="220" +FANCYGIT_COLOR_SCHEME_USER_SYMBOL_FOREGROUND="0" + +# PATH +FANCYGIT_COLOR_SCHEME_WORKDIR_BACKGROUND="27" +FANCYGIT_COLOR_SCHEME_WORKDIR_FOREGROUND="231" + +# BRANCH +FANCYGIT_COLOR_SCHEME_BRANCH_BACKGROUND="231" +FANCYGIT_COLOR_SCHEME_BRANCH_FOREROUND="0" + +# BRANCH WITH STAGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_BACKGROUND="10" +FANCYGIT_COLOR_SCHEME_BRANCH_STAGED_FILES_FOREGROUND="0" + +# BRANCH WITH CHANGED FILES +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_BACKGROUND="220" +FANCYGIT_COLOR_SCHEME_BRANCH_CHANGED_FILES_FOREGROUND="0" \ No newline at end of file diff --git a/commands-handler.sh b/commands-handler.sh index a917a2e..6cace47 100755 --- a/commands-handler.sh +++ b/commands-handler.sh @@ -72,6 +72,13 @@ case "$1" in "--color-scheme-neon") fancygit_theme_color_scheme_set "default_neon";; "--color-scheme-cga") fancygit_theme_color_scheme_set "default_cga";; "--color-scheme-pill") fancygit_theme_color_scheme_set "pill_pill";; + "--color-scheme-pill-dracula") fancygit_theme_color_scheme_set "pill_dracula";; + "--color-scheme-pill-batman") fancygit_theme_color_scheme_set "pill_batman";; + "--color-scheme-pill-robin") fancygit_theme_color_scheme_set "pill_robin";; + "--color-scheme-pill-light") fancygit_theme_color_scheme_set "pill_light";; + "--color-scheme-pill-superman") fancygit_theme_color_scheme_set "pill_superman";; + "--color-scheme-pill-neon") fancygit_theme_color_scheme_set "pill_neon";; + "--color-scheme-pill-cga") fancygit_theme_color_scheme_set "pill_cga";; # Deprecated commands. "--separator-blocs") fancygit_app_command_deprecation_warning "--separator-blocks";; diff --git a/fancygit-completion b/fancygit-completion index e27f139..447e618 100644 --- a/fancygit-completion +++ b/fancygit-completion @@ -52,7 +52,14 @@ _fancygit() { --color-scheme-cga \ --color-scheme-superman \ --color-scheme-pill \ - --reset + --color-scheme-pill-dracula \ + --color-scheme-pill-batman \ + --color-scheme-pill-robin \ + --color-scheme-pill-light \ + --color-scheme-pill-superman \ + --color-scheme-pill-neon \ + --color-scheme-pill-cga \ + --reset \ ' if [[ ${cur} == * ]] ; then diff --git a/help.sh b/help.sh index c200f13..ace081b 100644 --- a/help.sh +++ b/help.sh @@ -51,6 +51,13 @@ COLOR SCHEME COMMANDS: fancygit --color-scheme-light Available for theme-default. fancygit --color-scheme-neon Available for theme-default. fancygit --color-scheme-pill Available for theme-pill. + fancygit --color-scheme-pill-dracula Available for theme-pill. + fancygit --color-scheme-pill-batman Available for theme-pill. + fancygit --color-scheme-pill-robin Available for theme-pill. + fancygit --color-scheme-pill-light Available for theme-pill. + fancygit --color-scheme-pill-superman Available for theme-pill. + fancygit --color-scheme-pill-neon Available for theme-pill. + fancygit --color-scheme-pill-cga Available for theme-pill. SEPARATOR STYLE COMMANDS: fancygit --separator-default Change the separator (if it's present on current theme) to default style. diff --git a/themes/pill.sh b/themes/pill.sh index 0511cc4..2d5fe0a 100644 --- a/themes/pill.sh +++ b/themes/pill.sh @@ -54,8 +54,8 @@ fancygit_theme_builder() { local separator_init local separator # separator=$(fancygit_config_get "separator" "") - separator_init="" - separator="" + separator_init="" + separator="" local icon_git_repo="" local user="${user_color_font_tag}"