Skip to content

Instantly share code, notes, and snippets.

@flyinghyrax
Created October 15, 2025 20:17
Show Gist options
  • Select an option

  • Save flyinghyrax/40fab9c495877ff7694a3465249e8d56 to your computer and use it in GitHub Desktop.

Select an option

Save flyinghyrax/40fab9c495877ff7694a3465249e8d56 to your computer and use it in GitHub Desktop.
Template for Fish shell themes. This takes the output of `fish_config theme choose None; fish_config theme dump`, groups the variables, and adds the variable descriptions from the documentation as inline comments.
# name: 'Replace Me'
# preferred_background: white
# References:
# - <https://fishshell.com/docs/current/cmds/fish_config.html#theme-files>
# - <https://fishshell.com/docs/current/interactive.html#syntax-highlighting>
#
# SYNTAX
#
# default color
fish_color_normal normal
# commands like echo
fish_color_command
# options starting with “-”, up to the first “--” parameter
# falls back to $fish_color_param
fish_color_option
# Ordinary command parameters
fish_color_param
# Parameters that are filenames (if the file exists)
# If it doesn't have a color, only modifiers, it adds those to the color that would otherwise be used, like $fish_color_param.
# But if valid paths have a color, it uses that and adds in modifiers from the *other* color.
fish_color_valid_path
# parameter expansion operators like '*' and '~'
fish_color_operator
# quoted text like "abc"
fish_color_quote
# character escapes like '\n' and '\x70'
fish_color_escape
# keywords like 'if'
# falls back on the $fish_color_command color if unset
fish_color_keyword
# IO redirections like >/dev/null
fish_color_redirection
# process separators like ; and &
fish_color_end
# comments like ‘# important’
fish_color_comment
# syntax errors
fish_color_error
# autosuggestions (the proposed rest of a command)
fish_color_autosuggestion brblack
# the ‘^C’ indicator on a canceled command
fish_color_cancel
# ¿missing in documentation?
fish_color_match
# the current position in the history for commands like dirh and cdh
fish_color_history_current
# history search matches and selected pager items (background only)
fish_color_search_match -r
# selected text in vi visual mode
fish_color_selection -r
#
# DEFAULT prompt
#
# the current working directory in the default prompt
fish_color_cwd normal
# the current working directory in the default prompt for the root user
fish_color_cwd_root normal
# the hostname in the default prompt
fish_color_host normal
# the hostname in the default prompt for remote sessions (like ssh)
fish_color_host_remote yellow
# the last command’s nonzero exit code in the default prompt
fish_color_status normal
# the username in the default prompt
fish_color_user normal
#
# PAGER
#
# Presenting lists of choices, e.g. tables of completions.
# Other than `fish_pager_color_progress`, there are 4 variables for 3 states:
# {normal, secondary, selected} X {background, prefix, completion, description}
# the progress bar at the bottom left corner
fish_pager_color_progress brblack
# NORMAL
# the background color of a line
fish_pager_color_background
# the prefix string, i.e. the string that is to be completed
fish_pager_color_prefix --underline
# the completion itself, i.e. the proposed rest of the string
fish_pager_color_completion normal
# the completion description
fish_pager_color_description brblack
# SELECTED
# background of the selected completion
fish_pager_color_selected_background -r
# prefix of the selected completion
fish_pager_color_selected_prefix
# suffix of the selected completion
fish_pager_color_selected_completion
# description of the selected completion
fish_pager_color_selected_description
# SECONDARY (alternating items)
# background of every second unselected completion
fish_pager_color_secondary_background
# prefix of every second unselected completion
fish_pager_color_secondary_prefix
# suffix of every second unselected completion
fish_pager_color_secondary_completion
# description of every second unselected completion
fish_pager_color_secondary_description
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment