From 37163d5cd7ad9d7abc2bc56ba5ebb8f9f0909f92 Mon Sep 17 00:00:00 2001 From: Candifloss Date: Thu, 23 Jul 2026 00:35:13 +0530 Subject: [PATCH] New theme: Basic rules - json-focused --- .gitignore | 1 + themes/candy_json/README.md | 112 +++++++++++++++ themes/candy_json/candy_json.tmTheme | 195 +++++++++++++++++++++++++++ 3 files changed, 308 insertions(+) create mode 100644 .gitignore create mode 100644 themes/candy_json/README.md create mode 100644 themes/candy_json/candy_json.tmTheme diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5381784 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +scratchpad/ diff --git a/themes/candy_json/README.md b/themes/candy_json/README.md new file mode 100644 index 0000000..ecf85e2 --- /dev/null +++ b/themes/candy_json/README.md @@ -0,0 +1,112 @@ +# candy_json + +A json-focused `bat` theme with json logs and other json files in mind. + + +### Global + +| Setting | Color | Note | +| ------------ | --------- | ------------------------------- | +| Background | | Omitted to use terminal default | +| Foreground | `#BBBBBB` | High readability | +| Selection | `#343942` | Visible without overwhelming | +| Current line | `#24272B` | Subtle | +| Invisibles | `#4B5057` | Low contrast | +| Guides | `#31353A` | Structural only | + + +### Basic + +| No. | Rule | Color | Style | +| --- | ---------------- | ---------------------- | -------- | +| 1. | JSON Keys | **`#6FCFFF`** | **bold** | +| 2. | String Values | `#FFD866` | normal | +| 3. | Generic Strings | `#FFD866` | normal | +| 4. | String Quotes | `#8A8F98` | normal | +| 5. | Escape Sequences | `#FF9E64` | bold | +| 6. | Invalid Escapes | `#FFFFFF` on `#D7263D` | bold | +| 7. | Unclosed Strings | `#FFFFFF` on `#D7263D` | bold | + + +### Numbers + +| No. | Rule | Color | Style | +| --- | -------------- | --------- | ------ | +| 8. | Integer | `#C792EA` | normal | +| 9. | Float | `#C792EA` | normal | +| 10. | Numeric Digits | `#C792EA` | normal | +| 11. | Decimal Point | `#D7B8F3` | normal | +| 12. | Minus Sign | `#D08AE8` | bold | + + +### Literals + +| No. | Rule | Color | Style | +| --- | ----- | --------- | ------ | +| 13. | true | `#A9DC76` | bold | +| 14. | false | `#A9DC76` | bold | +| 15. | null | `#FF6188` | italic | + + +### Structure + +| No. | Rule | Color | Style | +| --- | -------------- | --------- | ----------- | +| 16. | Object Scope | *(none)* | *(inherit)* | +| 17. | Object Braces | `#7E848D` | normal | +| 18. | Array Scope | *(none)* | *(inherit)* | +| 19. | Array Brackets | `#7E848D` | normal | +| 20. | Colon | `#BFC5CE` | normal | +| 21. | Comma | `#666C75` | normal | + + +### Comments + +| No. | Rule | Color | Style | +| --- | ------------------ | --------- | ------ | +| 22. | Line Comment | `#6C7A89` | italic | +| 23. | Block Comment | `#6C7A89` | italic | +| 24. | Documentation | `#8C9AA7` | italic | +| 25. | Empty Block | `#8C9AA7` | italic | +| 26. | Comment Delimiters | `#59636D` | normal | + + +### Invalid JSON + +| No. | Rule | Color | Style | +| --- | --------------------------- | ---------------------- | ----- | +| 27. | Expected Key | `#FFFFFF` on `#D7263D` | bold | +| 28. | Expected Value | `#FFFFFF` on `#D7263D` | bold | +| 29. | Expected Separator | `#FFFFFF` on `#D7263D` | bold | +| 30. | Expected Sequence Separator | `#FFFFFF` on `#D7263D` | bold | + + +### Merge Conflicts + +| No. | Rule | Color | Style | +| --- | ------------------ | --------- | ----- | +| 31. | Conflict Begin | `#FF6188` | bold | +| 32. | Conflict Separator | `#FFD866` | bold | +| 33. | Conflict End | `#A9DC76` | bold | +| 34. | Branch Name | `#78DCE8` | bold | + +--- + +### Palette Summary + +| Purpose | Color | +| -------- | ---------------------- | +| Keys | `#6FCFFF` | +| Strings | `#FFD866` | +| Numbers | `#C792EA` | +| Booleans | `#A9DC76` | +| Null | `#FF6188` | +| Escapes | `#FF9E64` | +| Quotes | `#8A8F98` | +| Braces | `#7E848D` | +| Colon | `#BFC5CE` | +| Comma | `#666C75` | +| Comments | `#6C7A89` | +| Errors | `#FFFFFF` on `#D7263D` | + + diff --git a/themes/candy_json/candy_json.tmTheme b/themes/candy_json/candy_json.tmTheme new file mode 100644 index 0000000..f9e2737 --- /dev/null +++ b/themes/candy_json/candy_json.tmTheme @@ -0,0 +1,195 @@ + + + + + + name + Candy JSON + + author + Candifloss + + colorSpaceName + sRGB + + semanticClass + theme.dark.candy_json + + uuid + 6B7F1F6D-8C42-47F4-96F4-C4E6A2A4B001 + + settings + + + + + + settings + + + foreground + #BBBBBB + + caret + #FFFFFF + + selection + #343942 + + lineHighlight + #24272B + + invisibles + #4B5057 + + guide + #31353A + + activeGuide + #4A4F57 + + stackGuide + #5B6068 + + + + + + + + + name + JSON Keys + + scope + meta.mapping.key.json + + settings + + foreground + #6FCFFF + + fontStyle + bold + + + + + + + name + String Values + + scope + meta.mapping.value.json string.quoted.double.json + + settings + + foreground + #FFD866 + + + + + + + name + Generic Strings + + scope + meta.string.json string.quoted.double.json + + settings + + foreground + #FFD866 + + + + + + + name + String Quotes + + scope + + punctuation.definition.string.begin.json, + punctuation.definition.string.end.json + + + settings + + foreground + #8A8F98 + + + + + + + name + Escape Sequences + + scope + constant.character.escape.json + + settings + + foreground + #FF9E64 + + fontStyle + bold + + + + + + + name + Invalid Escapes + + scope + invalid.illegal.unrecognized-string-escape.json + + settings + + foreground + #FFFFFF + + background + #D7263D + + fontStyle + bold + + + + + + + name + Unclosed Strings + + scope + invalid.illegal.unclosed-string.json + + settings + + foreground + #FFFFFF + + background + #D7263D + + fontStyle + bold + + + + + + + \ No newline at end of file