mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-29 08:44:59 +00:00
refac
This commit is contained in:
parent
bc38fcde65
commit
02c9a30c45
4 changed files with 25 additions and 12 deletions
|
@ -1,3 +1,5 @@
|
||||||
from .base import Coder
|
from .base import Coder
|
||||||
|
from .editblock import EditBlockCoder
|
||||||
|
from .wholefile import WholeFileCoder
|
||||||
|
|
||||||
__all__ = [Coder]
|
__all__ = [Coder, EditBlockCoder, WholeFileCoder]
|
||||||
|
|
|
@ -14,7 +14,7 @@ from rich.console import Console
|
||||||
from rich.live import Live
|
from rich.live import Live
|
||||||
from rich.markdown import Markdown
|
from rich.markdown import Markdown
|
||||||
|
|
||||||
from aider import diffs, editors, models, prompts, utils
|
from aider import diffs, models, prompts, utils
|
||||||
from aider.commands import Commands
|
from aider.commands import Commands
|
||||||
from aider.repomap import RepoMap
|
from aider.repomap import RepoMap
|
||||||
|
|
||||||
|
@ -32,6 +32,17 @@ class Coder:
|
||||||
last_asked_for_commit_time = 0
|
last_asked_for_commit_time = 0
|
||||||
repo_map = None
|
repo_map = None
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create(self, edit_format, *args, **kwargs):
|
||||||
|
from . import EditBlockCoder, WholeFileCoder
|
||||||
|
|
||||||
|
if edit_format == "whole":
|
||||||
|
return EditBlockCoder(*args, **kwargs)
|
||||||
|
elif edit_format == "diff":
|
||||||
|
return WholeFileCoder(*args, **kwargs)
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Unknown edit format {edit_format}")
|
||||||
|
|
||||||
def check_model_availability(self, main_model):
|
def check_model_availability(self, main_model):
|
||||||
available_models = openai.Model.list()
|
available_models = openai.Model.list()
|
||||||
model_ids = [model.id for model in available_models["data"]]
|
model_ids = [model.id for model in available_models["data"]]
|
||||||
|
@ -93,15 +104,6 @@ class Coder:
|
||||||
self.main_model = main_model
|
self.main_model = main_model
|
||||||
self.edit_format = self.main_model.edit_format
|
self.edit_format = self.main_model.edit_format
|
||||||
|
|
||||||
if self.edit_format == "whole":
|
|
||||||
self.gpt_prompts = editors.WholeFilePrompts()
|
|
||||||
elif self.edit_format == "diff":
|
|
||||||
self.gpt_prompts = editors.EditBlockPrompts()
|
|
||||||
else:
|
|
||||||
raise ValueError(
|
|
||||||
f"Model {main_model} requesting unknown edit format {self.edit_format}"
|
|
||||||
)
|
|
||||||
|
|
||||||
self.io.tool_output(f"Model: {main_model.name}")
|
self.io.tool_output(f"Model: {main_model.name}")
|
||||||
|
|
||||||
self.show_diffs = show_diffs
|
self.show_diffs = show_diffs
|
||||||
|
|
8
aider/coders/wholefile.py
Normal file
8
aider/coders/wholefile.py
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
from ..editors import WholeFilePrompts
|
||||||
|
from .base import Coder
|
||||||
|
|
||||||
|
|
||||||
|
class WholeFileCoder(Coder):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, **kwargs)
|
||||||
|
self.gpt_prompts = WholeFilePrompts()
|
|
@ -227,7 +227,8 @@ def main(args=None, input=None, output=None):
|
||||||
io.tool_error("No OpenAI API key provided. Use --openai-api-key or env OPENAI_API_KEY.")
|
io.tool_error("No OpenAI API key provided. Use --openai-api-key or env OPENAI_API_KEY.")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
coder = Coder(
|
coder = Coder.create(
|
||||||
|
"diff",
|
||||||
io,
|
io,
|
||||||
main_model=args.model,
|
main_model=args.model,
|
||||||
fnames=args.files,
|
fnames=args.files,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue