## Summary Fixes an issue with the lark grammar definition for the apply_patch freeform tool. This does NOT change the defaults, merely patches the root cause of the issue we were seeing with empty lines, and an issue with config flowing through correctly. Specifically, the following requires that a line is non-empty: ``` add_line: "+" /(.+)/ LF -> line ``` but many changes _should_ involve creating/updating empty lines. The new definition is: ``` add_line: "+" /(.*)/ LF -> line ``` ## Testing - [x] Tested locally, reproduced the issue without the update and confirmed that the model will produce empty lines wiht the new lark grammar
20 lines
578 B
Plaintext
20 lines
578 B
Plaintext
start: begin_patch hunk+ end_patch
|
|
begin_patch: "*** Begin Patch" LF
|
|
end_patch: "*** End Patch" LF?
|
|
|
|
hunk: add_hunk | delete_hunk | update_hunk
|
|
add_hunk: "*** Add File: " filename LF add_line+
|
|
delete_hunk: "*** Delete File: " filename LF
|
|
update_hunk: "*** Update File: " filename LF change_move? change?
|
|
|
|
filename: /(.+)/
|
|
add_line: "+" /(.*)/ LF -> line
|
|
|
|
change_move: "*** Move to: " filename LF
|
|
change: (change_context | change_line)+ eof_line?
|
|
change_context: ("@@" | "@@ " /(.+)/) LF
|
|
change_line: ("+" | "-" | " ") /(.*)/ LF
|
|
eof_line: "*** End of File" LF
|
|
|
|
%import common.LF
|