From d7e0c2c16147ba50580ebf1d27bcdabc8b8156f4 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 15:24:08 -0500 Subject: [PATCH 01/30] feat: automatic light/dark theme switching Switch between Catppuccin Mocha (dark) and Latte (light) based on: - macOS: Swift daemon watches system appearance changes (instant) - Non-macOS: Sunrise/sunset from ~/.config/tz.conf or 7AM-7PM fallback Ghostty and Neovim handle switching natively. All other tools are switched via scripts/switch-theme.fish which updates configs and reloads tmux. Fish universal variables propagate BAT_THEME, FZF colors, and DARK_MODE to all running shells instantly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- README.md | 53 +- bottom/bottom-dark.toml | 26 + bottom/bottom-light.toml | 26 + bottom/bottom.toml | 27 +- eza/theme-dark.yml | 1 + eza/theme-light.yml | 103 ++++ eza/theme.yml | 2 +- fish/conf.d/00-env.fish | 6 +- fish/conf.d/01-theme.fish | 35 ++ gh-dash/config-dark.yml | 16 + gh-dash/config-light.yml | 16 + gh-dash/config.yml | 17 +- ghostty/config | 3 +- install.sh | 16 + k9s/skins/catppuccin-latte.yaml | 141 +++++ scripts/com.dotfiles.theme-watcher.plist | 20 + scripts/detect-theme-mode | 60 ++ scripts/sunrise-sunset.py | 110 ++++ scripts/switch-theme.fish | 140 +++++ scripts/theme-watcher.swift | 50 ++ tmux/tmux.conf | 1 + yazi/theme-dark.toml | 698 ++++++++++++++++++++++ yazi/theme-light.toml | 698 ++++++++++++++++++++++ yazi/theme.toml | 699 +---------------------- 24 files changed, 2215 insertions(+), 749 deletions(-) create mode 100644 bottom/bottom-dark.toml create mode 100644 bottom/bottom-light.toml mode change 100644 => 120000 bottom/bottom.toml create mode 120000 eza/theme-dark.yml create mode 100644 eza/theme-light.yml create mode 100644 fish/conf.d/01-theme.fish create mode 100644 gh-dash/config-dark.yml create mode 100644 gh-dash/config-light.yml mode change 100644 => 120000 gh-dash/config.yml create mode 100644 k9s/skins/catppuccin-latte.yaml create mode 100644 scripts/com.dotfiles.theme-watcher.plist create mode 100755 scripts/detect-theme-mode create mode 100755 scripts/sunrise-sunset.py create mode 100755 scripts/switch-theme.fish create mode 100644 scripts/theme-watcher.swift create mode 100644 yazi/theme-dark.toml create mode 100644 yazi/theme-light.toml mode change 100644 => 120000 yazi/theme.toml diff --git a/README.md b/README.md index d988e1e..28ff352 100644 --- a/README.md +++ b/README.md @@ -3,14 +3,63 @@ Modern development environment configuration files optimized for productivity and visual consistency. This setup provides a comprehensive development environment with integrated tools for coding, git workflow, terminal enhancement, and system monitoring. **Key Features:** -- ๐ŸŽจ **Consistent Theming**: [Catppuccin Mocha theme](https://github.com/catppuccin/catppuccin) across all applications +- ๐ŸŽจ **Consistent Theming**: [Catppuccin theme](https://github.com/catppuccin/catppuccin) across all applications with automatic light/dark mode switching +- ๐ŸŒ— **Auto Light/Dark Mode**: Switches between Catppuccin Mocha (dark) and Latte (light) based on macOS system appearance or sunrise/sunset times - ๐Ÿš€ **Parallel Installation**: 40-60% faster setup with concurrent package installation - โšก **Performance Optimized**: Fast startup times and efficient resource usage - ๐Ÿ”ง **Development Focused**: Comprehensive language support and development tools - ๐Ÿ“ฆ **Automated Setup**: One-script installation for GitHub Codespaces - ๐Ÿš **Modern Shell**: Fish shell with starship prompt and productivity enhancements -All configurations use the [Catppuccin Mocha theme](https://github.com/catppuccin/catppuccin) for a consistent and visually appealing look across all tools and applications. +All configurations use the [Catppuccin theme](https://github.com/catppuccin/catppuccin) with automatic light/dark mode switching for a consistent look across all tools. + +## Light/Dark Mode Switching + +The theme automatically switches between **Catppuccin Mocha** (dark) and **Catppuccin Latte** (light) based on your system settings. + +### How It Works + +- **macOS**: A Swift daemon watches for system appearance changes and instantly switches all tools. Ghostty and Neovim also detect this natively. +- **Linux/Remote**: Uses sunrise/sunset calculations from `~/.config/tz.conf` to determine light or dark mode. Falls back to 7 AMโ€“7 PM if no config exists. + +### tz.conf (for non-macOS systems) + +Create `~/.config/tz.conf` to enable time-based theme switching: + +```ini +# Theme Mode Configuration +# Used for sunrise/sunset-based light/dark mode switching +# on non-macOS systems. On macOS, system appearance is used instead. +# +# timezone: IANA timezone identifier (e.g., America/Toronto, Europe/Berlin) +# latitude: Decimal degrees, positive = North, negative = South +# longitude: Decimal degrees, positive = East, negative = West + +timezone = America/Toronto +latitude = 43.65 +longitude = -79.38 +``` + +### Manual Override + +```bash +# Switch manually at any time +scripts/switch-theme.fish light +scripts/switch-theme.fish dark +``` + +### macOS Theme Watcher Setup + +The install script handles this automatically, but for manual setup: + +```bash +# Compile the watcher +swiftc -O scripts/theme-watcher.swift -o ~/.local/bin/theme-watcher + +# Install and start the launchd agent +cp scripts/com.dotfiles.theme-watcher.plist ~/Library/LaunchAgents/ +launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist +``` ## Installation diff --git a/bottom/bottom-dark.toml b/bottom/bottom-dark.toml new file mode 100644 index 0000000..7e8d75c --- /dev/null +++ b/bottom/bottom-dark.toml @@ -0,0 +1,26 @@ +[styles.tables] +headers = {color = "#f5e0dc"} +[styles.cpu] +all_entry_color = "#f5e0dc" +avg_entry_color = "#eba0ac" +cpu_core_colors = ["#f38ba8","#fab387","#f9e2af","#a6e3a1","#74c7ec","#cba6f7"] +[styles.memory] +ram_color = "#a6e3a1" +swap_color = "#fab387" +gpu_colors = ["#74c7ec","#cba6f7","#f38ba8","#fab387","#f9e2af","#a6e3a1"] +arc_color = "#89dceb" +[styles.network] +rx_color = "#a6e3a1" +tx_color = "#f38ba8" +[styles.widgets] +widget_title = {color = "#f2cdcd"} +border_color = "#585b70" +selected_border_color = "#f5c2e7" +text = {color = "#cdd6f4"} +selected_text = {color = "#11111b", bg_color = "#cba6f7"} +[styles.graphs] +graph_color = "#a6adc8" +[styles.battery] +high_battery_color = "#a6e3a1" +medium_battery_color = "#f9e2af" +low_battery_color = "#f38ba8" diff --git a/bottom/bottom-light.toml b/bottom/bottom-light.toml new file mode 100644 index 0000000..f4ba27d --- /dev/null +++ b/bottom/bottom-light.toml @@ -0,0 +1,26 @@ +[styles.tables] +headers = {color = "#dc8a78"} +[styles.cpu] +all_entry_color = "#dc8a78" +avg_entry_color = "#e64553" +cpu_core_colors = ["#d20f39","#fe640b","#df8e1d","#40a02b","#209fb5","#8839ef"] +[styles.memory] +ram_color = "#40a02b" +swap_color = "#fe640b" +gpu_colors = ["#209fb5","#8839ef","#d20f39","#fe640b","#df8e1d","#40a02b"] +arc_color = "#04a5e5" +[styles.network] +rx_color = "#40a02b" +tx_color = "#d20f39" +[styles.widgets] +widget_title = {color = "#dd7878"} +border_color = "#acb0be" +selected_border_color = "#ea76cb" +text = {color = "#4c4f69"} +selected_text = {color = "#dce0e8", bg_color = "#8839ef"} +[styles.graphs] +graph_color = "#6c6f85" +[styles.battery] +high_battery_color = "#40a02b" +medium_battery_color = "#df8e1d" +low_battery_color = "#d20f39" diff --git a/bottom/bottom.toml b/bottom/bottom.toml deleted file mode 100644 index 7e8d75c..0000000 --- a/bottom/bottom.toml +++ /dev/null @@ -1,26 +0,0 @@ -[styles.tables] -headers = {color = "#f5e0dc"} -[styles.cpu] -all_entry_color = "#f5e0dc" -avg_entry_color = "#eba0ac" -cpu_core_colors = ["#f38ba8","#fab387","#f9e2af","#a6e3a1","#74c7ec","#cba6f7"] -[styles.memory] -ram_color = "#a6e3a1" -swap_color = "#fab387" -gpu_colors = ["#74c7ec","#cba6f7","#f38ba8","#fab387","#f9e2af","#a6e3a1"] -arc_color = "#89dceb" -[styles.network] -rx_color = "#a6e3a1" -tx_color = "#f38ba8" -[styles.widgets] -widget_title = {color = "#f2cdcd"} -border_color = "#585b70" -selected_border_color = "#f5c2e7" -text = {color = "#cdd6f4"} -selected_text = {color = "#11111b", bg_color = "#cba6f7"} -[styles.graphs] -graph_color = "#a6adc8" -[styles.battery] -high_battery_color = "#a6e3a1" -medium_battery_color = "#f9e2af" -low_battery_color = "#f38ba8" diff --git a/bottom/bottom.toml b/bottom/bottom.toml new file mode 120000 index 0000000..a59b981 --- /dev/null +++ b/bottom/bottom.toml @@ -0,0 +1 @@ +bottom-dark.toml \ No newline at end of file diff --git a/eza/theme-dark.yml b/eza/theme-dark.yml new file mode 120000 index 0000000..1ba6b03 --- /dev/null +++ b/eza/theme-dark.yml @@ -0,0 +1 @@ +catppuccin.yml \ No newline at end of file diff --git a/eza/theme-light.yml b/eza/theme-light.yml new file mode 100644 index 0000000..db17e1a --- /dev/null +++ b/eza/theme-light.yml @@ -0,0 +1,103 @@ +--- +colourful: true + +filekinds: + normal: {foreground: "#5C5F77"} + directory: {foreground: "#1E66F5"} + symlink: {foreground: "#04A5E5"} + pipe: {foreground: "#8C8FA1"} + block_device: {foreground: "#E64553"} + char_device: {foreground: "#E64553"} + socket: {foreground: "#ACB0BE"} + special: {foreground: "#8839EF"} + executable: {foreground: "#40A02B"} + mount_point: {foreground: "#209FB5"} + +perms: + user_read: {foreground: "#4C4F69"} + user_write: {foreground: "#DF8E1D"} + user_execute_file: {foreground: "#40A02B"} + user_execute_other: {foreground: "#40A02B"} + group_read: {foreground: "#5C5F77"} + group_write: {foreground: "#DF8E1D"} + group_execute: {foreground: "#40A02B"} + other_read: {foreground: "#6C6F85"} + other_write: {foreground: "#DF8E1D"} + other_execute: {foreground: "#40A02B"} + special_user_file: {foreground: "#8839EF"} + special_other: {foreground: "#ACB0BE"} + attribute: {foreground: "#6C6F85"} + +size: + major: {foreground: "#6C6F85"} + minor: {foreground: "#04A5E5"} + number_byte: {foreground: "#4C4F69"} + number_kilo: {foreground: "#5C5F77"} + number_mega: {foreground: "#1E66F5"} + number_giga: {foreground: "#8839EF"} + number_huge: {foreground: "#8839EF"} + unit_byte: {foreground: "#6C6F85"} + unit_kilo: {foreground: "#1E66F5"} + unit_mega: {foreground: "#8839EF"} + unit_giga: {foreground: "#8839EF"} + unit_huge: {foreground: "#209FB5"} + +users: + user_you: {foreground: "#4C4F69"} + user_root: {foreground: "#D20F39"} + user_other: {foreground: "#8839EF"} + group_yours: {foreground: "#5C5F77"} + group_other: {foreground: "#8C8FA1"} + group_root: {foreground: "#D20F39"} + +links: + normal: {foreground: "#04A5E5"} + multi_link_file: {foreground: "#209FB5"} + +git: + new: {foreground: "#40A02B"} + modified: {foreground: "#DF8E1D"} + deleted: {foreground: "#D20F39"} + renamed: {foreground: "#179299"} + typechange: {foreground: "#EA76CB"} + ignored: {foreground: "#8C8FA1"} + conflicted: {foreground: "#E64553"} + +git_repo: + branch_main: {foreground: "#4C4F69"} + branch_other: {foreground: "#8839EF"} + git_clean: {foreground: "#40A02B"} + git_dirty: {foreground: "#D20F39"} + +security_context: + colon: {foreground: "#8C8FA1"} + user: {foreground: "#5C5F77"} + role: {foreground: "#8839EF"} + typ: {foreground: "#ACB0BE"} + range: {foreground: "#8839EF"} + +file_type: + image: {foreground: "#DF8E1D"} + video: {foreground: "#D20F39"} + music: {foreground: "#40A02B"} + lossless: {foreground: "#179299"} + crypto: {foreground: "#ACB0BE"} + document: {foreground: "#4C4F69"} + compressed: {foreground: "#EA76CB"} + temp: {foreground: "#E64553"} + compiled: {foreground: "#209FB5"} + build: {foreground: "#ACB0BE"} + source: {foreground: "#1E66F5"} + +punctuation: {foreground: "#8C8FA1"} +date: {foreground: "#DF8E1D"} +inode: {foreground: "#6C6F85"} +blocks: {foreground: "#7C7F93"} +header: {foreground: "#4C4F69"} +octal: {foreground: "#179299"} +flags: {foreground: "#8839EF"} + +symlink_path: {foreground: "#04A5E5"} +control_char: {foreground: "#209FB5"} +broken_symlink: {foreground: "#D20F39"} +broken_path_overlay: {foreground: "#ACB0BE"} diff --git a/eza/theme.yml b/eza/theme.yml index 1ba6b03..fd20d61 120000 --- a/eza/theme.yml +++ b/eza/theme.yml @@ -1 +1 @@ -catppuccin.yml \ No newline at end of file +theme-dark.yml \ No newline at end of file diff --git a/fish/conf.d/00-env.fish b/fish/conf.d/00-env.fish index b053d77..b70d93c 100644 --- a/fish/conf.d/00-env.fish +++ b/fish/conf.d/00-env.fish @@ -7,12 +7,10 @@ set -gx EDITOR nvim set -gx EZA_CONFIG_DIR "$HOME/.config/eza" set -gx EZA_ICONS_AUTO true -# fzf theme/options -set -gx FZF_DEFAULT_OPTS '--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --color=selected-bg:#45475a --multi' +# fzf theme/options (colors are set dynamically by 01-theme.fish) # From your previous fish_variables (portable defaults) -set -gx BAT_THEME Catppuccin-mocha -set -gx DARK_MODE true +# BAT_THEME, DARK_MODE, and FZF_DEFAULT_OPTS are now managed by 01-theme.fish # Go module env (host-specific GOPROXY is handled in 30-host-conditional.fish) set -gx GONOPROXY "" diff --git a/fish/conf.d/01-theme.fish b/fish/conf.d/01-theme.fish new file mode 100644 index 0000000..c0bd363 --- /dev/null +++ b/fish/conf.d/01-theme.fish @@ -0,0 +1,35 @@ +# Theme mode initialization โ€” sets env vars based on current theme. +# Uses fish universal variable THEME_MODE for instant propagation +# across all running shells when theme changes. + +# On shell startup: ensure THEME_MODE is set +if not set -q THEME_MODE + # Read from state file or detect + if test -f "$HOME/.config/theme-mode" + set -U THEME_MODE (cat "$HOME/.config/theme-mode") + else if test (uname) = Darwin + if defaults read -g AppleInterfaceStyle >/dev/null 2>&1 + set -U THEME_MODE dark + else + set -U THEME_MODE light + end + else + set -U THEME_MODE dark + end +end + +# Event handler: fires whenever THEME_MODE changes (including from other shells) +function _theme_apply --on-variable THEME_MODE + if test "$THEME_MODE" = light + set -gx BAT_THEME Catppuccin-latte + set -gx DARK_MODE false + set -gx FZF_DEFAULT_OPTS '--color=bg+:#ccd0da,bg:#eff1f5,spinner:#dc8a78,hl:#d20f39 --color=fg:#4c4f69,header:#d20f39,info:#8839ef,pointer:#dc8a78 --color=marker:#7287fd,fg+:#4c4f69,prompt:#8839ef,hl+:#d20f39 --color=selected-bg:#bcc0cc --multi' + else + set -gx BAT_THEME Catppuccin-mocha + set -gx DARK_MODE true + set -gx FZF_DEFAULT_OPTS '--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --color=selected-bg:#45475a --multi' + end +end + +# Apply theme on shell init +_theme_apply diff --git a/gh-dash/config-dark.yml b/gh-dash/config-dark.yml new file mode 100644 index 0000000..bd1850b --- /dev/null +++ b/gh-dash/config-dark.yml @@ -0,0 +1,16 @@ +--- +theme: + colors: + text: + primary: "#cdd6f4" + secondary: "#89b4fa" + inverted: "#11111b" + faint: "#bac2de" + warning: "#f38ba8" + success: "#a6e3a1" + background: + selected: "#313244" + border: + primary: "#89b4fa" + secondary: "#45475a" + faint: "#313244" diff --git a/gh-dash/config-light.yml b/gh-dash/config-light.yml new file mode 100644 index 0000000..3ac6f06 --- /dev/null +++ b/gh-dash/config-light.yml @@ -0,0 +1,16 @@ +--- +theme: + colors: + text: + primary: "#4c4f69" + secondary: "#1e66f5" + inverted: "#eff1f5" + faint: "#5c5f77" + warning: "#d20f39" + success: "#40a02b" + background: + selected: "#ccd0da" + border: + primary: "#1e66f5" + secondary: "#bcc0cc" + faint: "#ccd0da" diff --git a/gh-dash/config.yml b/gh-dash/config.yml deleted file mode 100644 index bd1850b..0000000 --- a/gh-dash/config.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -theme: - colors: - text: - primary: "#cdd6f4" - secondary: "#89b4fa" - inverted: "#11111b" - faint: "#bac2de" - warning: "#f38ba8" - success: "#a6e3a1" - background: - selected: "#313244" - border: - primary: "#89b4fa" - secondary: "#45475a" - faint: "#313244" diff --git a/gh-dash/config.yml b/gh-dash/config.yml new file mode 120000 index 0000000..a86ff3c --- /dev/null +++ b/gh-dash/config.yml @@ -0,0 +1 @@ +config-dark.yml \ No newline at end of file diff --git a/ghostty/config b/ghostty/config index 73a4135..1d42aad 100644 --- a/ghostty/config +++ b/ghostty/config @@ -1,6 +1,5 @@ -theme = catppuccin-mocha.conf +theme = light:catppuccin-latte,dark:catppuccin-mocha macos-titlebar-style = tabs -background = 000000 font-family = Monaspace Neon Var font-family-bold = Monaspace Xenon Var font-family-italic = Monaspace Radon Var diff --git a/install.sh b/install.sh index 0d899cf..97a7711 100755 --- a/install.sh +++ b/install.sh @@ -203,6 +203,22 @@ function link_files() { sudo ln -sf "$(pwd)/scripts/tmux-background-install-indicator.sh" /usr/local/bin/ fi + # macOS theme watcher setup + if [ "$(uname)" = "Darwin" ] && command -v swiftc >/dev/null 2>&1; then + start_time=$(start_operation "Setting up theme watcher") + mkdir -p ~/.local/bin + swiftc -O "$(pwd)/scripts/theme-watcher.swift" -o ~/.local/bin/theme-watcher + cp "$(pwd)/scripts/com.dotfiles.theme-watcher.plist" ~/Library/LaunchAgents/ + launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist 2>/dev/null || true + launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist + log_with_timing "Setting up theme watcher" "$start_time" + fi + + # Initialize theme mode + if [ ! -f ~/.config/theme-mode ]; then + "$(pwd)/scripts/detect-theme-mode" > ~/.config/theme-mode + fi + log_with_timing "Linking terminal tool configs" "$start_time" # Codespaces-specific configuration - background non-critical operations diff --git a/k9s/skins/catppuccin-latte.yaml b/k9s/skins/catppuccin-latte.yaml new file mode 100644 index 0000000..6e48a26 --- /dev/null +++ b/k9s/skins/catppuccin-latte.yaml @@ -0,0 +1,141 @@ +--- +# Catppuccin Latte theme for k9s +# Based on: https://github.com/catppuccin/catppuccin + +k9s: + # General + body: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + logoColor: "#1e66f5" + # Header + header: + fgColor: "#4c4f69" + bgColor: "#bcc0cc" + highlightColor: "#1e66f5" + # Footer + footer: + fgColor: "#4c4f69" + bgColor: "#bcc0cc" + # Crumbs + crumb: + fgColor: "#1e66f5" + bgColor: "#bcc0cc" + activeColor: "#d20f39" + # Resource title + title: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + highlightColor: "#1e66f5" + counterColor: "#df8e1d" + filterColor: "#40a02b" + # Table + table: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + cursorColor: "#bcc0cc" + markColor: "#df8e1d" + header: + fgColor: "#4c4f69" + bgColor: "#ccd0da" + sorterColor: "#1e66f5" + # YAML info + info: + fgColor: "#04a5e5" + sectionColor: "#4c4f69" + # Dialogs + dialog: + fgColor: "#4c4f69" + bgColor: "#ccd0da" + buttonColor: "#1e66f5" + buttonFocusColor: "#d20f39" + labelColor: "#1e66f5" + fieldColor: "#4c4f69" + # Prompt + prompt: + fgColor: "#4c4f69" + bgColor: "#ccd0da" + suggestColor: "#1e66f5" + # Help + help: + fgColor: "#5c5f77" + bgColor: "#eff1f5" + keyColor: "#1e66f5" + numKeyColor: "#df8e1d" + sectionColor: "#4c4f69" + # Frame + frame: + border: + fgColor: "#acb0be" + focusColor: "#1e66f5" + menu: + fgColor: "#4c4f69" + keyColor: "#1e66f5" + numKeyColor: "#df8e1d" + crumb: + fgColor: "#1e66f5" + bgColor: "#bcc0cc" + activeColor: "#d20f39" + status: + newColor: "#40a02b" + modifyColor: "#df8e1d" + addColor: "#1e66f5" + errorColor: "#d20f39" + highlightColor: "#1e66f5" + killColor: "#d20f39" + completedColor: "#40a02b" + title: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + highlightColor: "#1e66f5" + counterColor: "#df8e1d" + filterColor: "#40a02b" + # Views + views: + charts: + bgColor: "#eff1f5" + defaultDialColors: + - "#1e66f5" + - "#40a02b" + - "#df8e1d" + - "#d20f39" + - "#8839ef" + - "#209fb5" + - "#04a5e5" + - "#ea76cb" + defaultChartColors: + - "#1e66f5" + - "#40a02b" + - "#df8e1d" + - "#d20f39" + - "#8839ef" + - "#209fb5" + - "#04a5e5" + - "#ea76cb" + table: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + cursorColor: "#bcc0cc" + markColor: "#df8e1d" + header: + fgColor: "#4c4f69" + bgColor: "#ccd0da" + sorterColor: "#1e66f5" + xray: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + cursorColor: "#bcc0cc" + graphicColor: "#1e66f5" + showIcons: false + yaml: + keyColor: "#1e66f5" + colonColor: "#7c7f93" + valueColor: "#40a02b" + logs: + fgColor: "#4c4f69" + bgColor: "#eff1f5" + indicator: + fgColor: "#1e66f5" + bgColor: "#eff1f5" + toggleOnColor: "#40a02b" + toggleOffColor: "#d20f39" diff --git a/scripts/com.dotfiles.theme-watcher.plist b/scripts/com.dotfiles.theme-watcher.plist new file mode 100644 index 0000000..0aafeb6 --- /dev/null +++ b/scripts/com.dotfiles.theme-watcher.plist @@ -0,0 +1,20 @@ + + + + + Label + com.dotfiles.theme-watcher + ProgramArguments + + /Users/djensenius/.local/bin/theme-watcher + + RunAtLoad + + KeepAlive + + StandardOutPath + /tmp/theme-watcher.log + StandardErrorPath + /tmp/theme-watcher.log + + diff --git a/scripts/detect-theme-mode b/scripts/detect-theme-mode new file mode 100755 index 0000000..0be66ea --- /dev/null +++ b/scripts/detect-theme-mode @@ -0,0 +1,60 @@ +#!/bin/sh +# Detect the current theme mode (light or dark). +# +# Priority: +# 1. macOS: System appearance setting (always wins) +# 2. tz.conf: Sunrise/sunset calculation from lat/long +# 3. Fallback: System local time, 7:00-19:00 = light +# +# Output: prints "light" or "dark" to stdout + +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +TZ_CONF="$HOME/.config/tz.conf" + +# --- macOS: use system appearance --- +if [ "$(uname)" = "Darwin" ]; then + if defaults read -g AppleInterfaceStyle >/dev/null 2>&1; then + echo "dark" + else + echo "light" + fi + exit 0 +fi + +# --- tz.conf: sunrise/sunset calculation --- +if [ -f "$TZ_CONF" ]; then + # Parse tz.conf (key = value format, # comments) + tz_timezone="" + tz_latitude="" + tz_longitude="" + + while IFS= read -r line; do + # Skip comments and empty lines + case "$line" in + \#*|"") continue ;; + esac + key="$(echo "$line" | cut -d= -f1 | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')" + val="$(echo "$line" | cut -d= -f2- | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')" + case "$key" in + timezone) tz_timezone="$val" ;; + latitude) tz_latitude="$val" ;; + longitude) tz_longitude="$val" ;; + esac + done < "$TZ_CONF" + + if [ -n "$tz_timezone" ] && [ -n "$tz_latitude" ] && [ -n "$tz_longitude" ]; then + result="$(python3 "$SCRIPT_DIR/sunrise-sunset.py" "$tz_latitude" "$tz_longitude" "$tz_timezone" 2>/dev/null)" + if [ -n "$result" ]; then + echo "$result" + exit 0 + fi + fi +fi + +# --- Fallback: system local time --- +hour="$(date +%H)" +if [ "$hour" -ge 7 ] && [ "$hour" -lt 19 ]; then + echo "light" +else + echo "dark" +fi diff --git a/scripts/sunrise-sunset.py b/scripts/sunrise-sunset.py new file mode 100755 index 0000000..3b1d9d8 --- /dev/null +++ b/scripts/sunrise-sunset.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +"""Determine light/dark mode based on sunrise/sunset times. + +Uses the NOAA solar position algorithm to calculate sunrise and sunset +from latitude, longitude, and timezone. Outputs "light" or "dark". + +Usage: sunrise-sunset.py +Example: sunrise-sunset.py 43.65 -79.38 America/Toronto +""" + +import math +import sys +from datetime import datetime, timezone as tz +from zoneinfo import ZoneInfo + + +def calc_sunrise_sunset(lat, lon, date, utc_offset_hours): + """Calculate sunrise/sunset using NOAA algorithm. + + Returns (sunrise_hour, sunset_hour) in local decimal hours, + or (None, None) for polar day/night. + """ + zenith = 90.833 + day_of_year = date.timetuple().tm_yday + lng_hour = lon / 15.0 + + def calc_time(is_sunrise): + if is_sunrise: + t = day_of_year + (6 - lng_hour) / 24.0 + else: + t = day_of_year + (18 - lng_hour) / 24.0 + + mean_anomaly = (0.9856 * t) - 3.289 + sun_lon = ( + mean_anomaly + + 1.916 * math.sin(math.radians(mean_anomaly)) + + 0.020 * math.sin(math.radians(2 * mean_anomaly)) + + 282.634 + ) % 360 + + right_asc = math.degrees( + math.atan(0.91764 * math.tan(math.radians(sun_lon))) + ) + # Adjust quadrant + sun_quad = (sun_lon // 90) * 90 + ra_quad = (right_asc // 90) * 90 + right_asc = (right_asc + (sun_quad - ra_quad)) / 15.0 + + sin_dec = 0.39782 * math.sin(math.radians(sun_lon)) + cos_dec = math.cos(math.asin(sin_dec)) + + cos_h = ( + math.cos(math.radians(zenith)) + - sin_dec * math.sin(math.radians(lat)) + ) / (cos_dec * math.cos(math.radians(lat))) + + if cos_h > 1: + return None # Sun never rises (polar night) + if cos_h < -1: + return None # Sun never sets (midnight sun) + + if is_sunrise: + hour_angle = (360 - math.degrees(math.acos(cos_h))) / 15.0 + else: + hour_angle = math.degrees(math.acos(cos_h)) / 15.0 + + local_mean = hour_angle + right_asc - 0.06571 * t - 6.622 + utc_hour = local_mean - lng_hour + local_hour = (utc_hour + utc_offset_hours) % 24 + return local_hour + + return calc_time(True), calc_time(False) + + +def main(): + if len(sys.argv) != 4: + print("Usage: sunrise-sunset.py ", file=sys.stderr) + sys.exit(2) + + lat = float(sys.argv[1]) + lon = float(sys.argv[2]) + tz_name = sys.argv[3] + + try: + zone = ZoneInfo(tz_name) + except KeyError: + print(f"Unknown timezone: {tz_name}", file=sys.stderr) + sys.exit(2) + + now = datetime.now(zone) + utc_offset = now.utcoffset().total_seconds() / 3600.0 + + sunrise, sunset = calc_sunrise_sunset(lat, lon, now, utc_offset) + + current_hour = now.hour + now.minute / 60.0 + + if sunrise is None or sunset is None: + # Polar conditions โ€” use 7-19 fallback + if 7 <= current_hour < 19: + print("light") + else: + print("dark") + elif sunrise <= current_hour < sunset: + print("light") + else: + print("dark") + + +if __name__ == "__main__": + main() diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish new file mode 100755 index 0000000..bac6da6 --- /dev/null +++ b/scripts/switch-theme.fish @@ -0,0 +1,140 @@ +#!/usr/bin/env fish +# switch-theme.fish โ€” Switch all dotfiles tools between light and dark themes. +# +# Usage: switch-theme.fish light|dark +# +# This script is idempotent โ€” calling it with the current mode is a no-op. +# Called by the macOS theme-watcher daemon or manually. + +set -l mode $argv[1] + +if test "$mode" != light -a "$mode" != dark + echo "Usage: switch-theme.fish light|dark" >&2 + exit 1 +end + +# State file +set -l state_file "$HOME/.config/theme-mode" + +# Check if mode has changed +if test -f "$state_file" + set -l current (cat "$state_file") + if test "$current" = "$mode" + exit 0 + end +end + +# Write new mode +mkdir -p "$HOME/.config" +echo "$mode" > "$state_file" + +# Dotfiles config location (symlinked from repo) +set -l dotfiles "$HOME/.config" + +# Helper: portable sed in-place +function _sed_i + if test (uname) = Darwin + sed -i '' $argv + else + sed -i $argv + end +end + +# --- Sed-based config updates --- + +# Starship: switch palette +if test "$mode" = light + _sed_i 's/palette = "catppuccin_mocha"/palette = "catppuccin_latte"/' "$dotfiles/starship.toml" +else + _sed_i 's/palette = "catppuccin_latte"/palette = "catppuccin_mocha"/' "$dotfiles/starship.toml" +end + +# Gitconfig: switch delta theme +if test "$mode" = light + _sed_i 's/Catppuccin-mocha/Catppuccin-latte/g' "$HOME/.gitconfig" +else + _sed_i 's/Catppuccin-latte/Catppuccin-mocha/g' "$HOME/.gitconfig" +end + +# Atuin: switch theme +if test "$mode" = light + _sed_i 's/catppuccin-mocha-mauve/catppuccin-latte-mauve/' "$dotfiles/atuin/config.toml" +else + _sed_i 's/catppuccin-latte-mauve/catppuccin-mocha-mauve/' "$dotfiles/atuin/config.toml" +end + +# Zellij: switch theme +if test "$mode" = light + _sed_i 's/theme "catppuccin-mocha"/theme "catppuccin-latte"/' "$dotfiles/zellij/config.kdl" +else + _sed_i 's/theme "catppuccin-latte"/theme "catppuccin-mocha"/' "$dotfiles/zellij/config.kdl" +end + +# Btop: switch theme +if test "$mode" = light + _sed_i 's/catppuccin_mocha/catppuccin_latte/g' "$dotfiles/btop/btop.conf" +else + _sed_i 's/catppuccin_latte/catppuccin_mocha/g' "$dotfiles/btop/btop.conf" +end + +# K9s: switch skin +if test "$mode" = light + _sed_i 's/skin: catppuccin-mocha/skin: catppuccin-latte/' "$dotfiles/k9s/config.yaml" +else + _sed_i 's/skin: catppuccin-latte/skin: catppuccin-mocha/' "$dotfiles/k9s/config.yaml" +end + +# --- Symlink-based config updates --- + +# Bottom +if test -d "$dotfiles/bottom" + if test "$mode" = light + ln -sf bottom-light.toml "$dotfiles/bottom/bottom.toml" + else + ln -sf bottom-dark.toml "$dotfiles/bottom/bottom.toml" + end +end + +# Eza +if test -d "$dotfiles/eza" + if test "$mode" = light + ln -sf theme-light.yml "$dotfiles/eza/theme.yml" + else + ln -sf theme-dark.yml "$dotfiles/eza/theme.yml" + end +end + +# Yazi +if test -d "$dotfiles/yazi" + if test "$mode" = light + ln -sf theme-light.toml "$dotfiles/yazi/theme.toml" + else + ln -sf theme-dark.toml "$dotfiles/yazi/theme.toml" + end +end + +# gh-dash +if test -d "$dotfiles/gh-dash" + if test "$mode" = light + ln -sf config-light.yml "$dotfiles/gh-dash/config.yml" + else + ln -sf config-dark.yml "$dotfiles/gh-dash/config.yml" + end +end + +# --- Runtime reloads --- + +# Tmux: set flavor and reload +if type -q tmux; and tmux list-sessions >/dev/null 2>&1 + if test "$mode" = light + tmux set -g @catppuccin_flavor "latte" + else + tmux set -g @catppuccin_flavor "mocha" + end + tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null +end + +# Fish: update universal variable (propagates to all running shells) +set -U THEME_MODE "$mode" + +echo "Theme switched to $mode" diff --git a/scripts/theme-watcher.swift b/scripts/theme-watcher.swift new file mode 100644 index 0000000..17b1f15 --- /dev/null +++ b/scripts/theme-watcher.swift @@ -0,0 +1,50 @@ +import Foundation + +/// Watches for macOS appearance changes and triggers theme switching. +/// Listens to AppleInterfaceThemeChangedNotification via DistributedNotificationCenter. + +class ThemeWatcher { + let scriptPath: String + + init() { + // Resolve the switch-theme.fish script path relative to this binary + let binDir = (CommandLine.arguments[0] as NSString).deletingLastPathComponent + scriptPath = (binDir as NSString).appendingPathComponent("switch-theme.fish") + + DistributedNotificationCenter.default.addObserver( + self, + selector: #selector(themeChanged), + name: NSNotification.Name("AppleInterfaceThemeChangedNotification"), + object: nil + ) + } + + func currentMode() -> String { + let style = UserDefaults.standard.string(forKey: "AppleInterfaceStyle") + return (style == "Dark") ? "dark" : "light" + } + + @objc func themeChanged(notification: Notification) { + let mode = currentMode() + switchTheme(to: mode) + } + + func switchTheme(to mode: String) { + let process = Process() + process.executableURL = URL(fileURLWithPath: "/usr/bin/env") + process.arguments = ["fish", scriptPath, mode] + process.environment = ProcessInfo.processInfo.environment + try? process.run() + process.waitUntilExit() + } + + func run() { + // Apply current theme on startup + switchTheme(to: currentMode()) + // Block and wait for notifications + RunLoop.main.run() + } +} + +let watcher = ThemeWatcher() +watcher.run() diff --git a/tmux/tmux.conf b/tmux/tmux.conf index e1303a9..a90a07a 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -56,6 +56,7 @@ set -g @plugin 'tmux-plugins/tmux-pain-control' set-option -g @pane_resize "10" set -g @plugin 'christoomey/vim-tmux-navigator' +set -g @catppuccin_flavor "mocha" set -g @plugin 'catppuccin/tmux' set -g @plugin 'joshmedeski/tmux-nerd-font-window-name' diff --git a/yazi/theme-dark.toml b/yazi/theme-dark.toml new file mode 100644 index 0000000..8ccb2d2 --- /dev/null +++ b/yazi/theme-dark.toml @@ -0,0 +1,698 @@ +[manager] +cwd = { fg = "#94e2d5" } + +# Hovered +hovered = { fg = "#1e1e2e", bg = "#89b4fa" } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#f9e2af", italic = true } +find_position = { fg = "#f5c2e7", bg = "reset", italic = true } + +# Marker +marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" } +marker_cut = { fg = "#f38ba8", bg = "#f38ba8" } +marker_selected = { fg = "#89b4fa", bg = "#89b4fa" } + +# Tab +tab_active = { fg = "#1e1e2e", bg = "#cdd6f4" } +tab_inactive = { fg = "#cdd6f4", bg = "#45475a" } +tab_width = 1 + +# Count +count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" } +count_cut = { fg = "#1e1e2e", bg = "#f38ba8" } +count_selected = { fg = "#1e1e2e", bg = "#89b4fa" } + +# Border +border_symbol = "โ”‚" +border_style = { fg = "#7f849c" } + +# Highlighting +syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme" + +[status] +separator_open = "๎‚ถ" +separator_close = "๎‚ด" +separator_style = { fg = "#45475a", bg = "#45475a" } + +# Mode +mode_normal = { fg = "#1e1e2e", bg = "#89b4fa", bold = true } +mode_select = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true } +mode_unset = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#89b4fa", bg = "#45475a" } +progress_error = { fg = "#f38ba8", bg = "#45475a" } + +# Permissions +permissions_t = { fg = "#89b4fa" } +permissions_r = { fg = "#f9e2af" } +permissions_w = { fg = "#f38ba8" } +permissions_x = { fg = "#a6e3a1" } +permissions_s = { fg = "#7f849c" } + +[input] +border = { fg = "#89b4fa" } +title = {} +value = {} +selected = { reversed = true } + +[select] +border = { fg = "#89b4fa" } +active = { fg = "#f5c2e7" } +inactive = {} + +[tasks] +border = { fg = "#89b4fa" } +title = {} +hovered = { underline = true } + +[which] +mask = { bg = "#313244" } +cand = { fg = "#94e2d5" } +rest = { fg = "#9399b2" } +desc = { fg = "#f5c2e7" } +separator = " ๎ชœ " +separator_style = { fg = "#585b70" } + +[help] +on = { fg = "#f5c2e7" } +exec = { fg = "#94e2d5" } +desc = { fg = "#9399b2" } +hovered = { bg = "#585b70", bold = true } +footer = { fg = "#45475a", bg = "#cdd6f4" } + +[filetype] + +rules = [ + # Media + { mime = "image/*", fg = "#94e2d5" }, + { mime = "{audio,video}/*", fg = "#f9e2af" }, + + # Archives + { mime = "application/{,g}zip", fg = "#f5c2e7" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" }, + + # Fallback + { name = "*", fg = "#cdd6f4" }, + { name = "*/", fg = "#89b4fa" } +] + +[icon] + +files = [ + { name = "gulpfile.js", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".babelrc", text = "๎˜น", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "copying.lesser", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = ".npmrc", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "docker-compose.yml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "svelte.config.js", text = "๎š—", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "copying", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "prettier.config.ts", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "gruntfile.babel.js", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".SRCINFO", text = "๓ฐฃ‡", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".xinitrc", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "docker-compose.yaml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "nuxt.config.ts", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "build", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".editorconfig", text = "๎™’", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "nuxt.config.mjs", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".gitlab-ci.yml", text = "๏Š–", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "PKGBUILD", text = "๏Œƒ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".bash_profile", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".bashrc", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "compose.yml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "eslint.config.cjs", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "go.mod", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".mailmap", text = "๓ฐŠข", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gtkrc", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "go.work", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "justfile", text = "๏‚ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "kritadisplayrc", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "commitlint.config.js", text = "๓ฐœ˜", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = ".env", text = "๏‘ข", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "๏‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "r", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "license", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = ".gitignore", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "tailwind.config.js", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".prettierrc.yml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".zprofile", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".zshenv", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "xmonad.hs", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".eslintignore", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "tsconfig.json", text = "๎š", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".prettierrc.json5", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".ds_store", text = "๎˜•", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "gulpfile.coffee", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "R", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = ".zshrc", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".prettierrc.toml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".gvimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".xsession", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".justfile", text = "๏‚ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = ".gitconfig", text = "๎˜•", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gradle-wrapper.properties", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "ionic.config.json", text = "๎žฉ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "cantorrc", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".gleam", text = "๏€…", fg_dark = "#f5c2e7", fg_light = "#f5c2e7" }, + { name = "package-lock.json", text = "๎œž", fg_dark = "#313244", fg_light = "#313244" }, + { name = "package.json", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "hyprland.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "gulpfile.babel.js", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".nvmrc", text = "๎œ˜", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".prettierignore", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "ext_typoscript_setup.txt", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "QtProject.conf", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "avif", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "mix.lock", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "build.gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gemfile$", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = ".vimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "i18n.config.ts", text = "๓ฐ—Š", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "gulpfile.ts", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "build.zig.zon", text = "๎šฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "checkhealth", text = "๓ฐ“™", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "xmobarrc", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "_vimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".luaurc", text = "๎˜•", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kdenlive-layoutsrc", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "gradlew", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "xsettingsd.conf", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "vlcrc", text = "๓ฐ•ผ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "xorg.conf", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "xmobarrc.hs", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "workspace", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".gitattributes", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "favicon.ico", text = "๎˜ฃ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "go.sum", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pom.xml", text = "๎™ด", fg_dark = "#313244", fg_light = "#313244" }, + { name = "webpack", text = "๓ฐœซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "vagrantfile$", text = "๏Šธ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "unlicense", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "tmux.conf.local", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "settings.gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = ".dockerignore", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "sym-lib-table", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "_gvimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "kdenliverc", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kdeglobals", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".prettierrc.yaml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "rmd", text = "๎˜‰", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "tailwind.config.mjs", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sxhkdrc", text = "๏•", fg_dark = "#313244", fg_light = "#313244" }, + { name = "robots.txt", text = "๓ฐšฉ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "tailwind.config.ts", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "prettier.config.mjs", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "mpv.conf", text = "๏ฎ", fg_dark = "#1e1e2e", fg_light = "#1e1e2e" }, + { name = "py.typed", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "PrusaSlicer.ini", text = "๏‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "procfile", text = "๎˜‡", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "rakefile", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "kritarc", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = ".Xresources", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "prettier.config.js", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "commitlint.config.ts", text = "๓ฐœ˜", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "weston.ini", text = "๏ง", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "eslint.config.js", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cmakelists.txt", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = ".git-blame-ignore-revs", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "config", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "nuxt.config.cjs", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "node_modules", text = "๎œ˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "makefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "lxqt.conf", text = "๏ค", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "i18n.config.js", text = "๓ฐ—Š", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "FreeCAD.conf", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "prettier.config.cjs", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "tmux.conf", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "kalgebrarc", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "i3status.conf", text = "๏š", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = ".settings.json", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "containerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "i3blocks.conf", text = "๏š", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "lxde-rc.xml", text = "๏ฃ", fg_dark = "#9399b2", fg_light = "#9399b2" }, + { name = "gradle.properties", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "hypridle.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "gruntfile.ts", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gruntfile.js", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "dockerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "groovy", text = "๎ต", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "hyprlock.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".prettierrc", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "gnumakefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "commit_editmsg", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fp-lib-table", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "fp-info-cache", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "eslint.config.ts", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "nuxt.config.js", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "platformio.ini", text = "๎š‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".nuxtrc", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "gruntfile.coffee", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "eslint.config.mjs", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "compose.yaml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "bspwmrc", text = "๏•", fg_dark = "#313244", fg_light = "#313244" }, + { name = "brewfile", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = ".eslintrc", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = ".gtkrc-2.0", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = ".Xauthority", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".prettierrc.json", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".npmignore", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".gitmodules", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, +] +exts = [ + { name = "rake", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "skp", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "eln", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "razor", text = "๓ฑฆ˜", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "vue", text = "๎š ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sln", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "el", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "blp", text = "๓ฐบพ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "jl", text = "๎˜ค", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "mdx", text = "๏’Š", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "jsx", text = "๎˜ฅ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "ml", text = "๎™บ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "less", text = "๎˜”", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "pot", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pl", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mli", text = "๎™บ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gif", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "aif", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cxxm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "fcbak", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "aac", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "query", text = "๎ˆœ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "android", text = "๎œŽ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "m3u8", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "leex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "liquid", text = "๎™ฐ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "cue", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "fcmacro", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "log", text = "๓ฐŒฑ", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, + { name = "pm", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "brep", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "blend", text = "๓ฐ‚ซ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "md5", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sql", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "xcplayground", text = "๎•", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "erb", text = "๎˜Ž", fg_dark = "#313244", fg_light = "#313244" }, + { name = "t", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cache", text = "๏’›", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "r", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "x", text = "๎š‘", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "import", text = "๏ƒ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "m", text = "๎˜ž", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "lrc", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "o", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "d", text = "๎žฏ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "c", text = "๎˜ž", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "h", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "rss", text = "๎˜™", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "hbs", text = "๎˜", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "godot", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "eot", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "awk", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "fsx", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "a", text = "๎ฎœ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "pyi", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "asc", text = "๓ฐฆ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "ass", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "css", text = "๎‰", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "psb", text = "๎žธ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "csproj", text = "๓ฐชฎ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "csv", text = "๎™Š", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "gcode", text = "๓ฐซ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "ics", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "mk", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "bz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fctb", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "gz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "wasm", text = "๎šก", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "glb", text = "๏†ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "elc", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "flf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "elf", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "dropbox", text = "๎œ‡", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "tres", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "apk", text = "๎œŽ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ape", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "slvs", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "apl", text = "โ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cs", text = "๓ฐŒ›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "azcli", text = "๎ฏจ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "pp", text = "๎˜ฑ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "flc", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "gemspec", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "pls", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "cfg", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fcscript", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "gnumakefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "zst", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "pxi", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "woff2", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "kicad_pcb", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "zsh", text = "๎ž•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "kicad_wks", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "info", text = "๏„ฉ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "cppm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "svg", text = "๓ฐœก", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "flac", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "cuh", text = "๎™‹", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "bin", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "zig", text = "๎šฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "yml", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "yaml", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fsscript", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "xz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "diff", text = "๎œจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "mojo", text = "๏ญ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cshtml", text = "๓ฑฆ—", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "bak", text = "๓ฐฏ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "nfo", text = "๏„ฉ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "bat", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "cpy", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gql", text = "๏ˆŽ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "c++", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "lff", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "obj", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sha512", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "scm", text = "๓ฐ˜ง", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "aiff", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sig", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "webm", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "zip", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "wrz", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "jwmrc", text = "๏›", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "xml", text = "๓ฐ—€", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cbl", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "rmd", text = "๎˜‰", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "xaml", text = "๓ฐ™ณ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "xm", text = "๎š‘", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "wvc", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "drl", text = "๎ŠŒ", fg_dark = "#eba0ac", fg_light = "#eba0ac" }, + { name = "erl", text = "๎žฑ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "3gp", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "ccm", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ino", text = "๏‹", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "kbx", text = "๓ฐฏ„", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "test.js", text = "๏’™", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "wrl", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "pcm", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "woff", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "scala", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "webpack", text = "๓ฐœซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "hrl", text = "๎žฑ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "kra", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "kicad_pro", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "bazel", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "toml", text = "๎šฒ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "iges", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "crdownload", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "so", text = "๎ฎœ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "strings", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "xls", text = "๓ฐˆ›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "wav", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "vsix", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "kicad_prl", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "mov", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "bash", text = "๎ž•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sqlite3", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "vsh", text = "๎šฌ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "vim", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "lck", text = "๎™ฒ", fg_dark = "#bac2de", fg_light = "#bac2de" }, + { name = "go", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pyo", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "vhdl", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "vhd", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "rar", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "magnet", text = "๏ถ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "vala", text = "๎šž", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "coffee", text = "๎˜›", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "kdbx", text = "๏ˆพ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "po", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "v", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "prisma", text = "๎š„", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "f90", text = "๓ฑˆš", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "txt", text = "๓ฐˆ™", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "mo", text = "โˆž", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "mp4", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cljc", text = "๎จ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "heex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "exs", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "clj", text = "๎จ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "luau", text = "๎˜ ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "fcparam", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "markdown", text = "๎˜‰", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, + { name = "dxf", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "luac", text = "๎˜ ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "desktop", text = "๏„ˆ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "docx", text = "๓ฐˆฌ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cljd", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "txz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "bicepparam", text = "๎˜ป", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "kt", text = "๎˜ด", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "fcstd", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "md", text = "๏’Š", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, + { name = "edn", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sub", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ttf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "tsx", text = "๎žบ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "hurl", text = "๏ƒฌ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "dll", text = "๎ฎœ", fg_dark = "#11111b", fg_light = "#11111b" }, + { name = "lhs", text = "๎˜Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "tsconfig", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "msf", text = "๏ฐ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "ts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "rproj", text = "๓ฐ—†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "org", text = "๎˜ณ", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "signature", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "elm", text = "๎˜ฌ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pyc", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "tmux", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "tgz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "nu", text = ">", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "tfvars", text = "๏…›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "lua", text = "๎˜ ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "astro", text = "๎šณ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "lib", text = "๎ฎœ", fg_dark = "#11111b", fg_light = "#11111b" }, + { name = "tex", text = "๎š›", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "ogg", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "stp", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sublime", text = "๎žช", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "test.tsx", text = "๏’™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "nswag", text = "๎˜‹", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "test.ts", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "test.jsx", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "dwg", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "bib", text = "๓ฑ‰Ÿ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "sass", text = "๎˜ƒ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "templ", text = "๎ซ„", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "tcl", text = "๓ฐ›“", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "pck", text = "๏’‡", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "swift", text = "๎•", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "makefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "xcstrings", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "slim", text = "๎˜Ž", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "iso", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, + { name = "fsi", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "dart", text = "๎ž˜", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "nix", text = "๏Œ“", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "svelte", text = "๎š—", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "sv", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "bz2", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "sha256", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "twig", text = "๎˜œ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "material", text = "๓ฐ”‰", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ppt", text = "๓ฐˆง", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "pyd", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "step", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "hx", text = "๎™ฆ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "webmanifest", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "kicad_sch", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "cjs", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "stl", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "ejs", text = "๎˜Ž", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ssa", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "license", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "jsonc", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "download", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "ige", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sqlite", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "psd1", text = "๓ฐจŠ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "dump", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "resi", text = "๎šˆ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "spec.ts", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "fnl", text = "๎šฏ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "cu", text = "๎™‹", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "scss", text = "๎˜ƒ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "config.ru", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "psd", text = "๎žธ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "db", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "epub", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "haml", text = "๎˜Ž", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "sol", text = "๎™–", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sml", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "svh", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sldprt", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ico", text = "๎˜", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "xlsx", text = "๓ฐˆ›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "rs", text = "๎š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "dconf", text = "๏ก", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "bz3", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fdmdownload", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "fs", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "patch", text = "๎œจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "hs", text = "๎˜Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "xcf", text = "๏Œธ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "js", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "pyw", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "sha384", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fcmat", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "csh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "suo", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "sha224", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sha1", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cr", text = "๎˜ฏ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "huff", text = "๓ฐก˜", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "sh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "sc", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ksh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cc", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "wma", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mp3", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "conf", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "3mf", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sbt", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "kicad_mod", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "terminal", text = "๏’‰", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "rlib", text = "๎žจ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "pdf", text = "๎ซซ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "mts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "kdenlive", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kts", text = "๎˜ด", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "spec.tsx", text = "๏’™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "res", text = "๎šˆ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "hxx", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "rb", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "vh", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ixx", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cson", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "cts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "7z", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "ex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cpp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "qss", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "app", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "jxl", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "qrc", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "qml", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "epp", text = "๎˜ฑ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "otf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "hh", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "qm", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pro", text = "๎žก", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "exe", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "kdenlivetitle", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kdb", text = "๏ˆพ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "mpp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "Dockerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "bqn", text = "โމ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "torrent", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "m3u", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "py", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "pxd", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "f3d", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "out", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "spec.jsx", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "kicad_dru", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "ps1", text = "๓ฐจŠ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "ui", text = "๏‹", fg_dark = "#313244", fg_light = "#313244" }, + { name = "styl", text = "๎˜€", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "f#", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "png", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "ply", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "php", text = "๎˜ˆ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "eex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "tbc", text = "๓ฐ›“", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "part", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "pub", text = "๓ฐท–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ipynb", text = "๎˜†", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "opus", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "git", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "bmp", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "blade.php", text = "๏‹ท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "nim", text = "๎™ท", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "xpi", text = "๎ž†", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "mustache", text = "๎˜", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "tscn", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "scad", text = "๏Ž", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ai", text = "๎žด", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "hex", text = "๎™ง", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "hpp", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "xul", text = "๎…", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "mobi", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fcstd1", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ical", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "icalendar", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "bicep", text = "๎˜ป", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mkv", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "graphql", text = "๏ˆŽ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "mjs", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "mint", text = "๓ฐŒช", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "m4v", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "m4a", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "tf", text = "๎šš", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gv", text = "๓ฑ‰", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "lock", text = "๎™ฒ", fg_dark = "#bac2de", fg_light = "#bac2de" }, + { name = "krz", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "kpp", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "ko", text = "๏…ผ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "kicad_sym", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "psm1", text = "๓ฐจŠ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "pyx", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "json5", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "json", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "bzl", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ifb", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "image", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, + { name = "jpg", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "jpeg", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "java", text = "๎œธ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "wv", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "ini", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cast", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "fctl", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ifc", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sldasm", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "html", text = "๎œถ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "typoscript", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "๐Ÿ”ฅ", text = "๏ญ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "htm", text = "๎˜Ž", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "ste", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "spec.js", text = "๏’™", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "gresource", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "ebook", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gd", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fish", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "igs", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "fbx", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "env", text = "๏‘ข", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "srt", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "dot", text = "๓ฑ‰", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "doc", text = "๓ฐˆฌ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "d.ts", text = "๎˜จ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "applescript", text = "๏…น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cxx", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "img", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, + { name = "cljs", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cobol", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cob", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cmake", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "webp", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, +] diff --git a/yazi/theme-light.toml b/yazi/theme-light.toml new file mode 100644 index 0000000..b8c3f82 --- /dev/null +++ b/yazi/theme-light.toml @@ -0,0 +1,698 @@ +[manager] +cwd = { fg = "#179299" } + +# Hovered +hovered = { fg = "#eff1f5", bg = "#1e66f5" } +preview_hovered = { underline = true } + +# Find +find_keyword = { fg = "#df8e1d", italic = true } +find_position = { fg = "#ea76cb", bg = "reset", italic = true } + +# Marker +marker_copied = { fg = "#40a02b", bg = "#40a02b" } +marker_cut = { fg = "#d20f39", bg = "#d20f39" } +marker_selected = { fg = "#1e66f5", bg = "#1e66f5" } + +# Tab +tab_active = { fg = "#eff1f5", bg = "#4c4f69" } +tab_inactive = { fg = "#4c4f69", bg = "#bcc0cc" } +tab_width = 1 + +# Count +count_copied = { fg = "#eff1f5", bg = "#40a02b" } +count_cut = { fg = "#eff1f5", bg = "#d20f39" } +count_selected = { fg = "#eff1f5", bg = "#1e66f5" } + +# Border +border_symbol = "โ”‚" +border_style = { fg = "#8c8fa1" } + +# Highlighting +syntect_theme = "~/.config/yazi/Catppuccin-latte.tmTheme" + +[status] +separator_open = "๎‚ถ" +separator_close = "๎‚ด" +separator_style = { fg = "#bcc0cc", bg = "#bcc0cc" } + +# Mode +mode_normal = { fg = "#eff1f5", bg = "#1e66f5", bold = true } +mode_select = { fg = "#eff1f5", bg = "#40a02b", bold = true } +mode_unset = { fg = "#eff1f5", bg = "#dd7878", bold = true } + +# Progress +progress_label = { fg = "#ffffff", bold = true } +progress_normal = { fg = "#1e66f5", bg = "#bcc0cc" } +progress_error = { fg = "#d20f39", bg = "#bcc0cc" } + +# Permissions +permissions_t = { fg = "#1e66f5" } +permissions_r = { fg = "#df8e1d" } +permissions_w = { fg = "#d20f39" } +permissions_x = { fg = "#40a02b" } +permissions_s = { fg = "#8c8fa1" } + +[input] +border = { fg = "#1e66f5" } +title = {} +value = {} +selected = { reversed = true } + +[select] +border = { fg = "#1e66f5" } +active = { fg = "#ea76cb" } +inactive = {} + +[tasks] +border = { fg = "#1e66f5" } +title = {} +hovered = { underline = true } + +[which] +mask = { bg = "#ccd0da" } +cand = { fg = "#179299" } +rest = { fg = "#7c7f93" } +desc = { fg = "#ea76cb" } +separator = " ๎ชœ " +separator_style = { fg = "#acb0be" } + +[help] +on = { fg = "#ea76cb" } +exec = { fg = "#179299" } +desc = { fg = "#7c7f93" } +hovered = { bg = "#acb0be", bold = true } +footer = { fg = "#bcc0cc", bg = "#4c4f69" } + +[filetype] + +rules = [ + # Media + { mime = "image/*", fg = "#179299" }, + { mime = "{audio,video}/*", fg = "#df8e1d" }, + + # Archives + { mime = "application/{,g}zip", fg = "#ea76cb" }, + { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#ea76cb" }, + + # Fallback + { name = "*", fg = "#4c4f69" }, + { name = "*/", fg = "#1e66f5" } +] + +[icon] + +files = [ + { name = "gulpfile.js", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".babelrc", text = "๎˜น", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "copying.lesser", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = ".npmrc", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "docker-compose.yml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "svelte.config.js", text = "๎š—", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "copying", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "prettier.config.ts", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "gruntfile.babel.js", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".SRCINFO", text = "๓ฐฃ‡", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".xinitrc", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "docker-compose.yaml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "nuxt.config.ts", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "build", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".editorconfig", text = "๎™’", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "nuxt.config.mjs", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".gitlab-ci.yml", text = "๏Š–", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "PKGBUILD", text = "๏Œƒ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".bash_profile", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".bashrc", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "compose.yml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "eslint.config.cjs", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "go.mod", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".mailmap", text = "๓ฐŠข", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gtkrc", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "go.work", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "justfile", text = "๏‚ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "kritadisplayrc", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "commitlint.config.js", text = "๓ฐœ˜", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = ".env", text = "๏‘ข", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "PrusaSlicerGcodeViewer.ini", text = "๏‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "r", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "license", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = ".gitignore", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "tailwind.config.js", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".prettierrc.yml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".zprofile", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".zshenv", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "xmonad.hs", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".eslintignore", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "tsconfig.json", text = "๎š", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".prettierrc.json5", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".ds_store", text = "๎˜•", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "gulpfile.coffee", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "R", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = ".zshrc", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".prettierrc.toml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".gvimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".xsession", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".justfile", text = "๏‚ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = ".gitconfig", text = "๎˜•", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gradle-wrapper.properties", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "ionic.config.json", text = "๎žฉ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "cantorrc", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".gleam", text = "๏€…", fg_dark = "#f5c2e7", fg_light = "#f5c2e7" }, + { name = "package-lock.json", text = "๎œž", fg_dark = "#313244", fg_light = "#313244" }, + { name = "package.json", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "hyprland.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "gulpfile.babel.js", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".nvmrc", text = "๎œ˜", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".prettierignore", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "ext_typoscript_setup.txt", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "QtProject.conf", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "avif", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "mix.lock", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "build.gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gemfile$", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = ".vimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "i18n.config.ts", text = "๓ฐ—Š", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "gulpfile.ts", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "build.zig.zon", text = "๎šฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "checkhealth", text = "๓ฐ“™", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "xmobarrc", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "_vimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".luaurc", text = "๎˜•", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kdenlive-layoutsrc", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "gradlew", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "xsettingsd.conf", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "vlcrc", text = "๓ฐ•ผ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "xorg.conf", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "xmobarrc.hs", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "workspace", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = ".gitattributes", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "favicon.ico", text = "๎˜ฃ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "go.sum", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pom.xml", text = "๎™ด", fg_dark = "#313244", fg_light = "#313244" }, + { name = "webpack", text = "๓ฐœซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "vagrantfile$", text = "๏Šธ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "unlicense", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "tmux.conf.local", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "settings.gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = ".dockerignore", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "sym-lib-table", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "_gvimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "kdenliverc", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kdeglobals", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".prettierrc.yaml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "rmd", text = "๎˜‰", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "tailwind.config.mjs", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sxhkdrc", text = "๏•", fg_dark = "#313244", fg_light = "#313244" }, + { name = "robots.txt", text = "๓ฐšฉ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "tailwind.config.ts", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "prettier.config.mjs", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "mpv.conf", text = "๏ฎ", fg_dark = "#1e1e2e", fg_light = "#1e1e2e" }, + { name = "py.typed", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "PrusaSlicer.ini", text = "๏‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "procfile", text = "๎˜‡", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "rakefile", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "kritarc", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = ".Xresources", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "prettier.config.js", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "commitlint.config.ts", text = "๓ฐœ˜", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "weston.ini", text = "๏ง", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "eslint.config.js", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cmakelists.txt", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = ".git-blame-ignore-revs", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "config", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "nuxt.config.cjs", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "node_modules", text = "๎œ˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "makefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "lxqt.conf", text = "๏ค", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "i18n.config.js", text = "๓ฐ—Š", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "FreeCAD.conf", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "prettier.config.cjs", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "tmux.conf", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "kalgebrarc", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "i3status.conf", text = "๏š", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = ".settings.json", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "containerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "i3blocks.conf", text = "๏š", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "lxde-rc.xml", text = "๏ฃ", fg_dark = "#9399b2", fg_light = "#9399b2" }, + { name = "gradle.properties", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "hypridle.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "gruntfile.ts", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gruntfile.js", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "dockerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "groovy", text = "๎ต", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "hyprlock.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = ".prettierrc", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "gnumakefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "commit_editmsg", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fp-lib-table", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "fp-info-cache", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "eslint.config.ts", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "nuxt.config.js", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "platformio.ini", text = "๎š‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".nuxtrc", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "gruntfile.coffee", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "eslint.config.mjs", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "compose.yaml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "bspwmrc", text = "๏•", fg_dark = "#313244", fg_light = "#313244" }, + { name = "brewfile", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = ".eslintrc", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = ".gtkrc-2.0", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = ".Xauthority", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = ".prettierrc.json", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = ".npmignore", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = ".gitmodules", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, +] +exts = [ + { name = "rake", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "skp", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "eln", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "razor", text = "๓ฑฆ˜", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "vue", text = "๎š ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sln", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "el", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "blp", text = "๓ฐบพ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "jl", text = "๎˜ค", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "mdx", text = "๏’Š", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "jsx", text = "๎˜ฅ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "ml", text = "๎™บ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "less", text = "๎˜”", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "pot", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pl", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mli", text = "๎™บ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gif", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "aif", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cxxm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "fcbak", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "aac", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "query", text = "๎ˆœ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "android", text = "๎œŽ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "m3u8", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "leex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "liquid", text = "๎™ฐ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "cue", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "fcmacro", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "log", text = "๓ฐŒฑ", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, + { name = "pm", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "brep", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "blend", text = "๓ฐ‚ซ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "md5", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sql", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "xcplayground", text = "๎•", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "erb", text = "๎˜Ž", fg_dark = "#313244", fg_light = "#313244" }, + { name = "t", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cache", text = "๏’›", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "r", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "x", text = "๎š‘", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "import", text = "๏ƒ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "m", text = "๎˜ž", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "lrc", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "o", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "d", text = "๎žฏ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "c", text = "๎˜ž", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "h", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "rss", text = "๎˜™", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "hbs", text = "๎˜", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "godot", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "eot", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "awk", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "fsx", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "a", text = "๎ฎœ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "pyi", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "asc", text = "๓ฐฆ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "ass", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "css", text = "๎‰", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "psb", text = "๎žธ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "csproj", text = "๓ฐชฎ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "csv", text = "๎™Š", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "gcode", text = "๓ฐซ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "ics", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "mk", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "bz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fctb", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "gz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "wasm", text = "๎šก", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "glb", text = "๏†ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "elc", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "flf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "elf", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "dropbox", text = "๎œ‡", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "tres", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "apk", text = "๎œŽ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ape", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "slvs", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "apl", text = "โ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cs", text = "๓ฐŒ›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "azcli", text = "๎ฏจ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "pp", text = "๎˜ฑ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "flc", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "gemspec", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "pls", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "cfg", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fcscript", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "gnumakefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "zst", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "pxi", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "woff2", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "kicad_pcb", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "zsh", text = "๎ž•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "kicad_wks", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "info", text = "๏„ฉ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "cppm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "svg", text = "๓ฐœก", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "flac", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "cuh", text = "๎™‹", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "bin", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "zig", text = "๎šฉ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "yml", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "yaml", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fsscript", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "xz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "diff", text = "๎œจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "mojo", text = "๏ญ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cshtml", text = "๓ฑฆ—", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "bak", text = "๓ฐฏ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "nfo", text = "๏„ฉ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "bat", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "cpy", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gql", text = "๏ˆŽ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "c++", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "lff", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "obj", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sha512", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "scm", text = "๓ฐ˜ง", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "aiff", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sig", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "webm", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "zip", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "wrz", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "jwmrc", text = "๏›", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "xml", text = "๓ฐ—€", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cbl", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "rmd", text = "๎˜‰", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "xaml", text = "๓ฐ™ณ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "xm", text = "๎š‘", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "wvc", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "drl", text = "๎ŠŒ", fg_dark = "#eba0ac", fg_light = "#eba0ac" }, + { name = "erl", text = "๎žฑ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "3gp", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "ccm", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ino", text = "๏‹", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "kbx", text = "๓ฐฏ„", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "test.js", text = "๏’™", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "wrl", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "pcm", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "woff", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "scala", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "webpack", text = "๓ฐœซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "hrl", text = "๎žฑ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "kra", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "kicad_pro", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "bazel", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "toml", text = "๎šฒ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "iges", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "crdownload", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "so", text = "๎ฎœ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "strings", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "xls", text = "๓ฐˆ›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "wav", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "vsix", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "kicad_prl", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "mov", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "bash", text = "๎ž•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sqlite3", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "vsh", text = "๎šฌ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "vim", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "lck", text = "๎™ฒ", fg_dark = "#bac2de", fg_light = "#bac2de" }, + { name = "go", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pyo", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "vhdl", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "vhd", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "rar", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "magnet", text = "๏ถ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "vala", text = "๎šž", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "coffee", text = "๎˜›", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "kdbx", text = "๏ˆพ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "po", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "v", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "prisma", text = "๎š„", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "f90", text = "๓ฑˆš", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "txt", text = "๓ฐˆ™", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "mo", text = "โˆž", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "mp4", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cljc", text = "๎จ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "heex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "exs", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "clj", text = "๎จ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "luau", text = "๎˜ ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "fcparam", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "markdown", text = "๎˜‰", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, + { name = "dxf", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "luac", text = "๎˜ ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "desktop", text = "๏„ˆ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "docx", text = "๓ฐˆฌ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cljd", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "txz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "bicepparam", text = "๎˜ป", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "kt", text = "๎˜ด", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "fcstd", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "md", text = "๏’Š", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, + { name = "edn", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sub", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ttf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "tsx", text = "๎žบ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "hurl", text = "๏ƒฌ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "dll", text = "๎ฎœ", fg_dark = "#11111b", fg_light = "#11111b" }, + { name = "lhs", text = "๎˜Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "tsconfig", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "msf", text = "๏ฐ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "ts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "rproj", text = "๓ฐ—†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "org", text = "๎˜ณ", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "signature", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "elm", text = "๎˜ฌ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pyc", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "tmux", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "tgz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "nu", text = ">", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "tfvars", text = "๏…›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "lua", text = "๎˜ ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "astro", text = "๎šณ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "lib", text = "๎ฎœ", fg_dark = "#11111b", fg_light = "#11111b" }, + { name = "tex", text = "๎š›", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "ogg", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "stp", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sublime", text = "๎žช", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "test.tsx", text = "๏’™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "nswag", text = "๎˜‹", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "test.ts", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "test.jsx", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "dwg", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "bib", text = "๓ฑ‰Ÿ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "sass", text = "๎˜ƒ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "templ", text = "๎ซ„", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "tcl", text = "๓ฐ›“", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "pck", text = "๏’‡", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "swift", text = "๎•", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "makefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "xcstrings", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "slim", text = "๎˜Ž", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "iso", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, + { name = "fsi", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "dart", text = "๎ž˜", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "nix", text = "๏Œ“", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "svelte", text = "๎š—", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "sv", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "bz2", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "sha256", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "twig", text = "๎˜œ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "material", text = "๓ฐ”‰", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ppt", text = "๓ฐˆง", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "pyd", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "step", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "hx", text = "๎™ฆ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "webmanifest", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "kicad_sch", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "cjs", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "stl", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "ejs", text = "๎˜Ž", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ssa", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "license", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "jsonc", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "download", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "ige", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sqlite", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "psd1", text = "๓ฐจŠ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "dump", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "resi", text = "๎šˆ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "spec.ts", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "fnl", text = "๎šฏ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "cu", text = "๎™‹", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "scss", text = "๎˜ƒ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "config.ru", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "psd", text = "๎žธ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "db", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "epub", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "haml", text = "๎˜Ž", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "sol", text = "๎™–", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "sml", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "svh", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sldprt", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ico", text = "๎˜", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "xlsx", text = "๓ฐˆ›", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "rs", text = "๎š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "dconf", text = "๏ก", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "bz3", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fdmdownload", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "fs", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "patch", text = "๎œจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "hs", text = "๎˜Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "xcf", text = "๏Œธ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "js", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "pyw", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "sha384", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fcmat", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "csh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "suo", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "sha224", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sha1", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cr", text = "๎˜ฏ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "huff", text = "๓ฐก˜", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "sh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "sc", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ksh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cc", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "wma", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mp3", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "conf", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "3mf", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "sbt", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "kicad_mod", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "terminal", text = "๏’‰", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "rlib", text = "๎žจ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "pdf", text = "๎ซซ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "mts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "kdenlive", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kts", text = "๎˜ด", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "spec.tsx", text = "๏’™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "res", text = "๎šˆ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "hxx", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "rb", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, + { name = "vh", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ixx", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cson", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "cts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "7z", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "ex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cpp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "qss", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "app", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "jxl", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "qrc", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "qml", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "epp", text = "๎˜ฑ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "otf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "hh", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "qm", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "pro", text = "๎žก", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "exe", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "kdenlivetitle", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "kdb", text = "๏ˆพ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "mpp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "Dockerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "bqn", text = "โމ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "torrent", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "m3u", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "py", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "pxd", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "f3d", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "out", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, + { name = "spec.jsx", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "kicad_dru", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "ps1", text = "๓ฐจŠ", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "ui", text = "๏‹", fg_dark = "#313244", fg_light = "#313244" }, + { name = "styl", text = "๎˜€", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "f#", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "png", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "ply", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "php", text = "๎˜ˆ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "eex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "tbc", text = "๓ฐ›“", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "part", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, + { name = "pub", text = "๓ฐท–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ipynb", text = "๎˜†", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "opus", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "git", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "bmp", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "blade.php", text = "๏‹ท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "nim", text = "๎™ท", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "xpi", text = "๎ž†", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "mustache", text = "๎˜", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "tscn", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "scad", text = "๏Ž", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "ai", text = "๎žด", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "hex", text = "๎™ง", fg_dark = "#6c7086", fg_light = "#6c7086" }, + { name = "hpp", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "xul", text = "๎…", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "mobi", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "fcstd1", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ical", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "icalendar", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "bicep", text = "๎˜ป", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "mkv", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "graphql", text = "๏ˆŽ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "mjs", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "mint", text = "๓ฐŒช", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "m4v", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "m4a", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "tf", text = "๎šš", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gv", text = "๓ฑ‰", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "lock", text = "๎™ฒ", fg_dark = "#bac2de", fg_light = "#bac2de" }, + { name = "krz", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "kpp", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, + { name = "ko", text = "๏…ผ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "kicad_sym", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "psm1", text = "๓ฐจŠ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "pyx", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, + { name = "json5", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "json", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "bzl", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "ifb", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, + { name = "image", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, + { name = "jpg", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "jpeg", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "java", text = "๎œธ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "wv", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "ini", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cast", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "cp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "fctl", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, + { name = "ifc", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "sldasm", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "html", text = "๎œถ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "typoscript", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "๐Ÿ”ฅ", text = "๏ญ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "htm", text = "๎˜Ž", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "ste", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "spec.js", text = "๏’™", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "gresource", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, + { name = "ebook", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "gd", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "fish", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "igs", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, + { name = "fbx", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "env", text = "๏‘ข", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "srt", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, + { name = "dot", text = "๓ฑ‰", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "doc", text = "๓ฐˆฌ", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "d.ts", text = "๎˜จ", fg_dark = "#fab387", fg_light = "#fab387" }, + { name = "applescript", text = "๏…น", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "cxx", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "img", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, + { name = "cljs", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, + { name = "cobol", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cob", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, + { name = "cmake", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, + { name = "webp", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, +] diff --git a/yazi/theme.toml b/yazi/theme.toml deleted file mode 100644 index 8ccb2d2..0000000 --- a/yazi/theme.toml +++ /dev/null @@ -1,698 +0,0 @@ -[manager] -cwd = { fg = "#94e2d5" } - -# Hovered -hovered = { fg = "#1e1e2e", bg = "#89b4fa" } -preview_hovered = { underline = true } - -# Find -find_keyword = { fg = "#f9e2af", italic = true } -find_position = { fg = "#f5c2e7", bg = "reset", italic = true } - -# Marker -marker_copied = { fg = "#a6e3a1", bg = "#a6e3a1" } -marker_cut = { fg = "#f38ba8", bg = "#f38ba8" } -marker_selected = { fg = "#89b4fa", bg = "#89b4fa" } - -# Tab -tab_active = { fg = "#1e1e2e", bg = "#cdd6f4" } -tab_inactive = { fg = "#cdd6f4", bg = "#45475a" } -tab_width = 1 - -# Count -count_copied = { fg = "#1e1e2e", bg = "#a6e3a1" } -count_cut = { fg = "#1e1e2e", bg = "#f38ba8" } -count_selected = { fg = "#1e1e2e", bg = "#89b4fa" } - -# Border -border_symbol = "โ”‚" -border_style = { fg = "#7f849c" } - -# Highlighting -syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme" - -[status] -separator_open = "๎‚ถ" -separator_close = "๎‚ด" -separator_style = { fg = "#45475a", bg = "#45475a" } - -# Mode -mode_normal = { fg = "#1e1e2e", bg = "#89b4fa", bold = true } -mode_select = { fg = "#1e1e2e", bg = "#a6e3a1", bold = true } -mode_unset = { fg = "#1e1e2e", bg = "#f2cdcd", bold = true } - -# Progress -progress_label = { fg = "#ffffff", bold = true } -progress_normal = { fg = "#89b4fa", bg = "#45475a" } -progress_error = { fg = "#f38ba8", bg = "#45475a" } - -# Permissions -permissions_t = { fg = "#89b4fa" } -permissions_r = { fg = "#f9e2af" } -permissions_w = { fg = "#f38ba8" } -permissions_x = { fg = "#a6e3a1" } -permissions_s = { fg = "#7f849c" } - -[input] -border = { fg = "#89b4fa" } -title = {} -value = {} -selected = { reversed = true } - -[select] -border = { fg = "#89b4fa" } -active = { fg = "#f5c2e7" } -inactive = {} - -[tasks] -border = { fg = "#89b4fa" } -title = {} -hovered = { underline = true } - -[which] -mask = { bg = "#313244" } -cand = { fg = "#94e2d5" } -rest = { fg = "#9399b2" } -desc = { fg = "#f5c2e7" } -separator = " ๎ชœ " -separator_style = { fg = "#585b70" } - -[help] -on = { fg = "#f5c2e7" } -exec = { fg = "#94e2d5" } -desc = { fg = "#9399b2" } -hovered = { bg = "#585b70", bold = true } -footer = { fg = "#45475a", bg = "#cdd6f4" } - -[filetype] - -rules = [ - # Media - { mime = "image/*", fg = "#94e2d5" }, - { mime = "{audio,video}/*", fg = "#f9e2af" }, - - # Archives - { mime = "application/{,g}zip", fg = "#f5c2e7" }, - { mime = "application/x-{tar,bzip*,7z-compressed,xz,rar}", fg = "#f5c2e7" }, - - # Fallback - { name = "*", fg = "#cdd6f4" }, - { name = "*/", fg = "#89b4fa" } -] - -[icon] - -files = [ - { name = "gulpfile.js", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = ".babelrc", text = "๎˜น", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "copying.lesser", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = ".npmrc", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "docker-compose.yml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "svelte.config.js", text = "๎š—", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "copying", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "prettier.config.ts", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "gruntfile.babel.js", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = ".SRCINFO", text = "๓ฐฃ‡", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".xinitrc", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "docker-compose.yaml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "nuxt.config.ts", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "build", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".editorconfig", text = "๎™’", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "nuxt.config.mjs", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".gitlab-ci.yml", text = "๏Š–", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "PKGBUILD", text = "๏Œƒ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".bash_profile", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".bashrc", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "compose.yml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "eslint.config.cjs", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "go.mod", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = ".mailmap", text = "๓ฐŠข", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "gtkrc", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "go.work", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "justfile", text = "๏‚ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "kritadisplayrc", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, - { name = "commitlint.config.js", text = "๓ฐœ˜", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = ".env", text = "๏‘ข", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "PrusaSlicerGcodeViewer.ini", text = "๏‘", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "r", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "license", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = ".gitignore", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "tailwind.config.js", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = ".prettierrc.yml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".zprofile", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".zshenv", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "xmonad.hs", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = ".eslintignore", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "tsconfig.json", text = "๎š", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = ".prettierrc.json5", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".ds_store", text = "๎˜•", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "gulpfile.coffee", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "R", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = ".zshrc", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".prettierrc.toml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".gvimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".xsession", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = ".justfile", text = "๏‚ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = ".gitconfig", text = "๎˜•", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "gradle-wrapper.properties", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "ionic.config.json", text = "๎žฉ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "cantorrc", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".gleam", text = "๏€…", fg_dark = "#f5c2e7", fg_light = "#f5c2e7" }, - { name = "package-lock.json", text = "๎œž", fg_dark = "#313244", fg_light = "#313244" }, - { name = "package.json", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "hyprland.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "gulpfile.babel.js", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = ".nvmrc", text = "๎œ˜", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".prettierignore", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "ext_typoscript_setup.txt", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "QtProject.conf", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "avif", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "mix.lock", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "build.gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "gemfile$", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = ".vimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "i18n.config.ts", text = "๓ฐ—Š", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "gulpfile.ts", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "build.zig.zon", text = "๎šฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "checkhealth", text = "๓ฐ“™", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "xmobarrc", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "_vimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".luaurc", text = "๎˜•", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "kdenlive-layoutsrc", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "gradlew", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "xsettingsd.conf", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "vlcrc", text = "๓ฐ•ผ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "xorg.conf", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "xmobarrc.hs", text = "๏ž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "workspace", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = ".gitattributes", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "favicon.ico", text = "๎˜ฃ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "go.sum", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "pom.xml", text = "๎™ด", fg_dark = "#313244", fg_light = "#313244" }, - { name = "webpack", text = "๓ฐœซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "vagrantfile$", text = "๏Šธ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "unlicense", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "tmux.conf.local", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "settings.gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = ".dockerignore", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "sym-lib-table", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "_gvimrc", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "kdenliverc", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "kdeglobals", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".prettierrc.yaml", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "rmd", text = "๎˜‰", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "tailwind.config.mjs", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "sxhkdrc", text = "๏•", fg_dark = "#313244", fg_light = "#313244" }, - { name = "robots.txt", text = "๓ฐšฉ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "tailwind.config.ts", text = "๓ฑฟ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "prettier.config.mjs", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "mpv.conf", text = "๏ฎ", fg_dark = "#1e1e2e", fg_light = "#1e1e2e" }, - { name = "py.typed", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "PrusaSlicer.ini", text = "๏‘", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "procfile", text = "๎˜‡", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "rakefile", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = "kritarc", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, - { name = ".Xresources", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "prettier.config.js", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "commitlint.config.ts", text = "๓ฐœ˜", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "weston.ini", text = "๏ง", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "eslint.config.js", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "cmakelists.txt", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = ".git-blame-ignore-revs", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "config", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "nuxt.config.cjs", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "node_modules", text = "๎œ˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "makefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "lxqt.conf", text = "๏ค", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "i18n.config.js", text = "๓ฐ—Š", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "FreeCAD.conf", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "prettier.config.cjs", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "tmux.conf", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "kalgebrarc", text = "๏ณ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "i3status.conf", text = "๏š", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = ".settings.json", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "containerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "i3blocks.conf", text = "๏š", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "lxde-rc.xml", text = "๏ฃ", fg_dark = "#9399b2", fg_light = "#9399b2" }, - { name = "gradle.properties", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "hypridle.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "gruntfile.ts", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "gruntfile.js", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "dockerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "groovy", text = "๎ต", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "hyprlock.conf", text = "๏™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = ".prettierrc", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "gnumakefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "commit_editmsg", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "fp-lib-table", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "fp-info-cache", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "eslint.config.ts", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "nuxt.config.js", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "platformio.ini", text = "๎š‚", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = ".nuxtrc", text = "๓ฑ„†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "gruntfile.coffee", text = "๎˜‘", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "eslint.config.mjs", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "compose.yaml", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "bspwmrc", text = "๏•", fg_dark = "#313244", fg_light = "#313244" }, - { name = "brewfile", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = ".eslintrc", text = "๎™•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = ".gtkrc-2.0", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = ".Xauthority", text = "๏ฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = ".prettierrc.json", text = "๎šด", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = ".npmignore", text = "๎œž", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = ".gitmodules", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, -] -exts = [ - { name = "rake", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = "skp", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "eln", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "razor", text = "๓ฑฆ˜", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "vue", text = "๎š ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "sln", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "el", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "blp", text = "๓ฐบพ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "jl", text = "๎˜ค", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "mdx", text = "๏’Š", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "jsx", text = "๎˜ฅ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "ml", text = "๎™บ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "less", text = "๎˜”", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "pot", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "pl", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "mli", text = "๎™บ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "gif", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "aif", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "cxxm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "fcbak", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "aac", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "query", text = "๎ˆœ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "android", text = "๎œŽ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "m3u8", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "leex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "liquid", text = "๎™ฐ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "cue", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "fcmacro", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "log", text = "๓ฐŒฑ", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, - { name = "pm", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "brep", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "blend", text = "๓ฐ‚ซ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "md5", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "sql", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "xcplayground", text = "๎•", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "erb", text = "๎˜Ž", fg_dark = "#313244", fg_light = "#313244" }, - { name = "t", text = "๎ฉ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "cache", text = "๏’›", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "r", text = "๓ฐŸ”", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "x", text = "๎š‘", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "import", text = "๏ƒ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "m", text = "๎˜ž", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "lrc", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "o", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "d", text = "๎žฏ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "c", text = "๎˜ž", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "h", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "rss", text = "๎˜™", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "hbs", text = "๎˜", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "godot", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "eot", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "awk", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "fsx", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "a", text = "๎ฎœ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "pyi", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "asc", text = "๓ฐฆ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "ass", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "css", text = "๎‰", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "psb", text = "๎žธ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "csproj", text = "๓ฐชฎ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "csv", text = "๎™Š", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "gcode", text = "๓ฐซ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "ics", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, - { name = "mk", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "bz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "fctb", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "gz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "wasm", text = "๎šก", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "glb", text = "๏†ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "elc", text = "๎˜ฒ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "flf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "elf", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "dropbox", text = "๎œ‡", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "tres", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "apk", text = "๎œŽ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "ape", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "slvs", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "apl", text = "โ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "cs", text = "๓ฐŒ›", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "azcli", text = "๎ฏจ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "pp", text = "๎˜ฑ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "flc", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "gemspec", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = "pls", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "cfg", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "fcscript", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "gnumakefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "zst", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "pxi", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "woff2", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "kicad_pcb", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "zsh", text = "๎ž•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "kicad_wks", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "info", text = "๏„ฉ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "cppm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "svg", text = "๓ฐœก", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "flac", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "cuh", text = "๎™‹", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "bin", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "zig", text = "๎šฉ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "yml", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "yaml", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "fsscript", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "xz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "diff", text = "๎œจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "mojo", text = "๏ญ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "cshtml", text = "๓ฑฆ—", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "bak", text = "๓ฐฏ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "nfo", text = "๏„ฉ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "bat", text = "๎˜•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "cpy", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "gql", text = "๏ˆŽ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "c++", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "lff", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "obj", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "sha512", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "scm", text = "๓ฐ˜ง", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "aiff", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "sig", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "webm", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "zip", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "wrz", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "jwmrc", text = "๏›", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "xml", text = "๓ฐ—€", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "cbl", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "rmd", text = "๎˜‰", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "xaml", text = "๓ฐ™ณ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "xm", text = "๎š‘", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "wvc", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "drl", text = "๎ŠŒ", fg_dark = "#eba0ac", fg_light = "#eba0ac" }, - { name = "erl", text = "๎žฑ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "3gp", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "ccm", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "ino", text = "๏‹", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "kbx", text = "๓ฐฏ„", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "test.js", text = "๏’™", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "wrl", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "pcm", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "woff", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "scala", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "webpack", text = "๓ฐœซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "hrl", text = "๎žฑ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "kra", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, - { name = "kicad_pro", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "bazel", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "toml", text = "๎šฒ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "iges", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "crdownload", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "so", text = "๎ฎœ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "strings", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "xls", text = "๓ฐˆ›", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "wav", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "vsix", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "kicad_prl", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "mov", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "bash", text = "๎ž•", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "sqlite3", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "vsh", text = "๎šฌ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "vim", text = "๎˜ซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "lck", text = "๎™ฒ", fg_dark = "#bac2de", fg_light = "#bac2de" }, - { name = "go", text = "๎˜ง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "pyo", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "vhdl", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "vhd", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "rar", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "magnet", text = "๏ถ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "vala", text = "๎šž", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "coffee", text = "๎˜›", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "kdbx", text = "๏ˆพ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "po", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "v", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "prisma", text = "๎š„", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "f90", text = "๓ฑˆš", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "txt", text = "๓ฐˆ™", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "mo", text = "โˆž", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "mp4", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "cljc", text = "๎จ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "heex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "exs", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "clj", text = "๎จ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "luau", text = "๎˜ ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "fcparam", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "markdown", text = "๎˜‰", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, - { name = "dxf", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "luac", text = "๎˜ ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "desktop", text = "๏„ˆ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "docx", text = "๓ฐˆฌ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "cljd", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "txz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "bicepparam", text = "๎˜ป", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "kt", text = "๎˜ด", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "fcstd", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "md", text = "๏’Š", fg_dark = "#cdd6f4", fg_light = "#cdd6f4" }, - { name = "edn", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "sub", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "ttf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "tsx", text = "๎žบ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "hurl", text = "๏ƒฌ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "dll", text = "๎ฎœ", fg_dark = "#11111b", fg_light = "#11111b" }, - { name = "lhs", text = "๎˜Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "tsconfig", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "msf", text = "๏ฐ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "ts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "rproj", text = "๓ฐ—†", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "org", text = "๎˜ณ", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "signature", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "elm", text = "๎˜ฌ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "pyc", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "tmux", text = "๎ฏˆ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "tgz", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "nu", text = ">", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "tfvars", text = "๏…›", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "lua", text = "๎˜ ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "astro", text = "๎šณ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "lib", text = "๎ฎœ", fg_dark = "#11111b", fg_light = "#11111b" }, - { name = "tex", text = "๎š›", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "ogg", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "stp", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "sublime", text = "๎žช", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "test.tsx", text = "๏’™", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "nswag", text = "๎˜‹", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "test.ts", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "test.jsx", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "dwg", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "bib", text = "๓ฑ‰Ÿ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "sass", text = "๎˜ƒ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "templ", text = "๎ซ„", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "tcl", text = "๓ฐ›“", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "pck", text = "๏’‡", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "swift", text = "๎•", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "makefile", text = "๎น", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "xcstrings", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "slim", text = "๎˜Ž", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "iso", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, - { name = "fsi", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "dart", text = "๎ž˜", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "nix", text = "๏Œ“", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "svelte", text = "๎š—", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "sv", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "bz2", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "sha256", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "twig", text = "๎˜œ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "material", text = "๓ฐ”‰", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "ppt", text = "๓ฐˆง", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "pyd", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "step", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "hx", text = "๎™ฆ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "webmanifest", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "kicad_sch", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "cjs", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "stl", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "ejs", text = "๎˜Ž", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "ssa", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "license", text = "๎˜Š", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "jsonc", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "download", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "ige", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "sqlite", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "psd1", text = "๓ฐจŠ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "dump", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "resi", text = "๎šˆ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "spec.ts", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "fnl", text = "๎šฏ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "cu", text = "๎™‹", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "scss", text = "๎˜ƒ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "config.ru", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = "psd", text = "๎žธ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "db", text = "๎œ†", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "epub", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "haml", text = "๎˜Ž", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "sol", text = "๎™–", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "sml", text = "ฮป", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "svh", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "sldprt", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "ico", text = "๎˜", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "xlsx", text = "๓ฐˆ›", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "rs", text = "๎š‹", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "dconf", text = "๏ก", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "bz3", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "fdmdownload", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "fs", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "patch", text = "๎œจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "hs", text = "๎˜Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "xcf", text = "๏Œธ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "js", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "pyw", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "sha384", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "fcmat", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "csh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "suo", text = "๎œŒ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "sha224", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "sha1", text = "๓ฐ•ฅ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "cr", text = "๎˜ฏ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "huff", text = "๓ฐก˜", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "sh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "sc", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "ksh", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "cc", text = "๎˜", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "wma", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "mp3", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "conf", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "3mf", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "sbt", text = "๎œท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "kicad_mod", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "terminal", text = "๏’‰", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "rlib", text = "๎žจ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "pdf", text = "๎ซซ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "mts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "kdenlive", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "kts", text = "๎˜ด", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "spec.tsx", text = "๏’™", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "res", text = "๎šˆ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "hxx", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "rb", text = "๎ž‘", fg_dark = "#313244", fg_light = "#313244" }, - { name = "vh", text = "๓ฐ›", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "ixx", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "cson", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "cts", text = "๎˜จ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "7z", text = "๏", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "ex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "cpp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "qss", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "app", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "jxl", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "qrc", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "qml", text = "๏ต", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "epp", text = "๎˜ฑ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "otf", text = "๏€ฑ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "hh", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "qm", text = "๏†ซ", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "pro", text = "๎žก", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "exe", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "kdenlivetitle", text = "๏Œผ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "kdb", text = "๏ˆพ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "mpp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "Dockerfile", text = "๓ฐกจ", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "bqn", text = "โމ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "torrent", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "m3u", text = "๓ฐฒน", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "py", text = "๎˜†", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "pxd", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "f3d", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "out", text = "๎ซจ", fg_dark = "#45475a", fg_light = "#45475a" }, - { name = "spec.jsx", text = "๏’™", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "kicad_dru", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "ps1", text = "๓ฐจŠ", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "ui", text = "๏‹", fg_dark = "#313244", fg_light = "#313244" }, - { name = "styl", text = "๎˜€", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "f#", text = "๎žง", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "png", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "ply", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "php", text = "๎˜ˆ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "eex", text = "๎˜ญ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "tbc", text = "๓ฐ›“", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "part", text = "๏€™", fg_dark = "#94e2d5", fg_light = "#94e2d5" }, - { name = "pub", text = "๓ฐท–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "ipynb", text = "๎˜†", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "opus", text = "๏€", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "git", text = "๎œ‚", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "bmp", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "blade.php", text = "๏‹ท", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "nim", text = "๎™ท", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "xpi", text = "๎ž†", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "mustache", text = "๎˜", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "tscn", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "scad", text = "๏Ž", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "ai", text = "๎žด", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "hex", text = "๎™ง", fg_dark = "#6c7086", fg_light = "#6c7086" }, - { name = "hpp", text = "๏ƒฝ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "xul", text = "๎…", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "mobi", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "fcstd1", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "ical", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, - { name = "icalendar", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, - { name = "bicep", text = "๎˜ป", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "mm", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "mkv", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "graphql", text = "๏ˆŽ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "mjs", text = "๎˜Œ", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "mint", text = "๓ฐŒช", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "m4v", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "m4a", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "tf", text = "๎šš", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "gv", text = "๓ฑ‰", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "lock", text = "๎™ฒ", fg_dark = "#bac2de", fg_light = "#bac2de" }, - { name = "krz", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, - { name = "kpp", text = "๏Œฝ", fg_dark = "#cba6f7", fg_light = "#cba6f7" }, - { name = "ko", text = "๏…ผ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "kicad_sym", text = "๏Œ", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "psm1", text = "๓ฐจŠ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "pyx", text = "๎˜†", fg_dark = "#89b4fa", fg_light = "#89b4fa" }, - { name = "json5", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "json", text = "๎˜‹", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "bzl", text = "๎˜บ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "ifb", text = "๏ณ", fg_dark = "#313244", fg_light = "#313244" }, - { name = "image", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, - { name = "jpg", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "jpeg", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "java", text = "๎œธ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "wv", text = "๏€", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "ini", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "cast", text = "๎šŸ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "cp", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "fctl", text = "๏Œถ", fg_dark = "#f38ba8", fg_light = "#f38ba8" }, - { name = "ifc", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "sldasm", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "html", text = "๎œถ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "typoscript", text = "๎ฒ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "๐Ÿ”ฅ", text = "๏ญ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "htm", text = "๎˜Ž", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "ste", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "spec.js", text = "๏’™", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "gresource", text = "๏ข", fg_dark = "#f5e0dc", fg_light = "#f5e0dc" }, - { name = "ebook", text = "๎Š‹", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "gradle", text = "๎™ ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "gd", text = "๎™Ÿ", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "fish", text = "๎ž•", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "igs", text = "๓ฐปซ", fg_dark = "#a6e3a1", fg_light = "#a6e3a1" }, - { name = "fbx", text = "๓ฐ†ง", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "env", text = "๏‘ข", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "srt", text = "๓ฐจ–", fg_dark = "#f9e2af", fg_light = "#f9e2af" }, - { name = "dot", text = "๓ฑ‰", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "doc", text = "๓ฐˆฌ", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "d.ts", text = "๎˜จ", fg_dark = "#fab387", fg_light = "#fab387" }, - { name = "applescript", text = "๏…น", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "cxx", text = "๎˜", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "img", text = "๎‰ฑ", fg_dark = "#f2cdcd", fg_light = "#f2cdcd" }, - { name = "cljs", text = "๎ช", fg_dark = "#74c7ec", fg_light = "#74c7ec" }, - { name = "cobol", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "cob", text = "โš™", fg_dark = "#585b70", fg_light = "#585b70" }, - { name = "cmake", text = "๎˜•", fg_dark = "#7f849c", fg_light = "#7f849c" }, - { name = "webp", text = "๎˜", fg_dark = "#7f849c", fg_light = "#7f849c" }, -] diff --git a/yazi/theme.toml b/yazi/theme.toml new file mode 120000 index 0000000..dda4918 --- /dev/null +++ b/yazi/theme.toml @@ -0,0 +1 @@ +theme-dark.toml \ No newline at end of file From 82dfc70a5670d85cd95880d440db3dfbe4e7436b Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 15:26:04 -0500 Subject: [PATCH 02/30] fix: prevent theme switching from dirtying git status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Symlink files (bottom.toml, eza/theme.yml, yazi/theme.toml, gh-dash/config.yml) are now gitignored โ€” the dark/light variant files remain tracked. install.sh creates the initial symlinks. Sed-modified files (starship.toml, gitconfig, atuin/config.toml, zellij/config.kdl, btop/btop.conf, k9s/config.yaml) use git skip-worktree to hide runtime theme changes from git status. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitignore | 6 ++++++ bottom/bottom.toml | 1 - eza/theme.yml | 1 - gh-dash/config.yml | 1 - install.sh | 22 ++++++++++++++++++++++ yazi/theme.toml | 1 - 6 files changed, 28 insertions(+), 4 deletions(-) delete mode 120000 bottom/bottom.toml delete mode 120000 eza/theme.yml delete mode 120000 gh-dash/config.yml delete mode 120000 yazi/theme.toml diff --git a/.gitignore b/.gitignore index 356ab25..e94a235 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,9 @@ tmux/plugins actionlint stylua stylua.zip + +# Theme-switched symlinks (dark/light variant files are tracked instead) +bottom/bottom.toml +eza/theme.yml +yazi/theme.toml +gh-dash/config.yml diff --git a/bottom/bottom.toml b/bottom/bottom.toml deleted file mode 120000 index a59b981..0000000 --- a/bottom/bottom.toml +++ /dev/null @@ -1 +0,0 @@ -bottom-dark.toml \ No newline at end of file diff --git a/eza/theme.yml b/eza/theme.yml deleted file mode 120000 index fd20d61..0000000 --- a/eza/theme.yml +++ /dev/null @@ -1 +0,0 @@ -theme-dark.yml \ No newline at end of file diff --git a/gh-dash/config.yml b/gh-dash/config.yml deleted file mode 120000 index a86ff3c..0000000 --- a/gh-dash/config.yml +++ /dev/null @@ -1 +0,0 @@ -config-dark.yml \ No newline at end of file diff --git a/install.sh b/install.sh index 97a7711..dde6a47 100755 --- a/install.sh +++ b/install.sh @@ -219,6 +219,28 @@ function link_files() { "$(pwd)/scripts/detect-theme-mode" > ~/.config/theme-mode fi + # Create default theme symlinks (these files are gitignored) + start_time=$(start_operation "Setting up theme symlinks") + local mode + mode=$(cat ~/.config/theme-mode) + if [ "$mode" = "light" ]; then + ln -sf bottom-light.toml "$(pwd)/bottom/bottom.toml" + ln -sf theme-light.yml "$(pwd)/eza/theme.yml" + ln -sf theme-light.toml "$(pwd)/yazi/theme.toml" + ln -sf config-light.yml "$(pwd)/gh-dash/config.yml" + else + ln -sf bottom-dark.toml "$(pwd)/bottom/bottom.toml" + ln -sf theme-dark.yml "$(pwd)/eza/theme.yml" + ln -sf theme-dark.toml "$(pwd)/yazi/theme.toml" + ln -sf config-dark.yml "$(pwd)/gh-dash/config.yml" + fi + + # Prevent theme-switching sed changes from dirtying git status + git -C "$(pwd)" update-index --skip-worktree \ + starship.toml gitconfig atuin/config.toml \ + zellij/config.kdl btop/btop.conf k9s/config.yaml 2>/dev/null || true + log_with_timing "Setting up theme symlinks" "$start_time" + log_with_timing "Linking terminal tool configs" "$start_time" # Codespaces-specific configuration - background non-critical operations diff --git a/yazi/theme.toml b/yazi/theme.toml deleted file mode 120000 index dda4918..0000000 --- a/yazi/theme.toml +++ /dev/null @@ -1 +0,0 @@ -theme-dark.toml \ No newline at end of file From 9e8aa19e7a943c2cf69d7eed63e612cbac9d478b Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 15:58:55 -0500 Subject: [PATCH 03/30] fix: resolve symlinks for sed and use absolute fish path - _sed_i now resolves symlinks before in-place edit (macOS sed can't operate on symlinks directly) - Swift watcher uses /opt/homebrew/bin/fish instead of env lookup (launchd has a limited PATH) - install.sh symlinks switch-theme.fish to ~/.local/bin/ Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- install.sh | 1 + scripts/switch-theme.fish | 12 +++++++++--- scripts/theme-watcher.swift | 4 ++-- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/install.sh b/install.sh index dde6a47..782f7f7 100755 --- a/install.sh +++ b/install.sh @@ -208,6 +208,7 @@ function link_files() { start_time=$(start_operation "Setting up theme watcher") mkdir -p ~/.local/bin swiftc -O "$(pwd)/scripts/theme-watcher.swift" -o ~/.local/bin/theme-watcher + ln -sf "$(pwd)/scripts/switch-theme.fish" ~/.local/bin/switch-theme.fish cp "$(pwd)/scripts/com.dotfiles.theme-watcher.plist" ~/Library/LaunchAgents/ launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist 2>/dev/null || true launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index bac6da6..b28aaaf 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -31,12 +31,18 @@ echo "$mode" > "$state_file" # Dotfiles config location (symlinked from repo) set -l dotfiles "$HOME/.config" -# Helper: portable sed in-place +# Helper: portable sed in-place (follows symlinks) function _sed_i + set -l file $argv[-1] + set -l sed_args $argv[1..-2] + # Resolve symlinks so sed -i works on macOS + if test -L "$file" + set file (realpath "$file") + end if test (uname) = Darwin - sed -i '' $argv + sed -i '' $sed_args "$file" else - sed -i $argv + sed -i $sed_args "$file" end end diff --git a/scripts/theme-watcher.swift b/scripts/theme-watcher.swift index 17b1f15..0c89814 100644 --- a/scripts/theme-watcher.swift +++ b/scripts/theme-watcher.swift @@ -31,8 +31,8 @@ class ThemeWatcher { func switchTheme(to mode: String) { let process = Process() - process.executableURL = URL(fileURLWithPath: "/usr/bin/env") - process.arguments = ["fish", scriptPath, mode] + process.executableURL = URL(fileURLWithPath: "/opt/homebrew/bin/fish") + process.arguments = [scriptPath, mode] process.environment = ProcessInfo.processInfo.environment try? process.run() process.waitUntilExit() From edf25beea5af36c1676abf0121a7f90026863d30 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:04:52 -0500 Subject: [PATCH 04/30] fix: use Title Case Ghostty theme names (required since 1.2.0) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ghostty/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghostty/config b/ghostty/config index 1d42aad..8f0fd21 100644 --- a/ghostty/config +++ b/ghostty/config @@ -1,4 +1,4 @@ -theme = light:catppuccin-latte,dark:catppuccin-mocha +theme = light:Catppuccin Latte,dark:Catppuccin Mocha macos-titlebar-style = tabs font-family = Monaspace Neon Var font-family-bold = Monaspace Xenon Var From b3c1eac6219f5e440d7a1317d6129626a3dccc91 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:12:45 -0500 Subject: [PATCH 05/30] fix: tmux flavor reloading and neovim background switching - Tmux: sed the @catppuccin_flavor in tmux.conf before sourcing (previously set-then-source caused source to overwrite the value) - Neovim: send 'set background=light/dark' to all running instances via --remote-send to nvim sockets - Added tmux/tmux.conf to skip-worktree list Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- install.sh | 3 ++- scripts/switch-theme.fish | 14 +++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index 782f7f7..8cd3104 100755 --- a/install.sh +++ b/install.sh @@ -239,7 +239,8 @@ function link_files() { # Prevent theme-switching sed changes from dirtying git status git -C "$(pwd)" update-index --skip-worktree \ starship.toml gitconfig atuin/config.toml \ - zellij/config.kdl btop/btop.conf k9s/config.yaml 2>/dev/null || true + zellij/config.kdl btop/btop.conf k9s/config.yaml \ + tmux/tmux.conf 2>/dev/null || true log_with_timing "Setting up theme symlinks" "$start_time" log_with_timing "Linking terminal tool configs" "$start_time" diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index b28aaaf..8a418d8 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -130,16 +130,24 @@ end # --- Runtime reloads --- -# Tmux: set flavor and reload +# Tmux: update flavor in config and reload if type -q tmux; and tmux list-sessions >/dev/null 2>&1 if test "$mode" = light - tmux set -g @catppuccin_flavor "latte" + _sed_i 's/@catppuccin_flavor "mocha"/@catppuccin_flavor "latte"/' "$dotfiles/tmux/tmux.conf" else - tmux set -g @catppuccin_flavor "mocha" + _sed_i 's/@catppuccin_flavor "latte"/@catppuccin_flavor "mocha"/' "$dotfiles/tmux/tmux.conf" end tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null end +# Neovim: update background on all running instances +if type -q nvim + set -l bg (test "$mode" = light && echo light || echo dark) + for sock in (find /var/folders /tmp -path "*/nvim.*/nvim.*" -type s 2>/dev/null) + nvim --server "$sock" --remote-send "set background=$bg" 2>/dev/null + end +end + # Fish: update universal variable (propagates to all running shells) set -U THEME_MODE "$mode" From 5ab4eb85f665656bc8a48696d8aa3ad116cc2746 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:22:13 -0500 Subject: [PATCH 06/30] fix: reliable theme watcher and tmux/neovim switching - Theme watcher: replaced notification-based approach with 2-second polling of AppleInterfaceStyle (notifications don't work reliably for CLI binaries launched by launchd) - Tmux: sed the flavor in tmux.conf before sourcing so it takes effect - Neovim: send 'set background=light/dark' to all running instances via nvim --remote-send to socket files - install.sh: symlink switch-theme.fish to ~/.local/bin/ and add tmux/tmux.conf to skip-worktree Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- scripts/theme-watcher.swift | 87 ++++++++++++++++++++----------------- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/scripts/theme-watcher.swift b/scripts/theme-watcher.swift index 0c89814..2169a2d 100644 --- a/scripts/theme-watcher.swift +++ b/scripts/theme-watcher.swift @@ -1,50 +1,57 @@ import Foundation -/// Watches for macOS appearance changes and triggers theme switching. -/// Listens to AppleInterfaceThemeChangedNotification via DistributedNotificationCenter. - -class ThemeWatcher { - let scriptPath: String - - init() { - // Resolve the switch-theme.fish script path relative to this binary - let binDir = (CommandLine.arguments[0] as NSString).deletingLastPathComponent - scriptPath = (binDir as NSString).appendingPathComponent("switch-theme.fish") - - DistributedNotificationCenter.default.addObserver( - self, - selector: #selector(themeChanged), - name: NSNotification.Name("AppleInterfaceThemeChangedNotification"), - object: nil - ) - } +/// Watches for macOS appearance changes by polling AppleInterfaceStyle. +/// Polls every 2 seconds (negligible CPU) and calls switch-theme.fish on change. - func currentMode() -> String { - let style = UserDefaults.standard.string(forKey: "AppleInterfaceStyle") - return (style == "Dark") ? "dark" : "light" - } +let binDir = (CommandLine.arguments[0] as NSString).deletingLastPathComponent +let scriptPath = (binDir as NSString).appendingPathComponent("switch-theme.fish") - @objc func themeChanged(notification: Notification) { - let mode = currentMode() - switchTheme(to: mode) - } +func currentMode() -> String { + let style = UserDefaults.standard.string(forKey: "AppleInterfaceStyle") + return (style == "Dark") ? "dark" : "light" +} + +func switchTheme(to mode: String) { + let timestamp = ISO8601DateFormatter().string(from: Date()) + print("\(timestamp) Switching to \(mode)", terminator: "\n") + fflush(stdout) - func switchTheme(to mode: String) { - let process = Process() - process.executableURL = URL(fileURLWithPath: "/opt/homebrew/bin/fish") - process.arguments = [scriptPath, mode] - process.environment = ProcessInfo.processInfo.environment - try? process.run() + let process = Process() + process.executableURL = URL(fileURLWithPath: "/opt/homebrew/bin/fish") + process.arguments = [scriptPath, mode] + var env = ProcessInfo.processInfo.environment + env["PATH"] = "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:" + (env["PATH"] ?? "") + process.environment = env + + let pipe = Pipe() + process.standardOutput = pipe + process.standardError = pipe + + do { + try process.run() process.waitUntilExit() + let data = pipe.fileHandleForReading.readDataToEndOfFile() + if let output = String(data: data, encoding: .utf8), !output.isEmpty { + print("\(timestamp) \(output)", terminator: "") + fflush(stdout) + } + } catch { + FileHandle.standardError.write(Data("\(timestamp) Error: \(error)\n".utf8)) } +} - func run() { - // Apply current theme on startup - switchTheme(to: currentMode()) - // Block and wait for notifications - RunLoop.main.run() +// Initial switch +var lastMode = currentMode() +switchTheme(to: lastMode) + +// Poll every 2 seconds +while true { + Thread.sleep(forTimeInterval: 2.0) + // Force UserDefaults to re-read from disk + UserDefaults.standard.synchronize() + let mode = currentMode() + if mode != lastMode { + switchTheme(to: mode) + lastMode = mode } } - -let watcher = ThemeWatcher() -watcher.run() From efeefe8a4dfe1a8cad73d2282d9c153717488914 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:26:41 -0500 Subject: [PATCH 07/30] fix: clear catppuccin tmux variables before re-sourcing The catppuccin/tmux plugin uses -ogq (only set if not set) for all theme variables. On flavor switch, the old @thm_* values persisted and the new theme file was silently ignored. Fix by unsetting all @thm_, @catppuccin_, and @_ctp_ variables before re-sourcing. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- scripts/switch-theme.fish | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index 8a418d8..c78b00f 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -130,12 +130,23 @@ end # --- Runtime reloads --- -# Tmux: update flavor in config and reload +# Tmux: update flavor in config and reload catppuccin plugin if type -q tmux; and tmux list-sessions >/dev/null 2>&1 - if test "$mode" = light - _sed_i 's/@catppuccin_flavor "mocha"/@catppuccin_flavor "latte"/' "$dotfiles/tmux/tmux.conf" - else - _sed_i 's/@catppuccin_flavor "latte"/@catppuccin_flavor "mocha"/' "$dotfiles/tmux/tmux.conf" + set -l flavor (test "$mode" = light && echo latte || echo mocha) + set -l old_flavor (test "$mode" = light && echo mocha || echo latte) + _sed_i "s/@catppuccin_flavor \"$old_flavor\"/@catppuccin_flavor \"$flavor\"/" "$dotfiles/tmux/tmux.conf" + + # Clear all catppuccin theme variables (they use -ogq so won't update otherwise) + for var in (tmux show -g 2>/dev/null | grep -oE '^@(thm_|catppuccin_|_ctp_)[^ ]+') + tmux set -gu $var 2>/dev/null + end + + # Set flavor and re-source the catppuccin plugin + config + tmux set -g @catppuccin_flavor "$flavor" + set -l ctp_dir "$dotfiles/tmux/plugins/tmux" + if test -d "$ctp_dir" + tmux source-file "$ctp_dir/catppuccin_options_tmux.conf" 2>/dev/null + tmux source-file "$ctp_dir/catppuccin_tmux.conf" 2>/dev/null end tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null end From f2a27d8fcdc9e426e351abf0f92545c0277a360c Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:27:55 -0500 Subject: [PATCH 08/30] fix: preserve tmux rounded tab style during theme switch Source tmux.conf before re-sourcing catppuccin plugin so user settings (window_status_style rounded, window_flags icon) are set before the plugin's -ogq defaults. Then source tmux.conf again after plugin for post-catppuccin overrides. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- scripts/switch-theme.fish | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index c78b00f..50b5db7 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -141,13 +141,17 @@ if type -q tmux; and tmux list-sessions >/dev/null 2>&1 tmux set -gu $var 2>/dev/null end - # Set flavor and re-source the catppuccin plugin + config - tmux set -g @catppuccin_flavor "$flavor" + # Source tmux.conf FIRST so user options (@catppuccin_window_status_style etc.) + # are set before the plugin reads them via -ogq + tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null + + # Then re-source the catppuccin plugin to apply the new flavor set -l ctp_dir "$dotfiles/tmux/plugins/tmux" if test -d "$ctp_dir" tmux source-file "$ctp_dir/catppuccin_options_tmux.conf" 2>/dev/null tmux source-file "$ctp_dir/catppuccin_tmux.conf" 2>/dev/null end + # Source tmux.conf again so post-catppuccin overrides apply tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null end From 3a8b89fd6bb019afa214b14ae10dbdaab77f6401 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:34:45 -0500 Subject: [PATCH 09/30] fix: improve eza light theme contrast Bump low-contrast colors from Surface2 (#ACB0BE) and Overlay1 (#8C8FA1) to Overlay2 (#7C7F93) and Subtext1 (#5C5F77) for better readability on a light background. Affects permissions, punctuation, metadata, and secondary text elements. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- eza/theme-light.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/eza/theme-light.yml b/eza/theme-light.yml index db17e1a..ad943b2 100644 --- a/eza/theme-light.yml +++ b/eza/theme-light.yml @@ -5,10 +5,10 @@ filekinds: normal: {foreground: "#5C5F77"} directory: {foreground: "#1E66F5"} symlink: {foreground: "#04A5E5"} - pipe: {foreground: "#8C8FA1"} + pipe: {foreground: "#7C7F93"} block_device: {foreground: "#E64553"} char_device: {foreground: "#E64553"} - socket: {foreground: "#ACB0BE"} + socket: {foreground: "#7C7F93"} special: {foreground: "#8839EF"} executable: {foreground: "#40A02B"} mount_point: {foreground: "#209FB5"} @@ -25,8 +25,8 @@ perms: other_write: {foreground: "#DF8E1D"} other_execute: {foreground: "#40A02B"} special_user_file: {foreground: "#8839EF"} - special_other: {foreground: "#ACB0BE"} - attribute: {foreground: "#6C6F85"} + special_other: {foreground: "#7C7F93"} + attribute: {foreground: "#5C5F77"} size: major: {foreground: "#6C6F85"} @@ -36,7 +36,7 @@ size: number_mega: {foreground: "#1E66F5"} number_giga: {foreground: "#8839EF"} number_huge: {foreground: "#8839EF"} - unit_byte: {foreground: "#6C6F85"} + unit_byte: {foreground: "#5C5F77"} unit_kilo: {foreground: "#1E66F5"} unit_mega: {foreground: "#8839EF"} unit_giga: {foreground: "#8839EF"} @@ -47,7 +47,7 @@ users: user_root: {foreground: "#D20F39"} user_other: {foreground: "#8839EF"} group_yours: {foreground: "#5C5F77"} - group_other: {foreground: "#8C8FA1"} + group_other: {foreground: "#7C7F93"} group_root: {foreground: "#D20F39"} links: @@ -60,7 +60,7 @@ git: deleted: {foreground: "#D20F39"} renamed: {foreground: "#179299"} typechange: {foreground: "#EA76CB"} - ignored: {foreground: "#8C8FA1"} + ignored: {foreground: "#7C7F93"} conflicted: {foreground: "#E64553"} git_repo: @@ -70,10 +70,10 @@ git_repo: git_dirty: {foreground: "#D20F39"} security_context: - colon: {foreground: "#8C8FA1"} - user: {foreground: "#5C5F77"} + colon: {foreground: "#7C7F93"} + user: {foreground: "#4C4F69"} role: {foreground: "#8839EF"} - typ: {foreground: "#ACB0BE"} + typ: {foreground: "#7C7F93"} range: {foreground: "#8839EF"} file_type: @@ -81,18 +81,18 @@ file_type: video: {foreground: "#D20F39"} music: {foreground: "#40A02B"} lossless: {foreground: "#179299"} - crypto: {foreground: "#ACB0BE"} + crypto: {foreground: "#7C7F93"} document: {foreground: "#4C4F69"} compressed: {foreground: "#EA76CB"} temp: {foreground: "#E64553"} compiled: {foreground: "#209FB5"} - build: {foreground: "#ACB0BE"} + build: {foreground: "#7C7F93"} source: {foreground: "#1E66F5"} -punctuation: {foreground: "#8C8FA1"} +punctuation: {foreground: "#7C7F93"} date: {foreground: "#DF8E1D"} -inode: {foreground: "#6C6F85"} -blocks: {foreground: "#7C7F93"} +inode: {foreground: "#5C5F77"} +blocks: {foreground: "#6C6F85"} header: {foreground: "#4C4F69"} octal: {foreground: "#179299"} flags: {foreground: "#8839EF"} @@ -100,4 +100,4 @@ flags: {foreground: "#8839EF"} symlink_path: {foreground: "#04A5E5"} control_char: {foreground: "#209FB5"} broken_symlink: {foreground: "#D20F39"} -broken_path_overlay: {foreground: "#ACB0BE"} +broken_path_overlay: {foreground: "#7C7F93"} From c750b3d16d51386cf26a4eaa37e11d1e2343cc7a Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:35:51 -0500 Subject: [PATCH 10/30] feat: switch fish syntax highlighting colors with theme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add Catppuccin Latte fish_color_* values to the theme handler. The -lah flags (fish_color_option) switch from Mocha green (#a6e3a1) to Latte green (#40a02b), and params from Mocha flamingo (#f2cdcd) to Latte flamingo (#dd7878) โ€” both much more readable on light bg. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- fish/conf.d/01-theme.fish | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/fish/conf.d/01-theme.fish b/fish/conf.d/01-theme.fish index c0bd363..f5ab561 100644 --- a/fish/conf.d/01-theme.fish +++ b/fish/conf.d/01-theme.fish @@ -24,10 +24,66 @@ function _theme_apply --on-variable THEME_MODE set -gx BAT_THEME Catppuccin-latte set -gx DARK_MODE false set -gx FZF_DEFAULT_OPTS '--color=bg+:#ccd0da,bg:#eff1f5,spinner:#dc8a78,hl:#d20f39 --color=fg:#4c4f69,header:#d20f39,info:#8839ef,pointer:#dc8a78 --color=marker:#7287fd,fg+:#4c4f69,prompt:#8839ef,hl+:#d20f39 --color=selected-bg:#bcc0cc --multi' + + # Fish syntax highlighting โ€” Catppuccin Latte + set -g fish_color_normal 4c4f69 + set -g fish_color_command 1e66f5 + set -g fish_color_keyword d20f39 + set -g fish_color_quote 40a02b + set -g fish_color_redirection ea76cb + set -g fish_color_end fe640b + set -g fish_color_error d20f39 + set -g fish_color_param dd7878 + set -g fish_color_option 40a02b + set -g fish_color_comment 8c8fa1 + set -g fish_color_selection --background=ccd0da + set -g fish_color_search_match --background=ccd0da + set -g fish_color_operator ea76cb + set -g fish_color_escape e64553 + set -g fish_color_autosuggestion 9ca0b0 + set -g fish_color_cancel d20f39 + set -g fish_color_cwd df8e1d + set -g fish_color_user 179299 + set -g fish_color_host 1e66f5 + set -g fish_color_host_remote 40a02b + set -g fish_color_status d20f39 + set -g fish_color_gray 9ca0b0 + set -g fish_pager_color_completion 4c4f69 + set -g fish_pager_color_description 9ca0b0 + set -g fish_pager_color_prefix ea76cb + set -g fish_pager_color_progress 9ca0b0 else set -gx BAT_THEME Catppuccin-mocha set -gx DARK_MODE true set -gx FZF_DEFAULT_OPTS '--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --color=selected-bg:#45475a --multi' + + # Fish syntax highlighting โ€” Catppuccin Mocha + set -g fish_color_normal cdd6f4 + set -g fish_color_command 89b4fa + set -g fish_color_keyword f38ba8 + set -g fish_color_quote a6e3a1 + set -g fish_color_redirection f5c2e7 + set -g fish_color_end fab387 + set -g fish_color_error f38ba8 + set -g fish_color_param f2cdcd + set -g fish_color_option a6e3a1 + set -g fish_color_comment 7f849c + set -g fish_color_selection --background=313244 + set -g fish_color_search_match --background=313244 + set -g fish_color_operator f5c2e7 + set -g fish_color_escape eba0ac + set -g fish_color_autosuggestion 6c7086 + set -g fish_color_cancel f38ba8 + set -g fish_color_cwd f9e2af + set -g fish_color_user 94e2d5 + set -g fish_color_host 89b4fa + set -g fish_color_host_remote a6e3a1 + set -g fish_color_status f38ba8 + set -g fish_color_gray 6c7086 + set -g fish_pager_color_completion cdd6f4 + set -g fish_pager_color_description 6c7086 + set -g fish_pager_color_prefix f5c2e7 + set -g fish_pager_color_progress 6c7086 end end From 3eebf54e6cb84b32d1a84b17be69dd8f068e5c57 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:42:12 -0500 Subject: [PATCH 11/30] fix: rename 01-theme.fish to 99-theme.fish to load after fish_frozen_theme fish_frozen_theme.fish (sorted alphabetically after 01-theme.fish) was overwriting the Latte colors with hardcoded Mocha values. By renaming to 99-theme.fish, the dynamic theme handler loads last and correctly overrides the frozen defaults. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- fish/conf.d/{01-theme.fish => 99-theme.fish} | 0 fish/fish_variables | 1 + 2 files changed, 1 insertion(+) rename fish/conf.d/{01-theme.fish => 99-theme.fish} (100%) diff --git a/fish/conf.d/01-theme.fish b/fish/conf.d/99-theme.fish similarity index 100% rename from fish/conf.d/01-theme.fish rename to fish/conf.d/99-theme.fish diff --git a/fish/fish_variables b/fish/fish_variables index ad10b9b..3bc825c 100644 --- a/fish/fish_variables +++ b/fish/fish_variables @@ -1,3 +1,4 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 +SETUVAR THEME_MODE:light SETUVAR __fish_initialized:4300 From 30c3440bab023a54795caab10305d8aeb349572f Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:43:55 -0500 Subject: [PATCH 12/30] fix: remove fish_frozen_theme.fish (overrode dynamic theme colors) fish_frozen_theme.fish loaded after 99-theme.fish and overwrote the Latte colors with hardcoded Mocha values. All fish_color_* management is now handled dynamically by 99-theme.fish. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- fish/conf.d/fish_frozen_theme.fish | 49 -------------------------- fish/conf.d/fish_frozen_theme.fish.bak | 49 -------------------------- 2 files changed, 98 deletions(-) delete mode 100644 fish/conf.d/fish_frozen_theme.fish delete mode 100644 fish/conf.d/fish_frozen_theme.fish.bak diff --git a/fish/conf.d/fish_frozen_theme.fish b/fish/conf.d/fish_frozen_theme.fish deleted file mode 100644 index 2008093..0000000 --- a/fish/conf.d/fish_frozen_theme.fish +++ /dev/null @@ -1,49 +0,0 @@ -# This file was created by fish when upgrading to version 4.3, to migrate -# theme variables from universal to global scope. -# Don't edit this file, as it will be written by the web-config tool (`fish_config`). -# To customize your theme, delete this file and see -# help interactive#syntax-highlighting -# or -# man fish-interactive | less +/^SYNTAX.HIGHLIGHTING -# for appropriate commands to add to ~/.config/fish/config.fish instead. -# See also the release notes for fish 4.3.0 (run `help relnotes`). - -set --global fish_color_autosuggestion 6c7086 -set --global fish_color_cancel f38ba8 -set --global fish_color_command 89b4fa -set --global fish_color_comment 7f849c -set --global fish_color_cwd f9e2af -set --global fish_color_cwd_root red -set --global fish_color_end fab387 -set --global fish_color_error f38ba8 -set --global fish_color_escape eba0ac -set --global fish_color_gray 6c7086 -set --global fish_color_history_current --bold -set --global fish_color_host 89b4fa -set --global fish_color_host_remote a6e3a1 -set --global fish_color_keyword f38ba8 -set --global fish_color_match --background=brblue -set --global fish_color_normal cdd6f4 -set --global fish_color_operator f5c2e7 -set --global fish_color_option a6e3a1 -set --global fish_color_param f2cdcd -set --global fish_color_quote a6e3a1 -set --global fish_color_redirection f5c2e7 -set --global fish_color_search_match --background=313244 -set --global fish_color_selection --background=313244 -set --global fish_color_status f38ba8 -set --global fish_color_user 94e2d5 -set --global fish_color_valid_path --underline -set --global fish_pager_color_background -set --global fish_pager_color_completion cdd6f4 -set --global fish_pager_color_description 6c7086 -set --global fish_pager_color_prefix f5c2e7 -set --global fish_pager_color_progress 6c7086 -set --global fish_pager_color_secondary_background -set --global fish_pager_color_secondary_completion -set --global fish_pager_color_secondary_description -set --global fish_pager_color_secondary_prefix -set --global fish_pager_color_selected_background -set --global fish_pager_color_selected_completion -set --global fish_pager_color_selected_description -set --global fish_pager_color_selected_prefix diff --git a/fish/conf.d/fish_frozen_theme.fish.bak b/fish/conf.d/fish_frozen_theme.fish.bak deleted file mode 100644 index 2008093..0000000 --- a/fish/conf.d/fish_frozen_theme.fish.bak +++ /dev/null @@ -1,49 +0,0 @@ -# This file was created by fish when upgrading to version 4.3, to migrate -# theme variables from universal to global scope. -# Don't edit this file, as it will be written by the web-config tool (`fish_config`). -# To customize your theme, delete this file and see -# help interactive#syntax-highlighting -# or -# man fish-interactive | less +/^SYNTAX.HIGHLIGHTING -# for appropriate commands to add to ~/.config/fish/config.fish instead. -# See also the release notes for fish 4.3.0 (run `help relnotes`). - -set --global fish_color_autosuggestion 6c7086 -set --global fish_color_cancel f38ba8 -set --global fish_color_command 89b4fa -set --global fish_color_comment 7f849c -set --global fish_color_cwd f9e2af -set --global fish_color_cwd_root red -set --global fish_color_end fab387 -set --global fish_color_error f38ba8 -set --global fish_color_escape eba0ac -set --global fish_color_gray 6c7086 -set --global fish_color_history_current --bold -set --global fish_color_host 89b4fa -set --global fish_color_host_remote a6e3a1 -set --global fish_color_keyword f38ba8 -set --global fish_color_match --background=brblue -set --global fish_color_normal cdd6f4 -set --global fish_color_operator f5c2e7 -set --global fish_color_option a6e3a1 -set --global fish_color_param f2cdcd -set --global fish_color_quote a6e3a1 -set --global fish_color_redirection f5c2e7 -set --global fish_color_search_match --background=313244 -set --global fish_color_selection --background=313244 -set --global fish_color_status f38ba8 -set --global fish_color_user 94e2d5 -set --global fish_color_valid_path --underline -set --global fish_pager_color_background -set --global fish_pager_color_completion cdd6f4 -set --global fish_pager_color_description 6c7086 -set --global fish_pager_color_prefix f5c2e7 -set --global fish_pager_color_progress 6c7086 -set --global fish_pager_color_secondary_background -set --global fish_pager_color_secondary_completion -set --global fish_pager_color_secondary_description -set --global fish_pager_color_secondary_prefix -set --global fish_pager_color_selected_background -set --global fish_pager_color_selected_completion -set --global fish_pager_color_selected_description -set --global fish_pager_color_selected_prefix From df8676a3201754d59423dcdb5c08028980a7c3b5 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:47:23 -0500 Subject: [PATCH 13/30] fix: remove duplicate golangci-lint from nvim-lint go.nvim already runs golangci-lint via its linter config. Having nvim-lint also trigger it caused 'parallel golangci-lint is running' errors since golangci-lint doesn't support concurrent execution. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- nvim/lua/plugins/nvim-lint.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/nvim/lua/plugins/nvim-lint.lua b/nvim/lua/plugins/nvim-lint.lua index 919d1e3..4848b5e 100644 --- a/nvim/lua/plugins/nvim-lint.lua +++ b/nvim/lua/plugins/nvim-lint.lua @@ -9,7 +9,6 @@ return { lint.linters_by_ft = { fish = { "fish" }, - go = { "golangcilint" }, python = { "pylint" }, javascript = { "eslint_d" }, javascriptreact = { "eslint_d" }, From f298609d87330dae9c2b41aab175a45ef73ddd1b Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 16:48:28 -0500 Subject: [PATCH 14/30] fix: neovim reads theme-mode file on startup Set vim.o.background from ~/.config/theme-mode so catppuccin picks the correct flavour (latte/mocha) on launch. Changed flavour from hardcoded 'mocha' to 'auto' to respect the background setting. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- nvim/lua/plugins/catppuccin.lua | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/nvim/lua/plugins/catppuccin.lua b/nvim/lua/plugins/catppuccin.lua index 2adeaa7..2013d21 100644 --- a/nvim/lua/plugins/catppuccin.lua +++ b/nvim/lua/plugins/catppuccin.lua @@ -3,8 +3,17 @@ return { name = "catppuccin", priority = 1000, config = function() + -- Detect light/dark mode from theme-mode file + local mode_file = vim.fn.expand("~/.config/theme-mode") + if vim.fn.filereadable(mode_file) == 1 then + local mode = vim.fn.readfile(mode_file)[1] + if mode == "light" then + vim.o.background = "light" + end + end + require("catppuccin").setup({ - flavour = "mocha", + flavour = "auto", transparent_background = false, background = { light = "latte", From 4e7a3e3ca569adb4fd58cf1cadc80af94af3d55e Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 18:48:11 -0500 Subject: [PATCH 15/30] feat: black background in dark mode only for Ghostty Add background = 000000 to ghostty/config when switching to dark, remove it when switching to light. Ghostty config added to skip-worktree list. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- install.sh | 2 +- scripts/switch-theme.fish | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 8cd3104..49c2b0a 100755 --- a/install.sh +++ b/install.sh @@ -240,7 +240,7 @@ function link_files() { git -C "$(pwd)" update-index --skip-worktree \ starship.toml gitconfig atuin/config.toml \ zellij/config.kdl btop/btop.conf k9s/config.yaml \ - tmux/tmux.conf 2>/dev/null || true + tmux/tmux.conf ghostty/config 2>/dev/null || true log_with_timing "Setting up theme symlinks" "$start_time" log_with_timing "Linking terminal tool configs" "$start_time" diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index 50b5db7..0db62dd 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -48,6 +48,19 @@ end # --- Sed-based config updates --- +# Ghostty: toggle black background for dark mode +if test -f "$dotfiles/ghostty/config" + if test "$mode" = light + _sed_i '/^background = 000000$/d' "$dotfiles/ghostty/config" + else + # Add background = 000000 after the theme line if not present + if not grep -q "^background = 000000" "$dotfiles/ghostty/config" 2>/dev/null + _sed_i '/^theme = /a\ +background = 000000' "$dotfiles/ghostty/config" + end + end +end + # Starship: switch palette if test "$mode" = light _sed_i 's/palette = "catppuccin_mocha"/palette = "catppuccin_latte"/' "$dotfiles/starship.toml" From d89743f572298095551db00490a963b133d33aff Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 18:49:32 -0500 Subject: [PATCH 16/30] fix: use custom Ghostty theme with black background for dark mode MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created catppuccin-mocha-black.conf theme with background = 000000 instead of Mocha's default #1e1e2e. Ghostty's native light/dark theme switching now uses this directly, so the black background applies to the entire terminal โ€” not just tmux. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ghostty/themes/catppuccin-mocha-black.conf | 22 ++++++++++++++++++++++ scripts/switch-theme.fish | 13 ------------- 2 files changed, 22 insertions(+), 13 deletions(-) create mode 100644 ghostty/themes/catppuccin-mocha-black.conf diff --git a/ghostty/themes/catppuccin-mocha-black.conf b/ghostty/themes/catppuccin-mocha-black.conf new file mode 100644 index 0000000..437c438 --- /dev/null +++ b/ghostty/themes/catppuccin-mocha-black.conf @@ -0,0 +1,22 @@ +palette = 0=#45475a +palette = 1=#f38ba8 +palette = 2=#a6e3a1 +palette = 3=#f9e2af +palette = 4=#89b4fa +palette = 5=#f5c2e7 +palette = 6=#94e2d5 +palette = 7=#a6adc8 +palette = 8=#585b70 +palette = 9=#f38ba8 +palette = 10=#a6e3a1 +palette = 11=#f9e2af +palette = 12=#89b4fa +palette = 13=#f5c2e7 +palette = 14=#94e2d5 +palette = 15=#bac2de +background = 000000 +foreground = cdd6f4 +cursor-color = f5e0dc +cursor-text = 1e1e2e +selection-background = 353749 +selection-foreground = cdd6f4 diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index 0db62dd..50b5db7 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -48,19 +48,6 @@ end # --- Sed-based config updates --- -# Ghostty: toggle black background for dark mode -if test -f "$dotfiles/ghostty/config" - if test "$mode" = light - _sed_i '/^background = 000000$/d' "$dotfiles/ghostty/config" - else - # Add background = 000000 after the theme line if not present - if not grep -q "^background = 000000" "$dotfiles/ghostty/config" 2>/dev/null - _sed_i '/^theme = /a\ -background = 000000' "$dotfiles/ghostty/config" - end - end -end - # Starship: switch palette if test "$mode" = light _sed_i 's/palette = "catppuccin_mocha"/palette = "catppuccin_latte"/' "$dotfiles/starship.toml" From a9c50eeaecd7397de71fcb1c3644a093826e7559 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 19:01:55 -0500 Subject: [PATCH 17/30] Set COLORFGBG env var for CLI theme detection Many Go CLI tools (lipgloss, glamour) use COLORFGBG to detect light/dark terminal background. Setting this ensures correct theme detection for tools like gh copilot in new sessions. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- fish/conf.d/99-theme.fish | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fish/conf.d/99-theme.fish b/fish/conf.d/99-theme.fish index f5ab561..e67cfb5 100644 --- a/fish/conf.d/99-theme.fish +++ b/fish/conf.d/99-theme.fish @@ -23,6 +23,7 @@ function _theme_apply --on-variable THEME_MODE if test "$THEME_MODE" = light set -gx BAT_THEME Catppuccin-latte set -gx DARK_MODE false + set -gx COLORFGBG '0;15' set -gx FZF_DEFAULT_OPTS '--color=bg+:#ccd0da,bg:#eff1f5,spinner:#dc8a78,hl:#d20f39 --color=fg:#4c4f69,header:#d20f39,info:#8839ef,pointer:#dc8a78 --color=marker:#7287fd,fg+:#4c4f69,prompt:#8839ef,hl+:#d20f39 --color=selected-bg:#bcc0cc --multi' # Fish syntax highlighting โ€” Catppuccin Latte @@ -55,6 +56,7 @@ function _theme_apply --on-variable THEME_MODE else set -gx BAT_THEME Catppuccin-mocha set -gx DARK_MODE true + set -gx COLORFGBG '15;0' set -gx FZF_DEFAULT_OPTS '--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --color=selected-bg:#45475a --multi' # Fish syntax highlighting โ€” Catppuccin Mocha From c762fa0a66806f75fafb9f9fdc47e21c2983ae84 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 19:10:48 -0500 Subject: [PATCH 18/30] Skip-worktree fish_variables to hide theme changes fish_variables stores THEME_MODE universal variable which changes on every light/dark switch. Skip-worktree prevents it from showing as modified in git status. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 49c2b0a..d1c00b2 100755 --- a/install.sh +++ b/install.sh @@ -240,7 +240,8 @@ function link_files() { git -C "$(pwd)" update-index --skip-worktree \ starship.toml gitconfig atuin/config.toml \ zellij/config.kdl btop/btop.conf k9s/config.yaml \ - tmux/tmux.conf ghostty/config 2>/dev/null || true + tmux/tmux.conf ghostty/config \ + fish/fish_variables 2>/dev/null || true log_with_timing "Setting up theme symlinks" "$start_time" log_with_timing "Linking terminal tool configs" "$start_time" From db5a57cbc50dead21700de3f27451cb7ed78bc46 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 19:13:15 -0500 Subject: [PATCH 19/30] Add skip-worktree reminder comments to theme-switched files Each file modified by the theme switcher at runtime now has a comment explaining it is skip-worktree'd and how to un-flag it when making real config changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- atuin/config.toml | 2 ++ btop/btop.conf | 2 ++ fish/fish_variables | 2 ++ ghostty/config | 2 ++ gitconfig | 2 ++ k9s/config.yaml | 2 ++ starship.toml | 2 ++ tmux/tmux.conf | 2 ++ zellij/config.kdl | 2 ++ 9 files changed, 18 insertions(+) diff --git a/atuin/config.toml b/atuin/config.toml index 9052942..b2ba6cd 100644 --- a/atuin/config.toml +++ b/atuin/config.toml @@ -1,3 +1,5 @@ +## NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +## To commit changes: git update-index --no-skip-worktree atuin/config.toml ## where to store your database, default is your system data directory ## linux/mac: ~/.local/share/atuin/history.db ## windows: %USERPROFILE%/.local/share/atuin/history.db diff --git a/btop/btop.conf b/btop/btop.conf index 2e9515f..33596dd 100644 --- a/btop/btop.conf +++ b/btop/btop.conf @@ -1,3 +1,5 @@ +#? NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +#? To commit changes: git update-index --no-skip-worktree btop/btop.conf #? Config file for btop v. 1.4.4 #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. diff --git a/fish/fish_variables b/fish/fish_variables index 3bc825c..6a2ee8f 100644 --- a/fish/fish_variables +++ b/fish/fish_variables @@ -1,3 +1,5 @@ +# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +# To commit changes: git update-index --no-skip-worktree fish/fish_variables # This file contains fish universal variable definitions. # VERSION: 3.0 SETUVAR THEME_MODE:light diff --git a/ghostty/config b/ghostty/config index 8f0fd21..daa84d6 100644 --- a/ghostty/config +++ b/ghostty/config @@ -1,3 +1,5 @@ +# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +# To commit changes: git update-index --no-skip-worktree ghostty/config theme = light:Catppuccin Latte,dark:Catppuccin Mocha macos-titlebar-style = tabs font-family = Monaspace Neon Var diff --git a/gitconfig b/gitconfig index 68bb51b..c779135 100644 --- a/gitconfig +++ b/gitconfig @@ -1,3 +1,5 @@ +# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +# To commit changes: git update-index --no-skip-worktree gitconfig [core] pager = delta excludesfile = ~/.gitignore_local diff --git a/k9s/config.yaml b/k9s/config.yaml index 5647292..4a0bf4e 100644 --- a/k9s/config.yaml +++ b/k9s/config.yaml @@ -1,4 +1,6 @@ --- +# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +# To commit changes: git update-index --no-skip-worktree k9s/config.yaml # k9s configuration # https://k9scli.io/ diff --git a/starship.toml b/starship.toml index 4f99989..0f28ddb 100644 --- a/starship.toml +++ b/starship.toml @@ -1,3 +1,5 @@ +# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +# To commit changes: git update-index --no-skip-worktree starship.toml # Get editor completions based on the config schema "$schema" = 'https://starship.rs/config-schema.json' diff --git a/tmux/tmux.conf b/tmux/tmux.conf index a90a07a..35df8a2 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -1,3 +1,5 @@ +# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +# To commit changes: git update-index --no-skip-worktree tmux/tmux.conf # ==================== Base ======================= set -g prefix ^a diff --git a/zellij/config.kdl b/zellij/config.kdl index 1b37e8e..9713055 100644 --- a/zellij/config.kdl +++ b/zellij/config.kdl @@ -1,3 +1,5 @@ +// NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). +// To commit changes: git update-index --no-skip-worktree zellij/config.kdl // Zellij configuration for GitHub Copilot // Minimal config that disables the welcome message From bdef39582138d054c525ec01ece3df6373dc0fe0 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 19:43:36 -0500 Subject: [PATCH 20/30] Fix YAML line length and shellcheck quoting warnings - Shorten skip-worktree comment in k9s/config.yaml to fit 80 char limit - Quote $(id -u) in install.sh launchctl commands (SC2046) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- install.sh | 4 ++-- k9s/config.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index d1c00b2..8e77d8c 100755 --- a/install.sh +++ b/install.sh @@ -210,8 +210,8 @@ function link_files() { swiftc -O "$(pwd)/scripts/theme-watcher.swift" -o ~/.local/bin/theme-watcher ln -sf "$(pwd)/scripts/switch-theme.fish" ~/.local/bin/switch-theme.fish cp "$(pwd)/scripts/com.dotfiles.theme-watcher.plist" ~/Library/LaunchAgents/ - launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist 2>/dev/null || true - launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist + launchctl bootout "gui/$(id -u)" ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist 2>/dev/null || true + launchctl bootstrap "gui/$(id -u)" ~/Library/LaunchAgents/com.dotfiles.theme-watcher.plist log_with_timing "Setting up theme watcher" "$start_time" fi diff --git a/k9s/config.yaml b/k9s/config.yaml index 4a0bf4e..b624be3 100644 --- a/k9s/config.yaml +++ b/k9s/config.yaml @@ -1,6 +1,6 @@ --- -# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -# To commit changes: git update-index --no-skip-worktree k9s/config.yaml +# NOTE: skip-worktree'd (theme switcher modifies at runtime). +# To commit: git update-index --no-skip-worktree k9s/config.yaml # k9s configuration # https://k9scli.io/ From d28d8a62d53bd13e40619d59c775de998a614326 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Thu, 26 Feb 2026 21:04:57 -0500 Subject: [PATCH 21/30] refactor: replace skip-worktree with git clean filter and condense switch script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace the fragile git skip-worktree approach with a .gitattributes clean filter that normalizes catppuccin theme strings (latteโ†’mocha) on git diff/add. This eliminates issues with git stash, checkout, and branch switching. Also condense switch-theme.fish from 169 to 119 lines by replacing repetitive if/else blocks with data-driven loops for sed swaps and symlink swaps. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitattributes | 7 +++ atuin/config.toml | 2 - fish/fish_variables | 2 - ghostty/config | 2 - gitconfig | 2 - install.sh | 11 ++--- scripts/switch-theme.fish | 96 ++++++++++----------------------------- starship.toml | 2 - tmux/tmux.conf | 2 - 9 files changed, 35 insertions(+), 91 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d5c69af --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +starship.toml filter=catppuccin-normalize +gitconfig filter=catppuccin-normalize +atuin/config.toml filter=catppuccin-normalize +zellij/config.kdl filter=catppuccin-normalize +btop/btop.conf filter=catppuccin-normalize +k9s/config.yaml filter=catppuccin-normalize +tmux/tmux.conf filter=catppuccin-normalize diff --git a/atuin/config.toml b/atuin/config.toml index b2ba6cd..9052942 100644 --- a/atuin/config.toml +++ b/atuin/config.toml @@ -1,5 +1,3 @@ -## NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -## To commit changes: git update-index --no-skip-worktree atuin/config.toml ## where to store your database, default is your system data directory ## linux/mac: ~/.local/share/atuin/history.db ## windows: %USERPROFILE%/.local/share/atuin/history.db diff --git a/fish/fish_variables b/fish/fish_variables index 6a2ee8f..3bc825c 100644 --- a/fish/fish_variables +++ b/fish/fish_variables @@ -1,5 +1,3 @@ -# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -# To commit changes: git update-index --no-skip-worktree fish/fish_variables # This file contains fish universal variable definitions. # VERSION: 3.0 SETUVAR THEME_MODE:light diff --git a/ghostty/config b/ghostty/config index daa84d6..8f0fd21 100644 --- a/ghostty/config +++ b/ghostty/config @@ -1,5 +1,3 @@ -# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -# To commit changes: git update-index --no-skip-worktree ghostty/config theme = light:Catppuccin Latte,dark:Catppuccin Mocha macos-titlebar-style = tabs font-family = Monaspace Neon Var diff --git a/gitconfig b/gitconfig index c779135..68bb51b 100644 --- a/gitconfig +++ b/gitconfig @@ -1,5 +1,3 @@ -# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -# To commit changes: git update-index --no-skip-worktree gitconfig [core] pager = delta excludesfile = ~/.gitignore_local diff --git a/install.sh b/install.sh index 8e77d8c..8041598 100755 --- a/install.sh +++ b/install.sh @@ -236,12 +236,11 @@ function link_files() { ln -sf config-dark.yml "$(pwd)/gh-dash/config.yml" fi - # Prevent theme-switching sed changes from dirtying git status - git -C "$(pwd)" update-index --skip-worktree \ - starship.toml gitconfig atuin/config.toml \ - zellij/config.kdl btop/btop.conf k9s/config.yaml \ - tmux/tmux.conf ghostty/config \ - fish/fish_variables 2>/dev/null || true + # Set up git clean filter to normalize theme strings (hides latteโ†”mocha + # changes from git status/diff so config files stay "clean" in the index) + git -C "$(pwd)" config filter.catppuccin-normalize.clean \ + "sed '/[=:@]/{s/catppuccin_latte/catppuccin_mocha/g;s/catppuccin-latte/catppuccin-mocha/g;s/Catppuccin-latte/Catppuccin-mocha/g;s/\"latte\"/\"mocha\"/g;}'" + git -C "$(pwd)" config filter.catppuccin-normalize.smudge cat log_with_timing "Setting up theme symlinks" "$start_time" log_with_timing "Linking terminal tool configs" "$start_time" diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index 50b5db7..af78a5c 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -47,84 +47,34 @@ function _sed_i end # --- Sed-based config updates --- - -# Starship: switch palette -if test "$mode" = light - _sed_i 's/palette = "catppuccin_mocha"/palette = "catppuccin_latte"/' "$dotfiles/starship.toml" -else - _sed_i 's/palette = "catppuccin_latte"/palette = "catppuccin_mocha"/' "$dotfiles/starship.toml" -end - -# Gitconfig: switch delta theme -if test "$mode" = light - _sed_i 's/Catppuccin-mocha/Catppuccin-latte/g' "$HOME/.gitconfig" -else - _sed_i 's/Catppuccin-latte/Catppuccin-mocha/g' "$HOME/.gitconfig" -end - -# Atuin: switch theme -if test "$mode" = light - _sed_i 's/catppuccin-mocha-mauve/catppuccin-latte-mauve/' "$dotfiles/atuin/config.toml" -else - _sed_i 's/catppuccin-latte-mauve/catppuccin-mocha-mauve/' "$dotfiles/atuin/config.toml" -end - -# Zellij: switch theme -if test "$mode" = light - _sed_i 's/theme "catppuccin-mocha"/theme "catppuccin-latte"/' "$dotfiles/zellij/config.kdl" -else - _sed_i 's/theme "catppuccin-latte"/theme "catppuccin-mocha"/' "$dotfiles/zellij/config.kdl" -end - -# Btop: switch theme -if test "$mode" = light - _sed_i 's/catppuccin_mocha/catppuccin_latte/g' "$dotfiles/btop/btop.conf" -else - _sed_i 's/catppuccin_latte/catppuccin_mocha/g' "$dotfiles/btop/btop.conf" -end - -# K9s: switch skin -if test "$mode" = light - _sed_i 's/skin: catppuccin-mocha/skin: catppuccin-latte/' "$dotfiles/k9s/config.yaml" -else - _sed_i 's/skin: catppuccin-latte/skin: catppuccin-mocha/' "$dotfiles/k9s/config.yaml" -end - -# --- Symlink-based config updates --- - -# Bottom -if test -d "$dotfiles/bottom" - if test "$mode" = light - ln -sf bottom-light.toml "$dotfiles/bottom/bottom.toml" - else - ln -sf bottom-dark.toml "$dotfiles/bottom/bottom.toml" - end -end - -# Eza -if test -d "$dotfiles/eza" - if test "$mode" = light - ln -sf theme-light.yml "$dotfiles/eza/theme.yml" - else - ln -sf theme-dark.yml "$dotfiles/eza/theme.yml" - end -end - -# Yazi -if test -d "$dotfiles/yazi" +# Each entry: file|dark-pattern|light-pattern +set -l sed_swaps \ + "starship.toml|catppuccin_mocha|catppuccin_latte" \ + "$HOME/.gitconfig|Catppuccin-mocha|Catppuccin-latte" \ + "atuin/config.toml|catppuccin-mocha-mauve|catppuccin-latte-mauve" \ + "zellij/config.kdl|catppuccin-mocha|catppuccin-latte" \ + "btop/btop.conf|catppuccin_mocha|catppuccin_latte" \ + "k9s/config.yaml|catppuccin-mocha|catppuccin-latte" + +for swap in $sed_swaps + set -l p (string split '|' $swap) + set -l file (string match -rq '^/' -- $p[1] && echo $p[1] || echo "$dotfiles/$p[1]") if test "$mode" = light - ln -sf theme-light.toml "$dotfiles/yazi/theme.toml" + _sed_i "s/$p[2]/$p[3]/g" "$file" else - ln -sf theme-dark.toml "$dotfiles/yazi/theme.toml" + _sed_i "s/$p[3]/$p[2]/g" "$file" end end -# gh-dash -if test -d "$dotfiles/gh-dash" - if test "$mode" = light - ln -sf config-light.yml "$dotfiles/gh-dash/config.yml" - else - ln -sf config-dark.yml "$dotfiles/gh-dash/config.yml" +# --- Symlink-based config updates --- +# Each entry: directory|filename (dark/light variants use -dark/-light suffix) +for pair in "bottom|bottom.toml" "eza|theme.yml" "yazi|theme.toml" "gh-dash|config.yml" + set -l p (string split '|' $pair) + set -l dir "$dotfiles/$p[1]" + if test -d "$dir" + set -l base (string replace -r '\.[^.]+$' '' $p[2]) + set -l ext (string replace -r '^[^.]*' '' $p[2]) + ln -sf "$base-$mode$ext" "$dir/$p[2]" end end diff --git a/starship.toml b/starship.toml index 0f28ddb..4f99989 100644 --- a/starship.toml +++ b/starship.toml @@ -1,5 +1,3 @@ -# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -# To commit changes: git update-index --no-skip-worktree starship.toml # Get editor completions based on the config schema "$schema" = 'https://starship.rs/config-schema.json' diff --git a/tmux/tmux.conf b/tmux/tmux.conf index 35df8a2..a90a07a 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -1,5 +1,3 @@ -# NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -# To commit changes: git update-index --no-skip-worktree tmux/tmux.conf # ==================== Base ======================= set -g prefix ^a From 8b857f3cec716e988c46cde2454630fa9c9f1d98 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 01:07:14 -0500 Subject: [PATCH 22/30] fix: restrict starship sed to palette selection line only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The theme switcher was doing a global replace of catppuccin_mochaโ†”latte across the entire starship.toml, which renamed palette definition headers like [palettes.catppuccin_mocha] causing TOML duplicate key errors. Now only the 'palette = ' line is modified. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- scripts/switch-theme.fish | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index af78a5c..0f93f67 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -49,13 +49,19 @@ end # --- Sed-based config updates --- # Each entry: file|dark-pattern|light-pattern set -l sed_swaps \ - "starship.toml|catppuccin_mocha|catppuccin_latte" \ "$HOME/.gitconfig|Catppuccin-mocha|Catppuccin-latte" \ "atuin/config.toml|catppuccin-mocha-mauve|catppuccin-latte-mauve" \ "zellij/config.kdl|catppuccin-mocha|catppuccin-latte" \ "btop/btop.conf|catppuccin_mocha|catppuccin_latte" \ "k9s/config.yaml|catppuccin-mocha|catppuccin-latte" +# Starship: only replace on the "palette = " line to avoid renaming palette definitions +if test "$mode" = light + _sed_i '/^palette = /s/catppuccin_mocha/catppuccin_latte/' "$dotfiles/starship.toml" +else + _sed_i '/^palette = /s/catppuccin_latte/catppuccin_mocha/' "$dotfiles/starship.toml" +end + for swap in $sed_swaps set -l p (string split '|' $swap) set -l file (string match -rq '^/' -- $p[1] && echo $p[1] || echo "$dotfiles/$p[1]") From 5eed3df5cc039f7f2ce76a4711ab37273c5fd5eb Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 01:15:29 -0500 Subject: [PATCH 23/30] fix: use catppuccin-mocha-black theme for dark mode in ghostty Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ghostty/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghostty/config b/ghostty/config index 8f0fd21..22d3a36 100644 --- a/ghostty/config +++ b/ghostty/config @@ -1,4 +1,4 @@ -theme = light:Catppuccin Latte,dark:Catppuccin Mocha +theme = light:Catppuccin Latte,dark:catppuccin-mocha-black macos-titlebar-style = tabs font-family = Monaspace Neon Var font-family-bold = Monaspace Xenon Var From 3c74f00ff4fcc3e862ecab10c531957547d64791 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 01:19:55 -0500 Subject: [PATCH 24/30] fix: add .conf extension to ghostty dark theme name Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- ghostty/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ghostty/config b/ghostty/config index 22d3a36..a910abe 100644 --- a/ghostty/config +++ b/ghostty/config @@ -1,4 +1,4 @@ -theme = light:Catppuccin Latte,dark:catppuccin-mocha-black +theme = light:Catppuccin Latte,dark:catppuccin-mocha-black.conf macos-titlebar-style = tabs font-family = Monaspace Neon Var font-family-bold = Monaspace Xenon Var From 37dabad1a3617b5dc37a136d28aee42a3e5996af Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 01:24:28 -0500 Subject: [PATCH 25/30] fix: add fish_variables to git clean filter for theme mode changes Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitattributes | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitattributes b/.gitattributes index d5c69af..8533865 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,4 @@ zellij/config.kdl filter=catppuccin-normalize btop/btop.conf filter=catppuccin-normalize k9s/config.yaml filter=catppuccin-normalize tmux/tmux.conf filter=catppuccin-normalize +fish/fish_variables filter=theme-mode-normalize From 0a93152062aba05ec865f191b76457d126b1b48f Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 19:53:35 -0500 Subject: [PATCH 26/30] Phase 1: Native light/dark mode switching for tmux, bat, yazi, fish MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replace external script-driven theme switching with native detection for 4 tools, significantly reducing switch-theme.fish complexity. tmux: Add client-dark-theme/client-light-theme hooks (tmux 3.6+) - New catppuccin-reset.conf unsets all theme vars for clean re-apply - Ghostty reports appearance changes โ†’ tmux fires hooks automatically - Eliminates sed swap, variable clearing loop, triple source-file dance bat: Switch to BAT_THEME=auto:system with BAT_THEME_DARK/LIGHT env vars - bat auto-detects terminal color scheme per invocation - No daemon or script needed yazi: Use native [flavor] dark/light config - New theme.toml with flavor section replaces symlink-swapped theme files - Catppuccin flavors installed locally with tmtheme.xml for syntax highlighting - Removes yazi from symlink swap loop fish: Refactor to use native fish_terminal_color_theme (fish 4.x) - Replaces custom THEME_MODE universal variable with fish's built-in OSC 11 terminal background detection - Removes initialization block and THEME_MODE propagation delta: Remains using sed swap (blocked by upstream issue #1678 โ€” no dual-theme config support yet) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitignore | 1 - fish/conf.d/00-env.fish | 8 +- fish/conf.d/99-theme.fish | 29 +- scripts/switch-theme.fish | 30 +- tmux/catppuccin-reset.conf | 106 + tmux/tmux.conf | 15 + .../catppuccin-latte.yazi/flavor.toml} | 1 - .../flavors/catppuccin-latte.yazi/tmtheme.xml | 959 ++++++++ .../catppuccin-mocha.yazi/flavor.toml} | 1 - .../flavors/catppuccin-mocha.yazi/tmtheme.xml | 2048 +++++++++++++++++ yazi/theme.toml | 3 + 11 files changed, 3145 insertions(+), 56 deletions(-) create mode 100644 tmux/catppuccin-reset.conf rename yazi/{theme-light.toml => flavors/catppuccin-latte.yazi/flavor.toml} (99%) create mode 100644 yazi/flavors/catppuccin-latte.yazi/tmtheme.xml rename yazi/{theme-dark.toml => flavors/catppuccin-mocha.yazi/flavor.toml} (99%) create mode 100644 yazi/flavors/catppuccin-mocha.yazi/tmtheme.xml create mode 100644 yazi/theme.toml diff --git a/.gitignore b/.gitignore index e94a235..f2ce812 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,4 @@ stylua.zip # Theme-switched symlinks (dark/light variant files are tracked instead) bottom/bottom.toml eza/theme.yml -yazi/theme.toml gh-dash/config.yml diff --git a/fish/conf.d/00-env.fish b/fish/conf.d/00-env.fish index b70d93c..efd1b20 100644 --- a/fish/conf.d/00-env.fish +++ b/fish/conf.d/00-env.fish @@ -9,8 +9,12 @@ set -gx EZA_ICONS_AUTO true # fzf theme/options (colors are set dynamically by 01-theme.fish) -# From your previous fish_variables (portable defaults) -# BAT_THEME, DARK_MODE, and FZF_DEFAULT_OPTS are now managed by 01-theme.fish +# bat: auto-detect terminal dark/light mode (no manual switching needed) +set -gx BAT_THEME "auto:system" +set -gx BAT_THEME_DARK "Catppuccin Mocha" +set -gx BAT_THEME_LIGHT "Catppuccin Latte" + +# DARK_MODE and FZF_DEFAULT_OPTS are managed by 99-theme.fish # Go module env (host-specific GOPROXY is handled in 30-host-conditional.fish) set -gx GONOPROXY "" diff --git a/fish/conf.d/99-theme.fish b/fish/conf.d/99-theme.fish index e67cfb5..5718646 100644 --- a/fish/conf.d/99-theme.fish +++ b/fish/conf.d/99-theme.fish @@ -1,27 +1,9 @@ -# Theme mode initialization โ€” sets env vars based on current theme. -# Uses fish universal variable THEME_MODE for instant propagation -# across all running shells when theme changes. +# Theme mode management โ€” sets env vars for external tools based on terminal color scheme. +# Fish 4.x auto-detects dark/light via $fish_terminal_color_theme (OSC 11 query). +# This handler fires on terminal color scheme changes AND on shell startup. -# On shell startup: ensure THEME_MODE is set -if not set -q THEME_MODE - # Read from state file or detect - if test -f "$HOME/.config/theme-mode" - set -U THEME_MODE (cat "$HOME/.config/theme-mode") - else if test (uname) = Darwin - if defaults read -g AppleInterfaceStyle >/dev/null 2>&1 - set -U THEME_MODE dark - else - set -U THEME_MODE light - end - else - set -U THEME_MODE dark - end -end - -# Event handler: fires whenever THEME_MODE changes (including from other shells) -function _theme_apply --on-variable THEME_MODE - if test "$THEME_MODE" = light - set -gx BAT_THEME Catppuccin-latte +function _theme_apply --on-variable fish_terminal_color_theme + if test "$fish_terminal_color_theme" = light set -gx DARK_MODE false set -gx COLORFGBG '0;15' set -gx FZF_DEFAULT_OPTS '--color=bg+:#ccd0da,bg:#eff1f5,spinner:#dc8a78,hl:#d20f39 --color=fg:#4c4f69,header:#d20f39,info:#8839ef,pointer:#dc8a78 --color=marker:#7287fd,fg+:#4c4f69,prompt:#8839ef,hl+:#d20f39 --color=selected-bg:#bcc0cc --multi' @@ -54,7 +36,6 @@ function _theme_apply --on-variable THEME_MODE set -g fish_pager_color_prefix ea76cb set -g fish_pager_color_progress 9ca0b0 else - set -gx BAT_THEME Catppuccin-mocha set -gx DARK_MODE true set -gx COLORFGBG '15;0' set -gx FZF_DEFAULT_OPTS '--color=bg+:#313244,bg:#1e1e2e,spinner:#f5e0dc,hl:#f38ba8 --color=fg:#cdd6f4,header:#f38ba8,info:#cba6f7,pointer:#f5e0dc --color=marker:#b4befe,fg+:#cdd6f4,prompt:#cba6f7,hl+:#f38ba8 --color=selected-bg:#45475a --multi' diff --git a/scripts/switch-theme.fish b/scripts/switch-theme.fish index 0f93f67..7472644 100755 --- a/scripts/switch-theme.fish +++ b/scripts/switch-theme.fish @@ -74,7 +74,7 @@ end # --- Symlink-based config updates --- # Each entry: directory|filename (dark/light variants use -dark/-light suffix) -for pair in "bottom|bottom.toml" "eza|theme.yml" "yazi|theme.toml" "gh-dash|config.yml" +for pair in "bottom|bottom.toml" "eza|theme.yml" "gh-dash|config.yml" set -l p (string split '|' $pair) set -l dir "$dotfiles/$p[1]" if test -d "$dir" @@ -86,30 +86,7 @@ end # --- Runtime reloads --- -# Tmux: update flavor in config and reload catppuccin plugin -if type -q tmux; and tmux list-sessions >/dev/null 2>&1 - set -l flavor (test "$mode" = light && echo latte || echo mocha) - set -l old_flavor (test "$mode" = light && echo mocha || echo latte) - _sed_i "s/@catppuccin_flavor \"$old_flavor\"/@catppuccin_flavor \"$flavor\"/" "$dotfiles/tmux/tmux.conf" - - # Clear all catppuccin theme variables (they use -ogq so won't update otherwise) - for var in (tmux show -g 2>/dev/null | grep -oE '^@(thm_|catppuccin_|_ctp_)[^ ]+') - tmux set -gu $var 2>/dev/null - end - - # Source tmux.conf FIRST so user options (@catppuccin_window_status_style etc.) - # are set before the plugin reads them via -ogq - tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null - - # Then re-source the catppuccin plugin to apply the new flavor - set -l ctp_dir "$dotfiles/tmux/plugins/tmux" - if test -d "$ctp_dir" - tmux source-file "$ctp_dir/catppuccin_options_tmux.conf" 2>/dev/null - tmux source-file "$ctp_dir/catppuccin_tmux.conf" 2>/dev/null - end - # Source tmux.conf again so post-catppuccin overrides apply - tmux source-file "$dotfiles/tmux/tmux.conf" 2>/dev/null -end +# Tmux: handled natively by client-dark-theme/client-light-theme hooks in tmux.conf # Neovim: update background on all running instances if type -q nvim @@ -119,7 +96,6 @@ if type -q nvim end end -# Fish: update universal variable (propagates to all running shells) -set -U THEME_MODE "$mode" +# Fish: theme detection handled natively by fish 4.x via $fish_terminal_color_theme echo "Theme switched to $mode" diff --git a/tmux/catppuccin-reset.conf b/tmux/catppuccin-reset.conf new file mode 100644 index 0000000..69d43a4 --- /dev/null +++ b/tmux/catppuccin-reset.conf @@ -0,0 +1,106 @@ +# catppuccin-reset.conf โ€” Unset all catppuccin theme variables so the plugin +# can cleanly re-apply with a new flavor. Source this before changing +# @catppuccin_flavor and re-running catppuccin.tmux. +# +# Based on catppuccin/tmux PR #500 and issue #426 workaround. +# When PR #500 merges, this file can be replaced with: +# set -g @catppuccin_reset "true" + +# Theme colors +set -Ugq @thm_bg +set -Ugq @thm_fg +set -Ugq @thm_rosewater +set -Ugq @thm_flamingo +set -Ugq @thm_pink +set -Ugq @thm_mauve +set -Ugq @thm_red +set -Ugq @thm_maroon +set -Ugq @thm_peach +set -Ugq @thm_yellow +set -Ugq @thm_green +set -Ugq @thm_teal +set -Ugq @thm_sky +set -Ugq @thm_sapphire +set -Ugq @thm_blue +set -Ugq @thm_lavender +set -Ugq @thm_subtext_1 +set -Ugq @thm_subtext_0 +set -Ugq @thm_overlay_2 +set -Ugq @thm_overlay_1 +set -Ugq @thm_overlay_0 +set -Ugq @thm_surface_2 +set -Ugq @thm_surface_1 +set -Ugq @thm_surface_0 +set -Ugq @thm_mantle +set -Ugq @thm_crust + +# Window options +set -Ugq @catppuccin_window_status_style +set -Ugq @catppuccin_window_text_color +set -Ugq @catppuccin_window_number_color +set -Ugq @catppuccin_window_text +set -Ugq @catppuccin_window_number +set -Ugq @catppuccin_window_current_text_color +set -Ugq @catppuccin_window_current_number_color +set -Ugq @catppuccin_window_current_text +set -Ugq @catppuccin_window_current_number +set -Ugq @catppuccin_window_current_color +set -Ugq @catppuccin_window_current_background +set -Ugq @catppuccin_window_current_fill +set -Ugq @catppuccin_window_default_color +set -Ugq @catppuccin_window_default_background +set -Ugq @catppuccin_window_default_fill +set -Ugq @catppuccin_window_number_position +set -Ugq @catppuccin_window_status +set -Ugq @catppuccin_window_flags +set -Ugq @catppuccin_window_flags_icon_last +set -Ugq @catppuccin_window_flags_icon_current +set -Ugq @catppuccin_window_flags_icon_zoom +set -Ugq @catppuccin_window_flags_icon_mark +set -Ugq @catppuccin_window_flags_icon_silent +set -Ugq @catppuccin_window_flags_icon_activity +set -Ugq @catppuccin_window_flags_icon_bell +set -Ugq @catppuccin_window_flags_icon_format +set -Ugq @catppuccin_window_left_separator +set -Ugq @catppuccin_window_middle_separator +set -Ugq @catppuccin_window_right_separator +set -Ugq @catppuccin_window_current_left_separator +set -Ugq @catppuccin_window_current_middle_separator +set -Ugq @catppuccin_window_current_right_separator + +# Status options +set -Ugq @catppuccin_status_left_separator +set -Ugq @catppuccin_status_middle_separator +set -Ugq @catppuccin_status_right_separator +set -Ugq @catppuccin_status_connect_separator +set -Ugq @catppuccin_status_module_text_bg +set -Ugq @catppuccin_status_module_bg_color +set -Ugq @catppuccin_status_background + +# Internal variables +set -Ugq @_ctp_connect_style +set -Ugq @_ctp_module_text_bg +set -Ugq @_ctp_p_left +set -Ugq @_ctp_p_middle +set -Ugq @_ctp_p_number +set -Ugq @_ctp_p_right +set -Ugq @_ctp_p_text +set -Ugq @_ctp_status_bg +set -Ugq @_ctp_w_flags +set -Ugq @_ctp_w_number_style +set -Ugq @_ctp_w_text_style + +# Pane options +set -Ugq @catppuccin_pane_status_enabled +set -Ugq @catppuccin_pane_border_status +set -Ugq @catppuccin_pane_border_style +set -Ugq @catppuccin_pane_active_border_style +set -Ugq @catppuccin_pane_color +set -Ugq @catppuccin_pane_background_color + +# Status module icon/text/color for all loaded modules +set -Ugq @catppuccin_status_application +set -Ugq @catppuccin_status_session +set -Ugq @catppuccin_status_battery +set -Ugq @catppuccin_status_outdated_packages +set -Ugq @catppuccin_status_ctp_speedtest diff --git a/tmux/tmux.conf b/tmux/tmux.conf index a90a07a..758b71a 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -59,6 +59,21 @@ set -g @plugin 'christoomey/vim-tmux-navigator' set -g @catppuccin_flavor "mocha" set -g @plugin 'catppuccin/tmux' +# Auto-switch catppuccin flavor when terminal appearance changes (tmux 3.6+) +# Ghostty reports dark/light mode to tmux, which fires these hooks. +set-hook -g client-dark-theme { + source-file ~/.config/tmux/catppuccin-reset.conf + set -g @catppuccin_flavor "mocha" + run ~/.config/tmux/plugins/tmux/catppuccin.tmux + source-file ~/.config/tmux/post-catppuccin.conf +} +set-hook -g client-light-theme { + source-file ~/.config/tmux/catppuccin-reset.conf + set -g @catppuccin_flavor "mocha" + run ~/.config/tmux/plugins/tmux/catppuccin.tmux + source-file ~/.config/tmux/post-catppuccin.conf +} + set -g @plugin 'joshmedeski/tmux-nerd-font-window-name' set -g @plugin 'tmux-plugins/tmux-prefix-highlight' set -g @plugin 'alexwforsythe/tmux-which-key' diff --git a/yazi/theme-light.toml b/yazi/flavors/catppuccin-latte.yazi/flavor.toml similarity index 99% rename from yazi/theme-light.toml rename to yazi/flavors/catppuccin-latte.yazi/flavor.toml index b8c3f82..b05ca22 100644 --- a/yazi/theme-light.toml +++ b/yazi/flavors/catppuccin-latte.yazi/flavor.toml @@ -29,7 +29,6 @@ border_symbol = "โ”‚" border_style = { fg = "#8c8fa1" } # Highlighting -syntect_theme = "~/.config/yazi/Catppuccin-latte.tmTheme" [status] separator_open = "๎‚ถ" diff --git a/yazi/flavors/catppuccin-latte.yazi/tmtheme.xml b/yazi/flavors/catppuccin-latte.yazi/tmtheme.xml new file mode 100644 index 0000000..6f23c16 --- /dev/null +++ b/yazi/flavors/catppuccin-latte.yazi/tmtheme.xml @@ -0,0 +1,959 @@ + + + + + name + Catppuccin + settings + + + settings + + foreground + #4c4f69 + background + #eff1f5 + caret + #5c5f77 + invisibles + #6c6f85 + gutterForeground + #7c7f93 + gutterForegroundHighlight + #40a02b + lineHighlight + #acb0be + selection + #9ca0b0 + selectionBorder + #eff1f5 + activeGuide + #fe640b + findHighlightForeground + #e6e9ef + findHighlight + #df8e1d + bracketsForeground + #7c7f93 + bracketContentsForeground + #7c7f93 + + + + name + Comment + scope + comment + settings + + foreground + #9ca0b0 + fontStyle + italic + + + + name + String + scope + string + settings + + foreground + #40a02b + fontStyle + + + + + name + String regex + scope + string.regexp + settings + + foreground + #fe640b + fontStyle + + + + + name + Number + scope + constant.numeric + settings + + foreground + #fe640b + fontStyle + + + + + name + Boolean + scope + constant.language.boolean + settings + + foreground + #fe640b + fontStyle + bold italic + + + + name + Built-in constant + scope + constant.language + settings + + foreground + #7287fd + fontStyle + italic + + + + name + Built-in function + scope + support.function.builtin + settings + + foreground + #fe640b + fontStyle + italic + + + + name + User-defined constant + scope + variable.other.constant + settings + + foreground + #fe640b + fontStyle + + + + + name + Variable + scope + variable + settings + + + + name + Keyword + scope + keyword + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + Conditional/loop + scope + keyword.control.loop, keyword.control.conditional, keyword.control.c++ + settings + + foreground + #8839ef + fontStyle + bold + + + + name + Return + scope + keyword.control.return, keyword.control.flow.return + settings + + foreground + #ea76cb + fontStyle + bold + + + + name + Exception + scope + support.type.exception + settings + + foreground + #fe640b + fontStyle + italic + + + + name + Operator + scope + keyword.operator, punctuation.accessor + settings + + foreground + #04a5e5 + fontStyle + bold + + + + name + Punctuation separator + scope + punctuation.separator + settings + + foreground + #179299 + fontStyle + + + + + name + Punctuation terminator + scope + punctuation.terminator + settings + + foreground + #179299 + fontStyle + + + + + name + Punctuation bracket + scope + punctuation.section + settings + + foreground + #7c7f93 + fontStyle + + + + + name + Include + scope + keyword.control.import.include + settings + + foreground + #179299 + fontStyle + italic + + + + name + Storage + scope + storage + settings + + foreground + #d20f39 + fontStyle + + + + + name + Storage type + scope + storage.type + settings + + foreground + #df8e1d + fontStyle + italic + + + + name + Storage modifier + scope + storage.modifier + settings + + foreground + #d20f39 + fontStyle + + + + + name + Storage type namespace + scope + entity.name.namespace, meta.path + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Storage type class + scope + storage.type.class + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Label + scope + entity.name.label + settings + + foreground + #1e66f5 + fontStyle + + + + + name + Keyword class + scope + keyword.declaration.class + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + Class name + scope + entity.name.class, meta.toc-list.full-identifier + settings + + foreground + #04a5e5 + fontStyle + + + + + name + Inherited class + scope + entity.other.inherited-class + settings + + foreground + #04a5e5 + fontStyle + italic + + + + name + Function name + scope + entity.name.function, variable.function + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Function macro + scope + entity.name.function.preprocessor + settings + + foreground + #d20f39 + fontStyle + + + + + name + Macro directive - ifdef + scope + keyword.control.import + settings + + foreground + #d20f39 + fontStyle + + + + + name + Constructor + scope + entity.name.function.constructor, entity.name.function.destructor + settings + + foreground + #7287fd + fontStyle + + + + + name + Function argument + scope + variable.parameter.function + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Function declaration + scope + keyword.declaration.function + settings + + foreground + #e64553 + fontStyle + italic + + + + name + Library function + scope + support.function + settings + + foreground + #04a5e5 + fontStyle + + + + + name + Library constant + scope + support.constant + settings + + foreground + #1e66f5 + fontStyle + + + + + name + Library class/type + scope + support.type, support.class + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Library variable + scope + support.other.variable + settings + + fontStyle + + + + + name + Variable function + scope + variable.function + settings + + foreground + #1e66f5 + fontStyle + italic + + + + name + Variable parameter + scope + variable.parameter + settings + + foreground + #dc8a78 + fontStyle + italic + + + + name + Variable other + scope + variable.other + settings + + foreground + #4c4f69 + fontStyle + italic + + + + name + Variable field + scope + variable.other.member + settings + + foreground + #dc8a78 + fontStyle + + + + + name + Variable language + scope + variable.language + settings + + foreground + #179299 + fontStyle + + + + + name + Tag name + scope + entity.name.tag + settings + + foreground + #fe640b + fontStyle + + + + + name + Tag attribute + scope + entity.other.attribute-name + settings + + foreground + #8839ef + fontStyle + italic + + + + name + Tag delimiter + scope + punctuation.definition.tag + settings + + foreground + #e64553 + fontStyle + + + + + name + Markdown URL + scope + markup.underline.link.markdown + settings + + foreground + #dc8a78 + fontStyle + italic underline + + + + name + Markdown reference + scope + meta.link.inline.description + settings + + foreground + #7287fd + fontStyle + bold + + + + name + Markdown literal + scope + comment.block.markdown, meta.code-fence, markup.raw.code-fence, markup.raw.inline + settings + + foreground + #179299 + fontStyle + italic + + + + name + Markdown title + scope + punctuation.definition.heading, entity.name.section + settings + + foreground + #1e66f5 + fontStyle + bold + + + + name + Markdown emphasis + scope + markup.italic + settings + + foreground + #e64553 + fontStyle + italic + + + + name + Markdown strong + scope + markup.bold + settings + + foreground + #e64553 + fontStyle + bold + + + + name + Escape + scope + constant.character.escape + settings + + foreground + #ea76cb + fontStyle + + + + + name + Bash built-in function + scope + source.shell.bash meta.function.shell meta.compound.shell meta.function-call.identifier.shell + settings + + foreground + #ea76cb + fontStyle + + + + + name + Bash parameter + scope + variable.language.shell + settings + + foreground + #d20f39 + fontStyle + italic + + + + name + Lua field + scope + source.lua meta.function.lua meta.block.lua meta.mapping.value.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #7287fd + fontStyle + italic + + + + name + Lua constructor + scope + source.lua meta.function.lua meta.block.lua meta.mapping.key.lua string.unquoted.key.lua + settings + + foreground + #dd7878 + fontStyle + + + + + name + Java constant + scope + entity.name.constant.java + settings + + foreground + #179299 + fontStyle + + + + + name + CSS property + scope + support.type.property-name.css + settings + + foreground + #dd7878 + fontStyle + italic + + + + name + CSS constant + scope + support.constant.property-value.css + settings + + foreground + #4c4f69 + fontStyle + + + + + name + CSS suffix + scope + constant.numeric.suffix.css, keyword.other.unit.css + settings + + foreground + #179299 + fontStyle + italic + + + + name + CSS variable property + scope + variable.other.custom-property.name.css, support.type.custom-property.name.css, punctuation.definition.custom-property.css + settings + + foreground + #179299 + fontStyle + + + + + name + SCSS tag + scope + entity.name.tag.css + settings + + foreground + #7287fd + fontStyle + + + + + name + SASS variable + scope + variable.other.sass + settings + + foreground + #179299 + fontStyle + + + + + name + Invalid + scope + invalid + settings + + foreground + #4c4f69 + background + #d20f39 + fontStyle + + + + + name + Invalid deprecated + scope + invalid.deprecated + settings + + foreground + #4c4f69 + background + #8839ef + fontStyle + + + + + name + Diff header + scope + meta.diff, meta.diff.header + settings + + foreground + #9ca0b0 + fontStyle + + + + + name + Diff deleted + scope + markup.deleted + settings + + foreground + #d20f39 + fontStyle + + + + + name + Diff inserted + scope + markup.inserted + settings + + foreground + #40a02b + fontStyle + + + + + name + Diff changed + scope + markup.changed + settings + + foreground + #df8e1d + fontStyle + + + + + name + Message error + scope + message.error + settings + + foreground + #d20f39 + fontStyle + + + + + uuid + 4d0379b5-ef82-467b-b8b8-365889420646 + colorSpaceName + sRGB + semanticClass + theme.dark.Catppuccin + author + BrunDerSchwarzmagier + + diff --git a/yazi/theme-dark.toml b/yazi/flavors/catppuccin-mocha.yazi/flavor.toml similarity index 99% rename from yazi/theme-dark.toml rename to yazi/flavors/catppuccin-mocha.yazi/flavor.toml index 8ccb2d2..fb06386 100644 --- a/yazi/theme-dark.toml +++ b/yazi/flavors/catppuccin-mocha.yazi/flavor.toml @@ -29,7 +29,6 @@ border_symbol = "โ”‚" border_style = { fg = "#7f849c" } # Highlighting -syntect_theme = "~/.config/yazi/Catppuccin-mocha.tmTheme" [status] separator_open = "๎‚ถ" diff --git a/yazi/flavors/catppuccin-mocha.yazi/tmtheme.xml b/yazi/flavors/catppuccin-mocha.yazi/tmtheme.xml new file mode 100644 index 0000000..ff135ab --- /dev/null +++ b/yazi/flavors/catppuccin-mocha.yazi/tmtheme.xml @@ -0,0 +1,2048 @@ + + + + + name + Catppuccin Mocha + semanticClass + theme.dark.catppuccin-mocha + uuid + 627ce890-fabb-4d39-9819-7be71f4bdca7 + author + Catppuccin Org + colorSpaceName + sRGB + settings + + + settings + + background + #1e1e2e + foreground + #cdd6f4 + caret + #f5e0dc + lineHighlight + #313244 + misspelling + #f38ba8 + accent + #cba6f7 + selection + #9399b240 + activeGuide + #45475a + findHighlight + #3e5767 + gutterForeground + #7f849c + + + + name + Basic text & variable names (incl. leading punctuation) + scope + text, source, variable.other.readwrite, punctuation.definition.variable + settings + + foreground + #cdd6f4 + + + + name + Parentheses, Brackets, Braces + scope + punctuation + settings + + foreground + #9399b2 + fontStyle + + + + + name + Comments + scope + comment, punctuation.definition.comment + settings + + foreground + #6c7086 + fontStyle + italic + + + + scope + string, punctuation.definition.string + settings + + foreground + #a6e3a1 + + + + scope + constant.character.escape + settings + + foreground + #f5c2e7 + + + + name + Booleans, constants, numbers + scope + constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point + settings + + foreground + #fab387 + + + + scope + keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword + settings + + foreground + #cba6f7 + fontStyle + + + + + scope + entity.name.tag.documentation + settings + + foreground + #cba6f7 + + + + name + Punctuation + scope + keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value + settings + + foreground + #94e2d5 + + + + scope + entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Classes + scope + entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Enum + scope + entity.name.enum + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Enum member + scope + meta.enum variable.other.readwrite, variable.other.enummember + settings + + foreground + #94e2d5 + + + + name + Object properties + scope + meta.property.object + settings + + foreground + #94e2d5 + + + + name + Types + scope + meta.type, meta.type-alias, support.type, entity.name.type + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Decorators + scope + meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator + settings + + foreground + #fab387 + + + + scope + variable.parameter, meta.function.parameters + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Built-ins + scope + constant.language, support.function.builtin + settings + + foreground + #f38ba8 + + + + scope + entity.other.attribute-name.documentation + settings + + foreground + #f38ba8 + + + + name + Preprocessor directives + scope + keyword.control.directive, punctuation.definition.directive + settings + + foreground + #f9e2af + + + + name + Type parameters + scope + punctuation.definition.typeparameters + settings + + foreground + #89dceb + + + + name + Namespaces + scope + entity.name.namespace + settings + + foreground + #f9e2af + + + + name + Property names (left hand assignments in json/yaml/css) + scope + support.type.property-name.css + settings + + foreground + #89b4fa + fontStyle + + + + + name + This/Self keyword + scope + variable.language.this, variable.language.this punctuation.definition.variable + settings + + foreground + #f38ba8 + + + + name + Object properties + scope + variable.object.property + settings + + foreground + #cdd6f4 + + + + name + String template interpolation + scope + string.template variable, string variable + settings + + foreground + #cdd6f4 + + + + name + `new` as bold + scope + keyword.operator.new + settings + + fontStyle + bold + + + + name + C++ extern keyword + scope + storage.modifier.specifier.extern.cpp + settings + + foreground + #cba6f7 + + + + name + C++ scope resolution + scope + entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp + settings + + foreground + #f9e2af + + + + name + C++ doc keywords + scope + storage.type.class.doxygen + settings + + fontStyle + + + + + name + C++ operators + scope + storage.modifier.reference.cpp + settings + + foreground + #94e2d5 + + + + name + C# Interpolated Strings + scope + meta.interpolation.cs + settings + + foreground + #cdd6f4 + + + + name + C# xml-style docs + scope + comment.block.documentation.cs + settings + + foreground + #cdd6f4 + + + + name + Classes, reflecting the className color in JSX + scope + source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css + settings + + foreground + #f9e2af + + + + name + Operators + scope + punctuation.separator.operator.css + settings + + foreground + #94e2d5 + + + + name + Pseudo classes + scope + source.css entity.other.attribute-name.pseudo-class + settings + + foreground + #94e2d5 + + + + scope + source.css constant.other.unicode-range + settings + + foreground + #fab387 + + + + scope + source.css variable.parameter.url + settings + + foreground + #a6e3a1 + fontStyle + + + + + name + CSS vendored property names + scope + support.type.vendored.property-name + settings + + foreground + #89dceb + + + + name + Less/SCSS right-hand variables (@/$-prefixed) + scope + source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss + settings + + foreground + #eba0ac + + + + name + CSS variables (--prefixed) + scope + source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less + settings + + foreground + #89b4fa + + + + name + CSS Percentage values, styled the same as numbers + scope + keyword.other.unit.percentage.css + settings + + foreground + #fab387 + + + + name + CSS Attribute selectors, styled the same as strings + scope + source.css meta.attribute-selector + settings + + foreground + #a6e3a1 + + + + name + JSON/YAML keys, other left-hand assignments + scope + keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml + settings + + foreground + #89b4fa + fontStyle + + + + + name + JSON/YAML constants + scope + constant.language.json, constant.language.yaml + settings + + foreground + #fab387 + + + + name + YAML anchors + scope + entity.name.type.anchor.yaml, variable.other.alias.yaml + settings + + foreground + #f9e2af + fontStyle + + + + + name + TOML tables / ini groups + scope + support.type.property-name.table, entity.name.section.group-title.ini + settings + + foreground + #f9e2af + + + + name + TOML dates + scope + constant.other.time.datetime.offset.toml + settings + + foreground + #f5c2e7 + + + + name + YAML anchor puctuation + scope + punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml + settings + + foreground + #f5c2e7 + + + + name + YAML triple dashes + scope + entity.other.document.begin.yaml + settings + + foreground + #f5c2e7 + + + + name + Markup Diff + scope + markup.changed.diff + settings + + foreground + #fab387 + + + + name + Diff + scope + meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff + settings + + foreground + #89b4fa + + + + name + Diff Inserted + scope + markup.inserted.diff + settings + + foreground + #a6e3a1 + + + + name + Diff Deleted + scope + markup.deleted.diff + settings + + foreground + #f38ba8 + + + + name + dotenv left-hand side assignments + scope + variable.other.env + settings + + foreground + #89b4fa + + + + name + dotenv reference to existing env variable + scope + string.quoted variable.other.env + settings + + foreground + #cdd6f4 + + + + name + GDScript functions + scope + support.function.builtin.gdscript + settings + + foreground + #89b4fa + + + + name + GDScript constants + scope + constant.language.gdscript + settings + + foreground + #fab387 + + + + name + Comment keywords + scope + comment meta.annotation.go + settings + + foreground + #eba0ac + + + + name + go:embed, go:build, etc. + scope + comment meta.annotation.parameters.go + settings + + foreground + #fab387 + + + + name + Go constants (nil, true, false) + scope + constant.language.go + settings + + foreground + #fab387 + + + + name + GraphQL variables + scope + variable.graphql + settings + + foreground + #cdd6f4 + + + + name + GraphQL aliases + scope + string.unquoted.alias.graphql + settings + + foreground + #f2cdcd + + + + name + GraphQL enum members + scope + constant.character.enum.graphql + settings + + foreground + #94e2d5 + + + + name + GraphQL field in types + scope + meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql + settings + + foreground + #f2cdcd + + + + name + HTML/XML DOCTYPE as keyword + scope + keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag + settings + + foreground + #cba6f7 + + + + name + HTML/XML-like <tags/> + scope + entity.name.tag + settings + + foreground + #89b4fa + fontStyle + + + + + name + Special characters like &amp; + scope + text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation + settings + + foreground + #f38ba8 + + + + name + HTML/XML tag attribute values + scope + entity.other.attribute-name + settings + + foreground + #f9e2af + + + + name + Components + scope + support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + Annotations + scope + punctuation.definition.annotation, storage.type.annotation + settings + + foreground + #fab387 + + + + name + Java enums + scope + constant.other.enum.java + settings + + foreground + #94e2d5 + + + + name + Java imports + scope + storage.modifier.import.java + settings + + foreground + #cdd6f4 + + + + name + Javadoc + scope + comment.block.javadoc.java keyword.other.documentation.javadoc.java + settings + + fontStyle + + + + + name + Exported Variable + scope + meta.export variable.other.readwrite.js + settings + + foreground + #eba0ac + + + + name + JS/TS constants & properties + scope + variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts + settings + + foreground + #cdd6f4 + + + + name + JSDoc; these are mainly params, so styled as such + scope + variable.other.jsdoc, comment.block.documentation variable.other + settings + + foreground + #eba0ac + fontStyle + + + + + name + JSDoc keywords + scope + storage.type.class.jsdoc + settings + + fontStyle + + + + + scope + support.type.object.console.js + settings + + foreground + #cdd6f4 + + + + name + Node constants as keywords (module, etc.) + scope + support.constant.node, support.type.object.module.js + settings + + foreground + #cba6f7 + + + + name + implements as keyword + scope + storage.modifier.implements + settings + + foreground + #cba6f7 + + + + name + Builtin types + scope + constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts + settings + + foreground + #cba6f7 + + + + scope + variable.parameter.generic + settings + + foreground + #f9e2af + + + + name + Arrow functions + scope + keyword.declaration.function.arrow.js, storage.type.function.arrow.ts + settings + + foreground + #94e2d5 + + + + name + Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach) + scope + punctuation.decorator.ts + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Extra JS/TS keywords + scope + keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts + settings + + foreground + #cba6f7 + + + + name + Julia macros + scope + support.function.macro.julia + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Julia language constants (true, false) + scope + constant.language.julia + settings + + foreground + #fab387 + + + + name + Julia other constants (these seem to be arguments inside arrays) + scope + constant.other.symbol.julia + settings + + foreground + #eba0ac + + + + name + LaTeX preamble + scope + text.tex keyword.control.preamble + settings + + foreground + #94e2d5 + + + + name + LaTeX be functions + scope + text.tex support.function.be + settings + + foreground + #89dceb + + + + name + LaTeX math + scope + constant.other.general.math.tex + settings + + foreground + #f2cdcd + + + + name + Lua docstring keywords + scope + comment.line.double-dash.documentation.lua storage.type.annotation.lua + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Lua docstring variables + scope + comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua + settings + + foreground + #cdd6f4 + + + + scope + heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc + settings + + foreground + #f38ba8 + + + + scope + heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc + settings + + foreground + #fab387 + + + + scope + heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc + settings + + foreground + #f9e2af + + + + scope + heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc + settings + + foreground + #a6e3a1 + + + + scope + heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc + settings + + foreground + #89b4fa + + + + scope + heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc + settings + + foreground + #cba6f7 + + + + scope + markup.bold + settings + + foreground + #f38ba8 + fontStyle + bold + + + + scope + markup.italic + settings + + foreground + #f38ba8 + fontStyle + italic + + + + scope + markup.strikethrough + settings + + foreground + #a6adc8 + fontStyle + strikethrough + + + + name + Markdown auto links + scope + punctuation.definition.link, markup.underline.link + settings + + foreground + #89b4fa + + + + name + Markdown links + scope + text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference + settings + + foreground + #b4befe + + + + name + Markdown code spans + scope + punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown + settings + + foreground + #a6e3a1 + + + + name + Markdown triple backtick language identifier + scope + fenced_code.block.language + settings + + foreground + #89dceb + + + + name + Markdown triple backticks + scope + markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc + settings + + foreground + #9399b2 + + + + name + Markdown quotes + scope + markup.quote, punctuation.definition.quote.begin + settings + + foreground + #f5c2e7 + + + + name + Markdown separators + scope + meta.separator.markdown + settings + + foreground + #94e2d5 + + + + name + Markdown list bullets + scope + punctuation.definition.list.begin.markdown, markup.list.bullet + settings + + foreground + #94e2d5 + + + + name + Nix attribute names + scope + entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix + settings + + foreground + #89b4fa + + + + name + Nix parameter names + scope + variable.parameter.name.nix + settings + + foreground + #cdd6f4 + fontStyle + + + + + name + Nix interpolated parameter names + scope + meta.embedded variable.parameter.name.nix + settings + + foreground + #b4befe + fontStyle + + + + + name + Nix paths + scope + string.unquoted.path.nix + settings + + foreground + #f5c2e7 + fontStyle + + + + + name + PHP Attributes + scope + support.attribute.builtin, meta.attribute.php + settings + + foreground + #f9e2af + + + + name + PHP Parameters (needed for the leading dollar sign) + scope + meta.function.parameters.php punctuation.definition.variable.php + settings + + foreground + #eba0ac + + + + name + PHP Constants (null, __FILE__, etc.) + scope + constant.language.php + settings + + foreground + #cba6f7 + + + + name + PHP functions + scope + text.html.php support.function + settings + + foreground + #89dceb + + + + name + PHPdoc keywords + scope + keyword.other.phpdoc.php + settings + + fontStyle + + + + + name + Python argument functions reset to text, otherwise they inherit blue from function-call + scope + support.variable.magic.python, meta.function-call.arguments.python + settings + + foreground + #cdd6f4 + + + + name + Python double underscore functions + scope + support.function.magic.python + settings + + foreground + #89dceb + fontStyle + italic + + + + name + Python `self` keyword + scope + variable.parameter.function.language.special.self.python, variable.language.special.self.python + settings + + foreground + #f38ba8 + fontStyle + italic + + + + name + python keyword flow/logical (for ... in) + scope + keyword.control.flow.python, keyword.operator.logical.python + settings + + foreground + #cba6f7 + + + + name + python storage type + scope + storage.type.function.python + settings + + foreground + #cba6f7 + + + + name + python function support + scope + support.token.decorator.python, meta.function.decorator.identifier.python + settings + + foreground + #89dceb + + + + name + python function calls + scope + meta.function-call.python + settings + + foreground + #89b4fa + + + + name + python function decorators + scope + entity.name.function.decorator.python, punctuation.definition.decorator.python + settings + + foreground + #fab387 + fontStyle + italic + + + + name + python placeholder reset to normal string + scope + constant.character.format.placeholder.other.python + settings + + foreground + #f5c2e7 + + + + name + Python exception & builtins such as exit() + scope + support.type.exception.python, support.function.builtin.python + settings + + foreground + #fab387 + + + + name + entity.name.type + scope + support.type.python + settings + + foreground + #fab387 + + + + name + python constants (True/False) + scope + constant.language.python + settings + + foreground + #cba6f7 + + + + name + Arguments accessed later in the function body + scope + meta.indexed-name.python, meta.item-access.python + settings + + foreground + #eba0ac + fontStyle + italic + + + + name + Python f-strings/binary/unicode storage types + scope + storage.type.string.python + settings + + foreground + #a6e3a1 + fontStyle + italic + + + + name + Python type hints + scope + meta.function.parameters.python + settings + + fontStyle + + + + + name + Regex string begin/end in JS/TS + scope + string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end + settings + + foreground + #f5c2e7 + + + + name + Regex anchors (^, $) + scope + keyword.control.anchor.regexp + settings + + foreground + #cba6f7 + + + + name + Regex regular string match + scope + string.regexp.ts + settings + + foreground + #cdd6f4 + + + + name + Regex group parenthesis & backreference (\1, \2, \3, ...) + scope + punctuation.definition.group.regexp, keyword.other.back-reference.regexp + settings + + foreground + #a6e3a1 + + + + name + Regex character class [] + scope + punctuation.definition.character-class.regexp + settings + + foreground + #f9e2af + + + + name + Regex character classes (\d, \w, \s) + scope + constant.other.character-class.regexp + settings + + foreground + #f5c2e7 + + + + name + Regex range + scope + constant.other.character-class.range.regexp + settings + + foreground + #f5e0dc + + + + name + Regex quantifier + scope + keyword.operator.quantifier.regexp + settings + + foreground + #94e2d5 + + + + name + Regex constant/numeric + scope + constant.character.numeric.regexp + settings + + foreground + #fab387 + + + + name + Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds + scope + punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp + settings + + foreground + #89b4fa + + + + name + Rust attribute + scope + meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust attribute strings + scope + meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust + settings + + fontStyle + + + + + name + Rust keyword + scope + entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Rust u/i32, u/i64, etc. + scope + entity.name.type.numeric.rust + settings + + foreground + #cba6f7 + fontStyle + + + + + name + Rust generic + scope + meta.generic.rust + settings + + foreground + #fab387 + + + + name + Rust impl + scope + entity.name.impl.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust module + scope + entity.name.module.rust + settings + + foreground + #fab387 + + + + name + Rust trait + scope + entity.name.trait.rust + settings + + foreground + #f9e2af + fontStyle + italic + + + + name + Rust struct + scope + storage.type.source.rust + settings + + foreground + #f9e2af + + + + name + Rust union + scope + entity.name.union.rust + settings + + foreground + #f9e2af + + + + name + Rust enum member + scope + meta.enum.rust storage.type.source.rust + settings + + foreground + #94e2d5 + + + + name + Rust macro + scope + support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Rust lifetime + scope + storage.modifier.lifetime.rust, entity.name.type.lifetime + settings + + foreground + #89b4fa + fontStyle + italic + + + + name + Rust string formatting + scope + string.quoted.double.rust constant.other.placeholder.rust + settings + + foreground + #f5c2e7 + + + + name + Rust return type generic + scope + meta.function.return-type.rust meta.generic.rust storage.type.rust + settings + + foreground + #cdd6f4 + + + + name + Rust functions + scope + meta.function.call.rust + settings + + foreground + #89b4fa + + + + name + Rust angle brackets + scope + punctuation.brackets.angle.rust + settings + + foreground + #89dceb + + + + name + Rust constants + scope + constant.other.caps.rust + settings + + foreground + #fab387 + + + + name + Rust function parameters + scope + meta.function.definition.rust variable.other.rust + settings + + foreground + #eba0ac + + + + name + Rust closure variables + scope + meta.function.call.rust variable.other.rust + settings + + foreground + #cdd6f4 + + + + name + Rust self + scope + variable.language.self.rust + settings + + foreground + #f38ba8 + + + + name + Rust metavariable names + scope + variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust + settings + + foreground + #f5c2e7 + + + + name + Shell shebang + scope + comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell + settings + + foreground + #f5c2e7 + fontStyle + italic + + + + name + Shell shebang command + scope + comment.line.shebang constant.language + settings + + foreground + #94e2d5 + fontStyle + italic + + + + name + Shell interpolated command + scope + meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation + settings + + foreground + #f38ba8 + + + + name + Shell interpolated command variable + scope + meta.string meta.interpolation.parameter.shell variable.other.readwrite + settings + + foreground + #fab387 + fontStyle + italic + + + + scope + source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell + settings + + foreground + #94e2d5 + + + + name + Shell EOF + scope + entity.name.tag.heredoc.shell + settings + + foreground + #cba6f7 + + + + name + Shell quoted variable + scope + string.quoted.double.shell variable.other.normal.shell + settings + + foreground + #cdd6f4 + + + + scope + markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man + settings + + foreground + #cba6f7 + + + + scope + markup.heading.commands.man + settings + + foreground + #89b4fa + + + + scope + markup.heading.env.man + settings + + foreground + #f5c2e7 + + + + scope + markup.heading.1.markdown + settings + + foreground + #f38ba8 + + + + scope + markup.heading.2.markdown + settings + + foreground + #fab387 + + + + scope + markup.heading.markdown + settings + + foreground + #f9e2af + + + + + \ No newline at end of file diff --git a/yazi/theme.toml b/yazi/theme.toml new file mode 100644 index 0000000..0869868 --- /dev/null +++ b/yazi/theme.toml @@ -0,0 +1,3 @@ +[flavor] +dark = "catppuccin-mocha" +light = "catppuccin-latte" From 5168a4669f92489e86f0075c47b74251b6275abe Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 20:33:40 -0500 Subject: [PATCH 27/30] Remove unused THEME_MODE from fish_variables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No longer needed โ€” theme detection now uses fish 4.x native fish_terminal_color_theme instead of a custom universal variable. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- fish/fish_variables | 1 - 1 file changed, 1 deletion(-) diff --git a/fish/fish_variables b/fish/fish_variables index 3bc825c..ad10b9b 100644 --- a/fish/fish_variables +++ b/fish/fish_variables @@ -1,4 +1,3 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 -SETUVAR THEME_MODE:light SETUVAR __fish_initialized:4300 From 5e12dc9961a69b86642f15540ccbde098c2c0869 Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 20:34:46 -0500 Subject: [PATCH 28/30] Remove stale yazi symlinks and fish_variables filter Yazi now uses native flavor system (theme.toml is a real file, not a symlink). fish_variables no longer contains THEME_MODE, so the normalize filter is unused. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .gitattributes | 1 - install.sh | 2 -- 2 files changed, 3 deletions(-) diff --git a/.gitattributes b/.gitattributes index 8533865..d5c69af 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,4 +5,3 @@ zellij/config.kdl filter=catppuccin-normalize btop/btop.conf filter=catppuccin-normalize k9s/config.yaml filter=catppuccin-normalize tmux/tmux.conf filter=catppuccin-normalize -fish/fish_variables filter=theme-mode-normalize diff --git a/install.sh b/install.sh index 8041598..403dfbc 100755 --- a/install.sh +++ b/install.sh @@ -227,12 +227,10 @@ function link_files() { if [ "$mode" = "light" ]; then ln -sf bottom-light.toml "$(pwd)/bottom/bottom.toml" ln -sf theme-light.yml "$(pwd)/eza/theme.yml" - ln -sf theme-light.toml "$(pwd)/yazi/theme.toml" ln -sf config-light.yml "$(pwd)/gh-dash/config.yml" else ln -sf bottom-dark.toml "$(pwd)/bottom/bottom.toml" ln -sf theme-dark.yml "$(pwd)/eza/theme.yml" - ln -sf theme-dark.toml "$(pwd)/yazi/theme.toml" ln -sf config-dark.yml "$(pwd)/gh-dash/config.yml" fi From fbb3bef1edfa20b319fe8598bd3dd75e9092cfab Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 20:38:19 -0500 Subject: [PATCH 29/30] Remove stale skip-worktree comments The .gitattributes clean filter handles theme normalization now, so skip-worktree is no longer needed for these files. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- btop/btop.conf | 2 -- k9s/config.yaml | 2 -- zellij/config.kdl | 2 -- 3 files changed, 6 deletions(-) diff --git a/btop/btop.conf b/btop/btop.conf index 33596dd..2e9515f 100644 --- a/btop/btop.conf +++ b/btop/btop.conf @@ -1,5 +1,3 @@ -#? NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -#? To commit changes: git update-index --no-skip-worktree btop/btop.conf #? Config file for btop v. 1.4.4 #* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes. diff --git a/k9s/config.yaml b/k9s/config.yaml index b624be3..5647292 100644 --- a/k9s/config.yaml +++ b/k9s/config.yaml @@ -1,6 +1,4 @@ --- -# NOTE: skip-worktree'd (theme switcher modifies at runtime). -# To commit: git update-index --no-skip-worktree k9s/config.yaml # k9s configuration # https://k9scli.io/ diff --git a/zellij/config.kdl b/zellij/config.kdl index 9713055..1b37e8e 100644 --- a/zellij/config.kdl +++ b/zellij/config.kdl @@ -1,5 +1,3 @@ -// NOTE: This file is git skip-worktree'd (theme switcher modifies it at runtime). -// To commit changes: git update-index --no-skip-worktree zellij/config.kdl // Zellij configuration for GitHub Copilot // Minimal config that disables the welcome message From 3bc306cdee9ae99139b30c5d7ff27e003cfed04b Mon Sep 17 00:00:00 2001 From: David Jensenius Date: Fri, 27 Feb 2026 20:56:44 -0500 Subject: [PATCH 30/30] feat: extend neo-tree keybindings - Add ,tG for git status view - Add ,tS for document symbols view - Move buffers from ,tb to ,tB - Move toggle from ,tg to ,tT Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- nvim/lua/plugins/neo-tree.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nvim/lua/plugins/neo-tree.lua b/nvim/lua/plugins/neo-tree.lua index b9be784..b4e26e7 100644 --- a/nvim/lua/plugins/neo-tree.lua +++ b/nvim/lua/plugins/neo-tree.lua @@ -7,9 +7,11 @@ return { }, event = "VeryLazy", keys = { - { "tg", ":Neotree toggle", desc = "Toggle Neo-tree" }, + { "tT", ":Neotree toggle", desc = "Toggle Neo-tree" }, { "tF", ":Neotree filesystem reveal left", desc = "Reveal File in Neo-tree" }, - { "tb", ":Neotree buffers reveal float", desc = "Neo-tree Buffers" }, + { "tB", ":Neotree buffers reveal float", desc = "Neo-tree Buffers" }, + { "tG", ":Neotree git_status reveal float", desc = "Neo-tree Git Status" }, + { "tS", ":Neotree document_symbols reveal float", desc = "Neo-tree Symbols" }, }, config = function() require("neo-tree").setup({