feat(docs): add --text-color flag and docs color subcommand#412
Open
sixel-et wants to merge 2 commits intosteipete:mainfrom
Open
feat(docs): add --text-color flag and docs color subcommand#412sixel-et wants to merge 2 commits intosteipete:mainfrom
sixel-et wants to merge 2 commits intosteipete:mainfrom
Conversation
Adds the ability to set foreground text color when writing or inserting text into Google Docs. Accepts named colors (red, blue, green, etc.) and hex colors (#RRGGBB, #RGB). The color is applied as an UpdateTextStyleRequest in the same batch as the text insertion. Usage: gog docs write <docId> --text "hello" --text-color blue gog docs insert <docId> "note" --text-color "#FF6600" gog docs update <docId> --text "text" --text-color red Includes ParseTextColor() and BuildColorRequest() helpers, plus unit tests for named colors, hex parsing, and request construction. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Applies foreground color to text found in a Google Doc using the Docs API structural indices (not plain text offsets). Supports --paragraph flag to color the entire containing paragraph. Usage: gog docs color <docId> "text to find" <color> gog docs color <docId> "text" "#a64d79" --paragraph gog docs color <docId> "text" blue --all This solves the problem where find-replace loses color: you can find-replace first, then color the result. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.
Summary
--text-colorflag togog docs write,gog docs insert, andgog docs updatecommandsred,blue,green,purple,teal, etc.) and hex colors (#RRGGBB,#RGB,RRGGBB)gog docs colorsubcommand for applying color to existing text in a documentUsage
--text-color flag (new text)
docs color subcommand (existing text)
Implementation
--text-color flag:
ParseTextColor()indocs_formatter.go— parses named colors (15 built-in) and hex codesBuildColorRequest()— createsUpdateTextStyleRequestwithforegroundColorBatchUpdatein the same request as text insertion (InsertText + UpdateTextStyle)--append,--replace, and index-based insertiondocs color subcommand:
Documents.Get()to obtain correct structural indicesUpdateTextStyleRequestviaBatchUpdate--paragraphflag colors the entire containing paragraph, not just the matched substring--allflag colors all occurrences, not just the firstTests
TestParseTextColor_NamedColors— 7 cases including case insensitivityTestParseTextColor_HexColors— 8 cases including 3-digit, 6-digit, no-hash, invalidTestBuildColorRequest— verifies range and foreground color fieldsMotivation
Collaborative document editing where multiple contributors need visually distinct text. We use this for a multi-session AI writing workflow where each contributor writes in a different color.