You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(sheets): add conditional formatting and banding
Adds Google Sheets conditional formatting and alternating color banding commands, with force-guarded clears, docs, regression tests, and live Google smoke verification.\n\nCo-authored-by: gobang <50824182+codBang@users.noreply.github.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@
16
16
- Docs: support tab-scoped Markdown append and find-replace flows. (#541) — thanks @donbowman.
17
17
- Sheets: add `sheets table append` for appending rows to structured Sheets tables without targeting headers directly.
18
18
- Sheets: add header-safe `sheets table clear` for clearing table data rows without touching headers or footers.
19
+
- Sheets: add `sheets conditional-format` and `sheets banding` commands for rule-based formatting and alternating color banded ranges. (#378) — thanks @codBang.
19
20
20
21
### Fixed
21
22
- Agent safety: compile baked safety profile policies into generated hash switches so raw allow/deny rule strings are not embedded as patchable YAML. (#540) — thanks @drewburchfield.
Copy file name to clipboardExpand all lines: README.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Fast, script-friendly CLI for Gmail, Calendar, Chat, Classroom, Drive, Docs, Sli
16
16
-**Drive** - list/search/upload/download files, scope search to folders or shared drives, replace uploads in-place, convert uploads (including Markdown to Google Doc), manage permissions/comments, organize folders, and list shared drives
17
17
-**Contacts** - search/create/update contacts, including addresses, relations, org/title metadata, custom fields, Workspace directory, and other contacts
18
18
-**Tasks** - manage tasklists and tasks: get/create/add/update/done/undo/delete/clear, plus repeat schedule materialization with RRULE aliases
19
-
-**Sheets** - read/write/update spreadsheets, insert rows/cols, manage tabs, named ranges, and Sheets tables, format/merge/freeze/resize cells, read/write notes, inspect formats, find/replace text, list links, and create/export sheets
19
+
-**Sheets** - read/write/update spreadsheets, insert rows/cols, manage tabs, named ranges, and Sheets tables, format/merge/freeze/resize cells, manage conditional formatting and banding, read/write notes, inspect formats, find/replace text, list links, and create/export sheets
-**Apps Script** - create/get/bind projects, inspect content, and run functions
22
22
-**Docs/Slides** - create/copy/export docs/slides, edit Docs by tab title or ID, import Markdown, do richer find-replace, export whole Docs or a single Docs tab, and generate Slides from Markdown or templates
-[`gog sheets (sheet) banding (banded-ranges) list <spreadsheetId> [flags]`](commands/gog-sheets-banding-list.md) - List alternating color banded ranges
388
+
-[`gog sheets (sheet) banding (banded-ranges) set (add,create) <spreadsheetId> <range> [flags]`](commands/gog-sheets-banding-set.md) - Apply alternating colors to a range
-[`gog sheets (sheet) conditional-format (cf,conditional-formats) list <spreadsheetId> [flags]`](commands/gog-sheets-conditional-format-list.md) - List conditional formatting rules
392
400
-[`gog sheets (sheet) copy (cp,duplicate) <spreadsheetId> <title> [flags]`](commands/gog-sheets-copy.md) - Copy a Google Sheet
393
401
-[`gog sheets (sheet) create (new) <title> [flags]`](commands/gog-sheets-create.md) - Create a new spreadsheet
394
402
-[`gog sheets (sheet) delete-tab (delete-sheet) <spreadsheetId> <tabName>`](commands/gog-sheets-delete-tab.md) - Delete a tab/sheet from a spreadsheet (use --force to skip confirmation)
Copy file name to clipboardExpand all lines: docs/commands/README.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Every `gog` command has a generated docs page. The source of truth is the live CLI schema; run `make docs-commands` after changing command names, flags, help text, aliases, or arguments.
4
4
5
-
Generated pages: 458.
5
+
Generated pages: 466.
6
6
7
7
## Top-level Commands
8
8
@@ -425,13 +425,21 @@ Generated pages: 458.
425
425
-[gog sheets](gog-sheets.md) - Google Sheets
426
426
-[gog sheets add-tab](gog-sheets-add-tab.md) - Add a new tab/sheet to a spreadsheet
427
427
-[gog sheets append](gog-sheets-append.md) - Append values to a range
428
+
-[gog sheets banding](gog-sheets-banding.md) - Manage alternating color banding
429
+
-[gog sheets banding clear](gog-sheets-banding-clear.md) - Remove alternating color banding
430
+
-[gog sheets banding list](gog-sheets-banding-list.md) - List alternating color banded ranges
431
+
-[gog sheets banding set](gog-sheets-banding-set.md) - Apply alternating colors to a range
|`--access-token`|`string`|| Use provided access token directly (bypasses stored refresh tokens; token expires in ~1h) |
22
+
|`-a`<br>`--account`<br>`--acct`|`string`|| Account email for API commands (gmail/calendar/chat/classroom/drive/docs/slides/contacts/tasks/people/sheets/forms/appscript/ads) |
23
+
|`--all`|`bool`|| Remove all banding from the sheet |
|`-h`<br>`--help`|`kong.helpFlag`|| Show context-sensitive help. |
32
+
|`--id`|`int64`|| Banded range ID to remove |
33
+
|`-j`<br>`--json`<br>`--machine`|`bool`| false | Output JSON to stdout (best for scripting) |
34
+
|`--no-input`<br>`--non-interactive`<br>`--noninteractive`|`bool`|| Never prompt; fail instead (useful for CI) |
35
+
|`-p`<br>`--plain`<br>`--tsv`|`bool`| false | Output stable, parseable text to stdout (TSV; no colors) |
36
+
|`--results-only`|`bool`|| In JSON mode, emit only the primary result (drops envelope fields like nextPageToken) |
37
+
|`--select`<br>`--pick`<br>`--project`|`string`|| In JSON mode, select comma-separated fields (best-effort; supports dot paths). Desire path: use --fields for most commands. |
> Generated from `gog schema --json`. Do not edit this page by hand; run `make docs-commands`.
4
+
5
+
List alternating color banded ranges
6
+
7
+
## Usage
8
+
9
+
```bash
10
+
gog sheets (sheet) banding (banded-ranges) list <spreadsheetId> [flags]
11
+
```
12
+
13
+
## Parent
14
+
15
+
-[gog sheets banding](gog-sheets-banding.md)
16
+
17
+
## Flags
18
+
19
+
| Flag | Type | Default | Help |
20
+
| --- | --- | --- | --- |
21
+
|`--access-token`|`string`|| Use provided access token directly (bypasses stored refresh tokens; token expires in ~1h) |
22
+
|`-a`<br>`--account`<br>`--acct`|`string`|| Account email for API commands (gmail/calendar/chat/classroom/drive/docs/slides/contacts/tasks/people/sheets/forms/appscript/ads) |
|`-h`<br>`--help`|`kong.helpFlag`|| Show context-sensitive help. |
31
+
|`-j`<br>`--json`<br>`--machine`|`bool`| false | Output JSON to stdout (best for scripting) |
32
+
|`--no-input`<br>`--non-interactive`<br>`--noninteractive`|`bool`|| Never prompt; fail instead (useful for CI) |
33
+
|`-p`<br>`--plain`<br>`--tsv`|`bool`| false | Output stable, parseable text to stdout (TSV; no colors) |
34
+
|`--results-only`|`bool`|| In JSON mode, emit only the primary result (drops envelope fields like nextPageToken) |
35
+
|`--select`<br>`--pick`<br>`--project`|`string`|| In JSON mode, select comma-separated fields (best-effort; supports dot paths). Desire path: use --fields for most commands. |
36
+
|`--sheet`|`string`|| Only list banding from this sheet |
> Generated from `gog schema --json`. Do not edit this page by hand; run `make docs-commands`.
4
+
5
+
Apply alternating colors to a range
6
+
7
+
## Usage
8
+
9
+
```bash
10
+
gog sheets (sheet) banding (banded-ranges) set (add,create) <spreadsheetId><range> [flags]
11
+
```
12
+
13
+
## Parent
14
+
15
+
-[gog sheets banding](gog-sheets-banding.md)
16
+
17
+
## Flags
18
+
19
+
| Flag | Type | Default | Help |
20
+
| --- | --- | --- | --- |
21
+
|`--access-token`|`string`|| Use provided access token directly (bypasses stored refresh tokens; token expires in ~1h) |
22
+
|`-a`<br>`--account`<br>`--acct`|`string`|| Account email for API commands (gmail/calendar/chat/classroom/drive/docs/slides/contacts/tasks/people/sheets/forms/appscript/ads) |
|`-h`<br>`--help`|`kong.helpFlag`|| Show context-sensitive help. |
32
+
|`-j`<br>`--json`<br>`--machine`|`bool`| false | Output JSON to stdout (best for scripting) |
33
+
|`--no-input`<br>`--non-interactive`<br>`--noninteractive`|`bool`|| Never prompt; fail instead (useful for CI) |
34
+
|`-p`<br>`--plain`<br>`--tsv`|`bool`| false | Output stable, parseable text to stdout (TSV; no colors) |
35
+
|`--results-only`|`bool`|| In JSON mode, emit only the primary result (drops envelope fields like nextPageToken) |
36
+
|`--row-properties-json`|`string`|| Sheets API BandingProperties JSON for row colors |
37
+
|`--select`<br>`--pick`<br>`--project`|`string`|| In JSON mode, select comma-separated fields (best-effort; supports dot paths). Desire path: use --fields for most commands. |
-[gog sheets banding clear](gog-sheets-banding-clear.md) - Remove alternating color banding
20
+
-[gog sheets banding list](gog-sheets-banding-list.md) - List alternating color banded ranges
21
+
-[gog sheets banding set](gog-sheets-banding-set.md) - Apply alternating colors to a range
22
+
23
+
## Flags
24
+
25
+
| Flag | Type | Default | Help |
26
+
| --- | --- | --- | --- |
27
+
|`--access-token`|`string`|| Use provided access token directly (bypasses stored refresh tokens; token expires in ~1h) |
28
+
|`-a`<br>`--account`<br>`--acct`|`string`|| Account email for API commands (gmail/calendar/chat/classroom/drive/docs/slides/contacts/tasks/people/sheets/forms/appscript/ads) |
|`-h`<br>`--help`|`kong.helpFlag`|| Show context-sensitive help. |
37
+
|`-j`<br>`--json`<br>`--machine`|`bool`| false | Output JSON to stdout (best for scripting) |
38
+
|`--no-input`<br>`--non-interactive`<br>`--noninteractive`|`bool`|| Never prompt; fail instead (useful for CI) |
39
+
|`-p`<br>`--plain`<br>`--tsv`|`bool`| false | Output stable, parseable text to stdout (TSV; no colors) |
40
+
|`--results-only`|`bool`|| In JSON mode, emit only the primary result (drops envelope fields like nextPageToken) |
41
+
|`--select`<br>`--pick`<br>`--project`|`string`|| In JSON mode, select comma-separated fields (best-effort; supports dot paths). Desire path: use --fields for most commands. |
0 commit comments