From 1c2b08745aa0f190c16127c1ce60c47513bce882 Mon Sep 17 00:00:00 2001 From: Luis Mayta Date: Sun, 1 Oct 2023 20:23:26 -0300 Subject: [PATCH] chore: implement theme catppuccin (#45) --- conf/alacritty.yml | 446 +----------------- conf/core.yml | 337 +++++++++++++ conf/themes/catppuccin/.editorconfig | 34 ++ conf/themes/catppuccin/catppuccin-frappe.yml | 79 ++++ conf/themes/catppuccin/catppuccin-latte.yml | 79 ++++ .../catppuccin/catppuccin-macchiato.yml | 79 ++++ conf/themes/catppuccin/catppuccin-mocha.yml | 78 +++ pkg/base.zsh | 12 +- 8 files changed, 703 insertions(+), 441 deletions(-) create mode 100644 conf/core.yml create mode 100644 conf/themes/catppuccin/.editorconfig create mode 100644 conf/themes/catppuccin/catppuccin-frappe.yml create mode 100644 conf/themes/catppuccin/catppuccin-latte.yml create mode 100644 conf/themes/catppuccin/catppuccin-macchiato.yml create mode 100644 conf/themes/catppuccin/catppuccin-mocha.yml diff --git a/conf/alacritty.yml b/conf/alacritty.yml index a88c68f..56156a0 100644 --- a/conf/alacritty.yml +++ b/conf/alacritty.yml @@ -1,430 +1,16 @@ -# Configuration for Alacritty, the GPU enhanced terminal emulator - -# Any items in the `env` entry below will be added as -# environment variables. Some entries may override variables -# set by alacritty it self. -env: - # TERM env customization. - # - # If this property is not set, alacritty will set it to xterm-256color. - # - # Note that some xterm terminfo databases don't declare support for italics. - # You can verify this by checking for the presence of `smso` and `sitm` in - # `infocmp xterm-256color`. - TERM: screen-256color # this is what neovim needs - #TERM: screen-256color # this is what neovim needs - -window: - # Window dimensions (changes require restart) - # - # Specified in number of columns/lines, not pixels. If both are zero this - # setting is ignored. - dimensions: - columns: 0 - lines: 0 - - # Window padding (changes require restart) - # - # Blank space added around the window in pixels. This padding is not scaled by - # DPI and the specified value is always added at both opposing sides. - padding: - x: 2 - y: 2 - - # Spread additional padding evenly around the terminal content. - dynamic_padding: false - - # Window decorations - # - # Available values: - # - full: borders and title bar - # - none: neither borders nor title bar - # - transparent: title bar, transparent background and title bar buttons - # - buttonless: title bar, transparent background, but no title bar buttons - decorations: full - - # Startup Mode (changes require restart) - # - # Values for `startup_mode`: - # - Windowed - # - Maximized - # - Fullscreen - # - # Values for `startup_mode` (macOS only): - # - SimpleFullscreen - startup_mode: Maximized - -scrolling: - # Maximum number of lines in the scrollback buffer. - # Specifying '0' will disable scrolling. - history: 10000 - - # Number of lines the viewport will move for every line scrolled when - # scrollback is enabled (history > 0). - multiplier: 3 - -font: - normal: - family: FiraCode Nerd Font Mono - # Style can be specified to pick a specific face. - style: Retina - - # The bold font face - bold: - family: FiraCode Nerd Font Mono - # Style can be specified to pick a specific face. - style: Bold - - # The italic font face - italic: - family: FiraCode Nerd Font Mono - # Style can be specified to pick a specific face. - style: Italic - - # Point size of the font - size: 20 - - # Use custom cursor colors. If true, display the cursor in the cursor.foreground - # and cursor.background colors, otherwise invert the colors of the cursor. - # custom_cursor_colors: false - -# Colors ----------------------------------------------------------------------- - -# begin_theme - -schemes: - dracula: &dracula # Default colors - primary: - background: "0x282a36" - foreground: "0xf8f8f2" - - # Bright and dim foreground colors - # - # The dimmed foreground color is calculated automatically if it is not present. - # If the bright foreground color is not set, or `draw_bold_text_with_bright_colors` - # is `false`, the normal foreground color will be used. - #dim_foreground: '0x9a9a9a' - #bright_foreground: '0xffffff' - - # Cursor colors - # - # Colors which should be used to draw the terminal cursor. If these are unset, - # the cursor color will be the inverse of the cell color. - cursor: - text: "0x44475a" - cursor: "0xf8f8f2" - - # Selection colors - # - # Colors which should be used to draw the selection area. If selection - # background is unset, selection color will be the inverse of the cell colors. - # If only text is unset the cell text color will remain the same. - selection: - text: "0xf8f8f2" - background: "0x44475a" - - # Normal colors - normal: - black: "0x000000" - red: "0xff5555" - green: "0x50fa7b" - yellow: "0xf1fa8c" - blue: "0xbd93f9" - magenta: "0xff79c6" - cyan: "0x8be9fd" - white: "0xbfbfbf" - - # Bright colors - bright: - black: "0x4d4d4d" - red: "0xff6e67" - green: "0x5af78e" - yellow: "0xf4f99d" - blue: "0xcaa9fa" - magenta: "0xff92d0" - cyan: "0x9aedfe" - white: "0xe6e6e6" - - # Dim colors - # - # If the dim colors are not set, they will be calculated automatically based - # on the `normal` colors. - dim: - black: "0x14151b" - red: "0xff2222" - green: "0x1ef956" - yellow: "0xebf85b" - blue: "0x4d5b86" - magenta: "0xff46b0" - cyan: "0x59dffc" - white: "0xe6e6d1" - - # Indexed Colors - # - # The indexed colors include all colors from 16 to 256. - # When these are not set, they're filled with sensible defaults. - # - # Example: - # `- { index: 16, color: '0xff00ff' }` - # - indexed_colors: [] - - nord: &nord - primary: - background: "0x2E3440" - foreground: "0xD8DEE9" - cursor: - text: "0x2E3440" - cursor: "0xD8DEE9" - normal: - black: "0x3B4252" - red: "0xBF616A" - green: "0xA3BE8C" - yellow: "0xEBCB8B" - blue: "0x81A1C1" - magenta: "0xB48EAD" - cyan: "0x88C0D0" - white: "0xE5E9F0" - bright: - black: "0x4C566A" - red: "0xBF616A" - green: "0xA3BE8C" - yellow: "0xEBCB8B" - blue: "0x81A1C1" - magenta: "0xB48EAD" - cyan: "0x8FBCBB" - white: "0xECEFF4" - - ayu_mirage: &ayu_mirage - primary: - background: "0x212733" - foreground: "0xd0cec3" - normal: - black: "0x212733" - red: "0xea5965" - green: "0xade46b" - yellow: "0xfec254" - blue: "0x2d91d0" - magenta: "0xc9aeff" - cyan: "0x86e2bf" - white: "0xbbbbbb" - bright: - black: "0x555555" - red: "0xea5965" - green: "0xc1e436" - yellow: "0xfed96d" - blue: "0x5555ff" - magenta: "0xff55ff" - cyan: "0x99ffda" - white: "0xffffff" - - challenger_deep: &challenger_deep # Default colors - primary: - background: "0x1b182c" - foreground: "0xcbe3e7" - - # Normal colors - normal: - black: "0x100e23" - red: "0xff8080" - green: "0x95ffa4" - yellow: "0xffe9aa" - blue: "0x91ddff" - magenta: "0xc991e1" - cyan: "0xaaffe4" - white: "0xcbe3e7" - - # Bright colors - bright: - black: "0x565575" - red: "0xff5458" - green: "0x62d196" - yellow: "0xffb378" - blue: "0x65b2ff" - magenta: "0x906cff" - cyan: "0x63f2f1" - white: "0xa6b3cc" - -colors: *dracula - -# end_theme - -# Colors ----------------------------------------------------------------------- - -# # Use custom cursor colors. If true, display the cursor in the cursor.foreground and cursor.background colors, otherwise invert the colors of the cursor. -custom_cursor_colors: true - -# Visual Bell -# -# Any time the BEL code is received, Alacritty "rings" the visual bell. Once -# rung, the terminal background will be set to white and transition back to the -# default background color. You can control the rate of this transition by -# setting the `duration` property (represented in milliseconds). You can also -# configure the transition function by setting the `animation` property. -# -# Values for `animation`: -# - Ease -# - EaseOut -# - EaseOutSine -# - EaseOutQuad -# - EaseOutCubic -# - EaseOutQuart -# - EaseOutQuint -# - EaseOutExpo -# - EaseOutCirc -# - Linear -# -# Specifying a `duration` of `0` will disable the visual bell. -bell: - animation: EaseOutExpo - duration: 0 - color: "0xffffff" - -# Background opacity -# -# Window opacity as a floating point number from `0.0` to `1.0`. -# The value `0.0` is completely transparent and `1.0` is opaque. -background_opacity: 1.0 - -# Mouse bindings -# -# Available fields: -# - mouse -# - action -# - mods (optional) -# -# Values for `mouse`: -# - Middle -# - Left -# - Right -# - Numeric identifier such as `5` -# -# All available `mods` and `action` values are documented in the key binding -# section. - -# Allow terminal applications to change Alacritty's window title. -window.dynamic_title: true - -cursor: - # Cursor style - # - # Values for `style`: - # - ▇ Block - # - _ Underline - # - | Beam - style: Block - - # If this is `true`, the cursor will be rendered as a hollow box when the - # window is not focused. - unfocused_hollow: true - -key_bindings: - - { key: Period, mods: Command, action: Paste } - - { key: V, mods: Command, action: Paste } - - { key: C, mods: Command, action: Copy } - - { key: Q, mods: Command, action: Quit } - - { key: W, mods: Command, action: Quit } - - { key: Home, chars: "\x1bOH", mode: AppCursor } - - { key: Home, chars: "\x1b[1~", mode: ~AppCursor } - - { key: End, chars: "\x1bOF", mode: AppCursor } - - { key: End, chars: "\x1b[4~", mode: ~AppCursor } - - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } - - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } - - { key: PageUp, chars: "\x1b[5~" } - - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } - - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } - - { key: PageDown, chars: "\x1b[6~" } - - { key: Left, mods: Shift, chars: "\x1b[1;2D" } - - { key: Left, mods: Control, chars: "\x1b[1;5D" } - - { key: Left, mods: Alt, chars: "\x1b[1;3D" } - - { key: Left, chars: "\x1b[D", mode: ~AppCursor } - - { key: Left, chars: "\x1bOD", mode: AppCursor } - - { key: Right, mods: Shift, chars: "\x1b[1;2C" } - - { key: Right, mods: Control, chars: "\x1b[1;5C" } - - { key: Right, mods: Alt, chars: "\x1b[1;3C" } - - { key: Right, chars: "\x1b[C", mode: ~AppCursor } - - { key: Right, chars: "\x1bOC", mode: AppCursor } - - { key: Up, mods: Shift, chars: "\x1b[1;2A" } - - { key: Up, mods: Control, chars: "\x1b[1;5A" } - - { key: Up, mods: Alt, chars: "\x1b[1;3A" } - - { key: Up, chars: "\x1b[A", mode: ~AppCursor } - - { key: Up, chars: "\x1bOA", mode: AppCursor } - - { key: Down, mods: Shift, chars: "\x1b[1;2B" } - - { key: Down, mods: Control, chars: "\x1b[1;5B" } - - { key: Down, mods: Alt, chars: "\x1b[1;3B" } - - { key: Down, chars: "\x1b[B", mode: ~AppCursor } - - { key: Down, chars: "\x1bOB", mode: AppCursor } - - { key: Tab, mods: Shift, chars: "\x1b[Z" } - - { key: F1, chars: "\x1bOP" } - - { key: F2, chars: "\x1bOQ" } - - { key: F3, chars: "\x1bOR" } - - { key: F4, chars: "\x1bOS" } - - { key: F5, chars: "\x1b[15~" } - - { key: F6, chars: "\x1b[17~" } - - { key: F7, chars: "\x1b[18~" } - - { key: F8, chars: "\x1b[19~" } - - { key: F9, chars: "\x1b[20~" } - - { key: F10, chars: "\x1b[21~" } - - { key: F11, chars: "\x1b[23~" } - - { key: F12, chars: "\x1b[24~" } - - { key: Back, chars: "\x7f" } - - { key: Back, mods: Alt, chars: "\x1b\x7f" } - - { key: Insert, chars: "\x1b[2~" } - - { key: Delete, chars: "\x1b[3~" } - -# Mouse Bindings --------------------------------------------------------------- -mouse_bindings: - - { mouse: Middle, action: PasteSelection } - -mouse: - # Click settings - # - # The `double_click` and `triple_click` settings control the time - # alacritty should wait for accepting multiple clicks as one double - # or triple click. - double_click: { threshold: 300 } - triple_click: { threshold: 300 } - - # If this is `true`, the cursor is temporarily hidden when typing. - hide_when_typing: true - - # url: - # URL launcher - # - # This program is executed when clicking on a text which is recognized as a URL. - # The URL is always added to the command as the last parameter. - # - # Default: - # - (macOS) open - # - (Linux) xdg-open - # - (Windows) explorer - #launcher: xdg-open - # URL modifiers - # - # These are the modifiers that need to be held down for opening URLs when clicking - # on them. The available modifiers are documented in the key binding section. - # modifiers: None - -selection: - semantic_escape_chars: ',│`|:"'' ()[]{}<>' - - # When set to `true`, selected text will be copied to the primary clipboard. - save_to_clipboard: false - -# Other ------------------------------------------------------------------------ - -# Live config reload (changes require restart) -live_config_reload: true - -# Should display the render timer -debug.render_timer: false - -# When true, bold text is drawn using the bright variant of colors. -draw_bold_text_with_bright_colors: false -# Shell -# -# You can set shell.program to the path of your favorite shell, e.g. /bin/fish. -# Entries in shell.args are passed unmodified as arguments to the shell. -# -# shell: -# program: /usr/local/bin/zsh +# Configuration for Alacritty, the GPU enhanced terminal emulator. + +# Import additional configuration files +# +# Imports are loaded in order, skipping all missing files, with the importing +# file being loaded last. If a field is already present in a previous import, it +# will be replaced. +# +# All imports must either be absolute paths starting with `/`, or paths relative +# to the user's home directory starting with `~/`. +import: + - ~/.config/alacritty/core.yml + - ~/.config/alacritty/themes/catppuccin/catppuccin-mocha.yml + # - ~/.config/alacritty/catppuccin/catppuccin-macchiato.yml + # - ~/.config/alacritty/catppuccin/catppuccin-frappe.yml + # - ~/.config/alacritty/catppuccin/catppuccin-latte.yml diff --git a/conf/core.yml b/conf/core.yml new file mode 100644 index 0000000..4ccd1bf --- /dev/null +++ b/conf/core.yml @@ -0,0 +1,337 @@ +# Any items in the `env` entry below will be added as +# environment variables. Some entries may override variables +# set by alacritty it self. +env: + # TERM env customization. + # + # This value is used to set the `$TERM` environment variable for + # each instance of Alacritty. If it is not present, alacritty will + # check the local terminfo database and use `alacritty` if it is + # available, otherwise `xterm-256color` is used. + # TERM: screen-256color # this is what neovim needs + #TERM: alacritty + TERM: xterm-256color + + #window: + # Window dimensions (changes require restart) + # + # Number of lines/columns (not pixels) in the terminal. Both lines and columns + # must be non-zero for this to take effect. The number of columns must be at + # least `2`, while using a value of `0` for columns and lines will fall back + # to the window manager's recommended size + #dimensions: + # columns: 0 + # lines: 0 + + # Window position (changes require restart) + # + # Specified in number of pixels. + # If the position is not set, the window manager will handle the placement. + #position: + # x: 0 + # y: 0 + + # Window padding (changes require restart) + # + # Blank space added around the window in pixels. This padding is scaled + # by DPI and the specified value is always added at both opposing sides. + #padding: + # x: 0 + # y: 0 + + # Spread additional padding evenly around the terminal content. + #dynamic_padding: false + + # Window decorations + # + # Values for `decorations`: + # - full: Borders and title bar + # - none: Neither borders nor title bar + # + # Values for `decorations` (macOS only): + # - transparent: Title bar, transparent background and title bar buttons + # - buttonless: Title bar, transparent background and no title bar buttons + decorations: full + + # Background opacity + # + # Window opacity as a floating point number from `0.0` to `1.0`. + # The value `0.0` is completely transparent and `1.0` is opaque. + #opacity: 1.0 + + # Startup Mode (changes require restart) + # + # Values for `startup_mode`: + # - Windowed + # - Maximized + # - Fullscreen + # + # Values for `startup_mode` (macOS only): + # - SimpleFullscreen + startup_mode: Maximized + +scrolling: + # Maximum number of lines in the scrollback buffer. + # Specifying '0' will disable scrolling. + history: 10000 + + # Number of lines the viewport will move for every line scrolled when + # scrollback is enabled (history > 0). + multiplier: 3 + + # Faux Scrolling + # + # The `faux_multiplier` setting controls the number of lines the terminal + # should scroll when the alternate screen buffer is active. This is used to + # allow mouse scrolling for applications like `man`. + # + # Specifying `0` will disable faux scrolling. + faux_multiplier: 3 + + # Scroll to the bottom when new text is written to the terminal. + auto_scroll: false + +# Display tabs using this many cells (changes require restart) +# +# Some applications, like Emacs, rely on knowing about the width of a tab. To +# prevent unexpected behavior in these applications, it's also required to +# change the `it` value in terminfo when altering this setting. +# +tabspaces: 2 + +# Font configuration (changes require restart) +font: + # The normal (roman) font face to use. + # Style can be specified to pick a specific face. + normal: + family: "FiraCode Nerd Font Mono" + #style: Retina + + # The bold font face + # bold: + # family: 'FiraCode Nerd Font Mono' + # style: Bold + + # The italic font face + # italic: + # # family: "Fira Code" + # family: 'FiraCode Nerd Font Mono' + # style: 'Italic' + + # Point size of the font + size: 20.0 + + # Offset is the extra space around each character. offset.y can be thought of + # as modifying the linespacing, and offset.x as modifying the letter spacing. + offset: + x: 0 + y: 0 + + # Glyph offset determines the locations of the glyphs within their cells with + # the default being at the bottom. Increase the x offset to move the glyph to + # the right, increase the y offset to move the glyph upward. + glyph_offset: + x: 0 + y: 0 + + # Thin stroke font rendering (macOS only) + # + # Thin strokes are suitable for retina displays, but for non-retina you + # probably want this set to false. + # + # macOS >= 10.14.x: + # + # If the font quality on non-retina display looks bad then set + # `use_thin_strokes` to `true` and enable font smoothing by running the + # following command: + # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` + # + # This is a global setting and will require a log out or restart to take + # effect. + # use_thin_strokes: true + +# Use custom cursor colors. If true, display the cursor in the cursor.foreground +# and cursor.background colors, otherwise invert the colors of the cursor. +# custom_cursor_colors: false + +# # Use custom cursor colors. If true, display the cursor in the cursor.foreground and cursor.background colors, otherwise invert the colors of the cursor. +custom_cursor_colors: true + +# Visual Bell +# +# Any time the BEL code is received, Alacritty "rings" the visual bell. Once +# rung, the terminal background will be set to white and transition back to the +# default background color. You can control the rate of this transition by +# setting the `duration` property (represented in milliseconds). You can also +# configure the transition function by setting the `animation` property. +# +# Values for `animation`: +# - Ease +# - EaseOut +# - EaseOutSine +# - EaseOutQuad +# - EaseOutCubic +# - EaseOutQuart +# - EaseOutQuint +# - EaseOutExpo +# - EaseOutCirc +# - Linear +# +# Specifying a `duration` of `0` will disable the visual bell. +visual_bell: + animation: EaseOutExpo + duration: 0 + color: "0xffffff" + +# Background opacity +# +# Window opacity as a floating point number from `0.0` to `1.0`. +# The value `0.0` is completely transparent and `1.0` is opaque. +# background_opacity: 1.0 + +# Mouse bindings +# +# Available fields: +# - mouse +# - action +# - mods (optional) +# +# Values for `mouse`: +# - Middle +# - Left +# - Right +# - Numeric identifier such as `5` +# +# All available `mods` and `action` values are documented in the key binding +# section. + +# Allow terminal applications to change Alacritty's window title. +dynamic_title: true + +cursor: + # Cursor style + # + # Values for `style`: + # - ▇ Block + # - _ Underline + # - | Beam + style: Block + + # If this is `true`, the cursor will be rendered as a hollow box when the + # window is not focused. + unfocused_hollow: true + +key_bindings: + - { key: Period, mods: Command, action: Paste } + - { key: V, mods: Command, action: Paste } + - { key: C, mods: Command, action: Copy } + - { key: Q, mods: Command, action: Quit } + - { key: W, mods: Command, action: Quit } + - { key: Home, chars: "\x1bOH", mode: AppCursor } + - { key: Home, chars: "\x1b[1~", mode: ~AppCursor } + - { key: End, chars: "\x1bOF", mode: AppCursor } + - { key: End, chars: "\x1b[4~", mode: ~AppCursor } + - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" } + - { key: PageUp, mods: Control, chars: "\x1b[5;5~" } + - { key: PageUp, chars: "\x1b[5~" } + - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" } + - { key: PageDown, mods: Control, chars: "\x1b[6;5~" } + - { key: PageDown, chars: "\x1b[6~" } + - { key: Left, mods: Shift, chars: "\x1b[1;2D" } + - { key: Left, mods: Control, chars: "\x1b[1;5D" } + - { key: Left, mods: Alt, chars: "\x1b[1;3D" } + - { key: Left, chars: "\x1b[D", mode: ~AppCursor } + - { key: Left, chars: "\x1bOD", mode: AppCursor } + - { key: Right, mods: Shift, chars: "\x1b[1;2C" } + - { key: Right, mods: Control, chars: "\x1b[1;5C" } + - { key: Right, mods: Alt, chars: "\x1b[1;3C" } + - { key: Right, chars: "\x1b[C", mode: ~AppCursor } + - { key: Right, chars: "\x1bOC", mode: AppCursor } + - { key: Up, mods: Shift, chars: "\x1b[1;2A" } + - { key: Up, mods: Control, chars: "\x1b[1;5A" } + - { key: Up, mods: Alt, chars: "\x1b[1;3A" } + - { key: Up, chars: "\x1b[A", mode: ~AppCursor } + - { key: Up, chars: "\x1bOA", mode: AppCursor } + - { key: Down, mods: Shift, chars: "\x1b[1;2B" } + - { key: Down, mods: Control, chars: "\x1b[1;5B" } + - { key: Down, mods: Alt, chars: "\x1b[1;3B" } + - { key: Down, chars: "\x1b[B", mode: ~AppCursor } + - { key: Down, chars: "\x1bOB", mode: AppCursor } + - { key: Tab, mods: Shift, chars: "\x1b[Z" } + - { key: F1, chars: "\x1bOP" } + - { key: F2, chars: "\x1bOQ" } + - { key: F3, chars: "\x1bOR" } + - { key: F4, chars: "\x1bOS" } + - { key: F5, chars: "\x1b[15~" } + - { key: F6, chars: "\x1b[17~" } + - { key: F7, chars: "\x1b[18~" } + - { key: F8, chars: "\x1b[19~" } + - { key: F9, chars: "\x1b[20~" } + - { key: F10, chars: "\x1b[21~" } + - { key: F11, chars: "\x1b[23~" } + - { key: F12, chars: "\x1b[24~" } + - { key: Back, chars: "\x7f" } + - { key: Back, mods: Alt, chars: "\x1b\x7f" } + - { key: Insert, chars: "\x1b[2~" } + - { key: Delete, chars: "\x1b[3~" } + +# Mouse Bindings --------------------------------------------------------------- +mouse_bindings: + - { mouse: Middle, action: PasteSelection } + +mouse: + # Click settings + # + # The `double_click` and `triple_click` settings control the time + # alacritty should wait for accepting multiple clicks as one double + # or triple click. + double_click: { threshold: 300 } + triple_click: { threshold: 300 } + + # If this is `true`, the cursor is temporarily hidden when typing. + hide_when_typing: false + + # url: + # URL launcher + # + # This program is executed when clicking on a text which is recognized as a URL. + # The URL is always added to the command as the last parameter. + # + # Default: + # - (macOS) open + # - (Linux) xdg-open + # - (Windows) explorer + #launcher: xdg-open + # URL modifiers + # + # These are the modifiers that need to be held down for opening URLs when clicking + # on them. The available modifiers are documented in the key binding section. + # modifiers: None + +selection: + semantic_escape_chars: ',│`|:"'' ()[]{}<>' + + # When set to `true`, selected text will be copied to the primary clipboard. + save_to_clipboard: false + +# Other ------------------------------------------------------------------------ + +# Live config reload (changes require restart) +live_config_reload: true + +# Should display the render timer +debug.render_timer: true + +# When true, bold text is drawn using the bright variant of colors. +draw_bold_text_with_bright_colors: false +# visual_bell: +# animation: EaseOutExpo +# duration: 1 + +# Shell +# +# You can set shell.program to the path of your favorite shell, e.g. /bin/fish. +# Entries in shell.args are passed unmodified as arguments to the shell. +# +# shell: +# program: /usr/local/bin/zsh diff --git a/conf/themes/catppuccin/.editorconfig b/conf/themes/catppuccin/.editorconfig new file mode 100644 index 0000000..d86ac02 --- /dev/null +++ b/conf/themes/catppuccin/.editorconfig @@ -0,0 +1,34 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# EditorConfig is awesome: https://EditorConfig.org + +root = true + +[*] +charset = utf-8 +indent_size = 2 +indent_style = space +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +# go +[*.go] +indent_style = tab +indent_size = 4 + +# python +[*.{ini,py,py.tpl,rst}] +indent_size = 4 + +# rust +[*.rs] +indent_size = 4 + +# documentation, utils +[*.{md,mdx,diff}] +trim_trailing_whitespace = false + +# windows shell scripts +[*.{cmd,bat,ps1}] +end_of_line = crlf diff --git a/conf/themes/catppuccin/catppuccin-frappe.yml b/conf/themes/catppuccin/catppuccin-frappe.yml new file mode 100644 index 0000000..443d0af --- /dev/null +++ b/conf/themes/catppuccin/catppuccin-frappe.yml @@ -0,0 +1,79 @@ +colors: + # Default colors + primary: + background: "#303446" # base + foreground: "#C6D0F5" # text + # Bright and dim foreground colors + dim_foreground: "#C6D0F5" # text + bright_foreground: "#C6D0F5" # text + + # Cursor colors + cursor: + text: "#303446" # base + cursor: "#F2D5CF" # rosewater + vi_mode_cursor: + text: "#303446" # base + cursor: "#BABBF1" # lavender + + # Search colors + search: + matches: + foreground: "#303446" # base + background: "#A5ADCE" # subtext0 + focused_match: + foreground: "#303446" # base + background: "#A6D189" # green + footer_bar: + foreground: "#303446" # base + background: "#A5ADCE" # subtext0 + + # Keyboard regex hints + hints: + start: + foreground: "#303446" # base + background: "#E5C890" # yellow + end: + foreground: "#303446" # base + background: "#A5ADCE" # subtext0 + + # Selection colors + selection: + text: "#303446" # base + background: "#F2D5CF" # rosewater + + # Normal colors + normal: + black: "#51576D" # surface1 + red: "#E78284" # red + green: "#A6D189" # green + yellow: "#E5C890" # yellow + blue: "#8CAAEE" # blue + magenta: "#F4B8E4" # pink + cyan: "#81C8BE" # teal + white: "#B5BFE2" # subtext1 + + # Bright colors + bright: + black: "#626880" # surface2 + red: "#E78284" # red + green: "#A6D189" # green + yellow: "#E5C890" # yellow + blue: "#8CAAEE" # blue + magenta: "#F4B8E4" # pink + cyan: "#81C8BE" # teal + white: "#A5ADCE" # subtext0 + + # Dim colors + dim: + black: "#51576D" # surface1 + red: "#E78284" # red + green: "#A6D189" # green + yellow: "#E5C890" # yellow + blue: "#8CAAEE" # blue + magenta: "#F4B8E4" # pink + cyan: "#81C8BE" # teal + white: "#B5BFE2" # subtext1 + + indexed_colors: + - { index: 16, color: "#EF9F76" } + - { index: 17, color: "#F2D5CF" } diff --git a/conf/themes/catppuccin/catppuccin-latte.yml b/conf/themes/catppuccin/catppuccin-latte.yml new file mode 100644 index 0000000..1d4aa31 --- /dev/null +++ b/conf/themes/catppuccin/catppuccin-latte.yml @@ -0,0 +1,79 @@ +colors: + # Default colors + primary: + background: "#EFF1F5" # base + foreground: "#4C4F69" # text + # Bright and dim foreground colors + dim_foreground: "#4C4F69" # text + bright_foreground: "#4C4F69" # text + + # Cursor colors + cursor: + text: "#EFF1F5" # base + cursor: "#DC8A78" # rosewater + vi_mode_cursor: + text: "#EFF1F5" # base + cursor: "#7287FD" # lavender + + # Search colors + search: + matches: + foreground: "#EFF1F5" # base + background: "#6C6F85" # subtext0 + focused_match: + foreground: "#EFF1F5" # base + background: "#40A02B" # green + footer_bar: + foreground: "#EFF1F5" # base + background: "#6C6F85" # subtext0 + + # Keyboard regex hints + hints: + start: + foreground: "#EFF1F5" # base + background: "#DF8E1D" # yellow + end: + foreground: "#EFF1F5" # base + background: "#6C6F85" # subtext0 + + # Selection colors + selection: + text: "#EFF1F5" # base + background: "#DC8A78" # rosewater + + # Normal colors + normal: + black: "#5C5F77" # subtext1 + red: "#D20F39" # red + green: "#40A02B" # green + yellow: "#DF8E1D" # yellow + blue: "#1E66F5" # blue + magenta: "#EA76CB" # pink + cyan: "#179299" # teal + white: "#ACB0BE" # surface2 + + # Bright colors + bright: + black: "#6C6F85" # subtext0 + red: "#D20F39" # red + green: "#40A02B" # green + yellow: "#DF8E1D" # yellow + blue: "#1E66F5" # blue + magenta: "#EA76CB" # pink + cyan: "#179299" # teal + white: "#BCC0CC" # surface1 + + # Dim colors + dim: + black: "#5C5F77" # subtext1 + red: "#D20F39" # red + green: "#40A02B" # green + yellow: "#DF8E1D" # yellow + blue: "#1E66F5" # blue + magenta: "#EA76CB" # pink + cyan: "#179299" # teal + white: "#ACB0BE" # surface2 + + indexed_colors: + - { index: 16, color: "#FE640B" } + - { index: 17, color: "#DC8A78" } diff --git a/conf/themes/catppuccin/catppuccin-macchiato.yml b/conf/themes/catppuccin/catppuccin-macchiato.yml new file mode 100644 index 0000000..2d13630 --- /dev/null +++ b/conf/themes/catppuccin/catppuccin-macchiato.yml @@ -0,0 +1,79 @@ +colors: + # Default colors + primary: + background: "#24273A" # base + foreground: "#CAD3F5" # text + # Bright and dim foreground colors + dim_foreground: "#CAD3F5" # text + bright_foreground: "#CAD3F5" # text + + # Cursor colors + cursor: + text: "#24273A" # base + cursor: "#F4DBD6" # rosewater + vi_mode_cursor: + text: "#24273A" # base + cursor: "#B7BDF8" # lavender + + # Search colors + search: + matches: + foreground: "#24273A" # base + background: "#A5ADCB" # subtext0 + focused_match: + foreground: "#24273A" # base + background: "#A6DA95" # green + footer_bar: + foreground: "#24273A" # base + background: "#A5ADCB" # subtext0 + + # Keyboard regex hints + hints: + start: + foreground: "#24273A" # base + background: "#EED49F" # yellow + end: + foreground: "#24273A" # base + background: "#A5ADCB" # subtext0 + + # Selection colors + selection: + text: "#24273A" # base + background: "#F4DBD6" # rosewater + + # Normal colors + normal: + black: "#494D64" # surface1 + red: "#ED8796" # red + green: "#A6DA95" # green + yellow: "#EED49F" # yellow + blue: "#8AADF4" # blue + magenta: "#F5BDE6" # pink + cyan: "#8BD5CA" # teal + white: "#B8C0E0" # subtext1 + + # Bright colors + bright: + black: "#5B6078" # surface2 + red: "#ED8796" # red + green: "#A6DA95" # green + yellow: "#EED49F" # yellow + blue: "#8AADF4" # blue + magenta: "#F5BDE6" # pink + cyan: "#8BD5CA" # teal + white: "#A5ADCB" # subtext0 + + # Dim colors + dim: + black: "#494D64" # surface1 + red: "#ED8796" # red + green: "#A6DA95" # green + yellow: "#EED49F" # yellow + blue: "#8AADF4" # blue + magenta: "#F5BDE6" # pink + cyan: "#8BD5CA" # teal + white: "#B8C0E0" # subtext1 + + indexed_colors: + - { index: 16, color: "#F5A97F" } + - { index: 17, color: "#F4DBD6" } diff --git a/conf/themes/catppuccin/catppuccin-mocha.yml b/conf/themes/catppuccin/catppuccin-mocha.yml new file mode 100644 index 0000000..dc9135f --- /dev/null +++ b/conf/themes/catppuccin/catppuccin-mocha.yml @@ -0,0 +1,78 @@ +colors: + primary: + background: "#1E1E2E" # base + foreground: "#CDD6F4" # text + # Bright and dim foreground colors + dim_foreground: "#CDD6F4" # text + bright_foreground: "#CDD6F4" # text + + # Cursor colors + cursor: + text: "#1E1E2E" # base + cursor: "#F5E0DC" # rosewater + vi_mode_cursor: + text: "#1E1E2E" # base + cursor: "#B4BEFE" # lavender + + # Search colors + search: + matches: + foreground: "#1E1E2E" # base + background: "#A6ADC8" # subtext0 + focused_match: + foreground: "#1E1E2E" # base + background: "#A6E3A1" # green + footer_bar: + foreground: "#1E1E2E" # base + background: "#A6ADC8" # subtext0 + + # Keyboard regex hints + hints: + start: + foreground: "#1E1E2E" # base + background: "#F9E2AF" # yellow + end: + foreground: "#1E1E2E" # base + background: "#A6ADC8" # subtext0 + + # Selection colors + selection: + text: "#1E1E2E" # base + background: "#F5E0DC" # rosewater + + # Normal colors + normal: + black: "#45475A" # surface1 + red: "#F38BA8" # red + green: "#A6E3A1" # green + yellow: "#F9E2AF" # yellow + blue: "#89B4FA" # blue + magenta: "#F5C2E7" # pink + cyan: "#94E2D5" # teal + white: "#BAC2DE" # subtext1 + + # Bright colors + bright: + black: "#585B70" # surface2 + red: "#F38BA8" # red + green: "#A6E3A1" # green + yellow: "#F9E2AF" # yellow + blue: "#89B4FA" # blue + magenta: "#F5C2E7" # pink + cyan: "#94E2D5" # teal + white: "#A6ADC8" # subtext0 + + # Dim colors + dim: + black: "#45475A" # surface1 + red: "#F38BA8" # red + green: "#A6E3A1" # green + yellow: "#F9E2AF" # yellow + blue: "#89B4FA" # blue + magenta: "#F5C2E7" # pink + cyan: "#94E2D5" # teal + white: "#BAC2DE" # subtext1 + + indexed_colors: + - { index: 16, color: "#FAB387" } + - { index: 17, color: "#F5E0DC" } diff --git a/pkg/base.zsh b/pkg/base.zsh index 8564eb1..caf2208 100644 --- a/pkg/base.zsh +++ b/pkg/base.zsh @@ -11,14 +11,4 @@ function alacritty::install { message_info "Installing Alacritty" brew cask install alacritty alacritty::post_install -} - -function alacritty::list_themes { - if [ -e "${ALACRITTY_THEMES_DIR}" ]; then - message_info "=== your available themes ===" - message_info "-----------------------------" - ls -1 "${ALACRITTY_THEMES_DIR}"/*.yaml|sed -r 's/(.*)\/(.*).yaml/ \2/g' - return 1 - fi - message_info "=== sorry no themes, use fn: list_themes ===" -} +} \ No newline at end of file