From a91d3fed01b4b06ceed907bb392c91c93a28983e Mon Sep 17 00:00:00 2001 From: Stein Martin Hustad Date: Sat, 21 Sep 2024 21:05:51 +0400 Subject: [PATCH] style: completion menu colors customizable --- aider/args.py | 24 ++++++++++++++++++++++++ aider/io.py | 11 +++++++++++ aider/main.py | 4 ++++ aider/website/assets/sample.env | 12 ++++++++++++ 4 files changed, 51 insertions(+) diff --git a/aider/args.py b/aider/args.py index b67aeb43a..10c606d81 100644 --- a/aider/args.py +++ b/aider/args.py @@ -328,6 +328,30 @@ def get_parser(default_config_files, git_root): default="#0088ff", help="Set the color for assistant output (default: #0088ff)", ) + group.add_argument( + "--completion-menu-color", + metavar="COLOR", + default="default", + help="Set the color for the completion menu (default: terminal's default text color)", + ) + group.add_argument( + "--completion-menu-bg-color", + metavar="COLOR", + default="default", + help="Set the background color for the completion menu (default: terminal's default background color)", + ) + group.add_argument( + "--completion-menu-current-color", + metavar="COLOR", + default="default", + help="Set the color for the current item in the completion menu (default: terminal's default background color)", + ) + group.add_argument( + "--completion-menu-current-bg-color", + metavar="COLOR", + default="default", + help="Set the background color for the current item in the completion menu (default: terminal's default text color)", + ) group.add_argument( "--code-theme", default="default", diff --git a/aider/io.py b/aider/io.py index 4957ee737..5ff9e840e 100644 --- a/aider/io.py +++ b/aider/io.py @@ -179,6 +179,10 @@ class InputOutput: tool_error_color="red", tool_warning_color="#FFA500", assistant_output_color="blue", + completion_menu_color="default", + completion_menu_bg_color="default", + completion_menu_current_color="default", + completion_menu_current_bg_color="default", code_theme="default", encoding="utf-8", dry_run=False, @@ -195,6 +199,11 @@ class InputOutput: self.tool_error_color = tool_error_color if pretty else None self.tool_warning_color = tool_warning_color if pretty else None self.assistant_output_color = assistant_output_color + self.completion_menu_color = completion_menu_color if pretty else None + self.completion_menu_bg_color = completion_menu_bg_color if pretty else None + self.completion_menu_current_color = completion_menu_current_color if pretty else None + self.completion_menu_current_bg_color = completion_menu_current_bg_color if pretty else None + self.code_theme = code_theme self.input = input @@ -321,6 +330,8 @@ class InputOutput: { "": self.user_input_color, "pygments.literal.string": f"bold italic {self.user_input_color}", + "completion-menu": f"bg:{self.completion_menu_bg_color} {self.completion_menu_color}", + "completion-menu.completion.current": f"bg:{self.completion_menu_current_bg_color} {self.completion_menu_current_color}", } ) else: diff --git a/aider/main.py b/aider/main.py index e62a782e7..d0934b3ff 100644 --- a/aider/main.py +++ b/aider/main.py @@ -408,6 +408,10 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F user_input_color=args.user_input_color, tool_output_color=args.tool_output_color, tool_error_color=args.tool_error_color, + completion_menu_color=args.completion_menu_color, + completion_menu_bg_color=args.completion_menu_bg_color, + completion_menu_current_color=args.completion_menu_current_color, + completion_menu_current_bg_color=args.completion_menu_current_bg_color, assistant_output_color=args.assistant_output_color, code_theme=args.code_theme, dry_run=args.dry_run, diff --git a/aider/website/assets/sample.env b/aider/website/assets/sample.env index fb122c026..4e09cf4f8 100644 --- a/aider/website/assets/sample.env +++ b/aider/website/assets/sample.env @@ -159,6 +159,18 @@ ## Set the color for assistant output (default: #0088ff) #AIDER_ASSISTANT_OUTPUT_COLOR=#0088ff +## Set the foreground color for the completion menu (default: terminal's default text color) +#AIDER_COMPLETION_MENU_COLOR=default + +## Set the background color for the completion menu (default: terminal's default background color) +#AIDER_COMPLETION_MENU_BG_COLOR=default + +## Set the foreground color for the current item in the completion menu (default: terminal's default background color) +#AIDER_COMPLETION_MENU_CURRENT_COLOR=default + +## Set the background color for the current item in the completion menu (default: terminal's default text color) +#AIDER_COMPLETION_MENU_CURRENT_BG_COLOR=default + ## Set the markdown code theme (default: default, other options include monokai, solarized-dark, solarized-light) #AIDER_CODE_THEME=default