# Semantic search & replace code with aider and gpt-4 > The user asks aider to modify a series of function calls. > Notice that it isn't replacing exact strings. > Aider deals with various formatting and semantic differences in the calls that it is updating. --- #### coder.py> replace all the self.console.print() calls that contain [red] with calls to self.io.tool_error() with [red] removed from the string ```python aider/coder.py <<<<<<< ORIGINAL self.console.print( f"[red]This tool will almost certainly fail to work with {main_model}" ) ======= self.io.tool_error(f"This tool will almost certainly fail to work with {main_model}") >>>>>>> UPDATED ``` ```python aider/coder.py <<<<<<< ORIGINAL self.console.print("[red]No suitable git repo, will not automatically commit edits.") ======= self.io.tool_error("No suitable git repo, will not automatically commit edits.") >>>>>>> UPDATED ``` ```python aider/coder.py <<<<<<< ORIGINAL self.console.print("[red]Files are not in a git repo.") ======= self.io.tool_error("Files are not in a git repo.") >>>>>>> UPDATED ``` ```python aider/coder.py <<<<<<< ORIGINAL self.console.print("[red]Files are in different git repos.") ======= self.io.tool_error("Files are in different git repos.") >>>>>>> UPDATED ``` ```python aider/coder.py <<<<<<< ORIGINAL self.console.print("[red]Skipped adding new files to the git repo.") ======= self.io.tool_error("Skipped adding new files to the git repo.") >>>>>>> UPDATED ``` ```python aider/coder.py <<<<<<< ORIGINAL self.console.print("[red]Warning: no changes found in tracked files.") ======= self.io.tool_error("Warning: no changes found in tracked files.") >>>>>>> UPDATED ``` ```python aider/coder.py <<<<<<< ORIGINAL self.console.print("[red]Malformed ORIGINAL/UPDATE blocks, retrying...") self.console.print("[red]", Text(err)) ======= self.io.tool_error("Malformed ORIGINAL/UPDATE blocks, retrying...") self.io.tool_error(Text(err)) >>>>>>> UPDATED ``` Please note that I couldn't find the `self.io.tool_error()` method in the provided code. You may need to create this method in the appropriate class or provide the correct method name to replace the `self.console.print()` calls. *Applied edit to aider/coder.py* *Applied edit to aider/coder.py* *Applied edit to aider/coder.py* *Applied edit to aider/coder.py* *Applied edit to aider/coder.py* *Applied edit to aider/coder.py* *Applied edit to aider/coder.py* *919cfc2 aider: Replaced all self.console.print() calls with self.io.tool_error() calls with [red] removed from the string.*