mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-06-02 05:41:16 -03:00
fish_config: Set colors that aren't set in the theme to empty
This allows keeping it to the fallback value, making us independent from the theme that was set before.
This commit is contained in:
@@ -1467,13 +1467,62 @@ class FishConfigHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
||||
|
||||
if p == "/set_color/":
|
||||
print("# Colorscheme: " + postvars.get("theme"))
|
||||
have_colors = set()
|
||||
known_colors = set(
|
||||
(
|
||||
"fish_color_normal",
|
||||
"fish_color_command",
|
||||
"fish_color_keyword",
|
||||
"fish_color_quote",
|
||||
"fish_color_redirection",
|
||||
"fish_color_end",
|
||||
"fish_color_error",
|
||||
"fish_color_param",
|
||||
"fish_color_option",
|
||||
"fish_color_comment",
|
||||
"fish_color_selection",
|
||||
"fish_color_operator",
|
||||
"fish_color_escape",
|
||||
"fish_color_autosuggestion",
|
||||
"fish_color_cwd",
|
||||
"fish_color_user",
|
||||
"fish_color_host",
|
||||
"fish_color_host_remote",
|
||||
"fish_color_cancel",
|
||||
"fish_color_search_match",
|
||||
"fish_pager_color_progress",
|
||||
"fish_pager_color_background",
|
||||
"fish_pager_color_prefix",
|
||||
"fish_pager_color_completion",
|
||||
"fish_pager_color_description",
|
||||
"fish_pager_color_selected_background",
|
||||
"fish_pager_color_selected_prefix",
|
||||
"fish_pager_color_selected_completion",
|
||||
"fish_pager_color_selected_description",
|
||||
"fish_pager_color_secondary_background",
|
||||
"fish_pager_color_secondary_prefix",
|
||||
"fish_pager_color_secondary_completion",
|
||||
"fish_pager_color_secondary_description",
|
||||
)
|
||||
)
|
||||
for item in postvars.get("colors"):
|
||||
what = item.get("what")
|
||||
color = item.get("color")
|
||||
|
||||
if what:
|
||||
if not what.startswith("fish_pager_color_") and not what.startswith(
|
||||
"fish_color_"
|
||||
):
|
||||
have_colors.add("fish_color_" + what)
|
||||
else:
|
||||
have_colors.add(what)
|
||||
output = self.do_set_color_for_variable(what, color)
|
||||
|
||||
# Set all known colors that weren't defined in this theme
|
||||
# to empty, to avoid keeping around coloration from an earlier theme.
|
||||
for what in known_colors - have_colors:
|
||||
output += "\n" + self.do_set_color_for_variable(what, "")
|
||||
|
||||
elif p == "/get_function/":
|
||||
what = postvars.get("what")
|
||||
output = [self.do_get_function(what[0])]
|
||||
|
||||
Reference in New Issue
Block a user