mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-02 10:45:00 +00:00
105 lines
3.4 KiB
Markdown
105 lines
3.4 KiB
Markdown
|
|
# Honor the NO_COLOR environment variable
|
|
|
|
The user pastes the specification of the NO_COLOR environment variable protocol
|
|
from [no-color.org](https://no-color.org) into the chat with GPT-4.
|
|
|
|
GPT figures out which files need to be edited, and asks permission to make changes.
|
|
It then disables all the color and pretty-printing functions if NO_COLOR is
|
|
set, so the tool conforms to the specification.
|
|
|
|
## Chat transcript
|
|
> $ aider
|
|
> Using git repo: .git
|
|
> Use /help to see in-chat commands.
|
|
|
|
#### Command-line software which adds ANSI color to its output by default should check for a NO_COLOR environment variable that, when present and not an empty string (regardless of its value), prevents the addition of ANSI color.
|
|
|
|
To implement this feature, we need to modify the `aider/io.py` file. Please make it *read-write* so I can provide the necessary changes.
|
|
|
|
> aider/io.py
|
|
> Add these files to the chat? y
|
|
|
|
Great! Now, I will make the necessary changes to check for the `NO_COLOR` environment variable and disable ANSI color when it is present and not an empty string.
|
|
|
|
```python
|
|
aider/io.py
|
|
<<<<<<< ORIGINAL
|
|
import os
|
|
=======
|
|
import os
|
|
import os.path
|
|
>>>>>>> UPDATED
|
|
```
|
|
|
|
```python
|
|
aider/io.py
|
|
<<<<<<< ORIGINAL
|
|
def __init__(
|
|
self,
|
|
pretty=True,
|
|
yes=False,
|
|
input_history_file=None,
|
|
chat_history_file=None,
|
|
input=None,
|
|
output=None,
|
|
user_input_color="blue",
|
|
tool_output_color=None,
|
|
tool_error_color="red",
|
|
):
|
|
self.user_input_color = user_input_color
|
|
self.tool_output_color = tool_output_color
|
|
self.tool_error_color = tool_error_color
|
|
self.input = input
|
|
self.output = output
|
|
self.pretty = pretty
|
|
self.yes = yes
|
|
self.input_history_file = input_history_file
|
|
if chat_history_file is not None:
|
|
self.chat_history_file = Path(chat_history_file)
|
|
else:
|
|
self.chat_history_file = None
|
|
|
|
if pretty:
|
|
self.console = Console()
|
|
else:
|
|
self.console = Console(force_terminal=True, no_color=True)
|
|
=======
|
|
def __init__(
|
|
self,
|
|
pretty=True,
|
|
yes=False,
|
|
input_history_file=None,
|
|
chat_history_file=None,
|
|
input=None,
|
|
output=None,
|
|
user_input_color="blue",
|
|
tool_output_color=None,
|
|
tool_error_color="red",
|
|
):
|
|
no_color = os.environ.get("NO_COLOR")
|
|
if no_color is not None and no_color != "":
|
|
pretty = False
|
|
|
|
self.user_input_color = user_input_color if pretty else None
|
|
self.tool_output_color = tool_output_color if pretty else None
|
|
self.tool_error_color = tool_error_color if pretty else None
|
|
self.input = input
|
|
self.output = output
|
|
self.pretty = pretty
|
|
self.yes = yes
|
|
self.input_history_file = input_history_file
|
|
if chat_history_file is not None:
|
|
self.chat_history_file = Path(chat_history_file)
|
|
else:
|
|
self.chat_history_file = None
|
|
|
|
self.console = Console(force_terminal=not pretty, no_color=not pretty)
|
|
>>>>>>> UPDATED
|
|
```
|
|
|
|
These changes will make the software check for the `NO_COLOR` environment variable and disable ANSI color when it is present and not an empty string.
|
|
|
|
> Applied edit to aider/io.py
|
|
> Applied edit to aider/io.py
|
|
> Commit 3218242 aider: Added check for NO_COLOR environment variable to disable ANSI color.
|