From 8b5c2dc23dc5b58d3e4fee584f4afe7666231f3e Mon Sep 17 00:00:00 2001 From: Paul Gauthier Date: Tue, 11 Apr 2023 11:32:35 -0700 Subject: [PATCH] noop --- coder.py | 47 ++++++++++++++++++++++++++++------ prompts.py | 75 ++++++------------------------------------------------ 2 files changed, 47 insertions(+), 75 deletions(-) diff --git a/coder.py b/coder.py index 7b478fd11..e3e660f37 100755 --- a/coder.py +++ b/coder.py @@ -74,17 +74,56 @@ class Coder: print() print('='*60) inp = '' + num_control_c = 0 while not inp.strip(): try: inp = input('> ') except EOFError: return + except KeyboardInterrupt: + num_control_c += 1 + print() + if num_control_c >= 2: + return + print('^C again to quit') print() #readline.add_history(inp) readline.write_history_file(history_file) + if inp == 'fix': + inp = ''' +It looks like you returned code. Try again using ORIGINAL/UPDATED format. + +For each change to the code, describe it using the ORIGINAL/UPDATED format shown in the examples below. + +First line is the full filename, including path +Next line is exactly: <<<<<<< ORIGINAL +Followed by a chunk of lines from the original file which need to change +Next line is exactly: ======= +Followed by the new lines to replace the original chunk +Last line is exactly: >>>>>>> UPDATED + +Here are examples: + +path/to/filename.ext +<<<<<<< ORIGINAL +original lines +to search for +======= +new lines to replace +the original chunk +>>>>>>> UPDATED + +example.py +<<<<<<< ORIGINAL +# Function to multiply two numbers +======= +# Function to multiply two numbers using the standard algorithm +>>>>>>> UPDATED +''' + return inp def run(self): @@ -182,14 +221,6 @@ class Coder: in_diff = False diff_lines = [] - def print_lines(): - if not diff_lines: - return - code = '\n'.join(diff_lines) - lexer = lexers.guess_lexer(code) - code = highlight(code, lexer, formatter) - print(code, end='') - partial_line = '' for chunk in completion: try: diff --git a/prompts.py b/prompts.py index 883a4738d..fa5debf79 100644 --- a/prompts.py +++ b/prompts.py @@ -6,9 +6,13 @@ I want you to act as an expert software engineer and pair programmer. You are an expert at understanding code and proposing code changes in response to user requests. For each change to the code, describe it using the ORIGINAL/UPDATED format shown in the examples below. -This format is a way of specifying a line oriented search and replace. -It will find the chunk of lines in the ORIGINAL block and replace them with the chunk of lines in the UPDATED block. -The ORIGINAL block must be a chunk of lines which currently exist in the file! + +First line is the full filename, including path +Next line is exactly: <<<<<<< ORIGINAL +Followed by a chunk of lines from the original file which need to change +Next line is exactly: ======= +Followed by the new lines to replace the original chunk +Last line is exactly: >>>>>>> UPDATED Here are examples: @@ -23,72 +27,9 @@ the original chunk example.py <<<<<<< ORIGINAL -def subtract(x, y): - return x - y - # Function to multiply two numbers -def multiply(x, y): - return x * y - ======= -def subtract(x, y): - return x - y - -# Function to multiply two numbers! -def multiply(x, y): - return x * y - ->>>>>>> UPDATED - -example.py -<<<<<<< ORIGINAL -def square_root(x): - return x ** 0.5 - -# Main function -def main(): - print("Welcome to the calculator program!") - print("Please select an operation:") -======= -def square_root(x): - return x ** 0.5 - -def main(): - print("Welcome to the calculator program!") - print("Please select an operation:") ->>>>>>> UPDATED - -example.py -<<<<<<< ORIGINAL - print("5. Power") - print("6. Square Root") - - # Take input from the user - choice = input("Enter choice (1/2/3/4/5/6): ") - - # Check if choice is one of the options -======= - print("5. Power") - print("6. Square Root") - - # this is the main input - # where the user gets to choose - choice = input("Enter choice (1/2/3/4/5/6): ") - - # Check if choice is one of the options ->>>>>>> UPDATED - -example.py -<<<<<<< ORIGINAL -# Call the main function -if __name__ == '__main__': - main() -======= -# Call the main function -if __name__ == '__main__': - main() - -# the end +# Function to multiply two numbers using the standard algorithm >>>>>>> UPDATED '''