Commit graph

706 commits

Author SHA1 Message Date
Paul Gauthier
0fdd5d101b added aider: prefix to gpt generated edits 2023-05-09 14:06:26 -07:00
Paul Gauthier
540c0b10b9 Add --show-diffs parameter and only print diffs if it is set to True.
# Context:
USER: add a --show-diffs parameter  which defaults to false. allow an env var to override the default. pass this to Coder.__init__() and use it to set a self.show_diffs. only self.console.print(Text(diffs)) if it is true.
ASSISTANT: To add a `--show-diffs` parameter with a default value of `False` and allow an environment variable to override the default, we will make changes to `aider/main.py`. We will also pass this value to `Coder.__init__()` and use it to set `self.show_diffs`. Finally, we will only print the diffs if `self.show_diffs` is `True`.

Here are the changes:

```python
aider/main.py
<<<<<<< ORIGINAL
        default=bool(int(os.environ.get(f"{env_prefix}COMMIT_DIRTY", 0))),
    )
    args = parser.parse_args()
=======
        default=bool(int(os.environ.get(f"{env_prefix}COMMIT_DIRTY", 0))),
    )
    parser.add_argument(
        "--show-diffs",
        action="store_true",
        help=f"Show diffs when committing changes (default: False, ${env_prefix}SHOW_DIFFS)",
        default=bool(int(os.environ.get(f"{env_prefix}SHOW_DIFFS", 0))),
    )
    args = parser.parse_args()
>>>>>>> UPDATED
```

```python
aider/main.py
<<<<<<< ORIGINAL
    coder = Coder(args.model, fnames, pretty, args.history_file)
=======
    coder = Coder(args.model, fnames, pretty, args.history_file, args.show_diffs)
>>>>>>> UPDATED
```

```python
aider/coder.py
<<<<<<< ORIGINAL
    def __init__(self, main_model, files, pretty, history_file):
=======
    def __init__(self, main_model, files, pretty, history_file, show_diffs):
>>>>>>> UPDATED
```

```python
aider/coder.py
<<<<<<< ORIGINAL
        self.pretty = pretty
=======
        self.pretty = pretty
        self.show_diffs = show_diffs
>>>>>>> UPDATED
```

```python
aider/coder.py
<<<<<<< ORIGINAL
        self.console.print(Text(diffs))
=======
        if self.show_diffs:
            self.console.print(Text(diffs))
>>>>>>> UPDATED
```

These changes will add the `--show-diffs` parameter and only print the diffs if the parameter is set to `True`.
2023-05-09 13:04:43 -07:00
Paul Gauthier
a591c09a1a fixed import 2023-05-09 11:36:46 -07:00
Paul Gauthier
a2eb1aff11 Use relative import for Coder class in main.py
# Context:
USER: $ python3 ./aider/main.py
Traceback (most recent call last):
  File "/Users/gauthier/Projects/aider/./aider/main.py", line 5, in <module>
    from aider.coder import Coder
ModuleNotFoundError: No module named 'aider'

ASSISTANT: It seems like there is an issue with importing the `Coder` class from the `aider` package. To fix this, you can try adding the current directory to the `sys.path`. Here's the change you need to make in the `aider/main.py` file:

```python
aider/main.py
<<<<<<< ORIGINAL
import os
import sys
import argparse
from dotenv import load_dotenv
from aider.coder import Coder
=======
import os
import sys
sys.path.append(os.path.dirname(os.path
^C KeyboardInterrupt
USER: i would rather not do that. is there a different way to do the import so that it works both when the aider package is pip installed and also when its being run from the repo checkout?
ASSISTANT: Yes, you can use a relative import instead of an absolute import. This will work both when the package is installed via pip and when it's being run from the repo checkout. Here's the change you need to make in the `aider/main.py` file:

```python
aider/main.py
<<<<<<< ORIGINAL
from dotenv import load_dotenv
from aider.coder import Coder
=======
from dotenv import load_dotenv
from .coder import Coder
>>>>>>> UPDATED
```

This change replaces the absolute import with a relative import, which should resolve the `ModuleNotFoundError`.
2023-05-09 11:34:07 -07:00
Paul Gauthier
8e79a7cf9b WIP: Refactor import statement for Coder in main.py. 2023-05-09 11:32:52 -07:00
Paul Gauthier
984e2f78ce moved into subdir 2023-05-09 10:52:18 -07:00
Renamed from main.py (Browse further)