This commit is contained in:
Matteo Landi 2025-05-19 07:59:37 +00:00 committed by GitHub
commit e1a1bbd187
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 37 additions and 15 deletions

View file

@ -327,6 +327,11 @@ def get_parser(default_config_files, git_root):
default="#00cc00",
help="Set the color for user input (default: #00cc00)",
)
group.add_argument(
"--user-input-submitted-color",
default=None,
help="Set the color for user submitted input (default: #00cc00)",
)
group.add_argument(
"--tool-output-color",
default=None,

View file

@ -243,6 +243,7 @@ class InputOutput:
input=None,
output=None,
user_input_color="blue",
user_input_submitted_color=None,
tool_output_color=None,
tool_error_color="red",
tool_warning_color="#FFA500",
@ -281,6 +282,9 @@ class InputOutput:
pretty = False
self.user_input_color = ensure_hash_prefix(user_input_color) if pretty else None
self.user_input_submitted_color = (
ensure_hash_prefix(user_input_submitted_color) if pretty else None
)
self.tool_output_color = ensure_hash_prefix(tool_output_color) if pretty else None
self.tool_error_color = ensure_hash_prefix(tool_error_color) if pretty else None
self.tool_warning_color = ensure_hash_prefix(tool_warning_color) if pretty else None
@ -343,6 +347,7 @@ class InputOutput:
"output": self.output,
"lexer": PygmentsLexer(MarkdownLexer),
"editing_mode": self.editingmode,
"erase_when_done": True,
}
if self.editingmode == EditingMode.VI:
session_kwargs["cursor"] = ModalCursorShapeConfig()
@ -369,6 +374,7 @@ class InputOutput:
"""Validate configured color strings and reset invalid ones."""
color_attributes = [
"user_input_color",
"user_input_submitted_color",
"tool_output_color",
"tool_error_color",
"tool_warning_color",
@ -501,11 +507,11 @@ class InputOutput:
raise
def rule(self):
if self.pretty:
style = dict(style=self.user_input_color) if self.user_input_color else dict()
self.console.rule(**style)
else:
print()
if not self.pretty:
return "\n"
columns = self.console.width
return "\n".join(["" * columns, ""])
def interrupt_input(self):
if self.prompt_session and self.prompt_session.app:
@ -523,18 +529,16 @@ class InputOutput:
abs_read_only_fnames=None,
edit_format=None,
):
self.rule()
# Ring the bell if needed
self.ring_bell()
rel_fnames = list(rel_fnames)
show = ""
show = self.rule()
if rel_fnames:
rel_read_only_fnames = [
get_rel_fname(fname, root) for fname in (abs_read_only_fnames or [])
]
show = self.format_files_for_input(rel_fnames, rel_read_only_fnames)
show += self.format_files_for_input(rel_fnames, rel_read_only_fnames)
prompt_prefix = ""
if edit_format:
@ -658,6 +662,7 @@ class InputOutput:
complete_while_typing=True,
prompt_continuation=get_continuation,
)
self.display_user_input(show + line)
else:
line = input(show)
@ -754,8 +759,8 @@ class InputOutput:
log_file.write(content + "\n")
def display_user_input(self, inp):
if self.pretty and self.user_input_color:
style = dict(style=self.user_input_color)
if self.pretty and self.user_input_submitted_color:
style = dict(style=self.user_input_submitted_color)
else:
style = dict()
@ -868,6 +873,7 @@ class InputOutput:
style=style,
complete_while_typing=False,
)
self.display_user_input(question + res)
else:
res = input(question)
except EOFError:

View file

@ -557,6 +557,7 @@ def main(argv=None, input=None, output=None, force_git_root=None, return_coder=F
input=input,
output=output,
user_input_color=args.user_input_color,
user_input_submitted_color=args.user_input_submitted_color,
tool_output_color=args.tool_output_color,
tool_warning_color=args.tool_warning_color,
tool_error_color=args.tool_error_color,

View file

@ -173,6 +173,9 @@
## Set the color for user input (default: #00cc00)
#user-input-color: "#00cc00"
## Set the color for user submitted input (default: None)
#user-input-submitted-color: "xxx"
## Set the color for tool output (default: None)
#tool-output-color: "xxx"

View file

@ -202,6 +202,9 @@ cog.outl("```")
## Set the color for user input (default: #00cc00)
#AIDER_USER_INPUT_COLOR=#00cc00
## Set the color for user submitted input (default: #00cc00)
#AIDER_USER_INPUT_SUBMITTED_COLOR=
## Set the color for tool output (default: None)
#AIDER_TOOL_OUTPUT_COLOR=

View file

@ -42,10 +42,10 @@ usage: aider [-h] [--model] [--openai-api-key] [--anthropic-api-key]
[--restore-chat-history | --no-restore-chat-history]
[--llm-history-file] [--dark-mode] [--light-mode]
[--pretty | --no-pretty] [--stream | --no-stream]
[--user-input-color] [--tool-output-color]
[--tool-error-color] [--tool-warning-color]
[--assistant-output-color] [--completion-menu-color]
[--completion-menu-bg-color]
[--user-input-color] [--user-input-submitted-color]
[--tool-output-color] [--tool-error-color]
[--tool-warning-color] [--assistant-output-color]
[--completion-menu-color] [--completion-menu-bg-color]
[--completion-menu-current-color]
[--completion-menu-current-bg-color] [--code-theme]
[--show-diffs] [--git | --no-git]
@ -325,6 +325,10 @@ Set the color for user input (default: #00cc00)
Default: #00cc00
Environment variable: `AIDER_USER_INPUT_COLOR`
### `--user-input-submitted-color VALUE`
Set the color for user submitted input (default: None)
Environment variable: `AIDER_USER_INPUT_SUBMITTED_COLOR`
### `--tool-output-color VALUE`
Set the color for tool output (default: None)
Environment variable: `AIDER_TOOL_OUTPUT_COLOR`