# Context:
USER: move get_input into utils. pass in history_file and fnames as params rather than referencing them with self.
ASSISTANT: To move the `get_input` function into `utils.py`, we will remove it from the `Coder` class in `coder.py` and add it to `utils.py`. We will also update the function to accept `history_file` and `fnames` as parameters.
```python
coder.py
<<<<<<< ORIGINAL
def get_input(self):
inp = ""
multiline_input = False
style = Style.from_dict({'': 'green'})
while True:
completer_instance = FileContentCompleter(self.fnames)
if multiline_input:
show = ". "
else:
show = "> "
try:
line = prompt(
show,
completer=completer_instance,
history=FileHistory(self.history_file),
style=style,
)
except EOFError:
return
if line.strip() == "{" and not multiline_input:
multiline_input = True
continue
elif line.strip() == "}" and multiline_input:
break
elif multiline_input:
inp += line + "\n"
else:
inp = line
break
print()
return inp
=======
>>>>>>> UPDATED
```
```python
utils.py
<<<<<<< ORIGINAL
=======
def get_input(history_file, fnames):
inp = ""
multiline_input = False
style = Style.from_dict({'': 'green'})
while True:
completer_instance = FileContentCompleter(fnames)
if multiline_input:
show = ". "
else:
show = "> "
try:
line = prompt(
show,
completer=completer_instance,
history=FileHistory(history_file),
style=style,
)
except EOFError:
return
if line.strip() == "{" and not multiline_input:
multiline_input = True
continue
elif line.strip() == "}" and multiline_input:
break
elif multiline_input:
inp += line + "\n"
else:
inp = line
break
print()
return inp
>>>>>>> UPDATED
```
Now, update the call to `get_input` in `coder.py` to use the new `utils.get_input` function:
```python
coder.py
<<<<<<< ORIGINAL
inp = self.get_input()
=======
inp = utils.get_input(self.history_file, self.fnames)
>>>>>>> UPDATED
```
# Context:
USER: move quoted_file to utils
ASSISTANT: To move the `quoted_file` function from `coder.py` to `utils.py`, we will remove it from `coder.py` and add it to `utils.py`.
```python
coder.py
<<<<<<< ORIGINAL
def quoted_file(self, fname):
prompt = "\n"
prompt += fname
prompt += "\n```\n"
prompt += Path(fname).read_text()
prompt += "\n```\n"
return prompt
def get_files_content(self):
prompt = ""
for fname in self.fnames:
prompt += self.quoted_file(fname)
return prompt
=======
def get_files_content(self):
prompt = ""
for fname in self.fnames:
prompt += utils.quoted_file(fname)
return prompt
>>>>>>> UPDATED
```
```python
utils.py
<<<<<<< ORIGINAL
def strip_quoted_wrapping(res, fname=None):
if not res:
return res
res = res.splitlines()
if fname and res[0].strip().endswith(Path(fname).name):
res = res[1:]
if res[0].startswith("```") and res[-1].startswith("```"):
res = res[1:-1]
res = "\n".join(res)
if res and res[-1] != "\n":
res += "\n"
return res
=======
def quoted_file(fname):
prompt = "\n"
prompt += fname
prompt += "\n```\n"
prompt += Path(fname).read_text()
prompt += "\n```\n"
return prompt
def strip_quoted_wrapping(res, fname=None):
if not res:
return res
res = res.splitlines()
if fname and res[0].strip().endswith(Path(fname).name):
res = res[1:]
if res[0].startswith("```") and res[-1].startswith("```"):
res = res[1:-1]
res = "\n".join(res)
if res and res[-1] != "\n":
res += "\n"
return res
>>>>>>> UPDATED
```
Now the `quoted_file` function has been moved to `utils.py`, and the `get_files_content` function in `coder.py` has been updated to use `utils.quoted_file`.