Add serialized versions of themes (#6885)

This PR adds serialized versions of each of the themes that currently
ship with Zed.

In a future PR we'll be looking to make these the canonical
representations of the built-in themes.

Note that we're intentionally repurposing the `theme_importer` to do
this, so that crate is a bit rough-and-ready at the moment.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2024-01-27 13:35:43 -05:00 committed by GitHub
parent 9d6414b0cc
commit 0fe0683ef4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
25 changed files with 13672 additions and 14 deletions

View File

@ -6,6 +6,4 @@ script/node_modules
styles/node_modules
crates/collab/static/styles.css
vendor/bin
assets/themes/*.json
assets/themes/internal/*.json
assets/themes/staff/*.json
assets/themes/

2
.gitignore vendored
View File

@ -11,9 +11,7 @@
/crates/collab/static/styles.css
/crates/collab/.admins.json
/vendor/bin
/assets/themes/*.json
/assets/*licenses.md
/assets/themes/staff/*.json
**/venv
.build
Packages

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2017 <eliverlara@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,333 @@
{
"name": "Andromeda",
"author": "Zed Industries",
"themes": [
{
"name": "Andromeda",
"appearance": "dark",
"style": {
"border": "#2b2f38ff",
"border.variant": "#252931ff",
"border.focused": "#183934ff",
"border.selected": "#183934ff",
"border.transparent": "#00000000",
"border.disabled": "#292d37ff",
"elevated_surface.background": "#21242bff",
"surface.background": "#21242bff",
"background": "#262933ff",
"element.background": "#21242bff",
"element.hover": "#252931ff",
"element.active": "#2a2f39ff",
"element.selected": "#2a2f39ff",
"element.disabled": "#21242bff",
"drop_target.background": "#aca8ae80",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#252931ff",
"ghost_element.active": "#2a2f39ff",
"ghost_element.selected": "#2a2f39ff",
"ghost_element.disabled": "#21242bff",
"text": "#f7f7f8ff",
"text.muted": "#aca8aeff",
"text.placeholder": "#6b6b73ff",
"text.disabled": "#6b6b73ff",
"text.accent": "#10a793ff",
"icon": "#f7f7f8ff",
"icon.muted": "#aca8aeff",
"icon.disabled": "#6b6b73ff",
"icon.placeholder": "#aca8aeff",
"icon.accent": "#10a793ff",
"status_bar.background": "#262933ff",
"title_bar.background": "#262933ff",
"toolbar.background": "#1e2025ff",
"tab_bar.background": "#21242bff",
"tab.inactive_background": "#21242bff",
"tab.active_background": "#1e2025ff",
"search.match_background": null,
"panel.background": "#21242bff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#f7f7f84c",
"scrollbar.thumb.hover_background": "#252931ff",
"scrollbar.thumb.border": "#252931ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#21232aff",
"editor.foreground": "#f7f7f8ff",
"editor.background": "#1e2025ff",
"editor.gutter.background": "#1e2025ff",
"editor.subheader.background": "#21242bff",
"editor.active_line.background": "#21242bbf",
"editor.highlighted_line.background": "#21242bff",
"editor.line_number": "#f7f7f859",
"editor.active_line_number": "#f7f7f8ff",
"editor.invisible": "#64646dff",
"editor.wrap_guide": "#f7f7f80d",
"editor.active_wrap_guide": "#f7f7f81a",
"editor.document_highlight.read_background": "#10a7931a",
"editor.document_highlight.write_background": "#64646d66",
"terminal.background": "#1e2025ff",
"terminal.foreground": "#f7f7f8ff",
"terminal.bright_foreground": "#f7f7f8ff",
"terminal.dim_foreground": "#1e2025ff",
"terminal.ansi.black": "#1e2025ff",
"terminal.ansi.bright_black": "#40434cff",
"terminal.ansi.dim_black": "#f7f7f8ff",
"terminal.ansi.red": "#f82871ff",
"terminal.ansi.bright_red": "#8e0f3aff",
"terminal.ansi.dim_red": "#ffa3b5ff",
"terminal.ansi.green": "#96df71ff",
"terminal.ansi.bright_green": "#457c38ff",
"terminal.ansi.dim_green": "#cef0b9ff",
"terminal.ansi.yellow": "#fee56cff",
"terminal.ansi.bright_yellow": "#958334ff",
"terminal.ansi.dim_yellow": "#fef1b7ff",
"terminal.ansi.blue": "#10a793ff",
"terminal.ansi.bright_blue": "#1a5148ff",
"terminal.ansi.dim_blue": "#9cd4c7ff",
"terminal.ansi.magenta": "#c74cecff",
"terminal.ansi.bright_magenta": "#682681ff",
"terminal.ansi.dim_magenta": "#e7abf7ff",
"terminal.ansi.cyan": "#08e7c5ff",
"terminal.ansi.bright_cyan": "#008169ff",
"terminal.ansi.dim_cyan": "#a9f4e1ff",
"terminal.ansi.white": "#f7f7f8ff",
"terminal.ansi.bright_white": "#f7f7f8ff",
"terminal.ansi.dim_white": "#87858cff",
"link_text.hover": "#10a793ff",
"conflict": "#fee56cff",
"conflict.background": "#5c5014ff",
"conflict.border": "#796b26ff",
"created": "#96df71ff",
"created.background": "#184618ff",
"created.border": "#306129ff",
"deleted": "#f82871ff",
"deleted.background": "#54051bff",
"deleted.border": "#72092aff",
"error": "#f82871ff",
"error.background": "#54051bff",
"error.border": "#72092aff",
"hidden": "#6b6b73ff",
"hidden.background": "#262933ff",
"hidden.border": "#292d37ff",
"hint": "#618399ff",
"hint.background": "#12231fff",
"hint.border": "#183934ff",
"ignored": "#aca8aeff",
"ignored.background": "#262933ff",
"ignored.border": "#2b2f38ff",
"info": "#10a793ff",
"info.background": "#12231fff",
"info.border": "#183934ff",
"modified": "#fee56cff",
"modified.background": "#5c5014ff",
"modified.border": "#796b26ff",
"predictive": "#315f70ff",
"predictive.background": "#184618ff",
"predictive.border": "#306129ff",
"renamed": "#10a793ff",
"renamed.background": "#12231fff",
"renamed.border": "#183934ff",
"success": "#96df71ff",
"success.background": "#184618ff",
"success.border": "#306129ff",
"unreachable": "#aca8aeff",
"unreachable.background": "#262933ff",
"unreachable.border": "#2b2f38ff",
"warning": "#fee56cff",
"warning.background": "#5c5014ff",
"warning.border": "#796b26ff",
"syntax": {
"attribute": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#96df71ff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#afabb1ff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#afabb1ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#96df71ff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#f7f7f8ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#10a793ff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#fee56cff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#618399ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#f29c14ff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#96df71ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#96df71ff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#315f70ff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#f7f7f8ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#f7f7f8ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#d8d5dbff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#d8d5dbff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#d8d5dbff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#d8d5dbff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#d8d5dbff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#afabb1ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#f29c14ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#f7f7f8ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#08e7c5ff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#f7f7f8ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#10a793ff",
"font_style": null,
"font_weight": null
}
}
}
}
]
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2023 Bram de Haan, http://atelierbramdehaan.nl
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

File diff suppressed because it is too large Load Diff

21
assets/themes/ayu/LICENSE Normal file
View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2016 Ike Ku
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

987
assets/themes/ayu/ayu.json Normal file
View File

@ -0,0 +1,987 @@
{
"name": "Ayu",
"author": "Zed Industries",
"themes": [
{
"name": "Ayu Dark",
"appearance": "dark",
"style": {
"border": "#3f4043ff",
"border.variant": "#2d2f34ff",
"border.focused": "#1b4a6eff",
"border.selected": "#1b4a6eff",
"border.transparent": "#00000000",
"border.disabled": "#383a3eff",
"elevated_surface.background": "#1f2127ff",
"surface.background": "#1f2127ff",
"background": "#313337ff",
"element.background": "#1f2127ff",
"element.hover": "#2d2f34ff",
"element.active": "#3e4043ff",
"element.selected": "#3e4043ff",
"element.disabled": "#1f2127ff",
"drop_target.background": "#8a898680",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#2d2f34ff",
"ghost_element.active": "#3e4043ff",
"ghost_element.selected": "#3e4043ff",
"ghost_element.disabled": "#1f2127ff",
"text": "#bfbdb6ff",
"text.muted": "#8a8986ff",
"text.placeholder": "#696a6aff",
"text.disabled": "#696a6aff",
"text.accent": "#5ac1feff",
"icon": "#bfbdb6ff",
"icon.muted": "#8a8986ff",
"icon.disabled": "#696a6aff",
"icon.placeholder": "#8a8986ff",
"icon.accent": "#5ac1feff",
"status_bar.background": "#313337ff",
"title_bar.background": "#313337ff",
"toolbar.background": "#0d1016ff",
"tab_bar.background": "#1f2127ff",
"tab.inactive_background": "#1f2127ff",
"tab.active_background": "#0d1016ff",
"search.match_background": null,
"panel.background": "#1f2127ff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#bfbdb64c",
"scrollbar.thumb.hover_background": "#2d2f34ff",
"scrollbar.thumb.border": "#2d2f34ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#1b1e24ff",
"editor.foreground": "#bfbdb6ff",
"editor.background": "#0d1016ff",
"editor.gutter.background": "#0d1016ff",
"editor.subheader.background": "#1f2127ff",
"editor.active_line.background": "#1f2127bf",
"editor.highlighted_line.background": "#1f2127ff",
"editor.line_number": "#bfbdb659",
"editor.active_line_number": "#bfbdb6ff",
"editor.invisible": "#666767ff",
"editor.wrap_guide": "#bfbdb60d",
"editor.active_wrap_guide": "#bfbdb61a",
"editor.document_highlight.read_background": "#5ac1fe1a",
"editor.document_highlight.write_background": "#66676766",
"terminal.background": "#0d1016ff",
"terminal.foreground": "#bfbdb6ff",
"terminal.bright_foreground": "#bfbdb6ff",
"terminal.dim_foreground": "#0d1016ff",
"terminal.ansi.black": "#0d1016ff",
"terminal.ansi.bright_black": "#545557ff",
"terminal.ansi.dim_black": "#bfbdb6ff",
"terminal.ansi.red": "#ef7177ff",
"terminal.ansi.bright_red": "#83353bff",
"terminal.ansi.dim_red": "#febab9ff",
"terminal.ansi.green": "#aad84cff",
"terminal.ansi.bright_green": "#567627ff",
"terminal.ansi.dim_green": "#d8eca8ff",
"terminal.ansi.yellow": "#feb454ff",
"terminal.ansi.bright_yellow": "#92582bff",
"terminal.ansi.dim_yellow": "#ffd9aaff",
"terminal.ansi.blue": "#5ac1feff",
"terminal.ansi.bright_blue": "#27618cff",
"terminal.ansi.dim_blue": "#b7dffeff",
"terminal.ansi.magenta": "#39bae5ff",
"terminal.ansi.bright_magenta": "#205a78ff",
"terminal.ansi.dim_magenta": "#addcf3ff",
"terminal.ansi.cyan": "#95e5cbff",
"terminal.ansi.bright_cyan": "#4c806fff",
"terminal.ansi.dim_cyan": "#cbf2e4ff",
"terminal.ansi.white": "#bfbdb6ff",
"terminal.ansi.bright_white": "#bfbdb6ff",
"terminal.ansi.dim_white": "#787876ff",
"link_text.hover": "#5ac1feff",
"conflict": "#feb454ff",
"conflict.background": "#572815ff",
"conflict.border": "#754221ff",
"created": "#aad84cff",
"created.background": "#294113ff",
"created.border": "#405c1cff",
"deleted": "#ef7177ff",
"deleted.background": "#48161bff",
"deleted.border": "#66272dff",
"error": "#ef7177ff",
"error.background": "#48161bff",
"error.border": "#66272dff",
"hidden": "#696a6aff",
"hidden.background": "#313337ff",
"hidden.border": "#383a3eff",
"hint": "#628b80ff",
"hint.background": "#0d2f4eff",
"hint.border": "#1b4a6eff",
"ignored": "#8a8986ff",
"ignored.background": "#313337ff",
"ignored.border": "#3f4043ff",
"info": "#5ac1feff",
"info.background": "#0d2f4eff",
"info.border": "#1b4a6eff",
"modified": "#feb454ff",
"modified.background": "#572815ff",
"modified.border": "#754221ff",
"predictive": "#5a728bff",
"predictive.background": "#294113ff",
"predictive.border": "#405c1cff",
"renamed": "#5ac1feff",
"renamed.background": "#0d2f4eff",
"renamed.border": "#1b4a6eff",
"success": "#aad84cff",
"success.background": "#294113ff",
"success.border": "#405c1cff",
"unreachable": "#8a8986ff",
"unreachable.background": "#313337ff",
"unreachable.border": "#3f4043ff",
"warning": "#feb454ff",
"warning.background": "#572815ff",
"warning.border": "#754221ff",
"syntax": {
"attribute": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#d2a6ffff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#abb5be8c",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#8c8b88ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#d2a6ffff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#bfbdb6ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#fe8f40ff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#ffb353ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#628b80ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#ff8f3fff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#fe8f40ff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#aad84cff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#d2a6ffff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#f29668ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#5a728bff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#bfbdb6ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#bfbdb6ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#a6a5a0ff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#a6a5a0ff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#a6a5a0ff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#a6a5a0ff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#d2a6ffff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#a9d94bff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#8c8b88ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#95e6cbff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#e5b572ff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#fe8f40ff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#fe8f40ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#bfbdb6ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#59c2ffff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#bfbdb6ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#5ac1feff",
"font_style": null,
"font_weight": null
}
}
}
},
{
"name": "Ayu Light",
"appearance": "light",
"style": {
"border": "#cfd1d2ff",
"border.variant": "#dfe0e1ff",
"border.focused": "#c4daf6ff",
"border.selected": "#c4daf6ff",
"border.transparent": "#00000000",
"border.disabled": "#d5d6d8ff",
"elevated_surface.background": "#ececedff",
"surface.background": "#ececedff",
"background": "#dcdddeff",
"element.background": "#ececedff",
"element.hover": "#dfe0e1ff",
"element.active": "#cfd0d2ff",
"element.selected": "#cfd0d2ff",
"element.disabled": "#ececedff",
"drop_target.background": "#8b8e9280",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#dfe0e1ff",
"ghost_element.active": "#cfd0d2ff",
"ghost_element.selected": "#cfd0d2ff",
"ghost_element.disabled": "#ececedff",
"text": "#5c6166ff",
"text.muted": "#8b8e92ff",
"text.placeholder": "#a9acaeff",
"text.disabled": "#a9acaeff",
"text.accent": "#3b9ee5ff",
"icon": "#5c6166ff",
"icon.muted": "#8b8e92ff",
"icon.disabled": "#a9acaeff",
"icon.placeholder": "#8b8e92ff",
"icon.accent": "#3b9ee5ff",
"status_bar.background": "#dcdddeff",
"title_bar.background": "#dcdddeff",
"toolbar.background": "#fcfcfcff",
"tab_bar.background": "#ececedff",
"tab.inactive_background": "#ececedff",
"tab.active_background": "#fcfcfcff",
"search.match_background": null,
"panel.background": "#ececedff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#5c61664c",
"scrollbar.thumb.hover_background": "#dfe0e1ff",
"scrollbar.thumb.border": "#dfe0e1ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#efeff0ff",
"editor.foreground": "#5c6166ff",
"editor.background": "#fcfcfcff",
"editor.gutter.background": "#fcfcfcff",
"editor.subheader.background": "#ececedff",
"editor.active_line.background": "#ececedbf",
"editor.highlighted_line.background": "#ececedff",
"editor.line_number": "#5c616659",
"editor.active_line_number": "#5c6166ff",
"editor.invisible": "#acafb1ff",
"editor.wrap_guide": "#5c61660d",
"editor.active_wrap_guide": "#5c61661a",
"editor.document_highlight.read_background": "#3b9ee51a",
"editor.document_highlight.write_background": "#acafb166",
"terminal.background": "#fcfcfcff",
"terminal.foreground": "#5c6166ff",
"terminal.bright_foreground": "#5c6166ff",
"terminal.dim_foreground": "#fcfcfcff",
"terminal.ansi.black": "#fcfcfcff",
"terminal.ansi.bright_black": "#bcbec0ff",
"terminal.ansi.dim_black": "#5c6166ff",
"terminal.ansi.red": "#ef7271ff",
"terminal.ansi.bright_red": "#febab6ff",
"terminal.ansi.dim_red": "#833538ff",
"terminal.ansi.green": "#85b304ff",
"terminal.ansi.bright_green": "#c7d98fff",
"terminal.ansi.dim_green": "#445613ff",
"terminal.ansi.yellow": "#f1ad49ff",
"terminal.ansi.bright_yellow": "#fed5a3ff",
"terminal.ansi.dim_yellow": "#8a5227ff",
"terminal.ansi.blue": "#3b9ee5ff",
"terminal.ansi.bright_blue": "#abcdf2ff",
"terminal.ansi.dim_blue": "#214c76ff",
"terminal.ansi.magenta": "#55b4d3ff",
"terminal.ansi.bright_magenta": "#b1d8e8ff",
"terminal.ansi.dim_magenta": "#2f5669ff",
"terminal.ansi.cyan": "#4dbf99ff",
"terminal.ansi.bright_cyan": "#ace0cbff",
"terminal.ansi.dim_cyan": "#2a5f4aff",
"terminal.ansi.white": "#5c6166ff",
"terminal.ansi.bright_white": "#5c6166ff",
"terminal.ansi.dim_white": "#9c9fa2ff",
"link_text.hover": "#3b9ee5ff",
"conflict": "#f1ad49ff",
"conflict.background": "#ffeedaff",
"conflict.border": "#ffe1beff",
"created": "#85b304ff",
"created.background": "#e9efd2ff",
"created.border": "#d7e3aeff",
"deleted": "#ef7271ff",
"deleted.background": "#ffe3e1ff",
"deleted.border": "#ffcdcaff",
"error": "#ef7271ff",
"error.background": "#ffe3e1ff",
"error.border": "#ffcdcaff",
"hidden": "#a9acaeff",
"hidden.background": "#dcdddeff",
"hidden.border": "#d5d6d8ff",
"hint": "#8ca7c2ff",
"hint.background": "#deebfaff",
"hint.border": "#c4daf6ff",
"ignored": "#8b8e92ff",
"ignored.background": "#dcdddeff",
"ignored.border": "#cfd1d2ff",
"info": "#3b9ee5ff",
"info.background": "#deebfaff",
"info.border": "#c4daf6ff",
"modified": "#f1ad49ff",
"modified.background": "#ffeedaff",
"modified.border": "#ffe1beff",
"predictive": "#9eb9d3ff",
"predictive.background": "#e9efd2ff",
"predictive.border": "#d7e3aeff",
"renamed": "#3b9ee5ff",
"renamed.background": "#deebfaff",
"renamed.border": "#c4daf6ff",
"success": "#85b304ff",
"success.background": "#e9efd2ff",
"success.border": "#d7e3aeff",
"unreachable": "#8b8e92ff",
"unreachable.background": "#dcdddeff",
"unreachable.border": "#cfd1d2ff",
"warning": "#f1ad49ff",
"warning.background": "#ffeedaff",
"warning.border": "#ffe1beff",
"syntax": {
"attribute": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#a37accff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#787b8099",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#898d90ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#a37accff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#5c6166ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#f98d3fff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#f2ad48ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#8ca7c2ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#fa8d3eff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#f98d3fff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#85b304ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#a37accff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#ed9365ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#9eb9d3ff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#5c6166ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#5c6166ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#73777bff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#73777bff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#73777bff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#73777bff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#a37accff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#86b300ff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#898d90ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#4bbf98ff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#e6ba7eff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#f98d3fff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#f98d3fff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#5c6166ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#389ee6ff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#5c6166ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#3b9ee5ff",
"font_style": null,
"font_weight": null
}
}
}
},
{
"name": "Ayu Mirage",
"appearance": "dark",
"style": {
"border": "#53565dff",
"border.variant": "#43464fff",
"border.focused": "#24556fff",
"border.selected": "#24556fff",
"border.transparent": "#00000000",
"border.disabled": "#4d5058ff",
"elevated_surface.background": "#353944ff",
"surface.background": "#353944ff",
"background": "#464a52ff",
"element.background": "#353944ff",
"element.hover": "#43464fff",
"element.active": "#53565dff",
"element.selected": "#53565dff",
"element.disabled": "#353944ff",
"drop_target.background": "#9a9a9880",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#43464fff",
"ghost_element.active": "#53565dff",
"ghost_element.selected": "#53565dff",
"ghost_element.disabled": "#353944ff",
"text": "#cccac2ff",
"text.muted": "#9a9a98ff",
"text.placeholder": "#7b7d7fff",
"text.disabled": "#7b7d7fff",
"text.accent": "#72cffeff",
"icon": "#cccac2ff",
"icon.muted": "#9a9a98ff",
"icon.disabled": "#7b7d7fff",
"icon.placeholder": "#9a9a98ff",
"icon.accent": "#72cffeff",
"status_bar.background": "#464a52ff",
"title_bar.background": "#464a52ff",
"toolbar.background": "#242835ff",
"tab_bar.background": "#353944ff",
"tab.inactive_background": "#353944ff",
"tab.active_background": "#242835ff",
"search.match_background": null,
"panel.background": "#353944ff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#cccac24c",
"scrollbar.thumb.hover_background": "#43464fff",
"scrollbar.thumb.border": "#43464fff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#323641ff",
"editor.foreground": "#cccac2ff",
"editor.background": "#242835ff",
"editor.gutter.background": "#242835ff",
"editor.subheader.background": "#353944ff",
"editor.active_line.background": "#353944bf",
"editor.highlighted_line.background": "#353944ff",
"editor.line_number": "#cccac259",
"editor.active_line_number": "#cccac2ff",
"editor.invisible": "#787a7cff",
"editor.wrap_guide": "#cccac20d",
"editor.active_wrap_guide": "#cccac21a",
"editor.document_highlight.read_background": "#72cffe1a",
"editor.document_highlight.write_background": "#787a7c66",
"terminal.background": "#242835ff",
"terminal.foreground": "#cccac2ff",
"terminal.bright_foreground": "#cccac2ff",
"terminal.dim_foreground": "#242835ff",
"terminal.ansi.black": "#242835ff",
"terminal.ansi.bright_black": "#67696eff",
"terminal.ansi.dim_black": "#cccac2ff",
"terminal.ansi.red": "#f18779ff",
"terminal.ansi.bright_red": "#833f3cff",
"terminal.ansi.dim_red": "#fec4baff",
"terminal.ansi.green": "#d5fe80ff",
"terminal.ansi.bright_green": "#75993cff",
"terminal.ansi.dim_green": "#ecffc1ff",
"terminal.ansi.yellow": "#fecf72ff",
"terminal.ansi.bright_yellow": "#937237ff",
"terminal.ansi.dim_yellow": "#ffe7b9ff",
"terminal.ansi.blue": "#72cffeff",
"terminal.ansi.bright_blue": "#336d8dff",
"terminal.ansi.dim_blue": "#c1e7ffff",
"terminal.ansi.magenta": "#5bcde5ff",
"terminal.ansi.bright_magenta": "#2b6c7bff",
"terminal.ansi.dim_magenta": "#b7e7f2ff",
"terminal.ansi.cyan": "#95e5cbff",
"terminal.ansi.bright_cyan": "#4c806fff",
"terminal.ansi.dim_cyan": "#cbf2e4ff",
"terminal.ansi.white": "#cccac2ff",
"terminal.ansi.bright_white": "#cccac2ff",
"terminal.ansi.dim_white": "#898a8aff",
"link_text.hover": "#72cffeff",
"conflict": "#fecf72ff",
"conflict.background": "#574018ff",
"conflict.border": "#765a29ff",
"created": "#d5fe80ff",
"created.background": "#426117ff",
"created.border": "#5d7e2cff",
"deleted": "#f18779ff",
"deleted.background": "#481a1bff",
"deleted.border": "#662e2dff",
"error": "#f18779ff",
"error.background": "#481a1bff",
"error.border": "#662e2dff",
"hidden": "#7b7d7fff",
"hidden.background": "#464a52ff",
"hidden.border": "#4d5058ff",
"hint": "#7399a3ff",
"hint.background": "#123950ff",
"hint.border": "#24556fff",
"ignored": "#9a9a98ff",
"ignored.background": "#464a52ff",
"ignored.border": "#53565dff",
"info": "#72cffeff",
"info.background": "#123950ff",
"info.border": "#24556fff",
"modified": "#fecf72ff",
"modified.background": "#574018ff",
"modified.border": "#765a29ff",
"predictive": "#6d839bff",
"predictive.background": "#426117ff",
"predictive.border": "#5d7e2cff",
"renamed": "#72cffeff",
"renamed.background": "#123950ff",
"renamed.border": "#24556fff",
"success": "#d5fe80ff",
"success.background": "#426117ff",
"success.border": "#5d7e2cff",
"unreachable": "#9a9a98ff",
"unreachable.background": "#464a52ff",
"unreachable.border": "#53565dff",
"warning": "#fecf72ff",
"warning.background": "#574018ff",
"warning.border": "#765a29ff",
"syntax": {
"attribute": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#dfbfffff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#b8cfe680",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#9b9b99ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#dfbfffff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#cccac2ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#72cffeff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#fead66ff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#ffd173ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#7399a3ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#ffad65ff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#fead66ff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#d5fe80ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#dfbfffff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#f29e74ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#6d839bff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#cccac2ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#cccac2ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#b4b3aeff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#b4b3aeff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#b4b3aeff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#b4b3aeff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#dfbfffff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#d4fe7fff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#9b9b99ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#95e6cbff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#ffdfb3ff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#fead66ff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#fead66ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#cccac2ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#73cfffff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#cccac2ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#72cffeff",
"font_style": null,
"font_weight": null
}
}
}
}
]
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) <YEAR> <COPYRIGHT HOLDER>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

File diff suppressed because it is too large Load Diff

21
assets/themes/one/LICENSE Normal file
View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 GitHub Inc.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

670
assets/themes/one/one.json Normal file
View File

@ -0,0 +1,670 @@
{
"name": "One",
"author": "Zed Industries",
"themes": [
{
"name": "One Dark",
"appearance": "dark",
"style": {
"border": "#464b57ff",
"border.variant": "#363c46ff",
"border.focused": "#293b5bff",
"border.selected": "#293b5bff",
"border.transparent": "#00000000",
"border.disabled": "#414754ff",
"elevated_surface.background": "#2f343eff",
"surface.background": "#2f343eff",
"background": "#3b414dff",
"element.background": "#2f343eff",
"element.hover": "#363c46ff",
"element.active": "#454a56ff",
"element.selected": "#454a56ff",
"element.disabled": "#2f343eff",
"drop_target.background": "#83899480",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#363c46ff",
"ghost_element.active": "#454a56ff",
"ghost_element.selected": "#454a56ff",
"ghost_element.disabled": "#2f343eff",
"text": "#c8ccd4ff",
"text.muted": "#838994ff",
"text.placeholder": "#555a63ff",
"text.disabled": "#555a63ff",
"text.accent": "#74ade8ff",
"icon": "#c8ccd4ff",
"icon.muted": "#838994ff",
"icon.disabled": "#555a63ff",
"icon.placeholder": "#838994ff",
"icon.accent": "#74ade8ff",
"status_bar.background": "#3b414dff",
"title_bar.background": "#3b414dff",
"toolbar.background": "#282c33ff",
"tab_bar.background": "#2f343eff",
"tab.inactive_background": "#2f343eff",
"tab.active_background": "#282c33ff",
"search.match_background": null,
"panel.background": "#2f343eff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#c8ccd44c",
"scrollbar.thumb.hover_background": "#363c46ff",
"scrollbar.thumb.border": "#363c46ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#2e333cff",
"editor.foreground": "#acb2beff",
"editor.background": "#282c33ff",
"editor.gutter.background": "#282c33ff",
"editor.subheader.background": "#2f343eff",
"editor.active_line.background": "#2f343ebf",
"editor.highlighted_line.background": "#2f343eff",
"editor.line_number": "#c8ccd459",
"editor.active_line_number": "#c8ccd4ff",
"editor.invisible": "#555a63ff",
"editor.wrap_guide": "#c8ccd40d",
"editor.active_wrap_guide": "#c8ccd41a",
"editor.document_highlight.read_background": "#74ade81a",
"editor.document_highlight.write_background": "#555a6366",
"terminal.background": "#282c33ff",
"terminal.foreground": "#c8ccd4ff",
"terminal.bright_foreground": "#c8ccd4ff",
"terminal.dim_foreground": "#282c33ff",
"terminal.ansi.black": "#282c33ff",
"terminal.ansi.bright_black": "#525561ff",
"terminal.ansi.dim_black": "#c8ccd4ff",
"terminal.ansi.red": "#d07277ff",
"terminal.ansi.bright_red": "#673a3cff",
"terminal.ansi.dim_red": "#eab7b9ff",
"terminal.ansi.green": "#a1c181ff",
"terminal.ansi.bright_green": "#4d6140ff",
"terminal.ansi.dim_green": "#d1e0bfff",
"terminal.ansi.yellow": "#dec184ff",
"terminal.ansi.bright_yellow": "#786441ff",
"terminal.ansi.dim_yellow": "#f1dfc1ff",
"terminal.ansi.blue": "#74ade8ff",
"terminal.ansi.bright_blue": "#385378ff",
"terminal.ansi.dim_blue": "#bed5f4ff",
"terminal.ansi.magenta": "#be5046ff",
"terminal.ansi.bright_magenta": "#5e2b26ff",
"terminal.ansi.dim_magenta": "#e6a79eff",
"terminal.ansi.cyan": "#6eb4bfff",
"terminal.ansi.bright_cyan": "#3a565bff",
"terminal.ansi.dim_cyan": "#b9d9dfff",
"terminal.ansi.white": "#c8ccd4ff",
"terminal.ansi.bright_white": "#c8ccd4ff",
"terminal.ansi.dim_white": "#575d65ff",
"link_text.hover": "#74ade8ff",
"conflict": "#dec184ff",
"conflict.background": "#41321dff",
"conflict.border": "#5d4c2fff",
"created": "#a1c181ff",
"created.background": "#222e1dff",
"created.border": "#38482fff",
"deleted": "#d07277ff",
"deleted.background": "#301b1bff",
"deleted.border": "#4c2b2cff",
"error": "#d07277ff",
"error.background": "#301b1bff",
"error.border": "#4c2b2cff",
"hidden": "#555a63ff",
"hidden.background": "#3b414dff",
"hidden.border": "#414754ff",
"hint": "#5a6f89ff",
"hint.background": "#18243dff",
"hint.border": "#293b5bff",
"ignored": "#838994ff",
"ignored.background": "#3b414dff",
"ignored.border": "#464b57ff",
"info": "#74ade8ff",
"info.background": "#18243dff",
"info.border": "#293b5bff",
"modified": "#dec184ff",
"modified.background": "#41321dff",
"modified.border": "#5d4c2fff",
"predictive": "#5a6a87ff",
"predictive.background": "#222e1dff",
"predictive.border": "#38482fff",
"renamed": "#74ade8ff",
"renamed.background": "#18243dff",
"renamed.border": "#293b5bff",
"success": "#a1c181ff",
"success.background": "#222e1dff",
"success.border": "#38482fff",
"unreachable": "#838994ff",
"unreachable.background": "#3b414dff",
"unreachable.border": "#464b57ff",
"warning": "#dec184ff",
"warning.background": "#41321dff",
"warning.border": "#5d4c2fff",
"syntax": {
"attribute": {
"color": "#74ade8ff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#bf956aff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#5d636fff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#878e98ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#dfc184ff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#73ade9ff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#c8ccd4ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#74ade8ff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#bf956aff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#d07277ff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#73ade9ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#5a6f89ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#b477cfff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#74ade8ff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#73ade9ff",
"font_style": "normal",
"font_weight": null
},
"link_uri": {
"color": "#6eb4bfff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#bf956aff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#6eb4bfff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#5a6a87ff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#c8ccd4ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#acb2beff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#d07277ff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#acb2beff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#b2b9c6ff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#b2b9c6ff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#d07277ff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#b1574bff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#a1c181ff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#878e98ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#bf956aff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#bf956aff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#bf956aff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#74ade8ff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#a1c181ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#d07277ff",
"font_style": null,
"font_weight": 400
},
"type": {
"color": "#6eb4bfff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#c8ccd4ff",
"font_style": null,
"font_weight": null
},
"variable.special": {
"color": "#bf956aff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#73ade9ff",
"font_style": null,
"font_weight": null
}
}
}
},
{
"name": "One Light",
"appearance": "light",
"style": {
"border": "#c9c9caff",
"border.variant": "#dfdfe0ff",
"border.focused": "#cbcdf6ff",
"border.selected": "#cbcdf6ff",
"border.transparent": "#00000000",
"border.disabled": "#d3d3d4ff",
"elevated_surface.background": "#ebebecff",
"surface.background": "#ebebecff",
"background": "#dcdcddff",
"element.background": "#ebebecff",
"element.hover": "#dfdfe0ff",
"element.active": "#cacacaff",
"element.selected": "#cacacaff",
"element.disabled": "#ebebecff",
"drop_target.background": "#7e808780",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#dfdfe0ff",
"ghost_element.active": "#cacacaff",
"ghost_element.selected": "#cacacaff",
"ghost_element.disabled": "#ebebecff",
"text": "#383a41ff",
"text.muted": "#7e8087ff",
"text.placeholder": "#a1a1a3ff",
"text.disabled": "#a1a1a3ff",
"text.accent": "#5c78e2ff",
"icon": "#383a41ff",
"icon.muted": "#7e8087ff",
"icon.disabled": "#a1a1a3ff",
"icon.placeholder": "#7e8087ff",
"icon.accent": "#5c78e2ff",
"status_bar.background": "#dcdcddff",
"title_bar.background": "#dcdcddff",
"toolbar.background": "#fafafaff",
"tab_bar.background": "#ebebecff",
"tab.inactive_background": "#ebebecff",
"tab.active_background": "#fafafaff",
"search.match_background": null,
"panel.background": "#ebebecff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#383a414c",
"scrollbar.thumb.hover_background": "#dfdfe0ff",
"scrollbar.thumb.border": "#dfdfe0ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#eeeeeeff",
"editor.foreground": "#383a41ff",
"editor.background": "#fafafaff",
"editor.gutter.background": "#fafafaff",
"editor.subheader.background": "#ebebecff",
"editor.active_line.background": "#ebebecbf",
"editor.highlighted_line.background": "#ebebecff",
"editor.line_number": "#383a4159",
"editor.active_line_number": "#383a41ff",
"editor.invisible": "#a3a3a4ff",
"editor.wrap_guide": "#383a410d",
"editor.active_wrap_guide": "#383a411a",
"editor.document_highlight.read_background": "#5c78e21a",
"editor.document_highlight.write_background": "#a3a3a466",
"terminal.background": "#fafafaff",
"terminal.foreground": "#383a41ff",
"terminal.bright_foreground": "#383a41ff",
"terminal.dim_foreground": "#fafafaff",
"terminal.ansi.black": "#fafafaff",
"terminal.ansi.bright_black": "#aaaaaaff",
"terminal.ansi.dim_black": "#383a41ff",
"terminal.ansi.red": "#d36151ff",
"terminal.ansi.bright_red": "#f0b0a4ff",
"terminal.ansi.dim_red": "#6f312aff",
"terminal.ansi.green": "#669f59ff",
"terminal.ansi.bright_green": "#b2cfa9ff",
"terminal.ansi.dim_green": "#354d2eff",
"terminal.ansi.yellow": "#dec184ff",
"terminal.ansi.bright_yellow": "#f1dfc1ff",
"terminal.ansi.dim_yellow": "#786441ff",
"terminal.ansi.blue": "#5c78e2ff",
"terminal.ansi.bright_blue": "#b5baf2ff",
"terminal.ansi.dim_blue": "#2d3d75ff",
"terminal.ansi.magenta": "#984ea5ff",
"terminal.ansi.bright_magenta": "#cea6d3ff",
"terminal.ansi.dim_magenta": "#4b2a50ff",
"terminal.ansi.cyan": "#3a82b7ff",
"terminal.ansi.bright_cyan": "#a3bedaff",
"terminal.ansi.dim_cyan": "#254058ff",
"terminal.ansi.white": "#383a41ff",
"terminal.ansi.bright_white": "#383a41ff",
"terminal.ansi.dim_white": "#97979aff",
"link_text.hover": "#5c78e2ff",
"conflict": "#dec184ff",
"conflict.background": "#faf2e6ff",
"conflict.border": "#f4e7d1ff",
"created": "#669f59ff",
"created.background": "#dfeadbff",
"created.border": "#c8dcc1ff",
"deleted": "#d36151ff",
"deleted.background": "#fbdfd9ff",
"deleted.border": "#f6c6bdff",
"error": "#d36151ff",
"error.background": "#fbdfd9ff",
"error.border": "#f6c6bdff",
"hidden": "#a1a1a3ff",
"hidden.background": "#dcdcddff",
"hidden.border": "#d3d3d4ff",
"hint": "#9294beff",
"hint.background": "#e2e2faff",
"hint.border": "#cbcdf6ff",
"ignored": "#7e8087ff",
"ignored.background": "#dcdcddff",
"ignored.border": "#c9c9caff",
"info": "#5c78e2ff",
"info.background": "#e2e2faff",
"info.border": "#cbcdf6ff",
"modified": "#dec184ff",
"modified.background": "#faf2e6ff",
"modified.border": "#f4e7d1ff",
"predictive": "#9b9ec6ff",
"predictive.background": "#dfeadbff",
"predictive.border": "#c8dcc1ff",
"renamed": "#5c78e2ff",
"renamed.background": "#e2e2faff",
"renamed.border": "#cbcdf6ff",
"success": "#669f59ff",
"success.background": "#dfeadbff",
"success.border": "#c8dcc1ff",
"unreachable": "#7e8087ff",
"unreachable.background": "#dcdcddff",
"unreachable.border": "#c9c9caff",
"warning": "#dec184ff",
"warning.background": "#faf2e6ff",
"warning.border": "#f4e7d1ff",
"syntax": {
"attribute": {
"color": "#5c78e2ff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#ad6e25ff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#a2a3a7ff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#7c7e86ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#669f59ff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#5c78e2ff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#383a41ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#5c78e2ff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#ad6e25ff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#d3604fff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#5b79e3ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#9294beff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#a449abff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#5c78e2ff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#5b79e3ff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#3882b7ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#ad6e25ff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#3882b7ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#9b9ec6ff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#383a41ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#383a41ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#d3604fff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#383a41ff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#4d4f52ff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#4d4f52ff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#d3604fff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#b92b46ff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#649f57ff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#7c7e86ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#ad6e26ff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#ad6e26ff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#ad6e26ff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#5c78e2ff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#649f57ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#d3604fff",
"font_style": null,
"font_weight": 400
},
"type": {
"color": "#3882b7ff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#383a41ff",
"font_style": null,
"font_weight": null
},
"variable.special": {
"color": "#ad6e25ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#5b79e3ff",
"font_style": null,
"font_weight": null
}
}
}
}
]
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2021 Emilia Dunfelt
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2019 George Essig
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,333 @@
{
"name": "Sandcastle",
"author": "Zed Industries",
"themes": [
{
"name": "Sandcastle",
"appearance": "dark",
"style": {
"border": "#3d4350ff",
"border.variant": "#313741ff",
"border.focused": "#223131ff",
"border.selected": "#223131ff",
"border.transparent": "#00000000",
"border.disabled": "#393f4aff",
"elevated_surface.background": "#2b3038ff",
"surface.background": "#2b3038ff",
"background": "#333944ff",
"element.background": "#2b3038ff",
"element.hover": "#313741ff",
"element.active": "#3d4350ff",
"element.selected": "#3d4350ff",
"element.disabled": "#2b3038ff",
"drop_target.background": "#a6978280",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#313741ff",
"ghost_element.active": "#3d4350ff",
"ghost_element.selected": "#3d4350ff",
"ghost_element.disabled": "#2b3038ff",
"text": "#fdf4c1ff",
"text.muted": "#a69782ff",
"text.placeholder": "#827568ff",
"text.disabled": "#827568ff",
"text.accent": "#518b8bff",
"icon": "#fdf4c1ff",
"icon.muted": "#a69782ff",
"icon.disabled": "#827568ff",
"icon.placeholder": "#a69782ff",
"icon.accent": "#518b8bff",
"status_bar.background": "#333944ff",
"title_bar.background": "#333944ff",
"toolbar.background": "#282c33ff",
"tab_bar.background": "#2b3038ff",
"tab.inactive_background": "#2b3038ff",
"tab.active_background": "#282c33ff",
"search.match_background": null,
"panel.background": "#2b3038ff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#fdf4c14c",
"scrollbar.thumb.hover_background": "#313741ff",
"scrollbar.thumb.border": "#313741ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#2a2f38ff",
"editor.foreground": "#fdf4c1ff",
"editor.background": "#282c33ff",
"editor.gutter.background": "#282c33ff",
"editor.subheader.background": "#2b3038ff",
"editor.active_line.background": "#2b3038bf",
"editor.highlighted_line.background": "#2b3038ff",
"editor.line_number": "#fdf4c159",
"editor.active_line_number": "#fdf4c1ff",
"editor.invisible": "#7c6f64ff",
"editor.wrap_guide": "#fdf4c10d",
"editor.active_wrap_guide": "#fdf4c11a",
"editor.document_highlight.read_background": "#518b8b1a",
"editor.document_highlight.write_background": "#7c6f6466",
"terminal.background": "#282c33ff",
"terminal.foreground": "#fdf4c1ff",
"terminal.bright_foreground": "#fdf4c1ff",
"terminal.dim_foreground": "#282c33ff",
"terminal.ansi.black": "#282c33ff",
"terminal.ansi.bright_black": "#5e5753ff",
"terminal.ansi.dim_black": "#fdf4c1ff",
"terminal.ansi.red": "#b3627aff",
"terminal.ansi.bright_red": "#57333dff",
"terminal.ansi.dim_red": "#dcb0bbff",
"terminal.ansi.green": "#83a598ff",
"terminal.ansi.bright_green": "#414f4aff",
"terminal.ansi.dim_green": "#c0d2cbff",
"terminal.ansi.yellow": "#a07d3aff",
"terminal.ansi.bright_yellow": "#4e3f22ff",
"terminal.ansi.dim_yellow": "#d3bd9aff",
"terminal.ansi.blue": "#518b8bff",
"terminal.ansi.bright_blue": "#2c4444ff",
"terminal.ansi.dim_blue": "#a8c4c4ff",
"terminal.ansi.magenta": "#a87222ff",
"terminal.ansi.bright_magenta": "#523918ff",
"terminal.ansi.dim_magenta": "#dab78eff",
"terminal.ansi.cyan": "#83a598ff",
"terminal.ansi.bright_cyan": "#414f4aff",
"terminal.ansi.dim_cyan": "#c0d2cbff",
"terminal.ansi.white": "#fdf4c1ff",
"terminal.ansi.bright_white": "#fdf4c1ff",
"terminal.ansi.dim_white": "#958776ff",
"link_text.hover": "#518b8bff",
"conflict": "#a07d3aff",
"conflict.background": "#231d12ff",
"conflict.border": "#392e19ff",
"created": "#83a598ff",
"created.background": "#1e2321ff",
"created.border": "#303a36ff",
"deleted": "#b3627aff",
"deleted.background": "#26191cff",
"deleted.border": "#3e272dff",
"error": "#b3627aff",
"error.background": "#26191cff",
"error.border": "#3e272dff",
"hidden": "#827568ff",
"hidden.background": "#333944ff",
"hidden.border": "#393f4aff",
"hint": "#727d68ff",
"hint.background": "#171e1eff",
"hint.border": "#223131ff",
"ignored": "#a69782ff",
"ignored.background": "#333944ff",
"ignored.border": "#3d4350ff",
"info": "#518b8bff",
"info.background": "#171e1eff",
"info.border": "#223131ff",
"modified": "#a07d3aff",
"modified.background": "#231d12ff",
"modified.border": "#392e19ff",
"predictive": "#5c6152ff",
"predictive.background": "#1e2321ff",
"predictive.border": "#303a36ff",
"renamed": "#518b8bff",
"renamed.background": "#171e1eff",
"renamed.border": "#223131ff",
"success": "#83a598ff",
"success.background": "#1e2321ff",
"success.border": "#303a36ff",
"unreachable": "#a69782ff",
"unreachable.background": "#333944ff",
"unreachable.border": "#3d4350ff",
"warning": "#a07d3aff",
"warning.background": "#231d12ff",
"warning.border": "#392e19ff",
"syntax": {
"attribute": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#83a598ff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#a89984ff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#a89984ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#83a598ff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#fdf4c1ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#518b8bff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#727d68ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#a07d3aff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#83a598ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#83a598ff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#5c6152ff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#fdf4c1ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#fdf4c1ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#d5c5a1ff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#d5c5a1ff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#d5c5a1ff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#d5c5a1ff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#d5c5a1ff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#a89984ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#a07d3aff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#fdf4c1ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#83a598ff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#fdf4c1ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#518b8bff",
"font_style": null,
"font_weight": null
}
}
}
}
]
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2011 Ethan Schoonover
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,660 @@
{
"name": "Solarized",
"author": "Zed Industries",
"themes": [
{
"name": "Solarized Dark",
"appearance": "dark",
"style": {
"border": "#2b4e58ff",
"border.variant": "#053541ff",
"border.focused": "#1b3149ff",
"border.selected": "#1b3149ff",
"border.transparent": "#00000000",
"border.disabled": "#19424dff",
"elevated_surface.background": "#04313bff",
"surface.background": "#04313bff",
"background": "#073743ff",
"element.background": "#04313bff",
"element.hover": "#053541ff",
"element.active": "#294d58ff",
"element.selected": "#294d58ff",
"element.disabled": "#04313bff",
"drop_target.background": "#93a1a180",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#053541ff",
"ghost_element.active": "#294d58ff",
"ghost_element.selected": "#294d58ff",
"ghost_element.disabled": "#04313bff",
"text": "#fdf6e3ff",
"text.muted": "#93a1a1ff",
"text.placeholder": "#6f8389ff",
"text.disabled": "#6f8389ff",
"text.accent": "#278ad1ff",
"icon": "#fdf6e3ff",
"icon.muted": "#93a1a1ff",
"icon.disabled": "#6f8389ff",
"icon.placeholder": "#93a1a1ff",
"icon.accent": "#278ad1ff",
"status_bar.background": "#073743ff",
"title_bar.background": "#073743ff",
"toolbar.background": "#002a35ff",
"tab_bar.background": "#04313bff",
"tab.inactive_background": "#04313bff",
"tab.active_background": "#002a35ff",
"search.match_background": null,
"panel.background": "#04313bff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#fdf6e34c",
"scrollbar.thumb.hover_background": "#053541ff",
"scrollbar.thumb.border": "#053541ff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#022f3bff",
"editor.foreground": "#fdf6e3ff",
"editor.background": "#002a35ff",
"editor.gutter.background": "#002a35ff",
"editor.subheader.background": "#04313bff",
"editor.active_line.background": "#04313bbf",
"editor.highlighted_line.background": "#04313bff",
"editor.line_number": "#fdf6e359",
"editor.active_line_number": "#fdf6e3ff",
"editor.invisible": "#6c8287ff",
"editor.wrap_guide": "#fdf6e30d",
"editor.active_wrap_guide": "#fdf6e31a",
"editor.document_highlight.read_background": "#278ad11a",
"editor.document_highlight.write_background": "#6c828766",
"terminal.background": "#002a35ff",
"terminal.foreground": "#fdf6e3ff",
"terminal.bright_foreground": "#fdf6e3ff",
"terminal.dim_foreground": "#002a35ff",
"terminal.ansi.black": "#002a35ff",
"terminal.ansi.bright_black": "#5c7279ff",
"terminal.ansi.dim_black": "#fdf6e3ff",
"terminal.ansi.red": "#dc3330ff",
"terminal.ansi.bright_red": "#7d181cff",
"terminal.ansi.dim_red": "#faa091ff",
"terminal.ansi.green": "#849903ff",
"terminal.ansi.bright_green": "#434a10ff",
"terminal.ansi.dim_green": "#c6cb8bff",
"terminal.ansi.yellow": "#b58902ff",
"terminal.ansi.bright_yellow": "#5d430fff",
"terminal.ansi.dim_yellow": "#e0c189ff",
"terminal.ansi.blue": "#278ad1ff",
"terminal.ansi.bright_blue": "#214365ff",
"terminal.ansi.dim_blue": "#a5c3e9ff",
"terminal.ansi.magenta": "#d33781ff",
"terminal.ansi.bright_magenta": "#6f1f3fff",
"terminal.ansi.dim_magenta": "#f0a2beff",
"terminal.ansi.cyan": "#2ba198ff",
"terminal.ansi.bright_cyan": "#204e4aff",
"terminal.ansi.dim_cyan": "#9fd0cbff",
"terminal.ansi.white": "#fdf6e3ff",
"terminal.ansi.bright_white": "#fdf6e3ff",
"terminal.ansi.dim_white": "#7b8e91ff",
"link_text.hover": "#278ad1ff",
"conflict": "#b58902ff",
"conflict.background": "#2e1d0cff",
"conflict.border": "#47300fff",
"created": "#849903ff",
"created.background": "#1e210cff",
"created.border": "#313510ff",
"deleted": "#dc3330ff",
"deleted.background": "#4a080eff",
"deleted.border": "#641015ff",
"error": "#dc3330ff",
"error.background": "#4a080eff",
"error.border": "#641015ff",
"hidden": "#6f8389ff",
"hidden.background": "#073743ff",
"hidden.border": "#19424dff",
"hint": "#4f8297ff",
"hint.background": "#141f2cff",
"hint.border": "#1b3149ff",
"ignored": "#93a1a1ff",
"ignored.background": "#073743ff",
"ignored.border": "#2b4e58ff",
"info": "#278ad1ff",
"info.background": "#141f2cff",
"info.border": "#1b3149ff",
"modified": "#b58902ff",
"modified.background": "#2e1d0cff",
"modified.border": "#47300fff",
"predictive": "#3f718bff",
"predictive.background": "#1e210cff",
"predictive.border": "#313510ff",
"renamed": "#278ad1ff",
"renamed.background": "#141f2cff",
"renamed.border": "#1b3149ff",
"success": "#849903ff",
"success.background": "#1e210cff",
"success.border": "#313510ff",
"unreachable": "#93a1a1ff",
"unreachable.background": "#073743ff",
"unreachable.border": "#2b4e58ff",
"warning": "#b58902ff",
"warning.background": "#2e1d0cff",
"warning.border": "#47300fff",
"syntax": {
"attribute": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#99a5a4ff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#99a5a4ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#fdf6e3ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#b58902ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#4f8297ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#cb4b16ff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#3f718bff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#fdf6e3ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#fdf6e3ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#efe9d6ff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#efe9d6ff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#efe9d6ff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#efe9d6ff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#efe9d6ff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#99a5a4ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#cb4b16ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#fdf6e3ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#2ba198ff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#fdf6e3ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#278ad1ff",
"font_style": null,
"font_weight": null
}
}
}
},
{
"name": "Solarized Light",
"appearance": "light",
"style": {
"border": "#9faaa8ff",
"border.variant": "#dcdacbff",
"border.focused": "#bfd3efff",
"border.selected": "#bfd3efff",
"border.transparent": "#00000000",
"border.disabled": "#b6bcb5ff",
"elevated_surface.background": "#f3eddaff",
"surface.background": "#f3eddaff",
"background": "#cfd0c4ff",
"element.background": "#f3eddaff",
"element.hover": "#dcdacbff",
"element.active": "#a2aca9ff",
"element.selected": "#a2aca9ff",
"element.disabled": "#f3eddaff",
"drop_target.background": "#34555e80",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#dcdacbff",
"ghost_element.active": "#a2aca9ff",
"ghost_element.selected": "#a2aca9ff",
"ghost_element.disabled": "#f3eddaff",
"text": "#002a35ff",
"text.muted": "#34555eff",
"text.placeholder": "#6a7f86ff",
"text.disabled": "#6a7f86ff",
"text.accent": "#288bd1ff",
"icon": "#002a35ff",
"icon.muted": "#34555eff",
"icon.disabled": "#6a7f86ff",
"icon.placeholder": "#34555eff",
"icon.accent": "#288bd1ff",
"status_bar.background": "#cfd0c4ff",
"title_bar.background": "#cfd0c4ff",
"toolbar.background": "#fdf6e3ff",
"tab_bar.background": "#f3eddaff",
"tab.inactive_background": "#f3eddaff",
"tab.active_background": "#fdf6e3ff",
"search.match_background": null,
"panel.background": "#f3eddaff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#002a354c",
"scrollbar.thumb.hover_background": "#dcdacbff",
"scrollbar.thumb.border": "#dcdacbff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#f5eedbff",
"editor.foreground": "#002a35ff",
"editor.background": "#fdf6e3ff",
"editor.gutter.background": "#fdf6e3ff",
"editor.subheader.background": "#f3eddaff",
"editor.active_line.background": "#f3eddabf",
"editor.highlighted_line.background": "#f3eddaff",
"editor.line_number": "#002a3559",
"editor.active_line_number": "#002a35ff",
"editor.invisible": "#6c8287ff",
"editor.wrap_guide": "#002a350d",
"editor.active_wrap_guide": "#002a351a",
"editor.document_highlight.read_background": "#288bd11a",
"editor.document_highlight.write_background": "#6c828766",
"terminal.background": "#fdf6e3ff",
"terminal.foreground": "#002a35ff",
"terminal.bright_foreground": "#002a35ff",
"terminal.dim_foreground": "#fdf6e3ff",
"terminal.ansi.black": "#fdf6e3ff",
"terminal.ansi.bright_black": "#7b8e91ff",
"terminal.ansi.dim_black": "#002a35ff",
"terminal.ansi.red": "#dc3330ff",
"terminal.ansi.bright_red": "#faa091ff",
"terminal.ansi.dim_red": "#7d181cff",
"terminal.ansi.green": "#849903ff",
"terminal.ansi.bright_green": "#c6cb8bff",
"terminal.ansi.dim_green": "#434a10ff",
"terminal.ansi.yellow": "#b58903ff",
"terminal.ansi.bright_yellow": "#e0c189ff",
"terminal.ansi.dim_yellow": "#5d430fff",
"terminal.ansi.blue": "#288bd1ff",
"terminal.ansi.bright_blue": "#a5c3e9ff",
"terminal.ansi.dim_blue": "#214365ff",
"terminal.ansi.magenta": "#d33781ff",
"terminal.ansi.bright_magenta": "#f0a2beff",
"terminal.ansi.dim_magenta": "#6f1f3fff",
"terminal.ansi.cyan": "#2ba198ff",
"terminal.ansi.bright_cyan": "#9fd0cbff",
"terminal.ansi.dim_cyan": "#204e4aff",
"terminal.ansi.white": "#002a35ff",
"terminal.ansi.bright_white": "#002a35ff",
"terminal.ansi.dim_white": "#5c7279ff",
"link_text.hover": "#288bd1ff",
"conflict": "#b58903ff",
"conflict.background": "#f5e6d0ff",
"conflict.border": "#ebd3aaff",
"created": "#849903ff",
"created.background": "#e9ead0ff",
"created.border": "#d6d9abff",
"deleted": "#dc3330ff",
"deleted.background": "#ffd9d2ff",
"deleted.border": "#ffbbafff",
"error": "#dc3330ff",
"error.background": "#ffd9d2ff",
"error.border": "#ffbbafff",
"hidden": "#6a7f86ff",
"hidden.background": "#cfd0c4ff",
"hidden.border": "#b6bcb5ff",
"hint": "#5789a3ff",
"hint.background": "#dbe6f6ff",
"hint.border": "#bfd3efff",
"ignored": "#34555eff",
"ignored.background": "#cfd0c4ff",
"ignored.border": "#9faaa8ff",
"info": "#288bd1ff",
"info.background": "#dbe6f6ff",
"info.border": "#bfd3efff",
"modified": "#b58903ff",
"modified.background": "#f5e6d0ff",
"modified.border": "#ebd3aaff",
"predictive": "#679aafff",
"predictive.background": "#e9ead0ff",
"predictive.border": "#d6d9abff",
"renamed": "#288bd1ff",
"renamed.background": "#dbe6f6ff",
"renamed.border": "#bfd3efff",
"success": "#849903ff",
"success.background": "#e9ead0ff",
"success.border": "#d6d9abff",
"unreachable": "#34555eff",
"unreachable.background": "#cfd0c4ff",
"unreachable.border": "#9faaa8ff",
"warning": "#b58903ff",
"warning.background": "#f5e6d0ff",
"warning.border": "#ebd3aaff",
"syntax": {
"attribute": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#30525bff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#30525bff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#002a35ff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#b58903ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#5789a3ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#cb4b17ff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#849903ff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#679aafff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#002a35ff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#002a35ff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#04333eff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#04333eff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#04333eff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#04333eff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#04333eff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#30525bff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#cb4b17ff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#002a35ff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#2ba198ff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#002a35ff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#288bd1ff",
"font_style": null,
"font_weight": null
}
}
}
}
]
}

View File

@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2019 Zoe FiriH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -0,0 +1,333 @@
{
"name": "Summercamp",
"author": "Zed Industries",
"themes": [
{
"name": "Summercamp",
"appearance": "dark",
"style": {
"border": "#302c21ff",
"border.variant": "#29251bff",
"border.focused": "#193760ff",
"border.selected": "#193760ff",
"border.transparent": "#00000000",
"border.disabled": "#2e2a1fff",
"elevated_surface.background": "#231f16ff",
"surface.background": "#231f16ff",
"background": "#2a261cff",
"element.background": "#231f16ff",
"element.hover": "#29251bff",
"element.active": "#2f2b20ff",
"element.selected": "#2f2b20ff",
"element.disabled": "#231f16ff",
"drop_target.background": "#736e5580",
"ghost_element.background": "#00000000",
"ghost_element.hover": "#29251bff",
"ghost_element.active": "#2f2b20ff",
"ghost_element.selected": "#2f2b20ff",
"ghost_element.disabled": "#231f16ff",
"text": "#f8f5deff",
"text.muted": "#736e55ff",
"text.placeholder": "#4c4735ff",
"text.disabled": "#4c4735ff",
"text.accent": "#499befff",
"icon": "#f8f5deff",
"icon.muted": "#736e55ff",
"icon.disabled": "#4c4735ff",
"icon.placeholder": "#736e55ff",
"icon.accent": "#499befff",
"status_bar.background": "#2a261cff",
"title_bar.background": "#2a261cff",
"toolbar.background": "#1b1810ff",
"tab_bar.background": "#231f16ff",
"tab.inactive_background": "#231f16ff",
"tab.active_background": "#1b1810ff",
"search.match_background": null,
"panel.background": "#231f16ff",
"panel.focused_border": null,
"pane.focused_border": null,
"scrollbar_thumb.background": "#f8f5de4c",
"scrollbar.thumb.hover_background": "#29251bff",
"scrollbar.thumb.border": "#29251bff",
"scrollbar.track.background": "#00000000",
"scrollbar.track.border": "#221e15ff",
"editor.foreground": "#f8f5deff",
"editor.background": "#1b1810ff",
"editor.gutter.background": "#1b1810ff",
"editor.subheader.background": "#231f16ff",
"editor.active_line.background": "#231f16bf",
"editor.highlighted_line.background": "#231f16ff",
"editor.line_number": "#f8f5de59",
"editor.active_line_number": "#f8f5deff",
"editor.invisible": "#494433ff",
"editor.wrap_guide": "#f8f5de0d",
"editor.active_wrap_guide": "#f8f5de1a",
"editor.document_highlight.read_background": "#499bef1a",
"editor.document_highlight.write_background": "#49443366",
"terminal.background": "#1b1810ff",
"terminal.foreground": "#f8f5deff",
"terminal.bright_foreground": "#f8f5deff",
"terminal.dim_foreground": "#1b1810ff",
"terminal.ansi.black": "#1b1810ff",
"terminal.ansi.bright_black": "#3a3527ff",
"terminal.ansi.dim_black": "#f8f5deff",
"terminal.ansi.red": "#e35041ff",
"terminal.ansi.bright_red": "#7f2724ff",
"terminal.ansi.dim_red": "#faaa9bff",
"terminal.ansi.green": "#5dea5aff",
"terminal.ansi.bright_green": "#28842cff",
"terminal.ansi.dim_green": "#b9f7aeff",
"terminal.ansi.yellow": "#f1fe28ff",
"terminal.ansi.bright_yellow": "#8c9a0fff",
"terminal.ansi.dim_yellow": "#ffffa2ff",
"terminal.ansi.blue": "#499befff",
"terminal.ansi.bright_blue": "#234b7fff",
"terminal.ansi.dim_blue": "#b1ccf8ff",
"terminal.ansi.magenta": "#f59be6ff",
"terminal.ansi.bright_magenta": "#88487eff",
"terminal.ansi.dim_magenta": "#fccef3ff",
"terminal.ansi.cyan": "#5aeabbff",
"terminal.ansi.bright_cyan": "#288461ff",
"terminal.ansi.dim_cyan": "#b7f6ddff",
"terminal.ansi.white": "#f8f5deff",
"terminal.ansi.bright_white": "#f8f5deff",
"terminal.ansi.dim_white": "#57533fff",
"link_text.hover": "#499befff",
"conflict": "#f1fe28ff",
"conflict.background": "#546205ff",
"conflict.border": "#717f0aff",
"created": "#5dea5aff",
"created.background": "#094d12ff",
"created.border": "#1a6a20ff",
"deleted": "#e35041ff",
"deleted.background": "#490f12ff",
"deleted.border": "#651c1cff",
"error": "#e35041ff",
"error.background": "#490f12ff",
"error.border": "#651c1cff",
"hidden": "#4c4735ff",
"hidden.background": "#2a261cff",
"hidden.border": "#2e2a1fff",
"hint": "#246e61ff",
"hint.background": "#0e2242ff",
"hint.border": "#193760ff",
"ignored": "#736e55ff",
"ignored.background": "#2a261cff",
"ignored.border": "#302c21ff",
"info": "#499befff",
"info.background": "#0e2242ff",
"info.border": "#193760ff",
"modified": "#f1fe28ff",
"modified.background": "#546205ff",
"modified.border": "#717f0aff",
"predictive": "#78434aff",
"predictive.background": "#094d12ff",
"predictive.border": "#1a6a20ff",
"renamed": "#499befff",
"renamed.background": "#0e2242ff",
"renamed.border": "#193760ff",
"success": "#5dea5aff",
"success.background": "#094d12ff",
"success.border": "#1a6a20ff",
"unreachable": "#736e55ff",
"unreachable.background": "#2a261cff",
"unreachable.border": "#302c21ff",
"warning": "#f1fe28ff",
"warning.background": "#546205ff",
"warning.border": "#717f0aff",
"syntax": {
"attribute": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"boolean": {
"color": "#5dea5aff",
"font_style": null,
"font_weight": null
},
"comment": {
"color": "#777159ff",
"font_style": null,
"font_weight": null
},
"comment.doc": {
"color": "#777159ff",
"font_style": null,
"font_weight": null
},
"constant": {
"color": "#5dea5aff",
"font_style": null,
"font_weight": null
},
"constructor": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"embedded": {
"color": "#f8f5deff",
"font_style": null,
"font_weight": null
},
"emphasis": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"emphasis.strong": {
"color": "#499befff",
"font_style": null,
"font_weight": 700
},
"enum": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"function": {
"color": "#f1fe28ff",
"font_style": null,
"font_weight": null
},
"hint": {
"color": "#246e61ff",
"font_style": null,
"font_weight": 700
},
"keyword": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"label": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"link_text": {
"color": "#faa11cff",
"font_style": "italic",
"font_weight": null
},
"link_uri": {
"color": "#5dea5aff",
"font_style": null,
"font_weight": null
},
"number": {
"color": "#5dea5aff",
"font_style": null,
"font_weight": null
},
"operator": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"predictive": {
"color": "#78434aff",
"font_style": "italic",
"font_weight": null
},
"preproc": {
"color": "#f8f5deff",
"font_style": null,
"font_weight": null
},
"primary": {
"color": "#f8f5deff",
"font_style": null,
"font_weight": null
},
"property": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"punctuation": {
"color": "#bfbb9bff",
"font_style": null,
"font_weight": null
},
"punctuation.bracket": {
"color": "#bfbb9bff",
"font_style": null,
"font_weight": null
},
"punctuation.delimiter": {
"color": "#bfbb9bff",
"font_style": null,
"font_weight": null
},
"punctuation.list_marker": {
"color": "#bfbb9bff",
"font_style": null,
"font_weight": null
},
"punctuation.special": {
"color": "#bfbb9bff",
"font_style": null,
"font_weight": null
},
"string": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"string.escape": {
"color": "#777159ff",
"font_style": null,
"font_weight": null
},
"string.regex": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"string.special": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"string.special.symbol": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"tag": {
"color": "#499befff",
"font_style": null,
"font_weight": null
},
"text.literal": {
"color": "#faa11cff",
"font_style": null,
"font_weight": null
},
"title": {
"color": "#f8f5deff",
"font_style": null,
"font_weight": 700
},
"type": {
"color": "#5aeabbff",
"font_style": null,
"font_weight": null
},
"variable": {
"color": "#f8f5deff",
"font_style": null,
"font_weight": null
},
"variant": {
"color": "#499befff",
"font_style": null,
"font_weight": null
}
}
}
}
]
}

View File

@ -26,10 +26,33 @@ fn try_parse_color(color: &str) -> Result<Hsla> {
Ok(hsla)
}
#[derive(Debug, PartialEq, Clone, Copy, Serialize, Deserialize, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub enum AppearanceContent {
Light,
Dark,
}
/// The content of a serialized theme family.
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct ThemeFamilyContent {
pub name: String,
pub author: String,
pub themes: Vec<ThemeContent>,
}
/// The content of a serialized theme.
#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
pub struct ThemeContent {
pub name: String,
pub appearance: AppearanceContent,
pub style: ThemeStyleContent,
}
/// The content of a serialized theme.
#[derive(Debug, Clone, Default, Serialize, Deserialize, JsonSchema)]
#[serde(default)]
pub struct ThemeContent {
pub struct ThemeStyleContent {
#[serde(flatten, default)]
pub colors: ThemeColorsContent,
@ -41,7 +64,7 @@ pub struct ThemeContent {
pub syntax: IndexMap<String, HighlightStyleContent>,
}
impl ThemeContent {
impl ThemeStyleContent {
/// Returns a [`ThemeColorsRefinement`] based on the colors in the [`ThemeContent`].
#[inline(always)]
pub fn theme_colors_refinement(&self) -> ThemeColorsRefinement {
@ -230,7 +253,7 @@ pub struct ThemeColorsContent {
/// Fill Color. Used for the accent fill color of an icon.
///
/// This might be used to show when a toggleable icon button is selected.
#[serde(rename = "con.accent")]
#[serde(rename = "icon.accent")]
pub icon_accent: Option<String>,
#[serde(rename = "status_bar.background")]

View File

@ -1,5 +1,5 @@
use crate::one_themes::one_dark;
use crate::{SyntaxTheme, Theme, ThemeContent, ThemeRegistry};
use crate::{SyntaxTheme, Theme, ThemeRegistry, ThemeStyleContent};
use anyhow::Result;
use gpui::{
px, AppContext, Font, FontFeatures, FontStyle, FontWeight, Pixels, Subscription, ViewContext,
@ -27,7 +27,7 @@ pub struct ThemeSettings {
pub buffer_font_size: Pixels,
pub buffer_line_height: BufferLineHeight,
pub active_theme: Arc<Theme>,
pub theme_overrides: Option<ThemeContent>,
pub theme_overrides: Option<ThemeStyleContent>,
}
#[derive(Default)]
@ -56,7 +56,7 @@ pub struct ThemeSettingsContent {
///
/// These values will override the ones on the current theme specified in `theme`.
#[serde(rename = "experimental.theme_overrides", default)]
pub theme_overrides: Option<ThemeContent>,
pub theme_overrides: Option<ThemeStyleContent>,
}
#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, JsonSchema, Default)]

View File

@ -23,7 +23,7 @@ pub use summercamp::*;
use crate::UserThemeFamily;
pub(crate) fn all_user_themes() -> Vec<UserThemeFamily> {
pub fn all_user_themes() -> Vec<UserThemeFamily> {
vec![
andromeda(),
atelier(),

View File

@ -23,5 +23,5 @@ serde.workspace = true
serde_json.workspace = true
simplelog = "0.9"
strum = { version = "0.25.0", features = ["derive"] }
theme = { path = "../theme", features = ["importing-themes"] }
theme = { path = "../theme", features = [] }
uuid.workspace = true

View File

@ -16,13 +16,17 @@ use any_ascii::any_ascii;
use anyhow::{anyhow, Context, Result};
use clap::Parser;
use convert_case::{Case, Casing};
use gpui::Hsla;
use indexmap::IndexMap;
use indoc::formatdoc;
use json_comments::StripComments;
use log::LevelFilter;
use serde::Deserialize;
use simplelog::{TermLogger, TerminalMode};
use theme::{Appearance, UserTheme, UserThemeFamily};
use theme::{
Appearance, FontWeightContent, HighlightStyleContent, StatusColorsContent, ThemeColorsContent,
ThemeContent, ThemeFamilyContent, ThemeStyleContent, UserTheme, UserThemeFamily,
};
use crate::theme_printer::UserThemeFamilyPrinter;
use crate::vscode::VsCodeTheme;
@ -100,6 +104,38 @@ fn main() -> Result<()> {
TermLogger::init(LevelFilter::Trace, log_config, TerminalMode::Mixed)
.expect("could not initialize logger");
if 1 < 2 {
let themes = Vec::new();
// Uncomment this line when you need to regenerate themes.
// let themes = theme::all_user_themes();
let mut families = Vec::new();
for family in themes {
families.push(convert_family(family));
}
for family in families {
let theme_family_slug = any_ascii(&family.name)
.replace("(", "")
.replace(")", "")
.to_case(Case::Snake);
let output_dir = PathBuf::from("assets/themes/").join(&theme_family_slug);
fs::create_dir_all(&output_dir)?;
let mut output_file =
File::create(output_dir.join(format!("{theme_family_slug}.json")))?;
let theme_json = serde_json::to_string_pretty(&family).unwrap();
output_file.write_all(format!("{theme_json}\n").as_bytes())?;
}
return Ok(());
}
let mut theme_families = Vec::new();
/// Whether VS Code themes should be imported.
@ -420,3 +456,240 @@ fn format_themes_crate() -> std::io::Result<std::process::Output> {
.args(["fmt", "--package", "theme"])
.output()
}
fn convert_family(family: UserThemeFamily) -> ThemeFamilyContent {
ThemeFamilyContent {
name: family.name,
author: family.author,
themes: family.themes.into_iter().map(convert_theme).collect(),
}
}
fn convert_theme(theme: UserTheme) -> ThemeContent {
ThemeContent {
name: theme.name,
appearance: match theme.appearance {
Appearance::Light => theme::AppearanceContent::Light,
Appearance::Dark => theme::AppearanceContent::Dark,
},
style: convert_theme_styles(theme.styles),
}
}
fn serialize_color(color: Hsla) -> String {
let rgba = color.to_rgb();
format!("#{:08x}", u32::from(rgba))
}
fn convert_theme_styles(styles: theme::UserThemeStylesRefinement) -> ThemeStyleContent {
ThemeStyleContent {
colors: ThemeColorsContent {
border: styles.colors.border.map(serialize_color),
border_variant: styles.colors.border_variant.map(serialize_color),
border_focused: styles.colors.border_focused.map(serialize_color),
border_selected: styles.colors.border_selected.map(serialize_color),
border_transparent: styles.colors.border_transparent.map(serialize_color),
border_disabled: styles.colors.border_disabled.map(serialize_color),
elevated_surface_background: styles
.colors
.elevated_surface_background
.map(serialize_color),
surface_background: styles.colors.surface_background.map(serialize_color),
background: styles.colors.background.map(serialize_color),
element_background: styles.colors.element_background.map(serialize_color),
element_hover: styles.colors.element_hover.map(serialize_color),
element_active: styles.colors.element_active.map(serialize_color),
element_selected: styles.colors.element_selected.map(serialize_color),
element_disabled: styles.colors.element_disabled.map(serialize_color),
drop_target_background: styles.colors.drop_target_background.map(serialize_color),
ghost_element_background: styles.colors.ghost_element_background.map(serialize_color),
ghost_element_hover: styles.colors.ghost_element_hover.map(serialize_color),
ghost_element_active: styles.colors.ghost_element_active.map(serialize_color),
ghost_element_selected: styles.colors.ghost_element_selected.map(serialize_color),
ghost_element_disabled: styles.colors.ghost_element_disabled.map(serialize_color),
text: styles.colors.text.map(serialize_color),
text_muted: styles.colors.text_muted.map(serialize_color),
text_placeholder: styles.colors.text_placeholder.map(serialize_color),
text_disabled: styles.colors.text_disabled.map(serialize_color),
text_accent: styles.colors.text_accent.map(serialize_color),
icon: styles.colors.icon.map(serialize_color),
icon_muted: styles.colors.icon_muted.map(serialize_color),
icon_disabled: styles.colors.icon_disabled.map(serialize_color),
icon_placeholder: styles.colors.icon_placeholder.map(serialize_color),
icon_accent: styles.colors.icon_accent.map(serialize_color),
status_bar_background: styles.colors.status_bar_background.map(serialize_color),
title_bar_background: styles.colors.title_bar_background.map(serialize_color),
toolbar_background: styles.colors.toolbar_background.map(serialize_color),
tab_bar_background: styles.colors.tab_bar_background.map(serialize_color),
tab_inactive_background: styles.colors.tab_inactive_background.map(serialize_color),
tab_active_background: styles.colors.tab_active_background.map(serialize_color),
search_match_background: styles.colors.search_match_background.map(serialize_color),
panel_background: styles.colors.panel_background.map(serialize_color),
panel_focused_border: styles.colors.panel_focused_border.map(serialize_color),
pane_focused_border: styles.colors.pane_focused_border.map(serialize_color),
scrollbar_thumb_background: styles
.colors
.scrollbar_thumb_background
.map(serialize_color),
scrollbar_thumb_hover_background: styles
.colors
.scrollbar_thumb_hover_background
.map(serialize_color),
scrollbar_thumb_border: styles.colors.scrollbar_thumb_border.map(serialize_color),
scrollbar_track_background: styles
.colors
.scrollbar_track_background
.map(serialize_color),
scrollbar_track_border: styles.colors.scrollbar_track_border.map(serialize_color),
editor_foreground: styles.colors.editor_foreground.map(serialize_color),
editor_background: styles.colors.editor_background.map(serialize_color),
editor_gutter_background: styles.colors.editor_gutter_background.map(serialize_color),
editor_subheader_background: styles
.colors
.editor_subheader_background
.map(serialize_color),
editor_active_line_background: styles
.colors
.editor_active_line_background
.map(serialize_color),
editor_highlighted_line_background: styles
.colors
.editor_highlighted_line_background
.map(serialize_color),
editor_line_number: styles.colors.editor_line_number.map(serialize_color),
editor_active_line_number: styles.colors.editor_active_line_number.map(serialize_color),
editor_invisible: styles.colors.editor_invisible.map(serialize_color),
editor_wrap_guide: styles.colors.editor_wrap_guide.map(serialize_color),
editor_active_wrap_guide: styles.colors.editor_active_wrap_guide.map(serialize_color),
editor_document_highlight_read_background: styles
.colors
.editor_document_highlight_read_background
.map(serialize_color),
editor_document_highlight_write_background: styles
.colors
.editor_document_highlight_write_background
.map(serialize_color),
terminal_background: styles.colors.terminal_background.map(serialize_color),
terminal_foreground: styles.colors.terminal_foreground.map(serialize_color),
terminal_bright_foreground: styles
.colors
.terminal_bright_foreground
.map(serialize_color),
terminal_dim_foreground: styles.colors.terminal_dim_foreground.map(serialize_color),
terminal_ansi_black: styles.colors.terminal_ansi_black.map(serialize_color),
terminal_ansi_bright_black: styles
.colors
.terminal_ansi_bright_black
.map(serialize_color),
terminal_ansi_dim_black: styles.colors.terminal_ansi_dim_black.map(serialize_color),
terminal_ansi_red: styles.colors.terminal_ansi_red.map(serialize_color),
terminal_ansi_bright_red: styles.colors.terminal_ansi_bright_red.map(serialize_color),
terminal_ansi_dim_red: styles.colors.terminal_ansi_dim_red.map(serialize_color),
terminal_ansi_green: styles.colors.terminal_ansi_green.map(serialize_color),
terminal_ansi_bright_green: styles
.colors
.terminal_ansi_bright_green
.map(serialize_color),
terminal_ansi_dim_green: styles.colors.terminal_ansi_dim_green.map(serialize_color),
terminal_ansi_yellow: styles.colors.terminal_ansi_yellow.map(serialize_color),
terminal_ansi_bright_yellow: styles
.colors
.terminal_ansi_bright_yellow
.map(serialize_color),
terminal_ansi_dim_yellow: styles.colors.terminal_ansi_dim_yellow.map(serialize_color),
terminal_ansi_blue: styles.colors.terminal_ansi_blue.map(serialize_color),
terminal_ansi_bright_blue: styles.colors.terminal_ansi_bright_blue.map(serialize_color),
terminal_ansi_dim_blue: styles.colors.terminal_ansi_dim_blue.map(serialize_color),
terminal_ansi_magenta: styles.colors.terminal_ansi_magenta.map(serialize_color),
terminal_ansi_bright_magenta: styles
.colors
.terminal_ansi_bright_magenta
.map(serialize_color),
terminal_ansi_dim_magenta: styles.colors.terminal_ansi_dim_magenta.map(serialize_color),
terminal_ansi_cyan: styles.colors.terminal_ansi_cyan.map(serialize_color),
terminal_ansi_bright_cyan: styles.colors.terminal_ansi_bright_cyan.map(serialize_color),
terminal_ansi_dim_cyan: styles.colors.terminal_ansi_dim_cyan.map(serialize_color),
terminal_ansi_white: styles.colors.terminal_ansi_white.map(serialize_color),
terminal_ansi_bright_white: styles
.colors
.terminal_ansi_bright_white
.map(serialize_color),
terminal_ansi_dim_white: styles.colors.terminal_ansi_dim_white.map(serialize_color),
link_text_hover: styles.colors.link_text_hover.map(serialize_color),
},
status: StatusColorsContent {
conflict: styles.status.conflict.map(serialize_color),
conflict_background: styles.status.conflict_background.map(serialize_color),
conflict_border: styles.status.conflict_border.map(serialize_color),
created: styles.status.created.map(serialize_color),
created_background: styles.status.created_background.map(serialize_color),
created_border: styles.status.created_border.map(serialize_color),
deleted: styles.status.deleted.map(serialize_color),
deleted_background: styles.status.deleted_background.map(serialize_color),
deleted_border: styles.status.deleted_border.map(serialize_color),
error: styles.status.error.map(serialize_color),
error_background: styles.status.error_background.map(serialize_color),
error_border: styles.status.error_border.map(serialize_color),
hidden: styles.status.hidden.map(serialize_color),
hidden_background: styles.status.hidden_background.map(serialize_color),
hidden_border: styles.status.hidden_border.map(serialize_color),
hint: styles.status.hint.map(serialize_color),
hint_background: styles.status.hint_background.map(serialize_color),
hint_border: styles.status.hint_border.map(serialize_color),
ignored: styles.status.ignored.map(serialize_color),
ignored_background: styles.status.ignored_background.map(serialize_color),
ignored_border: styles.status.ignored_border.map(serialize_color),
info: styles.status.info.map(serialize_color),
info_background: styles.status.info_background.map(serialize_color),
info_border: styles.status.info_border.map(serialize_color),
modified: styles.status.modified.map(serialize_color),
modified_background: styles.status.modified_background.map(serialize_color),
modified_border: styles.status.modified_border.map(serialize_color),
predictive: styles.status.predictive.map(serialize_color),
predictive_background: styles.status.predictive_background.map(serialize_color),
predictive_border: styles.status.predictive_border.map(serialize_color),
renamed: styles.status.renamed.map(serialize_color),
renamed_background: styles.status.renamed_background.map(serialize_color),
renamed_border: styles.status.renamed_border.map(serialize_color),
success: styles.status.success.map(serialize_color),
success_background: styles.status.success_background.map(serialize_color),
success_border: styles.status.success_border.map(serialize_color),
unreachable: styles.status.unreachable.map(serialize_color),
unreachable_background: styles.status.unreachable_background.map(serialize_color),
unreachable_border: styles.status.unreachable_border.map(serialize_color),
warning: styles.status.warning.map(serialize_color),
warning_background: styles.status.warning_background.map(serialize_color),
warning_border: styles.status.warning_border.map(serialize_color),
},
syntax: styles
.syntax
.map(|syntax| {
IndexMap::from_iter(syntax.highlights.into_iter().map(|(name, style)| {
(
name,
HighlightStyleContent {
color: style.color.map(serialize_color),
font_style: style.font_style.map(|font_style| match font_style {
theme::UserFontStyle::Normal => theme::FontStyleContent::Normal,
theme::UserFontStyle::Italic => theme::FontStyleContent::Italic,
theme::UserFontStyle::Oblique => theme::FontStyleContent::Oblique,
}),
font_weight: style.font_weight.map(|font_weight| match font_weight.0 {
_ if font_weight.0 == 100.0 => FontWeightContent::Thin,
_ if font_weight.0 == 200.0 => FontWeightContent::ExtraLight,
_ if font_weight.0 == 300.0 => FontWeightContent::Light,
_ if font_weight.0 == 400.0 => FontWeightContent::Normal,
_ if font_weight.0 == 500.0 => FontWeightContent::Medium,
_ if font_weight.0 == 600.0 => FontWeightContent::Semibold,
_ if font_weight.0 == 700.0 => FontWeightContent::Bold,
_ if font_weight.0 == 800.0 => FontWeightContent::ExtraBold,
_ if font_weight.0 == 900.0 => FontWeightContent::Black,
_ => unreachable!(),
}),
},
)
}))
})
.unwrap_or_default(),
}
}