From 886a8e673588bacf0459ef150ec8f3ccdb47ecc8 Mon Sep 17 00:00:00 2001 From: Andre Ramnitz Date: Sun, 15 Sep 2024 13:53:22 +0200 Subject: [PATCH] flavours: fix colors base16-shell module --- .../templates/shell/templates/config.yaml | 3 + .../shell/templates/default.mustache | 128 ++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 config/dot-config/flavours/templates/shell/templates/config.yaml create mode 100644 config/dot-config/flavours/templates/shell/templates/default.mustache diff --git a/config/dot-config/flavours/templates/shell/templates/config.yaml b/config/dot-config/flavours/templates/shell/templates/config.yaml new file mode 100644 index 00000000..5537291f --- /dev/null +++ b/config/dot-config/flavours/templates/shell/templates/config.yaml @@ -0,0 +1,3 @@ +default: + extension: .sh + output: scripts \ No newline at end of file diff --git a/config/dot-config/flavours/templates/shell/templates/default.mustache b/config/dot-config/flavours/templates/shell/templates/default.mustache new file mode 100644 index 00000000..2949aebe --- /dev/null +++ b/config/dot-config/flavours/templates/shell/templates/default.mustache @@ -0,0 +1,128 @@ +#!/bin/sh +# base16-shell (https://github.com/chriskempson/base16-shell) +# Base16 Shell template by Chris Kempson (http://chriskempson.com) +# {{scheme-name}} scheme by {{scheme-author}} +# comment: Base 16 Shell color order fixed by freerunner +export BASE16_THEME={{scheme-slug}} + +color00="{{base00-hex-r}}/{{base00-hex-g}}/{{base00-hex-b}}" # Base 00 - Black +color01="{{base0B-hex-r}}/{{base0B-hex-g}}/{{base0B-hex-b}}" # Base 0B - Red +color02="{{base0E-hex-r}}/{{base0E-hex-g}}/{{base0E-hex-b}}" # Base 0E - Green +color03="{{base0D-hex-r}}/{{base0D-hex-g}}/{{base0D-hex-b}}" # Base 0D - Yellow +color04="{{base09-hex-r}}/{{base09-hex-g}}/{{base09-hex-b}}" # Base 09 - Blue +color05="{{base0F-hex-r}}/{{base0F-hex-g}}/{{base0F-hex-b}}" # Base 0F - Magenta +color06="{{base08-hex-r}}/{{base08-hex-g}}/{{base08-hex-b}}" # Base 08 - Cyan +color07="{{base05-hex-r}}/{{base05-hex-g}}/{{base05-hex-b}}" # Base 05 - White +color08="{{base03-hex-r}}/{{base03-hex-g}}/{{base03-hex-b}}" # Base 03 - Bright Black +color09=$color01 # Base 08 - Bright Red +color10=$color02 # Base 0B - Bright Green +color11=$color03 # Base 0A - Bright Yellow +color12=$color04 # Base 0D - Bright Blue +color13=$color05 # Base 0E - Bright Magenta +color14=$color06 # Base 0C - Bright Cyan +color15="{{base07-hex-r}}/{{base07-hex-g}}/{{base07-hex-b}}" # Base 07 - Bright White +color16="{{base09-hex-r}}/{{base09-hex-g}}/{{base09-hex-b}}" # Base 09 +color17="{{base0F-hex-r}}/{{base0F-hex-g}}/{{base0F-hex-b}}" # Base 0F +color18="{{base01-hex-r}}/{{base01-hex-g}}/{{base01-hex-b}}" # Base 01 +color19="{{base02-hex-r}}/{{base02-hex-g}}/{{base02-hex-b}}" # Base 02 +color20="{{base04-hex-r}}/{{base04-hex-g}}/{{base04-hex-b}}" # Base 04 +color21="{{base06-hex-r}}/{{base06-hex-g}}/{{base06-hex-b}}" # Base 06 +color_foreground="{{base05-hex-r}}/{{base05-hex-g}}/{{base05-hex-b}}" # Base 05 +color_background="{{base00-hex-r}}/{{base00-hex-g}}/{{base00-hex-b}}" # Base 00 + +if [ -n "$TMUX" ]; then + # Tell tmux to pass the escape sequences through + # (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324) + put_template() { printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $@; } + put_template_var() { printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $@; } + put_template_custom() { printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $@; } +elif [ "${TERM%%[-.]*}" = "screen" ]; then + # GNU screen (screen, screen-256color, screen-256color-bce) + put_template() { printf '\033P\033]4;%d;rgb:%s\007\033\\' $@; } + put_template_var() { printf '\033P\033]%d;rgb:%s\007\033\\' $@; } + put_template_custom() { printf '\033P\033]%s%s\007\033\\' $@; } +elif [ "${TERM%%-*}" = "linux" ]; then + put_template() { [ $1 -lt 16 ] && printf "\e]P%x%s" $1 $(echo $2 | sed 's/\///g'); } + put_template_var() { true; } + put_template_custom() { true; } +else + put_template() { printf '\033]4;%d;rgb:%s\033\\' $@; } + put_template_var() { printf '\033]%d;rgb:%s\033\\' $@; } + put_template_custom() { printf '\033]%s%s\033\\' $@; } +fi + +# 16 color space +put_template 0 $color00 +put_template 1 $color01 +put_template 2 $color02 +put_template 3 $color03 +put_template 4 $color04 +put_template 5 $color05 +put_template 6 $color06 +put_template 7 $color07 +put_template 8 $color08 +put_template 9 $color09 +put_template 10 $color10 +put_template 11 $color11 +put_template 12 $color12 +put_template 13 $color13 +put_template 14 $color14 +put_template 15 $color15 + +# 256 color space +put_template 16 $color16 +put_template 17 $color17 +put_template 18 $color18 +put_template 19 $color19 +put_template 20 $color20 +put_template 21 $color21 + +# foreground / background / cursor color +if [ -n "$ITERM_SESSION_ID" ]; then + # iTerm2 proprietary escape codes + put_template_custom Pg {{base05-hex}} # foreground + put_template_custom Ph {{base00-hex}} # background + put_template_custom Pi {{base05-hex}} # bold color + put_template_custom Pj {{base02-hex}} # selection color + put_template_custom Pk {{base05-hex}} # selected text color + put_template_custom Pl {{base05-hex}} # cursor + put_template_custom Pm {{base00-hex}} # cursor text +else + put_template_var 10 $color_foreground + if [ "$BASE16_SHELL_SET_BACKGROUND" != false ]; then + put_template_var 11 $color_background + if [ "${TERM%%-*}" = "rxvt" ]; then + put_template_var 708 $color_background # internal border (rxvt) + fi + fi + put_template_custom 12 ";7" # cursor (reverse video) +fi + +# clean up +unset -f put_template +unset -f put_template_var +unset -f put_template_custom +unset color00 +unset color01 +unset color02 +unset color03 +unset color04 +unset color05 +unset color06 +unset color07 +unset color08 +unset color09 +unset color10 +unset color11 +unset color12 +unset color13 +unset color14 +unset color15 +unset color16 +unset color17 +unset color18 +unset color19 +unset color20 +unset color21 +unset color_foreground +unset color_background -- 2.51.2