Enable buildozer commands containing newlines in command files.#1296
Open
kleerwater wants to merge 2 commits intobazelbuild:mainfrom
Open
Enable buildozer commands containing newlines in command files.#1296kleerwater wants to merge 2 commits intobazelbuild:mainfrom
kleerwater wants to merge 2 commits intobazelbuild:mainfrom
Conversation
buildozer can accept an argument for the set command with appropriately escaped newlines to force multiline values that would otherwise be written out as a single line. When buildozer reads commands from a commands file, it reads a single line and attempts to apply it as a command, so newlines can't be used to force a multiline value. To enable forcing multiline values when using a commands file, this updates buildozer to continue reading lines when a line ends with an escaped newline to match the behavior on the command line. This additionally adds a test case for using whitespace on the command-line so that there is consistent coverage for the two modes.
Collaborator
|
/gemini review |
Contributor
There was a problem hiding this comment.
Code Review
This pull request aims to enable multiline commands in command files for buildozer, similar to how they are handled on the command line. The change involves modifying appendCommandsFromReader to read subsequent lines if a line ends with a continuation character (\). While the intention is good and new tests have been added, the implementation of the line continuation check in edit/buildozer.go appears to be incorrect and will not work as intended with the provided test cases.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
buildozer can accept an argument for the set command with appropriately escaped newlines to force multiline values that would otherwise be written out as a single line. When buildozer reads commands from a commands file, it reads a single line and attempts to apply it as a command, so newlines can't be used to force a multiline value.
To enable forcing multiline values when using a commands file, this updates buildozer to continue reading lines when a line ends with an escaped newline to match the behavior on the command line. This additionally adds a test case for using whitespace on the command-line so that there is consistent coverage for the two modes.