in agents/tools/file_tools.py [0:0]
def edit_sync():
try:
with open(
file_path, encoding="utf-8", errors="replace"
) as f:
content = f.read()
if old_text not in content:
return (
f"Error: The specified text was not "
f"found in {path}"
)
# Count occurrences to warn about multiple matches
count = content.count(old_text)
if count > 1:
# Edit with warning about multiple occurrences
new_content = content.replace(old_text, new_text)
with open(file_path, "w", encoding="utf-8") as f:
f.write(new_content)
return (
f"Warning: Found {count} occurrences. "
f"All were replaced in {path}"
)
else:
# One occurrence, straightforward replacement
new_content = content.replace(old_text, new_text)
with open(file_path, "w", encoding="utf-8") as f:
f.write(new_content)
return f"Successfully edited {path}"
except UnicodeDecodeError:
return f"Error: {path} appears to be a binary file"