summaryrefslogtreecommitdiff
path: root/vendor/themes
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-07-31 02:21:01 -0300
committerGabriel Schneider <[email protected]>2026-08-01 15:02:08 -0300
commit0bfa4615988c0d1bcaa38453375760c60076c5ea (patch)
treefab4f972c10b07739aabc9d772c43e102bce2c07 /vendor/themes
parentbe404e0d4f91548af6ed600b2fd2027ad8a041c7 (diff)
downloadpardes-0bfa4615988c0d1bcaa38453375760c60076c5ea.tar.gz
pardes-0bfa4615988c0d1bcaa38453375760c60076c5ea.zip
themes: one file each, generated from helix and zed, picked by stepping a list
Each theme is a .zig file of pure data and nothing enumerates them by hand — fold() walks the container's declarations, so a theme is a file and that is the whole registration. Field by field rather than a wholesale coercion, which makes a missing field a compile error that names it. tools/gen_themes.zig reads helix .toml and zed .json out of vendor/themes and emits one .zig each; build.zig reads that directory, so adding a theme is dropping a file in. Output goes to the build cache rather than the tree, so zig owns the freshness check and a deleted source cannot leave a stale theme behind. Vendored, not read from the genizah: the build stays offline. A source it cannot map is a hard error naming the file and the key, never a silently black-on-black theme. ThemeSel is the clever half. Traits gained an `executes` column, so n/N over that buffer hands the whole line to Exec instead of the leading word to Look — both arms the ordinary builtin, so a stepped row does exactly what the matching mouse button on it would. Stepping the list previews each theme live. The trait is a pane property, not an output-pane branch, so any pane whose lines are commands can opt in. Goldens: leader gains SPC t t; theme's fourth NextColor no longer wraps to helix because the ring is fifteen long. New: themesel.
Diffstat (limited to 'vendor/themes')
-rw-r--r--vendor/themes/ayu.LICENSE21
-rw-r--r--vendor/themes/ayu.json1228
-rw-r--r--vendor/themes/catppuccin_mocha.toml168
-rw-r--r--vendor/themes/dracula.toml159
-rw-r--r--vendor/themes/everforest_light.toml150
-rw-r--r--vendor/themes/gruvbox.toml153
-rw-r--r--vendor/themes/helix.LICENSE373
-rw-r--r--vendor/themes/monokai.toml121
-rw-r--r--vendor/themes/nord.toml199
-rw-r--r--vendor/themes/one.LICENSE21
-rw-r--r--vendor/themes/one.json843
-rw-r--r--vendor/themes/solarized_light.toml155
12 files changed, 3591 insertions, 0 deletions
diff --git a/vendor/themes/ayu.LICENSE b/vendor/themes/ayu.LICENSE
new file mode 100644
index 00000000..37a92292
--- /dev/null
+++ b/vendor/themes/ayu.LICENSE
@@ -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.
diff --git a/vendor/themes/ayu.json b/vendor/themes/ayu.json
new file mode 100644
index 00000000..ee5073e7
--- /dev/null
+++ b/vendor/themes/ayu.json
@@ -0,0 +1,1228 @@
+{
+ "$schema": "https://zed.dev/schema/themes/v0.2.0.json",
+ "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",
+ "title_bar.inactive_background": "#1f2127ff",
+ "toolbar.background": "#0d1016ff",
+ "tab_bar.background": "#1f2127ff",
+ "tab.inactive_background": "#1f2127ff",
+ "tab.active_background": "#0d1016ff",
+ "search.match_background": "#5ac2fe66",
+ "search.active_match_background": "#ea570166",
+ "panel.background": "#1f2127ff",
+ "panel.focused_border": "#5ac1feff",
+ "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": "#4b4c4e",
+ "editor.active_line_number": "#cbcccd",
+ "editor.hover_line_number": "#a1a2a5",
+ "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": "#85847fff",
+ "terminal.ansi.black": "#0d1016ff",
+ "terminal.ansi.bright_black": "#545557ff",
+ "terminal.ansi.dim_black": "#3a3b3cff",
+ "terminal.ansi.red": "#ef7177ff",
+ "terminal.ansi.bright_red": "#83353bff",
+ "terminal.ansi.dim_red": "#a74f53ff",
+ "terminal.ansi.green": "#aad84cff",
+ "terminal.ansi.bright_green": "#567627ff",
+ "terminal.ansi.dim_green": "#769735ff",
+ "terminal.ansi.yellow": "#feb454ff",
+ "terminal.ansi.bright_yellow": "#92582bff",
+ "terminal.ansi.dim_yellow": "#b17d3aff",
+ "terminal.ansi.blue": "#5ac1feff",
+ "terminal.ansi.bright_blue": "#27618cff",
+ "terminal.ansi.dim_blue": "#3e87b1ff",
+ "terminal.ansi.magenta": "#39bae5ff",
+ "terminal.ansi.bright_magenta": "#205a78ff",
+ "terminal.ansi.dim_magenta": "#2782a0ff",
+ "terminal.ansi.cyan": "#95e5cbff",
+ "terminal.ansi.bright_cyan": "#4c806fff",
+ "terminal.ansi.dim_cyan": "#68a08eff",
+ "terminal.ansi.white": "#bfbdb6ff",
+ "terminal.ansi.bright_white": "#fafafaff",
+ "terminal.ansi.dim_white": "#85847fff",
+ "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": "#696a6aff",
+ "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",
+ "players": [
+ {
+ "cursor": "#5ac1feff",
+ "background": "#5ac1feff",
+ "selection": "#5ac1fe3d"
+ },
+ {
+ "cursor": "#39bae5ff",
+ "background": "#39bae5ff",
+ "selection": "#39bae53d"
+ },
+ {
+ "cursor": "#fe8f40ff",
+ "background": "#fe8f40ff",
+ "selection": "#fe8f403d"
+ },
+ {
+ "cursor": "#d2a6feff",
+ "background": "#d2a6feff",
+ "selection": "#d2a6fe3d"
+ },
+ {
+ "cursor": "#95e5cbff",
+ "background": "#95e5cbff",
+ "selection": "#95e5cb3d"
+ },
+ {
+ "cursor": "#ef7177ff",
+ "background": "#ef7177ff",
+ "selection": "#ef71773d"
+ },
+ {
+ "cursor": "#feb454ff",
+ "background": "#feb454ff",
+ "selection": "#feb4543d"
+ },
+ {
+ "cursor": "#aad84cff",
+ "background": "#aad84cff",
+ "selection": "#aad84c3d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#5ac1feff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#d2a6ffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#5c6773ff",
+ "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": null
+ },
+ "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
+ },
+ "namespace": {
+ "color": "#bfbdb6ff",
+ "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": "#ff8f3fff",
+ "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.markup": {
+ "color": "#a6a5a0ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#d2a6ffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#d2a6ffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#5ac1feff",
+ "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
+ },
+ "variable.parameter": {
+ "color": "#d2a6ffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#5ac1feff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#aad94cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#f07178ff",
+ "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",
+ "title_bar.inactive_background": "#ececedff",
+ "toolbar.background": "#fcfcfcff",
+ "tab_bar.background": "#ececedff",
+ "tab.inactive_background": "#ececedff",
+ "tab.active_background": "#fcfcfcff",
+ "search.match_background": "#3b9ee566",
+ "search.active_match_background": "#f88b3666",
+ "panel.background": "#ececedff",
+ "panel.focused_border": "#3b9ee5ff",
+ "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": "#b0b3b5",
+ "editor.active_line_number": "#313435",
+ "editor.hover_line_number": "#62686a",
+ "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": "#5c6166ff",
+ "terminal.ansi.bright_black": "#3b9ee5ff",
+ "terminal.ansi.dim_black": "#9c9fa2ff",
+ "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": "#fcfcfcff",
+ "terminal.ansi.bright_white": "#ffffffff",
+ "terminal.ansi.dim_white": "#bcbec0ff",
+ "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": "#a9acaeff",
+ "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",
+ "players": [
+ {
+ "cursor": "#3b9ee5ff",
+ "background": "#3b9ee5ff",
+ "selection": "#3b9ee53d"
+ },
+ {
+ "cursor": "#55b4d3ff",
+ "background": "#55b4d3ff",
+ "selection": "#55b4d33d"
+ },
+ {
+ "cursor": "#f98d3fff",
+ "background": "#f98d3fff",
+ "selection": "#f98d3f3d"
+ },
+ {
+ "cursor": "#a37accff",
+ "background": "#a37accff",
+ "selection": "#a37acc3d"
+ },
+ {
+ "cursor": "#4dbf99ff",
+ "background": "#4dbf99ff",
+ "selection": "#4dbf993d"
+ },
+ {
+ "cursor": "#ef7271ff",
+ "background": "#ef7271ff",
+ "selection": "#ef72713d"
+ },
+ {
+ "cursor": "#f1ad49ff",
+ "background": "#f1ad49ff",
+ "selection": "#f1ad493d"
+ },
+ {
+ "cursor": "#85b304ff",
+ "background": "#85b304ff",
+ "selection": "#85b3043d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#3b9ee5ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#a37accff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#abb0b6ff",
+ "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": null
+ },
+ "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
+ },
+ "namespace": {
+ "color": "#5c6166ff",
+ "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": "#fa8d3eff",
+ "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.markup": {
+ "color": "#73777bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#a37accff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#a37accff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#3b9ee5ff",
+ "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
+ },
+ "variable.parameter": {
+ "color": "#a37accff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#3b9ee5ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#6cbf43ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#ff6666ff",
+ "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",
+ "title_bar.inactive_background": "#353944ff",
+ "toolbar.background": "#242835ff",
+ "tab_bar.background": "#353944ff",
+ "tab.inactive_background": "#353944ff",
+ "tab.active_background": "#242835ff",
+ "search.match_background": "#73cffe66",
+ "search.active_match_background": "#fd722b66",
+ "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": "#575c6b",
+ "editor.active_line_number": "#e1e3ea",
+ "editor.hover_line_number": "#b2b6c8",
+ "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": "#8e8d87ff",
+ "terminal.ansi.black": "#242835ff",
+ "terminal.ansi.bright_black": "#67696eff",
+ "terminal.ansi.dim_black": "#48494dff",
+ "terminal.ansi.red": "#f18779ff",
+ "terminal.ansi.bright_red": "#833f3cff",
+ "terminal.ansi.dim_red": "#a85e54ff",
+ "terminal.ansi.green": "#d5fe80ff",
+ "terminal.ansi.bright_green": "#75993cff",
+ "terminal.ansi.dim_green": "#95b159ff",
+ "terminal.ansi.yellow": "#fecf72ff",
+ "terminal.ansi.bright_yellow": "#937237ff",
+ "terminal.ansi.dim_yellow": "#b1904fff",
+ "terminal.ansi.blue": "#72cffeff",
+ "terminal.ansi.bright_blue": "#336d8dff",
+ "terminal.ansi.dim_blue": "#4f90b1ff",
+ "terminal.ansi.magenta": "#5bcde5ff",
+ "terminal.ansi.bright_magenta": "#2b6c7bff",
+ "terminal.ansi.dim_magenta": "#3f8fa0ff",
+ "terminal.ansi.cyan": "#95e5cbff",
+ "terminal.ansi.bright_cyan": "#4c806fff",
+ "terminal.ansi.dim_cyan": "#68a08eff",
+ "terminal.ansi.white": "#cccac2ff",
+ "terminal.ansi.bright_white": "#fafafaff",
+ "terminal.ansi.dim_white": "#8e8d87ff",
+ "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": "#7b7d7fff",
+ "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",
+ "players": [
+ {
+ "cursor": "#72cffeff",
+ "background": "#72cffeff",
+ "selection": "#72cffe3d"
+ },
+ {
+ "cursor": "#5bcde5ff",
+ "background": "#5bcde5ff",
+ "selection": "#5bcde53d"
+ },
+ {
+ "cursor": "#fead66ff",
+ "background": "#fead66ff",
+ "selection": "#fead663d"
+ },
+ {
+ "cursor": "#debffeff",
+ "background": "#debffeff",
+ "selection": "#debffe3d"
+ },
+ {
+ "cursor": "#95e5cbff",
+ "background": "#95e5cbff",
+ "selection": "#95e5cb3d"
+ },
+ {
+ "cursor": "#f18779ff",
+ "background": "#f18779ff",
+ "selection": "#f187793d"
+ },
+ {
+ "cursor": "#fecf72ff",
+ "background": "#fecf72ff",
+ "selection": "#fecf723d"
+ },
+ {
+ "cursor": "#d5fe80ff",
+ "background": "#d5fe80ff",
+ "selection": "#d5fe803d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#72cffeff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#dfbfffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#5c6773ff",
+ "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": null
+ },
+ "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
+ },
+ "namespace": {
+ "color": "#cccac2ff",
+ "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": "#ffad65ff",
+ "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.markup": {
+ "color": "#b4b3aeff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#dfbfffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#dfbfffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#72cffeff",
+ "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
+ },
+ "variable.parameter": {
+ "color": "#dfbfffff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#72cffeff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#aad94cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#f07178ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/vendor/themes/catppuccin_mocha.toml b/vendor/themes/catppuccin_mocha.toml
new file mode 100644
index 00000000..e4cbea7f
--- /dev/null
+++ b/vendor/themes/catppuccin_mocha.toml
@@ -0,0 +1,168 @@
+# NOTE: For contributors looking to modify the theme, please submit a pull request at https://github.com/catppuccin/helix instead of updating this file. Changes are frequently synchronized from the catppuccin/helix theme repository.
+# Syntax highlighting
+# -------------------
+"attribute" = "yellow"
+
+"type" = "yellow"
+"type.builtin" = "mauve"
+"type.enum.variant" = "teal"
+
+"constructor" = "sapphire"
+
+"constant" = "peach"
+"constant.character" = "teal"
+"constant.character.escape" = "pink"
+
+"string" = "green"
+"string.regexp" = "pink"
+"string.special" = "blue"
+"string.special.symbol" = "red"
+
+"comment" = { fg = "overlay2", modifiers = ["italic"] }
+
+"variable" = "text"
+"variable.parameter" = { fg = "maroon", modifiers = ["italic"] }
+"variable.builtin" = "red"
+"variable.other.member" = "blue"
+
+"label" = "sapphire" # used for lifetimes
+
+"punctuation" = "overlay2"
+"punctuation.special" = "sky"
+
+"keyword" = "mauve"
+"keyword.control.conditional" = { fg = "mauve", modifiers = ["italic"] }
+
+"operator" = "sky"
+
+"function" = "blue"
+"function.macro" = "rosewater"
+
+"tag" = "blue"
+
+"namespace" = { fg = "yellow", modifiers = ["italic"] }
+
+"special" = "blue" # fuzzy highlight
+
+"markup.heading.1" = "red"
+"markup.heading.2" = "peach"
+"markup.heading.3" = "yellow"
+"markup.heading.4" = "green"
+"markup.heading.5" = "sapphire"
+"markup.heading.6" = "lavender"
+"markup.list" = "teal"
+"markup.list.unchecked" = "overlay2"
+"markup.list.checked" = "green"
+"markup.bold" = { fg = "red", modifiers = ["bold"] }
+"markup.italic" = { fg = "red", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "blue", modifiers = ["italic", "underlined"] }
+"markup.link.text" = "lavender"
+"markup.link.label" = "sapphire"
+"markup.raw" = "green"
+"markup.quote" = "pink"
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "blue"
+
+# User Interface
+# --------------
+"ui.background" = { fg = "text", bg = "base" }
+
+"ui.linenr" = { fg = "surface1" }
+"ui.linenr.selected" = { fg = "lavender" }
+
+"ui.statusline" = { fg = "subtext1", bg = "mantle" }
+"ui.statusline.inactive" = { fg = "surface2", bg = "mantle" }
+"ui.statusline.normal" = { fg = "base", bg = "rosewater", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "base", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "base", bg = "lavender", modifiers = ["bold"] }
+
+"ui.popup" = { fg = "text", bg = "surface0" }
+"ui.window" = { fg = "crust" }
+"ui.help" = { fg = "overlay2", bg = "surface0" }
+
+"ui.bufferline" = { fg = "subtext0", bg = "mantle" }
+"ui.bufferline.active" = { fg = "mauve", bg = "base", underline = { color = "mauve", style = "line" } }
+"ui.bufferline.background" = { bg = "crust" }
+
+"ui.text" = "text"
+"ui.text.focus" = { fg = "text", bg = "surface0", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "overlay1" }
+"ui.text.directory" = { fg = "blue" }
+
+"ui.virtual" = "overlay0"
+"ui.virtual.ruler" = { bg = "surface0" }
+"ui.virtual.indent-guide" = "surface0"
+"ui.virtual.inlay-hint" = { fg = "surface1", bg = "mantle" }
+"ui.virtual.jump-label" = { fg = "rosewater", modifiers = ["bold"] }
+
+"ui.selection" = { bg = "surface1" }
+
+"ui.cursor" = { fg = "base", bg = "secondary_cursor" }
+"ui.cursor.primary" = { fg = "base", bg = "rosewater" }
+"ui.cursor.match" = { fg = "peach", modifiers = ["bold"] }
+
+"ui.cursor.primary.normal" = { fg = "base", bg = "rosewater" }
+"ui.cursor.primary.insert" = { fg = "base", bg = "green" }
+"ui.cursor.primary.select" = { fg = "base", bg = "lavender" }
+
+"ui.cursor.normal" = { fg = "base", bg = "secondary_cursor_normal" }
+"ui.cursor.insert" = { fg = "base", bg = "secondary_cursor_insert" }
+"ui.cursor.select" = { fg = "base", bg = "secondary_cursor_select" }
+
+"ui.cursorline.primary" = { bg = "cursorline" }
+
+"ui.highlight" = { bg = "surface1", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "overlay2", bg = "surface0" }
+"ui.menu.selected" = { fg = "text", bg = "surface1", modifiers = ["bold"] }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "sky", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "red"
+warning = "yellow"
+info = "sky"
+hint = "teal"
+
+rainbow = ["red", "peach", "yellow", "green", "sapphire", "lavender"]
+
+[palette]
+rosewater = "#f5e0dc"
+flamingo = "#f2cdcd"
+pink = "#f5c2e7"
+mauve = "#cba6f7"
+red = "#f38ba8"
+maroon = "#eba0ac"
+peach = "#fab387"
+yellow = "#f9e2af"
+green = "#a6e3a1"
+teal = "#94e2d5"
+sky = "#89dceb"
+sapphire = "#74c7ec"
+blue = "#89b4fa"
+lavender = "#b4befe"
+text = "#cdd6f4"
+subtext1 = "#bac2de"
+subtext0 = "#a6adc8"
+overlay2 = "#9399b2"
+overlay1 = "#7f849c"
+overlay0 = "#6c7086"
+surface2 = "#585b70"
+surface1 = "#45475a"
+surface0 = "#313244"
+base = "#1e1e2e"
+mantle = "#181825"
+crust = "#11111b"
+
+cursorline = "#2a2b3c"
+secondary_cursor = "#b5a6a8"
+secondary_cursor_select = "#878ec0"
+secondary_cursor_normal = "#b5a6a8"
+secondary_cursor_insert = "#7ea87f"
diff --git a/vendor/themes/dracula.toml b/vendor/themes/dracula.toml
new file mode 100644
index 00000000..8b4abe16
--- /dev/null
+++ b/vendor/themes/dracula.toml
@@ -0,0 +1,159 @@
+# Author : Sebastian Zivota <[email protected]>
+# Author : Chirikumbrah
+
+"annotation" = { fg = "foreground" }
+
+"attribute" = { fg = "green", modifiers = ["italic"] }
+
+"comment" = { fg = "comment" }
+"comment.block" = { fg = "comment" }
+"comment.block.documentation" = { fg = "comment" }
+"comment.line" = { fg = "comment" }
+"comment.line.documentation" = { fg = "comment" }
+
+"constant" = { fg = "purple" }
+"constant.builtin" = { fg = "purple" }
+"constant.builtin.boolean" = { fg = "purple" }
+"constant.character" = { fg = "cyan" }
+"constant.character.escape" = { fg = "pink" }
+"constant.macro" = { fg = "purple" }
+"constant.numeric" = { fg = "purple" }
+"constructor" = { fg = "purple" }
+
+"definition" = { underline = { color = "cyan" } }
+
+"diagnostic" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "purple", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"error" = { fg = "red" }
+"hint" = { fg = "purple" }
+"info" = { fg = "cyan" }
+"warning" = { fg = "yellow" }
+
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+"diff.plus" = { fg = "green" }
+
+# d
+"function" = { fg = "green" }
+"function.builtin" = { fg = "green" }
+"function.call" = { fg = "green" }
+"function.macro" = { fg = "purple" }
+"function.method" = { fg = "green" }
+
+"keyword" = { fg = "pink" }
+"keyword.control.conditional" = { fg = "pink" }
+"keyword.control.exception" = { fg = "purple" }
+"keyword.control.import" = { fg = "pink" }
+"keyword.control.repeat" = { fg = "pink" }
+"keyword.directive" = { fg = "green" }
+"keyword.function" = { fg = "pink" }
+"keyword.operator" = { fg = "pink" }
+"keyword.return" = { fg = "pink" }
+"keyword.storage" = { fg = "pink" }
+"keyword.storage.modifier" = { fg = "pink" }
+"keyword.storage.type" = { fg = "cyan", modifiers = ["italic"] }
+
+"label" = { fg = "cyan" }
+
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.link.text" = { fg = "pink" }
+"markup.link.url" = { fg = "cyan" }
+"markup.list" = { fg = "cyan" }
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+"punctuation" = { fg = "foreground" }
+"punctuation.bracket" = { fg = "foreground" }
+"punctuation.delimiter" = { fg = "foreground" }
+"punctuation.special" = { fg = "pink" }
+
+"special" = { fg = "pink" }
+
+"string" = { fg = "yellow" }
+"string.regexp" = { fg = "red" }
+"string.special" = { fg = "orange" }
+"string.symbol" = { fg = "yellow" }
+
+"tag" = { fg = "pink" }
+"tag.attribute" = { fg = "purple" }
+"tag.delimiter" = { fg = "foreground" }
+
+"type" = { fg = "cyan", modifiers = ["italic"] }
+"type.builtin" = { fg = "cyan" }
+"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] }
+
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.cursor" = { fg = "background", bg = "purple", modifiers = ["dim"] }
+"ui.cursor.insert" = { fg = "background", bg = "green", modifiers = ["dim"] }
+"ui.cursor.match" = { fg = "foreground", bg = "grey" }
+"ui.cursor.normal" = { fg = "background", bg = "purple", modifiers = ["dim"] }
+"ui.cursor.primary.insert" = { fg = "background", bg = "green" }
+"ui.cursor.primary.normal" = { fg = "background", bg = "purple" }
+"ui.cursor.primary.select" = { fg = "background", bg = "cyan" }
+"ui.cursor.select" = { fg = "background", bg = "cyan", modifiers = ["dim"] }
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.debug" = { fg = "red" }
+"ui.help" = { fg = "foreground", bg = "black" }
+"ui.highlight.frameline" = { fg = "background", bg = "red" }
+"ui.linenr" = { fg = "comment" }
+"ui.linenr.selected" = { fg = "foreground" }
+"ui.menu" = { fg = "foreground", bg = "current_line" }
+"ui.menu.scroll" = { fg = "foreground", bg = "current_line" }
+"ui.menu.selected" = { fg = "current_line", bg = "purple", modifiers = ["dim"] }
+"ui.popup" = { fg = "foreground", bg = "black" }
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "current_line" }
+"ui.statusline" = { fg = "foreground", bg = "darker" }
+"ui.statusline.inactive" = { fg = "comment", bg = "darker" }
+"ui.statusline.insert" = { fg = "black", bg = "green", modifiers = ["bold"] }
+"ui.statusline.normal" = { fg = "black", bg = "purple", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "black", bg = "cyan", modifiers = ["bold"] }
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "cyan" }
+"ui.text.directory" = { fg = "cyan" }
+"ui.virtual.indent-guide" = { fg = "indent" }
+"ui.virtual.inlay-hint" = { fg = "cyan" }
+"ui.virtual.inlay-hint.parameter" = { fg = "cyan", modifiers = ["italic", "dim"] }
+"ui.virtual.inlay-hint.type" = { fg = "cyan", modifiers = ["italic", "dim"] }
+"ui.virtual.jump-label" = { fg = "pink", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "black" }
+"ui.virtual.whitespace" = { fg = "whitespace" }
+"ui.virtual.wrap" = { fg = "current_line" }
+"ui.window" = { fg = "foreground" }
+
+"variable" = { fg = "foreground" }
+"variable.builtin" = { fg = "purple", modifiers = ["italic"] }
+"variable.other" = { fg = "foreground" }
+"variable.other.member" = { fg = "foreground" }
+"variable.parameter" = { fg = "orange", modifiers = ["italic"] }
+
+
+[palette]
+background = "#282A36"
+black = "#191A21"
+comment = "#6272A4"
+current_line = "#44475a"
+cursorline = "#2d303e"
+cyan = "#8be9fd"
+darker = "#222430"
+foreground = "#f8f8f2"
+green = "#50fa7b"
+grey = "#666771"
+indent = "#56596a"
+orange = "#ffb86c"
+pink = "#ff79c6"
+purple = "#BD93F9"
+red = "#ff5555"
+selection = "#363848"
+whitespace = "#586693"
+yellow = "#f1fa8c"
+
diff --git a/vendor/themes/everforest_light.toml b/vendor/themes/everforest_light.toml
new file mode 100644
index 00000000..312c27ab
--- /dev/null
+++ b/vendor/themes/everforest_light.toml
@@ -0,0 +1,150 @@
+# Everforest (Light Medium)
+# Authors: CptPotato, WindSoilder, basbebe
+
+# Original Author:
+# URL: https://github.com/sainnhe/everforest
+# Filename: colors/everforest.vim
+# Author: sainnhe
+# License: MIT License
+
+"type" = "yellow"
+"constant" = "fg"
+"constant.builtin" = { fg = "purple", modifiers = ["italic"] }
+"constant.builtin.boolean" = "purple"
+"constant.numeric" = "purple"
+"constant.character.escape" = "green"
+"string" = "aqua"
+"string.regexp" = "green"
+"string.special" = "yellow"
+"comment" = { fg = "grey1", modifiers = ["italic"] }
+"variable" = "fg"
+"variable.builtin" = { fg = "purple", modifiers = ["italic"] }
+"variable.parameter" = "fg"
+"variable.other.member" = "blue"
+"label" = "orange"
+"punctuation" = "grey2"
+"punctuation.delimiter" = "grey1"
+"punctuation.bracket" = "fg"
+"punctuation.special" = "blue"
+"keyword" = "red"
+"keyword.operator" = "orange"
+"keyword.directive" = "purple"
+"keyword.storage" = "red"
+"operator" = "orange"
+"function" = "green"
+"function.macro" = "green"
+"tag" = "orange"
+"namespace" = { fg = "yellow", modifiers = ["italic"] }
+"attribute" = { fg = "purple", modifiers = ["italic"] }
+"constructor" = "green"
+"module" = "yellow"
+"special" = "blue"
+
+"markup.heading.marker" = "grey1"
+"markup.heading.1" = { fg = "red", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "orange", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "yellow", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "green", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "blue", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "blue", underline = { style = "line" } }
+"markup.link.label" = "orange"
+"markup.link.text" = "purple"
+"markup.quote" = "grey1"
+"markup.raw.inline" = "green"
+"markup.raw.block" = "aqua"
+
+"diff.plus" = "green"
+"diff.delta" = "blue"
+"diff.minus" = "red"
+
+"ui.background" = { bg = "bg0" }
+"ui.background.separator" = "grey0"
+"ui.cursor" = { fg = "bg1", bg = "grey2" }
+"ui.cursor.insert" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.select" = { fg = "bg0", bg = "blue" }
+"ui.cursor.match" = { bg = "bg4", modifiers = ["bold"] }
+"ui.cursor.primary" = { fg = "bg0", bg = "fg" }
+"ui.cursorline.primary" = { bg = "bg1" }
+"ui.cursorline.secondary" = { bg = "bg2" }
+"ui.selection" = { bg = "bg3" }
+"ui.linenr" = "grey0"
+"ui.linenr.selected" = "grey2"
+"ui.statusline" = { fg = "grey2", bg = "bg3" }
+"ui.statusline.inactive" = { fg = "grey0", bg = "bg1" }
+"ui.statusline.normal" = { fg = "bg0", bg = "statusline1", modifiers = [
+ "bold",
+] }
+"ui.statusline.insert" = { fg = "bg0", bg = "statusline2", modifiers = [
+ "bold",
+] }
+"ui.statusline.select" = { fg = "bg0", bg = "blue", modifiers = ["bold"] }
+"ui.bufferline" = { fg = "grey2", bg = "bg3" }
+"ui.bufferline.active" = { fg = "bg0", bg = "statusline1", modifiers = [
+ "bold",
+] }
+"ui.popup" = { fg = "grey2", bg = "bg2" }
+"ui.picker.header" = { modifiers = ["bold", "underlined"] }
+"ui.window" = { fg = "bg4", bg = "bg_dim" }
+"ui.help" = { fg = "fg", bg = "bg2" }
+"ui.text" = "fg"
+"ui.text.directory" = { fg = "green" }
+"ui.text.focus" = "fg"
+"ui.menu" = { fg = "fg", bg = "bg3" }
+"ui.menu.selected" = { fg = "bg0", bg = "green" }
+"ui.virtual.ruler" = { bg = "bg3" }
+"ui.virtual.whitespace" = { fg = "bg4" }
+"ui.virtual.indent-guide" = { fg = "bg4" }
+"ui.virtual.inlay-hint" = { fg = "grey0" }
+"ui.virtual.wrap" = { fg = "grey0" }
+"ui.virtual.jump-label" = { fg = "red", bg = "bg0", modifiers = [
+ "bold",
+] }
+
+"hint" = "green"
+"info" = "blue"
+"warning" = "yellow"
+"error" = "red"
+
+"diagnostic.hint" = { underline = { color = "green", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+
+bg_dim = "#efebd4"
+bg0 = "#fdf6e3"
+bg1 = "#f4f0d9"
+bg2 = "#efebd4"
+bg3 = "#e6e2cc"
+bg4 = "#e0dcc7"
+bg5 = "#bdc3af"
+bg_red = "#fbe3da"
+bg_visual = "#eaedc8"
+bg_yellow = "#faedcd"
+bg_green = "#f0f1d2"
+bg_blue = "#e9f0e9"
+
+fg = "#5c6a72"
+red = "#f85552"
+orange = "#f57d26"
+yellow = "#dfa000"
+green = "#8da101"
+blue = "#3a94c5"
+aqua = "#35a77c"
+purple = "#df69ba"
+
+grey0 = "#a6b0a0"
+grey1 = "#939f91"
+grey2 = "#829181"
+statusline1 = "#93b259"
+statusline2 = "#708089"
+statusline3 = "#e66868"
diff --git a/vendor/themes/gruvbox.toml b/vendor/themes/gruvbox.toml
new file mode 100644
index 00000000..6c5bcd09
--- /dev/null
+++ b/vendor/themes/gruvbox.toml
@@ -0,0 +1,153 @@
+# Author : Jakub Bartodziej <[email protected]>
+# The theme uses the gruvbox dark palette with standard contrast: github.com/morhetz/gruvbox
+
+"annotation" = { fg = "fg1" }
+
+"attribute" = { fg = "aqua1", modifiers = ["italic"] }
+
+"comment" = { fg = "gray", modifiers = ["italic"] }
+
+"constant" = { fg = "purple1" }
+"constant.character" = { fg = "aqua1" }
+"constant.character.escape" = { fg = "orange1" }
+"constant.macro" = { fg = "aqua1" }
+"constructor" = { fg = "purple1" }
+
+"definition" = { underline = { color = "aqua1" } }
+
+"diagnostic" = { underline = { color = "orange1", style = "curl" } }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua1", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow1", style = "curl" } }
+# "diagnostic.unnecessary" = { modifiers = ["dim"] } # do not remove this for future resolving
+
+"error" = { fg = "red1" }
+"hint" = { fg = "blue1" }
+"info" = { fg = "aqua1" }
+"warning" = { fg = "yellow1" }
+
+"diff.delta" = { fg = "yellow1" }
+"diff.minus" = { fg = "red1" }
+"diff.plus" = { fg = "green1" }
+
+"function" = { fg = "green1" }
+"function.builtin" = { fg = "yellow1" }
+"function.macro" = { fg = "blue1" }
+
+"keyword" = { fg = "red1" }
+"keyword.control.import" = { fg = "aqua1" }
+
+"label" = { fg = "red1" }
+
+"markup.bold" = { modifiers = ["bold"] }
+"markup.heading" = "aqua1"
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.text" = "red1"
+"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
+"markup.raw" = "red1"
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+"module" = { fg = "aqua1" }
+
+"namespace" = { fg = "fg1" }
+
+"operator" = { fg = "purple1" }
+
+"punctuation" = { fg = "orange1" }
+
+"special" = { fg = "purple0" }
+
+"string" = { fg = "green1" }
+"string.regexp" = { fg = "orange1" }
+"string.special" = { fg = "orange1" }
+"string.symbol" = { fg = "yellow1" }
+
+"tag" = { fg = "aqua1" }
+
+"type" = { fg = "yellow1" }
+"type.enum.variant" = { modifiers = ["italic"] }
+
+"ui.background" = { bg = "bg0" }
+"ui.bufferline" = { fg = "fg1", bg = "bg1" }
+"ui.bufferline.active" = { fg = "bg0", bg = "yellow0" }
+"ui.bufferline.background" = { bg = "bg2" }
+
+"ui.cursor" = { fg = "bg1", bg = "bg2" }
+"ui.cursor.insert" = { fg = "bg1", bg = "blue0" }
+"ui.cursor.normal" = { fg = "bg1", bg = "gray" }
+"ui.cursor.select" = { fg = "bg1", bg = "orange0" }
+"ui.cursor.match" = { fg = "fg3", bg = "bg3" }
+
+"ui.cursor.primary" = { bg = "fg3", fg = "bg1" }
+"ui.cursor.primary.insert" = { fg = "bg1", bg = "blue1" }
+"ui.cursor.primary.normal" = { fg = "bg1", bg = "fg3" }
+"ui.cursor.primary.select" = { fg = "bg1", bg = "orange1" }
+
+"ui.cursorline" = { bg = "bg0_s" }
+"ui.cursorline.primary" = { bg = "bg1" }
+
+"ui.help" = { bg = "bg1", fg = "fg1" }
+"ui.linenr" = { fg = "bg3" }
+"ui.linenr.selected" = { fg = "yellow1" }
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.selected" = { fg = "green1", bg = "bg1", modifiers = ["bold"] }
+"ui.popup" = { bg = "bg1" }
+"ui.picker.header.column" = { underline.style = "line" }
+"ui.picker.header.column.active" = { modifiers = ["bold"], underline.style = "line" }
+"ui.selection" = { bg = "bg2" }
+"ui.selection.primary" = { bg = "bg3" }
+
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg2" }
+"ui.statusline.insert" = { fg = "bg1", bg = "blue1", modifiers = ["bold"] }
+"ui.statusline.normal" = { fg = "bg1", bg = "fg3", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg1", bg = "orange1", modifiers = ["bold"] }
+
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "green1", bg="bg1" }
+"ui.text.directory" = { fg = "blue1" }
+"ui.virtual.inlay-hint" = { fg = "gray" }
+"ui.virtual.jump-label" = { fg = "purple0", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.virtual.whitespace" = "bg2"
+"ui.virtual.wrap" = { fg = "bg2" }
+"ui.window" = { bg = "bg1" }
+
+"variable" = { fg = "fg1" }
+"variable.builtin" = { fg = "orange1", modifiers = ["italic"] }
+"variable.other.member" = { fg = "blue1" }
+"variable.parameter" = { fg = "blue1", modifiers = ["italic"] }
+
+
+[palette]
+bg0 = "#282828" # main background
+bg0_s = "#32302f"
+bg1 = "#3c3836"
+bg2 = "#504945"
+bg3 = "#665c54"
+bg4 = "#7c6f64"
+
+fg0 = "#fbf1c7"
+fg1 = "#ebdbb2" # main foreground
+fg2 = "#d5c4a1"
+fg3 = "#bdae93"
+fg4 = "#a89984"
+
+gray = "#928374"
+
+red0 = "#cc241d" # neutral
+red1 = "#fb4934" # bright
+green0 = "#98971a"
+green1 = "#b8bb26"
+yellow0 = "#d79921"
+yellow1 = "#fabd2f"
+blue0 = "#458588"
+blue1 = "#83a598"
+purple0 = "#b16286"
+purple1 = "#d3869b"
+aqua0 = "#689d6a"
+aqua1 = "#8ec07c"
+orange0 = "#d65d0e"
+orange1 = "#fe8019"
diff --git a/vendor/themes/helix.LICENSE b/vendor/themes/helix.LICENSE
new file mode 100644
index 00000000..a612ad98
--- /dev/null
+++ b/vendor/themes/helix.LICENSE
@@ -0,0 +1,373 @@
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
diff --git a/vendor/themes/monokai.toml b/vendor/themes/monokai.toml
new file mode 100644
index 00000000..dfa7040c
--- /dev/null
+++ b/vendor/themes/monokai.toml
@@ -0,0 +1,121 @@
+# Author: Shafkath Shuhan <[email protected]>
+
+"tag" = { fg = "tag" }
+
+"namespace" = { fg = "type" }
+"module" = { fg = "type" }
+
+"type" = { fg = "type" }
+"type.builtin" = { fg = "#66D9EF" }
+"type.enum.variant" = { fg = "text" }
+"constructor" = { fg = "fn_declaration" }
+"variable.other.member" = { fg = "variable" }
+
+"keyword" = { fg = "keyword" }
+"keyword.directive" = { fg = "keyword" }
+"keyword.control" = { fg = "keyword" }
+"label" = { fg = "keyword" }
+
+"special" = { fg = "keyword" }
+"operator" = { fg = "text" }
+
+"punctuation" = { fg = "text" }
+"punctuation.delimiter" = { fg = "text" }
+
+"variable" = { fg = "variable" }
+"variable.parameter" = { fg = "#fd971f" }
+"variable.builtin" = { fg = "keyword" }
+"constant" = { fg = "variable" }
+"constant.builtin" = { fg = "#ae81ff" }
+
+"function" = { fg = "fn_declaration" }
+"function.builtin" = { fg = "fn_declaration" }
+"function.macro" = { fg = "keyword" }
+"attribute" = { fg = "fn_declaration" }
+
+"comment" = { fg = "#88846F" }
+"ui.virtual.whitespace" = "#88846F"
+"ui.virtual.ruler" = { bg = "#24241e" }
+"ui.virtual.jump-label" = { fg = "special", modifiers = ["bold"] }
+
+"string" = { fg = "#e6db74" }
+"constant.character" = { fg = "#e6db74" }
+"string.regexp" = { fg = "regex" }
+"constant.numeric" = { fg = "#ae81ff" }
+"constant.character.escape" = { fg = "#ae81ff" }
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = { fg = "#a6e22e" }
+"diff.delta" = { fg = "#fd971f" }
+"diff.minus" = { fg = "#f92672" }
+
+"ui.background" = { fg = "text", bg = "background" }
+
+"ui.window" = { bg = "widget" }
+"ui.popup" = { fg = "text", bg = "widget" }
+"ui.help" = { fg = "text", bg = "widget" }
+"ui.menu" = { fg = "text", bg = "widget" }
+"ui.menu.selected" = { bg = "#414339" }
+
+"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "#888888", modifiers = ["reversed"] }
+
+"ui.selection" = { bg = "#878b91" }
+"ui.selection.primary" = { bg = "#575b61" }
+
+"ui.linenr" = { fg = "#90908a" }
+"ui.linenr.selected" = { fg = "#c2c2bf" }
+
+"ui.cursorline" = { bg = "#24241e" }
+"ui.statusline" = { fg = "active_text", bg = "#414339" }
+"ui.statusline.inactive" = { fg = "active_text", bg = "#75715e" }
+
+# Malformed ANSI: grey2, bg3. See 'https://github.com/helix-editor/helix/issues/5709'
+# "ui.bufferline" = { fg = "grey2", bg = "bg3" }
+"ui.bufferline.active" = { fg = "active_text", bg = "selection", modifiers = [
+ "bold",
+] }
+"ui.virtual.inlay-hint" = { fg = "#88846F" }
+
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "active_text" }
+
+"warning" = { fg = "#cca700" }
+"error" = { fg = "#f48771" }
+"info" = { fg = "#75beff" }
+"hint" = { fg = "#eeeeb3" }
+
+"diagnostic.warning" = { underline = { color = "#cca700", style = "curl" } }
+"diagnostic.error" = { underline = { color = "#f48771", style = "curl" } }
+"diagnostic.info" = { underline = { color = "#75beff", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "#eeeeb3", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+type = "#A6E22E"
+keyword = "#F92672"
+regex = "#CE9178"
+special = "#C586C0"
+variable = "#F8F8F2"
+fn_declaration = "#A6E22E"
+
+background = "#272822"
+text = "#f8f8f2"
+active_text = "#ffffff"
+cursor = "#a6a6a6"
+inactive_cursor = "#878b91"
+widget = "#1e1f1c"
+selection = "#414339"
+tag = "#F92672"
diff --git a/vendor/themes/nord.toml b/vendor/themes/nord.toml
new file mode 100644
index 00000000..db7b6190
--- /dev/null
+++ b/vendor/themes/nord.toml
@@ -0,0 +1,199 @@
+# Nord (Dark Ambiance) port for Helix (https://helix-editor.com/)
+# https://docs.helix-editor.com/themes.html
+# https://www.nordtheme.com/docs/colors-and-palettes
+
+## SYNTAX HIGHLIGHTING
+
+# Constants
+"constant" = "nord4"
+"constant.builtin" = "nord9"
+"constant.builtin.boolean" = "nord9"
+"constant.builtin.character" = "nord15"
+"constant.character.escape" = "nord13"
+"constant.macro" = "nord9"
+"constant.numeric" = "nord15"
+"constructor" = "nord8"
+
+# Diagnostics
+"diagnostic" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.error" = { underline = { color = "nord11", style = "curl" } }
+"error" = "nord11"
+"diagnostic.hint" = { underline = { color = "nord10", style = "curl" } }
+"hint" = "nord10"
+"diagnostic.info" = { underline = { color = "nord8", style = "curl" } }
+"info" = "nord8"
+"diagnostic.warning" = { underline = { color = "nord13", style = "curl" } }
+"warning" = "nord13"
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# Diffs
+"diff.delta" = "nord13"
+"diff.minus" = "nord11"
+"diff.plus" = "nord14"
+
+# Functions
+"function" = "nord8"
+"function.builtin" = "nord7"
+"function.method" = "nord8"
+"function.macro" = "nord9"
+"function.special" = "nord9"
+
+# Git
+"git.delta.moved" = "nord12"
+
+# Keywords
+"keyword" = "nord9"
+"keyword.control.conditional" = "nord9"
+"keyword.control.exception" = "nord9"
+"keyword.control.repeat" = "nord9"
+"keyword.directive" = "nord9"
+"keyword.function" = "nord9"
+"keyword.operator" = "nord9"
+"keyword.return" = "nord9"
+"keyword.storage.modifier" = "nord9"
+"keyword.storage.type" = "nord9"
+
+# Punctuation
+"punctuation" = "nord6"
+"punctuation.bracket" = "nord6"
+"punctuation.delimiter" = "nord6"
+"punctuation.special" = "nord9"
+
+# Strings
+"string" = "nord14"
+"string.escape" = "nord13"
+"string.regex" = "nord13"
+"string.special" = "nord13"
+
+# Types
+"type" = "nord7"
+"type.builtin" = "nord7"
+
+# Variables
+"variable" = "nord4"
+"variable.builtin" = "nord9"
+"variable.other.member" = "nord4"
+"variable.parameter" = "nord8"
+"attribute" = "nord9"
+
+# Misc.
+"label" = "nord7"
+"namespace" = "nord4"
+"operator" = "nord9"
+"special" = "nord9"
+"tag" = "nord7"
+"comment" = { fg = "nord3_bright", modifiers = ["italic"] }
+
+## EDITOR UI COLORS
+
+"ui.background" = { bg = "nord0" }
+"ui.text" = "nord4"
+"ui.window" = "nord1"
+
+# Debug
+"ui.debug.active" = "nord13"
+"ui.debug.breakpoint" = "nord11"
+
+# Popus and menus
+"ui.menu" = { bg = "nord1" }
+"ui.menu.scroll" = { fg = "nord4", bg = "nord3" }
+"ui.menu.selected" = { fg = "nord8", bg = "nord2" }
+"ui.popup" = { bg = "nord1" }
+"ui.popup.info" = { bg = "nord1" }
+"ui.help" = { bg = "nord1" }
+"ui.text.focus" = { fg = "nord8", bg = "nord2" }
+
+# Gutter
+"ui.gutter" = "nord5"
+"ui.linenr" = "nord3"
+"ui.linenr.selected" = "nord5"
+
+# Cursor
+"ui.cursor" = { fg = "nord4", modifiers = ["reversed"] }
+"ui.cursorcolumn.primary" = { bg = "nord1" }
+"ui.cursorline.primary" = { bg = "nord1" }
+"ui.cursor.match" = { bg = "nord3" }
+
+"ui.selection" = { bg = "nord3" }
+"ui.highlight" = { fg = "nord8", bg = "nord2" }
+
+# Statusline
+"ui.statusline" = { bg = "nord1" }
+"ui.statusline.inactive" = { fg = "nord8", bg = "nord1" }
+"ui.statusline.insert" = { fg = "nord1", bg = "nord6" }
+"ui.statusline.normal" = { fg = "nord1", bg = "nord8" }
+"ui.statusline.select" = { fg = "nord1", bg = "nord7" }
+"ui.statusline.separator" = "nord3"
+
+# Virtual/invisible text
+"ui.virtual.indent-guide" = "nord3"
+"ui.virtual.inlay-hint" = { fg = "nord3", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "nord11", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "nord1" }
+"ui.virtual.whitespace" = "nord3"
+"ui.virtual.wrap" = "nord3"
+
+# Bufferline
+"ui.bufferline" = { fg = "nord5", bg = "nord1" }
+"ui.bufferline.active" = { fg = "nord6", bg = "nord2", underline = { color = "nord8", style = "line" }, modifiers = [
+ "italic",
+] }
+
+# Markup
+"markup.heading" = "nord8"
+"markup.list" = "nord9"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.text" = "nord8"
+"markup.raw" = "nord7"
+
+# Rainbow brackets
+rainbow = ["nord13", "nord15", "nord14", "nord12"]
+
+[palette]
+# Polar Night is made up of four darker colors that are commonly used for base elements like backgrounds or text color in bright ambiance designs.
+#
+# The origin color or the Polar Night palette
+nord0 = "#2e3440"
+# A brighter shade color based on nord0
+nord1 = "#3B4252"
+# An even more brighter shade color of nord0
+nord2 = "#434C5E"
+# The brightest shade color based on nord0
+nord3 = "#4C566A"
+# 10% brighter for comments, see https://github.com/nordtheme/nord/issues/94
+nord3_bright = "#616e88"
+
+# Snow Storm is made up of three bright colors that are commonly used for text colors or base UI elements in bright ambiance designs.
+# The origin color or the Snow Storm palette
+nord4 = "#D8DEE9"
+# A brighter shade color of nord4
+nord5 = "#E5E9F0"
+# The brightest shade color based on nord4
+nord6 = "#ECEFF4"
+
+# Frost can be described as the heart palette of Nord, a group of four bluish colors that are commonly used for primary UI component and text highlighting and essential code syntax elements.
+#
+# A calm and highly contrasted color reminiscent of frozen polar water
+nord7 = "#8FBCBB"
+# The bright and shiny primary accent color reminiscent of pure and clear ice
+nord8 = "#88C0D0"
+# A more darkened and less saturated color reminiscent of arctic waters
+nord9 = "#81A1C1"
+# A dark and intensive color reminiscent of the deep arctic ocean
+nord10 = "#5E81AC"
+
+# Aurora consists of five colorful components reminiscent of the "Aurora borealis", sometimes referred to as polar lights or northern lights.
+#
+# Red
+nord11 = "#BF616A"
+# Orange
+nord12 = "#D08770"
+# Yellow
+nord13 = "#EBCB8B"
+# Green
+nord14 = "#A3BE8C"
+# Purple
+nord15 = "#B48EAD"
diff --git a/vendor/themes/one.LICENSE b/vendor/themes/one.LICENSE
new file mode 100644
index 00000000..f7637d33
--- /dev/null
+++ b/vendor/themes/one.LICENSE
@@ -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.
diff --git a/vendor/themes/one.json b/vendor/themes/one.json
new file mode 100644
index 00000000..698b8feb
--- /dev/null
+++ b/vendor/themes/one.json
@@ -0,0 +1,843 @@
+{
+ "$schema": "https://zed.dev/schema/themes/v0.2.0.json",
+ "name": "One",
+ "author": "Zed Industries",
+ "themes": [
+ {
+ "name": "One Dark",
+ "appearance": "dark",
+ "style": {
+ "border": "#464b57ff",
+ "border.variant": "#363c46ff",
+ "border.focused": "#47679eff",
+ "border.selected": "#293b5bff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#414754ff",
+ "elevated_surface.background": "#2f343eff",
+ "surface.background": "#2f343eff",
+ "background": "#3b414dff",
+ "element.background": "#2e343eff",
+ "element.hover": "#363c46ff",
+ "element.active": "#454a56ff",
+ "element.selected": "#454a56ff",
+ "element.disabled": "#2e343eff",
+ "drop_target.background": "#83899480",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#363c46ff",
+ "ghost_element.active": "#454a56ff",
+ "ghost_element.selected": "#454a56ff",
+ "ghost_element.disabled": "#2e343eff",
+ "text": "#dce0e5ff",
+ "text.muted": "#a9afbcff",
+ "text.placeholder": "#878a98ff",
+ "text.disabled": "#878a98ff",
+ "text.accent": "#74ade8ff",
+ "icon": "#dce0e5ff",
+ "icon.muted": "#a9afbcff",
+ "icon.disabled": "#878a98ff",
+ "icon.placeholder": "#a9afbcff",
+ "icon.accent": "#74ade8ff",
+ "status_bar.background": "#3b414dff",
+ "title_bar.background": "#3b414dff",
+ "title_bar.inactive_background": "#2e343eff",
+ "toolbar.background": "#282c33ff",
+ "tab_bar.background": "#2f343eff",
+ "tab.inactive_background": "#2f343eff",
+ "tab.active_background": "#282c33ff",
+ "search.match_background": "#74ade866",
+ "search.active_match_background": "#e8af7466",
+ "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": "#4e5a5f",
+ "editor.active_line_number": "#d0d4da",
+ "editor.hover_line_number": "#acb0b4",
+ "editor.invisible": "#4e5a5f",
+ "editor.wrap_guide": "#c8ccd40d",
+ "editor.active_wrap_guide": "#c8ccd41a",
+ "editor.document_highlight.read_background": "#74ade81a",
+ "editor.document_highlight.write_background": "#555a6366",
+ "terminal.background": "#282c34ff",
+ "terminal.foreground": "#abb2bfff",
+ "terminal.bright_foreground": "#dce0e5ff",
+ "terminal.dim_foreground": "#636d83ff",
+ "terminal.ansi.black": "#282c34ff",
+ "terminal.ansi.bright_black": "#636d83ff",
+ "terminal.ansi.dim_black": "#3b3f4aff",
+ "terminal.ansi.red": "#e06c75ff",
+ "terminal.ansi.bright_red": "#EA858Bff",
+ "terminal.ansi.dim_red": "#a7545aff",
+ "terminal.ansi.green": "#98c379ff",
+ "terminal.ansi.bright_green": "#AAD581ff",
+ "terminal.ansi.dim_green": "#6d8f59ff",
+ "terminal.ansi.yellow": "#e5c07bff",
+ "terminal.ansi.bright_yellow": "#FFD885ff",
+ "terminal.ansi.dim_yellow": "#b8985bff",
+ "terminal.ansi.blue": "#61afefff",
+ "terminal.ansi.bright_blue": "#85C1FFff",
+ "terminal.ansi.dim_blue": "#457cadff",
+ "terminal.ansi.magenta": "#c678ddff",
+ "terminal.ansi.bright_magenta": "#D398EBff",
+ "terminal.ansi.dim_magenta": "#8d54a0ff",
+ "terminal.ansi.cyan": "#56b6c2ff",
+ "terminal.ansi.bright_cyan": "#6ED5DEff",
+ "terminal.ansi.dim_cyan": "#3c818aff",
+ "terminal.ansi.white": "#abb2bfff",
+ "terminal.ansi.bright_white": "#fafafaff",
+ "terminal.ansi.dim_white": "#8f969bff",
+ "link_text.hover": "#74ade8ff",
+ "version_control.added": "#27a657ff",
+ "version_control.modified": "#d3b020ff",
+ "version_control.word_added": "#2EA04859",
+ "version_control.word_deleted": "#78081BCC",
+ "version_control.deleted": "#e06c76ff",
+ "version_control.conflict_marker.ours": "#a1c1811a",
+ "version_control.conflict_marker.theirs": "#74ade81a",
+ "conflict": "#dec184ff",
+ "conflict.background": "#dec1841a",
+ "conflict.border": "#5d4c2fff",
+ "created": "#a1c181ff",
+ "created.background": "#a1c1811a",
+ "created.border": "#38482fff",
+ "deleted": "#d07277ff",
+ "deleted.background": "#d072771a",
+ "deleted.border": "#4c2b2cff",
+ "error": "#d07277ff",
+ "error.background": "#d072771a",
+ "error.border": "#4c2b2cff",
+ "hidden": "#878a98ff",
+ "hidden.background": "#696b771a",
+ "hidden.border": "#414754ff",
+ "hint": "#788ca6ff",
+ "hint.background": "#5a6f891a",
+ "hint.border": "#293b5bff",
+ "ignored": "#878a98ff",
+ "ignored.background": "#696b771a",
+ "ignored.border": "#464b57ff",
+ "info": "#74ade8ff",
+ "info.background": "#74ade81a",
+ "info.border": "#293b5bff",
+ "modified": "#dec184ff",
+ "modified.background": "#dec1841a",
+ "modified.border": "#5d4c2fff",
+ "predictive": "#5a6a87ff",
+ "predictive.background": "#5a6a871a",
+ "predictive.border": "#38482fff",
+ "renamed": "#74ade8ff",
+ "renamed.background": "#74ade81a",
+ "renamed.border": "#293b5bff",
+ "success": "#a1c181ff",
+ "success.background": "#a1c1811a",
+ "success.border": "#38482fff",
+ "unreachable": "#a9afbcff",
+ "unreachable.background": "#8389941a",
+ "unreachable.border": "#464b57ff",
+ "warning": "#dec184ff",
+ "warning.background": "#dec1841a",
+ "warning.border": "#5d4c2fff",
+ "players": [
+ {
+ "cursor": "#74ade8ff",
+ "background": "#74ade8ff",
+ "selection": "#74ade83d"
+ },
+ {
+ "cursor": "#be5046ff",
+ "background": "#be5046ff",
+ "selection": "#be50463d"
+ },
+ {
+ "cursor": "#bf956aff",
+ "background": "#bf956aff",
+ "selection": "#bf956a3d"
+ },
+ {
+ "cursor": "#b477cfff",
+ "background": "#b477cfff",
+ "selection": "#b477cf3d"
+ },
+ {
+ "cursor": "#6eb4bfff",
+ "background": "#6eb4bfff",
+ "selection": "#6eb4bf3d"
+ },
+ {
+ "cursor": "#d07277ff",
+ "background": "#d07277ff",
+ "selection": "#d072773d"
+ },
+ {
+ "cursor": "#dec184ff",
+ "background": "#dec184ff",
+ "selection": "#dec1843d"
+ },
+ {
+ "cursor": "#a1c181ff",
+ "background": "#a1c181ff",
+ "selection": "#a1c1813d"
+ }
+ ],
+ "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": "#dce0e5ff",
+ "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": "#6eb4bfff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#73ade9ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#788ca6ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#b477cfff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#74ade8ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#73ade9ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#6eb4bfff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#dce0e5ff",
+ "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": "#b477cfff",
+ "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.markup": {
+ "color": "#d07277ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#b1574bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#dfc184ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#74ade8ff",
+ "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": "#acb2beff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#d07277ff",
+ "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
+ },
+ "diff.plus": {
+ "color": "#98c379ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#e06c75ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "One Light",
+ "appearance": "light",
+ "style": {
+ "border": "#c9c9caff",
+ "border.variant": "#dfdfe0ff",
+ "border.focused": "#7d82e8ff",
+ "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": "#242529ff",
+ "text.muted": "#58585aff",
+ "text.placeholder": "#7e8086ff",
+ "text.disabled": "#7e8086ff",
+ "text.accent": "#5c78e2ff",
+ "icon": "#242529ff",
+ "icon.muted": "#58585aff",
+ "icon.disabled": "#7e8086ff",
+ "icon.placeholder": "#58585aff",
+ "icon.accent": "#5c78e2ff",
+ "status_bar.background": "#dcdcddff",
+ "title_bar.background": "#dcdcddff",
+ "title_bar.inactive_background": "#ebebecff",
+ "toolbar.background": "#fafafaff",
+ "tab_bar.background": "#ebebecff",
+ "tab.inactive_background": "#ebebecff",
+ "tab.active_background": "#fafafaff",
+ "search.match_background": "#5c79e266",
+ "search.active_match_background": "#d0a92366",
+ "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": "#242529ff",
+ "editor.background": "#fafafaff",
+ "editor.gutter.background": "#fafafaff",
+ "editor.subheader.background": "#ebebecff",
+ "editor.active_line.background": "#ebebecbf",
+ "editor.highlighted_line.background": "#ebebecff",
+ "editor.line_number": "#b4b4bb",
+ "editor.active_line_number": "#44454b",
+ "editor.hover_line_number": "#61616b",
+ "editor.invisible": "#b4b4bb",
+ "editor.wrap_guide": "#383a410d",
+ "editor.active_wrap_guide": "#383a411a",
+ "editor.document_highlight.read_background": "#5c78e225",
+ "editor.document_highlight.write_background": "#a3a3a466",
+ "terminal.background": "#fafafaff",
+ "terminal.foreground": "#2a2c33ff",
+ "terminal.bright_foreground": "#2a2c33ff",
+ "terminal.dim_foreground": "#bbbbbbff",
+ "terminal.ansi.black": "#000000ff",
+ "terminal.ansi.bright_black": "#000000ff",
+ "terminal.ansi.dim_black": "#555555ff",
+ "terminal.ansi.red": "#de3e35ff",
+ "terminal.ansi.bright_red": "#de3e35ff",
+ "terminal.ansi.dim_red": "#9c2b26ff",
+ "terminal.ansi.green": "#3f953aff",
+ "terminal.ansi.bright_green": "#3f953aff",
+ "terminal.ansi.dim_green": "#2b6927ff",
+ "terminal.ansi.yellow": "#d2b67cff",
+ "terminal.ansi.bright_yellow": "#d2b67cff",
+ "terminal.ansi.dim_yellow": "#a48c5aff",
+ "terminal.ansi.blue": "#2f5af3ff",
+ "terminal.ansi.bright_blue": "#2f5af3ff",
+ "terminal.ansi.dim_blue": "#2140abff",
+ "terminal.ansi.magenta": "#950095ff",
+ "terminal.ansi.bright_magenta": "#a00095ff",
+ "terminal.ansi.dim_magenta": "#6a006aff",
+ "terminal.ansi.cyan": "#0997b3ff",
+ "terminal.ansi.bright_cyan": "#0bbcd6ff",
+ "terminal.ansi.dim_cyan": "#0a7b92ff",
+ "terminal.ansi.white": "#bbbbbbff",
+ "terminal.ansi.bright_white": "#ffffffff",
+ "terminal.ansi.dim_white": "#888888ff",
+ "link_text.hover": "#5c78e2ff",
+ "version_control.added": "#27a657ff",
+ "version_control.modified": "#d3b020ff",
+ "version_control.word_added": "#2EA04859",
+ "version_control.word_deleted": "#F85149CC",
+ "version_control.deleted": "#e06c76ff",
+ "conflict": "#a48819ff",
+ "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": "#7e8086ff",
+ "hidden.background": "#dcdcddff",
+ "hidden.border": "#d3d3d4ff",
+ "hint": "#7274a7ff",
+ "hint.background": "#e2e2faff",
+ "hint.border": "#cbcdf6ff",
+ "ignored": "#7e8086ff",
+ "ignored.background": "#dcdcddff",
+ "ignored.border": "#c9c9caff",
+ "info": "#5c78e2ff",
+ "info.background": "#e2e2faff",
+ "info.border": "#cbcdf6ff",
+ "modified": "#a48819ff",
+ "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": "#58585aff",
+ "unreachable.background": "#dcdcddff",
+ "unreachable.border": "#c9c9caff",
+ "warning": "#a48819ff",
+ "warning.background": "#faf2e6ff",
+ "warning.border": "#f4e7d1ff",
+ "players": [
+ {
+ "cursor": "#5c78e2ff",
+ "background": "#5c78e2ff",
+ "selection": "#5c78e23d"
+ },
+ {
+ "cursor": "#984ea5ff",
+ "background": "#984ea5ff",
+ "selection": "#984ea53d"
+ },
+ {
+ "cursor": "#ad6e26ff",
+ "background": "#ad6e26ff",
+ "selection": "#ad6e263d"
+ },
+ {
+ "cursor": "#a349abff",
+ "background": "#a349abff",
+ "selection": "#a349ab3d"
+ },
+ {
+ "cursor": "#3a82b7ff",
+ "background": "#3a82b7ff",
+ "selection": "#3a82b73d"
+ },
+ {
+ "cursor": "#d36151ff",
+ "background": "#d36151ff",
+ "selection": "#d361513d"
+ },
+ {
+ "cursor": "#a48819ff",
+ "background": "#dec184ff",
+ "selection": "#dec1843d"
+ },
+ {
+ "cursor": "#669f59ff",
+ "background": "#669f59ff",
+ "selection": "#669f593d"
+ }
+ ],
+ "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": "#c18401ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#5c78e2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#242529ff",
+ "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": "#3882b7ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#5b79e3ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#7274a7ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "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
+ },
+ "namespace": {
+ "color": "#242529ff",
+ "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": "#a449abff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#242529ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#d3604fff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#242529ff",
+ "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.markup": {
+ "color": "#d3604fff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#b92b46ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#669f59ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#5c78e2ff",
+ "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": "#242529ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#d3604fff",
+ "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
+ },
+ "diff.plus": {
+ "color": "#50a14fff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#e45649ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/vendor/themes/solarized_light.toml b/vendor/themes/solarized_light.toml
new file mode 100644
index 00000000..2db54ca1
--- /dev/null
+++ b/vendor/themes/solarized_light.toml
@@ -0,0 +1,155 @@
+"attribute" = { fg = "violet" }
+"keyword" = { fg = "green" }
+"keyword.directive" = { fg = "orange" }
+"namespace" = { fg = "violet" }
+"operator" = { fg = "green" }
+"special" = { fg = "orange" }
+"variable.builtin" = { fg = "cyan", modifiers = ["bold"] }
+"variable.function" = { fg = "blue" }
+"type" = { fg = "yellow" }
+"type.builtin" = { fg = "yellow", modifiers = ["bold"] }
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.macro" = { fg = "magenta" }
+"function.builtin" = { fg = "blue", modifiers = ["bold"] }
+"function.special" = { fg = "magenta" }
+"comment" = { fg = "base01" }
+"string" = { fg = "cyan" }
+"constant" = { fg = "cyan" }
+"constant.builtin" = { fg = "cyan", modifiers = ["bold"] }
+"constant.character.escape" = { fg = "red", modifiers = ["bold"] }
+"label" = { fg = "green" }
+"module" = { fg = "violet" }
+"tag" = { fg = "magenta" }
+
+# TODO
+"markup.heading" = "blue"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "red"
+"markup.quote" = "cyan"
+"markup.raw" = "green"
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "yellow" }
+"diff.minus" = { fg = "red" }
+
+# 背景
+# background
+"ui.background" = { bg = "base03" }
+
+"ui.virtual.whitespace" = { fg = "base01" }
+"ui.virtual.inlay-hint" = { fg = "base01", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+# 行号栏
+# line number column
+"ui.linenr" = { fg = "base0", bg = "base02" }
+# 当前行号栏
+# current line number column
+"ui.linenr.selected" = { fg = "blue", modifiers = ["bold"] }
+# cursorline
+"ui.cursorline" = { bg = "base0" }
+
+# 状态栏
+# status bar
+"ui.statusline" = { fg = "base03", bg = "base0" }
+"ui.statusline.normal" = { bg = "blue" }
+"ui.statusline.insert" = { bg = "green" }
+"ui.statusline.select" = { bg = "yellow" }
+
+# 非活动状态栏
+# inactive status bar
+"ui.statusline.inactive" = { fg = "base1", bg = "base01" }
+
+# 补全窗口, preview窗口
+# Completion window, preview window
+"ui.popup" = { bg = "base02" }
+# 影响 补全选中 cmd弹出信息选中
+# Affect completion selection, cmd pop-up information selection
+"ui.menu.selected" = { fg = "base02", bg = "base2"}
+"ui.menu" = { fg = "base0", bg = "base02" }
+# ??
+"ui.window" = { fg = "base3" }
+# 命令行 补全的帮助信息
+# Command line completion help information
+"ui.help" = { modifiers = ["reversed"] }
+
+# 快捷键窗口
+# Shortcut window
+"ui.popup.info" = { bg = "base1" }
+# 快捷键字体
+# Shortcut font
+"ui.text.info" = {fg = "base02", modifiers = ["bold"]}
+
+# 普通ui的字体样式
+# Normal ui font style
+"ui.text" = { fg = "base1" }
+# 影响 picker列表选中, 快捷键帮助窗口文本
+# Affects picker list selection, shortcut key help window text
+"ui.text.focus" = { fg = "blue", modifiers = ["bold"]}
+
+# 主光标/selection
+# main cursor/selection
+"ui.cursor.primary" = { fg = "base03", bg = "base1" }
+"ui.cursor.select" = { fg = "base02", bg = "cyan" }
+
+"ui.cursorline.primary" = { bg = "base02" }
+"ui.cursorline.secondary" = { bg = "base025" }
+
+"ui.selection" = { bg = "base0175" }
+"ui.selection.primary" = { bg = "base015" }
+
+"ui.virtual.indent-guide" = { fg = "base02" }
+"ui.virtual.ruler" = { bg = "base02" }
+
+# normal模式的光标
+# normal mode cursor
+"ui.cursor" = {fg = "base02", bg = "cyan"}
+"ui.cursor.insert" = {fg = "base03", bg = "base3"}
+# 当前光标匹配的标点符号
+# The punctuation character matched by the current cursor
+"ui.cursor.match" = { fg = "base02", bg = "base015" }
+
+"warning" = { fg = "orange", modifiers= ["bold", "underlined"] }
+"error" = { fg = "red", modifiers= ["bold", "underlined"] }
+"info" = { fg = "blue", modifiers= ["bold", "underlined"] }
+"hint" = { fg = "base01", modifiers= ["bold", "underlined"] }
+
+"diagnostic.warning" = { underline = { style = "curl", color = "orange" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.info" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "base01" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+
+[palette]
+red = '#dc322f'
+green = '#859900'
+yellow = '#b58900'
+blue = '#268bd2'
+magenta = '#d33682'
+cyan = '#2aa198'
+orange = '#cb4b16'
+violet = '#6c71c4'
+
+# 深色 越来越深
+# dark getting darker
+base0 = '#657b83'
+base1 = '#586e75'
+base2 = '#073642'
+base3 = '#002b36'
+
+# 浅色 越來越浅
+# Lighter and lighter
+base00 = '#839496'
+base01 = '#93a1a1'
+base015 = '#c5c8bd'
+base0175 = '#dddbcc'
+base02 = '#eee8d5'
+base025 = '#f5eedb'
+base03 = '#fdf6e3'