summaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/themes/acid.toml105
-rw-r--r--vendor/themes/acme_helix.toml47
-rw-r--r--vendor/themes/adwaita-dark.toml180
-rw-r--r--vendor/themes/adwaita-light.toml109
-rw-r--r--vendor/themes/akari-dawn.toml261
-rw-r--r--vendor/themes/akari-night.toml261
-rw-r--r--vendor/themes/akari.LICENSE21
-rw-r--r--vendor/themes/amberwood.toml140
-rw-r--r--vendor/themes/andromeda.toml186
-rw-r--r--vendor/themes/ao.toml165
-rw-r--r--vendor/themes/ashen.LICENSE22
-rw-r--r--vendor/themes/ashen.toml192
-rw-r--r--vendor/themes/ashokai.toml134
-rw-r--r--vendor/themes/ashokai_brahn.toml37
-rw-r--r--vendor/themes/ashokai_evermoor.toml37
-rw-r--r--vendor/themes/ashokai_urple.toml37
-rw-r--r--vendor/themes/ataraxia.toml166
-rw-r--r--vendor/themes/aura-dark-soft.toml145
-rw-r--r--vendor/themes/aura-dark.toml143
-rw-r--r--vendor/themes/aura.LICENSE21
-rw-r--r--vendor/themes/aurara.toml485
-rw-r--r--vendor/themes/autumn.toml106
-rw-r--r--vendor/themes/autumn_night.toml33
-rw-r--r--vendor/themes/ayu_dark.toml92
-rw-r--r--vendor/themes/ayu_evolve.toml38
-rw-r--r--vendor/themes/ayu_light.toml94
-rw-r--r--vendor/themes/ayu_mirage.toml92
-rw-r--r--vendor/themes/base16_default_dark.toml79
-rw-r--r--vendor/themes/base16_default_light.toml79
-rw-r--r--vendor/themes/base16_terminal.toml55
-rw-r--r--vendor/themes/base16_transparent.toml84
-rw-r--r--vendor/themes/beans.toml134
-rw-r--r--vendor/themes/bogster.toml104
-rw-r--r--vendor/themes/bogster_light.toml103
-rw-r--r--vendor/themes/boo_berry.toml83
-rw-r--r--vendor/themes/carbon.toml204
-rw-r--r--vendor/themes/carbonfox.LICENSE21
-rw-r--r--vendor/themes/carbonfox.toml50
-rw-r--r--vendor/themes/catppuccin_frappe.toml35
-rw-r--r--vendor/themes/catppuccin_latte.toml35
-rw-r--r--vendor/themes/catppuccin_macchiato.toml35
-rw-r--r--vendor/themes/curzon.toml120
-rw-r--r--vendor/themes/cyan_light.toml5
-rw-r--r--vendor/themes/darcula-solid.toml16
-rw-r--r--vendor/themes/darcula.toml120
-rw-r--r--vendor/themes/dark-synthwave.LICENSE21
-rw-r--r--vendor/themes/dark-synthwave.toml114
-rw-r--r--vendor/themes/dark_high_contrast.toml123
-rw-r--r--vendor/themes/dark_plus.toml138
-rw-r--r--vendor/themes/doom-one.LICENSE23
-rw-r--r--vendor/themes/doom-one.toml127
-rw-r--r--vendor/themes/doom_acario_dark.toml105
-rw-r--r--vendor/themes/dracula_at_night.toml77
-rw-r--r--vendor/themes/earl_grey.toml64
-rw-r--r--vendor/themes/eiffel.toml181
-rw-r--r--vendor/themes/eldritch.toml136
-rw-r--r--vendor/themes/eldritch_transparent.toml7
-rw-r--r--vendor/themes/emacs.toml642
-rw-r--r--vendor/themes/everblush.toml117
-rw-r--r--vendor/themes/everforest.LICENSE21
-rw-r--r--vendor/themes/everforest_dark.toml149
-rw-r--r--vendor/themes/faded-prism.LICENSE21
-rw-r--r--vendor/themes/faded-prism.toml119
-rw-r--r--vendor/themes/ferra.toml85
-rw-r--r--vendor/themes/flatwhite.toml125
-rw-r--r--vendor/themes/fleet_dark.toml169
-rw-r--r--vendor/themes/flexoki_dark.toml20
-rw-r--r--vendor/themes/flexoki_light.toml99
-rw-r--r--vendor/themes/focus_nova.toml158
-rw-r--r--vendor/themes/github_dark.toml234
-rw-r--r--vendor/themes/github_dark_colorblind.toml151
-rw-r--r--vendor/themes/github_dark_dimmed.toml151
-rw-r--r--vendor/themes/github_dark_high_contrast.toml151
-rw-r--r--vendor/themes/github_dark_tritanopia.toml151
-rw-r--r--vendor/themes/github_light.toml234
-rw-r--r--vendor/themes/github_light_colorblind.toml151
-rw-r--r--vendor/themes/github_light_high_contrast.toml151
-rw-r--r--vendor/themes/github_light_tritanopia.toml151
-rw-r--r--vendor/themes/gruber-darker.toml118
-rw-r--r--vendor/themes/gruvbox-material.toml6
-rw-r--r--vendor/themes/gruvbox.LICENSE21
-rw-r--r--vendor/themes/gruvbox.json2539
-rw-r--r--vendor/themes/gruvbox_dark_hard.toml13
-rw-r--r--vendor/themes/gruvbox_dark_soft.toml7
-rw-r--r--vendor/themes/gruvbox_light.toml32
-rw-r--r--vendor/themes/gruvbox_light_hard.toml7
-rw-r--r--vendor/themes/gruvbox_light_soft.toml7
-rw-r--r--vendor/themes/gruvbox_material_dark_hard.toml13
-rw-r--r--vendor/themes/gruvbox_material_dark_medium.toml128
-rw-r--r--vendor/themes/gruvbox_material_dark_soft.toml14
-rw-r--r--vendor/themes/gruvbox_material_light_hard.toml14
-rw-r--r--vendor/themes/gruvbox_material_light_medium.toml129
-rw-r--r--vendor/themes/gruvbox_material_light_soft.toml14
-rw-r--r--vendor/themes/hazyland.toml116
-rw-r--r--vendor/themes/heisenberg.toml88
-rw-r--r--vendor/themes/hex_lavender.toml41
-rw-r--r--vendor/themes/hex_poison.toml41
-rw-r--r--vendor/themes/hex_steel.toml127
-rw-r--r--vendor/themes/hex_toxic.toml41
-rw-r--r--vendor/themes/horizon-dark.toml99
-rw-r--r--vendor/themes/iceberg-dark.toml129
-rw-r--r--vendor/themes/iceberg-light.toml39
-rw-r--r--vendor/themes/ingrid.toml77
-rw-r--r--vendor/themes/iroaseta.toml162
-rw-r--r--vendor/themes/jellybeans.toml140
-rw-r--r--vendor/themes/jetbrains_cyan_light.LICENSE21
-rw-r--r--vendor/themes/jetbrains_cyan_light.toml168
-rw-r--r--vendor/themes/jetbrains_dark.toml102
-rw-r--r--vendor/themes/kanagawa-dragon.toml125
-rw-r--r--vendor/themes/kanagawa-lotus.toml156
-rw-r--r--vendor/themes/kanagawa.toml161
-rw-r--r--vendor/themes/kaolin-dark.toml110
-rw-r--r--vendor/themes/kaolin-light.toml60
-rw-r--r--vendor/themes/kaolin-valley-dark.toml73
-rw-r--r--vendor/themes/kinda_nvim.LICENSE21
-rw-r--r--vendor/themes/kinda_nvim.toml181
-rw-r--r--vendor/themes/kinda_nvim_light.toml36
-rw-r--r--vendor/themes/lapis_aquamarine.LICENSE23
-rw-r--r--vendor/themes/lapis_aquamarine.toml132
-rw-r--r--vendor/themes/material_darker.toml21
-rw-r--r--vendor/themes/material_deep_ocean.toml137
-rw-r--r--vendor/themes/material_oceanic.toml22
-rw-r--r--vendor/themes/material_palenight.toml20
-rw-r--r--vendor/themes/meliora.toml103
-rw-r--r--vendor/themes/mellow.toml146
-rw-r--r--vendor/themes/merionette.toml100
-rw-r--r--vendor/themes/modus_operandi.toml230
-rw-r--r--vendor/themes/modus_operandi_deuteranopia.toml47
-rw-r--r--vendor/themes/modus_operandi_tinted.toml46
-rw-r--r--vendor/themes/modus_operandi_tritanopia.toml74
-rw-r--r--vendor/themes/modus_vivendi.LICENSE674
-rw-r--r--vendor/themes/modus_vivendi.toml272
-rw-r--r--vendor/themes/modus_vivendi_deuteranopia.LICENSE674
-rw-r--r--vendor/themes/modus_vivendi_deuteranopia.toml160
-rw-r--r--vendor/themes/modus_vivendi_tinted.LICENSE674
-rw-r--r--vendor/themes/modus_vivendi_tinted.toml144
-rw-r--r--vendor/themes/modus_vivendi_tritanopia.LICENSE674
-rw-r--r--vendor/themes/modus_vivendi_tritanopia.toml188
-rw-r--r--vendor/themes/molokai.toml53
-rw-r--r--vendor/themes/monokai_aqua.toml22
-rw-r--r--vendor/themes/monokai_pro.toml134
-rw-r--r--vendor/themes/monokai_pro_machine.toml131
-rw-r--r--vendor/themes/monokai_pro_octagon.toml134
-rw-r--r--vendor/themes/monokai_pro_ristretto.toml131
-rw-r--r--vendor/themes/monokai_pro_spectrum.toml131
-rw-r--r--vendor/themes/monokai_soda.toml123
-rw-r--r--vendor/themes/naysayer.toml94
-rw-r--r--vendor/themes/neonotte.toml155
-rw-r--r--vendor/themes/neonotte84.toml18
-rw-r--r--vendor/themes/new_moon.toml126
-rw-r--r--vendor/themes/night_owl.toml117
-rw-r--r--vendor/themes/night_rider.toml99
-rw-r--r--vendor/themes/nightfox.toml194
-rw-r--r--vendor/themes/noctis.LICENSE9
-rw-r--r--vendor/themes/noctis.toml213
-rw-r--r--vendor/themes/noctis_bordo.toml90
-rw-r--r--vendor/themes/nord-night.toml23
-rw-r--r--vendor/themes/nord_light.toml90
-rw-r--r--vendor/themes/nvchad_solarized_dark.toml168
-rw-r--r--vendor/themes/nvim-dark.toml109
-rw-r--r--vendor/themes/nyxvamp-obsidian.toml86
-rw-r--r--vendor/themes/nyxvamp-radiance.toml144
-rw-r--r--vendor/themes/nyxvamp-transparent.toml54
-rw-r--r--vendor/themes/nyxvamp-veil.toml86
-rw-r--r--vendor/themes/ocean-space.toml91
-rw-r--r--vendor/themes/omicron_dark.toml114
-rw-r--r--vendor/themes/omicron_light.toml115
-rw-r--r--vendor/themes/onedark.toml116
-rw-r--r--vendor/themes/onedark_vibrant.toml121
-rw-r--r--vendor/themes/onedarker.toml116
-rw-r--r--vendor/themes/onedarker_vibrant.toml121
-rw-r--r--vendor/themes/onelight.toml201
-rw-r--r--vendor/themes/papercolor-dark.toml75
-rw-r--r--vendor/themes/papercolor-light.toml219
-rw-r--r--vendor/themes/peachpuff.toml66
-rw-r--r--vendor/themes/penumbra+.toml128
-rw-r--r--vendor/themes/poimandres.LICENSE21
-rw-r--r--vendor/themes/poimandres.toml117
-rw-r--r--vendor/themes/poimandres_storm.toml20
-rw-r--r--vendor/themes/pop-dark.toml166
-rw-r--r--vendor/themes/rasmus.toml143
-rw-r--r--vendor/themes/rose_pine.toml197
-rw-r--r--vendor/themes/rose_pine_dawn.toml30
-rw-r--r--vendor/themes/rose_pine_moon.toml30
-rw-r--r--vendor/themes/seoul256-dark-hard.toml16
-rw-r--r--vendor/themes/seoul256-dark-soft.toml15
-rw-r--r--vendor/themes/seoul256-dark.toml161
-rw-r--r--vendor/themes/seoul256-light-hard.toml16
-rw-r--r--vendor/themes/seoul256-light-soft.toml16
-rw-r--r--vendor/themes/seoul256-light.toml51
-rw-r--r--vendor/themes/serika-dark.toml128
-rw-r--r--vendor/themes/serika-light.toml128
-rw-r--r--vendor/themes/serika-syntax.LICENSE21
-rw-r--r--vendor/themes/sidra.toml234
-rw-r--r--vendor/themes/snazzy.toml125
-rw-r--r--vendor/themes/solarized_dark.toml135
-rw-r--r--vendor/themes/sonokai.LICENSE21
-rw-r--r--vendor/themes/sonokai.toml120
-rw-r--r--vendor/themes/spacebones_light.toml109
-rw-r--r--vendor/themes/starlight.LICENSE24
-rw-r--r--vendor/themes/starlight.toml115
-rw-r--r--vendor/themes/sunset.toml164
-rw-r--r--vendor/themes/term16_dark.toml80
-rw-r--r--vendor/themes/term16_light.toml85
-rw-r--r--vendor/themes/tokyonight.toml136
-rw-r--r--vendor/themes/tokyonight_day.toml41
-rw-r--r--vendor/themes/tokyonight_moon.toml41
-rw-r--r--vendor/themes/tokyonight_storm.toml12
-rw-r--r--vendor/themes/ttox.toml33
-rw-r--r--vendor/themes/ttox_soft.toml37
-rw-r--r--vendor/themes/varua.toml108
-rw-r--r--vendor/themes/vesper-transparent.toml25
-rw-r--r--vendor/themes/vesper.LICENSE21
-rw-r--r--vendor/themes/vesper.toml121
-rw-r--r--vendor/themes/vim_dark_high_contrast.toml80
-rw-r--r--vendor/themes/vintage.toml102
-rw-r--r--vendor/themes/voxed.toml111
-rw-r--r--vendor/themes/wolf-alabaster-dark-bg.toml65
-rw-r--r--vendor/themes/wolf-alabaster-dark-mono.toml76
-rw-r--r--vendor/themes/wolf-alabaster-dark.toml169
-rw-r--r--vendor/themes/wolf-alabaster-light-bg.toml66
-rw-r--r--vendor/themes/wolf-alabaster-light-mono.toml82
-rw-r--r--vendor/themes/wolf-alabaster-light.toml169
-rw-r--r--vendor/themes/yellowed.toml137
-rw-r--r--vendor/themes/yo.toml125
-rw-r--r--vendor/themes/yo_berry.toml31
-rw-r--r--vendor/themes/yo_light.toml34
-rw-r--r--vendor/themes/zed_onedark.toml114
-rw-r--r--vendor/themes/zed_onelight.toml62
-rw-r--r--vendor/themes/zenburn.LICENSE674
-rw-r--r--vendor/themes/zenburn.toml278
231 files changed, 28669 insertions, 0 deletions
diff --git a/vendor/themes/acid.toml b/vendor/themes/acid.toml
new file mode 100644
index 00000000..af17f2fc
--- /dev/null
+++ b/vendor/themes/acid.toml
@@ -0,0 +1,105 @@
+# Author: zyrafal
+
+# Syntax highlighting
+"attribute" = "yellow"
+"type" = "cyan"
+"type.parameter" = "magenta"
+"type.enum.variant" = "yellow"
+"constructor" = "yellow"
+"constant" = "magenta"
+"constant.builtin" = "magenta"
+"constant.builtin.boolean" = "yellow"
+"constant.numeric" = "cyan"
+"constant.character" = "yellow"
+"string" = "green"
+"string.regexp" = "yellow"
+"string.special" = "yellow"
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "yellow", modifiers = ["italic"] }
+"variable" = "white"
+"variable.builtin" = "red"
+"label" = "purple"
+"punctuation" = "white"
+"keyword" = "red"
+"keyword.directive" = "orange"
+"operator" = "white"
+"function" = "yellow"
+"function.macro" = "orange"
+"function.builtin" = "purple"
+"tag" = "magenta"
+"namespace" = "white"
+"namespace.mod" = "cyan"
+"namespace.mod_type" = "purple"
+"markup.heading" = "green"
+"markup.list" = "red"
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "yellow"
+"markup.link.label" = "magenta"
+"markup.raw" = "magenta"
+"markup.quote" = "green"
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "yellow"
+
+# Interface
+"ui.background" = { bg = "background" }
+"ui.cursor" = { fg = "background", bg = "cyan" }
+"ui.cursor.primary" = { fg = "background", bg = "orange" }
+"ui.cursor.match" = { fg = "orange", modifiers = ["underlined"] }
+"ui.linenr" = "gray"
+"ui.linenr.selected" = "light-gray"
+"ui.statusline" = { fg = "white", bg = "highlight" }
+"ui.statusline.normal" = { fg = "highlight", bg = "cyan" }
+"ui.statusline.insert" = { fg = "highlight", bg = "yellow" }
+"ui.statusline.select" = { fg = "highlight", bg = "magenta" }
+"ui.cursorline" = { bg = "highlight" }
+"ui.popup" = { fg = "accent", bg = "highlight" }
+"ui.help" = { fg = "accent", bg = "highlight" }
+"ui.window" = "gray"
+"ui.text" = "white"
+"ui.text.focus" = { bg = "gray" }
+"ui.text.info" = "white"
+"ui.virtual.whitespace" = "orange"
+"ui.virtual.ruler" = { bg = "unknown" }
+"ui.virtual.inlay-hint" = { fg = "yellow", bg = "unknown" }
+"ui.menu" = { bg = "highlight" }
+"ui.menu.selected" = { fg = "background", bg = "light-gray" }
+"ui.selection" = { bg = "gray" }
+"warning" = "yellow"
+"error" = { fg = "red", modifiers = ["bold"] }
+"info" = { fg = "cyan", modifiers = ["bold"] }
+"hint" = { fg = "green", modifiers = ["bold"] }
+"diagnostic.hint"= { underline = { color = "green", style = "curl" } }
+"diagnostic.info"= { underline = { color = "cyan", 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"] }
+"ui.bufferline" = { fg = "light-gray", bg = "background" }
+"ui.bufferline.active" = { fg = "white", bg = "gray" }
+"ui.debug" = "orange"
+"ui.highlight.frameline" = { bg = "unknown" }
+"ui.virtual.jump-label" = { fg = "unknown", modifiers = ["italic", "bold"] }
+
+"special" = "orange"
+
+[palette]
+background = "#161e26"
+highlight = "#1e262e"
+accent = "#8080c0"
+gray = "#303840"
+light-gray = "#606870"
+white = "#e0e0e0"
+
+red = "#ff7070"
+orange = "#ffa060"
+yellow = "#ffd080"
+green = "#b0ff80"
+cyan = "#80d0ff"
+magenta = "#f0b0ff"
+purple = "#b090ff"
+
+unknown = "#ff00ff"
diff --git a/vendor/themes/acme_helix.toml b/vendor/themes/acme_helix.toml
new file mode 100644
index 00000000..195e0635
--- /dev/null
+++ b/vendor/themes/acme_helix.toml
@@ -0,0 +1,47 @@
+# Author: Two-Six<[email protected]>
+
+"ui.background" = {bg="acme_bg"}
+"ui.text" = "black"
+"ui.linenr" = {bg="acme_bg", fg="black"}
+"ui.linenr.selected" = {bg="acme_bg", fg="black"}
+"ui.selection" = {bg="selected"}
+"ui.cursorline" = {bg="acme_bar_bg"}
+"ui.statusline" = {fg="black", bg="acme_bar_bg"}
+"ui.statusline.inactive" = {fg="black", bg="acme_bar_inactive"}
+"ui.virtual" = "indent"
+"ui.virtual.ruler" = { bg = "acme_bar_bg" }
+"ui.cursor.match" = {bg="acme_bar_bg"}
+"ui.cursor" = {bg="cursor", fg="white"}
+"ui.debug" = {fg="orange"}
+"ui.highlight.frameline" = {bg="#da8581"}
+"string" = "red"
+"comment" = "green"
+"ui.help" = {fg="black", bg="acme_bg"}
+"ui.popup" = {fg="black", bg="acme_bg"}
+"ui.menu" = {fg="black", bg="acme_bg"}
+"ui.menu.selected" = {bg="selected"}
+"ui.window" = {bg="acme_bg"}
+"diagnostic.error" = {bg="red", fg="white", modifiers=["bold"]}
+"diagnostic.warning" = {bg="orange", fg="black", modifiers=["bold"]}
+"diagnostic.hint" = {fg="gray", modifiers=["bold"]}
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"ui.bufferline" = { fg = "black", bg = "acme_bar_bg" }
+"ui.bufferline.active" = { fg = "black", bg = "acme_bg" }
+"diff.plus" = {fg = "green"}
+"diff.delta" = {fg = "acme_bar_bg"}
+"diff.minus" = {fg = "red"}
+
+[palette]
+white = "#ffffff"
+acme_bg = "#ffffea"
+black = "#000000"
+selected = "#eeee9e"
+acme_bar_bg = "#aeeeee"
+acme_bar_inactive = "#eaffff"
+cursor = "#444444"
+red = "#a0342f"
+green = "#065905"
+indent = "#aaaaaa"
+orange = "#f0ad4e"
+gray = "#777777"
diff --git a/vendor/themes/adwaita-dark.toml b/vendor/themes/adwaita-dark.toml
new file mode 100644
index 00000000..66c818f5
--- /dev/null
+++ b/vendor/themes/adwaita-dark.toml
@@ -0,0 +1,180 @@
+# Author: Mofiqul Islam <[email protected]>
+
+"attribute" = "orange_4"
+
+"type" = "teal_2"
+"type.builtin" = "teal_2"
+
+"constructor" = "blue_2"
+
+"constant" = "violet_2"
+"constant.builtin" = { fg = "violet_2", modifiers = ["bold"] }
+"constant.character" = "teal_3"
+"constant.numeric" = { fg = "teal_3", modifiers = ["bold"] }
+"constant.character.escape" = "violet_2"
+
+"string" = "teal_2"
+"string.regexp" = "purple_2"
+"string.special" = "blue_2"
+
+"comment" = "dark_2"
+
+"variable" = "light_4"
+"variable.parameter" = "light_4"
+"variable.builtin" = "orange_2"
+"variable.other" = "teal_2"
+"variable.other.member" = "teal_2"
+
+"label" = "purple_2"
+
+"punctuation" = "light_4"
+"punctuation.delimiter" = "light_4"
+"punctuation.bracket" = "light_4"
+"punctuation.special" = "red_3"
+
+"keyword" = { fg = "orange_2", modifiers = ["bold"] }
+"keyword.control" = { fg = "orange_2", modifiers = ["bold"] }
+"keyword.operator" = "purple_2"
+"keyword.directive" = { fg = "orange_2", modifiers = ["bold"] }
+"keyword.function" = "orange_2"
+"keyword.storage" = { fg = "orange_2", modifiers = ["bold"] }
+
+"operator" = "purple_2"
+
+"function" = "blue_2"
+"function.builtin" = "blue_2"
+"function.macro" = { fg = "blue_2", modifiers = ["bold"] }
+"function.special" = { fg = "blue_2", modifiers = ["bold"] }
+
+"tag" = "teal_2"
+
+"namespace" = "orange_2"
+
+"markup" = "light_4"
+"markup.heading" = { fg = "teal_2", modifiers = ["bold"] }
+"markup.list" = { fg = "orange_2", modifiers = ["bold"] }
+"markup.bold" = { fg = "light_4", modifiers = ["bold"] }
+"markup.italic" = { fg = "light_4", modifiers = ["italic"] }
+"markup.link" = { fg = "blue_3", modifiers = ["underlined"] }
+"markup.quote" = { fg = "light_3", modifiers = ["italic"] }
+"diff.plus" = "teal_3"
+"diff.minus" = "red_1"
+"diff.delta" = "orange_3"
+"diff.delta.moved" = "orange_2"
+
+"ui.background" = { fg = "light_4", bg = "libadwaita_dark" }
+"ui.background.separator" = { fg = "split_and_borders", bg = "libadwaita_dark" }
+"ui.cursor" = { fg = "libadwaita_dark", bg = "light_5" }
+"ui.cursor.insert" = { fg = "libadwaita_dark", bg = "light_5" }
+"ui.cursor.select" = { fg = "libadwaita_dark", bg = "light_5" }
+"ui.cursor.match" = { fg = "libadwaita_dark", bg = "blue_2" }
+"ui.cursor.primary" = { fg = "libadwaita_dark", bg = "light_7" }
+"ui.cursor.primary.normal" = { fg = "libadwaita_dark", bg = "light_7" }
+"ui.cursor.primary.insert" = { fg = "libadwaita_dark", bg = "teal_4" }
+"ui.cursor.primary.select" = { fg = "libadwaita_dark", bg = "blue_4" }
+"ui.linenr" = "dark_2"
+"ui.linenr.selected" = { fg = "light_7", modifiers = ["bold"] }
+"ui.statusline" = { fg = "light_4", bg = "libadwaita_dark_alt" }
+"ui.statusline.inactive" = { fg = "light_7", bg = "libadwaita_dark_alt" }
+"ui.statusline.normal" = { fg = "libadwaita_dark", bg = "light_7" }
+"ui.statusline.insert" = { fg = "libadwaita_dark", bg = "teal_4" }
+"ui.statusline.select" = { fg = "libadwaita_dark", bg = "blue_4" }
+"ui.popup" = { fg = "light_4", bg = "libadwaita_popup" }
+"ui.window" = "split_and_borders"
+"ui.help" = { fg = "light_4", bg = "libadwaita_dark_alt" }
+"ui.text" = "light_4"
+"ui.virtual" = "dark_1"
+"ui.virtual.ruler" = { bg = "libadwaita_popup"}
+"ui.virtual.jump-label" = { fg = "libadwaita_dark", bg = "light_4" }
+"ui.menu" = { fg = "light_4", bg = "libadwaita_popup" }
+"ui.menu.selected" = { fg = "light_4", bg = "blue_5" }
+"ui.menu.scroll" = { fg = "light_7", bg = "dark_3" }
+"ui.selection" = { bg = "blue_7" }
+"ui.selection.primary" = { bg = "blue_7" }
+"ui.cursorline.primary" = { bg = "libadwaita_dark_alt" }
+"ui.virtual.whitespace" = "dark_2"
+
+"warning" = "yellow_2"
+"error" = "red_4"
+"info" = "purple_2"
+"hint" = "blue_2"
+
+"diagnostic.hint" = { fg = "blue_2", modifiers = ["dim"] }
+"diagnostic.info" = { fg = "purple_2", modifiers = ["dim"] }
+"diagnostic.error" = { fg = "red_4", modifiers = ["underlined"] }
+"diagnostic.warning" = { fg = "yellow_2", modifiers = ["underlined"] }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"ui.bufferline" = { fg = "dark_2", bg = "libadwaita_dark" }
+"ui.bufferline.active" = { fg = "light_4", bg = "libadwaita_dark_alt" }
+
+[palette]
+blue_0 = "#d3e4f9"
+blue_1 = "#99C1F1"
+blue_2 = "#62A0EA"
+blue_3 = "#3584E4"
+blue_4 = "#1C71D8"
+blue_5 = "#1A5FB4"
+blue_6 = "#1B497E"
+blue_7 = "#193D66"
+brown_1 = "#CDAB8F"
+brown_2 = "#B5835A"
+brown_3 = "#986A44"
+brown_4 = "#865E3C"
+brown_5 = "#63452C"
+chameleon_3 = "#4E9A06"
+dark_1 = "#77767B"
+dark_2 = "#5E5C64"
+dark_3 = "#504E55"
+dark_4 = "#3D3846"
+dark_5 = "#241F31"
+dark_6 = "#000000"
+dark_7 = "#1c1c1c"
+green_1 = "#8FF0A4"
+green_2 = "#57E389"
+green_3 = "#33D17A"
+green_4 = "#2EC27E"
+green_5 = "#26A269"
+green_6 = "#1F7F56"
+green_7 = "#1C6849"
+libadwaita_dark = "#1c1c1f"
+libadwaita_dark_alt = "#28282c"
+libadwaita_popup = "#36363a"
+light_1 = "#FFFFFF"
+light_2 = "#FCFCFC"
+light_3 = "#F6F5F4"
+light_4 = "#DEDDDA"
+light_5 = "#C0BFBC"
+light_6 = "#B0AFAC"
+light_7 = "#9A9996"
+orange_1 = "#FFBE6F"
+orange_2 = "#FFA348"
+orange_3 = "#FF7800"
+orange_4 = "#E66100"
+orange_5 = "#C64600"
+purple_1 = "#DC8ADD"
+purple_2 = "#C061CB"
+purple_3 = "#9141AC"
+purple_4 = "#813D9C"
+purple_5 = "#613583"
+red_1 = "#F66151"
+red_2 = "#ED333B"
+red_3 = "#E01B24"
+red_4 = "#C01C28"
+red_5 = "#A51D2D"
+teal_1 = "#93DDC2"
+teal_2 = "#5BC8AF"
+teal_3 = "#33B2A4"
+teal_4 = "#26A1A2"
+teal_5 = "#218787"
+violet_2 = "#7D8AC7"
+violet_3 = "#6362C8"
+violet_4 = "#4E57BA"
+yellow_1 = "#F9F06B"
+yellow_2 = "#F8E45C"
+yellow_3 = "#F6D32D"
+yellow_4 = "#F5C211"
+yellow_5 = "#E5A50A"
+yellow_6 = "#D38B09"
+split_and_borders = "#4F4F4F"
diff --git a/vendor/themes/adwaita-light.toml b/vendor/themes/adwaita-light.toml
new file mode 100644
index 00000000..d470548d
--- /dev/null
+++ b/vendor/themes/adwaita-light.toml
@@ -0,0 +1,109 @@
+inherits="adwaita-dark"
+"attribute" = "orange_5"
+
+"type" = "teal_4"
+"type.builtin" = "teal_4"
+
+"constructor" = "blue_4"
+
+"constant" = "violet_4"
+"constant.builtin" = { fg = "violet_4", modifiers = ["bold"] }
+"constant.character" = "teal_5"
+"constant.numeric" = { fg = "teal_5", modifiers = ["bold"] }
+"constant.character.escape" = "violet_4"
+
+"string" = "teal_3"
+"string.regexp" = "purple_4"
+"string.special" = "blue_4"
+
+"comment" = "light_6"
+
+"variable" = "dark_5"
+"variable.parameter" = "dark_5"
+"variable.builtin" = "orange_4"
+"variable.other" = "teal_4"
+"variable.other.member" = "teal_5"
+
+"label" = "purple_4"
+
+"punctuation" = "dark_4"
+"punctuation.delimiter" = "dark_4"
+"punctuation.bracket" = "dark_4"
+"punctuation.special" = "red_5"
+
+"keyword" = { fg = "orange_4", modifiers = ["bold"] }
+"keyword.control" = { fg = "orange_4", modifiers = ["bold"] }
+"keyword.operator" = "purple_4"
+"keyword.directive" = { fg = "orange_4", modifiers = ["bold"] }
+"keyword.function" = "orange_4"
+"keyword.storage" = { fg = "orange_4", modifiers = ["bold"] }
+
+"operator" = "purple_4"
+
+"function" = "blue_4"
+"function.builtin" = "blue_4"
+"function.macro" = { fg = "blue_4", modifiers = ["bold"] }
+"function.special" = { fg = "blue_4", modifiers = ["bold"] }
+
+"tag" = "teal_4"
+
+"namespace" = "orange_4"
+
+"markup" = "dark_4"
+"markup.heading" = { fg = "teal_4", modifiers = ["bold"] }
+"markup.list" = { fg = "orange_4", modifiers = ["bold"] }
+"markup.bold" = { fg = "dark_4", modifiers = ["bold"] }
+"markup.italic" = { fg = "dark_4", modifiers = ["italic"] }
+"markup.link" = { fg = "blue_5", modifiers = ["underlined"] }
+"markup.quote" = { fg = "dark_3", modifiers = ["italic"] }
+"diff.plus" = "teal_5"
+"diff.minus" = "red_3"
+"diff.delta" = "orange_5"
+"diff.delta.moved" = "orange_4"
+
+"ui.background" = { fg = "dark_4", bg = "light_1" }
+"ui.background.separator" = { fg = "split_and_borders", bg = "light_2" }
+"ui.cursor" = { fg = "light_2", bg = "dark_5" }
+"ui.cursor.insert" = { fg = "light_2", bg = "dark_4" }
+"ui.cursor.select" = { fg = "light_2", bg = "dark_5" }
+"ui.cursor.match" = { fg = "light_2", bg = "blue_1" }
+"ui.cursor.primary" = { fg = "light_2", bg = "dark_6" }
+"ui.cursor.primary.normal" = { fg = "light_2", bg = "dark_6" }
+"ui.cursor.primary.insert" = { fg = "light_2", bg = "teal_4" }
+"ui.cursor.primary.select" = { fg = "light_2", bg = "blue_4" }
+"ui.linenr" = "light_5"
+"ui.linenr.selected" = { fg = "dark_2", modifiers = ["bold"] }
+"ui.statusline" = { fg = "dark_4", bg = "light_4" }
+"ui.statusline.inactive" = { fg = "light_7", bg = "light_4" }
+"ui.statusline.normal" = { fg = "light_2", bg = "dark_6" }
+"ui.statusline.insert" = { fg = "light_2", bg = "teal_4" }
+"ui.statusline.select" = { fg = "light_2", bg = "blue_4" }
+"ui.popup" = { fg = "dark_4", bg = "light_3" }
+"ui.window" = "split_and_borders"
+"ui.help" = { fg = "dark_4", bg = "light_3" }
+"ui.text" = "dark_4"
+"ui.virtual" = "light_5"
+"ui.virtual.ruler" = { bg = "light_5"}
+"ui.virtual.jump-label" = { fg = "light_1", bg = "dark_4" }
+"ui.menu" = { fg = "dark_4", bg = "light_3" }
+"ui.menu.selected" = { fg = "dark_4", bg = "blue_1" }
+"ui.menu.scroll" = { fg = "dark_6", bg = "light_3" }
+"ui.selection" = { bg = "blue_0" }
+"ui.selection.primary" = { bg = "blue_0" }
+"ui.cursorline.primary" = { bg = "light_3" }
+"ui.virtual.whitespace" = "light_7"
+
+"warning" = "yellow_4"
+"error" = "red_5"
+"info" = "purple_3"
+"hint" = "blue_3"
+
+"diagnostic.hint" = { fg = "blue_4", modifiers = ["dim"] }
+"diagnostic.info" = { fg = "purple_4", modifiers = ["dim"] }
+"diagnostic.error" = { fg = "red_5", modifiers = ["underlined"] }
+"diagnostic.warning" = { fg = "yellow_4", modifiers = ["underlined"] }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"ui.bufferline" = { fg = "light_7", bg = "light_2" }
+"ui.bufferline.active" = { fg = "dark_4", bg = "light_4", modifiers = ["bold"]}
diff --git a/vendor/themes/akari-dawn.toml b/vendor/themes/akari-dawn.toml
new file mode 100644
index 00000000..718053ce
--- /dev/null
+++ b/vendor/themes/akari-dawn.toml
@@ -0,0 +1,261 @@
+# Author: Shu Kutsuzawa <[email protected]>
+# License: MIT
+# Akari Dawn — A light palette inspired by Japanese alleys lit by round lanterns.
+
+# UI elements
+"ui.background" = { bg = "background" }
+"ui.text" = "foreground"
+"ui.text.focus" = { fg = "selection-fg", bg = "selection-bg" }
+"ui.text.inactive" = { fg = "bright-black" }
+"ui.text.info" = { fg = "info" }
+"ui.text.directory" = { fg = "directory" }
+
+"ui.cursor" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.normal" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.primary" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.primary.normal" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.match" = { fg = "lantern", bg = "sunken", modifiers = ["bold"] }
+"ui.cursor.insert" = { fg = "cursor-text", bg = "green" }
+"ui.cursor.primary.insert" = { fg = "cursor-text", bg = "green" }
+"ui.cursor.select" = { fg = "cursor-text", bg = "magenta" }
+"ui.cursor.primary.select" = { fg = "cursor-text", bg = "magenta" }
+
+"ui.selection" = { bg = "selection-bg" }
+"ui.selection.primary" = { bg = "selection-bg" }
+
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.cursorline.secondary" = { bg = "surface" }
+"ui.cursorcolumn.primary" = { bg = "surface" }
+"ui.cursorcolumn.secondary" = { bg = "surface" }
+
+"ui.gutter" = { bg = "background" }
+"ui.gutter.selected" = { bg = "cursorline" }
+"ui.linenr" = { fg = "bright-black" }
+"ui.linenr.selected" = { fg = "lantern" }
+
+"ui.statusline" = { fg = "foreground", bg = "surface" }
+"ui.statusline.inactive" = { fg = "comment", bg = "surface" }
+"ui.statusline.normal" = { fg = "background", bg = "green", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "background", bg = "lantern", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "background", bg = "magenta", modifiers = ["bold"] }
+"ui.statusline.separator" = { fg = "bright-black", bg = "surface" }
+
+"ui.popup" = { fg = "foreground", bg = "raised" }
+"ui.popup.info" = { fg = "foreground", bg = "raised" }
+"ui.window" = { fg = "border" }
+"ui.background.separator" = { bg = "surface" }
+"ui.help" = { fg = "foreground", bg = "raised" }
+
+"ui.menu" = { fg = "foreground", bg = "raised" }
+"ui.menu.selected" = { fg = "selection-fg", bg = "selection-bg" }
+"ui.menu.scroll" = { fg = "bright-black", bg = "raised" }
+
+"ui.virtual.ruler" = { bg = "surface" }
+"ui.virtual.whitespace" = { fg = "bright-black" }
+"ui.virtual.indent-guide" = { fg = "bright-black" }
+"ui.virtual.inlay-hint" = { fg = "comment" }
+"ui.virtual.inlay-hint.parameter" = { fg = "comment" }
+"ui.virtual.inlay-hint.type" = { fg = "comment" }
+"ui.virtual.wrap" = { fg = "bright-black" }
+"ui.virtual.jump-label" = { fg = "bright-red", modifiers = ["bold"] }
+
+"ui.debug.breakpoint" = { fg = "red" }
+"ui.debug.active" = { fg = "lantern", modifiers = ["bold"] }
+
+"ui.highlight" = { bg = "match-bg" }
+"ui.highlight.frameline" = { bg = "surface" }
+
+"ui.bufferline" = { fg = "bright-black", bg = "surface" }
+"ui.bufferline.active" = { fg = "foreground", bg = "background" }
+"ui.bufferline.background" = { bg = "surface" }
+
+"ui.picker.header" = { fg = "bright-blue", modifiers = ["bold"] }
+"ui.picker.header.column" = { fg = "bright-blue", modifiers = ["bold"] }
+"ui.picker.header.column.active" = { fg = "lantern", modifiers = ["bold"] }
+
+# Diagnostics
+"error" = { fg = "red", modifiers = ["bold"] }
+"warning" = { fg = "lantern" }
+"info" = { fg = "blue" }
+"hint" = { fg = "comment" }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "lantern", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "comment", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"tabstop" = { underline = { color = "lantern", style = "dashed" } }
+
+# Diff
+"diff.plus" = "green"
+"diff.plus.gutter" = "green"
+"diff.minus" = "red"
+"diff.minus.gutter" = "red"
+"diff.delta" = "amber"
+"diff.delta.gutter" = "amber"
+"diff.delta.moved" = "diff-moved"
+"diff.delta.conflict" = { fg = "conflict", modifiers = ["bold"] }
+
+# Markup
+"markup.heading" = { fg = "lantern", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "comment" }
+"markup.heading.1" = { fg = "lantern", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "amber", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "ember", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "amber" }
+"markup.heading.5" = { fg = "comment", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "blue" }
+"markup.list" = { fg = "cyan" }
+"markup.list.numbered" = { fg = "lantern" }
+"markup.list.unnumbered" = { fg = "cyan" }
+"markup.list.checked" = { fg = "green" }
+"markup.list.unchecked" = { fg = "comment" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "link", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "cyan" }
+"markup.link.label" = { fg = "magenta" }
+"markup.quote" = { fg = "comment", modifiers = ["dim"] }
+"markup.raw" = { fg = "bright-green" }
+"markup.raw.inline" = { fg = "bright-green" }
+"markup.raw.block" = { fg = "bright-green" }
+"markup.normal.completion" = "foreground"
+"markup.normal.hover" = "foreground"
+"markup.heading.completion" = { fg = "lantern", modifiers = ["bold"] }
+"markup.heading.hover" = { fg = "lantern", modifiers = ["bold"] }
+"markup.raw.inline.completion" = { fg = "bright-green" }
+"markup.raw.inline.hover" = { fg = "bright-green" }
+
+# Syntax highlighting
+"attribute" = { fg = "amber" }
+"type" = { fg = "amber" }
+"type.builtin" = { fg = "yellow" }
+"type.enum" = { fg = "amber" }
+"type.enum.variant" = { fg = "amber" }
+"type.parameter" = { fg = "yellow" }
+
+"constructor" = { fg = "amber" }
+
+"constant" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+"constant.builtin.boolean" = { fg = "constant" }
+"constant.character" = { fg = "lantern" }
+"constant.character.escape" = { fg = "escape" }
+"constant.numeric" = { fg = "constant" }
+"constant.numeric.integer" = { fg = "constant" }
+"constant.numeric.float" = { fg = "constant" }
+
+"string" = { fg = "green" }
+"string.regexp" = { fg = "regexp" }
+"string.regexp.special" = { fg = "bright-magenta" }
+"string.special" = { fg = "green" }
+"string.special.path" = { fg = "path" }
+"string.special.url" = { fg = "link", modifiers = ["underlined"] }
+"string.special.symbol" = { fg = "bright-magenta" }
+
+"comment" = { fg = "comment", modifiers = ["dim"] }
+"comment.line" = { fg = "comment", modifiers = ["dim"] }
+"comment.line.documentation" = { fg = "comment", modifiers = ["dim"] }
+"comment.block" = { fg = "comment", modifiers = ["dim"] }
+"comment.block.documentation" = { fg = "comment", modifiers = ["dim"] }
+"comment.unused" = { fg = "comment", modifiers = ["dim"] }
+
+"variable" = "foreground"
+"variable.builtin" = { fg = "bright-red" }
+"variable.parameter" = "foreground"
+"variable.other" = "foreground"
+"variable.other.member" = "member"
+"variable.other.member.private" = "member"
+
+"label" = { fg = "amber" }
+
+"punctuation" = "foreground"
+"punctuation.bracket" = "foreground"
+"punctuation.delimiter" = "foreground"
+"punctuation.special" = { fg = "amber" }
+
+"keyword" = { fg = "lantern" }
+"keyword.control" = { fg = "lantern" }
+"keyword.control.conditional" = { fg = "lantern" }
+"keyword.control.repeat" = { fg = "lantern" }
+"keyword.control.import" = { fg = "lantern" }
+"keyword.control.return" = { fg = "lantern" }
+"keyword.control.exception" = { fg = "lantern" }
+"keyword.operator" = { fg = "lantern" }
+"keyword.directive" = { fg = "macro" }
+"keyword.function" = { fg = "lantern" }
+"keyword.storage" = { fg = "lantern" }
+"keyword.storage.type" = { fg = "lantern" }
+"keyword.storage.modifier" = { fg = "lantern" }
+
+"operator" = "foreground"
+
+"function" = { fg = "magenta" }
+"function.builtin" = { fg = "bright-magenta" }
+"function.method" = { fg = "magenta" }
+"function.method.private" = { fg = "magenta" }
+"function.macro" = { fg = "macro" }
+"function.special" = { fg = "bright-magenta" }
+
+"tag" = { fg = "lantern" }
+"tag.builtin" = { fg = "blue" }
+
+"namespace" = { fg = "amber" }
+
+"special" = { fg = "bright-yellow" }
+
+"module" = { fg = "amber" }
+
+# Palette definition (MUST be at the end of the file)
+[palette]
+background = "#E4DED6"
+foreground = "#1A1816"
+
+cursor = "#8A4530"
+cursor-text = "#E4DED6"
+selection-bg = "#D7C5B1"
+selection-fg = "#1A1816"
+cursorline = "#DDD2C9"
+
+surface = "#CFC4B6"
+raised = "#D9D1C6"
+border = "#CABEAE"
+
+black = "#1A1816"
+red = "#6A2828"
+green = "#3A5830"
+yellow = "#B07840"
+blue = "#304050"
+magenta = "#806080"
+cyan = "#305858"
+white = "#E4DED6"
+
+bright-black = "#514B45"
+bright-red = "#3E1717"
+bright-green = "#20301A"
+bright-yellow = "#78522C"
+bright-blue = "#131A20"
+bright-magenta = "#543F54"
+bright-cyan = "#152727"
+bright-white = "#D0C5B7"
+
+lantern = "#8A4530"
+ember = "#7A3828"
+amber = "#B07840"
+constant = "#447C7C"
+comment = "#222D38"
+path = "#3A5830"
+macro = "#543F54"
+escape = "#543F54"
+regexp = "#20301A"
+link = "#131A20"
+member = "#304050"
+directory = "#305858"
+sunken = "#DDD2C9"
+match-bg = "#D2BFB5"
+info = "#304050"
+diff-moved = "#304050"
+conflict = "#6A2828"
diff --git a/vendor/themes/akari-night.toml b/vendor/themes/akari-night.toml
new file mode 100644
index 00000000..beb87b2b
--- /dev/null
+++ b/vendor/themes/akari-night.toml
@@ -0,0 +1,261 @@
+# Author: Shu Kutsuzawa <[email protected]>
+# License: MIT
+# Akari Night — A dark palette inspired by Japanese alleys lit by round lanterns.
+
+# UI elements
+"ui.background" = { bg = "background" }
+"ui.text" = "foreground"
+"ui.text.focus" = { fg = "selection-fg", bg = "selection-bg" }
+"ui.text.inactive" = { fg = "bright-black" }
+"ui.text.info" = { fg = "info" }
+"ui.text.directory" = { fg = "directory" }
+
+"ui.cursor" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.normal" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.primary" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.primary.normal" = { fg = "cursor-text", bg = "cursor" }
+"ui.cursor.match" = { fg = "lantern", bg = "sunken", modifiers = ["bold"] }
+"ui.cursor.insert" = { fg = "cursor-text", bg = "green" }
+"ui.cursor.primary.insert" = { fg = "cursor-text", bg = "green" }
+"ui.cursor.select" = { fg = "cursor-text", bg = "magenta" }
+"ui.cursor.primary.select" = { fg = "cursor-text", bg = "magenta" }
+
+"ui.selection" = { bg = "selection-bg" }
+"ui.selection.primary" = { bg = "selection-bg" }
+
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.cursorline.secondary" = { bg = "surface" }
+"ui.cursorcolumn.primary" = { bg = "surface" }
+"ui.cursorcolumn.secondary" = { bg = "surface" }
+
+"ui.gutter" = { bg = "background" }
+"ui.gutter.selected" = { bg = "cursorline" }
+"ui.linenr" = { fg = "bright-black" }
+"ui.linenr.selected" = { fg = "lantern" }
+
+"ui.statusline" = { fg = "foreground", bg = "surface" }
+"ui.statusline.inactive" = { fg = "comment", bg = "surface" }
+"ui.statusline.normal" = { fg = "background", bg = "green", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "background", bg = "lantern", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "background", bg = "magenta", modifiers = ["bold"] }
+"ui.statusline.separator" = { fg = "bright-black", bg = "surface" }
+
+"ui.popup" = { fg = "foreground", bg = "raised" }
+"ui.popup.info" = { fg = "foreground", bg = "raised" }
+"ui.window" = { fg = "border" }
+"ui.background.separator" = { bg = "surface" }
+"ui.help" = { fg = "foreground", bg = "raised" }
+
+"ui.menu" = { fg = "foreground", bg = "raised" }
+"ui.menu.selected" = { fg = "selection-fg", bg = "selection-bg" }
+"ui.menu.scroll" = { fg = "bright-black", bg = "raised" }
+
+"ui.virtual.ruler" = { bg = "surface" }
+"ui.virtual.whitespace" = { fg = "bright-black" }
+"ui.virtual.indent-guide" = { fg = "bright-black" }
+"ui.virtual.inlay-hint" = { fg = "comment" }
+"ui.virtual.inlay-hint.parameter" = { fg = "comment" }
+"ui.virtual.inlay-hint.type" = { fg = "comment" }
+"ui.virtual.wrap" = { fg = "bright-black" }
+"ui.virtual.jump-label" = { fg = "bright-red", modifiers = ["bold"] }
+
+"ui.debug.breakpoint" = { fg = "red" }
+"ui.debug.active" = { fg = "lantern", modifiers = ["bold"] }
+
+"ui.highlight" = { bg = "match-bg" }
+"ui.highlight.frameline" = { bg = "surface" }
+
+"ui.bufferline" = { fg = "bright-black", bg = "surface" }
+"ui.bufferline.active" = { fg = "foreground", bg = "background" }
+"ui.bufferline.background" = { bg = "surface" }
+
+"ui.picker.header" = { fg = "bright-blue", modifiers = ["bold"] }
+"ui.picker.header.column" = { fg = "bright-blue", modifiers = ["bold"] }
+"ui.picker.header.column.active" = { fg = "lantern", modifiers = ["bold"] }
+
+# Diagnostics
+"error" = { fg = "red", modifiers = ["bold"] }
+"warning" = { fg = "lantern" }
+"info" = { fg = "blue" }
+"hint" = { fg = "comment" }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "lantern", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "comment", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"tabstop" = { underline = { color = "lantern", style = "dashed" } }
+
+# Diff
+"diff.plus" = "green"
+"diff.plus.gutter" = "green"
+"diff.minus" = "red"
+"diff.minus.gutter" = "red"
+"diff.delta" = "amber"
+"diff.delta.gutter" = "amber"
+"diff.delta.moved" = "diff-moved"
+"diff.delta.conflict" = { fg = "conflict", modifiers = ["bold"] }
+
+# Markup
+"markup.heading" = { fg = "lantern", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "comment" }
+"markup.heading.1" = { fg = "lantern", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "amber", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "ember", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "amber" }
+"markup.heading.5" = { fg = "comment", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "blue" }
+"markup.list" = { fg = "cyan" }
+"markup.list.numbered" = { fg = "lantern" }
+"markup.list.unnumbered" = { fg = "cyan" }
+"markup.list.checked" = { fg = "green" }
+"markup.list.unchecked" = { fg = "comment" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "link", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "cyan" }
+"markup.link.label" = { fg = "magenta" }
+"markup.quote" = { fg = "comment", modifiers = ["dim"] }
+"markup.raw" = { fg = "bright-green" }
+"markup.raw.inline" = { fg = "bright-green" }
+"markup.raw.block" = { fg = "bright-green" }
+"markup.normal.completion" = "foreground"
+"markup.normal.hover" = "foreground"
+"markup.heading.completion" = { fg = "lantern", modifiers = ["bold"] }
+"markup.heading.hover" = { fg = "lantern", modifiers = ["bold"] }
+"markup.raw.inline.completion" = { fg = "bright-green" }
+"markup.raw.inline.hover" = { fg = "bright-green" }
+
+# Syntax highlighting
+"attribute" = { fg = "amber" }
+"type" = { fg = "amber" }
+"type.builtin" = { fg = "yellow" }
+"type.enum" = { fg = "amber" }
+"type.enum.variant" = { fg = "amber" }
+"type.parameter" = { fg = "yellow" }
+
+"constructor" = { fg = "amber" }
+
+"constant" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+"constant.builtin.boolean" = { fg = "constant" }
+"constant.character" = { fg = "lantern" }
+"constant.character.escape" = { fg = "escape" }
+"constant.numeric" = { fg = "constant" }
+"constant.numeric.integer" = { fg = "constant" }
+"constant.numeric.float" = { fg = "constant" }
+
+"string" = { fg = "green" }
+"string.regexp" = { fg = "regexp" }
+"string.regexp.special" = { fg = "bright-magenta" }
+"string.special" = { fg = "green" }
+"string.special.path" = { fg = "path" }
+"string.special.url" = { fg = "link", modifiers = ["underlined"] }
+"string.special.symbol" = { fg = "bright-magenta" }
+
+"comment" = { fg = "comment", modifiers = ["dim"] }
+"comment.line" = { fg = "comment", modifiers = ["dim"] }
+"comment.line.documentation" = { fg = "comment", modifiers = ["dim"] }
+"comment.block" = { fg = "comment", modifiers = ["dim"] }
+"comment.block.documentation" = { fg = "comment", modifiers = ["dim"] }
+"comment.unused" = { fg = "comment", modifiers = ["dim"] }
+
+"variable" = "foreground"
+"variable.builtin" = { fg = "bright-red" }
+"variable.parameter" = "foreground"
+"variable.other" = "foreground"
+"variable.other.member" = "member"
+"variable.other.member.private" = "member"
+
+"label" = { fg = "amber" }
+
+"punctuation" = "foreground"
+"punctuation.bracket" = "foreground"
+"punctuation.delimiter" = "foreground"
+"punctuation.special" = { fg = "amber" }
+
+"keyword" = { fg = "lantern" }
+"keyword.control" = { fg = "lantern" }
+"keyword.control.conditional" = { fg = "lantern" }
+"keyword.control.repeat" = { fg = "lantern" }
+"keyword.control.import" = { fg = "lantern" }
+"keyword.control.return" = { fg = "lantern" }
+"keyword.control.exception" = { fg = "lantern" }
+"keyword.operator" = { fg = "lantern" }
+"keyword.directive" = { fg = "macro" }
+"keyword.function" = { fg = "lantern" }
+"keyword.storage" = { fg = "lantern" }
+"keyword.storage.type" = { fg = "lantern" }
+"keyword.storage.modifier" = { fg = "lantern" }
+
+"operator" = "foreground"
+
+"function" = { fg = "magenta" }
+"function.builtin" = { fg = "bright-magenta" }
+"function.method" = { fg = "magenta" }
+"function.method.private" = { fg = "magenta" }
+"function.macro" = { fg = "macro" }
+"function.special" = { fg = "bright-magenta" }
+
+"tag" = { fg = "lantern" }
+"tag.builtin" = { fg = "blue" }
+
+"namespace" = { fg = "amber" }
+
+"special" = { fg = "bright-yellow" }
+
+"module" = { fg = "amber" }
+
+# Palette definition (MUST be at the end of the file)
+[palette]
+background = "#25231F"
+foreground = "#E6DED3"
+
+cursor = "#E26A3B"
+cursor-text = "#25231F"
+selection-bg = "#51422E"
+selection-fg = "#E6DED3"
+cursorline = "#412E23"
+
+surface = "#323333"
+raised = "#363939"
+border = "#3F4346"
+
+black = "#1E1C19"
+red = "#D25046"
+green = "#7FAF6A"
+yellow = "#D4A05A"
+blue = "#7A8FA2"
+magenta = "#8E7BA0"
+cyan = "#6F8F8A"
+white = "#E6DED3"
+
+bright-black = "#716A5F"
+bright-red = "#DE7F77"
+bright-green = "#A1C492"
+bright-yellow = "#E4C397"
+bright-blue = "#A7B5C1"
+bright-magenta = "#B4A7C0"
+bright-cyan = "#9AB1AD"
+bright-white = "#EFEAE3"
+
+lantern = "#E26A3B"
+ember = "#D65A3A"
+amber = "#D4A05A"
+constant = "#8CA6A1"
+comment = "#9BABB9"
+path = "#7FAF6A"
+macro = "#B4A7C0"
+escape = "#B4A7C0"
+regexp = "#A1C492"
+link = "#A7B5C1"
+member = "#7A8FA2"
+directory = "#6F8F8A"
+sunken = "#412E23"
+match-bg = "#4B3125"
+info = "#7A8FA2"
+diff-moved = "#7A8FA2"
+conflict = "#D25046"
diff --git a/vendor/themes/akari.LICENSE b/vendor/themes/akari.LICENSE
new file mode 100644
index 00000000..8760c075
--- /dev/null
+++ b/vendor/themes/akari.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Shu Kutsuzawa
+
+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/amberwood.toml b/vendor/themes/amberwood.toml
new file mode 100644
index 00000000..30b4169a
--- /dev/null
+++ b/vendor/themes/amberwood.toml
@@ -0,0 +1,140 @@
+
+"attribute" = { fg = "blue", modifiers = ["italic"] }
+"ui.virtual.wrap"="softwrap"
+"keyword" = "keyword"
+"keyword.control.conditional" = { fg = "conditional", modifiers = ["italic"] }
+"keyword.directive" = "magenta" # -- preprocessor comments (#if in C)
+
+"namespace" = { fg = "namespace", modifiers = ["italic"] }
+
+"punctuation" = "gray06"
+"punctuation.delimiter" = "gray06"
+
+"operator" = "operator"
+"special" = "yellow"
+
+"variable" = {fg="fg"}
+"variable.builtin" = "bright_blue"
+"variable.parameter" = {fg="white", modifiers=["italic"]}
+"variable.other.member" = "white"
+
+"type" = "bright_blue"
+"type.builtin" = "magenta"
+"type.enum.variant" = "magenta"
+
+"constructor" = "yellow"
+
+"function" = {fg="function", modifiers=["italic"]}
+"function.macro" = "bright_cyan"
+"function.builtin" = "support_function"
+
+"tag" = "tag"
+"comment" = { fg = "comment", modifiers = ["italic"] }
+
+"string" = "string"
+"string.regexp" = "green"
+"string.special" = "yellow"
+
+"constant" = "constant"
+"constant.builtin" = "yellow"
+"constant.numeric" = "numeric"
+"constant.character.escape" = "cyan"
+
+# used for lifetimes
+"label" = "yellow"
+
+"markup.heading.marker" = { fg = "gray06" }
+"markup.heading" = { fg = "bright_blue", modifiers = ["bold"] }
+"markup.list" = "gray06"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "green", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "blue", modifiers = ["italic"] }
+"markup.raw" = "yellow"
+
+"diff.plus" = "bright_green"
+"diff.minus" = "red"
+"diff.delta" = "bright_blue"
+
+"ui.background" = { bg = "bg" }
+"ui.background.separator" = { fg = "fg" }
+
+"ui.linenr" = { fg = "gray04" }
+"ui.linenr.selected" = { fg = "fg" }
+
+"ui.statusline" = { fg = "status_line_fg", bg = "gray01" }
+"ui.statusline.inactive" = { fg = "fg", bg = "gray01", modifiers = ["dim"] }
+"ui.statusline.normal" = { fg = "bg", bg = "cyan", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "bg", bg = "blue", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg", bg = "magenta", modifiers = ["bold"] }
+
+"ui.popup" = { bg = "gray01" }
+"ui.window" = { fg = "gray02" }
+"ui.help" = { bg = "gray01", fg = "white" }
+
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "fg" }
+
+"ui.virtual" = { fg = "gray02" }
+"ui.virtual.ruler" = {bg="gray02"}
+"ui.virtual.indent-guide" = { fg = "gray02" }
+"ui.virtual.inlay-hint" = { fg = "gray03" }
+
+
+"ui.selection" = { bg = "gray03" }
+"ui.selection.primary" = { bg = "gray03" }
+
+"ui.cursor" = {fg="bg", bg = "cursor" }
+"ui.cursor.match" = { fg = "yellow", modifiers = ["bold", "underlined"] }
+"ui.cursorline.primary" = { bg = "gray01" }
+
+"ui.highlight" = { bg = "gray02" }
+
+"ui.menu" = { fg = "white", bg = "gray01" }
+"ui.menu.selected" = { fg = "bright_white", bg = "gray03" }
+"ui.menu.scroll" = { fg = "gray04", bg = "gray01" }
+
+diagnostic = { modifiers = ["underlined"] }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+warning = "yellow"
+error = "error"
+info = "bright_blue"
+hint = "bright_cyan"
+
+[palette]
+error="#fca5a5"
+bg = "#0F1014"
+fg = "#c9c7cd"
+green = "#90b99f"
+bright_green = "#9dc6ac"
+yellow = "#e5c890"
+blue = "#aca1cf"
+bright_blue = "#b9aeda"
+magenta = "#e29eca"
+cyan = "#ea83a5"
+bright_cyan = "#f591b2"
+white = "#c1c0d4"
+bright_white = "#cac9dd"
+gray01 = "#1b1b1d"
+gray02 = "#2a2a2d"
+gray03 = "#3e3e43"
+gray04 = "#57575f"
+gray06 = "#9998a8"
+gray07 = "#c1c0d4"
+comment="#808080"
+red="#e78284"
+function="#e5c890"
+support_function="#9898a6"
+constant="#8eb6f5"
+string="#9898a6"
+tag="#9898a6"
+keyword="#8eb6f5"
+namespace= "#c58fff"
+numeric= "#e9c46a"
+status_line_fg = "#e5c890"
+operator="#8eb6f5"
+softwrap="#808080"
+conditional="#a8a29e"
+cursor="#e5c890"
diff --git a/vendor/themes/andromeda.toml b/vendor/themes/andromeda.toml
new file mode 100644
index 00000000..c9364e13
--- /dev/null
+++ b/vendor/themes/andromeda.toml
@@ -0,0 +1,186 @@
+
+# Interface colors
+"ui.background" = { bg = "background" }
+"ui.background.separator" = { fg = "muted" }
+"ui.cursor" = { fg = "background", bg = "cursor" }
+"ui.cursor.normal" = { fg = "background", bg = "cursor" }
+"ui.cursor.insert" = { fg = "background", bg = "accent" }
+"ui.cursor.select" = { fg = "background", bg = "purple" }
+"ui.cursor.match" = { fg = "background", bg = "yellow" }
+"ui.cursor.primary" = { fg = "background", bg = "cursor" }
+"ui.cursor.primary.normal" = { fg = "background", bg = "cursor" }
+"ui.cursor.primary.insert" = { fg = "background", bg = "accent" }
+"ui.cursor.primary.select" = { fg = "background", bg = "purple" }
+
+"ui.gutter" = { bg = "background" }
+"ui.gutter.selected" = { bg = "line_highlight" }
+"ui.linenr" = { fg = "line_numbers" }
+"ui.linenr.selected" = { fg = "accent", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "foreground", bg = "background" }
+"ui.statusline.inactive" = { fg = "muted", bg = "background" }
+"ui.statusline.normal" = { fg = "background", bg = "accent" }
+"ui.statusline.insert" = { fg = "background", bg = "green" }
+"ui.statusline.select" = { fg = "background", bg = "purple" }
+
+"ui.popup" = { fg = "foreground", bg = "popup_bg" }
+"ui.popup.info" = { fg = "foreground", bg = "popup_bg" }
+"ui.window" = { fg = "muted" }
+"ui.help" = { fg = "foreground", bg = "popup_bg" }
+
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "accent", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "muted" }
+"ui.text.info" = { fg = "foreground" }
+
+"ui.virtual.ruler" = { bg = "line_highlight" }
+"ui.virtual.whitespace" = { fg = "muted" }
+"ui.virtual.indent-guide" = { fg = "muted" }
+"ui.virtual.inlay-hint" = { fg = "hint" }
+"ui.virtual.jump-label" = { fg = "white", bg = "background" }
+
+"ui.menu" = { fg = "foreground", bg = "popup_bg" }
+"ui.menu.selected" = { fg = "background", bg = "accent" }
+"ui.menu.scroll" = { fg = "muted", bg = "background" }
+
+"ui.selection" = { bg = "selection_background" }
+"ui.selection.primary" = { bg = "selection_background" }
+"ui.highlight" = { bg = "line_highlight" }
+"ui.cursorline.primary" = { bg = "line_highlight" }
+"ui.cursorline.secondary" = { bg = "line_highlight" }
+
+# Diagnostics
+"warning" = { fg = "warning" }
+"error" = { fg = "error" }
+"info" = { fg = "info" }
+"hint" = { fg = "hint" }
+"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.hint" = { fg = "hint", modifiers = ["underlined"] }
+"diagnostic.info" = { fg = "info", modifiers = ["underlined"] }
+"diagnostic.warning" = { fg = "warning", modifiers = ["underlined"] }
+"diagnostic.error" = { fg = "error", modifiers = ["underlined"] }
+"diagnostic.unnecessary" = { fg = "muted", modifiers = ["dim"] }
+
+# Syntax highlighting
+"comment" = { fg = "comment", modifiers = ["italic"] }
+"constant" = { fg = "red" }
+"constant.character" = { fg = "green" }
+"constant.character.escape" = { fg = "yellow" }
+"constant.numeric" = { fg = "orange" }
+"constant.builtin" = { fg = "red" }
+
+"string" = { fg = "green" }
+"string.regexp" = { fg = "blue" }
+"string.special" = { fg = "yellow" }
+
+"type" = { fg = "yellow" }
+"type.builtin" = { fg = "yellow" }
+"type.enum" = { fg = "yellow" }
+"type.parameter" = { fg = "orange" }
+
+"constructor" = { fg = "red" }
+"function" = { fg = "yellow" }
+"function.builtin" = { fg = "yellow" }
+"function.method" = { fg = "yellow" }
+"function.macro" = { fg = "purple" }
+
+"variable" = { fg = "cyan" }
+"variable.builtin" = { fg = "red" }
+"variable.parameter" = { fg = "orange" }
+"variable.other.member" = { fg = "cyan" }
+
+"keyword" = { fg = "purple" }
+"keyword.control" = { fg = "purple" }
+"keyword.control.conditional" = { fg = "purple" }
+"keyword.control.repeat" = { fg = "purple" }
+"keyword.control.import" = { fg = "purple" }
+"keyword.control.return" = { fg = "purple" }
+"keyword.control.exception" = { fg = "purple" }
+"keyword.operator" = { fg = "red" }
+"keyword.directive" = { fg = "purple" }
+"keyword.function" = { fg = "purple" }
+"keyword.storage" = { fg = "purple" }
+"keyword.storage.type" = { fg = "purple" }
+"keyword.storage.modifier" = { fg = "purple" }
+
+"operator" = { fg = "red" }
+"punctuation" = { fg = "foreground" }
+"punctuation.delimiter" = { fg = "foreground" }
+"punctuation.bracket" = { fg = "foreground" }
+"punctuation.special" = { fg = "hot_pink" }
+
+"tag" = { fg = "hot_pink" }
+"attribute" = { fg = "orange" }
+"namespace" = { fg = "yellow" }
+"module" = { fg = "yellow" }
+"special" = { fg = "hot_pink" }
+
+# Markup
+"markup.heading" = { fg = "hot_pink", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "hot_pink" }
+"markup.list" = { fg = "yellow" }
+"markup.list.marker" = { fg = "hot_pink" }
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "purple", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "cyan" }
+"markup.quote" = { fg = "comment", modifiers = ["italic"] }
+"markup.raw" = { fg = "green" }
+"markup.raw.block" = { fg = "green" }
+
+# Diff
+"diff.plus" = { fg = "diff_add" }
+"diff.minus" = { fg = "diff_delete" }
+"diff.delta" = { fg = "diff_change" }
+
+# Color palette
+[palette]
+# Main colors
+white = "#FFFFFF"
+background = "#23262E"
+foreground = "#D5CED9"
+cursor = "#FFFFFF"
+
+# UI colors
+line_highlight = "#2e323d"
+selection_background = "#3D4352"
+line_numbers = "#746f77"
+muted = "#746f77"
+popup_bg = "#20232A"
+
+# Accent colors
+accent = "#00e8c6" # Cyan
+cyan = "#00e8c6" # Cyan
+orange = "#f39c12" # Orange
+yellow = "#FFE66D" # Yellow
+purple = "#c74ded" # Purple
+hot_pink = "#f92672" # Hot Pink
+blue = "#7cb7ff" # Blue
+red = "#ee5d43" # Red
+green = "#96E072" # Green
+
+# Syntax colors
+comment = "#A0A1A7"
+string = "#96E072"
+number = "#f39c12"
+keyword = "#c74ded"
+function = "#FFE66D"
+variable = "#00e8c6"
+type = "#FFE66D"
+constant = "#ee5d43"
+operator = "#ee5d43"
+tag = "#f92672"
+attribute = "#f39c12"
+punctuation = "#D5CED9"
+
+# Diagnostic colors
+error = "#FC644D"
+warning = "#FF9F2E"
+info = "#00b0ff"
+hint = "#746f77"
+
+# Diff colors
+diff_add = "#96E072"
+diff_delete = "#FC644D"
+diff_change = "#FFE66D"
diff --git a/vendor/themes/ao.toml b/vendor/themes/ao.toml
new file mode 100644
index 00000000..9d0ec92b
--- /dev/null
+++ b/vendor/themes/ao.toml
@@ -0,0 +1,165 @@
+# Theme: Ao
+# Author: YardQuit
+
+# SYNTAX HIGHLIGHTING
+"attribute" = { fg = "yellow" }
+"type" = { fg = "white" }
+"type.builtin" = { fg = "white" }
+"type.parameter" = { fg = "white" }
+"type.enum" = { fg = "white" }
+"type.enum.variant" = { fg = "white" }
+"constructor" = { fg = "orange" }
+"constant" = { fg = "blue" }
+"constant.character.escape" = { fg = "yellow" }
+"string" = { fg = "blue" }
+"string.regexp" = { fg = "yellow" }
+"comment" = { fg = "gray" }
+"variable" = { fg = "orange" }
+"variable.parameter" = { fg = "yellow" }
+"variable.other" = { fg = "green" }
+"variable.other.member" = { fg = "green" }
+"label" = { fg = "blue" }
+"punctuation" = { fg = "white" }
+"punctuation.bracket" = { fg = "orange" }
+"punctuation.special" = { fg = "yellow" }
+"keyword" = { fg = "red" }
+"keyword.operator" = { fg = "blue" }
+"keyword.directive" = { fg = "white" }
+"keyword.function" = { fg = "red" }
+"keyword.storage" = { fg = "red" }
+"keyword.storage.modifier" = { fg = "green" }
+"operator" = { fg = "white" }
+"function" = { fg = "purple" }
+"function.method" = { fg = "green" }
+"function.macro" = { fg = "green" }
+"function.special" = { fg = "yellow" }
+"tag" = { fg = "green" }
+"namespace" = { fg = "white" }
+"diff" = { fg = "white" }
+"diff.minus" = { fg = "red" }
+"diff.delta" = { fg = "brown" }
+
+# MARKUP, SYNTAX HIGHLIGHTING AND INTERFACE HYBRID
+"markup.heading" = { fg = "blaze_orange" }
+"markup.heading.1" = { fg = "crystal_blue", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "sky_blue", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "dreamy_blue", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "crystal_blue" }
+"markup.heading.5" = { fg = "sky_blue" }
+"markup.heading.6" = { fg = "dreamy_blue" }
+"markup.list" = { fg = "blaze_orange" }
+"markup.bold" = { fg = "crystal_blue", modifiers = ["bold"] }
+"markup.italic" = { fg = "crystal_blue", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "crystal_blue", modifiers = ["crossed_out"] }
+"markup.link" = { fg = "crystal_blue", underline = { color = "light_purple", style = "line" } }
+"markup.link.url" = { fg = "slate_purple", underline = { color = "slate_purple", style = "line" } }
+"markup.link.label" = { fg = "crystal_blue" }
+"markup.link.text" = { fg = "crystal_blue", modifiers = ["bold"] }
+"markup.quote" = { fg = "winter_sky", modifiers = ["italic"] }
+"markup.raw" = { fg = "winter_sky" }
+"markup.raw.block" = { fg = "white" }
+
+# USER INTERFACE
+"ui.background" = { bg = "deep_abyss"} # workspace background
+"ui.background.separator" = { fg = "winter_sky" } # picker separator below input line (space + j)
+"ui.gutter" = { bg = "deep_abyss" } # gutter
+"ui.gutter.selected" = { bg = "pitch_black" } # gutter for the line the cursor is on
+"ui.linenr" = { fg = "slate_gray" } # line numbers
+"ui.linenr.selected" = { fg = "blaze_orange", modifiers = ["bold"] } # line number for the line the cursor is on
+"ui.statusline" = { fg = "winter_sky", bg = "twilight_blue" } # statusline, fucused
+"ui.statusline.inactive" = { fg = "slate_gray", bg = "pitch_black" } # statusline, unfocused
+"ui.statusline.normal" = { fg = "deep_abyss", bg = "leafy_green", modifiers = ["bold"] } # statusline normal mode (if editor.color-modes is enabled)
+"ui.statusline.insert" = { fg = "deep_abyss", bg = "blaze_orange", modifiers = ["bold"] } # statusline insert mode (if editor.color-modes is enabled)
+"ui.statusline.select" = { fg = "deep_abyss", bg = "sky_blue", modifiers = ["bold"] } # statusline select mode (if editor.color-modes is enabled)
+"ui.statusline.separator" = { fg = "winter_sky" } # separator character is statusline
+"ui.bufferline" = { fg = "slate_gray", modifiers = ["bold"] } # bufferline inactive tab
+"ui.bufferline.active" = { fg = "winter_sky", bg = "twilight_blue" } # bufferline active tab
+"ui.bufferline.background" = { bg = "pitch_black" } # bufferline background
+"ui.virtual.ruler" = { bg = "stormy_night" } # ruler columns
+"ui.virtual.whitespace" = { fg = "stormy_night" } # whitespace characters
+"ui.virtual.indent-guide" = { fg = "stormy_night" } # vertical indent width guides
+"ui.virtual.inlay-hint" = { fg = "slate_gray" } # inlay hints of all kinds
+"ui.virtual.inlay-hint.parameter" = { fg = "slate_gray" } # inlay hints of kind parameter (lsps are not required to set a kind)
+"ui.virtual.inlay-hint.type" = { fg = "slate_gray" } # inlay hints of kind type (lsps are not required to set a kind)
+"ui.virtual.wrap" = { fg = "slate_gray" } # soft-wrap indicator
+"ui.virtual.jump-label" = { modifiers = ["reversed"] } # virtual jump labels (g + w)
+"ui.selection" = { bg = "deep_purple" } # slave selections in the editing area
+"ui.selection.primary" = { bg = "light_purple" } # primary selection in the editing area
+"ui.cursor" = { modifiers = ["reversed"] } # only if "ui.cursor.primary.normal" isn't set
+"ui.cursor.normal" = { fg = "winter_sky", bg = "twilight_blue" } # slave cursor block in normal mode
+"ui.cursor.insert" = { bg = "rustic_red" } # slave cursor block in insert mode
+"ui.cursor.select" = { bg = "deep_purple" } # slave cursor block in select mode
+"ui.cursor.match" = { fg = "deep_abyss", bg = "blaze_orange", modifiers = ["bold"] } # matching bracket etc
+"ui.cursor.primary" = { modifiers = ["reversed"] } # cursor with primary selection (has no effect due to "ui.cursor.primary.normal" is set)
+"ui.cursor.primary.normal" = { fg = "deep_abyss", bg = "sky_blue" } # cursor block in normal mode
+"ui.cursor.primary.insert" = { fg = "deep_abyss", bg = "ruby_glow" } # cursor block in insert mode
+"ui.cursor.primary.select" = { fg = "winter_sky", bg = "deep_purple" } # cursor block in select mode (not the selected color)
+"ui.cursorline.primary" = { bg = "nightfall_blue" } # line of the primary cursor
+"ui.cursorline.secondary" = { bg = "midnight_thunder"} # lines of secondary cursors
+"ui.cursorcolumn.primary" = { bg = "nightfall_blue" } # column of the primary cursor
+"ui.cursorcolumn.secondary" = { bg = "midnight_thunder" } # columns of secondary cursors
+
+# USER INTERFACE - MENUS AND POPUP
+"ui.popup" = { fg = "winter_sky", bg = "midnight_thunder" } # documentation popups (space + k)
+"ui.popup.info" = { fg = "winter_sky", bg = "nightfall_blue" } # prompt for multiple key options, menu border (space, g, z, m, etc)
+"ui.window" = { fg = "slate_gray" } # borderlines separating splits
+"ui.help" = { fg = "winter_sky", bg = "nightfall_blue" } # description box for commands
+"ui.text" = { fg = "white" } # default text style, command prompts, popup text, etc
+"ui.text.focus" = { fg = "dreamy_blue" } # the currently selected line in the picker (space j, space f, space s, etc)
+"ui.text.inactive" = { fg = "slate_gray" } # same as ui.text but when the text is inactive e.g. suggestions
+"ui.text.info" = { fg = "winter_sky", bg = "nightfall_blue" } # the key: command in ui.popup.info boxes (space, g, z, m, etc)
+"ui.menu" = { fg = "winter_sky", bg = "midnight_thunder" } # code and command completion menus ":"
+"ui.menu.selected" = { fg = "winter_sky", bg = "twilight_blue" } # selected autocomplete item
+"ui.menu.scroll" = { fg = "crystal_blue", bg = "moonlight_ocean" } # scrollbar
+"ui.highlight" = { underline = { color = "sky_blue", style = "line" } } # highlighted lines in the picker preview
+
+# USER INTERFACE - DIAGNOSTICS
+"warning" = { fg = "lemon_zest" } # diagnostics warning (gutter)
+"error" = { fg = "ruby_glow" } # diagnostics error (gutter)
+"info" = { fg = "sky_blue" } # diagnostics info (gutter)
+"hint" = { fg = "walnut_brown" } # diagnostics hint (gutter)
+"diagnostic" = { modifiers = ["reversed"] } # diagnostics fallback style (editing area)
+"diagnostic.hint" = { fg = "deep_abyss", bg = "walnut_brown" } # diagnostics hint (editing area)
+"diagnostic.info" = { fg = "winter_sky", bg = "twilight_blue" } # diagnostics info (editing area)
+"diagnostic.warning" = { fg = "winter_sky", bg = "rustic_amber" } # diagnostics warning (editing area)
+"diagnostic.error" = { fg = "winter_sky", bg = "rustic_red" } # diagnostics error (editing area)
+
+# COLOR NAMES
+[palette]
+# PALETTE USER INTERFACE
+deep_abyss = "#080d15"
+stormy_night = "#254862"
+nightfall_blue = "#1f2937"
+midnight_thunder = "#0d1526"
+twilight_blue = "#2c5484"
+pitch_black = "#000000"
+winter_sky = "#f3f4f6"
+slate_gray = "#838a97"
+blaze_orange = "#ff9000"
+lemon_zest = "#ffba00"
+leafy_green = "#81be83"
+dreamy_blue = "#6eb0ff"
+crystal_blue = "#99c7ff"
+sky_blue = "#45b1e8"
+moonlight_ocean = "#0c1420"
+rustic_red = "#540b0c"
+ruby_glow = "#fa7970"
+walnut_brown = "#987654"
+rustic_amber = "#9d5800"
+slate_purple = "#d2a8ff"
+light_purple = "#7533bd"
+deep_purple = "#4c1785"
+
+# SYNTAX HIGHLIGHTING
+black = "#0d1117"
+red = "#fa7970"
+green = "#81be83"
+yellow = "#ffba00"
+orange = "#ff9000"
+blue = "#45b1e8"
+purple = "#d2a8ff"
+brown = "#987654"
+gray = "#838a97"
+white = "#dadada"
+
+
diff --git a/vendor/themes/ashen.LICENSE b/vendor/themes/ashen.LICENSE
new file mode 100644
index 00000000..fe85aede
--- /dev/null
+++ b/vendor/themes/ashen.LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2025 Daniel Fichtinger
+
+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/ashen.toml b/vendor/themes/ashen.toml
new file mode 100644
index 00000000..2078c39b
--- /dev/null
+++ b/vendor/themes/ashen.toml
@@ -0,0 +1,192 @@
+# Ashen for Helix
+# -------------------
+# Author: Daniel Fichtinger <[email protected]>
+# License: MIT License
+# Upstream: https://sr.ht/~ficd/ashen
+# -------------------
+# Sections:
+# - Syntax highlighting
+# - User interface
+# - Palette
+
+# Syntax highlighting
+# -------------------
+"attribute" = "g_4"
+
+"type" = "blue"
+"type.builtin" = "blue"
+"type.parameter" = "orange_glow"
+"type.enum.variant" = "orange_blaze"
+
+"constructor" = "g_1"
+
+"constant" = "orange_blaze"
+"constant.builtin" = "blue"
+"constant.character" = { fg = "red_glowing", modifiers = ["bold"] }
+"constant.character.escape" = "g_2"
+"constant.numeric" = "blue"
+
+"string" = "red_glowing"
+"string.regexp" = "orange_glow"
+"string.special" = "g_2"
+"string.special.url" = { fg = "red_glowing", modifiers = ["bold"] }
+"string.special.path" = { fg = "red_glowing", modifiers = ["bold"] }
+"string.special.symbol" = "orange_smolder"
+
+"comment" = { fg = "g_6", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "g_5", modifiers = ["italic"] }
+"comment.line.documentation" = { fg = "g_5", modifiers = ["italic"] }
+
+"variable" = "g_3"
+"variable.parameter" = { fg = "g_2", modifiers = ["italic"] }
+"variable.builtin" = "blue"
+"variable.other.member" = { fg = "g_2" }
+
+"label" = "red_ember" # used for lifetimes
+
+"punctuation" = "g_2"
+"punctuation.special" = "orange_golden"
+"punctuation.bracket" = "g_6"
+"punctuation.delimiter" = "orange_smolder"
+
+
+"keyword" = "red_ember"
+"keyword.operator" = "orange_blaze"
+"keyword.directive" = { fg = "red_ember", modifiers = ["italic"] }
+"keyword.storage.modifier" = { fg = "red_ember", modifiers = ["italic"] }
+
+"operator" = "orange_glow"
+
+"function" = { fg = "g_3", modifiers = ["bold"] }
+"function.builtin" = { fg = "g_3", modifiers = ["bold", "italic"] }
+"function.macro" = "red_ember"
+
+"tag" = { fg = "orange_glow", modifiers = ["italic"] }
+
+"namespace" = { fg = "orange_glow", modifiers = ["bold"] }
+
+"special" = "orange_smolder" # fuzzy highlight
+
+"markup.heading" = { fg = "red_glowing", modifiers = ["bold"] }
+"markup.list" = "orange_glow"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "red_glowing", modifiers = ["italic", "underlined"] }
+"markup.link.text" = "red_ember"
+"markup.raw" = { fg = "g_2", bg = "g_10" }
+"markup.quote" = { modifiers = ["italic"] }
+
+"diff.plus" = "g_6"
+"diff.minus" = "red_ember"
+"diff.delta" = "brown"
+
+# User Interface
+# --------------
+"ui.background" = { fg = "text", bg = "background" }
+
+"ui.linenr" = { fg = "g_8" }
+"ui.linenr.selected" = { fg = "g_6" }
+
+"ui.statusline" = { fg = "g_3", bg = "g_9" }
+"ui.statusline.inactive" = { fg = "g_5", bg = "g_10" }
+"ui.statusline.normal" = { fg = "background", bg = "orange_blaze", modifiers = [
+ "bold",
+] }
+"ui.statusline.insert" = { fg = "g_1", bg = "g_7", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "background", bg = "orange_golden", modifiers = [
+ "bold",
+] }
+
+"ui.popup" = { fg = "text", bg = "g_10" }
+"ui.info" = { fg = "orange_blaze", bg = "g_10" }
+"ui.window" = { fg = "g_7" }
+"ui.help" = { fg = "text", bg = "g_10", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "text", bg = "background" }
+"ui.bufferline.active" = { fg = "g_2", bg = "g_10", underline = { color = "orange_blaze", style = "line" } }
+"ui.bufferline.background" = { bg = "background" }
+
+"ui.text" = "text"
+"ui.text.focus" = { fg = "g_2", bg = "g_10", underline = { color = "red_ember", style = "line" }, modifiers = [
+ "bold",
+] }
+"ui.text.inactive" = { fg = "g_7" }
+"ui.text.directory" = { fg = "red_ember" }
+
+"ui.virtual" = "g_5"
+"ui.virtual.ruler" = { bg = "cursorline" }
+"ui.virtual.whitespace" = "g_7"
+"ui.virtual.indent-guide" = "g_7"
+"ui.virtual.wrap" = "g_7"
+"ui.virtual.inlay-hint" = { fg = "g_6", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "background", bg = "orange_blaze", modifiers = [
+ "bold",
+] }
+
+"ui.selection" = { bg = "brown_dark" }
+
+"ui.cursor.normal" = { fg = "background", bg = "orange_muted" }
+"ui.cursor.insert" = { fg = "background", bg = "g_7" }
+"ui.cursor.select" = { fg = "background", bg = "golden_muted" }
+"ui.cursor.primary.normal" = { fg = "background", bg = "orange_blaze", modifiers = [
+ "bold",
+] }
+"ui.cursor.primary.insert" = { fg = "background", bg = "g_3", modifiers = [
+ "bold",
+] }
+"ui.cursor.primary.select" = { fg = "background", bg = "orange_golden", modifiers = [
+ "bold",
+] }
+"ui.cursor.match" = { fg = "orange_smolder", modifiers = ["underlined"] }
+
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.cursorline" = { bg = "g_12" }
+
+"ui.highlight" = { fg = "orange_blaze", bg = "cursorline", underline = { color = "red_ember", style = "line" }, modifiers = [
+ "bold",
+] }
+
+"ui.menu" = { fg = "g_2", bg = "g_10" }
+"ui.menu.selected" = { fg = "background", bg = "orange_blaze", modifiers = [
+ "bold",
+] }
+
+"diagnostic.error" = { underline = { color = "red_flame", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange_golden", style = "curl" } }
+"diagnostic.info" = { underline = { color = "g_4", style = "dotted" } }
+"diagnostic.hint" = { underline = { color = "g_5", style = "dotted" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+
+error = { fg = "red_flame", bg = "g_10" }
+warning = { fg = "orange_golden", bg = "g_10" }
+info = { fg = "g_2", bg = "g_10" }
+hint = { fg = "g_4", bg = "g_10" }
+
+[palette]
+cursorline = "#191919"
+text = "#b4b4b4"
+red_flame = "#C53030"
+red_glowing = "#DF6464"
+red_ember = "#B14242"
+orange_glow = "#D87C4A"
+orange_blaze = "#C4693D"
+orange_muted = "#6D3B22"
+orange_smolder = "#E49A44"
+orange_golden = "#E5A72A"
+golden_muted = "#6D4D0D"
+brown = "#89492a"
+brown_dark = "#322119"
+blue = "#4A8B8B"
+background = "#121212"
+g_1 = "#e5e5e5"
+g_2 = "#d5d5d5"
+g_3 = "#b4b4b4"
+g_4 = "#a7a7a7"
+g_5 = "#949494"
+g_6 = "#737373"
+g_7 = "#535353"
+g_8 = "#323232"
+g_9 = "#212121"
+g_10 = "#1d1d1d"
+g_11 = "#191919"
+g_12 = "#151515"
diff --git a/vendor/themes/ashokai.toml b/vendor/themes/ashokai.toml
new file mode 100644
index 00000000..c6d55b1b
--- /dev/null
+++ b/vendor/themes/ashokai.toml
@@ -0,0 +1,134 @@
+# name = "Ashokai"
+# author = "TeriyakiBomb"
+# version = "1.0.0"
+
+# Syntax highlighting
+"type" = "purple"
+"constant" = "magenta"
+"constant.numeric" = "purple"
+"constant.character.escape" = "orange"
+"string" = "orange"
+"string.regexp" = "blue"
+"comment" = "comment"
+"variable" = "fg0"
+"class" = {fg ="purple", modifiers = ["bold"]}
+"variable.builtin" = "blue"
+"variable.parameter" = "yellow"
+"variable.other.member" = "fg0"
+"label" = "purple"
+"punctuation" = "grey1"
+"punctuation.delimiter" = "lightblue"
+"punctuation.bracket" = "blue2"
+"keyword" = "blue"
+"keyword.directive" = "aqua"
+"operator" = "lightblue"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"function.method" = "magenta"
+"tag" = "magenta"
+"namespace" = "aqua"
+"attribute" = "green"
+"constructor" = "purple"
+"module" = "blue"
+"special" = "orange"
+"identifier" = "blue"
+
+# Markup
+"markup.heading.marker" = "grey1"
+"markup.heading.1" = { fg = "purple", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "magenta", 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 = "fg0", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = "magenta"
+"markup.quote" = "grey1"
+"markup.raw" = "green"
+
+# Diff
+"diff.plus" = "diffgreen"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# UI elements
+"ui.background" = { bg = "bg0" }
+"ui.background.separator" = "grey"
+
+"ui.cursor" = { fg = "bg0", bg = "cursor" }
+"ui.cursor.match" = { fg = "orange", bg = "selection" }
+"ui.cursor.insert" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.select" = { fg = "bg0", bg = "blue" }
+"ui.cursor.primary" = {fg = "bg0", bg ="fg0"}
+"ui.cursor.primary.normal" = {fg = "bg0", bg ="fg0"}
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.cursorline.secondary" = { bg = "cursorline" }
+
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "selection" }
+
+"ui.linenr" = "line_number"
+"ui.linenr.selected" = "line_number_selected"
+"ui.statusline" = { fg = "fg0", bg = "bg3" }
+"ui.statusline.inactive" = { fg = "grey", bg = "bg0" }
+"ui.statusline.normal" = { fg = "bg0", bg = "fg0", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "bg0", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg0", bg = "pink", modifiers = ["bold"] }
+"ui.bufferline" = { fg = "grey", bg = "bg1" }
+"ui.bufferline.active" = { fg = "fg0", bg = "bg3", modifiers = ["bold"] }
+"ui.popup" = { fg = "helptext", bg = "bg3" }
+"ui.window" = { fg = "grey", bg = "bg0" }
+"ui.help" = { fg = "helptext", bg = "helpbg" }
+"ui.text" = "fg0"
+"ui.text.focus" = "fg0"
+"ui.menu" = { fg = "fg0", bg = "bg3" }
+"ui.menu.selected" = { fg = "bg0", bg = "blue", modifiers = ["bold"] }
+"ui.virtual.whitespace" = { fg = "bg3" }
+"ui.virtual.indent-guide" = { fg = "bg3" }
+"ui.virtual.ruler" = { bg = "bg3" }
+
+# Diagnostics
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "red"
+"diagnostic" = { underline = { style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "dotted" } }
+"diagnostic.info" = { underline = { color = "aqua", style = "dotted" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+[palette]
+bg0 = "#191D24"
+bg1 = "#0F141C"
+bg2 = "#2C4A7A"
+bg3 = "#2A3A54"
+fg0 = "#FEFEFF"
+helptext = "#8599B9"
+helpbg = "#2A3A54"
+grey = "#70697D"
+grey1 = "#667E99"
+red = "#FF5D5D"
+yellow = "#FDC153"
+green = "#64FF85"
+blue = "#7AC3FF"
+blue2 = "#6C849D"
+lightblue = "#B0DDD2"
+aqua = "#5DB1B1"
+orange = "#FF9647"
+purple = "#9983D7"
+magenta = "#FF1E6D"
+pink = "#E06798"
+
+diffgreen = "#5B7753"
+
+line_number = "#374B6B"
+line_number_selected = "#8397B8"
+comment = "#4E6A97"
+
+cursor = "#6F757F"
+cursorline = "#1B232E"
+selection = "#1B232E"
diff --git a/vendor/themes/ashokai_brahn.toml b/vendor/themes/ashokai_brahn.toml
new file mode 100644
index 00000000..30fa9e43
--- /dev/null
+++ b/vendor/themes/ashokai_brahn.toml
@@ -0,0 +1,37 @@
+# name = "Ashokai Brahn"
+# author = "TeriyakiBomb"
+# version = "1.0.0"
+
+inherits = "ashokai"
+
+[palette]
+bg0 = "#2A211D"
+bg1 = "#3A2C27"
+bg2 = "#49385D"
+bg3 = "#4F3D35"
+fg0 = "#EEE3DC"
+helptext = "#976E5E"
+helpbg = "#24150F"
+grey = "#70697D"
+grey1 = "#667E99"
+red = "#FF5D5D"
+yellow = "#FBC664"
+green = "#43BB71"
+blue = "#7AC3FF"
+blue2 = "#9D7D6C"
+lightblue = "#EEE3DC"
+aqua = "#5DB1B1"
+orange = "#FF9647"
+purple = "#B57CED"
+magenta = "#F94786"
+pink = "#EA7AD5"
+
+diffgreen = "#5B7753"
+
+line_number = "#574941"
+line_number_selected = "#7B665B"
+comment = "#6F5D53"
+
+cursor = "#5E8F81"
+cursorline = "#30241C"
+selection = "#442E21"
diff --git a/vendor/themes/ashokai_evermoor.toml b/vendor/themes/ashokai_evermoor.toml
new file mode 100644
index 00000000..5362e663
--- /dev/null
+++ b/vendor/themes/ashokai_evermoor.toml
@@ -0,0 +1,37 @@
+# name = "Ashokai Evermoor"
+# author = "TeriyakiBomb"
+# version = "1.0.0"
+
+inherits = "ashokai"
+
+[palette]
+bg0 = "#1D2A26"
+bg1 = "#14332A"
+bg2 = "#49385D"
+bg3 = "#3F6457"
+fg0 = "#F8FFF8"
+helptext = "#5E9785"
+helpbg = "#0F241E"
+grey = "#70697D"
+grey1 = "#667E99"
+red = "#FF5D5D"
+yellow = "#FBC664"
+green = "#7AEA92"
+blue = "#7AC3FF"
+blue2 = "#4E6A97"
+lightblue = "#B0DDD2"
+aqua = "#5DB1B1"
+orange = "#FF9647"
+purple = "#9983D7"
+magenta = "#F94786"
+pink = "#F9518C"
+
+diffgreen = "#5B7753"
+
+line_number = "#32403B"
+line_number_selected = "#5E8F81"
+comment = "#6C9286"
+
+cursor = "#5E8F81"
+cursorline = "#1E302A"
+selection = "#214037"
diff --git a/vendor/themes/ashokai_urple.toml b/vendor/themes/ashokai_urple.toml
new file mode 100644
index 00000000..437ffefc
--- /dev/null
+++ b/vendor/themes/ashokai_urple.toml
@@ -0,0 +1,37 @@
+# name = "Ashokai Urple"
+# author = "TeriyakiBomb"
+# version = "1.0.0"
+
+inherits = "ashokai"
+
+[palette]
+bg0 = "#211D2A"
+bg1 = "#322750"
+bg2 = "#49385D"
+bg3 = "#4B3E64"
+fg0 = "#EFEAFF"
+helptext = "#9485b9"
+helpbg = "#130F1C"
+grey = "#70697D"
+grey1 = "#667E99"
+red = "#FF5D5D"
+yellow = "#FBC664"
+green = "#7AEA92"
+blue = "#7AC3FF"
+blue2 = "#4E6A97"
+lightblue = "#B0DDD2"
+aqua = "#5DB1B1"
+orange = "#FF9647"
+purple = "#9983D7"
+magenta = "#F94786"
+pink = "#E06798"
+
+diffgreen = "#5B7753"
+
+line_number = "#5D5E72"
+line_number_selected = "#7262A6"
+comment = "#565775"
+
+cursor = "#746F7F"
+cursorline = "#2B2437"
+selection = "#493A77"
diff --git a/vendor/themes/ataraxia.toml b/vendor/themes/ataraxia.toml
new file mode 100644
index 00000000..2c826c38
--- /dev/null
+++ b/vendor/themes/ataraxia.toml
@@ -0,0 +1,166 @@
+# ataraxia theme for Helix (。•̀ᴗ-)✧☆*:・゚
+
+# Author : mazrine <[email protected]>
+# -------------------
+# purple and violet centered with contrasting cyan and green plus some blue shades in the mix, making a mostly cold palette.
+# -------------------
+# if you wanna see my full config, check out https://github.com/Mazrine/helix-configuration it has kaomojis for modes instead of the usual normal / insert etc
+# -------------------
+
+# GENERAL ==============================
+
+warning = "soft-blue"
+error = "electric-violet"
+info = "sky-cyan"
+hint = "neon-cyan"
+diagnostic = "cool-sky"
+
+
+"diagnostic.error" = "electric-violet"
+"diagnostic.warning" = "soft-blue"
+"diagnostic.info" = "sky-cyan"
+"diagnostic.hint" = "neon-cyan"
+
+
+# UI ==============================
+
+"ui.background" = { fg = "orchid", bg = "midnight" }
+"ui.help" = {fg = "neon-cyan", bg = "midnight"}
+"ui.text" = {fg = "neon-cyan", bg = "midnight"}
+"ui.window" = "orchid"
+"ui.cursor" = { fg = "#000000", bg = "neon-cyan" }
+"ui.cursor.primary" = { fg = "#000000", bg = "electric-violet" }
+"ui.cursor.primary.normal" = { fg = "#000000", bg = "neon-cyan" }
+"ui.cursor.primary.insert" = { fg = "#000000", bg = "ufo-green" }
+"ui.cursor.primary.select" = { fg = "#000000", bg = "muted-violet" }
+"ui.cursor.match" = "orchid"
+"ui.popup" = {fg = "neon-cyan", bg = "midnight"}
+"ui.selection" = { fg = "#000000", bg = "muted-violet" }
+"ui.selection.primary" = { fg = "#000000", bg = "muted-violet" }
+"ui.virtual" = "eggplant"
+"ui.virtual.whitespace" = "deep-indigo"
+"ui.linenr" = "purple-gray"
+"ui.linenr.selected" = "neon-cyan"
+"ui.statusline" = "sky-cyan"
+"ui.statusline.inactive" = "orchid"
+"ui.statusline.normal" = "neon-cyan"
+"ui.statusline.insert" = "ufo-green"
+"ui.statusline.select" = "muted-violet"
+"ui.statusline.separator" = "neon-cyan"
+"ui.bufferline" = { fg = "orchid", bg = "midnight"}
+"ui.bufferline.active" = { fg = "neon-cyan", bg = "midnight"}
+"ui.menu" = "orchid"
+"ui.menu.selected" = "orchid"
+
+# SYNTAX HIGHLIGHTING ==============================
+
+"comment" = "purple-gray"
+"comment.line" = "purple-gray"
+"comment.line.documentation" = "purple-gray"
+"comment.block" = "dead-green"
+"comment.block.documentation" = "dead-green"
+
+"constant" = "soft-blue"
+"constant.builtin" = "royal-blue"
+"constant.builtin.boolean" = "ufo-green"
+"constant.character" = "royal-blue"
+"constant.character.escape" = "royal-blue"
+"constant.numeric" = "cool-sky"
+"constant.numeric.integer" = "cool-sky"
+"constant.numeric.float" = "cool-sky"
+
+"string" = "ufo-green"
+"string.regexp" = "orchid"
+"string.special" = "orchid"
+"string.special.path" = "orchid"
+"string.special.url" = "orchid"
+"string.special.symbol" = "orchid"
+
+"constructor" = "royal-blue"
+
+"variable" = "deep-grape"
+"variable.builtin" = "neon-cyan"
+"variable.parameter" = "neon-cyan"
+"variable.other.member" = "orchid"
+
+"function" = "royal-blue"
+"function.builtin" = "royal-blue"
+"function.method" = "royal-blue"
+"function.macro" = "ufo-green"
+"function.special" = "royal-blue"
+
+"punctuation.special" = "neon-cyan"
+"punctuation.delimiter" = "neon-cyan"
+"punctuation.bracket" = "neon-cyan"
+
+"keyword" = "royal-blue"
+"keyword.control" = "orchid"
+"keyword.control.conditional" = "deep-grape"
+"keyword.control.repeat" = "deep-grape"
+"keyword.control.import" = "royal-blue"
+"keyword.control.return" = "deep-grape"
+"keyword.control.exception" = "orchid"
+"keyword.operator" = "royal-blue"
+"keyword.directive" = "royal-blue"
+"keyword.storage" = "orchid"
+"keyword.function" = "orchid"
+
+"operator" = "amethyst"
+"type" = "soft-blue"
+"type.builtin" = "plum"
+"type.parameter" = "orchid"
+"type.enum" = "soft-blue"
+"type.enum.variant" = "royal-blue"
+"attribute" = "deep-grape"
+"namespace" = "muted-violet"
+"special" = "cool-sky"
+"tag" = "neon-cyan"
+"tag.error" = "bad"
+
+# Markup ==============================
+
+"markup.heading.1" = "deep-grape"
+"markup.heading.2" = "muted-violet"
+"markup.heading.3" = "orchid"
+"markup.heading.4" = "amethyst"
+"markup.heading.5" = "soft-blue"
+"markup.heading.6" = "cool-sky"
+"markup.heading.marker" = "ufo-green"
+"markup.list" = "ufo-green"
+"markup.list.checked" = "ufo-green"
+"markup.list.unchecked" = "deep-indigo"
+"markup.bold" = "soft-blue"
+"markup.italic" = "cool-sky"
+"markup.strikethrough" = "deep-indigo"
+"markup.link.url" = "sky-cyan"
+"markup.link.text" = "orchid"
+"markup.quote" = "muted-violet"
+"markup.raw" = "eggplant"
+
+
+# Diff ==============================
+
+"diff.plus" = "ufo-green"
+"diff.minus" = "bad"
+"diff.delta" = "soft-blue"
+
+
+[palette]
+midnight = "#1c0c28"
+eggplant = "#301b4d"
+deep-indigo = "#432775"
+purple-gray = "#5c3a9e"
+muted-violet = "#7b52c7"
+neon-cyan = "#00D2F7"
+cool-sky = "#7a88ff"
+orchid = "#8f45ff"
+soft-blue = "#8AA3FE"
+plum = "#6d4db8"
+ufo-green = "#00D974"
+dead-green = "#025c33"
+sky-cyan = "#00ddff"
+royal-blue = "#4264d9"
+electric-violet = "#A600FF"
+amethyst = "#9963ff"
+deep-grape = "#7640cc"
+bad = "#EB3E5E"
diff --git a/vendor/themes/aura-dark-soft.toml b/vendor/themes/aura-dark-soft.toml
new file mode 100644
index 00000000..2349bf5a
--- /dev/null
+++ b/vendor/themes/aura-dark-soft.toml
@@ -0,0 +1,145 @@
+# aura ported by:
+# Author: elainabialkowski
+
+# aura originally by:
+# Author: Dalton Menezes
+# License: MIT
+
+"ui.background" = { fg = "white", bg = "black"}
+
+"ui.linenr" = { fg = "accent17"}
+"ui.linenr.selected" = { bg = "accent33", modifiers = ["bold"]}
+
+"ui.statusline" = { fg = "accent10", bg = "accent24"}
+
+"ui.selection" = { bg = "purple_selection"}
+"ui.selection.background" = { fg = "purple_selection"}
+
+"ui.cursor" = { fg = "black", bg = "pink" }
+"ui.cursor.match" = { fg = "purple", modifiers = ["bold"] }
+
+"ui.text" = { fg = "white"}
+"ui.text.focus" = { fg = "white", bg = "purple_selection_solid" }
+"ui.text.inactive" = { fg = "gray" }
+
+"ui.virtual.indent-guide" = "accent13"
+"ui.virtual.ruler" = { bg = "accent13" }
+"ui.virtual.whitespace" = { fg = "accent13" }
+"ui.virtual.inlay-hint" = { fg = "accent9", bg = "accent33" }
+"ui.virtual.jump-label" = { fg = "pink" , modifiers = ["bold"] }
+
+"ui.highlight" = { bg = "accent33", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "accent9", bg = "accent24"}
+"ui.menu.selected" = { fg = "purple", bg = "accent33"}
+
+"ui.popup" = { fg = "accent9", bg = "accent24"}
+
+"ui.window" = { fg = "green" }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange" , style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue" , style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue" , style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "red"
+warning = "orange"
+info = "blue"
+hint = "blue"
+
+attributes = "purple"
+type = "blue"
+
+constructor = "blue"
+
+constant = "green"
+string = "green"
+
+comment = {fg = "gray" }
+
+variable = "white" # should be dimmed
+"variable.builtin" = "purple"
+"variable.other" = "pink"
+
+"punctuation.delimeter" = "pink"
+"punctuation.special" = "white"
+
+keyword = "purple"
+operator = "purple"
+
+function = "orange"
+tag = "purple"
+
+markup = "purple"
+"markup.heading" = "orange"
+"markup.quote" = "gray"
+"markup.list" = "purple"
+"markup.link.url" = { fg = "green" , modifiers = ["underlined"]}
+
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+[palette]
+# dark soft/dim
+purple = "#8464c6" # 132,100,198 accent1 primary color
+purple_selection = "#3d375e" # 61,55,94 accent20 selections
+purple_selection_solid = "#29263c" # 41,38,60 accent38 selections (without alpha)
+green = "#54c59f" # 84,197,159 accent2 secondary color
+orange = "#c7a06f" # 199,160,111 accent3 tertiary color
+pink = "#c17ac8" # 193,122,200 accent6 quaternary color
+blue = "#6cb2c7" # 108,178,199 accent32 quinary color
+red = "#c55858" # 197,88,88 accent5 senary color
+white = "#bdbdbd" # 189,189,189 accent7 foregrounds
+gray = "#6d6d6d" # 109,109,109 accent8 comments
+black = "#15141b" # 21,20,27 accent12 backgrounds
+
+
+# https://github.com/daltonmenezes/aura-theme/blob/main/src/core/colors/schemes/common.ts
+# commonColors = {
+# accent0 = "#0f0f0f" # black
+# ...
+# accent4 = "#9dff65" # bright green
+# ...
+# accent31 = "#ffca85" # bright orange
+# accent32 = "#82e2ff" # light blue!!
+# accent33 = "#24222c" # black
+# accent34 = "#000000" # fully transparent,
+# accent35 = "#525156" # activity bar inactive foreground,
+# # }
+
+# export const commonUI = {
+accent9 = "#cdccce" # black
+accent10 = "#adacae" # light grey
+accent13 = "#2d2d2d" # black
+# accent14 = "#af8aff" # light purple
+# accent15 = "#4d4d4d"
+# accent16 = "#ffffff"
+accent17 = "#a394f0" # secondary-selection
+# accent18 = "#a394f0" # light purple
+# accent19 = "#3ea784"
+# accent20 = "#3d375e" # primary-selection
+# accent22 = "#4d466e"
+# accent23 = "#3b334b"
+# accent25 = "#49c29a"
+# accent26 = "#00d890"
+# accent27 = "#ff4747"
+# accent28 = "#121016"
+# accent29 = "#000000"
+# accent30 = "#2d2b38"
+accent33 = "#2e2b38"
+# accent36 = "#a19c77" # debugging background
+# accent37 = "#353424" # breakpoint frame highlight
+# accent38 = "#29263c" # primary-selection without alpha
+# accent39 = "#211D26"
+# }c',
+# accent34 = "#000000" # fully transparent,
+# accent35 = "#525156" # activity bar inactive foreground,
+# }
+
+# https://github.com/daltonmenezes/aura-theme/tree/c607be79c8eeaa5a5d7ac66421f8b5c51d936fe8/src/core/colors/schemes
+accent24 = "#1f1a27" # soft dark
+
+
diff --git a/vendor/themes/aura-dark.toml b/vendor/themes/aura-dark.toml
new file mode 100644
index 00000000..493af97a
--- /dev/null
+++ b/vendor/themes/aura-dark.toml
@@ -0,0 +1,143 @@
+# aura ported by:
+# Author: elainabialkowski
+
+# aura originally by:
+# Author: Dalton Menezes
+# License: MIT
+
+"ui.background" = { fg = "white", bg = "black"}
+
+"ui.linenr" = { fg = "accent17"}
+"ui.linenr.selected" = { bg = "accent33", modifiers = ["bold"]}
+
+"ui.statusline" = { fg = "accent10", bg = "accent24"}
+
+"ui.selection" = { bg = "purple_selection"}
+"ui.selection.background" = { fg = "purple_selection"}
+
+"ui.cursor" = { fg = "black", bg = "pink" }
+"ui.cursor.match" = { fg = "purple", modifiers = ["bold"] }
+
+"ui.text" = { fg = "white"}
+"ui.text.focus" = { fg = "white", bg = "purple_selection_solid" }
+"ui.text.inactive" = { fg = "gray" }
+
+"ui.virtual.indent-guide" = "accent13"
+"ui.virtual.ruler" = { bg = "accent13" }
+"ui.virtual.whitespace" = { fg = "accent13" }
+"ui.virtual.inlay-hint" = { fg = "accent9", bg = "accent33" }
+"ui.virtual.jump-label" = { fg = "pink" , modifiers = ["bold"] }
+
+"ui.highlight" = { bg = "accent33", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "accent9", bg = "accent24"}
+"ui.menu.selected" = { fg = "purple", bg = "accent33"}
+
+"ui.popup" = { fg = "accent9", bg = "accent24"}
+
+"ui.window" = { fg = "green" }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange" , style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue" , style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue" , style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "red"
+warning = "orange"
+info = "blue"
+hint = "blue"
+
+attributes = "purple"
+type = "blue"
+
+constructor = "blue"
+
+constant = "green"
+string = "green"
+
+comment = {fg = "gray" }
+
+variable = "white" # should be dimmed
+"variable.builtin" = "purple"
+"variable.other" = "pink"
+
+"punctuation.delimeter" = "pink"
+"punctuation.special" = "white"
+
+keyword = "purple"
+operator = "purple"
+
+function = "orange"
+tag = "purple"
+
+markup = "purple"
+"markup.heading" = "orange"
+"markup.quote" = "gray"
+"markup.list" = "purple"
+"markup.link.url" = { fg = "green" , modifiers = ["underlined"]}
+
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+[palette]
+# dark
+purple = "#a277ff" # 162,119,255 accent1 Primary color
+purple_selection = "#3d375e" # 61,55,94 accent20 Selections
+purple_selection_solid = "#29263c" # 41,38,60 accent38 Selections (without alpha)
+green = "#61ffca" # 97,255,202 accent2 Secondary color
+orange = "#ffca85" # 255,202,133 accent3 Tertiary color
+pink = "#f694ff" # 246,148,255 accent6 Quaternary color
+blue = "#82e2ff" # 130,226,255 accent32 Quinary color
+red = "#ff6767" # 255,103,103 accent5 Senary color
+white = "#edecee" # 237,236,238 accent7 Foregrounds
+gray = "#6d6d6d" # 109,109,109 accent8 Comments
+black = "#15141b" # 21,20,27 accent12 Backgrounds
+
+
+# https://github.com/daltonmenezes/aura-theme/blob/main/src/core/colors/schemes/common.ts
+# commonColors = {
+# accent0 = "#0f0f0f" # black
+# ...
+# accent4 = "#9dff65" # bright green
+# ...
+# accent32 = "#82e2ff" # light blue!!
+# accent33 = "#24222c" # black
+# accent34 = "#000000" # fully transparent,
+# accent35 = "#525156" # activity bar inactive foreground,
+# # }
+
+# export const commonUI = {
+accent9 = "#cdccce" # black
+accent10 = "#adacae" # light grey
+accent13 = "#2d2d2d" # black
+# accent14 = "#af8aff" # light purple
+# accent15 = "#4d4d4d"
+# accent16 = "#ffffff"
+accent17 = "#a394f0" # secondary-selection
+# accent18 = "#a394f0" # light purple
+# accent19 = "#3ea784"
+# accent20 = "#3d375e" # primary-selection
+# accent22 = "#4d466e"
+# accent23 = "#3b334b"
+# accent25 = "#49c29a"
+# accent26 = "#00d890"
+# accent27 = "#ff4747"
+# accent28 = "#121016"
+# accent29 = "#000000"
+# accent30 = "#2d2b38"
+accent33 = "#2e2b38"
+# accent36 = "#a19c77" # debugging background
+# accent37 = "#353424" # breakpoint frame highlight
+# accent38 = "#29263c" # primary-selection without alpha
+# accent39 = "#211D26"
+# }c',
+# accent34 = "#000000" # fully transparent,
+# accent35 = "#525156" # activity bar inactive foreground,
+# }
+
+# https://github.com/daltonmenezes/aura-theme/tree/c607be79c8eeaa5a5d7ac66421f8b5c51d936fe8/src/core/colors/schemes
+accent24 = "#1f1a27" # soft dark
+
diff --git a/vendor/themes/aura.LICENSE b/vendor/themes/aura.LICENSE
new file mode 100644
index 00000000..584856f8
--- /dev/null
+++ b/vendor/themes/aura.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 - * Dalton Menezes
+
+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/aurara.toml b/vendor/themes/aurara.toml
new file mode 100644
index 00000000..96f822a1
--- /dev/null
+++ b/vendor/themes/aurara.toml
@@ -0,0 +1,485 @@
+# aurara
+# a messy mix of aura (dark, soft), noctis, and liberal use of helix's text styling
+# Author : rahil/rathewolf <[email protected]>
+
+# aura ported by:
+# Author: elainabialkowski
+
+# aura originally by:
+# Author: Dalton Menezes
+# License: MIT
+
+# noctis ported by:
+# Author: 0rphee
+# who used this template: https://github.com/n0s4/helix-theme-template
+
+# noctis originally by:
+# Author: Liviu Schera and contributors
+# License: MIT
+
+
+# design
+# mostly from natural convergences
+# "soft"/"dim"/low-brightness colors
+ # this should've been done on the app/terminal level.. however, since i've already used mostly low-brightness colors, perhaps there can be special cases to use brighter colors, to make certain things stand out... anyway, now can make use of both palettes: dim and bright
+# simple color scheme: purple as main text color (plain text, ui, possibly strings and/or comments), a secondary color (popups, punctuation or operators, variable.other?), tertiary color (functions)
+
+# the mains things you read should stick out, while the rest shouldn't
+# a common line:
+# modifier type-declaration variable operator type.function("string")
+# most visible: variable operator function type
+# clearly visible: operator, punctuation
+# less visible: type-declaration
+# least visible: modifiers
+
+# TODO:
+# should just inherit the original aura theme
+# try purple for comments and something else for strings?
+# maybe add a fallback for every table..?
+# not happy with aura's orange, it's just too dim.. boring! is noctis's orange really that bright..?
+# still not happy about aura's blue-green used for namespace, especially for rust.. desaturating didn't quite do it..
+# can try another color/shade for atoms..? although, it's not too bad..
+# could try other colors for either operators or punctuation..
+# currently trying a dimmer shade of pink for variable.other.member, but there's too many keywords categorized in there..
+ # create a white-stone with a tinge of color for variable.other..?
+# never found out why the derive macro is a bolded bright orange color..
+# find out where the color for file picker is set, and try to dim it
+ # i tried searching the other configs in the repo to no avail, just found ui.picker.header
+# oranger-brighter used for functions is slightly too bright, get a darker shade (using orange for now..)
+# find a different color for built-in types, currently using aura's default green-sea
+
+# NOTE:
+# blinking doesn't work with italics, another reason to not italicize comments
+# see keys here:
+ # https://github.com/helix-editor/helix/blob/master/book/src/themes.md#scopes
+# can fetch syntax highlighting tests from here:
+ # https://github.com/sharkdp/bat
+
+
+## GENERAL ==============================
+
+# the diagnostic info in the gutter area
+'warning' = { fg ="orange-bright", modifiers = ["bold"] } # Editor warnings. TEMP/TEST/WARN
+'error' = { fg = "red-error", modifiers = ["bold", "slow_blink"] } # Editor errors, like mis-typing a command. BUG ISSUE
+ # but not ERROR..?
+'info' = { fg = "blue-aqua" } # Code diagnostic info in gutter (LSP). TODO/INFO
+ # def prefer noctis's blue-aqua over aura's here
+'hint' = { fg = "green-aqua", modifiers = ["bold"] } # Code diagnostics hint in gutter (LSP).
+ # ? Difference between info and hint ?
+
+# diagnostic info in the main text-editing area
+'diagnostic' = { underline = { style = "line" } } # Code diagnostics in editing area (LSP).
+'diagnostic.error' = { underline = { style = "curl", color = "red-error" }, modifiers = ["bold", "dim", "slow_blink"] }
+"diagnostic.warning" = { underline = { style = "curl", color = "orange" }, modifiers = ["bold", "dim" ] }
+'diagnostic.info' = { underline = { style = "dashed", color = "blue-aqua" }, modifiers = ["bold", "dim" ] }
+'diagnostic.hint' = { underline = { style = "dashed", color = "green-aqua" }, modifiers = ["bold", "dim" ] }
+ # TODO: TEST: diagnostics, might need a new set of colors..! can use all neon colors here!! definitely need to test all this blinking.. LOL
+ # underline styles: line, curl, dashed, dotted, double_line
+'diagnostic.unnecessary' = { modifiers = ["dim"] } # took this from default theme
+'diagnostic.deprecated' = { modifiers = ["crossed_out"] } # took this from default theme
+
+# UI ==============================
+# For styling helix itself.
+
+# 'ui' = { bg = 'bg-ui' }
+ # doesn't work.. :/
+'ui.background' = { fg = "purple-pleasant-dimmer", bg = "bg"} # Default background color., the fg seems to be used for borders..
+ # NOTE:this effects the main background of the text-editing area; it's values don't cascade down to popup/auto-complete/etc; you must override them in each key
+'ui.background.separator' = { fg = "gray-stone" } # below the input line in picker
+'ui.window' = { fg = "gray-stone" } # Window border between splits.
+ # pruple also works really well here.. maybe more needed when there are no line numbers..
+
+'ui.gutter' = { fg = "gold" } # Left gutter for diagnostics and breakpoints.
+ # background affects the entire background of the gutter!
+ # breakpoints are kinda hard to see, only the outline..?
+# 'ui.gutter.selected' = { bg = "selection-ui" }
+# 'ui.debug.breakpoint' = "●" # character for breakpoint? nope, that's not it..
+'ui.debug.active' = { fg = "pink-dimmer" } # debug execution paused, gutter?
+'ui.highlight.frameline' = { bg = "selection-ui" } # debug execution paused, line
+ # TODO: could use a tinted color here.. a little confusing as it uses the same background as selected text
+
+'ui.text' = { fg = "purple-pleasant-dimmer" } # Default text color. used in text files, pickers, ui, and more!
+'ui.text.focus' = { fg = "pink", bg = "selection-ui", modifiers = ["bold"] } # Selection highlight in buffer-picker or file-picker.
+'ui.text.info' = { fg = "pink-dimmer", bg = "bg-ui" } # Info popup contents (space mode menu).
+ # see ui.menu for auto-complete
+ # NOTE: pink pops out more, making it better than the comfy purple-pleasant-dimmer here
+'ui.text.inactive' = { fg = "gray-stone-lighter", modifiers = ["dim"] } # i think used in autocomplete suggestion..
+ # i might like this better than gray-purple
+
+'ui.cursor' = { fg = "light-green-complement", bg = "light-green", modifiers = ["reversed", "bold" ] } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c).
+ # should be slightly darker than primary cursor..
+'ui.cursor.primary' = { fg = "pink", bg = "light-green", modifiers = ["reversed", "bold"] } # The primary cursor when there are multiple (shift-c).
+ # TODO: NOTE: this blinking at a different timing then the selection's blink is too much!! lol, but i do prefer it to blink..
+# 'ui.cursor.insert' = { fg = "pink", bg = "light-green", modifiers = ["reversed", "bold"] } # The cursor in insert mode (i).
+# 'ui.cursor.select' = { fg = "pink", bg = "light-green", modifiers = ["reversed", "bold"] } # The cursor in select mode (v).
+'ui.cursor.match' = { fg = "cyan", bg = "pink", modifiers = ["bold", "reversed", "slow_blink"] } # The matching parentheses of that under the cursor.
+ # NOTE: changed from purple, which was a bit tough to see..; rapid_blink was just too annoying..; light-green was too much, trying cyan..
+
+'ui.selection' = { bg = "selection-ui", modifiers = [ "bold", "slow_blink" ] } # All currently selected text.
+ # TODO: decide purple-selection vs the neutral selection-ui: purple is easier to see immediately, but the neutral selection shows text more clearly / less muddy, and with the aid of blinking, it's pretty easy to see too
+ # TODO: ...wish there were a "brighten" modifier..
+# 'ui.selection.primary' = { bg = "purple-selection" } # The primary selection when there are multiple.
+# 'ui.cursorline.primary' = { bg = 'purple-selection' } #
+ # TODO: would need a very dim color, between selection-ui and background.. it could work of primary selection has a tinge of color to it (purple-selection), but without that, it would make it even harder to see the selection
+
+
+'ui.linenr' = { fg = "purple-pleasant", modifiers = ["dim"]} # Line numbers.
+'ui.linenr.selected' = { modifiers = [ "bold" ] } # Current line number.
+
+'ui.virtual' = { fg = "gray-stone" } # Namespace for additions to the editing area.
+'ui.virtual.ruler' = { bg = "selection-ui"} # Vertical rulers (colored columns in editing area).
+ # TODO: TEST: haven't seen these two yet..error
+# 'ui.virtual.whitespace' = { fg = "gray-stone"} # Whitespace markers in editing area: newline..
+# 'ui.virtual.wrap'
+# 'ui.virtual.jump-label'
+'ui.virtual.indent-guide' = { fg = "marker13" } # Indentation guides.
+
+'ui.virtual.inlay-hint' = { fg = "purple-pleasant-dimmer" } # TODO: TEST:
+# ui.virtual.inlay-hint.parameter
+# ui.virtual.inlay-hint.type
+
+# 'ui.bufferline' = { fg = "purple-pleasant", bg = "bg-ui", modifiers = ["dim"] }
+# 'ui.bufferline.active' = { underline = { style = "line" } }
+ # not so pretty.., and it extends past the text
+# 'ui.bufferline.inactive' = { fg = "gray-purple" } # BUG: doesn't work..
+ # or berry-desturated
+ # using ui.statusline as fallback instead:
+
+'ui.statusline' = { fg = "purple-pleasant", bg = "bg-ui", modifiers = ["dim"] } # Status line. and tab bar
+ # NOTE: matches line numbers
+# 'ui.statusline.separator' = '|' # not working..? don't think i'd need anyway, seems cleaner without it..
+
+'ui.statusline.inactive' = { fg = "gray-stone", bg = "bg-ui", modifiers = [] } # Status line in unfocused windows.
+ # seems very dim.., likely inherited, but i don't know how to uninherit it.., i do prefer it to be different from the text used for comments though.. so it's not bad..
+
+"ui.statusline.normal" = { fg = "purple-pleasant" }
+"ui.statusline.insert" = { fg = "pink-salmon", modifiers = [] }
+ # matches return keyword
+"ui.statusline.select" = { fg = "blue-aqua", modifiers = [] }
+ # seems dark, even without dim.. not sure how inheritance works here..
+ # slow_blink on insert/select was too annoying..
+ # using a colored background was also too annoying
+
+'ui.help' = { fg = "pink-dimmer", bg = "bg-ui" } # `:command` descriptions above the command line.
+
+'ui.highlight' = { bg = "selection-ui", modifiers = ["slow_blink"] } # selected contents of symbol pickers (spc-s, spc-S) and current line in buffer picker (spc-b).
+ # bold doesn't seem to work here..
+
+'ui.menu' = { fg = "purple-pleasant", bg = "bg-ui", modifiers = ["dim"] } # Autocomplete menu.
+ # a dim color that doesn't pop up makes sense here
+ # BUG: the dim modifier conflicts with the matching gold for the first line only, maybe the parent key's dim affects the child key..?
+'ui.menu.selected' = { fg = "gold", bg = "selection-ui", modifiers = ["bold"] } # Selected autocomplete item.
+ # not a fan of slow_blink here..
+ # gold is fantastic for selected text and fuzzy matching
+# 'ui.menu.scroll'
+
+# 'ui.picker' = { fg = "purple" } # ope.. good guess..
+"ui.picker.header" = { modifiers = ["bold"] } # TODO: TEST: i found this in another config, no clue yet..
+
+'ui.popup' = { fg = "purple-pleasant-dimmer", bg = "bg-ui" } # Documentation popups (space-k).
+'ui.popup.info' = { fg = "purple", bg = "bg-ui" } # Info popups box (space mode menu). just the borders.
+ # gold is very pretty here.., but distracting.. purple creates a solid frame and feels out of the way..
+ # modifiers don't work here.. no shiny blinky stuff..; also dim doesn't work, so can't use purple-pleasant dimmed..
+# "ui.menu.scroll" = { }
+
+# SYNTAX HIGHLIGHTING ==============================
+# All the keys here are Treesitter scopes.
+
+'property' = { fg = "green-aqua" } # Regex group names.
+ # TODO: no clue.. never seen this.. just matching regex strings for now..
+'special' = { fg = "orange-bright", modifiers = ["bold"] } # Special symbols e.g `?` in Rust, `...` in Hare, also derive macro..??
+ # rust's ? is usually squashed between punctuation ()?;
+ # pink-hotter works well for punctuation. gold also works well for the derive macro. it's also nice for it to just stick out, so as to indicate a syntax highlighting problem
+'attribute' = { fg = "purple", modifiers = ["italic"] } # Class attributes, html tag attributes.
+ # italics makes sense for html tag attributes.. matching tag
+
+'type' = { fg = "blue-aqua" } # Variable type, like integer or string, including program defined classes, structs etc..
+ # NOTE: sometimes there's class / end, which looks odd not bolded like other control/end statements
+ # doesn't seperate declaration, parameters, instantiation (though there is constructor), so it's difficult to italicize
+'type.builtin' = { fg = "green-sea", modifiers = ["italic"] } # Primitive types of the language (string, int, float).
+'type.enum.variant' = { fg = "green-sea" } # A variant of an enum.
+ # vs match constant color
+ # NOTE: i think was pink in aura theme.. but i def didn't like that for the enum values TODO: maybe white is fine
+
+'constructor' = { fg = "blue-aqua" } # Constructor method for a class or struct. And in some cases applies to module names, as in ruby
+ # was blue-aqua in noctis, it's pink in vs-code's aura, along with static... TODO: maybe could try a new color here..
+ # ruby's class seems to use this.. maybe best to stick to using the same color as type.., but then __init__ uses this too..; also used upon constructor call! Ok(), Some() in rust
+
+'constant' = { fg = "green-aqua" } # Constant value
+ # originally green in aura... and it seems a pretty good use of this green, as i don't use it for strings anymore..
+ # NOTE: if this is too dark, can use cyan or light-green, as there aren't too many of these..
+# 'constant.builtin' = { fg = "blue-aqua" } # Special constants like `true`, `false`, `none`, etc.
+# 'constant.builtin.boolean' = { } # True or False.
+# 'constant.character' = { fg = "blue-aqua"} # Constant of character type.
+# 'constant.character.escape' = { fg = "mid-green", modifiers = ["bold"] } # escape codes like \n.
+ # NOTE: matches regexp
+# 'constant.numeric' = { fg = "blue-green", modifiers = ["bold"] } # constant integer or float value.
+# 'constant.numeric.integer' = { } # constant integer value.
+# 'constant.numeric.float' = { fg = "green-aqua" } # constant float value.
+
+'string' = { fg = "purple-pleasant-dimmer" } # String literal.
+ # changed to use main text color (purple!) TODO: can decrease alpha more if needed
+'string.regexp' = { fg = "green-aqua" } # Regular expression literal.
+ # NOTE: matches character escape
+'string.special' = { fg = "purple-pleasant-dimmer", modifiers = ["italic"] } # Strings containing a path, URL, etc.
+ # could use something funky 'n dark here..
+ # i hate long underlined text!, so def don't want that..
+ # TODO: TEST: italics
+# 'string.special.path' = { } # String containing a file path.
+# 'string.special.url' = { } # String containing a web URL.
+'string.special.symbol' = { fg = "berry-desaturated" } # Erlang/Elixir atoms, Ruby symbols, Clojure keywords.
+ # secondary text (pink) collides with punctuation :/, so now pink is used for variable.other
+ # perhaps it could be similar to the color used for constant/literals.. a kind of green..?
+
+'comment' = { fg = "gray-stone-lighter", modifiers = ["dim"] } # This is a comment.
+ # TODO: dim and italics should be optional
+ # TODO: this is beautiful when it's dim, but with a transparent background, it can be tough to see..
+ # even purple-pleasant dimmed doesn't look bad..
+# 'comment.line' = { } # Line comments, like this.
+# 'comment.block' = { } # Block comments, like /* this */ in some languages.
+'comment.block.documentation' = { fg = "gray-stone-lighter", modifiers = ["dim", "italic"] } # Doc comments, e.g '///' in rust.
+ # TODO: TEST: maybe okay to use italics here..
+
+'variable' = { fg = "white-stone" } # Variable names.
+ # likely the most important word in the line, and therefore must be the most easily visible, yet comfortable
+'variable.builtin' = { fg = "blue-aqua" } # Language reserved variables: `this`, `self`, `super`, etc.
+ # NOTE: matches class color
+'variable.parameter' = { fg = "white-stone" } # Function parameters.
+ # TODO: this would be really useful to differentiate.. white-sea-tinged isn't too bad.. italic is too anooying
+'variable.function' = { fg = "orange" } # ? ruby-like everything is an object..?
+'variable.other' = { fg = "white-stone" } # from aura..
+ # fallback
+'variable.other.member' = { fg = "pink-dimmer" } # Fields of composite data types (e.g. structs, unions)., @callback in elixir, serialized data fields (like this config file..)
+# 'variable.other.member.private' # only for ECMAScript-based languages
+ # TODO: decide white-stone vs pink vs another color, and remember to turn down punctuation down a notch in hotness; would be nice to create a slightly tinged color, like noctis's white-sea-tinge
+
+'label' = { fg = "purple" } # Loop labels in rust.
+
+'punctuation' = { fg = "pink-dimmer", modifiers = ["bold"] } # (){}[]:;,.
+ # NOTE: the bolded gold from noctic is really, really nice, but it collides with the orange-brighter color; also, bolded white is too much white, should save white just for variables only
+'punctuation.delimiter' = { fg = "pink-hot", modifiers = ["bold"] } # Commas and colons.
+ # pink-hotter is slightly too annoying..
+'punctuation.bracket' = { fg = "pink-dimmer", modifiers = ["bold"] } # Parentheses, angle brackets, etc.
+'punctuation.special' = { fg = "pink-dimmer", modifiers = ["bold"] } # string interpolation
+
+'keyword' = { fg = "purple" } # Language reserved keywords. var, void, let
+'keyword.control' = { fg = "purple", modifiers = ["bold"] } # Control keywords.
+ # NOTE: bold makes it slightly brighter too
+'keyword.control.conditional' = { fg = "purple", modifiers = ["bold"] } # 'if', 'else', 'elif'.
+ # TODO: could use a cascading shades of purple here, between purple and purple-darker of operator, darkest on the outside, yet it's also nice to have it consistent..
+'keyword.control.repeat' = { fg = "purple", modifiers = ["bold"] } # 'for', 'while', 'loop'.
+'keyword.control.import' = { fg = "purple", modifiers = ["italic"] } # 'import', 'export', 'use', 'mod'
+ # use crate::blah blah conflicts, crate is the same color..
+'keyword.control.return' = { fg = "pink-salmon", modifiers = ["italic"] } # 'return' in most languages.
+ # NOTE: tried red-error, but it's so ugly!!.. :/ but could use it's own color.. stole noctis's pink-salmon here.. bold is really nice too, more pink-salmony, but it eventually bugged me..; italics makes it feel like it's *pressed* in
+'keyword.control.exception' = { fg = "pink-salmon", modifiers = ["italic"] } # 'raise' in python.
+'keyword.operator' = { fg = "purple", modifiers = ["bold"] } # 'or', 'and', 'in'.
+ # TODO: doesn't look like it's working..??
+'keyword.directive' = { fg = "purple", modifiers = ["italic"] } # Preprocessor directives (#if, #include in C).
+'keyword.function' = { fg = "purple", modifiers = ["bold"] } # The keyword to define a funtion: 'def', 'fun', 'fn'.
+'keyword.storage' = { fg = "purple" } # let and var in rust.. these should be more visible..
+'keyword.storage.modifier' = { fg = "purple-dimmer", modifiers = ["italic"] } # function and type modifiers/accessors: public/private, mut, dyn, ref, &, internal, readonly, const, etc.
+ # these should be less visible
+ # bold makes sense here for C#, as it's usually the start of a function, but not so much for rust..
+ # currently using the same purple as operators.. which isn't too bad though, as it keeps a consistent scheme.. and it doesn't conflict with anything either. it's also good as a fallback for 'end', as that sometimes doesn't highlight properly..
+'keyword.storage.type' = { fg = "green-sea", modifiers = ["italic"] } # class, struct, enum, namespace, sometimes var? (for javascript but not rust)
+ # matches type.builtin
+
+
+'operator' = { fg = "purple", modifiers = ["bold"] } # Logical (&&, ||) and - I assume - Mathematical (+, %) operators
+
+# top three are ordered from brightest to darkest
+ # also used in markup headings
+'function' = { fg = "orange"}
+ # TODO: orange-brighter is too bright.. :/ but much of the beauty of the theme comes from this color... just need to get a notch lower..
+'function.method' = { fg = "orange" } # Class / Struct methods.
+# 'function.method.private' # just ECMAScript-based languages..
+'function.builtin' = { fg = "orange-desaturated" }
+'function.macro' = { fg = "orange", modifiers = ["italic"] } # Like macros in rust.
+ # italics works well here.. as does the magical gold of macros, as does orange-pumpkin
+'function.special' = { fg = "orange", modifiers = ["italic"] } # Preprocessor in C.
+
+'tag' = { fg = "purple-darker", modifiers = ["italic"] } # As in <body> for html. also @tags in comments?
+ # must be darker then the default text, and attribute
+#'tag.builtin' # ?
+
+'namespace' = { fg = "blue-green" } # * Namespace keyword in java, C#, etc.
+ # namespace::function, namespace::class, package main, *types.Tuple
+ # requires a seperate color
+ # TODO: this nasty blue-green accurately matches how i feel about namespace syntax..: *barf*.. pink-hotter is interesting... really changes things up!.. but i still prefer something similar to blue for logical reasoning
+ # for a long time i was using italics here, but then discovered it was part of its ugliness! now it's actually tolerable
+
+# Colors for markup languages, like Markdown or XML.
+ # a little different from code since it's so simple, using a simple two color scheme: purple 'n gold
+
+# NOTE: it inherits the main text color from ui.text, and punctuation too
+
+markup = "purple-pleasant-dimmer" # fallback
+
+'markup.bold' = { fg = "orange-bright" } # Bold text.
+ # bold text isn't so easy to read.. but purple bold works pretty well alongside purple-pleasant
+ # this orange is surprisingly dim! not bad at all, and keeps a consistent two-color theme. though, orange-brighter is far more beautiful, but perhaps too bright..
+'markup.italic' = { modifiers = ["italic"] } # Italicised text.
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+'markup.heading' = { fg = "orange-bright", modifiers = ["bold"] } # Markdown headings
+# NOTE: underline didn't bold, and looked wayyy too thin compared to the bold font..
+ # underline = { style = "curl", modifiers = ["bold"] }
+'markup.heading.1' = { fg = "orange-bright", modifiers = ["bold"] }
+'markup.heading.2' = { fg = "orange", modifiers = ["bold"] }
+'markup.heading.3' = { fg = "orange-desaturated", modifiers = ["bold"] }
+'markup.heading.4' = { fg = "orange-bright" }
+'markup.heading.5' = { fg = "orange" }
+'markup.heading.6' = { fg = "orange-desaturated" }
+'markup.heading.marker' = { fg = "orange-brighter" } # Hashtag color on Markdown headings.
+
+'markup.list' = { fg = "orange-bright", modifiers = ["bold"] }
+ # the bullet symbols are like shiny jewelry in the sea :)
+'markup.list.numbered' = { fg = "orange-bright" } # Numbered list.
+# 'markup.list.unnumbered' = { } # Bullet point list.
+
+'markup.link' = { fg = "gray-stone" }
+ # different color is annoying in comments
+ # seems to underline only when highlighted, which is great!!
+'markup.link.url' = { fg = "gray-stone"} # Urls pointed to by links.
+'markup.link.label' = { fg = "gray-stone" } # Non-URL link references.
+'markup.link.text' = { fg = "purple-pleasant-dimmer"} # URL and image descriptions in links.
+
+'markup.quote' = { fg = "pink-dimmer", modifiers = ["italic"] } # `> Quotes` in Markdown.
+
+# Markup - Interface ==============================
+# "These scopes are used for theming the editor interface."
+
+# TODO: ??
+'markup.normal' = { }
+'markup.normal.completion' = { } # For completion doc popup ui.
+'markup.normal.raw' = { } # For hover popup ui.
+
+'markup.heading.completion' = { } # Headings for completion doc popup ui.
+'markup.heading.raw' = { } # Headings for hover popup ui.
+
+'markup.raw' = { } # Code block in Markdown.
+'markup.raw.block' = { } # Multiline (```) codeblock in Markdown.
+'markup.raw.inline' = { } # `Inline code block` in Markdown.
+'markup.raw.inline.completion' = { } # ?
+'markup.raw.inline.hover' = { } # ?
+
+# Diff ==============================
+# Version control changes.
+
+'diff.plus' = { fg = "green-aqua" } # Additions.
+'diff.minus' = { fg = "pink-salmon", modifiers = ["slow_blink"] } # Deletions.
+ # shows up as a little red dash, so blinking actually works well here!
+'diff.delta' = { fg = "orange" } # Modifications.
+'diff.delta.moved' = {fg = "blue-aqua" } # Renamed or moved files / changes.
+'diff.delta.conflict' = { fg = "orange" }
+ # could dim.. but i also quite like how clear it is.. especially without the line numbers. BUG: dim doesn't seem to work..
+ # slow_blink is fun, but epilepsy-inducing, lol.. at least they blink at the same time!
+ # TODO: TEST: blinking on deletions, is it too distracting..?
+ # not sure where you'd see diff.delta.moved..
+
+
+[palette] # Define your custom colors here.
+# NOTE: there are 16 colors in the palette by default, these will override any that have the same name. TODO: in order to make it most compatible and future-proof, should really use thsoe color names, even if it's not actually that color
+
+# noctis
+# dark-green = "#00262a" # backgrounds
+# mid-green = "#073a40" # highlights
+# autocomp-green = "#0d6772" # lighter than mid-green
+ # these three were used for backgrounds
+light-green = "#48e9a7" # a nice sea green, bright neon when bolded, like the displays of deep sea instruments, was "green", re-used for text under the cursor
+
+pink-salmon = "#df769b" # re-used for return, was "pink", it's perfect! :D use sparingly as i really don't like themes with lots of red in it, only returns and maybe exceptions
+gold = "#ffd800" # a nice, shiny bolded gold used for punctuation, was "yellow", ..maybe was also used for it's variable text..? unfortunately, it's very bright. used for matching fuzzy search, and other things that should really stick out, or otherwise highlighting selected text
+purple-darker = "#6f60ea" # this purple is slightly darker than aura's, used for cascading keywords, but seems to match vs-code's aura better??
+white-sea-tinged = "#b1cace" # has a tinge of green in it.., pleasant tho
+orange-bright = "#e4b782" # looks fantastic in noctis, fit for the sea theme, like a clown-fish, but too bright :(
+green-sea-darker = "#5b858b" # was mainly used for comments/background text in noctis, was "gray", it's very readable but rather less saturated compared to the other colors.. TODO: a very good, unused reading color, not bad for atoms..
+# red = "#e34e1b" # an ugly red.. only good for errors.. using aura's instead, though they seem the same..
+
+blue-green = "#19a2b7" # TODO: quite hideous toxic aqua green... currently using for namespaces, as i don't have anymore colors.. just feels too saturated. it's closest to tokyonight's aqua, but dimmer
+# blue-green-desaturated = "#3B94A3" # hmmm, maybe desaturate isn't the answer.. just dims it.., but it's not a bad idea either..
+# blue-green-blue = "#0098C2" # slightly bluer in hue, possible replacement for type.builtin, then can use green-sea with namespace
+# blue-green-green = "#2C98BF" blue-green, with slightly lower hue, more greener
+# cyan-bright = "#87efff" # a tad too bright..
+
+
+# aura dark soft/dim
+purple = "#8464c6"
+purple-dimmer = "#7B57C2" # increased saturation??
+purple-selection = "#3d375e"
+purple-selection-solid = "#29263c"
+blue-aqua = "#47ace8" # currently used for types, a pretty standard blue for classes..
+green-aqua = "#54c59f" # used for constants/literals, not the prettiest, but it fits the aqua sea feelin' of the overall theme.. maybe can try bogster's green
+orange = "#c7a06f" # used for functions, but feels too boring.. :(
+orange-desaturated = "#C7B693"
+pink = "#c17ac8" # great, comfy pink for pop-up-menu ui text, TODO: shuold be second main text color, but using it for punctuation t the moment..
+# pink-lighter = "#cb90d1" # 1/7th shade lighter (whiter)
+# white-stone-pink = "#BEA7C1" # somewhere between white-stone and pink; meh... pink is just more clearly visible than the colors between..
+# pink-brighter = "#DE95E5"
+pink-dimmer = "#B56EBC" # slightly desaturated, used for fields/methods and elixir's @thing
+# fuschia = "#A955B2" # TODO: an interesting one to use..
+# pink-even-dimmer = "#8C5C90" # used for pop-up menus, similar to pink with dim modifier.. too dim, not even pink anymore! more like magenta.. but very comfy to read!
+pink-hot = "#cc6cd6" # +25% saturation, nice 'n slight! for delimiters via coolers.co gradient
+pink-hotter = "#d85ee3" # +50% saturation, for "special" symbols
+green-sea = "#6cb2c7" # builtin type, a bit funky but very much readable
+red-error = "#c55858" # error, looks great when blinking, like red flashing like underwater!
+white-stone = "#bdbdbd" # variable, has a dim tinge of dirty stone to it
+# white-stone-yellow-tinge = "#BAB195" # just added a little saturation, but it feels less readable :/
+gray-stone = "#6d6d6d" # comment, similar to white, but desaturated/grayed out, now a sort of dirty blonde; i didn't like it at first, but then became amazing once dimmed!!
+ # gray-stone-dimmed = "#6d6d6d" # 80 = 50%, 40 = 25%
+gray-stone-lighter = "#7d7d7d" # used for comments with the dim modifier; 9d9d9d dimmed seems slightly brighter than gray-stone undimmed.. 7d7d7d is out of the way, 858585 forces eyes to read it, vs 8d8d8d?
+ # TODO: alpha doesn't seem to affect these, only dim works..
+# bg = "#121016" # black, was accent28, slightly darker
+bg = "#15141b" # was "black", quite dark.. high-contrast
+ # TODO: have to figure out how backgrounds work: shouldn't the gui app (terminal or not) handle it?
+# bg = "#211D26" # a darker raisin black, was accent39, seems like a nice alternative
+# bg = "#2d2b38" # raisin black, was accent30. much much lighter, tougher to see on transparent backgrounds
+
+purple-pleasant = "#a394f0" # great comfy purp for ui, should be main color, used for text (in .txt files) and strings and ui, was accent17 (with 33 alpha) as TODO: secondary selection and accent18 (with 00 alpha)
+ # NOTE: still use this with dim modifer to make a color even dimmer than purple-pleasant-dimmer
+purple-pleasant-dimmer = "#9889E4" # switch to using this as main text.. along with pink-dimmer
+
+# aura colors shared between variations
+# text10 = "#adacae" # TODO: try it
+bg-ui = "#1f1a27" # soft dark, used in ui background, status line, tab bar, seems similar to purple-selection, was accent24
+
+# somewhere hidden in aura
+selection-ui = "#2e2b38" # no purple tinge, more closer to gray-stone, was accent33
+marker13 = "#2d2d2d" # a barely visible gray
+
+# others scraped from aura
+cyan = "#82e2ff" # seems like noctis's cyan.. also sticks out too much.., just used for cursor match..
+# purple14 = "#af8aff" # light purple TODO: try it
+# purple-pleasant-opaque = "#a394f0" # purple-pleasant with 00 alpha (opaque?), was accent18
+ # NOTE: doesn't seem to make a difference..
+# accent4 = "#9dff65" # bright green
+orange-brighter = "#ffca85" # brighter than noctis's orange, beautiful, was accent31
+# green-aqua-darker = "#3ea784" # was accent19
+# gray-purple = "#4d466e" # was accent22, english violet, too dark to read, almost charcoal.. perhaps used for grayed out text like for auto-suggestions? too dark for even inactive tabs..
+# accent25 = "#49c29a" # mint green, seems very close to green-aqua
+# accent26 = "#00d890" # emerald green, slightly brighter than the above, when without alpha
+# TODO: untested colors below..
+# accent36 = "#a19c77" # debugging background
+# accent37 = "#353424" # breakpoint frame highlight
+# accent35 = "#525156" # activity bar inactive foreground,
+
+# new colors
+light-green-complement = "#e9488a" # initially used to create a high-contrast color for match surrounding pairs but it was too fugly to use as a cursor.. pink is better. currently using for secondary cursors as it's darker than the primary cursor's pink
+
+# from boo berry
+berry-desaturated = "#886C9C" # originally used for comments, but didn't quite work.. maybe because boo berry has a background color..; didn't quite work for keywords either, as it was too dim and didn't match the rest of the scheme, like dirty blood.. worth keeping! currently using for atoms, which isn't bad!..
+
+# from tokyonight
+# orange-pumpkin = "#ff9e64" # orange from tokyonight, too bright but really orange! looks okay with dim modifier..
+# orange-tokyonight = "#e0af68" # yellow from tokyonight, similar to orange from noctis
+
+# TODO: "shades of purple" theme has an actual orangey orange, a nice fuschia/deep purple, a good red, and a cyan that isn't too bright
+
+# TODO: try checking out noctis variants minimus and uva
+
+# try this site for buildings shades of a color..
+ # https://www.radix-ui.com/colors/custom
+
+# this site seems fun too..
+ # coolors.co
diff --git a/vendor/themes/autumn.toml b/vendor/themes/autumn.toml
new file mode 100644
index 00000000..d7d9c00b
--- /dev/null
+++ b/vendor/themes/autumn.toml
@@ -0,0 +1,106 @@
+# The structure is based on `base16_default_dark` by Ray Gervais. Most of
+# the colors come from the so called Autumn theme, a color scheme inspired by
+# the colors you can find in the autumn. Originally it was designed as a
+# color scheme for the Komodo IDE and then ported to Vim by Kenneth Love
+# and Chris Jones. Later, Yorick Peterse improved their work. See:
+# <https://github.com/YorickPeterse/Autumn.vim>
+# Jens Getreu ported and optimised the color theme for the Helix editor.
+# Author: Jens Getreu <getreu at web.de>
+
+"attribute" = "my_turquoise1"
+"comment" = { fg = "my_gray5" }
+"constant.character.escape" = "my_turquoise1"
+"constant" = "my_white3"
+"constant.numeric" = "my_turquoise1"
+"constructor" = "my_yellow1"
+"debug" = "my_yellow2"
+"diagnostic.error" = { underline = { style = "curl", color = "my_red" } }
+"diagnostic.hint" = { underline = { style = "line", color = "my_gray5" }, bg = "my_black"}
+"diagnostic.info" = { underline = { style = "line" } }
+"diagnostic" = { underline = { style = "line", color = "my_gray5" }, bg = "my_black"}
+"diagnostic.warning" = { underline = { style = "curl", color = "my_yellow2" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"diff.delta" = "my_gray5"
+"diff.minus" = "my_red"
+"diff.plus" = "my_green"
+"error" = "my_red"
+"function" = "my_yellow1"
+"hint" = "my_gray6"
+"info" = "my_yellow2"
+"keyword" = "my_red"
+"label" = "my_red"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.heading" = "my_yellow1"
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.text" = "my_white2"
+"markup.link.url" = "my_turquoise2"
+"markup.list" = "my_white2"
+"markup.quote" = "my_brown"
+"markup.raw" = "my_green"
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"namespace" = "my_white3"
+"operator" = "my_white1"
+"special" = "my_yellow1"
+"string" = "my_green"
+"type" = { fg = "my_white3", modifiers = ["italic"] }
+"ui.background" = { bg = "my_gray0" }
+"ui.cursor" = { bg = "my_white4", fg = "my_black" }
+"ui.cursorline" = { bg = "my_gray3" }
+"ui.cursorline.primary" = { bg = "my_black" }
+"ui.cursorline.secondary" = { bg = "my_black" }
+"ui.cursor.match" = { fg = "my_white1", modifiers = ["bold"], underline = { style = "double_line", color = "my_white1" }, bg = "my_black"}
+"ui.cursor.primary" = { fg = "my_white1", modifiers = ["reversed"] }
+"ui.debug" = { fg = "my_yellow1", bg = "my_gray0" }
+"ui.gutter" = { bg = "my_gray0" }
+"ui.help" = { fg = "my_gray7", bg = "my_gray2" }
+"ui.highlight.frameline" = { bg = "#8b6904" }
+"ui.linenr" = { fg = "my_gray3", bg = "my_gray0" }
+"ui.linenr.selected" = { fg = "my_gray7", bg = "my_gray0"}
+"ui.menu" = { fg = "my_white1", bg = "my_gray2" }
+"ui.menu.selected" = { fg = "my_gray2", bg = "my_gray6" }
+"ui.popup" = { bg = "my_gray2" }
+"ui.selection" = { bg = "my_gray3" }
+"ui.statusline" = { fg = "my_gray7", bg = "my_gray2" }
+"ui.statusline.inactive" = { fg = 'my_gray5', bg = 'my_gray2' }
+"ui.statusline.insert" = { fg = "my_black", bg = "my_gray6", modifiers = ["bold"] }
+"ui.statusline.normal" = { fg = "my_gray7", bg = "my_gray2" }
+"ui.statusline.select" = { fg = "my_gray7", bg = "my_black", modifiers = ["bold"] }
+"ui.text.focus" = "my_white1"
+"ui.text" = "my_white1"
+# Invalid modifier: "normal". See 'https://github.com/helix-editor/helix/issues/5709'
+"ui.virtual.inlay-hint" = { fg = "my_gray4", bg="my_black" } #, modifiers = ["normal"] }
+# "ui.virtual.inlay-hint.parameter" = { fg = "my_gray4", modifiers = ["normal"] }
+"ui.virtual.inlay-hint.parameter" = "my_gray4"
+"ui.virtual.inlay-hint.type" = { fg = "my_gray4", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "my_yellow2", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "my_gray1" }
+"ui.virtual.whitespace" = { fg = "my_gray6" }
+"ui.virtual.wrap" = "my_gray4"
+"ui.window" = { fg = "my_gray3", bg = "my_gray2" }
+"variable" = "my_white3"
+"variable.other.member" = "my_brown"
+"warning" = "my_yellow2"
+
+[palette]
+my_black = "#212121" # Cursorline
+my_brown = "#cfba8b" # Member variables, Quotes
+my_gray0 = "#232323" # Default Background
+my_gray1 = "#2b2b2b" # Ruler
+my_gray2 = "#323232" # Lighter Background (Used for status bars, line number and folding marks)
+my_gray3 = "#404040" # Selection Background
+my_gray4 = "#646f69" # Inlay-hint
+my_gray5 = "#646f69" # Comments, Invisibles, Line Highlighting
+my_gray6 = "#a8a8a8" # Dark Foreground (Used for status bars)
+my_gray7 = "#c8c8c8" # Light Foreground
+my_gray8 = "#e8e8e8" # Light Background
+my_green = "#99be70" # Strings, Inherited Class, Markup Code, Diff Inserted
+my_red = "#F05E48" # Keywords, Storage, Selector, Diff Changed
+my_turquoise1 = "#86c1b9" # Support, Regular Expressions, Escape Characters
+my_turquoise2 = "#72a59e" # URL
+my_white1 = "#F3F2CC" # Default Foreground, Caret, Delimiters, Operators
+my_white2 = "#F3F2CC" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+my_white3 = "#F3F2CC" # Classes, Markup Bold, Search Text Background
+my_white4 = "#7e7d6a" # Cursor match
+my_yellow1 = "#FAD566" # Functions, Methods, Attribute IDs, Headings
+my_yellow2 = "#ffff9f" # Debug, Info
diff --git a/vendor/themes/autumn_night.toml b/vendor/themes/autumn_night.toml
new file mode 100644
index 00000000..128baea3
--- /dev/null
+++ b/vendor/themes/autumn_night.toml
@@ -0,0 +1,33 @@
+# The structure is based on `base16_default_dark` by Ray Gervais. Most of
+# the colors come from the so called Autumn theme, a color scheme inspired by
+# the colors you can find in the autumn. Originally it was designed as a
+# color scheme for the Komodo IDE and then ported to Vim by Kenneth Love
+# and Chris Jones. Later, Yorick Peterse improved their work. See:
+# <https://github.com/YorickPeterse/Autumn.vim>
+# Jens Getreu ported and optimised the color theme for the Helix editor.
+# Author: Jens Getreu <getreu at web.de>
+
+inherits = "autumn"
+
+[palette]
+my_black = "#111111" # Cursorline
+my_brown = "#cfba8b" # Member variables, Quotes
+my_gray0 = "#090909" # Default Background
+my_gray1 = "#0e0e0e" # Ruler
+my_gray2 = "#1a1a1a" # Lighter Background (Used for status bars, line number and folding marks)
+my_gray3 = "#404040" # Selection Background
+my_gray4 = "#626C66" # Inlay-hint
+my_gray5 = "#626C66" # Comments, Invisibles, Line Highlighting
+my_gray6 = "#aaaaaa" # Dark Foreground (Used for status bars)
+my_gray7 = "#c4c4c4" # Light Foreground
+my_gray8 = "#e8e8e8" # Light Background
+my_green = "#99be70" # Strings, Inherited Class, Markup Code, Diff Inserted
+my_red = "#F05E48" # Keywords, Storage, Selector, Diff Changed
+my_turquoise1 = "#86c1b9" # Support, Regular Expressions, Escape Characters
+my_turquoise2 = "#72a59e" # URL
+my_white1 = "#F3F2CC" # Default Foreground, Caret, Delimiters, Operators
+my_white2 = "#F3F2CC" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+my_white3 = "#F3F2CC" # Classes, Markup Bold, Search Text Background
+my_white4 = "#7e7d6a" # Secondary cursors
+my_yellow1 = "#FAD566" # Functions, Methods, Attribute IDs, Headings
+my_yellow2 = "#ffff9f" # Debug, Info
diff --git a/vendor/themes/ayu_dark.toml b/vendor/themes/ayu_dark.toml
new file mode 100644
index 00000000..a2fbc316
--- /dev/null
+++ b/vendor/themes/ayu_dark.toml
@@ -0,0 +1,92 @@
+# Author: André Sá <[email protected]>
+# Based on the AYU theme colors from https://github.com/dempfi/ayu
+
+# Syntax highlighting
+"type" = "blue"
+"type.builtin" = "blue"
+"constructor" = "green"
+"constant" = "magenta"
+"string" = "green"
+"string.regexp" = "orange"
+"string.special" = "yellow"
+"comment" = { fg = "gray", modifiers = ["italic"] }
+"variable" = "foreground"
+"label" = "orange"
+"punctuation" = "foreground"
+"keyword" = "orange"
+"keyword.control" = "yellow"
+"keyword.directive" = "yellow"
+"operator" = "orange"
+"function" = "yellow"
+"tag" = "blue"
+"namespace" = "blue"
+"markup.heading" = "orange"
+"markup.list" = "yellow"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.raw.block" = "orange"
+"markup.link.url" = "blue"
+"markup.link.text" = "yellow"
+"markup.link.label" = "green"
+"markup.quote" = "yellow"
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "yellow"
+
+# Interface
+"ui.background"= { bg = "background" }
+"ui.cursor" = { fg = "dark_gray", bg = "yellow" }
+"ui.cursor.primary" = { fg = "dark_gray", bg = "orange" }
+"ui.cursor.match" = "orange"
+"ui.linenr" = "dark_gray"
+"ui.linenr.selected" = "gray"
+"ui.statusline" = { fg = "foreground", bg = "black" }
+"ui.statusline.normal" = { fg = "black", bg = "blue" }
+"ui.statusline.insert" = { fg = "black", bg = "orange" }
+"ui.statusline.select" = { fg = "black", bg = "magenta" }
+"ui.cursorline" = { bg = "black" }
+"ui.popup" = { fg = "#7B91b3", bg = "black" }
+"ui.window" = "dark_gray"
+"ui.help" = { fg = "#7B91b3", bg = "black" }
+"ui.text" = "foreground"
+"ui.text.focus" = { bg = "dark_gray", fg = "foreground" }
+"ui.text.info" = "foreground"
+"ui.virtual.whitespace" = "dark_gray"
+"ui.virtual.ruler" = { bg = "black" }
+"ui.virtual.inlay-hint" = { fg = "#e6b450", bg = "#302a20" } # original bg #e6b45033
+"ui.menu" = { fg = "foreground", bg = "black" }
+"ui.menu.selected" = { bg = "gray", fg = "background" }
+"ui.selection" = { bg = "dark_gray" }
+"warning" = "yellow"
+"error" = { fg = "red", modifiers = ["bold"] }
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "blue", modifiers = ["bold"] }
+"diagnostic.hint" = { underline = { color = "blue", 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"] }
+"ui.bufferline" = { fg = "gray", bg = "background" }
+"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
+"ui.debug" = { fg = "orange", bg = "background" }
+"ui.highlight.frameline" = { bg = "#0067a3" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["italic", "bold"] }
+
+"special" = "orange"
+
+[palette]
+background = "#0f1419"
+foreground = "#bfbdb6"
+
+black = "#131721"
+blue = "#59c2ff"
+dark_gray = "#2d3640"
+cyan = "#73b8ff"
+gray = "#5c6773"
+green = "#aad94c"
+magenta = "#d2a6ff"
+orange = "#ff8f40"
+red = "#f07178"
+yellow = "#e6b450"
diff --git a/vendor/themes/ayu_evolve.toml b/vendor/themes/ayu_evolve.toml
new file mode 100644
index 00000000..b9c5d822
--- /dev/null
+++ b/vendor/themes/ayu_evolve.toml
@@ -0,0 +1,38 @@
+inherits = 'ayu_dark'
+
+"keyword.control" = "orange"
+"keyword.storage" = "yellow"
+"keyword.storage.modifier" = "magenta"
+"variable" = "light_gray"
+"constructor" = "magenta"
+"type.builtin" = { fg = "blue", modifiers = ["italic"] }
+
+# Gutters and editing area
+"error" = "red"
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"warning" = "vibrant_orange"
+"diagnostic.warning" = { underline = { color = "vibrant_orange", style = "curl" } }
+"hint" = "vibrant_yellow"
+"diagnostic.hint" = { underline = { color = "vibrant_yellow", style = "curl" } }
+"info" = "white"
+"diagnostic.info" = { underline = { color = "white", style = "curl" } }
+
+"markup.raw.block" = { bg = "black" }
+"markup.raw.inline" = { bg = "black" }
+
+"ui.cursor" = { fg = "dark_gray", bg = "light_gray" }
+"ui.cursor.primary" = { fg = "dark_gray", bg = "orange" }
+"ui.cursor.primary.select" = { fg = "dark_gray", bg = "magenta" }
+"ui.cursor.primary.insert" = { fg = "dark_gray", bg = "green" }
+"ui.text.inactive" = "gray"
+"ui.bufferline" = { fg = "light_gray", bg = "background" }
+"ui.bufferline.active" = { fg = "light_gray", bg = "dark_gray" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["italic", "bold"] }
+
+[palette]
+background = '#020202'
+black = "#0D0D0D"
+light_gray = "#dedede"
+red = "#DD3E25"
+vibrant_yellow = "#CFCA0D"
+vibrant_orange = "#FF8732"
diff --git a/vendor/themes/ayu_light.toml b/vendor/themes/ayu_light.toml
new file mode 100644
index 00000000..c3ab1d4f
--- /dev/null
+++ b/vendor/themes/ayu_light.toml
@@ -0,0 +1,94 @@
+# Author: André Sá <[email protected]>
+# Based on the AYU theme colors from https://github.com/dempfi/ayu
+
+# Syntax highlighting
+"type" = "blue"
+"type.builtin" = "blue"
+"constructor" = "green"
+"constant" = "magenta"
+"string" = "green"
+"string.regexp" = "orange"
+"string.special" = "yellow"
+"comment" = { fg = "gray", modifiers = ["italic"] }
+"variable" = "foreground"
+"label" = "orange"
+"punctuation" = "foreground"
+"keyword" = "orange"
+"keyword.control" = "yellow"
+"keyword.directive" = "yellow"
+"operator" = "orange"
+"function" = "yellow"
+"tag" = "blue"
+"namespace" = "blue"
+"markup.heading" = "orange"
+"markup.list" = "yellow"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.raw.block" = "orange"
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.link.label" = "green"
+"markup.quote" = "yellow"
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "yellow"
+
+# Interface
+"ui.background"= { bg = "background" }
+"ui.cursor" = { fg = "dark_gray", bg = "yellow" }
+"ui.cursor.primary" = { fg = "dark_gray", bg = "orange" }
+"ui.cursor.match" = "orange"
+"ui.linenr" = "dark_gray"
+"ui.linenr.selected" = "gray"
+"ui.statusline" = { fg = "foreground", bg = "black" }
+"ui.statusline.normal" = { fg = "black", bg = "blue" }
+"ui.statusline.insert" = { fg = "black", bg = "orange" }
+"ui.statusline.select" = { fg = "black", bg = "magenta" }
+"ui.cursorline" = { bg = "black" }
+"ui.popup" = { fg = "#7B91b3", bg = "black" }
+"ui.window" = "dark_gray"
+"ui.help" = { fg = "#7B91b3", bg = "black" }
+"ui.text" = "foreground"
+"ui.text.focus" = { bg = "dark_gray", fg = "foreground" }
+"ui.text.info" = "foreground"
+"ui.virtual.whitespace" = "dark_gray"
+"ui.virtual.ruler" = { bg = "black" }
+"ui.virtual.inlay-hint" = { fg = "#f4a028", bg = "#fcf2e3" } # bg original #ffaa3333
+"ui.menu" = { fg = "foreground", bg = "black" }
+"ui.menu.selected" = { bg = "gray", fg = "background" }
+"ui.selection" = { bg = "dark_gray" }
+"warning" = "yellow"
+"error" = { fg = "red", modifiers = ["bold"] }
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "blue", modifiers = ["bold"] }
+"diagnostic.hint"= { underline = { color = "blue", 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"] }
+"ui.bufferline" = { fg = "gray", bg = "background" }
+"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
+"ui.debug" = { fg = "orange", bg = "background" }
+"ui.highlight.frameline" = { bg = "#cfe0f2" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["italic", "bold"] }
+
+"special" = "orange"
+
+[palette]
+background = "#fafafa"
+foreground = "#5c6166"
+
+black = "#e7eaed"
+white = "#fcfcfc"
+blue = "#399ee6"
+light_blue = "#55b4d4"
+cyan = "#478acc"
+dark_gray = "#d8d8d7"
+gray = "#828c9a"
+green = "#86b300"
+magenta = "#a37acc"
+orange = "#fa8d3e"
+red = "#f07171"
+yellow = "#ffaa33"
diff --git a/vendor/themes/ayu_mirage.toml b/vendor/themes/ayu_mirage.toml
new file mode 100644
index 00000000..0fd53a4b
--- /dev/null
+++ b/vendor/themes/ayu_mirage.toml
@@ -0,0 +1,92 @@
+# Author: André Sá <[email protected]>
+# Based on the AYU theme colors from https://github.com/dempfi/ayu
+
+# Syntax highlighting
+"type" = "blue"
+"type.builtin" = "blue"
+"constructor" = "green"
+"constant" = "magenta"
+"string" = "green"
+"string.regexp" = "orange"
+"string.special" = "yellow"
+"comment" = { fg = "gray", modifiers = ["italic"] }
+"variable" = "foreground"
+"label" = "orange"
+"punctuation" = "foreground"
+"keyword" = "orange"
+"keyword.control" = "yellow"
+"keyword.directive" = "yellow"
+"operator" = "orange"
+"function" = "yellow"
+"tag" = "blue"
+"namespace" = "blue"
+"markup.heading" = "orange"
+"markup.list" = "yellow"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.raw.block" = "orange"
+"markup.link.url" = "blue"
+"markup.link.text" = "yellow"
+"markup.link.label" = "green"
+"markup.quote" = "yellow"
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "yellow"
+
+# Interface
+"ui.background"= { bg = "background" }
+"ui.cursor" = { fg = "dark_gray", bg = "yellow" }
+"ui.cursor.primary" = { fg = "dark_gray", bg = "orange" }
+"ui.cursor.match" = "orange"
+"ui.linenr" = "dark_gray"
+"ui.linenr.selected" = "gray"
+"ui.statusline" = { fg = "foreground", bg = "black" }
+"ui.statusline.normal" = { fg = "black", bg = "blue" }
+"ui.statusline.insert" = { fg = "black", bg = "orange" }
+"ui.statusline.select" = { fg = "black", bg = "magenta" }
+"ui.cursorline" = { bg = "black" }
+"ui.popup" = { fg = "#7B91b3", bg = "black" }
+"ui.window" = "dark_gray"
+"ui.help" = { fg = "#7B91b3", bg = "black" }
+"ui.text" = "foreground"
+"ui.text.focus" = { bg = "dark_gray", fg = "foreground" }
+"ui.text.info" = "foreground"
+"ui.virtual.whitespace" = "dark_gray"
+"ui.virtual.ruler" = { bg = "black" }
+"ui.virtual.inlay-hint" = { fg = "#ffcc66", bg = "#47433d" } # original bg #ffcc6633
+"ui.menu" = { fg = "foreground", bg = "black" }
+"ui.menu.selected" = { bg = "gray", fg = "background" }
+"ui.selection" = { bg = "dark_gray" }
+"warning" = "yellow"
+"error" = { fg = "red", modifiers = ["bold"] }
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "blue", modifiers = ["bold"] }
+"diagnostic.hint"= { underline = { color = "blue", 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"] }
+"ui.bufferline" = { fg = "gray", bg = "background" }
+"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
+"ui.debug" = { fg = "orange", bg = "background" }
+"ui.highlight.frameline" = { bg = "#0067a3" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["italic", "bold"] }
+
+"special" = "orange"
+
+[palette]
+background = "#1f2430"
+foreground = "#cccac2"
+
+black = "#1a1f29"
+blue = "#73d0ff"
+dark_gray = "#323843"
+cyan = "#444b55"
+gray = "#565b66"
+green = "#d5ff80"
+magenta = "#dfbfff"
+orange = "#ffad66"
+red = "#f28779"
+yellow = "#ffcc77"
diff --git a/vendor/themes/base16_default_dark.toml b/vendor/themes/base16_default_dark.toml
new file mode 100644
index 00000000..389c9482
--- /dev/null
+++ b/vendor/themes/base16_default_dark.toml
@@ -0,0 +1,79 @@
+# Author: RayGervais <[email protected]>
+
+"ui.background" = { bg = "base00" }
+"ui.virtual.whitespace" = "base03"
+"ui.virtual.jump-label" = { fg = "blue", modifiers = ["bold", "underlined"] }
+"ui.virtual.ruler" = { bg = "base01" }
+"ui.menu" = { fg = "base05", bg = "base01" }
+"ui.menu.selected" = { fg = "base01", bg = "base04" }
+"ui.linenr" = { fg = "base03", bg = "base01" }
+"ui.popup" = { bg = "base01" }
+"ui.window" = { bg = "base01" }
+"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] }
+"ui.selection" = { bg = "base02" }
+"comment" = { fg = "base03", modifiers = ["italic"] }
+"ui.statusline" = { fg = "base04", bg = "base01" }
+"ui.cursor" = { fg = "base04", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] }
+"ui.text" = "base05"
+"operator" = "base05"
+"ui.text.focus" = "base05"
+"variable" = "base08"
+"constant.numeric" = "base09"
+"constant" = "base09"
+"attribute" = "base09"
+"type" = "base0A"
+"ui.cursor.match" = { fg = "base0A", modifiers = ["underlined"] }
+"string" = "base0B"
+"variable.other.member" = "base0B"
+"constant.character.escape" = "base0C"
+"function" = "base0D"
+"constructor" = "base0D"
+"special" = "base0D"
+"keyword" = "base0E"
+"label" = "base0E"
+"namespace" = "base0E"
+"ui.help" = { fg = "base06", bg = "base01" }
+
+"markup.heading" = "base0D"
+"markup.list" = "base08"
+"markup.bold" = { fg = "base0A", modifiers = ["bold"] }
+"markup.italic" = { fg = "base0E", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "base09", modifiers = ["underlined"] }
+"markup.link.text" = "base08"
+"markup.quote" = "base0C"
+"markup.raw" = "base0B"
+
+"diff.plus" = "base0B"
+"diff.delta" = "base09"
+"diff.minus" = "base08"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"ui.gutter" = { bg = "base01" }
+"info" = "base0D"
+"hint" = "base03"
+"debug" = "base03"
+"warning" = "base09"
+"error" = "base08"
+
+"ui.bufferline" = { fg = "base04", bg = "base00" }
+"ui.bufferline.active" = { fg = "base06", bg = "base01" }
+
+[palette]
+base00 = "#181818" # Default Background
+base01 = "#282828" # Lighter Background (Used for status bars, line number and folding marks)
+base02 = "#383838" # Selection Background
+base03 = "#585858" # Comments, Invisibles, Line Highlighting
+base04 = "#b8b8b8" # Dark Foreground (Used for status bars)
+base05 = "#d8d8d8" # Default Foreground, Caret, Delimiters, Operators
+base06 = "#e8e8e8" # Light Foreground (Not often used)
+base07 = "#f8f8f8" # Light Background (Not often used)
+base08 = "#ab4642" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+base09 = "#dc9656" # Integers, Boolean, Constants, XML Attributes, Markup Link Url
+base0A = "#f7ca88" # Classes, Markup Bold, Search Text Background
+base0B = "#a1b56c" # Strings, Inherited Class, Markup Code, Diff Inserted
+base0C = "#86c1b9" # Support, Regular Expressions, Escape Characters, Markup Quotes
+base0D = "#7cafc2" # Functions, Methods, Attribute IDs, Headings
+base0E = "#ba8baf" # Keywords, Storage, Selector, Markup Italic, Diff Changed
+base0F = "#a16946" # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
diff --git a/vendor/themes/base16_default_light.toml b/vendor/themes/base16_default_light.toml
new file mode 100644
index 00000000..16e38e74
--- /dev/null
+++ b/vendor/themes/base16_default_light.toml
@@ -0,0 +1,79 @@
+# Author: NNB <[email protected]>
+
+"ui.background" = { bg = "base00" }
+"ui.menu" = { fg = "base05", bg = "base01" }
+"ui.menu.selected" = { fg = "base01", bg = "base04" }
+"ui.linenr" = { fg = "base03", bg = "base01" }
+"ui.popup" = { bg = "base01" }
+"ui.window" = { bg = "base01" }
+"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] }
+"ui.selection" = { bg = "base02" }
+"comment" = { fg = "base03", modifiers = ["italic"] }
+"ui.statusline" = { fg = "base04", bg = "base01" }
+"ui.cursor" = { fg = "base04", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] }
+"ui.virtual.whitespace" = "base03"
+"ui.virtual.jump-label" = { fg = "blue", modifiers = ["bold", "underlined"] }
+"ui.virtual.ruler" = { bg = "base01" }
+"ui.text" = "base05"
+"operator" = "base05"
+"ui.text.focus" = "base05"
+"variable" = "base08"
+"constant.numeric" = "base09"
+"constant" = "base09"
+"attribute" = "base09"
+"type" = "base0A"
+"ui.cursor.match" = { fg = "base0A", modifiers = ["underlined"] }
+"string" = "base0B"
+"variable.other.member" = "base0B"
+"constant.character.escape" = "base0C"
+"function" = "base0D"
+"constructor" = "base0D"
+"special" = "base0D"
+"keyword" = "base0E"
+"label" = "base0E"
+"namespace" = "base0E"
+"ui.help" = { fg = "base06", bg = "base01" }
+
+"markup.heading" = "base0D"
+"markup.list" = "base08"
+"markup.bold" = { fg = "base0A", modifiers = ["bold"] }
+"markup.italic" = { fg = "base0E", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "base09", modifiers = ["underlined"] }
+"markup.link.text" = "base08"
+"markup.quote" = "base0C"
+"markup.raw" = "base0B"
+
+"diff.plus" = "base0B"
+"diff.delta" = "base09"
+"diff.minus" = "base08"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"ui.gutter" = { bg = "base01" }
+"info" = "base0D"
+"hint" = "base03"
+"debug" = "base03"
+"warning" = "base09"
+"error" = "base08"
+
+"ui.bufferline" = { fg = "base04", bg = "base01" }
+"ui.bufferline.active" = { fg = "base07", bg = "base00" }
+
+[palette]
+base00 = "#f8f8f8" # Default Background
+base01 = "#e8e8e8" # Lighter Background (Used for status bars, line number and folding marks)
+base02 = "#d8d8d8" # Selection Background
+base03 = "#b8b8b8" # Comments, Invisibles, Line Highlighting
+base04 = "#585858" # Dark Foreground (Used for status bars)
+base05 = "#383838" # Default Foreground, Caret, Delimiters, Operators
+base06 = "#282828" # Light Foreground (Not often used)
+base07 = "#181818" # Light Background (Not often used)
+base08 = "#ab4642" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+base09 = "#dc9656" # Integers, Boolean, Constants, XML Attributes, Markup Link Url
+base0A = "#f7ca88" # Classes, Markup Bold, Search Text Background
+base0B = "#a1b56c" # Strings, Inherited Class, Markup Code, Diff Inserted
+base0C = "#86c1b9" # Support, Regular Expressions, Escape Characters, Markup Quotes
+base0D = "#7cafc2" # Functions, Methods, Attribute IDs, Headings
+base0E = "#ba8baf" # Keywords, Storage, Selector, Markup Italic, Diff Changed
+base0F = "#a16946" # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
diff --git a/vendor/themes/base16_terminal.toml b/vendor/themes/base16_terminal.toml
new file mode 100644
index 00000000..c8530c79
--- /dev/null
+++ b/vendor/themes/base16_terminal.toml
@@ -0,0 +1,55 @@
+# Author: NNB <[email protected]>
+
+"ui.menu" = { fg = "light-gray", bg = "gray" }
+"ui.menu.selected" = { modifiers = ["reversed"] }
+"ui.linenr" = { fg = "light-gray", bg = "black" }
+"ui.popup" = { bg = "black" }
+"ui.window" = { bg = "black" }
+"ui.linenr.selected" = { fg = "white", bg = "black", modifiers = ["bold"] }
+"ui.selection" = { fg = "gray", modifiers = ["reversed"] }
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"ui.statusline" = { fg = "white", bg = "black" }
+"ui.statusline.inactive" = { fg = "gray", bg = "black" }
+"ui.help" = { fg = "white", bg = "black" }
+"ui.cursor" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.virtual.whitespace" = "light-gray"
+"ui.virtual.jump-label" = { fg = "blue", modifiers = ["bold", "underlined"] }
+"ui.virtual.ruler" = { bg = "black" }
+"variable" = "light-red"
+"constant.numeric" = "yellow"
+"constant" = "yellow"
+"attribute" = "yellow"
+"type" = "light-yellow"
+"ui.cursor.match" = { fg = "light-yellow", modifiers = ["underlined"] }
+"string" = "light-green"
+"variable.other.member" = "light-green"
+"constant.character.escape" = "light-cyan"
+"function" = "light-blue"
+"constructor" = "light-blue"
+"special" = "light-blue"
+"keyword" = "light-magenta"
+"label" = "light-magenta"
+"namespace" = "light-magenta"
+
+"markup.heading" = "light-blue"
+"markup.list" = "light-red"
+"markup.bold" = { fg = "light-yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "light-magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "light-red"
+"markup.quote" = "light-cyan"
+"markup.raw" = "light-green"
+
+"diff.plus" = "light-green"
+"diff.delta" = "yellow"
+"diff.minus" = "light-red"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"ui.gutter" = { bg = "black" }
+"info" = "light-blue"
+"hint" = "gray"
+"debug" = "gray"
+"warning" = "yellow"
+"error" = "light-red"
diff --git a/vendor/themes/base16_transparent.toml b/vendor/themes/base16_transparent.toml
new file mode 100644
index 00000000..fc697b92
--- /dev/null
+++ b/vendor/themes/base16_transparent.toml
@@ -0,0 +1,84 @@
+# Author: GreasySlug <[email protected]>
+# This theme is base on base16_theme(Author: NNB <[email protected]>)
+
+"ui.background" = { fg = "white"}
+"ui.background.separator" = { fg = "gray" }
+"ui.text" = { fg = "light-gray" }
+"ui.text.focus" = { fg = "white" }
+"ui.menu" = { fg = "white" }
+"ui.menu.selected" = { modifiers = ["reversed"] }
+"ui.menu.scroll" = { fg = "light-gray" }
+"ui.linenr" = { modifiers = ["dim"] }
+"ui.linenr.selected" = { fg = "white", modifiers = ["bold"] }
+"ui.popup" = { fg = "white" }
+"ui.window" = { fg = "gray" }
+"ui.selection" = { bg = "gray" }
+"comment" = "light-gray"
+"ui.statusline" = { fg = "white" }
+"ui.statusline.inactive" = { fg = "gray" }
+"ui.statusline.normal" = { fg = "black", bg = "blue" }
+"ui.statusline.insert" = { fg = "black", bg = "green" }
+"ui.statusline.select" = { fg = "black", bg = "magenta" }
+"ui.help" = { fg = "light-gray" }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "light-yellow", underline = { color = "light-yellow", style = "line" } }
+"ui.cursor.primary" = { modifiers = ["reversed", "slow_blink"] }
+"ui.cursor.secondary" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { underline = { color = "light-gray", style = "line" } }
+"ui.cursorline.secondary" = { underline = { color = "light-gray", style = "line" } }
+"ui.cursorcolumn.primary" = { bg = "gray" }
+"ui.cursorcolumn.secondary" = { bg = "gray" }
+"ui.virtual.ruler" = { bg = "gray" }
+"ui.virtual.whitespace" = "gray"
+"ui.virtual.indent-guide" = "gray"
+"ui.virtual.inlay-hint" = { fg = "white", bg = "gray" }
+"ui.virtual.inlay-hint.parameter" = { fg = "white", bg = "gray"}
+"ui.virtual.inlay-hint.type" = { fg = "white", bg = "gray"}
+"ui.virtual.wrap" = "gray"
+"ui.virtual.jump-label" = { fg = "blue", modifiers = ["bold", "underlined"] }
+
+"variable" = "light-red"
+"constant.numeric" = "yellow"
+"constant" = "yellow"
+"attribute" = "yellow"
+"type" = "light-yellow"
+"string" = "light-green"
+"variable.other.member" = "green"
+"constant.character.escape" = "light-cyan"
+"function" = "light-blue"
+"constructor" = "light-blue"
+"special" = "light-blue"
+"keyword" = "light-magenta"
+"label" = "light-magenta"
+"namespace" = "light-magenta"
+
+"markup.heading" = "light-blue"
+"markup.list" = "light-red"
+"markup.bold" = { fg = "light-yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "light-magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "yellow", underline = { color = "yellow", style = "line"} }
+"markup.link.text" = "light-red"
+"markup.quote" = "light-cyan"
+"markup.raw" = "green"
+"markup.normal" = { fg = "blue" }
+"markup.insert" = { fg = "green" }
+"markup.select" = { fg = "magenta" }
+
+"diff.plus" = "light-green"
+"diff.delta" = "light-blue"
+"diff.delta.moved" = "blue"
+"diff.minus" = "light-red"
+
+"ui.gutter" = "gray"
+"info" = "light-blue"
+"hint" = "light-gray"
+"debug" = "light-gray"
+"warning" = "light-yellow"
+"error" = "light-red"
+
+"diagnostic.info" = { underline = { color = "light-blue", style = "dotted" } }
+"diagnostic.hint" = { underline = { color = "light-gray", style = "double_line" } }
+"diagnostic.debug" = { underline ={ color ="light-gray", style = "dashed" } }
+"diagnostic.warning" = { underline = { color = "light-yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color ="light-red", style = "curl" } }
diff --git a/vendor/themes/beans.toml b/vendor/themes/beans.toml
new file mode 100644
index 00000000..bde2ed4d
--- /dev/null
+++ b/vendor/themes/beans.toml
@@ -0,0 +1,134 @@
+# Beans
+# A slightly modified Jellybeans with better support for multi-cursor and multiple selections
+#
+# Original repository: nanotech/jellybeans.vim
+# Contributors:
+# @cemalokten
+# @gnur
+
+
+"attribute" = "green"
+"type" = "light_blue"
+"type.enum.variant" = "purple"
+"constructor" = "yellow"
+"constant" = "dark_orange"
+
+"constant.builtin.boolean" = "yellow"
+"constant.character" = "yellow"
+"constant.character.escape" = "red_error"
+"constant.numeric" = "dark_orange"
+"string" = "dark_green"
+"string.regexp" = "light_purple"
+"string.special" = { fg = "yellow", modifiers = ["underlined"] }
+"comment" = "light_gray"
+
+"variable" = "light_yellow"
+"variable.builtin" = { fg = "dark_green", modifiers = ["underlined"] }
+"variable.parameter" = "yellow"
+"variable.other.member" = "light_purple"
+"label" = "yellow"
+"punctuation" = "mid_blue"
+"keyword" = "mid_blue"
+"keyword.control.exception" = "purple"
+"operator" = "light_purple"
+"function" = "yellow"
+"function.macro" = "green"
+"function.builtin" = "green"
+"function.special" = "green"
+"function.method" = "yellow"
+"tag" = "light_blue"
+"special" = "green"
+"namespace" = "light_purple"
+
+"markup.bold" = { fg = "white", modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.heading" = { fg = "mid_blue", modifiers = ["bold"] }
+"markup.list" = "dark_green"
+"markup.list.numbered" = "mid_blue"
+"markup.list.unnumbered" = "mid_blue"
+"markup.link.url" = { fg = "dark_green", modifiers = ['italic', 'underlined'] }
+"markup.link.text" = "mid_blue"
+"markup.link.label" = "purple"
+"markup.quote" = "dark_green"
+"markup.raw" = "dark_green"
+"markup.raw.inline" = "mid_blue"
+"markup.raw.block" = "dark_green"
+
+"diff.plus" = "diff_plus"
+"diff.minus" = "red_accent"
+"diff.delta" = "blue_accent"
+
+# ui specific
+"ui.background" = { bg = "background" }
+"ui.cursor" = { bg = "purple", fg = "selectionfg" }
+"ui.cursor.primary" = { bg = "dark_blue", fg = "white" }
+"ui.cursor.normal" = { bg = "purple", fg = "selectionfg" }
+"ui.cursor.insert" = { bg = "light_yellow", fg = "background" }
+"ui.cursor.match" = { fg = "background", bg = "dark_orange" }
+"ui.cursorline" = { bg = "darker" }
+"ui.linenr" = "dark_gray"
+"ui.linenr.selected" = { fg = "light_yellow", bg = "darker" }
+"ui.statusline" = { fg = "light_yellow", bg = "darker" }
+"ui.statusline.inactive" = { fg = "dark", bg = "darker" }
+"ui.statusline.normal" = { fg = "light_yellow", bg = "darker" }
+"ui.statusline.insert" = { fg = "darker", bg = "purple" }
+"ui.statusline.select" = { fg = "selectionfg", bg = "selection" }
+"ui.popup" = { fg = "light_yellow", bg = "darkest" }
+"ui.window" = { fg = "dark", bg = "darkest" }
+"ui.help" = { fg = "light_yellow", bg = "darkest" }
+"ui.text" = "light_yellow"
+"ui.text.focus" = { fg = "white", bg = "dark_blue" }
+"ui.virtual" = "dark"
+"ui.virtual.ruler" = { bg = "darker" }
+"ui.virtual.jump-label" = { bg = "light_blue", fg = "darkest", modifiers = ["bold"] }
+"ui.menu" = { fg = "light_purple", bg = "darkest" }
+"ui.menu.selected" = { fg = "white", bg = "dark_blue" }
+"ui.selection.primary" = { bg = "light_purple", fg = "darkest" }
+"ui.selection" = { bg = "light_blue", fg = "darkest" }
+"hint" = "blue"
+"info" = "yellow_accent"
+"warning" = "orange_accent"
+"error" = "red_error"
+"diagnostic" = { modifiers = [] }
+"diagnostic.hint" = { underline = { color = "white", style = "line" } }
+"diagnostic.info" = { underline = { color = "blue_accent", style = "line" } }
+"diagnostic.warning" = { underline = { color = "yellow_accent", style = "line" } }
+"diagnostic.error" = { underline = { color = "red_error", style = "line" } }
+
+[palette]
+background = "#111111"
+darkest = "#1c1c1c"
+darker = "#292929"
+dark = "#898989"
+white = "#ffffff"
+dark_gray = "#535353"
+light_gray = "#6d6d6d"
+
+purple = "#833c9f"
+light_purple = "#be67e1"
+
+blue = "#048ac7"
+light_blue = "#48c6ff"
+mid_blue = "#8197bf"
+dark_blue = "#0ac1cd"
+blue_accent = "#63e7f0"
+
+green = "#ccff00"
+dark_green = "#cee318"
+
+red = "#cc7c8a"
+red_error = "#902020"
+red_accent = "#f44747"
+
+orange = "#ff9f00"
+dark_orange = "#ff005b"
+orange_accent = "#ee7f25"
+
+yellow = "#fad07a"
+light_yellow = "#ebebd8"
+yellow_accent = "#dea407"
+
+diff_plus = "#5a9f81"
+selection = "#37232d"
+selectionfg = "#e5e5e5"
diff --git a/vendor/themes/bogster.toml b/vendor/themes/bogster.toml
new file mode 100644
index 00000000..9d360e82
--- /dev/null
+++ b/vendor/themes/bogster.toml
@@ -0,0 +1,104 @@
+# Author : Wojciech Kępka <[email protected]>
+
+"attribute" = "bogster-orange"
+"keyword" = { fg = "bogster-yellow", modifiers = ["bold"] }
+"keyword.directive" = "bogster-yellow"
+"namespace" = "bogster-red"
+"punctuation" = "bogster-orange"
+"punctuation.delimiter" = "bogster-orange"
+"operator" = { fg = "bogster-orange", modifiers = ["bold"] }
+"special" = "bogster-lgreen"
+"variable.other.member" = "bogster-fg0"
+"variable" = "bogster-fg0"
+"variable.parameter" = "bogster-fg0"
+"type" = "bogster-lred"
+"type.builtin" = { fg = "bogster-red", modifiers = ["bold"] }
+"constructor" = "bogster-lred"
+"function" = "bogster-lblue"
+"function.macro" = { fg = "bogster-orange", modifiers = ["bold"] }
+"function.builtin" = { fg = "bogster-lblue", modifiers = ["bold"] }
+"comment" = "bogster-base5"
+"variable.builtin" = "bogster-fg0"
+"constant" = "bogster-teal"
+"constant.builtin" = "bogster-teal"
+"string" = "bogster-teal"
+"constant.numeric" = "bogster-blue"
+"constant.character.escape" = { fg = "bogster-lgreen", modifiers = ["bold"] }
+"label" = "bogster-blue"
+"module" = "bogster-red"
+
+"markup.heading" = "bogster-blue"
+"markup.list" = "bogster-red"
+"markup.bold" = { fg = "bogster-yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "bogster-purp", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "bogster-yellow", modifiers = ["underlined"] }
+"markup.link.text" = "bogster-red"
+"markup.quote" = "bogster-teal"
+"markup.raw" = "bogster-lgreen"
+
+"diff.plus" = "bogster-teal"
+"diff.delta" = "bogster-orange"
+"diff.minus" = "bogster-lred"
+
+"ui.background" = { bg = "bogster-base1" }
+"ui.linenr" = { fg = "bogster-base4" }
+"ui.linenr.selected" = { fg = "bogster-fg1" }
+"ui.cursorline" = { bg = "bogster-base0" }
+"ui.statusline" = { fg = "bogster-fg1", bg = "bogster-base2" }
+"ui.statusline.inactive" = { fg = "bogster-fg0", bg = "bogster-base2" }
+"ui.popup" = { bg = "bogster-base2" }
+"ui.window" = { bg = "bogster-base2" }
+"ui.help" = { bg = "bogster-base2", fg = "bogster-fg1" }
+
+"ui.statusline.normal" = { fg = "bogster-base1", bg = "bogster-blue", modifiers = [ "bold" ]}
+"ui.statusline.insert" = { fg = "bogster-base1", bg = "bogster-lgreen", modifiers = [ "bold" ]}
+"ui.statusline.select" = { fg = "bogster-base1", bg = "bogster-red", modifiers = [ "bold" ] }
+
+"ui.text" = { fg = "bogster-fg1" }
+"ui.text.focus" = { fg = "bogster-fg1", modifiers= ["bold"] }
+"ui.virtual.whitespace" = "bogster-base5"
+"ui.virtual.ruler" = { bg = "bogster-base0" }
+"ui.virtual.jump-label" = { fg = "bogster-base0", bg = "bogster-yellow", modifiers = [ "bold" ] }
+
+"ui.selection" = { bg = "bogster-base2" }
+"ui.selection.primary" = { bg = "bogster-base3" }
+"ui.cursor.match" = { fg = "bogster-base3", bg = "bogster-orange" }
+"ui.cursor" = { fg = "bogster-base5", modifiers = ["reversed"] }
+
+"ui.menu" = { fg = "bogster-fg1", bg = "bogster-base2" }
+"ui.menu.selected" = { bg = "bogster-base3" }
+
+"warning" = "bogster-orange"
+"error" = "bogster-lred"
+"info" = "bogster-teal"
+"hint" = "bogster-blue"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "bogster-orange", style = "curl"} }
+"diagnostic.error" = { underline = { color = "bogster-lred", style = "curl"} }
+"diagnostic.info" = { underline = { color = "bogster-teal", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "bogster-blue", style = "curl"} }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+bogster-yellow = "#dcb659"
+bogster-lblue = "#59dcd8"
+bogster-teal = "#59dcb7"
+bogster-blue = "#36b2d4"
+bogster-orange = "#dc7759"
+bogster-red = "#d32c5d"
+bogster-lgreen = "#7fdc59"
+bogster-lred = "#dc597f"
+bogster-purp = "#b759dc"
+
+bogster-base0 = "#13181e"
+bogster-base1 = "#161c23"
+bogster-base2 = "#232d38"
+bogster-base3 = "#313f4e"
+bogster-base4 = "#415367"
+bogster-base5 = "#abb2bf"
+
+bogster-fg0 = "#c6b8ad"
+bogster-fg1 = "#e5ded6"
diff --git a/vendor/themes/bogster_light.toml b/vendor/themes/bogster_light.toml
new file mode 100644
index 00000000..3259d677
--- /dev/null
+++ b/vendor/themes/bogster_light.toml
@@ -0,0 +1,103 @@
+# Author : Wojciech Kępka <[email protected]>
+
+"attribute" = "bogster-orange"
+"keyword" = { fg = "bogster-yellow", modifiers = ["bold"] }
+"keyword.directive" = "bogster-yellow"
+"namespace" = "bogster-red"
+"punctuation" = "bogster-orange"
+"punctuation.delimiter" = "bogster-orange"
+"operator" = { fg = "bogster-orange", modifiers = ["bold"] }
+"special" = "bogster-lgreen"
+"variable.other.member" = "bogster-fg0"
+"variable" = "bogster-fg0"
+"variable.parameter" = "bogster-fg0"
+"type" = "bogster-lred"
+"type.builtin" = { fg = "bogster-red", modifiers = ["bold"] }
+"constructor" = "bogster-lred"
+"function" = "bogster-lblue"
+"function.macro" = { fg = "bogster-orange", modifiers = ["bold"] }
+"function.builtin" = { fg = "bogster-lblue", modifiers = ["bold"] }
+"comment" = "bogster-base5"
+"variable.builtin" = "bogster-fg0"
+"constant" = "bogster-teal"
+"constant.builtin" = "bogster-teal"
+"string" = "bogster-teal"
+"constant.numeric" = "bogster-blue"
+"constant.character.escape" = { fg = "bogster-lgreen", modifiers = ["bold"] }
+"label" = "bogster-blue"
+"module" = "bogster-red"
+
+"markup.heading" = "bogster-blue"
+"markup.list" = "bogster-red"
+"markup.bold" = { fg = "bogster-yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "bogster-yellow", modifiers = ["underlined"] }
+"markup.link.text" = "bogster-red"
+"markup.quote" = "bogster-lblue"
+"markup.raw" = "bogster-teal"
+
+"diff.plus" = "bogster-teal"
+"diff.delta" = "bogster-orange"
+"diff.minus" = "bogster-lred"
+
+"ui.background" = { bg = "bogster-base0" }
+"ui.linenr" = { fg = "bogster-base3" }
+"ui.linenr.selected" = { fg = "bogster-fg1" }
+"ui.cursorline" = { bg = "bogster-base00" }
+"ui.statusline" = { fg = "bogster-fg1", bg = "bogster-base1" }
+"ui.statusline.inactive" = { fg = "bogster-fg0", bg = "bogster-base1" }
+"ui.popup" = { bg = "bogster-base1" }
+"ui.window" = { bg = "bogster-base1" }
+"ui.help" = { bg = "bogster-base1", fg = "bogster-fg1" }
+
+"ui.statusline.normal" = { fg = "bogster-base0", bg = "bogster-blue", modifiers = [ "bold" ]}
+"ui.statusline.insert" = { fg = "bogster-base0", bg = "bogster-lgreen", modifiers = [ "bold" ]}
+"ui.statusline.select" = { fg = "bogster-base0", bg = "bogster-red", modifiers = [ "bold" ] }
+
+"ui.text" = { fg = "bogster-fg1" }
+"ui.text.focus" = { fg = "bogster-fg1", modifiers= ["bold"] }
+"ui.virtual.whitespace" = "bogster-base5"
+"ui.virtual.ruler" = { bg = "bogster-base00" }
+
+"ui.selection" = { bg = "bogster-base1" }
+"ui.cursor.match" = { fg = "bogster-base2", bg = "bogster-orange" }
+"ui.cursor" = { fg = "bogster-gray", modifiers = ["reversed"] }
+
+"ui.menu" = { fg = "bogster-fg1", bg = "bogster-base1" }
+"ui.menu.selected" = { bg = "bogster-base2" }
+
+"warning" = "bogster-orange"
+"error" = "bogster-lred"
+"info" = "bogster-teal"
+"hint" = "bogster-blue"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "bogster-orange", style = "curl"} }
+"diagnostic.error" = { underline = { color = "bogster-lred", style = "curl"} }
+"diagnostic.info" = { underline = { color = "bogster-teal", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "bogster-blue", style = "curl"} }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+bogster-orange = "#dc7759"
+bogster-yellow = "#a58023"
+bogster-red = "#d32c5d"
+bogster-blue = "#59c0dc"
+bogster-gray = "#abb2bf"
+bogster-lgreen = "#7fdc59"
+bogster-lred = "#dc597f"
+bogster-lblue = "#289cbc"
+bogster-teal = "#23a580"
+
+bogster-fg1 = "#161c23"
+bogster-fg0 = "#232d38"
+
+bogster-base00 = "#d7dbbb"
+bogster-base0 = "#f6fbd6"
+bogster-base1 = "#c7c7ba"
+bogster-base2 = "#aaaa97"
+bogster-base3 = "#415367"
+bogster-base5 = "#627d9d"
+
diff --git a/vendor/themes/boo_berry.toml b/vendor/themes/boo_berry.toml
new file mode 100644
index 00000000..929bbc74
--- /dev/null
+++ b/vendor/themes/boo_berry.toml
@@ -0,0 +1,83 @@
+# made by bootra
+
+"comment" = { fg = "berry_desaturated" }
+"constant" = { fg = "gold" }
+"function" = { fg = "mint" }
+"function.macro" = { fg = "bubblegum" }
+"keyword" = { fg = "bubblegum" }
+"operator" = { fg = "bubblegum" }
+"punctuation" = { fg = "lilac" }
+"string" = { fg = "gold" }
+"type" = { fg = "violet" }
+"variable" = { fg = "lilac" }
+"variable.builtin" = { fg = "violet" }
+"tag" = { fg = "gold" }
+"label" = { fg = "gold" }
+"attribute" = { fg = "lilac" }
+"namespace" = { fg = "lilac" }
+"module" = { fg = "lilac" }
+
+"markup.heading" = { fg = "gold", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "berry_desaturated" }
+"markup.list" = { fg = "bubblegum" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "violet", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "violet" }
+"markup.quote" = { fg = "berry_desaturated" }
+"markup.raw" = { fg = "mint" }
+
+"ui.background" = { bg = "berry" }
+"ui.cursor" = { fg = "berry", bg = "lilac" }
+"ui.cursor.match" = { fg = "berry", bg = "berry_desaturated" }
+"ui.cursor.select" = { fg = "berry", bg = "violet" }
+"ui.cursor.insert" = { fg = "berry", bg = "mint" }
+"ui.linenr" = { fg = "berry_desaturated" }
+"ui.linenr.selected" = { fg = "lilac" }
+"ui.cursorline" = { fg = "lilac", bg = "berry_dim" }
+"ui.statusline" = { fg = "lilac", bg = "berry_saturated" }
+"ui.statusline.inactive" = { fg = "berry_desaturated", bg = "berry_saturated" }
+"ui.statusline.normal" = { fg = "berry_saturated", bg = "lilac" }
+"ui.statusline.insert" = { fg = "berry_saturated", bg = "mint" }
+"ui.statusline.select" = { fg = "berry_saturated", bg = "violet" }
+"ui.popup" = { fg = "lilac", bg = "berry_saturated" }
+"ui.window" = { fg = "berry_desaturated", bg = "berry" }
+"ui.help" = { fg = "lilac", bg = "berry_saturated" }
+"ui.text" = { fg = "lilac" }
+"ui.text.focus" = { fg = "mint" }
+"ui.menu" = { fg = "lilac", bg = "berry_saturated" }
+"ui.menu.selected" = { fg = "mint", bg = "berry_saturated" }
+"ui.selection" = { bg = "berry_saturated" }
+"ui.virtual.whitespace" = { fg = "berry_desaturated" }
+"ui.virtual.ruler" = { bg = "berry_dim" }
+"ui.virtual.indent-guide" = { fg = "berry_fade" }
+"ui.virtual.inlay-hint" = { fg = "berry_desaturated" }
+
+"diff.plus" = { fg = "mint" }
+"diff.delta" = { fg = "gold" }
+"diff.minus" = { fg = "bubblegum" }
+
+"error" = { fg = "bubblegum" }
+"warning" = { fg = "gold" }
+"info" = { fg = "lilac" }
+"hint" = { fg = "lilac" }
+
+"diagnostic.warning" = { underline = { color = "bubblegum", style = "curl"} }
+"diagnostic.error" = { underline = { color = "gold", style = "curl"} }
+"diagnostic.info" = { underline = { color = "lilac", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "lilac", style = "curl"} }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+berry = "#3A2A4D"
+berry_fade = "#5A3D6E"
+berry_dim = "#47345E"
+berry_saturated = "#2B1C3D"
+berry_desaturated = "#886C9C"
+bubblegum = "#D678B5"
+gold = "#E3C0A8"
+lilac = "#C7B8E0"
+mint = "#7FC9AB"
+violet = "#C78DFC"
diff --git a/vendor/themes/carbon.toml b/vendor/themes/carbon.toml
new file mode 100644
index 00000000..1105a1a5
--- /dev/null
+++ b/vendor/themes/carbon.toml
@@ -0,0 +1,204 @@
+# Syntax highlighting
+
+"attribute" = { fg = "blue60", modifiers = ["italic"] }
+
+"type" = { fg = "cyan30", modifiers = ["italic"] }
+"type.builtin" = { fg = "cyan30", modifiers = ["bold"] }
+"type.enum.variant" = "magenta40"
+
+"constructor" = { fg = "purple40", modifiers = ["bold"] }
+
+"constant" = "teal40"
+"constant.builtin" = { fg = "teal40", modifiers = ["bold"] }
+"constant.character" = "green40"
+"constant.character.escape" = "purple40"
+"constant.numeric" = "teal30"
+
+"string" = "green50"
+"string.regexp" = "purple40"
+"string.special" = "blue40"
+"string.special.symbol" = "cyan30"
+"string.special.url" = { fg = "blue30", modifiers = ["underlined"] }
+
+"comment" = { fg = "gray40", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "gray40", modifiers = ["italic"] }
+"comment.line.documentation" = { fg = "gray40", modifiers = ["italic"] }
+
+"variable" = "gray70"
+"variable.builtin" = { fg = "cyan30", modifiers = ["bold"] }
+"variable.parameter" = { fg = "magenta40", modifiers = ["italic"] }
+"variable.other.member" = { fg = "magenta30", modifiers = ["italic"] }
+
+"label" = { fg = "blue40", modifiers = ["italic"] }
+
+"punctuation" = "gray70"
+"punctuation.special" = "blue50"
+"punctuation.bracket" = "gray60"
+"punctuation.delimiter" = "gray60"
+
+"keyword" = { fg = "blue50", modifiers = ["bold"] }
+"keyword.control" = { fg = "blue50", modifiers = ["bold"] }
+"keyword.control.conditional" = { fg = "blue50", modifiers = ["bold"] }
+"keyword.control.repeat" = { fg = "blue50", modifiers = ["bold"] }
+"keyword.control.import" = { fg = "purple40", modifiers = ["bold"] }
+"keyword.control.return" = { fg = "red50", modifiers = ["bold"] }
+"keyword.control.exception" = { fg = "red40", modifiers = ["bold"] }
+"keyword.operator" = "blue40"
+"keyword.function" = { fg = "teal40", modifiers = ["bold", "italic"] }
+"keyword.storage" = { fg = "purple50", modifiers = ["bold"] }
+"keyword.storage.modifier" = { fg = "purple40", modifiers = ["italic"] }
+
+"operator" = "blue50"
+
+"function" = { fg = "blue40", modifiers = ["bold"] }
+"function.builtin" = { fg = "blue50", modifiers = ["bold"] }
+"function.method" = { fg = "blue40", modifiers = ["bold"] }
+# "function.macro" = { fg = "purple30", modifiers = ["bold", "italic"] }
+
+"tag" = "cyan40"
+"tag.builtin" = { fg = "cyan40", modifiers = ["bold"] }
+
+"namespace" = { fg = "teal40", modifiers = ["italic"] }
+
+"special" = "purple40"
+
+# Markup
+"markup.heading" = { fg = "blue50", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "gray60", modifiers = ["bold"] }
+"markup.heading.1" = { fg = "blue40", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "cyan40", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "teal40", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "green40", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "purple40", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "magenta40", modifiers = ["bold"] }
+"markup.list" = "blue30"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "blue30", modifiers = ["underlined"] }
+"markup.link.text" = "cyan30"
+"markup.quote" = { fg = "green30", modifiers = ["italic"] }
+"markup.raw" = "teal30"
+
+# Diff
+"diff.plus" = "green40"
+"diff.minus" = "red40"
+"diff.delta" = "blue40"
+"diff.delta.moved" = "purple40"
+
+# UI Elements
+"ui.background" = { fg = "gray70", bg = "gray10" }
+"ui.background.separator" = { fg = "gray30" }
+
+"ui.cursor" = { fg = "gray10", bg = "blue50" }
+"ui.cursor.normal" = { fg = "gray10", bg = "blue50" }
+"ui.cursor.insert" = { fg = "gray10", bg = "green50" }
+"ui.cursor.select" = { fg = "gray10", bg = "purple50" }
+"ui.cursor.match" = { fg = "gray10", bg = "cyan40" }
+
+"ui.cursor.primary" = { fg = "gray10", bg = "blue60" }
+"ui.cursor.primary.normal" = { fg = "gray10", bg = "blue60" }
+"ui.cursor.primary.insert" = { fg = "gray10", bg = "green60" }
+"ui.cursor.primary.select" = { fg = "gray10", bg = "purple60" }
+
+"ui.linenr" = { fg = "gray40" }
+"ui.linenr.selected" = { fg = "gray70" }
+
+"ui.statusline" = { fg = "gray70", bg = "gray20" }
+"ui.statusline.inactive" = { fg = "gray50", bg = "gray20" }
+"ui.statusline.normal" = { fg = "gray10", bg = "blue50", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "gray10", bg = "green50", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "gray10", bg = "purple50", modifiers = ["bold"] }
+
+"ui.popup" = { fg = "gray70", bg = "gray20" }
+"ui.popup.info" = { fg = "blue40", bg = "gray20" }
+"ui.window" = { fg = "gray30" }
+"ui.help" = { fg = "gray70", bg = "gray20" }
+
+"ui.text" = "gray70"
+"ui.text.focus" = { fg = "gray70", bg = "gray30", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "gray50" }
+"ui.text.info" = { fg = "blue40" }
+
+"ui.virtual.ruler" = { bg = "gray20" }
+"ui.virtual.whitespace" = "gray30"
+"ui.virtual.indent-guide" = "gray30"
+"ui.virtual.inlay-hint" = { fg = "gray50", bg = "gray10" }
+"ui.virtual.jump-label" = { fg = "yellow50", bg = "gray10" }
+
+"ui.selection" = { bg = "gray30" }
+"ui.selection.primary" = { bg = "gray40" }
+"ui.cursorline.primary" = { bg = "gray20" }
+
+"ui.highlight" = { bg = "gray30", modifiers = ["bold"] }
+"ui.highlight.frameline" = { bg = "blue20" }
+
+"ui.menu" = { fg = "gray70", bg = "gray20" }
+"ui.menu.selected" = { fg = "gray70", bg = "gray30", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "blue40", bg = "gray30" }
+
+# Diagnostics
+"diagnostic" = { fg = "gray60" }
+"diagnostic.error" = { underline = { color = "magenta30", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow30", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue40", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "cyan40", style = "curl" } }
+
+"error" = "magenta30"
+"warning" = "yellow30"
+"info" = "blue40"
+"hint" = "cyan40"
+
+[palette]
+# Softer, more aesthetic color palette inspired by IBM Carbon
+gray10 = "#161616"
+gray20 = "#262626"
+gray30 = "#393939"
+gray40 = "#525252"
+gray50 = "#6F6F6F"
+gray60 = "#8D8D8D"
+gray70 = "#a8a8a8"
+gray80 = "#c8ccd4"
+
+# Softer blues
+blue20 = "#0043ce"
+blue30 = "#4589ff"
+blue40 = "#78a9ff"
+blue50 = "#82cfff"
+blue60 = "#bae6ff"
+
+# Softer cyans
+cyan30 = "#08bdba"
+cyan40 = "#3ddbd9"
+cyan50 = "#9ef0f0"
+
+# Softer, more muted greens
+green30 = "#42be65" # Softened
+green40 = "#6fdc8c" # More pastel
+green50 = "#a7f0ba" # Even softer
+green60 = "#defbe6" # Very soft
+
+# Pinks and magentas (more prominent as per your preference)
+magenta30 = "#ff7eb6" # Your original pink
+magenta40 = "#ff9ec7" # Lighter pink
+magenta50 = "#ffd6e8" # Very soft pink
+
+# Softer purples
+purple30 = "#a56eff"
+purple40 = "#be95ff"
+purple50 = "#d4bbff"
+purple60 = "#e8daff"
+
+# Softer reds with pink undertones
+red30 = "#ff8389" # Softer red
+red40 = "#ffa4a9" # Pink-red
+red50 = "#ffd7d9" # Very soft
+
+# Softer teals
+teal30 = "#08bdba"
+teal40 = "#3ddbd9"
+teal50 = "#9ef0f0"
+
+# Warmer, softer yellows
+yellow30 = "#f1c21b"
+yellow40 = "#fddc69"
+yellow50 = "#fff1d2"
diff --git a/vendor/themes/carbonfox.LICENSE b/vendor/themes/carbonfox.LICENSE
new file mode 100644
index 00000000..4f446e77
--- /dev/null
+++ b/vendor/themes/carbonfox.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 James Simpson
+
+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. \ No newline at end of file
diff --git a/vendor/themes/carbonfox.toml b/vendor/themes/carbonfox.toml
new file mode 100644
index 00000000..12e81295
--- /dev/null
+++ b/vendor/themes/carbonfox.toml
@@ -0,0 +1,50 @@
+# Author: github.com/ETCaton
+# License: MIT License
+# Carbonfox
+#
+# Based on Helix's Nightfox port with changes to align it to Nightfox's Carbonfox theme
+# Any 'custom' colors are replicating the result of the linear color blending done in the original
+# Neovim theme.
+# https://github.com/EdenEast/nightfox.nvim/blob/d3e8b1acc095baf57af81bb5e89fe7c4359eb619/lua/nightfox/lib/color.lua#L236-L247
+
+inherits = 'nightfox'
+
+# DIAGNOSTICS
+# For brevity: All blends here are a blend between bg1 and the fg value with factor of 0.15
+"warning" = { fg = "magenta", bg = "#2f2939" }
+"error.bg" = "#361f29"
+"info.bg" = "#252c39"
+"hint" = { fg = "orange", bg = "#1c3433" }
+
+[palette]
+black = "#282828"
+red = "#ee5396"
+red-dim = "#ca4780"
+green = "#25be6a"
+green-dim = "#1fa25a"
+yellow = "#08bdba"
+yellow-bright = "#2dc7c4"
+blue = "#78a9ff"
+blue-bright = "#8cb6ff"
+blue-dim = "#6690d9"
+magenta = "#be95ff"
+magenta-bright = "#c8a5ff"
+cyan = "#33b1ff"
+cyan-bright = "#52bdff"
+cyan-dim = "#2b96d9"
+orange = "#3ddbd9"
+orange-bright = "#5ae0df"
+pink = "#ff7eb6"
+pink-bright = "#ff91c1"
+# spec
+bg0 = "#0c0c0c"
+bg1 = "#161616"
+bg2 = "#252525"
+bg3 = "#353535"
+bg4 = "#535353"
+fg0 = "#f9fbff"
+fg1 = "#f2f4f8"
+fg2 = "#b6b8bb"
+fg3 = "#7b7c7e"
+sel0 = "#2a2a2a"
+sel1 = "#525253"
diff --git a/vendor/themes/catppuccin_frappe.toml b/vendor/themes/catppuccin_frappe.toml
new file mode 100644
index 00000000..232e19c3
--- /dev/null
+++ b/vendor/themes/catppuccin_frappe.toml
@@ -0,0 +1,35 @@
+inherits = "catppuccin_mocha"
+
+[palette]
+rosewater = "#f2d5cf"
+flamingo = "#eebebe"
+pink = "#f4b8e4"
+mauve = "#ca9ee6"
+red = "#e78284"
+maroon = "#ea999c"
+peach = "#ef9f76"
+yellow = "#e5c890"
+green = "#a6d189"
+teal = "#81c8be"
+sky = "#99d1db"
+sapphire = "#85c1dc"
+blue = "#8caaee"
+lavender = "#babbf1"
+text = "#c6d0f5"
+subtext1 = "#b5bfe2"
+subtext0 = "#a5adce"
+overlay2 = "#949cbb"
+overlay1 = "#838ba7"
+overlay0 = "#737994"
+surface2 = "#626880"
+surface1 = "#51576d"
+surface0 = "#414559"
+base = "#303446"
+mantle = "#292c3c"
+crust = "#232634"
+
+cursorline = "#3b3f52"
+secondary_cursor = "#b8a5a6"
+secondary_cursor_select = "#9192be"
+secondary_cursor_normal = "#b8a5a6"
+secondary_cursor_insert = "#83a275"
diff --git a/vendor/themes/catppuccin_latte.toml b/vendor/themes/catppuccin_latte.toml
new file mode 100644
index 00000000..be47423d
--- /dev/null
+++ b/vendor/themes/catppuccin_latte.toml
@@ -0,0 +1,35 @@
+inherits = "catppuccin_mocha"
+
+[palette]
+rosewater = "#dc8a78"
+flamingo = "#dd7878"
+pink = "#ea76cb"
+mauve = "#8839ef"
+red = "#d20f39"
+maroon = "#e64553"
+peach = "#fe640b"
+yellow = "#df8e1d"
+green = "#40a02b"
+teal = "#179299"
+sky = "#04a5e5"
+sapphire = "#209fb5"
+blue = "#1e66f5"
+lavender = "#7287fd"
+text = "#4c4f69"
+subtext1 = "#5c5f77"
+subtext0 = "#6c6f85"
+overlay2 = "#7c7f93"
+overlay1 = "#8c8fa1"
+overlay0 = "#9ca0b0"
+surface2 = "#acb0be"
+surface1 = "#bcc0cc"
+surface0 = "#ccd0da"
+base = "#eff1f5"
+mantle = "#e6e9ef"
+crust = "#dce0e8"
+
+cursorline = "#e8ecf1"
+secondary_cursor = "#e1a99d"
+secondary_cursor_select = "#97a7fb"
+secondary_cursor_normal = "#e1a99d"
+secondary_cursor_insert = "#74b867"
diff --git a/vendor/themes/catppuccin_macchiato.toml b/vendor/themes/catppuccin_macchiato.toml
new file mode 100644
index 00000000..4f3f49cf
--- /dev/null
+++ b/vendor/themes/catppuccin_macchiato.toml
@@ -0,0 +1,35 @@
+inherits = "catppuccin_mocha"
+
+[palette]
+rosewater = "#f4dbd6"
+flamingo = "#f0c6c6"
+pink = "#f5bde6"
+mauve = "#c6a0f6"
+red = "#ed8796"
+maroon = "#ee99a0"
+peach = "#f5a97f"
+yellow = "#eed49f"
+green = "#a6da95"
+teal = "#8bd5ca"
+sky = "#91d7e3"
+sapphire = "#7dc4e4"
+blue = "#8aadf4"
+lavender = "#b7bdf8"
+text = "#cad3f5"
+subtext1 = "#b8c0e0"
+subtext0 = "#a5adcb"
+overlay2 = "#939ab7"
+overlay1 = "#8087a2"
+overlay0 = "#6e738d"
+surface2 = "#5b6078"
+surface1 = "#494d64"
+surface0 = "#363a4f"
+base = "#24273a"
+mantle = "#1e2030"
+crust = "#181926"
+
+cursorline = "#303347"
+secondary_cursor = "#b6a6a7"
+secondary_cursor_select = "#8b91bf"
+secondary_cursor_normal = "#b6a6a7"
+secondary_cursor_insert = "#80a57a"
diff --git a/vendor/themes/curzon.toml b/vendor/themes/curzon.toml
new file mode 100644
index 00000000..d5a608f5
--- /dev/null
+++ b/vendor/themes/curzon.toml
@@ -0,0 +1,120 @@
+attribute_color = "attribute_color"
+keyword = "keyword_foreground_color"
+"keyword.directive" = "light_blue"
+namespace = "light_blue"
+punctuation = "punctuation_color"
+"punctuation.delimiter" = "punctuation_color"
+operator = "operator_color"
+special = "label"
+"variable.other.member" = "white"
+variable = "variable"
+"variable.parameter" = { fg = "variable" }
+"variable.builtin" = {fg = "built_in", modifiers=["bold","italic"]}
+type = "white"
+"type.builtin" = "white"
+constructor = "light_blue"
+function = "white"
+"function.macro" = {fg ="light_blue" }
+"function.builtin" = "white"
+tag = "tag"
+comment = { fg = "comment_color", modifiers = ["italic"] }
+constant = {fg ="white"}
+"constant.builtin" = "white"
+string = {fg="string", modifiers=["italic"]}
+"constant.numeric" = "constant_numeric_foreground_color"
+"constant.character.escape" = "label"
+# used for lifetimes
+label = "label"
+
+"markup.heading" = "light_blue"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "link_url_foreground_color", modifiers = ["underlined"] }
+"markup.link.text" = "markup_link_foreground_color"
+"markup.raw" = "markup_raw_foreground_color"
+
+"diff.plus" = "#35bf86"
+"diff.minus" = "#f22c86"
+"diff.delta" = "info"
+
+"ui.background" = { bg = "black" }
+"ui.background.separator" = { fg = "window_color" }
+"ui.linenr" = { fg = "window_color" }
+"ui.linenr.selected" = { fg = "light_blue" }
+"ui.statusline" = { fg = "statusline_foreground_color", bg = "black" }
+"ui.statusline.inactive" = { fg = "statusline_inactive_foreground_color", bg = "black" }
+"ui.virtual.ruler" = { bg = "dark"}
+
+"ui.popup" = { fg = "menu_normal_text_color", bg = "menu_background_color" }
+"ui.window" = { fg = "dark"}
+"ui.help" = { fg = "menu_normal_text_color", bg = "menu_background_color" }
+
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "white" }
+"ui.text.inactive" = "comment_color"
+"ui.virtual" = { fg = "#008DFF" }
+
+"ui.virtual.indent-guide" = { fg = "window_color" }
+
+"ui.selection" = { bg = "#4f46e5" }
+"ui.selection.primary" = { bg = "#4f46e5" }
+"ui.cursor.select" = { bg = "cursor_normal_bg_color" }
+"ui.cursor.primary.insert" = { bg = "#f43f5e", fg = "white" }
+"ui.cursor.match" = { fg = "#212121", bg = "#6C6999" }
+"ui.cursorline.primary" = { bg = "dark"}
+"ui.highlight" = { bg = "dark" }
+"ui.highlight.frameline" = { bg = "#634450" }
+"ui.debug" = { fg = "#634450" }
+"ui.debug.breakpoint" = { fg = "debug_breakpoint" }
+"ui.menu" = { fg = "menu_normal_text_color", bg = "menu_background_color" }
+"ui.menu.selected" = { fg = "menu_background_color", bg = "white" }
+"ui.menu.scroll" = { fg = "menu_scroll", bg = "window_color" }
+
+"diagnostic.hint" = { underline = { color = "hint", style = "curl" } }
+"diagnostic.info" = { underline = { color = "info", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
+"diagnostic.error" = { underline = { color = "error", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+warning = "warning"
+error = "#f43f5e"
+info = "info"
+hint = "#38bdf8"
+
+[palette]
+label = "#efba5d"
+constant_numeric_foreground_color = "#E8DCA0"
+tag = "#eccdba"
+markup_link_foreground_color = "#eccdba"
+markup_raw_foreground_color = "#eccdba"
+keyword_foreground_color="#eccdba" # alternative color "#ecc1ba"
+comment_color = "#697C81"
+link_url_foreground_color="#b8b8b8"
+debug_breakpoint = "#f47868"
+window_color = "#484a4d"
+light_blue = "#bee0ec" #change name
+text="#bfdbfe"
+black = "#000000"
+white = "#ffffff"
+dark= "#111111"
+punctuation_color = "#a4a0e8"
+string="#6ee7b7"
+attribute_color="#dbbfef"
+operator_color="#bee0ec"
+menu_background_color="#1e3a8a"
+menu_normal_text_color="#93c5fd"
+statusline_active_background_color="#111111"
+statusline_inactive_background_color="#0e0e0e"
+statusline_inactive_foreground_color="#b8b8b8"
+popup_background_color="#1e3a8a"
+cursor_normal_bg_color="#6366f1"
+warning="#ffcd1c"
+error = "#f43f5e"
+hint = "#38bdf8"
+info = "#6366f1"
+variable="#c7d2fe"
+menu_scroll="#93c5fd"
+built_in="#10b981"
+statusline_foreground_color="#6366f1"
diff --git a/vendor/themes/cyan_light.toml b/vendor/themes/cyan_light.toml
new file mode 100644
index 00000000..eeb671e1
--- /dev/null
+++ b/vendor/themes/cyan_light.toml
@@ -0,0 +1,5 @@
+# Deprecation notice
+#
+# This theme has moved to jetbrains_cyan_light, make sure to update your configuration accordingly.
+
+inherits = "jetbrains_cyan_light"
diff --git a/vendor/themes/darcula-solid.toml b/vendor/themes/darcula-solid.toml
new file mode 100644
index 00000000..c867583d
--- /dev/null
+++ b/vendor/themes/darcula-solid.toml
@@ -0,0 +1,16 @@
+# Original source and more info: https://github.com/jesusmgg/darcula-solid-helix
+
+inherits = "darcula"
+
+"ui.background.separator" = { bg = "grey01" }
+"ui.menu.scroll" = { fg = "grey02", bg = "grey00" }
+"ui.popup" = { fg = "grey05", bg = "grey00" }
+"ui.window" = { bg = "grey00" }
+"ui.cursorline.secondary" = { bg = "grey03" }
+
+[palette]
+grey00 = "#101010"
+grey01 = "#1f1f1f"
+grey02 = "#323232"
+grey03 = "#555555"
+grey04 = "#a8a8a8"
diff --git a/vendor/themes/darcula.toml b/vendor/themes/darcula.toml
new file mode 100644
index 00000000..2b98684c
--- /dev/null
+++ b/vendor/themes/darcula.toml
@@ -0,0 +1,120 @@
+# Author : Nick Ogden <[email protected]>
+
+"ui.background" = { bg = "grey01" }
+"ui.menu" = { fg = "grey05", bg = "grey00" }
+"ui.menu.selected" = { fg = "grey01", bg = "grey04" }
+"ui.linenr" = { fg = "grey03", bg = "grey01" }
+"ui.linenr.selected" = { fg = "grey04", bg = "grey01", modifiers = ["bold"] }
+"ui.gutter" = { bg = "grey01" }
+"ui.popup" = { fg = "grey05", bg = "grey00" }
+"ui.window" = { bg = "grey01" }
+"ui.selection" = { bg = "grey02" }
+"ui.selection.primary" = { bg = "blue" }
+"ui.statusline" = { fg = "grey04", bg = "grey02" }
+"ui.statusline.insert" = { bg = "white", fg = "grey01" }
+"ui.statusline.select" = { bg = "orange", fg = "grey01" }
+"ui.help" = { fg = "grey04", bg = "grey01" }
+"ui.cursor" = { fg = "grey04", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "grey02", bg = "grey05" }
+"ui.cursor.match" = { fg = "white", modifiers = ["underlined"] }
+"ui.cursorline.primary" = { bg = "grey02" }
+"ui.cursorline.secondary" = { bg = "grey02" }
+"ui.text" = "white"
+"ui.text.focus" = "grey05"
+"ui.virtual.ruler" = { bg = "grey02" }
+"ui.virtual.indent-guide" = "grey02"
+"ui.virtual.whitespace" = "grey03"
+"ui.virtual.inlay-hint" = { fg = "grey03", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "lightblue", modifiers = ["italic", "bold"] }
+"ui.bufferline" = { fg = "grey04", bg = "grey00" }
+"ui.bufferline.active" = { fg = "grey07", bg = "grey02" }
+"ui.picker.header.column" = { fg = "grey05", modifiers = ["italic", "bold"] }
+"ui.picker.header.column.active" = { fg = "grey05", bg = "grey03", modifiers = ["italic", "bold"] }
+
+"operator" = "grey05"
+"variable" = "white"
+"variable.other.member" = "yellow"
+"constant" = "lightblue"
+"constant.numeric" = "lightblue"
+"constant.character.escape" = "white"
+"attribute" = "yellow"
+"type" = "white"
+"type.builtin" = "orange"
+"type.parameter" = { fg = "white", modifiers = ["bold"] }
+"type.enum" = "white"
+"type.enum.variant" = "orange"
+"string" = "darkgreen"
+"function" = "yellow"
+"function.macro" = "green"
+"constructor" = "yellow"
+"special" = "green"
+"keyword" = "orange"
+"comment" = { fg = "grey", modifiers = ["italic"] }
+"label" = "purple"
+"namespace" = { fg = "purple", modifiers = ["italic"] }
+
+# HTML
+"tag" = "orange"
+
+"markup.heading.1" = "orange"
+"markup.heading.2" = "yellow"
+"markup.heading.3" = "darkred"
+"markup.heading.4" = "grey"
+"markup.heading.5" = "purple"
+"markup.heading.6" = "darkgreen"
+"markup.list" = "white"
+"markup.bold" = { fg = "white", modifiers = ["bold"] }
+"markup.italic" = { fg = "white", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "white", modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "lightblue", modifiers = ["underlined"] }
+"markup.link.text" = "white"
+"markup.quote" = "darkgreen"
+"markup.raw" = "purple"
+
+"diff.plus" = "green"
+"diff.delta" = "grey"
+"diff.minus" = "red"
+
+"diagnostic.warning" = { underline = { color = "orange", style = "curl"} }
+"diagnostic.error" = { underline = { color = "red", style = "curl"} }
+"diagnostic.info" = { underline = { color = "grey05", style = "curl"} }
+"diagnostic.hint" = { underline = { color = "grey05", style = "curl"} }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"info" = "grey05"
+"hint" = "grey05"
+"debug" = "grey05"
+"warning" = "orange"
+"error" = "red"
+
+rainbow = ["rainbow_gold", "rainbow_blue", "rainbow_orange", "rainbow_purple", "rainbow_khaki", "rainbow_turquoise"]
+
+[palette]
+grey00 = "#181818" # Default Background
+grey01 = "#282828" # Lighter Background (Used for status bars, line number and folding marks)
+grey02 = "#383838" # Selection Background
+grey03 = "#585858" # Comments, Invisibles, Line Highlighting
+grey04 = "#b8b8b8" # Dark Foreground (Used for status bars)
+grey05 = "#d8d8d8" # Default Foreground, Caret, Delimiters, Operators
+grey06 = "#e8e8e8" # Light Foreground (Not often used)
+grey07 = "#f8f8f8" # Light Background (Not often used)
+
+white = "#d0d0d0"
+yellow = "#eedd82"
+orange = "#cc7832"
+darkred = "#a34a27"
+purple = "#9876aa"
+green = "#32cd32"
+grey = "#808080"
+darkgreen = "#629755"
+lightblue = "#6897bb"
+blue = "#104158"
+
+# Rainbow bracket colors
+rainbow_gold = "#FFD700"
+rainbow_blue = "#1E90FF"
+rainbow_orange = "#FF8C00"
+rainbow_purple = "#9370DB"
+rainbow_khaki = "#F0E68C"
+rainbow_turquoise = "#00CED1"
diff --git a/vendor/themes/dark-synthwave.LICENSE b/vendor/themes/dark-synthwave.LICENSE
new file mode 100644
index 00000000..4d5572bd
--- /dev/null
+++ b/vendor/themes/dark-synthwave.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Aaron Young
+
+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/dark-synthwave.toml b/vendor/themes/dark-synthwave.toml
new file mode 100644
index 00000000..9bb8a479
--- /dev/null
+++ b/vendor/themes/dark-synthwave.toml
@@ -0,0 +1,114 @@
+# Dark Synthwave
+# Based on Dark SynthWave '84 for VS Code (https://github.com/brainomite/dark-synthwave-vscode/tree/main)
+#
+# Author : Peter Retzlaff <[email protected]>
+# License: MIT License
+
+# UI Colors
+"ui.background" = { bg = "black", fg = "blood-red" }
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "selection-blue" }
+"ui.text" = "white"
+"ui.text.focus" = { fg = "dark-grey", bg = "synth-red" }
+"ui.text.inactive" = "grey"
+"ui.linenr" = "grey"
+"ui.linenr.selected" = "white"
+"ui.statusline" = { fg = "white", bg = "black" }
+"ui.statusline.inactive" = { fg = "grey", bg = "black"}
+"ui.statusline.separator" = "synth-red"
+"ui.popup" = { fg = "#f8f8f0", bg = "#1E1E1E" }
+"ui.popup.info" = { fg = "synth-red", bg = "black" }
+"ui.window" = "synth-red"
+"ui.help" = { fg = "#f8f8f0", bg = "#1E1E1E" }
+"ui.virtual.jump-label" = {fg = "synth-red", modifiers = ["bold"]}
+"ui.selection" = { bg = "selection-blue" }
+"ui.selection.primary" = { bg = "selection-blue" }
+"ui.menu" = { fg = "white", bg = "black" }
+"ui.menu.selected" = { fg = "dark-grey", bg = "synth-red" }
+"ui.picker" = { fg = "neon-yellow" }
+"ui.picker.header.column.active" = { modifiers = ["bold"] }
+"ui.background.separator" = "synth-red"
+
+# Diagnostic colors
+"warning" = "warning"
+"error" = "error"
+"info" = "info"
+"hint" = "info"
+"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
+"diagnostic.error" = { underline = { color = "error", style = "curl" } }
+"diagnostic.info" = { underline = { color = "info", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "info", style = "curl" } }
+
+# Syntax highlighting
+"comment" = { fg = "mauve", modifiers = ["italic"] }
+"constant" = "salmon"
+"constant.numeric" = "salmon"
+"constant.character.escape" = "beaming-blue"
+"constant.builtin" = "synthetic-green"
+"constant.builtin.boolean" = "synthetic-green"
+"string" = "orange"
+"string.regexp" = "salmon"
+"variable" = "pelati-red"
+"variable.builtin" = { fg = "blood-red", modifiers = ["bold"] }
+"variable.parameter" = { fg = "jess-green", modifiers = ["italic"] }
+"type" = "blood-red"
+"constructor" = "blood-red"
+"function" = "beaming-blue"
+"keyword" = "neon-yellow"
+"keyword.control" = "neon-yellow"
+"keyword.control.import" = "jade"
+"keyword.operator" = "neon-yellow"
+"keyword.directive" = "jade"
+"keyword.storage.type" = "neon-yellow"
+"keyword.storage.modifier" = "neon-yellow"
+
+# "label" = "neon-yellow"
+"namespace" = "blood-red"
+"operator" = "neon-yellow"
+# "special" = "beaming-blue"
+
+"punctuation.bracket" = "neon-yellow"
+"tag" = "jade"
+"attribute" = { fg = "neon-yellow", modifiers = ["italic"] }
+
+"markup.heading" = { fg = "#ff7edb", modifiers = ["bold"] }
+"markup.bold" = { fg = "#2ee2fa", modifiers = ["bold"] }
+"markup.italic" = { fg = "#2ee2fa", modifiers = ["italic"] }
+"markup.link.url" = { fg = "jade", modifiers = ["italic"] }
+"markup.link.text" = "neon-yellow"
+"markup.quote" = { fg = "jade", modifiers = ["italic"] }
+"markup.raw" = "pelati-red"
+"markup.raw.inline" = "pelati-red"
+"markup.raw.block" = "pelati-red"
+
+# Git gutter
+"diff.plus.gutter" = "#47ffa0"
+"diff.minus.gutter" = "error"
+"diff.delta.gutter" = "info"
+
+# bufferline
+"ui.bufferline" = { fg = "grey", bg = "#000000"}
+"ui.bufferline.active" = { fg = "dark-grey", bg = "synth-red" }
+
+[palette]
+black = "#000000"
+white = "#ffffff"
+neon-yellow = "#fede5d"
+blood-red = "#fe4450"
+pelati-red = "#f73232"
+synth-red = "#ff3366"
+salmon = "#f97e72"
+beaming-blue = "#36f9f6"
+selection-blue = "#001069"
+synthetic-green = "#1afc65"
+jess-green = "#28b881"
+orange = "#ff8b39"
+jade = "#72f1b8"
+mauve = "#848bbd"
+grey = "#808080"
+dark-grey = "#141414"
+error = "#ff5252"
+warning = "#ffab40"
+info = "#40c4ff"
+
diff --git a/vendor/themes/dark_high_contrast.toml b/vendor/themes/dark_high_contrast.toml
new file mode 100644
index 00000000..51fadd39
--- /dev/null
+++ b/vendor/themes/dark_high_contrast.toml
@@ -0,0 +1,123 @@
+# GreasySlug : dark high contrast <[email protected]>
+
+# Interface
+"ui.background" = { bg = "black" }
+"ui.window" = { fg = "aqua" }
+"special" = "orange" # file picker fuzzy match
+"ui.background.separator" = { fg = "white" }
+"ui.text" = "white"
+"ui.text.focus" = { modifiers = ["reversed"] } # file picker selected
+
+"ui.virtual.jump-label" = { fg = "deep_red", modifiers = [
+ "bold",
+], underline = { color = "deep_red", style = "line" } }
+"ui.virtual" = "gray"
+"ui.virtual.whitespace" = "gray"
+"ui.virtual.ruler" = { fg = "white", bg = "gray" }
+"ui.virtual.indent-guide" = "white"
+"ui.virtual.inlay-hint" = { fg = "black", bg = "orange" }
+"ui.virtual.inlay-hint.parameter" = { fg = "black", bg = "orange" }
+"ui.virtual.inlay-hint.type" = { fg = "black", bg = "orange" }
+"ui.virtual.wrap" = "gray"
+
+"ui.statusline" = { fg = "white", bg = "deep_blue" }
+"ui.statusline.inactive" = { fg = "gray", bg = "deep_blue" }
+"ui.statusline.normal" = { fg = "black", bg = "aqua" }
+"ui.statusline.insert" = { fg = "black", bg = "orange" }
+"ui.statusline.select" = { fg = "black", bg = "purple" }
+"ui.statusline.separator" = { fg = "aqua", bg = "white" }
+
+"ui.cursor" = { fg = "black", bg = "white" }
+"ui.cursor.insert" = { fg = "black", bg = "white" }
+"ui.cursor.select" = { fg = "black", bg = "white" }
+"ui.cursor.match" = { modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "black", bg = "white", modifiers = ["slow_blink"] }
+"ui.cursor.secondary" = "white"
+"ui.cursorline.primary" = { bg = "deep_blue", underline = { color = "orange", style = "double_line" } }
+"ui.cursorline.secondary" = { bg = "dark_blue", underline = { color = "white", style = "line" } }
+"ui.selection" = { fg = "dark_blue", bg = "white" }
+"ui.selection.primary" = { fg = "deep_blue", bg = "white" }
+
+"ui.menu" = { fg = "white", bg = "deep_blue" }
+"ui.menu.selected" = { fg = "orange", underline = { style = "line" } }
+"ui.menu.scroll" = { fg = "aqua", bg = "black" }
+"ui.help" = { fg = "white", bg = "deep_blue" }
+
+"ui.popup" = { bg = "deep_blue" }
+"ui.popup.info" = { fg = "white", bg = "deep_blue" }
+
+"ui.gutter" = { bg = "black" }
+"ui.gutter.selected" = { bg = "black" }
+"ui.linenr" = { fg = "white", bg = "black" }
+"ui.linenr.selected" = { fg = "orange", bg = "black", modifiers = ["bold"] }
+
+# Diagnostic
+"diagnostic" = { fg = "white" }
+"diagnostic.info" = { underline = { color = "white", style = "dotted" } }
+"diagnostic.hint" = { underline = { color = "yellow", style = "dashed" } }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"info" = "white"
+"hint" = "yellow"
+"warning" = "orange"
+"error" = "red"
+"debug" = "red"
+
+"diff.plus" = "green"
+"diff.delta" = "blue"
+"diff.minus" = "pink"
+
+# Syntax high light
+"type" = "emerald_green"
+"type.buildin" = "emerald_green"
+"comment" = "white"
+"operator" = "white"
+"variable" = "aqua"
+"variable.other.member" = "brown"
+"constant" = "aqua"
+"constant.numeric" = "emerald_green"
+"attributes" = "blue"
+"namespace" = "blue"
+"string" = "brown"
+"string.special.url" = "brown"
+"constant.character.escape" = "yellow"
+"constructor" = "aqua"
+"keyword" = "blue"
+"keyword.control" = "purple"
+"function" = "yellow"
+"label" = "blue"
+"tag" = "aqua"
+"attribute" = "blue"
+
+# Markup
+"markup.heading" = { fg = "yellow", modifiers = [
+ "bold",
+], underline = { color = "yellow", style = "double_line" } }
+"markup.list" = "pink"
+"markup.bold" = { fg = "emerald_green", modifiers = ["bold"] }
+"markup.italic" = { fg = "blue", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "blue", underline = { color = "blue", style = "line" } }
+"markup.link.text" = "pink"
+"markup.quote" = "yellow"
+"markup.raw" = "brown"
+
+[palette]
+black = "#000000"
+gray = "#585858"
+white = "#ffffff"
+blue = "#66a4ff"
+deep_blue = "#142743"
+dark_blue = "#0d1a2d"
+aqua = "#6fc3df"
+purple = "#c586c0"
+red = "#b65f5f"
+deep_red = "#fd0004"
+pink = "#ff5c8d"
+orange = "#f38518"
+brown = "#ce9178"
+yellow = "#cedc84"
+green = "#427a2d"
+emerald_green = "#4ec9b0"
diff --git a/vendor/themes/dark_plus.toml b/vendor/themes/dark_plus.toml
new file mode 100644
index 00000000..fcb25e77
--- /dev/null
+++ b/vendor/themes/dark_plus.toml
@@ -0,0 +1,138 @@
+# Author: David Else <[email protected]>
+
+# SYNTAX
+"attribute" = "variable"
+"comment" = "dark_green"
+"constant" = "constant"
+"constant.builtin" = "blue2"
+"constant.character" = "orange"
+"constant.character.escape" = "gold"
+"constant.numeric" = "pale_green"
+"constructor" = "type"
+"diff.delta" = "blue4"
+"diff.minus" = "orange_red"
+"diff.plus" = "dark_green2"
+"function" = "fn_declaration"
+"function.builtin" = "fn_declaration"
+"function.macro" = "blue2"
+"keyword" = "blue2"
+"keyword.control" = "special"
+"keyword.directive" = "special"
+"label" = "blue2"
+"module" = "type"
+"namespace" = "type"
+"operator" = "text"
+"punctuation" = "text"
+"punctuation.delimiter" = "text"
+"special" = "light_blue"
+"string" = "orange"
+"string.regexp" = "gold"
+"tag" = "blue2"
+"type" = "type"
+"type.builtin" = "type"
+"type.enum.variant" = "constant"
+"variable" = "variable"
+"variable.mutable" = { fg = "variable", underline.style= "line" }
+"variable.builtin" = "blue2"
+"variable.builtin.mutable" = { fg = "blue2", underline.style= "line" }
+"variable.other.member" = "variable"
+"variable.parameter" = "variable"
+"variable.parameter.mutable" = { fg = "variable", underline.style= "line" }
+
+# MARKUP
+"markup.heading" = { fg = "blue2", modifiers = ["bold"] }
+"markup.list" = "blue3"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { underline.style= "line" }
+"markup.link.text" = "orange"
+"markup.quote" = "dark_green"
+"markup.raw" = "orange"
+
+# UI
+"ui.background" = { fg = "light_gray", bg = "dark_gray2" }
+"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 = "dark_blue2" }
+# TODO: Alternate bg colour for `ui.cursor.match` and `ui.selection`.
+"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "#3a3d41", underline.style = "line" }
+"ui.selection" = { bg = "#3a3d41" }
+"ui.selection.primary" = { bg = "dark_blue" }
+"ui.linenr" = { fg = "dark_gray" }
+"ui.linenr.selected" = { fg = "light_gray2" }
+"ui.cursorline.primary" = { bg = "dark_gray3" }
+"ui.statusline" = { fg = "white", bg = "blue" }
+"ui.statusline.inactive" = { fg = "white", bg = "widget" }
+"ui.statusline.insert" = { fg = "white", bg = "yellow" }
+"ui.statusline.select" = { fg = "white", bg = "magenta" }
+"ui.bufferline" = { fg = "text", bg = "widget" }
+"ui.bufferline.active" = { fg = "white", bg = "blue" }
+"ui.bufferline.background" = { bg = "background" }
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "white" }
+"ui.text.directory" = { fg = "blue2" }
+"ui.text.inactive" = { fg = "dark_gray" }
+"ui.virtual.whitespace" = { fg = "#3e3e3d" }
+"ui.virtual.wrap" = { fg = "#3e3e3d" }
+"ui.virtual.ruler" = { bg = "borders" }
+"ui.virtual.indent-guide" = { fg = "dark_gray4" }
+"ui.virtual.inlay-hint" = { fg = "dark_gray5"}
+"ui.virtual.jump-label" = { fg = "yellow", modifiers = ["bold"] }
+"ui.highlight.frameline" = { bg = "#4b4b18" }
+"ui.debug.active" = { fg = "#ffcc00" }
+"ui.debug.breakpoint" = { fg = "#e51400" }
+"ui.picker.header.column" = { underline.style = "line" }
+"ui.picker.header.column.active" = { fg ="white", underline.style = "line" }
+"warning" = { fg = "gold2" }
+"error" = { fg = "red" }
+"info" = { fg = "light_blue" }
+"hint" = { fg = "light_gray3" }
+"diagnostic.error".underline = { color = "red", style = "curl" }
+"diagnostic".underline = { color = "gold", style = "curl" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+rainbow = ["#FFD700", "#DA70D6", "#179FFF"]
+
+[palette]
+white = "#ffffff"
+orange = "#ce9178"
+gold = "#d7ba7d"
+gold2 = "#cca700"
+pale_green = "#b5cea8"
+dark_green = "#6A9955"
+dark_green2 = "#487e02"
+light_gray = "#d4d4d4"
+light_gray2 = "#c6c6c6"
+light_gray3 = "#eeeeee"
+dark_gray = "#858585"
+dark_gray2 = "#1e1e1e"
+dark_gray3 = "#282828"
+dark_gray4 = "#404040"
+dark_gray5 = "#8b949e"
+blue = "#007acc"
+blue2 = "#569CD6"
+blue3 = "#6796E6"
+blue4 = "#1b81a8"
+light_blue = "#75beff"
+dark_blue = "#264f78"
+dark_blue2 = "#094771"
+red = "#ff1212"
+orange_red = "#f14c4c"
+
+type = "#4EC9B0"
+special = "#C586C0"
+variable = "#9CDCFE"
+fn_declaration = "#DCDCAA"
+constant = "#4FC1FF"
+
+background = "#1e1e1e"
+text = "#d4d4d4"
+cursor = "#a6a6a6"
+widget = "#252526"
+borders = "#323232"
diff --git a/vendor/themes/doom-one.LICENSE b/vendor/themes/doom-one.LICENSE
new file mode 100644
index 00000000..1d0112f1
--- /dev/null
+++ b/vendor/themes/doom-one.LICENSE
@@ -0,0 +1,23 @@
+MIT License
+
+Copyright (c) 2025 NTBBloodbath
+
+This theme has been ported by spentbliss <[email protected]>.
+
+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/doom-one.toml b/vendor/themes/doom-one.toml
new file mode 100644
index 00000000..60dbd874
--- /dev/null
+++ b/vendor/themes/doom-one.toml
@@ -0,0 +1,127 @@
+# Author: spentbliss <[email protected]>
+# License: MIT (originally by NTBBloodbath)
+
+"ui.background" = { bg = "bg", fg = "fg" }
+"ui.text" = "fg"
+"ui.text.focus" = { bg = "bg_highlight", fg = "cyan" }
+"ui.cursor" = { bg = "cyan", fg = "bg" }
+"ui.linenr" = "grey"
+"ui.linenr.selected" = "yellow"
+"ui.statusline" = { fg = "blue" }
+"ui.selection" = { bg = "bg_highlight" }
+"ui.selection.primary" = { bg = "bg_highlight" }
+"ui.virtual.ruler" = { bg = "bg_highlight" }
+"ui.virtual.jump-label" = { fg = "cyan", modifiers = ["bold"] }
+
+# Markdown Highlighting
+"markup.raw" = { fg = "blue", bg = "bg" }
+"markup.raw.inline" = { fg = "orange" }
+"markup.heading.1" = { fg = "#E99BEA", bg = "#4F4258"}
+"markup.heading.2" = { fg = "#51AFEF", bg = "#2F4456" }
+"markup.heading.3" = { fg = "#A9A1E1", bg = "#3F4153" }
+"markup.heading.4" = { fg = "#98BE65", bg = "#3C453D" }
+"markup.heading.5" = { fg = "#ECBE7B", bg = "#4B4641" }
+"markup.heading.6" = { fg = "#DA8549", bg = "#483C39" }
+"markup.list" = { fg = "magenta" }
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange" }
+"markup.strikethrough" = { fg = "red", modifiers = ["crossed_out"] }
+"markup.link" = { fg = "cyan" }
+"markup.quote" = { fg = "fg" }
+
+# Syntax Highlighting for Code
+"comment" = { fg = "grey" }
+"comment.line" = { fg = "grey" }
+"comment.block" = { fg = "grey" }
+"comment.documentation" = { fg = "blue" }
+
+"keyword" = "blue"
+"keyword.control" = "blue"
+"keyword.operator" = "fg"
+"keyword.function" = "blue"
+"keyword.directive" = "green"
+"keyword.storage" = "blue"
+
+"type" = "yellow"
+"type.builtin" = "yellow"
+"type.enum.variant" = "purple"
+
+"function" = "magenta"
+"function.builtin" = "fg"
+"function.method" = "fg"
+"function.macro" = "purple"
+
+"variable" = "fg"
+"variable.builtin" = "red"
+"variable.parameter" = "fg"
+
+"string" = "green"
+"string.special" = "green"
+
+"constant" = "orange"
+"constant.builtin" = "orange"
+"constant.numeric" = "orange"
+"constant.character" = "orange"
+"constant.boolean" = "orange"
+
+"attribute" = "magenta"
+"operator" = "blue"
+"tag" = { fg = "magenta", modifiers = ["bold"] }
+"tag.special" = { fg = "orange", modifiers = ["bold"] }
+"namespace" = "blue"
+"macro" = "orange"
+"label" = "red"
+
+# Interface specific
+"ui.cursorline.primary" = { bg = "bg_highlight" }
+"ui.cursorline.secondary" = { bg = "bg_alt" }
+"ui.cursorcolumn.primary" = { bg = "bg_highlight" }
+"ui.cursorcolumn.secondary" = { bg = "bg_alt" }
+"ui.statusline.normal" = { fg = "bg", bg = "blue" }
+"ui.statusline.insert" = { fg = "bg", bg = "green" }
+"ui.statusline.select" = { fg = "bg", bg = "purple" }
+
+# Git changes indicator
+"diff.plus" = "green"
+"diff.plus.gutter" = "green"
+"diff.minus" = "red"
+"diff.minus.gutter" = "red"
+"diff.delta" = "green"
+"diff.delta.gutter" = "green"
+"diff.delta.moved" = "orange"
+"diff.delta.conflict" = "purple"
+
+# Diagnostic styles
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+"info" = { fg = "cyan", modifiers = ["bold"] }
+"hint" = { fg = "blue", modifiers = ["bold"] }
+"diagnostic.error" = { fg = "red" }
+"diagnostic.warning" = { fg = "yellow" }
+"diagnostic.info" = { fg = "cyan" }
+"diagnostic.hint" = { fg = "blue" }
+
+# Popups for documentation or file picker
+"ui.popup" = { fg = "fg", bg = "bg" }
+"ui.popup.info" = { fg = "fg", bg = "bg_alt" }
+"ui.menu" = { fg = "fg", bg = "bg" }
+"ui.menu.selected" = { fg = "cyan", bg = "bg_highlight" }
+
+# Additional overrides
+"ui.virtual.whitespace" = "grey"
+"ui.virtual.indent-guide" = { fg = "grey" }
+
+[palette]
+bg = "#282C34"
+fg = "#BBC2CF"
+grey = "#5B6268"
+blue = "#51AFEF"
+green = "#98BE65"
+cyan = "#46D9FF"
+red = "#FF6C6B"
+yellow = "#ECBE7B"
+purple = "#A8A1E1"
+magenta = "#C678DD"
+orange = "#DA8548"
+bg_alt = "#21242B"
+bg_highlight = "#3C4048"
diff --git a/vendor/themes/doom_acario_dark.toml b/vendor/themes/doom_acario_dark.toml
new file mode 100644
index 00000000..98265bb7
--- /dev/null
+++ b/vendor/themes/doom_acario_dark.toml
@@ -0,0 +1,105 @@
+# Author : Luna <[email protected]>
+#
+# This was made based on
+# https://github.com/doomemacs/themes/blob/master/themes/doom-acario-dark-theme.el
+# I've done my best to make it look like the Emacs theme, there are still things that looks different from the original.
+# But I've decided to keep it like that as I found it to be easier to read when there's a lot going on i.e lots of variables, strings and functions close to each other.
+
+'attribute' = { fg = 'blue' }
+'comment' = { fg = 'gray', modifiers = ['italic'] }
+'comment.block' = { fg = 'green', modifiers = ['italic'] }
+'comment.block.documentation' = { fg = 'green', modifiers = ['italic'] }
+'comment.line.documentation' = { fg = 'green', modifiers = ['italic'] }
+'constant' = { fg = 'magenta' }
+'constant.numeric' = { fg = 'orange' }
+'constructor' = { fg = 'red' }
+'function' = { fg = 'yellow' }
+'function.builtin' = { fg = 'blue' }
+'function.method' = { fg = 'white' }
+'keyword' = { fg = 'red' }
+'label' = { fg = 'green' }
+'namespace' = { fg = 'white' }
+'operator' = { fg = 'blue' }
+'punctuation.bracket' = { fg = 'blue' }
+'punctuation.delimiter' = { fg = 'white', modifiers = ['bold'] }
+'string' = { fg = 'green' }
+'tag' = { fg = 'cyan' }
+'type' = { fg = 'blue' }
+'variable' = { fg = 'cyan' }
+'variable.parameter' = { fg = 'white' }
+
+'markup.bold' = { fg = 'orange', modifiers = ['bold'] }
+'markup.italic' = { fg = 'magenta', modifiers = ['italic'] }
+'markup.strikethrough' = { modifiers = ['crossed_out'] }
+'markup.heading' = { fg = 'red' }
+'markup.link' = { fg = 'orange' }
+'markup.link.url' = { fg = 'magenta' }
+'markup.link.text' = { fg = 'orange' }
+'markup.link.label' = { fg = 'green' }
+'markup.list' = { fg = 'red' }
+'markup.quote' = { fg = 'green', modifiers = ['italic'] }
+'markup.raw.block' = { fg = 'green', bg = 'base4' }
+'markup.raw.inline' = { fg = 'green', bg = 'base4' }
+
+'diff.plus' = { fg = 'green' }
+'diff.minus' = { fg = 'red' }
+'diff.delta' = { fg = 'blue' }
+
+'ui.background'= { bg = 'bg' }
+'ui.cursor' = { bg = 'orange', fg = 'bg-alt' }
+'ui.cursor.match' = { fg = 'red', modifiers = ['bold'] }
+'ui.cursorline' = { bg = 'bg-alt' }
+'ui.linenr' = { fg = 'base4' }
+'ui.linenr.selected' = { fg = 'orange', bg = 'bg-alt', modifiers = ['bold'] }
+'ui.statusline' = { fg = 'fg', bg = 'base3' }
+'ui.statusline.normal' = { bg = 'base3' }
+'ui.statusline.insert' = { bg = 'base3' }
+'ui.statusline.select' = { bg = 'base3' }
+'ui.bufferline' = { fg = 'gray', bg = 'base2' }
+'ui.bufferline.active' = { fg = 'white', bg = 'base4' }
+'ui.bufferline.background' = { bg = 'bg' }
+'ui.popup' = { bg = 'bg-alt' }
+'ui.window' = { fg = 'gray' }
+'ui.help' = { fg = 'fg', bg = 'base2' }
+'ui.text' = { fg = 'fg' }
+'ui.text.focus' = { bg = 'bg-alt', fg = 'fg' }
+'ui.text.info' = { fg = 'fg' }
+'ui.virtual.whitespace' = { fg = 'base2' }
+'ui.virtual.ruler' = { bg = 'black' }
+'ui.menu' = { fg = 'fg', bg = 'bg-alt' }
+'ui.menu.selected' = { bg = 'base3', fg = 'fg' }
+'ui.selection' = { bg = 'base2' }
+
+'warning' = { fg = 'orange' }
+'error' = { fg = 'red', modifiers = ['bold'] }
+'info' = { fg = 'blue', modifiers = ['bold'] }
+'hint' = { fg = 'blue', modifiers = ['bold'] }
+
+'diagnostic.hint'= { underline = { color = 'red', style = "curl"} }
+'diagnostic.error'= { underline = { color = 'red', style = "curl"} }
+'diagnostic.info'= { underline = { color = 'blue', style = "curl"} }
+'diagnostic.warning'= { underline = { color = 'yellow', style = "curl"} }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+'special' = { fg = 'orange' }
+
+[palette]
+white = '#ffffff'
+black = '#000000'
+red = '#D83441'
+green = '#79D836'
+blue = '#3679D8'
+yellow = '#D8B941'
+magenta = '#8041D8'
+cyan = '#36D8BD'
+gray = '#767676'
+orange = '#D85F00'
+
+# Custom to doom
+bg = '#0D0E16'
+bg-alt = '#040408'
+fg = '#C3DBE5'
+base2 = '#1E1E33'
+base3 = '#464A56'
+base4 = '#585C6C'
diff --git a/vendor/themes/dracula_at_night.toml b/vendor/themes/dracula_at_night.toml
new file mode 100644
index 00000000..ac75199d
--- /dev/null
+++ b/vendor/themes/dracula_at_night.toml
@@ -0,0 +1,77 @@
+# Author : Sam Sartor <[email protected]>
+# A port of https://github.com/bceskavich/dracula-at-night
+"comment" = { fg = "comment" }
+"constant" = { fg = "purple" }
+"constant.character.escape" = { fg = "pink" }
+"function" = { fg = "green" }
+"keyword" = { fg = "pink" }
+"operator" = { fg = "pink" }
+"punctuation" = { fg = "foreground" }
+"string" = { fg = "yellow" }
+"string.regexp" = { fg = "red" }
+"tag" = { fg = "pink" }
+"type" = { fg = "cyan", modifiers = ["italic"] }
+"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] }
+"variable" = { fg = "foreground" }
+"variable.builtin" = { fg = "cyan", modifiers = ["italic"] }
+"variable.parameter" = { fg ="orange", modifiers = ["italic"] }
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.cursor" = { fg = "background", bg = "orange", modifiers = ["dim"] }
+"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] }
+"ui.cursor.primary" = { fg = "background", bg = "cyan", modifiers = ["dim"] }
+"ui.help" = { fg = "foreground", bg = "background_dark" }
+"ui.debug" = { fg = "red" }
+"ui.highlight.frameline" = { fg = "black", bg = "red" }
+"ui.linenr" = { fg = "comment" }
+"ui.linenr.selected" = { fg = "foreground" }
+"ui.menu" = { fg = "foreground", bg = "background_dark" }
+"ui.menu.selected" = { fg = "cyan", bg = "background_dark" }
+"ui.popup" = { fg = "foreground", bg = "background_dark" }
+"ui.selection" = { fg = "background", bg = "purple", modifiers = ["dim"] }
+"ui.selection.primary" = { fg = "background", bg = "pink" }
+"ui.cursorline" = { bg = "background_dark" }
+"ui.statusline" = { fg = "foreground", bg = "background_dark" }
+"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" }
+"ui.statusline.normal" = { fg = "background_dark", bg = "cyan" }
+"ui.statusline.insert" = { fg = "background_dark", bg = "green" }
+"ui.statusline.select" = { fg = "background_dark", bg = "purple" }
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "cyan" }
+"ui.text.directory" = { fg = "cyan" }
+"ui.window" = { fg = "foreground" }
+"ui.virtual.jump-label" = { fg = "pink", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "background_dark" }
+
+"error" = { fg = "red" }
+"warning" = { fg = "cyan" }
+
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "cyan"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "pink"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+
+[palette]
+background = "#0e1419"
+background_dark = "#21222c"
+foreground = "#f8f8f2"
+comment = "#6272a4"
+red = "#ff5555"
+orange = "#ffb86c"
+yellow = "#f1fa8c"
+green = "#50fa7b"
+purple = "#bd93f9"
+cyan = "#8be9fd"
+pink = "#ff79c6"
diff --git a/vendor/themes/earl_grey.toml b/vendor/themes/earl_grey.toml
new file mode 100644
index 00000000..d4d8f9f5
--- /dev/null
+++ b/vendor/themes/earl_grey.toml
@@ -0,0 +1,64 @@
+# Author : Steven Vancoillie <[email protected]>
+#
+# Migraine-friendly, minimal color scheme focused only on structural elements
+# like types, functions, and keywords.
+
+"comment" = { modifiers = ["dim"] }
+"diagnostic.error" = { underline = { color = "blush", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "sky", style = "curl" } }
+"diagnostic.info" = { underline = { color = "grey", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "maple", style = "curl" } }
+"diff.delta" = "silver"
+"diff.minus" = "blush"
+"diff.plus" = "jade"
+"error" = "blush"
+"function" = { modifiers = ["bold"] }
+"hint" = "sky"
+"info" = "grey"
+"keyword" = "earl"
+"type" = "maple"
+"ui.background" = { bg = "chaotica" }
+"ui.background.separator" = { fg = "snow" }
+"ui.cursor" = { fg = "black", bg = "earl" }
+"ui.cursorline.primary" = { bg = "deepspace" }
+"ui.help" = { bg = "deepspace", fg = "snow" }
+"ui.highlight" = { bg = "space" }
+"ui.linenr" = { fg = "grey" }
+"ui.linenr.selected" = { fg = "earl" }
+"ui.menu" = { fg = "snow", bg = "deepspace" }
+"ui.menu.scroll" = { fg = "grey", bg = "deepspace" }
+"ui.menu.selected" = { fg = "snow", bg = "lacquer" }
+"ui.popup" = { bg = "deepspace" }
+"ui.selection" = { bg = "lacquer" }
+"ui.statusline" = { fg = "earl", bg = "deepspace" }
+"ui.statusline.inactive" = { fg = "snow", bg = "deepspace", modifiers = ["dim"] }
+"ui.statusline.insert" = { fg = "chaotica", bg = "earl", modifiers = ["bold"] }
+"ui.statusline.normal" = { fg = "chaotica", bg = "sky", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "chaotica", bg = "myrtle", modifiers = ["bold"] }
+"ui.text" = { fg = "silver" }
+"ui.text.focus" = { fg = "snow" }
+"ui.virtual" = { fg = "space" }
+"ui.virtual.indent-guide" = { fg = "space" }
+"ui.virtual.inlay-hint" = { fg = "lacquer" }
+"ui.virtual.jump-label" = { fg = "myrtle" }
+"ui.virtual.ruler" = { bg = "space" }
+"ui.window" = { fg = "space" }
+"warning" = "maple"
+
+[palette]
+black = "#000000"
+chaotica = "#101010"
+deepspace = "#1b1b1b"
+space = "#2a2a2d"
+lacquer = "#3e3e3e"
+darkgrey = "#505050"
+grey = "#808080"
+silver = "#a6a6a6"
+snow = "#f0f0f0"
+white = "#ffffff"
+blush = "#e78284"
+jade = "#90b99f"
+earl = "#b59efc"
+sky = "#99bbe0"
+myrtle = "#e29eca"
+maple = "#e5c890"
diff --git a/vendor/themes/eiffel.toml b/vendor/themes/eiffel.toml
new file mode 100644
index 00000000..9d499c16
--- /dev/null
+++ b/vendor/themes/eiffel.toml
@@ -0,0 +1,181 @@
+## Author: mesmere <[email protected]>
+## Original design by Ian Joyner
+
+"attribute" = { fg = "markup", modifiers = ["italic"] }
+"comment" = "comments"
+"comment.block" = "comments"
+"comment.block.documentation" = "comments"
+"comment.line" = "comments"
+"comment.line.documentation" = "comments"
+#"constant" = ""
+"constant.builtin" = { fg = "builtins", modifiers = ["italic"] }
+"constant.character" = "strings"
+"constant.character.escape" = "symbols"
+"constant.numeric" = { fg = "constants_numeric", modifiers = ["italic"] }
+"constructor" = { modifiers = ["italic"] }
+"function" = { fg = "members" }
+"function.builtin" = "builtins"
+"function.macro" = "preprocessor"
+"function.method" = { fg = "members", modifiers = ["italic"] }
+#"function.method.private" = ""
+"function.special" = "preprocessor"
+"keyword" = { fg = "ui_text" }
+"keyword.control" = { fg = "keywords", modifiers = ["bold"] }
+"keyword.directive" = { fg = "preprocessor", modifiers = ["bold"] }
+#"keyword.function" = ""
+"keyword.operator" = { fg = "operators", modifiers = ["italic"] }
+#"keyword.storage" = ""
+#"label" = ""
+#"namespace" = ""
+"operator" = { fg = "operators", modifiers = ["bold"] }
+#"punctuation" = ""
+#"punctuation.bracket" = ""
+#"punctuation.delimiter" = ""
+"punctuation.special" = "strings"
+#"special" = ""
+"string" = "strings"
+"string.regexp" = "symbols"
+"string.special" = "symbols"
+"tag" = "markup"
+"type" = { modifiers = ["italic"] }
+#"type.builtin" = ""
+#"type.enum" = ""
+#"type.parameter" = ""
+#"variable" = ""
+"variable.builtin" = "builtins"
+"variable.other.member" = { fg = "members", modifiers = ["italic"] }
+#"variable.other.member.private" = ""
+#"variable.parameter" = ""
+"markup" = "markup"
+"markup.heading" = { fg = "markup_headings", modifiers = ["bold"] }
+#"markup.heading.marker" = ""
+"markup.list" = "markup_lists"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "strings", underline.style = "line" } # Match HTML href/src attributes.
+#"markup.link.label" = ""
+"markup.link.text" = "ui_text"
+"markup.quote" = { fg = "black", modifiers = ["italic"] }
+"markup.raw" = "strings"
+#"markup.raw.inline" = ""
+#"markup.raw.block" = ""
+
+"diff.delta" = "diff_delta"
+"diff.minus" = "diff_minus"
+"diff.plus" = "diff_plus"
+
+"ui.background" = { bg = "ui_background" }
+#"ui.background.separator" = ""
+"ui.bufferline" = { fg = "ui_text_dim", bg = "ui_background_accent" }
+"ui.bufferline.active" = { fg = "ui_text", bg = "ui_background_accent" }
+"ui.bufferline.background" = { bg = "ui_background_accent" }
+#"ui.cursor" = { modifiers = ['reversed'] }
+"ui.cursor.insert" = { bg = "ui_mode_insert_accent" }
+"ui.cursor.match" = { modifiers = ['reversed'] }
+"ui.cursor.normal" = { bg = "ui_mode_normal_accent" }
+"ui.cursor.select" = { bg = "ui_mode_select_accent" }
+#"ui.cursor.primary" = ""
+"ui.cursor.primary.insert" = { bg = "ui_mode_insert" }
+#"ui.cursor.primary.match" = ""
+"ui.cursor.primary.normal" = { bg = "ui_mode_normal" }
+"ui.cursor.primary.select" = { bg = "ui_mode_select" }
+"ui.cursorcolumn.primary" = { bg = "ui_background_accent" }
+#"ui.cursorcolumn.secondary" = ""
+"ui.cursorline.primary" = { bg = "ui_background_accent" }
+#"ui.cursorline.secondary" = ""
+"ui.debug.active" = { fg = "ui_debug_breakpoint" }
+"ui.debug.breakpoint" = { fg = "ui_debug_breakpoint" }
+"ui.gutter" = { bg = "ui_background" }
+"ui.gutter.selected" = { bg = "ui_background_accent" }
+"ui.help" = { fg = "ui_text", bg = "ui_menu" }
+"ui.highlight" = { fg = "ui_highlight_line_text", bg = "ui_highlight_line" } # fg is not respected https://github.com/helix-editor/helix/issues/11141
+"ui.highlight.frameline" = { fg = "ui_highlight_line_text", bg = "ui_highlight_line" }
+"ui.linenr" = "ui_text_dim"
+"ui.linenr.selected" = { fg = "ui_text_dim", bg = "ui_background_accent" }
+"ui.menu" = { fg = "ui_menu_text", bg = "ui_menu" }
+"ui.menu.scroll" = { fg = "ui_menu_handle", bg = "ui_menu_selected" }
+"ui.menu.selected" = { fg = "ui_text", bg = "ui_menu_selected" }
+#"ui.picker" = { fg = "ui_text", bg = "ui_menu" } # Styling the picker is currently unsupported.
+"ui.picker.header" = { bg = "ui_background_accent" }
+"ui.picker.header.column" = "ui_text"
+"ui.picker.header.column.active" = { fg = "ui_text", modifiers = ["bold"], underline = { style = "line" } }
+"ui.popup" = { fg = "ui_text", bg = "ui_background_accent" }
+"ui.popup.info" = { fg = "ui_text", bg = "ui_menu" }
+"ui.selection" = { bg = "ui_selection" }
+#"ui.selection.primary" = { bg = "ui_selection", underline.style = "line" }
+"ui.statusline" = { fg = "ui_text", bg = "ui_background_accent" }
+#"ui.statusline.inactive" = { fg = "", bg = "" }
+"ui.statusline.insert" = { fg = "ui_mode_insert_text", bg = "ui_mode_insert", modifiers = ["bold"] }
+"ui.statusline.normal" = { fg = "ui_mode_normal_text", bg = "ui_mode_normal", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "ui_mode_select_text", bg = "ui_mode_select", modifiers = ["bold"] }
+"ui.text" = "ui_text"
+"ui.text.focus" = { fg = "ui_text", modifiers = ["bold"] }
+"ui.text.inactive" = "ui_text_dim"
+#"ui.text.info" = ""
+"ui.virtual.indent-guide" = "ui_text_dim"
+"ui.virtual.inlay-hint" = "ui_text_dim"
+#"ui.virtual.inlay-hint.parameter" = ""
+#"ui.virtual.inlay-hint.type" = ""
+"ui.virtual.jump-label" = { fg = "white", bg = "ui_jumplabel", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "ui_background_accent" }
+"ui.virtual.whitespace" = "ui_text_dim"
+"ui.virtual.wrap" = "ui_text_dim"
+"ui.window" = "ui_split_line"
+
+info = { fg = 'ui_diagnostic_info' }
+hint = { fg = 'ui_diagnostic_hint', modifiers = ['bold'] }
+warning = { fg = 'ui_diagnostic_warning', modifiers = ['bold'] }
+error = { fg = 'ui_diagnostic_error', modifiers = ['bold'] }
+
+"diagnostic.info" = { fg = "ui_diagnostic_info", underline = { style = "curl", color = "ui_diagnostic_info" } }
+"diagnostic.hint" = { fg = "ui_diagnostic_hint", underline = { style = "curl", color = "ui_diagnostic_hint" } }
+"diagnostic.warning" = { fg = "ui_diagnostic_warning", underline = { style = "curl", color = "ui_diagnostic_warning" } }
+"diagnostic.error" = { fg = "ui_diagnostic_error", underline = { style = "curl", color = "ui_diagnostic_error" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+builtins = "#585cf6"
+comments = "#00b418"
+constants_numeric = "#cd0000"
+diff_delta = "#0000a2"
+diff_minus = "#990000"
+diff_plus = "#00b418"
+keywords = "#0100b6"
+markup = "#1c02ff"
+markup_headings = "#0c07ff"
+markup_lists = "#b90690"
+members = "#0206ff"
+operators = "#0100b6"
+preprocessor = "#0c450d"
+strings = "#d80800"
+symbols = "#26b31a"
+ui_background = "#ffffff"
+ui_background_accent = "#ededed"
+ui_highlight_line = "#0100b6"
+ui_highlight_line_text = "#ffffff"
+ui_debug_breakpoint = "#990000"
+ui_diagnostic_error = "#990000"
+ui_diagnostic_hint = "#06960e"
+ui_diagnostic_info = "#808080"
+ui_diagnostic_warning = "#a0785a"
+ui_jumplabel = "#990000"
+ui_menu = "#c3dcff"
+ui_menu_selected = "#a3bcdf"
+ui_menu_handle = "#839cbf"
+ui_menu_text = "#000000"
+ui_mode_insert = "#009608"
+ui_mode_insert_accent = "#73e678"
+ui_mode_insert_text = "#ffffff"
+ui_mode_normal = "#444444"
+ui_mode_normal_accent = "#cccccc"
+ui_mode_normal_text = "#ffffff"
+ui_mode_select = "#000096"
+ui_mode_select_accent = "#7373e6"
+ui_mode_select_text = "#ffffff"
+ui_selection = "#c3dcff"
+ui_split_line = "#000000"
+ui_statusline = "#000000"
+ui_text = "#000000"
+ui_text_dim = "#808080"
diff --git a/vendor/themes/eldritch.toml b/vendor/themes/eldritch.toml
new file mode 100644
index 00000000..7ed590b0
--- /dev/null
+++ b/vendor/themes/eldritch.toml
@@ -0,0 +1,136 @@
+# Author : tangowithfoxtrot
+# Author : neonvoidx
+# Eldritch - a theme for the Ancient Ones
+
+"annotation" = { fg = "foreground" }
+"attribute" = { fg = "green", modifiers = ["italic"] }
+"comment" = { fg = "comment" }
+"comment.block.documentation" = { fg = "comment" }
+"comment.block" = { fg = "comment" }
+"comment.line" = { fg = "comment" }
+"constant" = { fg = "purple" }
+"constant.numeric" = { fg = "purple" }
+"constant.builtin" = { fg = "purple" }
+"constant.builtin.boolean" = { fg = "purple" }
+"constant.character" = { fg = "cyan" }
+"constant.character.escape" = { fg = "pink" }
+"constant.macro" = { fg = "purple" }
+"constructor" = { fg = "purple" }
+"function" = { fg = "green" }
+"function.builtin" = { fg = "green" }
+"function.method" = { fg = "green" }
+"function.macro" = { fg = "purple" }
+"function.call" = { fg = "green" }
+"keyword" = { fg = "pink" }
+"keyword.operator" = { fg = "pink" }
+"keyword.function" = { fg = "pink" }
+"keyword.return" = { fg = "pink" }
+"keyword.control.import" = { fg = "pink" }
+"keyword.directive" = { fg = "green" }
+"keyword.control.repeat" = { fg = "pink" }
+"keyword.control.conditional" = { fg = "pink" }
+"keyword.control.exception" = { fg = "purple" }
+"keyword.storage" = { fg = "pink" }
+"keyword.storage.type" = { fg = "cyan", modifiers = ["italic"] }
+"keyword.storage.modifier" = { fg = "pink" }
+"tag" = { fg = "pink" }
+"tag.attribute" = { fg = "purple" }
+"tag.delimiter" = { fg = "foreground" }
+"label" = { fg = "cyan" }
+"punctuation" = { fg = "foreground" }
+"punctuation.bracket" = { fg = "foreground" }
+"punctuation.delimiter" = { fg = "foreground" }
+"punctuation.special" = { fg = "pink" }
+"special" = { fg = "pink" }
+"string" = { fg = "yellow" }
+"string.special" = { fg = "orange" }
+"string.symbol" = { fg = "yellow" }
+"string.regexp" = { fg = "red" }
+"type.builtin" = { fg = "cyan" }
+"type" = { fg = "cyan", modifiers = ["italic"] }
+"type.enum.variant" = { fg = "foreground", modifiers = ["italic"] }
+"variable" = { fg = "foreground" }
+"variable.builtin" = { fg = "purple", modifiers = ["italic"] }
+"variable.parameter" = { fg = "orange", modifiers = ["italic"] }
+"variable.other" = { fg = "foreground" }
+"variable.other.member" = { fg = "foreground" }
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "red" }
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.cursor.match" = { fg = "foreground", bg = "grey", modifiers = ["bold"] }
+"ui.cursor" = { fg = "background", bg = "purple", modifiers = ["dim"] }
+"ui.cursor.normal" = { fg = "background", bg = "cyan", modifiers = ["dim"] }
+"ui.cursor.insert" = { fg = "background", bg = "green", modifiers = ["dim"] }
+"ui.cursor.select" = { fg = "background", bg = "yellow", modifiers = ["dim"] }
+"ui.cursor.primary.normal" = { fg = "background", bg = "cyan" }
+"ui.cursor.primary.insert" = { fg = "background", bg = "green" }
+"ui.cursor.primary.select" = { fg = "background", bg = "yellow" }
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.help" = { fg = "foreground", bg = "background" }
+"ui.debug" = { fg = "red" }
+"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.selected" = { fg = "current_line", bg = "purple", modifiers = ["dim"] }
+"ui.menu.scroll" = { fg = "foreground", bg = "current_line" }
+"ui.popup" = { fg = "foreground", bg = "background_dark" }
+"ui.selection.primary" = { bg = "current_line" }
+"ui.selection" = { bg = "selection" }
+"ui.statusline" = { fg = "foreground", bg = "darker" }
+"ui.statusline.inactive" = { fg = "comment", bg = "darker" }
+"ui.statusline.normal" = { fg = "black", bg = "cyan", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "black", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "black", bg = "yellow", modifiers = ["bold"] }
+"ui.text" = { fg = "foreground" }
+"ui.text.directory" = { fg = "blue" }
+"ui.text.focus" = { fg = "cyan" }
+"ui.window" = { fg = "foreground" }
+"ui.virtual.whitespace" = { fg = "current_line" }
+"ui.virtual.wrap" = { fg = "current_line" }
+"ui.virtual.ruler" = { bg = "black" }
+"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"] }
+"hint" = { fg = "purple", bg = "darker" }
+"error" = { fg = "red", bg = "darker" }
+"warning" = { fg = "yellow", bg = "darker" }
+"info" = { fg = "cyan", bg = "darker" }
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = { fg = "cyan" }
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "cyan" }
+"markup.link.text" = { fg = "pink" }
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+
+"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" } }
+"definition" = { underline = { color = "cyan" } }
+
+[palette]
+background = "#323449"
+background_dark = "#212337"
+foreground = "#ebfafa"
+comment = "#7081d0"
+cursorline = "#323449"
+current_line = "#3b4261"
+indent = "#6ce9ff"
+selection = "#323449"
+darker = "#212337"
+black = "#171928"
+grey = "#7081d0"
+red = "#f16c75"
+orange = "#ffb86c"
+yellow = "#f7c67f"
+green = "#37f499"
+purple = "#a48cf2"
+cyan = "#04d1f9"
+pink = "#f265b5"
diff --git a/vendor/themes/eldritch_transparent.toml b/vendor/themes/eldritch_transparent.toml
new file mode 100644
index 00000000..394f3ed4
--- /dev/null
+++ b/vendor/themes/eldritch_transparent.toml
@@ -0,0 +1,7 @@
+# Author : tangowithfoxtrot
+# Eldritch theme with a transparent background
+
+inherits = "eldritch"
+
+"ui.background" = { }
+"ui.popup" = { modifiers = ["italic"] }
diff --git a/vendor/themes/emacs.toml b/vendor/themes/emacs.toml
new file mode 100644
index 00000000..dfd55e07
--- /dev/null
+++ b/vendor/themes/emacs.toml
@@ -0,0 +1,642 @@
+# Ported by Yevgnen.
+
+"comment" = { fg = "firebrick" }
+"constant" = { fg = "dark_cyan" }
+"constant.builtin" = { fg = "dark_slate_blue" }
+"function" = { fg = "blue1" }
+"function.call" = { fg = "blue1" }
+"function.macro" = { fg = "dark_slate_blue" }
+"function.builtin" = { fg = "dark_slate_blue" }
+"function.special" = { fg = "dark_slate_blue" }
+"keyword" = { fg = "purple" }
+"operator" = { fg = "purple" }
+"punctuation" = { fg = "black" }
+"string" = { fg = "violetred4" }
+"string.special" = { fg = "violetred4", modifiers = ["bold"] }
+"type" = { fg = "forest_green" }
+"type.builtin" = { fg = "dark_slate_blue" }
+"constructor" = { fg = "forest_green" }
+"variable" = { fg = "sienna" }
+"variable.builtin" = { fg = "dark_slate_blue" }
+"variable.parameter" = { fg = "sienna" }
+"tag" = { fg = "blue1" }
+"label" = { fg = "dark_slate_blue" }
+"attribute" = { fg = "dark_slate_blue" }
+"namespace" = { fg = "dark_cyan" }
+"module" = { fg = "dark_cyan" }
+"special" = { fg = "blue1" }
+
+"markup.heading" = { fg = "gold", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "gray60" }
+"markup.heading.1" = { fg = "blue1" }
+"markup.heading.2" = { fg = "sienna" }
+"markup.heading.3" = { fg = "purple" }
+"markup.heading.4" = { fg = "firebrick" }
+"markup.heading.5" = { fg = "forest_green" }
+"markup.heading.6" = { fg = "dark_cyan" }
+"markup.list" = { fg = "black" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "royalblue3", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "royalblue3" }
+"markup.quote" = { fg = "gray60" }
+"markup.raw.inline" = { fg = "dark_cyan" }
+"markup.raw.block" = { fg = "dark_cyan" }
+
+"ui.background" = { fg = "black", bg = "white" }
+"ui.background.separator" = { fg = "black", bg = "white" }
+"ui.cursor" = { fg = "white", bg = "gray70" }
+"ui.cursor.primary" = { fg = "white", bg = "black" }
+"ui.cursor.match" = { fg = "black", bg = "turquoise" }
+"ui.cursor.select" = { fg = "white", bg = "black" }
+"ui.cursor.insert" = { fg = "red", bg = "black" }
+"ui.linenr" = { fg = "gray60" }
+"ui.linenr.selected" = { fg = "gray80" }
+"ui.statusline" = { fg = "black", bg = "gray75" }
+"ui.statusline.inactive" = { fg = "gray20", bg = "gray90" }
+"ui.bufferline" = { fg = "gray36", bg = "gray90", modifiers = ["underlined"] }
+"ui.bufferline.active" = { fg = "gray0", bg = "gray99" }
+"ui.bufferline.background" = { bg = "gray75" }
+"ui.popup" = { fg = "black", bg = "gray97" }
+"ui.popup.info" = { fg = "black", bg = "gray97" }
+"ui.window" = { fg = "black" }
+"ui.help" = { fg = "dark_red", bg = "cornsilk" }
+"ui.text" = { fg = "black" }
+"ui.text.focus" = { fg = "black", bg = "darkseagreen2" }
+"ui.menu" = { fg = "black", bg = "cornsilk" }
+"ui.menu.selected" = { fg = "dark_red", bg = "light_blue" }
+"ui.selection" = { bg = "lightgoldenrod1" }
+"ui.selection.primary" = { bg = "lightgoldenrod2" }
+# Malformed ANSI: highlight. See 'https://github.com/helix-editor/helix/issues/5709'
+# "ui.virtual.whitespace" = "highlight"
+"ui.virtual.ruler" = { bg = "gray95" }
+"ui.virtual.inlay-hint" = { fg = "gray75" }
+"ui.cursorline.primary" = { bg = "darkseagreen2" }
+"ui.cursorline.secondary" = { bg = "darkseagreen2" }
+
+"diff.plus" = { fg = "green3" }
+"diff.delta" = { fg = "orange2" }
+"diff.minus" = { fg = "red2" }
+
+"error" = { fg = "red1" }
+"warning" = { fg = "dark_orange" }
+"info" = { fg = "forest_green" }
+"hint" = { fg = "dark_cyan" }
+
+"diagnostic.error" = { underline = { color = "red1", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "dark_orange", style = "curl" } }
+"diagnostic.info" = { underline = { color = "forest_green", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "dark_cyan", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+black = "#000000"
+dim_gray = "#696969"
+dark_gray = "#a9a9a9"
+gray = "#bebebe"
+light_gray = "#d3d3d3"
+gainsboro = "#dcdcdc"
+white_smoke = "#f5f5f5"
+white = "#ffffff"
+red = "#ff0000"
+orange_red = "#ff4500"
+dark_orange = "#ff8c00"
+orange = "#ffa500"
+gold = "#ffd700"
+yellow = "#ffff00"
+chartreuse = "#7fff00"
+lawn_green = "#7cfc00"
+green = "#00ff00"
+spring_green = "#00ff7f"
+medium_spring_green = "#00fa9a"
+cyan = "#00ffff"
+deep_sky_blue = "#00bfff"
+blue = "#0000ff"
+medium_blue = "#0000cd"
+dark_violet = "#9400d3"
+dark_magenta = "#8b008b"
+magenta = "#ff00ff"
+dark_red = "#8b0000"
+brown = "#a52a2a"
+firebrick = "#b22222"
+indian_red = "#cd5c5c"
+light_coral = "#f08080"
+salmon = "#fa8072"
+light_salmon = "#ffa07a"
+tomato = "#ff6347"
+coral = "#ff7f50"
+dark_salmon = "#e9967a"
+rosy_brown = "#bc8f8f"
+sienna = "#a0522d"
+saddle_brown = "#8b4513"
+chocolate = "#d2691e"
+peru = "#cd853f"
+sandy_brown = "#f4a460"
+burlywood = "#deb887"
+tan = "#d2b48c"
+navajo_white = "#ffdead"
+wheat = "#f5deb3"
+dark_goldenrod = "#b8860b"
+goldenrod = "#daa520"
+light_goldenrod = "#eedd82"
+pale_goldenrod = "#eee8aa"
+cornsilk = "#fff8dc"
+dark_khaki = "#bdb76b"
+khaki = "#f0e68c"
+lemon_chiffon = "#fffacd"
+dark_olive_green = "#556b2f"
+olive_drab = "#6b8e23"
+yellow_green = "#9acd32"
+green_yellow = "#adff2f"
+light_green = "#90ee90"
+forest_green = "#228b22"
+dark_green = "#006400"
+lime_green = "#32cd32"
+pale_green = "#98fb98"
+dark_sea_green = "#8fbc8f"
+sea_green = "#2e8b57"
+medium_sea_green = "#3cb371"
+light_sea_green = "#20b2aa"
+medium_aquamarine = "#66cdaa"
+aquamarine = "#7fffd4"
+dark_cyan = "#008b8b"
+dark_turquoise = "#00ced1"
+medium_turquoise = "#48d1cc"
+turquoise = "#40e0d0"
+pale_turquoise = "#afeeee"
+powder_blue = "#b0e0e6"
+light_blue = "#add8e6"
+sky_blue = "#87ceeb"
+light_sky_blue = "#87cefa"
+cadet_blue = "#5f9ea0"
+steel_blue = "#4682b4"
+dark_slate_gray = "#2f4f4f"
+slate_gray = "#708090"
+light_slate_gray = "#778899"
+royal_blue = "#4169e1"
+dodger_blue = "#1e90ff"
+cornflower_blue = "#6495ed"
+light_steel_blue = "#b0c4de"
+dark_blue = "#00008b"
+navy = "#000080"
+midnight_blue = "#191970"
+dark_slate_blue = "#483d8b"
+slate_blue = "#6a5acd"
+medium_slate_blue = "#7b68ee"
+light_slate_blue = "#8470ff"
+medium_purple = "#9370db"
+blue_violet = "#8a2be2"
+purple = "#a020f0"
+dark_orchid = "#9932cc"
+medium_orchid = "#ba55d3"
+orchid = "#da70d6"
+thistle = "#d8bfd8"
+plum = "#dda0dd"
+violet = "#ee82ee"
+medium_violet_red = "#c71585"
+violet_red = "#d02090"
+pale_violet_red = "#db7093"
+maroon = "#b03060"
+deep_pink = "#ff1493"
+hot_pink = "#ff69b4"
+pink = "#ffc0cb"
+light_pink = "#ffb6c1"
+snow = "#fffafa"
+misty_rose = "#ffe4e1"
+seashell = "#fff5ee"
+peach_puff = "#ffdab9"
+linen = "#faf0e6"
+antique_white = "#faebd7"
+bisque = "#ffe4c4"
+papaya_whip = "#ffefd5"
+moccasin = "#ffe4b5"
+blanched_almond = "#ffebcd"
+old_lace = "#fdf5e6"
+floral_white = "#fffaf0"
+beige = "#f5f5dc"
+light_yellow = "#ffffe0"
+light_goldenrod_yellow = "#fafad2"
+ivory = "#fffff0"
+honeydew = "#f0fff0"
+mint_cream = "#f5fffa"
+light_cyan = "#e0ffff"
+azure = "#f0ffff"
+alice_blue = "#f0f8ff"
+lavender = "#e6e6fa"
+ghost_white = "#f8f8ff"
+lavender_blush = "#fff0f5"
+red4 = "#8b0000"
+red3 = "#cd0000"
+red2 = "#ee0000"
+red1 = "#ff0000"
+orangered4 = "#8b2500"
+orangered3 = "#cd3700"
+orangered2 = "#ee4000"
+orangered1 = "#ff4500"
+darkorange4 = "#8b4500"
+darkorange3 = "#cd6600"
+darkorange2 = "#ee7600"
+darkorange1 = "#ff7f00"
+orange4 = "#8b5a00"
+orange3 = "#cd8500"
+orange2 = "#ee9a00"
+orange1 = "#ffa500"
+gold4 = "#8b7500"
+gold3 = "#cdad00"
+gold2 = "#eec900"
+gold1 = "#ffd700"
+yellow4 = "#8b8b00"
+yellow3 = "#cdcd00"
+yellow2 = "#eeee00"
+yellow1 = "#ffff00"
+chartreuse4 = "#458b00"
+chartreuse3 = "#66cd00"
+chartreuse2 = "#76ee00"
+chartreuse1 = "#7fff00"
+green4 = "#008b00"
+green3 = "#00cd00"
+green2 = "#00ee00"
+green1 = "#00ff00"
+springgreen4 = "#008b45"
+springgreen3 = "#00cd66"
+springgreen2 = "#00ee76"
+springgreen1 = "#00ff7f"
+cyan4 = "#008b8b"
+cyan3 = "#00cdcd"
+cyan2 = "#00eeee"
+cyan1 = "#00ffff"
+turquoise4 = "#00868b"
+turquoise3 = "#00c5cd"
+turquoise2 = "#00e5ee"
+turquoise1 = "#00f5ff"
+deepskyblue4 = "#00688b"
+deepskyblue3 = "#009acd"
+deepskyblue2 = "#00b2ee"
+deepskyblue1 = "#00bfff"
+blue4 = "#00008b"
+blue3 = "#0000cd"
+blue2 = "#0000ee"
+blue1 = "#0000ff"
+magenta4 = "#8b008b"
+magenta3 = "#cd00cd"
+magenta2 = "#ee00ee"
+magenta1 = "#ff00ff"
+brown4 = "#8b2323"
+brown3 = "#cd3333"
+brown2 = "#ee3b3b"
+brown1 = "#ff4040"
+firebrick4 = "#8b1a1a"
+firebrick3 = "#cd2626"
+firebrick2 = "#ee2c2c"
+firebrick1 = "#ff3030"
+indianred4 = "#8b3a3a"
+indianred3 = "#cd5555"
+indianred2 = "#ee6363"
+indianred1 = "#ff6a6a"
+rosybrown4 = "#8b6969"
+rosybrown3 = "#cd9b9b"
+rosybrown2 = "#eeb4b4"
+rosybrown1 = "#ffc1c1"
+snow4 = "#8b8989"
+snow3 = "#cdc9c9"
+snow2 = "#eee9e9"
+snow1 = "#fffafa"
+mistyrose4 = "#8b7d7b"
+mistyrose3 = "#cdb7b5"
+mistyrose2 = "#eed5d2"
+mistyrose1 = "#ffe4e1"
+tomato4 = "#8b3626"
+tomato3 = "#cd4f39"
+tomato2 = "#ee5c42"
+tomato1 = "#ff6347"
+coral4 = "#8b3e2f"
+coral3 = "#cd5b45"
+coral2 = "#ee6a50"
+coral1 = "#ff7256"
+salmon4 = "#8b4c39"
+salmon3 = "#cd7054"
+salmon2 = "#ee8262"
+salmon1 = "#ff8c69"
+lightsalmon4 = "#8b5742"
+lightsalmon3 = "#cd8162"
+lightsalmon2 = "#ee9572"
+lightsalmon1 = "#ffa07a"
+sienna4 = "#8b4726"
+sienna3 = "#cd6839"
+sienna2 = "#ee7942"
+sienna1 = "#ff8247"
+chocolate4 = "#8b4513"
+chocolate3 = "#cd661d"
+chocolate2 = "#ee7621"
+chocolate1 = "#ff7f24"
+seashell4 = "#8b8682"
+seashell3 = "#cdc5bf"
+seashell2 = "#eee5de"
+seashell1 = "#fff5ee"
+peachpuff4 = "#8b7765"
+peachpuff3 = "#cdaf95"
+peachpuff2 = "#eecbad"
+peachpuff1 = "#ffdab9"
+tan4 = "#8b5a2b"
+tan3 = "#cd853f"
+tan2 = "#ee9a49"
+tan1 = "#ffa54f"
+bisque4 = "#8b7d6b"
+bisque3 = "#cdb79e"
+bisque2 = "#eed5b7"
+bisque1 = "#ffe4c4"
+antiquewhite4 = "#8b8378"
+antiquewhite3 = "#cdc0b0"
+antiquewhite2 = "#eedfcc"
+antiquewhite1 = "#ffefdb"
+burlywood4 = "#8b7355"
+burlywood3 = "#cdaa7d"
+burlywood2 = "#eec591"
+burlywood1 = "#ffd39b"
+navajowhite4 = "#8b795e"
+navajowhite3 = "#cdb38b"
+navajowhite2 = "#eecfa1"
+navajowhite1 = "#ffdead"
+wheat4 = "#8b7e66"
+wheat3 = "#cdba96"
+wheat2 = "#eed8ae"
+wheat1 = "#ffe7ba"
+darkgoldenrod4 = "#8b6508"
+darkgoldenrod3 = "#cd950c"
+darkgoldenrod2 = "#eead0e"
+darkgoldenrod1 = "#ffb90f"
+goldenrod4 = "#8b6914"
+goldenrod3 = "#cd9b1d"
+goldenrod2 = "#eeb422"
+goldenrod1 = "#ffc125"
+cornsilk4 = "#8b8878"
+cornsilk3 = "#cdc8b1"
+cornsilk2 = "#eee8cd"
+cornsilk1 = "#fff8dc"
+lightgoldenrod4 = "#8b814c"
+lightgoldenrod3 = "#cdbe70"
+lightgoldenrod2 = "#eedc82"
+lightgoldenrod1 = "#ffec8b"
+lemonchiffon4 = "#8b8970"
+lemonchiffon3 = "#cdc9a5"
+lemonchiffon2 = "#eee9bf"
+lemonchiffon1 = "#fffacd"
+khaki4 = "#8b864e"
+khaki3 = "#cdc673"
+khaki2 = "#eee685"
+khaki1 = "#fff68f"
+lightyellow4 = "#8b8b7a"
+lightyellow3 = "#cdcdb4"
+lightyellow2 = "#eeeed1"
+lightyellow1 = "#ffffe0"
+ivory4 = "#8b8b83"
+ivory3 = "#cdcdc1"
+ivory2 = "#eeeee0"
+ivory1 = "#fffff0"
+olivedrab4 = "#698b22"
+olivedrab3 = "#9acd32"
+olivedrab2 = "#b3ee3a"
+olivedrab1 = "#c0ff3e"
+darkolivegreen4 = "#6e8b3d"
+darkolivegreen3 = "#a2cd5a"
+darkolivegreen2 = "#bcee68"
+darkolivegreen1 = "#caff70"
+palegreen4 = "#548b54"
+palegreen3 = "#7ccd7c"
+palegreen2 = "#90ee90"
+palegreen1 = "#9aff9a"
+darkseagreen4 = "#698b69"
+darkseagreen3 = "#9bcd9b"
+darkseagreen2 = "#b4eeb4"
+darkseagreen1 = "#c1ffc1"
+honeydew4 = "#838b83"
+honeydew3 = "#c1cdc1"
+honeydew2 = "#e0eee0"
+honeydew1 = "#f0fff0"
+seagreen4 = "#2e8b57"
+seagreen3 = "#43cd80"
+seagreen2 = "#4eee94"
+seagreen1 = "#54ff9f"
+aquamarine4 = "#458b74"
+aquamarine3 = "#66cdaa"
+aquamarine2 = "#76eec6"
+aquamarine1 = "#7fffd4"
+darkslategray4 = "#528b8b"
+darkslategray3 = "#79cdcd"
+darkslategray2 = "#8deeee"
+darkslategray1 = "#97ffff"
+paleturquoise4 = "#668b8b"
+paleturquoise3 = "#96cdcd"
+paleturquoise2 = "#aeeeee"
+paleturquoise1 = "#bbffff"
+lightcyan4 = "#7a8b8b"
+lightcyan3 = "#b4cdcd"
+lightcyan2 = "#d1eeee"
+lightcyan1 = "#e0ffff"
+azure4 = "#838b8b"
+azure3 = "#c1cdcd"
+azure2 = "#e0eeee"
+azure1 = "#f0ffff"
+cadetblue4 = "#53868b"
+cadetblue3 = "#7ac5cd"
+cadetblue2 = "#8ee5ee"
+cadetblue1 = "#98f5ff"
+lightblue4 = "#68838b"
+lightblue3 = "#9ac0cd"
+lightblue2 = "#b2dfee"
+lightblue1 = "#bfefff"
+lightskyblue4 = "#607b8b"
+lightskyblue3 = "#8db6cd"
+lightskyblue2 = "#a4d3ee"
+lightskyblue1 = "#b0e2ff"
+skyblue4 = "#4a708b"
+skyblue3 = "#6ca6cd"
+skyblue2 = "#7ec0ee"
+skyblue1 = "#87ceff"
+steelblue4 = "#36648b"
+steelblue3 = "#4f94cd"
+steelblue2 = "#5cacee"
+steelblue1 = "#63b8ff"
+dodgerblue4 = "#104e8b"
+dodgerblue3 = "#1874cd"
+dodgerblue2 = "#1c86ee"
+dodgerblue1 = "#1e90ff"
+slategray4 = "#6c7b8b"
+slategray3 = "#9fb6cd"
+slategray2 = "#b9d3ee"
+slategray1 = "#c6e2ff"
+lightsteelblue4 = "#6e7b8b"
+lightsteelblue3 = "#a2b5cd"
+lightsteelblue2 = "#bcd2ee"
+lightsteelblue1 = "#cae1ff"
+royalblue4 = "#27408b"
+royalblue3 = "#3a5fcd"
+royalblue2 = "#436eee"
+royalblue1 = "#4876ff"
+slateblue4 = "#473c8b"
+slateblue3 = "#6959cd"
+slateblue2 = "#7a67ee"
+slateblue1 = "#836fff"
+mediumpurple4 = "#5d478b"
+mediumpurple3 = "#8968cd"
+mediumpurple2 = "#9f79ee"
+mediumpurple1 = "#ab82ff"
+purple4 = "#551a8b"
+purple3 = "#7d26cd"
+purple2 = "#912cee"
+purple1 = "#9b30ff"
+darkorchid4 = "#68228b"
+darkorchid3 = "#9a32cd"
+darkorchid2 = "#b23aee"
+darkorchid1 = "#bf3eff"
+mediumorchid4 = "#7a378b"
+mediumorchid3 = "#b452cd"
+mediumorchid2 = "#d15fee"
+mediumorchid1 = "#e066ff"
+thistle4 = "#8b7b8b"
+thistle3 = "#cdb5cd"
+thistle2 = "#eed2ee"
+thistle1 = "#ffe1ff"
+plum4 = "#8b668b"
+plum3 = "#cd96cd"
+plum2 = "#eeaeee"
+plum1 = "#ffbbff"
+orchid4 = "#8b4789"
+orchid3 = "#cd69c9"
+orchid2 = "#ee7ae9"
+orchid1 = "#ff83fa"
+maroon4 = "#8b1c62"
+maroon3 = "#cd2990"
+maroon2 = "#ee30a7"
+maroon1 = "#ff34b3"
+deeppink4 = "#8b0a50"
+deeppink3 = "#cd1076"
+deeppink2 = "#ee1289"
+deeppink1 = "#ff1493"
+hotpink4 = "#8b3a62"
+hotpink3 = "#cd6090"
+hotpink2 = "#ee6aa7"
+hotpink1 = "#ff6eb4"
+violetred4 = "#8b2252"
+violetred3 = "#cd3278"
+violetred2 = "#ee3a8c"
+violetred1 = "#ff3e96"
+lavenderblush4 = "#8b8386"
+lavenderblush3 = "#cdc1c5"
+lavenderblush2 = "#eee0e5"
+lavenderblush1 = "#fff0f5"
+palevioletred4 = "#8b475d"
+palevioletred3 = "#cd6889"
+palevioletred2 = "#ee799f"
+palevioletred1 = "#ff82ab"
+pink4 = "#8b636c"
+pink3 = "#cd919e"
+pink2 = "#eea9b8"
+pink1 = "#ffb5c5"
+lightpink4 = "#8b5f65"
+lightpink3 = "#cd8c95"
+lightpink2 = "#eea2ad"
+lightpink1 = "#ffaeb9"
+gray0 = "#000000"
+gray1 = "#030303"
+gray2 = "#050505"
+gray3 = "#080808"
+gray4 = "#0a0a0a"
+gray5 = "#0d0d0d"
+gray6 = "#0f0f0f"
+gray7 = "#121212"
+gray8 = "#141414"
+gray9 = "#171717"
+gray10 = "#1a1a1a"
+gray11 = "#1c1c1c"
+gray12 = "#1f1f1f"
+gray13 = "#212121"
+gray14 = "#242424"
+gray15 = "#262626"
+gray16 = "#292929"
+gray17 = "#2b2b2b"
+gray18 = "#2e2e2e"
+gray19 = "#303030"
+gray20 = "#333333"
+gray21 = "#363636"
+gray22 = "#383838"
+gray23 = "#3b3b3b"
+gray24 = "#3d3d3d"
+gray25 = "#404040"
+gray26 = "#424242"
+gray27 = "#454545"
+gray28 = "#474747"
+gray29 = "#4a4a4a"
+gray30 = "#4d4d4d"
+gray31 = "#4f4f4f"
+gray32 = "#525252"
+gray33 = "#545454"
+gray34 = "#575757"
+gray35 = "#595959"
+gray36 = "#5c5c5c"
+gray37 = "#5e5e5e"
+gray38 = "#616161"
+gray39 = "#636363"
+gray40 = "#666666"
+gray41 = "#696969"
+gray42 = "#6b6b6b"
+gray43 = "#6e6e6e"
+gray44 = "#707070"
+gray45 = "#737373"
+gray46 = "#757575"
+gray47 = "#787878"
+gray48 = "#7a7a7a"
+gray49 = "#7d7d7d"
+gray50 = "#7f7f7f"
+gray51 = "#828282"
+gray52 = "#858585"
+gray53 = "#878787"
+gray54 = "#8a8a8a"
+gray55 = "#8c8c8c"
+gray56 = "#8f8f8f"
+gray57 = "#919191"
+gray58 = "#949494"
+gray59 = "#969696"
+gray60 = "#999999"
+gray61 = "#9c9c9c"
+gray62 = "#9e9e9e"
+gray63 = "#a1a1a1"
+gray64 = "#a3a3a3"
+gray65 = "#a6a6a6"
+gray66 = "#a8a8a8"
+gray67 = "#ababab"
+gray68 = "#adadad"
+gray69 = "#b0b0b0"
+gray70 = "#b3b3b3"
+gray71 = "#b5b5b5"
+gray72 = "#b8b8b8"
+gray73 = "#bababa"
+gray74 = "#bdbdbd"
+gray75 = "#bfbfbf"
+gray76 = "#c2c2c2"
+gray77 = "#c4c4c4"
+gray78 = "#c7c7c7"
+gray79 = "#c9c9c9"
+gray80 = "#cccccc"
+gray81 = "#cfcfcf"
+gray82 = "#d1d1d1"
+gray83 = "#d4d4d4"
+gray84 = "#d6d6d6"
+gray85 = "#d9d9d9"
+gray86 = "#dbdbdb"
+gray87 = "#dedede"
+gray88 = "#e0e0e0"
+gray89 = "#e3e3e3"
+gray90 = "#e5e5e5"
+gray91 = "#e8e8e8"
+gray92 = "#ebebeb"
+gray93 = "#ededed"
+gray94 = "#f0f0f0"
+gray95 = "#f2f2f2"
+gray96 = "#f5f5f5"
+gray97 = "#f7f7f7"
+gray98 = "#fafafa"
+gray99 = "#fcfcfc"
+gray100 = "#ffffff"
diff --git a/vendor/themes/everblush.toml b/vendor/themes/everblush.toml
new file mode 100644
index 00000000..ac0c2ae0
--- /dev/null
+++ b/vendor/themes/everblush.toml
@@ -0,0 +1,117 @@
+# Author: Isotoxal <[email protected]>
+
+"attribute" = { fg = "blue" }
+"comment" = { fg = "comment", modifiers = ["italic"] }
+"constant" = { fg = "cyan" }
+"constant.builtin.boolean" = { fg = "cyan" }
+"constant.character" = { fg = "blue" }
+"constant.numeric.float" = { fg = "black-light" }
+"constant.builtin" = { fg = "blue" }
+"constant.numeric" = { fg = "yellow" }
+"constructor" = { fg = "blue" }
+"function" = { fg = "red" }
+"function.builtin" = { fg = "cyan-light" }
+"function.macro" = { fg = "green" }
+"function.method" = { fg = "blue-light" }
+"keyword" = { fg = "blue" }
+"keyword.function" = { fg = "blue" }
+"keyword.operator" = { fg = "blue-light" }
+"keyword.control.conditional" = { fg = "red" }
+"keyword.control.import" = { fg = "red-light" }
+"keyword.control.return" = { fg = "blue" }
+"keyword.control.repeat" = { fg = "yellow-light" }
+"keyword.control.exception" = { fg = "black-light" }
+"label" = { fg = "blue" }
+"namespace" = { fg = "red-light" }
+"operator" = { fg = "white" }
+#"parameter.reference" = { fg = "red-light" }
+#"property" = { fg = "red" }
+"punctuation.bracket" = { fg = "white" }
+"punctuation.delimiter" = { fg = "white" }
+"punctuation.special" = { fg = "white" }
+"string" = { fg = "green" }
+"string.escape" = { fg = "blue" }
+"string.regex" = { fg = "green" }
+"string.special" = { fg = "blue" }
+"string.special.symbol" = { fg = "red" }
+"tag" = { fg = "blue" }
+"type" = { fg = "yellow" }
+"type.builtin" = { fg = "yellow" }
+"variable" = { fg = "white" }
+"variable.builtin" = { fg = "blue" }
+"variable.parameter" = { fg = "red" }
+"variable.other.member" = { fg = "red" }
+
+"diff.plus" = { fg = "blue" }
+"diff.delta" = { fg = "magenta" }
+"diff.minus" = { fg = "red" }
+
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.help" = { fg = "foreground", bg = "contrast" }
+"ui.linenr" = { fg = "comment" }
+"ui.linenr.selected" = { fg = "foreground" }
+"ui.menu" = { fg = "foreground", bg = "contrast" }
+"ui.menu.selected" = { bg = "black" }
+"ui.popup" = { fg = "foreground", bg = "contrast" }
+"ui.selection" = { bg = "black" }
+"ui.selection.primary" = { bg = "black" }
+"ui.statusline" = { fg = "foreground", bg = "background" }
+"ui.statusline.inactive" = { fg = "foreground", bg = "background" }
+"ui.statusline.normal" = { fg = "white", bg = "background" }
+"ui.statusline.insert" = { fg = "blue", bg = "background" }
+"ui.statusline.select" = { fg = "magenta", bg = "background" }
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "blue" }
+"ui.virtual.ruler" = { bg = "cursorline" }
+"ui.virtual.whitespace" = { fg = "comment" }
+"ui.virtual.wrap" = { fg = "comment" }
+"ui.virtual.indent-guide" = { fg = "comment" }
+"ui.virtual.inlay-hint" = { fg = "comment" }
+"ui.window" = { fg = "black" }
+
+"error" = { fg = "red" }
+"hint" = { fg = "green" }
+"warning" = { fg = "yellow" }
+"info" = { fg = "blue" }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.info" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "green" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"special" = { fg = "red-light" }
+
+"markup.heading" = { fg = "blue", modifiers = ["bold"] }
+"markup.list" = { fg = "cyan" }
+"markup.bold" = { fg = "magenta", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "green" }
+"markup.link.text" = { fg = "black-light" }
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "cyan" }
+
+[palette]
+black = "#232a2d"
+red = "#e57474"
+green = "#8ccf7e"
+yellow = "#e5c76b"
+blue = "#67b0e8"
+magenta = "#c47fd5"
+cyan = "#6cbfbf"
+white = "#b3b9b8"
+black-light = "#2d3437"
+red-light = "#ef7e7e"
+green-light = "#96d988"
+yellow-light = "#f4d67a"
+blue-light = "#71baf2"
+magenta-light = "#ce89df"
+cyan-light = "#67cbe7"
+white-light = "#bdc3c2"
+comment = "#404749"
+contrast = "#161d1f"
+background = "#141b1e"
+foreground = "#dadada"
+cursorline = "#2c3333"
diff --git a/vendor/themes/everforest.LICENSE b/vendor/themes/everforest.LICENSE
new file mode 100644
index 00000000..546ed634
--- /dev/null
+++ b/vendor/themes/everforest.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2019 sainnhe
+
+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/everforest_dark.toml b/vendor/themes/everforest_dark.toml
new file mode 100644
index 00000000..f21cee8b
--- /dev/null
+++ b/vendor/themes/everforest_dark.toml
@@ -0,0 +1,149 @@
+# Everforest (Dark Medium)
+# Authors: CptPotato, 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"
+"ui.virtual.jump-label" = { fg = "#00dfff", modifiers = ["bold"] }
+
+"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" = { fg = "orange", bg = "bg_yellow" }
+"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" }
+
+"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 = "#232a2e"
+bg0 = "#2d353b"
+bg1 = "#343f44"
+bg2 = "#3d484d"
+bg3 = "#475258"
+bg4 = "#4f585e"
+bg5 = "#56635f"
+bg_visual = "#543a48"
+bg_red = "#514045"
+bg_green = "#425047"
+bg_blue = "#3a515d"
+bg_yellow = "#4d4c43"
+
+fg = "#d3c6aa"
+red = "#e67e80"
+orange = "#e69875"
+yellow = "#dbbc7f"
+green = "#a7c080"
+aqua = "#83c092"
+blue = "#7fbbb3"
+purple = "#d699b6"
+
+grey0 = "#7a8478"
+grey1 = "#859289"
+grey2 = "#9da9a0"
+
+statusline1 = "#a7c080"
+statusline2 = "#d3c6aa"
+statusline3 = "#e67e80"
diff --git a/vendor/themes/faded-prism.LICENSE b/vendor/themes/faded-prism.LICENSE
new file mode 100644
index 00000000..2787a90a
--- /dev/null
+++ b/vendor/themes/faded-prism.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023-2025 Ryan Brue
+
+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/faded-prism.toml b/vendor/themes/faded-prism.toml
new file mode 100644
index 00000000..52c08838
--- /dev/null
+++ b/vendor/themes/faded-prism.toml
@@ -0,0 +1,119 @@
+# Author: Ryan Brue <[email protected]>
+# Ref: https://github.com/ryanabx/faded-prism-color-theme
+
+# Syntax
+
+"variable" = "white"
+"namespace" = "white"
+"punctuation" = "off_white"
+"operator" = "off_white"
+"comment" = "light_gray"
+
+"keyword" = "red"
+"special" = "red"
+"label" = "red"
+"tag" = "red"
+"string" = "yellow"
+"attribute" = "green"
+"constructor" = "green"
+"function" = "green"
+"type" = "blue"
+"type.enum.variant" = "light_blue"
+"constant" = "light_blue"
+"constant.numeric" = "purple"
+
+"markup.heading.1" = "vibrant_yellow"
+"markup.heading.2" = "vibrant_green"
+"markup.heading.3" = "vibrant_blue"
+"markup.heading.4" = "vibrant_purple"
+"markup.heading.5" = "vibrant_red"
+"markup.heading.6" = "vibrant_orange"
+
+# UI
+
+"ui.background" = { fg = "white", bg = "dark_gray" }
+
+"ui.linenr" = { fg = "off_white" }
+"ui.linenr.selected" = { fg = "white" }
+
+"ui.statusline" = { fg = "white", bg = "black" }
+"ui.statusline.inactive" = { fg = "gray", bg = "black" }
+"ui.statusline.normal" = { fg = "white", bg = "vibrant_red", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "white", bg = "vibrant_blue", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "white", bg = "vibrant_orange", modifiers = ["bold"] }
+
+"ui.popup" = { fg = "white", bg = "black" }
+"ui.window" = { fg = "white" }
+"ui.help" = { fg = "white", bg = "black" }
+
+"ui.bufferline" = { fg = "white", bg = "gray" }
+# "ui.bufferline.active" = { fg = "yellow", bg = "black", underline = { color = "red", style = "line" } }
+# "ui.bufferline.background" = { bg = "gray" }
+
+"ui.text" = "white"
+"ui.text.focus" = { fg = "white", bg = "gray", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "off_white" }
+"ui.text.directory" = { fg = "blue" }
+
+"ui.virtual" = "gray"
+"ui.virtual.ruler" = { bg = "gray" }
+"ui.virtual.indent-guide" = "gray"
+"ui.virtual.inlay-hint" = { fg = "white", bg = "gray" }
+"ui.virtual.jump-label" = { fg = "white", modifiers = ["bold"] }
+
+"ui.selection" = { bg = "gray" }
+
+"ui.cursor" = { fg = "black", bg = "white" }
+
+"ui.highlight" = { bg = "gray", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "white", bg = "black" }
+"ui.menu.selected" = { fg = "white", bg = "gray", modifiers = ["bold"] }
+
+"diagnostic.error" = { underline = { color = "error_red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "warning_yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "suggestion_blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "suggestion_blue", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+
+error = "error_red"
+warning = "warning_yellow"
+info = "suggestion_blue"
+hint = "suggestion_blue"
+
+"diff.plus" = "diff_green"
+"diff.minus" = "diff_red"
+"diff.delta" = "diff_yellow"
+
+rainbow = ["vibrant_yellow", "vibrant_green", "vibrant_blue", "vibrant_purple", "vibrant_red", "vibrant_orange"]
+
+[palette]
+# Grayscale
+white = "#d8d8d8"
+off_white = "#909090"
+light_gray = "#6c6c6c"
+gray = "#4d4d4d"
+dark_gray = "#252525"
+black = "#181818"
+# Diffs and diagnostics
+diff_red = "#ff3e3e"
+diff_yellow = "#ffea8a"
+diff_green = "#6eff69"
+error_red = "#ff3e3e"
+warning_yellow = "#ffd932"
+suggestion_blue = "#4fd6ff"
+# Pastel colors
+light_red = "#f7afaf"
+red = "#ff8d74"
+yellow = "#fffa9f"
+green = "#abff8d"
+blue = "#7bbdff"
+light_blue = "#b8e3ff"
+purple = "#f5c8ff"
+# Vibrant colors, used exclusively for bracket rainbows
+vibrant_yellow = "#fffd78"
+vibrant_green = "#6cffa4"
+vibrant_blue = "#628cff"
+vibrant_purple = "#e552ff"
+vibrant_red = "#ff4b90"
+vibrant_orange = "#ff915a" \ No newline at end of file
diff --git a/vendor/themes/ferra.toml b/vendor/themes/ferra.toml
new file mode 100644
index 00000000..212fb510
--- /dev/null
+++ b/vendor/themes/ferra.toml
@@ -0,0 +1,85 @@
+# Author : Casper Rogild Storm <[email protected]>
+
+"comment" = { fg = "ferra_bark", modifiers = ["italic"] }
+"constant" = { fg = "ferra_sage" }
+"function" = { fg = "ferra_coral" }
+"function.macro" = { fg = "ferra_mist" }
+"keyword" = { fg = "ferra_mist" }
+"operator" = { fg = "ferra_mist" }
+"punctuation" = { fg = "ferra_blush" }
+"string" = { fg = "ferra_sage" }
+"type" = { fg = "ferra_rose" }
+"variable" = { fg = "ferra_blush" }
+"variable.builtin" = { fg = "ferra_rose" }
+"tag" = { fg = "ferra_sage" }
+"label" = { fg = "ferra_sage" }
+"attribute" = { fg = "ferra_blush" }
+"namespace" = { fg = "ferra_blush" }
+"module" = { fg = "ferra_blush" }
+
+"markup.heading" = { fg = "ferra_sage", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "ferra_bark" }
+"markup.list" = { fg = "ferra_mist" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "ferra_rose", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "ferra_rose" }
+"markup.quote" = { fg = "ferra_bark" }
+"markup.raw" = { fg = "ferra_coral" }
+
+"ui.background" = { bg = "ferra_night" }
+"ui.cursor" = { fg = "ferra_night", bg = "ferra_blush" }
+"ui.cursor.match" = { fg = "ferra_night", bg = "ferra_bark" }
+"ui.cursor.select" = { fg = "ferra_night", bg = "ferra_rose" }
+"ui.cursor.insert" = { fg = "ferra_night", bg = "ferra_coral" }
+"ui.linenr" = { fg = "ferra_bark" }
+"ui.linenr.selected" = { fg = "ferra_blush" }
+"ui.cursorline" = { fg = "ferra_blush", bg = "ferra_ash" }
+"ui.statusline" = { fg = "ferra_blush", bg = "ferra_ash" }
+"ui.statusline.inactive" = { fg = "ferra_bark", bg = "ferra_ash" }
+"ui.statusline.normal" = { fg = "ferra_ash", bg = "ferra_blush" }
+"ui.statusline.insert" = { fg = "ferra_ash", bg = "ferra_coral" }
+"ui.statusline.select" = { fg = "ferra_ash", bg = "ferra_rose" }
+"ui.popup" = { fg = "ferra_blush", bg = "ferra_ash" }
+"ui.window" = { fg = "ferra_bark", bg = "ferra_night" }
+"ui.help" = { fg = "ferra_blush", bg = "ferra_ash" }
+"ui.text" = { fg = "ferra_blush" }
+"ui.text.focus" = { fg = "ferra_coral" }
+"ui.menu" = { fg = "ferra_blush", bg = "ferra_ash" }
+"ui.menu.selected" = { fg = "ferra_coral", bg = "ferra_ash" }
+"ui.selection" = { bg = "ferra_umber" }
+"ui.virtual" = { fg = "ferra_bark" }
+"ui.virtual.whitespace" = { fg = "ferra_bark" }
+"ui.virtual.ruler" = { bg = "ferra_ash" }
+"ui.virtual.indent-guide" = { fg = "ferra_ash" }
+"ui.virtual.inlay-hint" = { fg = "ferra_bark" }
+
+"diff.plus" = { fg = "ferra_sage" }
+"diff.delta" = { fg = "ferra_blush" }
+"diff.minus" = { fg = "ferra_ember" }
+
+"error" = { fg = "ferra_ember" }
+"warning" = { fg = "ferra_honey" }
+"info" = { fg = "ferra_blush" }
+"hint" = { fg = "ferra_blush" }
+
+"diagnostic.warning" = { underline = { color = "ferra_honey", style = "curl" } }
+"diagnostic.error" = { underline = { color = "ferra_ember", style = "curl" } }
+"diagnostic.info" = { underline = { color = "ferra_blush", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "ferra_blush", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+ferra_night = "#2b292d"
+ferra_ash = "#383539"
+ferra_umber = "#4d424b"
+ferra_bark = "#6F5D63"
+ferra_mist = "#D1D1E0"
+ferra_sage = "#B1B695"
+ferra_blush = "#fecdb2"
+ferra_coral = "#ffa07a"
+ferra_rose = "#F6B6C9"
+ferra_ember = "#e06b75"
+ferra_honey = "#F5D76E"
diff --git a/vendor/themes/flatwhite.toml b/vendor/themes/flatwhite.toml
new file mode 100644
index 00000000..f58ee21c
--- /dev/null
+++ b/vendor/themes/flatwhite.toml
@@ -0,0 +1,125 @@
+# Author: Alexander Brevig <[email protected]>, krfl <[email protected]>
+# Adopted from https://github.com/biletskyy/flatwhite-syntax
+
+"attribute" = { fg = "blue_text", bg = "blue_bg" }
+"comment" = { fg = "base2", bg = "base6" }
+"comment.line" = { fg = "base2", bg = "base6" }
+"comment.block" = { fg = "base2", bg = "base6" }
+"comment.block.documentation" = { fg = "base2", bg = "base6" }
+"constant" = { fg = "blue_text", bg = "blue_bg" }
+"constructor" = { fg = "base1" }
+"function" = { fg = "base1", modifiers = ["bold"] }
+"keyword" = { fg = "purple_text", bg = "purple_bg" }
+"label" = { modifiers = ["bold"] }
+"namespace" = { fg = "teal_text", bg = "teal_bg" }
+"operator" = { fg = "base1" }
+"punctuation.bracket" = { modifiers = ["bold"] }
+"special" = { fg = "blue_text", bg = "blue_bg" }
+"string" = { fg = "green_text", bg = "green_bg" }
+"type" = { fg = "base1" }
+"variable" = { fg = "base1" }
+"variable.parameter" = { fg = "blue_text", bg = "blue_bg" }
+
+"diagnostic" = { modifiers = ["underlined"] }
+
+"diagnostic.info" = { underline = { color = "orange_text", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange_text", style = "curl" } }
+"diagnostic.error" = { underline = { color = "diff_delete", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"info" = { fg = "orange_text", bg = "orange_bg" }
+"hint" = { modifiers = ["bold"] }
+"warning" = { fg = "orange_text", bg = "orange_bg" }
+"error" = { fg = "diff_delete" }
+
+"markup.heading" = { fg = "purple_text", bg = "purple_bg", modifiers = [
+ "bold",
+] }
+"markup.raw" = { fg = "orange_text", bg = "orange_bg" }
+"markup.raw.inline" = { fg = "orange_text", bg = "orange_bg" }
+"markup.raw.block" = { fg = "orange_text", bg = "orange_bg" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "blue_text", bg = "blue_bg", modifiers = [
+ "underlined",
+] }
+"markup.link.label" = { fg = "blue_text", bg = "blue_bg" }
+"markup.link.text" = { fg = "blue_text", bg = "blue_bg" }
+"markup.quote" = { fg = "teal_text", bg = "teal_bg" }
+"markup.list" = { fg = "purple_text", bg = "purple_bg" }
+
+"ui.background" = { fg = "base1", bg = "base7" }
+"ui.cursorline" = { bg = "base6" }
+"ui.cursor" = { fg = "base1", bg = "base7", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "base1", bg = "base7", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "base5", bg = "base3", modifiers = ["reversed"] }
+"ui.selection" = { bg = "base4" }
+"ui.selection.primary" = { fg = "base6", bg = "base2" }
+
+"ui.virtual" = { fg = "base5", bg = "base6" }
+"ui.virtual.whitespace" = { fg = "base5" }
+"ui.virtual.ruler" = { bg = "base6" }
+"ui.virtual.inlay-hint" = "base4"
+"ui.virtual.inlay-hint.parameter" = "base3"
+"ui.virtual.inlay-hint.type" = { fg = "base3", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { bg = "orange_bg", modifiers = ["bold"] }
+
+"ui.linenr" = { bg = "base6" }
+"ui.linenr.selected" = { bg = "base6", modifiers = ["reversed"] }
+
+"ui.statusline" = { fg = "base7", bg = "base1", modifiers = ["bold"] }
+"ui.statusline.inactive" = { fg = "base7", bg = "base3" }
+"ui.statusline.normal" = { fg = "base7", bg = "base1", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "purple_text", bg = "purple_bg", modifiers = [
+ "bold",
+] }
+"ui.statusline.select" = { fg = "teal_text", bg = "teal_bg", modifiers = [
+ "bold",
+] }
+
+"ui.text" = { fg = "base1" }
+"ui.text.focus" = { fg = "base1", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "base1", bg = "base6" }
+"ui.menu.selected" = { fg = "base1", bg = "base6", modifiers = ["reversed"] }
+"ui.menu.scroll" = { fg = "base1", bg = "base6" }
+"ui.help" = { fg = "base1", bg = "base6" }
+"ui.popup" = { fg = "base1", bg = "base6" }
+"ui.window" = { fg = "base1", bg = "base6" }
+
+"diff.plus" = { fg = "diff_add" }
+"diff.delta" = { fg = "diff_change" }
+"diff.minus" = { fg = "diff_delete" }
+
+[palette]
+base1 = "#605a52"
+base2 = "#93836c"
+base3 = "#b9a992"
+base4 = "#dcd3c6"
+base5 = "#e4ddd2"
+base6 = "#f1ece4"
+base7 = "#f7f3ee"
+accent = "#6a4cff"
+orange_text = "#5b5143"
+orange_text_sec = "#957f5f"
+orange_bg = "#f7e0c3"
+green_text = "#525643"
+green_text_sec = "#81895d"
+green_bg = "#e2e9c1"
+teal_text = "#465953"
+teal_text_sec = "#5f8c7d"
+teal_bg = "#d2ebe3"
+blue_text = "#4c5361"
+blue_text_sec = "#7382a0"
+blue_bg = "#dde4f2"
+purple_text = "#614c61"
+purple_text_sec = "#9c739c"
+purple_bg = "#f1ddf1"
+diff_add = "#2db448"
+diff_change = "#f2a60d"
+diff_change_dark = "#795306"
+diff_delete = "#ff1414"
+diff_renamed = "#52aeff"
+white = "#ffffff"
diff --git a/vendor/themes/fleet_dark.toml b/vendor/themes/fleet_dark.toml
new file mode 100644
index 00000000..b8f28d1f
--- /dev/null
+++ b/vendor/themes/fleet_dark.toml
@@ -0,0 +1,169 @@
+# Fleet Dark
+# A take on the JetBrains Fleet theme. Feel free to contribute
+
+# Original author: @krfl
+# Contributors:
+# @matoous
+# @kirawi
+
+"attribute" = "Lime"
+
+"type" = "Blue"
+"type.return" = "Blue Light"
+"type.parameter" = "Blue Light"
+"constructor" = "Yellow"
+
+"constant" = "Violet"
+# "constant.builtin" = {} # .boolean
+"constant.builtin.boolean" = "Cyan"
+"constant.character" = "Yellow"
+"constant.character.escape" = "Cyan"
+"constant.numeric" = "Yellow"
+"string" = "Pink"
+"string.regexp" = "Cyan"
+"string.special" = { fg = "Yellow", modifiers = ["underlined"] } #.path / .url / .symbol
+
+"comment" = "Gray 90" # .line
+# "comment.block" = {} # .documentation
+"variable" = "Gray 120" # .builtin
+"variable.builtin" = { fg = "Coral" }
+# "variable.other" = {} # .member
+"variable.other.member" = "Violet"
+"label" = "Yellow"
+"keyword" = "Cyan" # .operator / .directive / .function
+"function" = "Yellow"
+"function.declaration" = "#EFEFEF"
+"function.macro" = "Lime"
+"function.builtin" = "Lime"
+"function.special" = "Lime"
+#"function.declaration.method" = { fg = "lightest", modifiers = ["bold"] } #depends on #4892
+"tag" = "Blue"
+"special" = "Lime"
+"namespace" = "Blue"
+
+# used in theming
+# "markup" = {} # .normal / .quote / .raw
+# "markup.normal" = {} # .completion / .hover
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.heading" = { fg = "Cyan", modifiers = ["bold"] } # .marker / .1 / .2 / .3 / .4 / .5 / .6
+"markup.list" = "Pink" # .unnumbered / .numbered
+"markup.list.numbered" = "Cyan"
+"markup.list.unnumbered" = "Cyan"
+# "markup.link" = "green"
+"markup.link.url" = { fg = "Pink", modifiers = ['italic', 'underlined'] }
+"markup.link.text" = "Cyan"
+"markup.link.label" = "Purple 20"
+"markup.quote" = "Pink"
+"markup.raw" = "Pink"
+"markup.raw.inline" = "Cyan" # .completion / .hover
+"markup.raw.block" = "#EB83E2"
+
+"diff.plus" = "Green 50"
+"diff.minus" = "Red 50"
+"diff.delta" = "Blue 80"
+
+# ui specific
+"ui.background" = { bg = "Gray 10" } # .separator
+"ui.statusline" = { fg = "Gray 120", bg = "Gray 20" } # .inactive / .normal / .insert / .select
+"ui.statusline.normal" = { fg = "Gray 120", bg = "Gray 20" }
+"ui.statusline.inactive" = { fg = "Gray 90"}
+"ui.statusline.insert" = { fg = "Gray 20", bg = "Blue 90" }
+"ui.statusline.select" = { fg = "Gray 20", bg = "Yellow 60" }
+
+"ui.cursor" = { modifiers = ["reversed"] } # .insert / .select / .match / .primary
+"ui.cursor.match" = { bg = "Blue 30" } # .insert / .select / .match / .primary
+"ui.selection" = { bg = "Gray 50" } # .primary
+"ui.selection.primary" = { bg = "Blue 40" }
+
+"ui.cursorline" = { bg = "Gray 15" }
+"ui.linenr" = "Gray 70"
+"ui.linenr.selected" = "Gray 110"
+
+"ui.popup" = { fg = "Gray 120", bg = "Gray 20" } # .info
+"ui.window" = { fg = "Gray 50" }
+"ui.help" = { fg = "Gray 120", bg = "Gray 20" }
+"ui.menu" = { fg = "Gray 120", bg = "Gray 20" } # .selected
+"ui.menu.selected" = { fg = "White", bg = "Blue 40" } # .selected
+# Calculated as #ffffff with 30% opacity
+"ui.menu.scroll" = { fg = "#dfdfdf" }
+
+"ui.text" = "Gray 120" # .focus / .info
+"ui.text.focus" = { fg = "White", bg = "Blue 40" }
+
+"ui.virtual" = "Gray 90" # .whitespace
+"ui.virtual.inlay-hint" = { fg = "Gray 70" }
+"ui.virtual.ruler" = { bg = "Gray 20" }
+
+"hint" = "Gray 80"
+"info" = "#A366C4"
+"warning" = "#FACb66"
+"error" = "#FF5269"
+
+"diagnostic.hint" = { underline = { color = "Gray 80", style = "line" } }
+"diagnostic.info" = { underline = { color = "#A366C4", style = "line" } }
+"diagnostic.warning" = { underline = { color = "#FACB66", style = "line" } }
+"diagnostic.error" = { underline = { color = "#FF5269", style = "line" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+"White" = "#ffffff"
+"Gray 120" = "#d1d1d1"
+"Gray 110" = "#c2c2c2"
+"Gray 100" = "#a0a0a0"
+"Gray 90" = "#898989"
+"Gray 80" = "#767676"
+"Gray 70" = "#5d5d5d"
+"Gray 60" = "#484848"
+"Gray 50" = "#383838"
+"Gray 40" = "#333333"
+"Gray 30" = "#2d2d2d"
+"Gray 20" = "#292929"
+"Gray 15" = "#1F1F1F"
+"Gray 10" = "#181818"
+"Black" = "#000000"
+"Blue 110" = "#6daaf7"
+"Blue 100" = "#4d9bf8"
+"Blue 90" = "#3691f9"
+"Blue 80" = "#1a85f6"
+"Blue 70" = "#0273eb"
+"Blue 60" = "#0c6ddd"
+"Blue 50" = "#195eb5"
+"Blue 40" = "#194176"
+"Blue 30" = "#163764"
+"Blue 20" = "#132c4f"
+"Blue 10" = "#0b1b32"
+"Red 80" = "#ec7388"
+"Red 70" = "#ea4b67"
+"Red 60" = "#d93953"
+"Red 50" = "#ce364d"
+"Red 40" = "#c03248"
+"Red 30" = "#a72a3f"
+"Red 20" = "#761b2d"
+"Red 10" = "#390813"
+"Green 50" = "#4ca988"
+"Green 40" = "#3ea17f"
+"Green 30" = "#028764"
+"Green 20" = "#134939"
+"Green 10" = "#081f19"
+"Yellow 60" = "#f8ab17"
+"Yellow 50" = "#e1971b"
+"Yellow 40" = "#b5791f"
+"Yellow 30" = "#7c511a"
+"Yellow 20" = "#5a3a14"
+"Yellow 10" = "#281806"
+"Purple 20" = "#c07bf3"
+"Purple 10" = "#b35def"
+
+"Blue" = "#87C3FF"
+"Blue Light" = "#ADD1DE"
+"Coral" = "#CC7C8A"
+"Cyan" = "#82D2CE"
+"Cyan Dark" = "#779E9E"
+"Lime" = "#A8CC7C"
+"Orange" = "#E09B70"
+"Pink" = "#E394DC"
+"Violet" = "#AF9CFF"
+"Yellow" = "#EBC88D"
diff --git a/vendor/themes/flexoki_dark.toml b/vendor/themes/flexoki_dark.toml
new file mode 100644
index 00000000..759f019b
--- /dev/null
+++ b/vendor/themes/flexoki_dark.toml
@@ -0,0 +1,20 @@
+inherits = "flexoki_light"
+
+[palette]
+tx = "#CECDC3"
+tx-2 = "#878580"
+tx-3 = "#575653"
+ui-3 = "#403E3C"
+ui-2 = "#343331"
+ui = "#282726"
+bg-2 = "#1C1B1A"
+bg = "#100F0F"
+
+re = "#D14D41"
+or = "#DA702C"
+ye = "#D0A215"
+gr = "#879A39"
+cy = "#3AA99F"
+bl = "#4385BE"
+pu = "#8B7EC8"
+ma = "#CE5D97"
diff --git a/vendor/themes/flexoki_light.toml b/vendor/themes/flexoki_light.toml
new file mode 100644
index 00000000..5f8604e9
--- /dev/null
+++ b/vendor/themes/flexoki_light.toml
@@ -0,0 +1,99 @@
+# Based on Flexoki: https://stephango.com/flexoki
+
+"ui.background" = { bg = "bg" }
+"ui.cursor" = { fg = "tx", bg = "tx-3" }
+"ui.cursor.primary" = { fg = "bg", bg = "tx" }
+"ui.cursor.match" = { modifiers = ["bold"] }
+"ui.linenr" = "tx-3"
+"ui.linenr.selected" = "tx"
+"ui.selection" = { bg = "ui-2" }
+"ui.statusline" = { fg = "tx", bg = "bg-2" }
+"ui.statusline.normal" = { fg = "bg", bg = "bl" }
+"ui.statusline.insert" = { fg = "bg", bg = "or" }
+"ui.statusline.select" = { fg = "bg", bg = "ma" }
+"ui.cursorline" = { bg = "bg-2" }
+"ui.popup" = { fg = "tx", bg = "bg-2" }
+"ui.window" = "tx"
+"ui.help" = { fg = "tx", bg = "bg" }
+"ui.text" = "tx"
+"ui.text.focus" = { bg = "bg-2", fg = "tx" }
+"ui.text.info" = "tx"
+"ui.virtual.whitespace" = "bg-2"
+"ui.virtual.ruler" = { bg = "bg-2" }
+"ui.virtual.inlay-hint" = { fg = "tx-3", bg = "bg" }
+"ui.virtual.jump-label" = { bg = "bg-2", modifiers = ["bold"]}
+"ui.menu" = { fg = "tx", bg = "bg" }
+"ui.menu.selected" = { bg = "ui", fg = "tx" }
+"ui.debug" = { fg = "or", bg = "bg" }
+"ui.highlight.frameline" = { bg = "ye" }
+"ui.bufferline" = { fg = "tx-2", bg = "bg-2"}
+"ui.bufferline.active" = { fg = "ye", bg = "bg-2" }
+"diagnostic.hint" = { underline = { color = "bl", style = "curl" } }
+"diagnostic.info" = { underline = { color = "bl", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "ye", style = "curl" } }
+"diagnostic.error" = { underline = { color = "re", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"hint" = { fg = "bl", modifiers = ["bold"] }
+"info" = { fg = "ye", modifiers = ["bold"] }
+"warning" = { fg = "or", modifiers = ["bold"] }
+"error" = { fg = "re", modifiers = ["bold"] }
+"attribute" = "ye"
+"type" = "ye"
+"constructor" = "gr"
+"constant" = "pu"
+"constant.builtin" = "ye"
+"string" = "cy"
+"string.regexp" = "or"
+"string.special" = "ye"
+"comment" = "tx-3"
+"variable" = "tx"
+"variable.builtin" = "ma"
+"variable.other" = "bl"
+"punctuation" = "tx-2"
+"keyword" = "gr"
+"keyword.control" = "re"
+"keyword.control.conditional" = "gr"
+"keyword.control.import" = "ye"
+"keyword.control.return" = "gr"
+"keyword.function" = "gr"
+"keyword.storage.type" = "bl"
+"keyword.storage.modifier" = "bl"
+"operator" = "tx-2"
+"function" = "or"
+"tag" = "bl"
+"namespace" = "re"
+"markup.heading" = "or"
+"markup.list" = "ye"
+"markup.bold" = { fg = "or", modifiers = ["bold"] }
+"markup.italic" = { fg = "or", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.raw.block" = "or"
+"markup.link.url" = "bl"
+"markup.link.text" = "ye"
+"markup.link.label" = "gr"
+"markup.quote" = "ye"
+"markup.raw" = "bl"
+"diff.plus" = "gr"
+"diff.minus" = "re"
+"diff.delta" = "ye"
+
+[palette]
+tx = "#100F0F"
+tx-2 = "#6F6E69"
+tx-3 = "#B7B5AC"
+ui-3 = "#CECDC3"
+ui-2 = "#DAD8CE"
+ui = "#E6E4D9"
+bg-2 = "#F2F0E5"
+bg = "#FFFCF0"
+
+
+re = "#AF3029"
+or = "#BC5215"
+ye = "#AD8301"
+gr = "#66800B"
+cy = "#24837B"
+bl = "#205EA6"
+pu = "#5E409D"
+ma = "#A02F6F"
diff --git a/vendor/themes/focus_nova.toml b/vendor/themes/focus_nova.toml
new file mode 100644
index 00000000..5f1a496a
--- /dev/null
+++ b/vendor/themes/focus_nova.toml
@@ -0,0 +1,158 @@
+# Author: Ahmir Postell <[email protected]>
+
+"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" = { fg = "red1", underline = { color = "red1", style = "curl" } }
+"diagnostic.warning" = { fg = "yellow1", underline = { color = "yellow1", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue1", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua1", 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.plus" = { fg = "green1", bg = "bg2" }
+"diff.minus" = { fg = "red1", bg = "bg2" }
+"diff.delta" = { fg = "yellow1", bg = "bg2" }
+
+"function" = { fg = "green1" }
+"function.builtin" = { fg = "yellow1" }
+"function.macro" = { fg = "blue1" }
+
+"keyword" = { fg = "red1" }
+"keyword.control.import" = { fg = "aqua1" }
+
+"label" = { fg = "red1" }
+
+"markup.bold" = { fg = "blue1", modifiers = ["bold"] }
+"markup.heading" = { fg = "purple1", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow1", modifiers = ["italic"] }
+"markup.link.label" = { fg = "blue1", modifiers = ["italic"] }
+"markup.link.text" = "purple0"
+"markup.link.url" = "aqua1"
+"markup.list" = "aqua1"
+"markup.quote" = { fg = "yellow1", modifiers = ["italic"] }
+"markup.raw" = { fg = "fg1" }
+"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 = "fg1", bg = "bg2", modifiers = ["bold"] }
+
+"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 = "bg1", bg = "blue1", 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 = "bg3" }
+"ui.selection.primary" = { bg = "bg4" }
+
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg2" }
+"ui.statusline.insert" = { fg = "bg1", bg = "blue1", modifiers = ["bold", "italic"] }
+"ui.statusline.normal" = { fg = "bg1", bg = "fg3", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg1", bg = "orange1", modifiers = ["bold"] }
+
+"ui.text" = { fg = "fg1" }
+"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", "bold"] }
+
+[palette]
+bg0 = "#1e1e2e" # main workspace background
+bg0_s = "#1c1c2a" # slightly darker for smooth layering
+bg1 = "#2e2e3e" # active panel
+bg2 = "#3b3b4d" # status bar / line numbers
+bg3 = "#4b4b5e" # popup/menu bg
+bg4 = "#5a5a72" # gutters/secondary borders
+
+fg0 = "#f4f4f5" # high-contrast text
+fg1 = "#dcdcdc" # main foreground
+fg2 = "#c0c0c0" # soft text
+fg3 = "#a8a8a8" # lighter text
+fg4 = "#909090" # faint hints
+
+gray = "#7a7a89" # modern neutral gray, no brown tint
+
+red0 = "#f7768e" # rose red
+red1 = "#ff6e7f" # coral pop
+green0 = "#9ece6a" # tea green
+green1 = "#c0fca0" # brighter success green (tweaked)
+
+yellow0 = "#e0af68" # burnt honey gold
+yellow1 = "#f9e2af" # pastel gold
+
+blue0 = "#7aa2f7" # cobalt sky blue
+blue1 = "#89b4fa" # light sky blue
+
+purple0 = "#bb9af7" # lavender violet
+purple1 = "#cba6f7" # soft purple haze
+
+aqua0 = "#7dcfff" # icy aqua
+aqua1 = "#94e2d5" # mint aqua
+
+orange0 = "#fab387" # peachy orange
+orange1 = "#fca86f" # vibrant tangerine
diff --git a/vendor/themes/github_dark.toml b/vendor/themes/github_dark.toml
new file mode 100644
index 00000000..1d760235
--- /dev/null
+++ b/vendor/themes/github_dark.toml
@@ -0,0 +1,234 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+attribute = "fg.default"
+keyword = "scale.red.3"
+"keyword.directive" = "scale.red.3" # -- preprocessor comments (#if in C)
+namespace = "scale.orange.2"
+punctuation = "fg.default"
+"punctuation.delimiter" = "fg.default"
+operator = "scale.blue.1"
+special = "scale.blue.1"
+"variable.other.member" = "scale.blue.1"
+variable = "fg.default"
+"variable.parameter" = "scale.orange.2"
+"variable.builtin" = "scale.red.3"
+type = "scale.orange.2"
+"type.builtin" = "scale.blue.2"
+constructor = "scale.purple.2"
+function = "scale.purple.2"
+"function.macro" = "scale.purple.2"
+tag = "scale.green.1"
+comment = "fg.muted"
+constant = "scale.blue.2"
+"constant.builtin" = "scale.blue.2"
+string = "scale.blue.1"
+"constant.numeric" = "scale.blue.2"
+"constant.character.escape" = "scale.blue.2"
+# used for lifetimes
+label = "scale.red.3"
+
+"markup.heading" = "scale.blue.2"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { modifiers = ["underlined"] }
+"markup.link.text" = { fg = "scale.blue.1", modifiers = ["underlined"] }
+"markup.raw" = "scale.blue.2"
+
+"diff.plus" = "open.fg"
+"diff.minus" = "closed.fg"
+"diff.delta" = "attention.fg"
+
+"ui.background" = { bg = "canvas.default" }
+"ui.background.separator" = { fg = "fg.subtle" }
+"ui.linenr" = { fg = "fg.subtle" }
+"ui.linenr.selected" = { fg = "fg.default" }
+"ui.statusline" = { fg = "fg.muted", bg = "scale.gray.7" }
+"ui.statusline.active" = { fg = "fg.default", bg = "canvas.default", underline = { color = "scale.coral.3", style = "line" } }
+"ui.statusline.normal" = { fg = "fg.default", bg = "accent.muted" }
+"ui.statusline.insert" = { fg = "fg.default", bg = "attention.muted" }
+"ui.statusline.select" = { fg = "fg.default", bg = "sponsors.muted" }
+"ui.popup" = { bg = "scale.gray.8" }
+"ui.popup.info" = { fg = "fg.default", bg = "canvas.overlay" }
+"ui.window" = { fg = "border.default" }
+"ui.help" = { fg = "fg.default", bg = "canvas.overlay" }
+
+"ui.text" = { fg = "fg.muted" }
+"ui.text.focus" = { fg = "fg.default" }
+"ui.text.inactive" = "fg.subtle"
+"ui.text.directory" = { fg = "scale.blue.2" }
+"ui.virtual" = { fg = "scale.gray.6" }
+"ui.virtual.ruler" = { bg = "canvas.subtle" }
+"ui.virtual.jump-label" = { fg = "scale.red.2", modifiers = ["bold"] }
+
+"ui.selection" = { bg = "scale.blue.8" }
+"ui.selection.primary" = { bg = "scale.blue.7" }
+"ui.cursor.match" = { fg = "attention.fg", modifiers = [
+ "bold",
+], underline = { style = "line" } }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "canvas.subtle" }
+
+"ui.menu" = { fg = "fg.default", bg = "canvas.overlay" }
+"ui.menu.selected" = { bg = "scale.gray.4" }
+"ui.menu.scroll" = { fg = "scale.gray.5", bg = "canvas.overlay" }
+
+"diagnostic.hint" = { underline = { color = "success.fg", style = "curl" } }
+"diagnostic.info" = { underline = { color = "accent.fg", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "attention.fg", style = "curl" } }
+"diagnostic.error" = { underline = { color = "danger.fg", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+hint = "success.fg"
+info = "accent.fg"
+warning = "attention.fg"
+error = "danger.fg"
+
+[palette]
+"accent.emphasis" = "#1f6feb"
+"accent.fg" = "#58a6ff"
+"accent.muted" = "#388bfd"
+"accent.subtle" = "#388bfd"
+"attention.emphasis" = "#9e6a03"
+"attention.fg" = "#d29922"
+"attention.muted" = "#bb8009"
+"attention.subtle" = "#bb8009"
+"border.default" = "#30363d"
+"border.muted" = "#21262d"
+"border.subtle" = "#f0f6fc"
+"canvas.default" = "#0d1117"
+"canvas.inset" = "#010409"
+"canvas.overlay" = "#161b22"
+"canvas.subtle" = "#161b22"
+"closed.emphasis" = "#da3633"
+"closed.fg" = "#f85149"
+"closed.muted" = "#f85149"
+"closed.subtle" = "#f85149"
+"danger.emphasis" = "#da3633"
+"danger.fg" = "#f85149"
+"danger.muted" = "#f85149"
+"danger.subtle" = "#f85149"
+"done.emphasis" = "#8957e5"
+"done.fg" = "#a371f7"
+"done.muted" = "#a371f7"
+"done.subtle" = "#a371f7"
+"fg.default" = "#c9d1d9"
+"fg.muted" = "#8b949e"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#6e7681"
+"neutral.emphasis" = "#6e7681"
+"neutral.emphasisPlus" = "#6e7681"
+"neutral.muted" = "#6e7681"
+"neutral.subtle" = "#6e7681"
+"open.emphasis" = "#238636"
+"open.fg" = "#3fb950"
+"open.muted" = "#2ea043"
+"open.subtle" = "#2ea043"
+"scale.black" = "#010409"
+"scale.blue.0" = "#cae8ff"
+"scale.blue.1" = "#a5d6ff"
+"scale.blue.2" = "#79c0ff"
+"scale.blue.3" = "#58a6ff"
+"scale.blue.4" = "#388bfd"
+"scale.blue.5" = "#1f6feb"
+"scale.blue.6" = "#1158c7"
+"scale.blue.7" = "#0d419d"
+"scale.blue.8" = "#0c2d6b"
+"scale.blue.9" = "#051d4d"
+"scale.coral.0" = "#ffddd2"
+"scale.coral.1" = "#ffc2b2"
+"scale.coral.2" = "#ffa28b"
+"scale.coral.3" = "#f78166"
+"scale.coral.4" = "#ea6045"
+"scale.coral.5" = "#cf462d"
+"scale.coral.6" = "#ac3220"
+"scale.coral.7" = "#872012"
+"scale.coral.8" = "#640d04"
+"scale.coral.9" = "#460701"
+"scale.gray.0" = "#f0f6fc"
+"scale.gray.1" = "#c9d1d9"
+"scale.gray.2" = "#b1bac4"
+"scale.gray.3" = "#8b949e"
+"scale.gray.4" = "#6e7681"
+"scale.gray.5" = "#484f58"
+"scale.gray.6" = "#30363d"
+"scale.gray.7" = "#21262d"
+"scale.gray.8" = "#161b22"
+"scale.gray.9" = "#0d1117"
+"scale.green.0" = "#aff5b4"
+"scale.green.1" = "#7ee787"
+"scale.green.2" = "#56d364"
+"scale.green.3" = "#3fb950"
+"scale.green.4" = "#2ea043"
+"scale.green.5" = "#238636"
+"scale.green.6" = "#196c2e"
+"scale.green.7" = "#0f5323"
+"scale.green.8" = "#033a16"
+"scale.green.9" = "#04260f"
+"scale.orange.0" = "#ffdfb6"
+"scale.orange.1" = "#ffc680"
+"scale.orange.2" = "#ffa657"
+"scale.orange.3" = "#f0883e"
+"scale.orange.4" = "#db6d28"
+"scale.orange.5" = "#bd561d"
+"scale.orange.6" = "#9b4215"
+"scale.orange.7" = "#762d0a"
+"scale.orange.8" = "#5a1e02"
+"scale.orange.9" = "#3d1300"
+"scale.pink.0" = "#ffdaec"
+"scale.pink.1" = "#ffbedd"
+"scale.pink.2" = "#ff9bce"
+"scale.pink.3" = "#f778ba"
+"scale.pink.4" = "#db61a2"
+"scale.pink.5" = "#bf4b8a"
+"scale.pink.6" = "#9e3670"
+"scale.pink.7" = "#7d2457"
+"scale.pink.8" = "#5e103e"
+"scale.pink.9" = "#42062a"
+"scale.purple.0" = "#eddeff"
+"scale.purple.1" = "#e2c5ff"
+"scale.purple.2" = "#d2a8ff"
+"scale.purple.3" = "#bc8cff"
+"scale.purple.4" = "#a371f7"
+"scale.purple.5" = "#8957e5"
+"scale.purple.6" = "#6e40c9"
+"scale.purple.7" = "#553098"
+"scale.purple.8" = "#3c1e70"
+"scale.purple.9" = "#271052"
+"scale.red.0" = "#ffdcd7"
+"scale.red.1" = "#ffc1ba"
+"scale.red.2" = "#ffa198"
+"scale.red.3" = "#ff7b72"
+"scale.red.4" = "#f85149"
+"scale.red.5" = "#da3633"
+"scale.red.6" = "#b62324"
+"scale.red.7" = "#8e1519"
+"scale.red.8" = "#67060c"
+"scale.red.9" = "#490202"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#f8e3a1"
+"scale.yellow.1" = "#f2cc60"
+"scale.yellow.2" = "#e3b341"
+"scale.yellow.3" = "#d29922"
+"scale.yellow.4" = "#bb8009"
+"scale.yellow.5" = "#9e6a03"
+"scale.yellow.6" = "#845306"
+"scale.yellow.7" = "#693e00"
+"scale.yellow.8" = "#4b2900"
+"scale.yellow.9" = "#341a00"
+"severe.emphasis" = "#bd561d"
+"severe.fg" = "#db6d28"
+"severe.muted" = "#db6d28"
+"severe.subtle" = "#db6d28"
+"sponsors.emphasis" = "#bf4b8a"
+"sponsors.fg" = "#db61a2"
+"sponsors.muted" = "#db61a2"
+"sponsors.subtle" = "#db61a2"
+"success.emphasis" = "#238636"
+"success.fg" = "#3fb950"
+"success.muted" = "#2ea043"
+"success.subtle" = "#2ea043"
diff --git a/vendor/themes/github_dark_colorblind.toml b/vendor/themes/github_dark_colorblind.toml
new file mode 100644
index 00000000..abff1aaf
--- /dev/null
+++ b/vendor/themes/github_dark_colorblind.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_dark"
+
+[palette]
+"accent.emphasis" = "#1f6feb"
+"accent.fg" = "#58a6ff"
+"accent.muted" = "#388bfd"
+"accent.subtle" = "#388bfd"
+"attention.emphasis" = "#9e6a03"
+"attention.fg" = "#d29922"
+"attention.muted" = "#bb8009"
+"attention.subtle" = "#bb8009"
+"border.default" = "#30363d"
+"border.muted" = "#21262d"
+"border.subtle" = "#f0f6fc"
+"canvas.default" = "#0d1117"
+"canvas.inset" = "#010409"
+"canvas.overlay" = "#161b22"
+"canvas.subtle" = "#161b22"
+"closed.emphasis" = "#6e7681"
+"closed.fg" = "#8b949e"
+"closed.muted" = "#6e7681"
+"closed.subtle" = "#6e7681"
+"danger.emphasis" = "#b76100"
+"danger.fg" = "#d47616"
+"danger.muted" = "#d47616"
+"danger.subtle" = "#d47616"
+"done.emphasis" = "#8957e5"
+"done.fg" = "#a371f7"
+"done.muted" = "#a371f7"
+"done.subtle" = "#a371f7"
+"fg.default" = "#c9d1d9"
+"fg.muted" = "#8b949e"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#6e7681"
+"neutral.emphasis" = "#6e7681"
+"neutral.emphasisPlus" = "#6e7681"
+"neutral.muted" = "#6e7681"
+"neutral.subtle" = "#6e7681"
+"open.emphasis" = "#b76100"
+"open.fg" = "#ec8e2c"
+"open.muted" = "#d47616"
+"open.subtle" = "#d47616"
+"scale.black" = "#010409"
+"scale.blue.0" = "#cae8ff"
+"scale.blue.1" = "#a5d6ff"
+"scale.blue.2" = "#79c0ff"
+"scale.blue.3" = "#58a6ff"
+"scale.blue.4" = "#388bfd"
+"scale.blue.5" = "#1f6feb"
+"scale.blue.6" = "#1158c7"
+"scale.blue.7" = "#0d419d"
+"scale.blue.8" = "#0c2d6b"
+"scale.blue.9" = "#051d4d"
+"scale.coral.0" = "#ffddd2"
+"scale.coral.1" = "#ffc2b2"
+"scale.coral.2" = "#ffa28b"
+"scale.coral.3" = "#f78166"
+"scale.coral.4" = "#ea6045"
+"scale.coral.5" = "#cf462d"
+"scale.coral.6" = "#ac3220"
+"scale.coral.7" = "#872012"
+"scale.coral.8" = "#640d04"
+"scale.coral.9" = "#460701"
+"scale.gray.0" = "#f0f6fc"
+"scale.gray.1" = "#c9d1d9"
+"scale.gray.2" = "#b1bac4"
+"scale.gray.3" = "#8b949e"
+"scale.gray.4" = "#6e7681"
+"scale.gray.5" = "#484f58"
+"scale.gray.6" = "#30363d"
+"scale.gray.7" = "#21262d"
+"scale.gray.8" = "#161b22"
+"scale.gray.9" = "#0d1117"
+"scale.green.0" = "#cae8ff"
+"scale.green.1" = "#a5d6ff"
+"scale.green.2" = "#79c0ff"
+"scale.green.3" = "#58a6ff"
+"scale.green.4" = "#388bfd"
+"scale.green.5" = "#1f6feb"
+"scale.green.6" = "#1158c7"
+"scale.green.7" = "#0d419d"
+"scale.green.8" = "#0c2d6b"
+"scale.green.9" = "#051d4d"
+"scale.orange.0" = "#ffe2bb"
+"scale.orange.1" = "#ffc981"
+"scale.orange.2" = "#fdac54"
+"scale.orange.3" = "#ec8e2c"
+"scale.orange.4" = "#d47616"
+"scale.orange.5" = "#b76100"
+"scale.orange.6" = "#914d04"
+"scale.orange.7" = "#6c3906"
+"scale.orange.8" = "#4e2906"
+"scale.orange.9" = "#331c04"
+"scale.pink.0" = "#ffdaec"
+"scale.pink.1" = "#ffbedd"
+"scale.pink.2" = "#ff9bce"
+"scale.pink.3" = "#f778ba"
+"scale.pink.4" = "#db61a2"
+"scale.pink.5" = "#bf4b8a"
+"scale.pink.6" = "#9e3670"
+"scale.pink.7" = "#7d2457"
+"scale.pink.8" = "#5e103e"
+"scale.pink.9" = "#42062a"
+"scale.purple.0" = "#eddeff"
+"scale.purple.1" = "#e2c5ff"
+"scale.purple.2" = "#d2a8ff"
+"scale.purple.3" = "#bc8cff"
+"scale.purple.4" = "#a371f7"
+"scale.purple.5" = "#8957e5"
+"scale.purple.6" = "#6e40c9"
+"scale.purple.7" = "#553098"
+"scale.purple.8" = "#3c1e70"
+"scale.purple.9" = "#271052"
+"scale.red.0" = "#ffe2bb"
+"scale.red.1" = "#ffc981"
+"scale.red.2" = "#fdac54"
+"scale.red.3" = "#ec8e2c"
+"scale.red.4" = "#d47616"
+"scale.red.5" = "#b76100"
+"scale.red.6" = "#914d04"
+"scale.red.7" = "#6c3906"
+"scale.red.8" = "#4e2906"
+"scale.red.9" = "#331c04"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#f8e3a1"
+"scale.yellow.1" = "#f2cc60"
+"scale.yellow.2" = "#e3b341"
+"scale.yellow.3" = "#d29922"
+"scale.yellow.4" = "#bb8009"
+"scale.yellow.5" = "#9e6a03"
+"scale.yellow.6" = "#845306"
+"scale.yellow.7" = "#693e00"
+"scale.yellow.8" = "#4b2900"
+"scale.yellow.9" = "#341a00"
+"severe.emphasis" = "#b76100"
+"severe.fg" = "#d47616"
+"severe.muted" = "#d47616"
+"severe.subtle" = "#d47616"
+"sponsors.emphasis" = "#bf4b8a"
+"sponsors.fg" = "#db61a2"
+"sponsors.muted" = "#db61a2"
+"sponsors.subtle" = "#db61a2"
+"success.emphasis" = "#1f6feb"
+"success.fg" = "#58a6ff"
+"success.muted" = "#388bfd"
+"success.subtle" = "#388bfd"
diff --git a/vendor/themes/github_dark_dimmed.toml b/vendor/themes/github_dark_dimmed.toml
new file mode 100644
index 00000000..5a5a6b2f
--- /dev/null
+++ b/vendor/themes/github_dark_dimmed.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_dark"
+
+[palette]
+"accent.emphasis" = "#316dca"
+"accent.fg" = "#539bf5"
+"accent.muted" = "#4184e4"
+"accent.subtle" = "#4184e4"
+"attention.emphasis" = "#966600"
+"attention.fg" = "#c69026"
+"attention.muted" = "#ae7c14"
+"attention.subtle" = "#ae7c14"
+"border.default" = "#444c56"
+"border.muted" = "#373e47"
+"border.subtle" = "#cdd9e5"
+"canvas.default" = "#22272e"
+"canvas.inset" = "#1c2128"
+"canvas.overlay" = "#2d333b"
+"canvas.subtle" = "#2d333b"
+"closed.emphasis" = "#c93c37"
+"closed.fg" = "#e5534b"
+"closed.muted" = "#e5534b"
+"closed.subtle" = "#e5534b"
+"danger.emphasis" = "#c93c37"
+"danger.fg" = "#e5534b"
+"danger.muted" = "#e5534b"
+"danger.subtle" = "#e5534b"
+"done.emphasis" = "#8256d0"
+"done.fg" = "#986ee2"
+"done.muted" = "#986ee2"
+"done.subtle" = "#986ee2"
+"fg.default" = "#adbac7"
+"fg.muted" = "#768390"
+"fg.onEmphasis" = "#cdd9e5"
+"fg.subtle" = "#636e7b"
+"neutral.emphasis" = "#636e7b"
+"neutral.emphasisPlus" = "#636e7b"
+"neutral.muted" = "#636e7b"
+"neutral.subtle" = "#636e7b"
+"open.emphasis" = "#347d39"
+"open.fg" = "#57ab5a"
+"open.muted" = "#46954a"
+"open.subtle" = "#46954a"
+"scale.black" = "#1c2128"
+"scale.blue.0" = "#c6e6ff"
+"scale.blue.1" = "#96d0ff"
+"scale.blue.2" = "#6cb6ff"
+"scale.blue.3" = "#539bf5"
+"scale.blue.4" = "#4184e4"
+"scale.blue.5" = "#316dca"
+"scale.blue.6" = "#255ab2"
+"scale.blue.7" = "#1b4b91"
+"scale.blue.8" = "#143d79"
+"scale.blue.9" = "#0f2d5c"
+"scale.coral.0" = "#ffdacf"
+"scale.coral.1" = "#ffb9a5"
+"scale.coral.2" = "#f79981"
+"scale.coral.3" = "#ec775c"
+"scale.coral.4" = "#de5b41"
+"scale.coral.5" = "#c2442d"
+"scale.coral.6" = "#a93524"
+"scale.coral.7" = "#8d291b"
+"scale.coral.8" = "#771d13"
+"scale.coral.9" = "#5d1008"
+"scale.gray.0" = "#cdd9e5"
+"scale.gray.1" = "#adbac7"
+"scale.gray.2" = "#909dab"
+"scale.gray.3" = "#768390"
+"scale.gray.4" = "#636e7b"
+"scale.gray.5" = "#545d68"
+"scale.gray.6" = "#444c56"
+"scale.gray.7" = "#373e47"
+"scale.gray.8" = "#2d333b"
+"scale.gray.9" = "#22272e"
+"scale.green.0" = "#b4f1b4"
+"scale.green.1" = "#8ddb8c"
+"scale.green.2" = "#6bc46d"
+"scale.green.3" = "#57ab5a"
+"scale.green.4" = "#46954a"
+"scale.green.5" = "#347d39"
+"scale.green.6" = "#2b6a30"
+"scale.green.7" = "#245829"
+"scale.green.8" = "#1b4721"
+"scale.green.9" = "#113417"
+"scale.orange.0" = "#ffddb0"
+"scale.orange.1" = "#ffbc6f"
+"scale.orange.2" = "#f69d50"
+"scale.orange.3" = "#e0823d"
+"scale.orange.4" = "#cc6b2c"
+"scale.orange.5" = "#ae5622"
+"scale.orange.6" = "#94471b"
+"scale.orange.7" = "#7f3913"
+"scale.orange.8" = "#682d0f"
+"scale.orange.9" = "#4d210c"
+"scale.pink.0" = "#ffd7eb"
+"scale.pink.1" = "#ffb3d8"
+"scale.pink.2" = "#fc8dc7"
+"scale.pink.3" = "#e275ad"
+"scale.pink.4" = "#c96198"
+"scale.pink.5" = "#ae4c82"
+"scale.pink.6" = "#983b6e"
+"scale.pink.7" = "#7e325a"
+"scale.pink.8" = "#69264a"
+"scale.pink.9" = "#551639"
+"scale.purple.0" = "#eedcff"
+"scale.purple.1" = "#dcbdfb"
+"scale.purple.2" = "#dcbdfb"
+"scale.purple.3" = "#b083f0"
+"scale.purple.4" = "#986ee2"
+"scale.purple.5" = "#8256d0"
+"scale.purple.6" = "#6b44bc"
+"scale.purple.7" = "#5936a2"
+"scale.purple.8" = "#472c82"
+"scale.purple.9" = "#352160"
+"scale.red.0" = "#ffd8d3"
+"scale.red.1" = "#ffb8b0"
+"scale.red.2" = "#ff938a"
+"scale.red.3" = "#f47067"
+"scale.red.4" = "#e5534b"
+"scale.red.5" = "#c93c37"
+"scale.red.6" = "#ad2e2c"
+"scale.red.7" = "#922323"
+"scale.red.8" = "#78191b"
+"scale.red.9" = "#5d0f12"
+"scale.white" = "#cdd9e5"
+"scale.yellow.0" = "#fbe090"
+"scale.yellow.1" = "#eac55f"
+"scale.yellow.2" = "#daaa3f"
+"scale.yellow.3" = "#c69026"
+"scale.yellow.4" = "#ae7c14"
+"scale.yellow.5" = "#966600"
+"scale.yellow.6" = "#805400"
+"scale.yellow.7" = "#6c4400"
+"scale.yellow.8" = "#593600"
+"scale.yellow.9" = "#452700"
+"severe.emphasis" = "#ae5622"
+"severe.fg" = "#cc6b2c"
+"severe.muted" = "#cc6b2c"
+"severe.subtle" = "#cc6b2c"
+"sponsors.emphasis" = "#ae4c82"
+"sponsors.fg" = "#c96198"
+"sponsors.muted" = "#c96198"
+"sponsors.subtle" = "#c96198"
+"success.emphasis" = "#347d39"
+"success.fg" = "#57ab5a"
+"success.muted" = "#46954a"
+"success.subtle" = "#46954a"
diff --git a/vendor/themes/github_dark_high_contrast.toml b/vendor/themes/github_dark_high_contrast.toml
new file mode 100644
index 00000000..aa1c08e1
--- /dev/null
+++ b/vendor/themes/github_dark_high_contrast.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_dark"
+
+[palette]
+"accent.emphasis" = "#409eff"
+"accent.fg" = "#71b7ff"
+"accent.muted" = "#409eff"
+"accent.subtle" = "#409eff"
+"attention.emphasis" = "#e09b13"
+"attention.fg" = "#f0b72f"
+"attention.muted" = "#e09b13"
+"attention.subtle" = "#e09b13"
+"border.default" = "#7a828e"
+"border.muted" = "#7a828e"
+"border.subtle" = "#7a828e"
+"canvas.default" = "#0a0c10"
+"canvas.inset" = "#010409"
+"canvas.overlay" = "#272b33"
+"canvas.subtle" = "#272b33"
+"closed.emphasis" = "#ff6a69"
+"closed.fg" = "#ff6a69"
+"closed.muted" = "#ff6a69"
+"closed.subtle" = "#ff6a69"
+"danger.emphasis" = "#ff6a69"
+"danger.fg" = "#ff6a69"
+"danger.muted" = "#ff6a69"
+"danger.subtle" = "#ff6a69"
+"done.emphasis" = "#b87fff"
+"done.fg" = "#b780ff"
+"done.muted" = "#b780ff"
+"done.subtle" = "#b780ff"
+"fg.default" = "#f0f3f6"
+"fg.muted" = "#f0f3f6"
+"fg.onEmphasis" = "#0a0c10"
+"fg.subtle" = "#9ea7b3"
+"neutral.emphasis" = "#9ea7b3"
+"neutral.emphasisPlus" = "#ffffff"
+"neutral.muted" = "#9ea7b3"
+"neutral.subtle" = "#9ea7b3"
+"open.emphasis" = "#09b43a"
+"open.fg" = "#26cd4d"
+"open.muted" = "#09b43a"
+"open.subtle" = "#09b43a"
+"scale.black" = "#010409"
+"scale.blue.0" = "#caeaff"
+"scale.blue.1" = "#addcff"
+"scale.blue.2" = "#91cbff"
+"scale.blue.3" = "#71b7ff"
+"scale.blue.4" = "#409eff"
+"scale.blue.5" = "#409eff"
+"scale.blue.6" = "#318bf8"
+"scale.blue.7" = "#2672f3"
+"scale.blue.8" = "#1e60d5"
+"scale.blue.9" = "#194fb1"
+"scale.coral.0" = "#ffded4"
+"scale.coral.1" = "#ffcbb9"
+"scale.coral.2" = "#ffb39b"
+"scale.coral.3" = "#ff967d"
+"scale.coral.4" = "#fc704f"
+"scale.coral.5" = "#fc704f"
+"scale.coral.6" = "#f75133"
+"scale.coral.7" = "#e03b21"
+"scale.coral.8" = "#c62612"
+"scale.coral.9" = "#a91500"
+"scale.gray.0" = "#ffffff"
+"scale.gray.1" = "#f0f3f6"
+"scale.gray.2" = "#d9dee3"
+"scale.gray.3" = "#bdc4cc"
+"scale.gray.4" = "#9ea7b3"
+"scale.gray.5" = "#7a828e"
+"scale.gray.6" = "#525964"
+"scale.gray.7" = "#272b33"
+"scale.gray.8" = "#272b33"
+"scale.gray.9" = "#0a0c10"
+"scale.green.0" = "#acf7b6"
+"scale.green.1" = "#72f088"
+"scale.green.2" = "#4ae168"
+"scale.green.3" = "#26cd4d"
+"scale.green.4" = "#09b43a"
+"scale.green.5" = "#09b43a"
+"scale.green.6" = "#02a232"
+"scale.green.7" = "#008c2c"
+"scale.green.8" = "#007728"
+"scale.green.9" = "#006222"
+"scale.orange.0" = "#ffe1b4"
+"scale.orange.1" = "#ffcf86"
+"scale.orange.2" = "#ffb757"
+"scale.orange.3" = "#fe9a2d"
+"scale.orange.4" = "#e7811d"
+"scale.orange.5" = "#e7811d"
+"scale.orange.6" = "#d57014"
+"scale.orange.7" = "#bf5e0a"
+"scale.orange.8" = "#a74c00"
+"scale.orange.9" = "#8f3c00"
+"scale.pink.0" = "#ffdceb"
+"scale.pink.1" = "#ffc7e1"
+"scale.pink.2" = "#ffadd4"
+"scale.pink.3" = "#ff8dc7"
+"scale.pink.4" = "#ef6eb1"
+"scale.pink.5" = "#ef6eb1"
+"scale.pink.6" = "#e456a3"
+"scale.pink.7" = "#d23d91"
+"scale.pink.8" = "#b72c7d"
+"scale.pink.9" = "#9c1d6a"
+"scale.purple.0" = "#f0dfff"
+"scale.purple.1" = "#e6ccff"
+"scale.purple.2" = "#dbb7ff"
+"scale.purple.3" = "#cb9eff"
+"scale.purple.4" = "#b780ff"
+"scale.purple.5" = "#b87fff"
+"scale.purple.6" = "#a66bff"
+"scale.purple.7" = "#954ffd"
+"scale.purple.8" = "#8031f7"
+"scale.purple.9" = "#6921d7"
+"scale.red.0" = "#ffdedb"
+"scale.red.1" = "#ffc9c7"
+"scale.red.2" = "#ffb1af"
+"scale.red.3" = "#ff9492"
+"scale.red.4" = "#ff6a69"
+"scale.red.5" = "#ff6a69"
+"scale.red.6" = "#ff4445"
+"scale.red.7" = "#e82a2f"
+"scale.red.8" = "#cc1421"
+"scale.red.9" = "#ad0116"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#fbe59e"
+"scale.yellow.1" = "#fbd669"
+"scale.yellow.2" = "#f7c843"
+"scale.yellow.3" = "#f0b72f"
+"scale.yellow.4" = "#e09b13"
+"scale.yellow.5" = "#e09b13"
+"scale.yellow.6" = "#c88508"
+"scale.yellow.7" = "#ae7104"
+"scale.yellow.8" = "#945d02"
+"scale.yellow.9" = "#7b4900"
+"severe.emphasis" = "#e7811d"
+"severe.fg" = "#e7811d"
+"severe.muted" = "#e7811d"
+"severe.subtle" = "#e7811d"
+"sponsors.emphasis" = "#ef6eb1"
+"sponsors.fg" = "#ef6eb1"
+"sponsors.muted" = "#ef6eb1"
+"sponsors.subtle" = "#ef6eb1"
+"success.emphasis" = "#09b43a"
+"success.fg" = "#26cd4d"
+"success.muted" = "#09b43a"
+"success.subtle" = "#09b43a"
diff --git a/vendor/themes/github_dark_tritanopia.toml b/vendor/themes/github_dark_tritanopia.toml
new file mode 100644
index 00000000..505cc992
--- /dev/null
+++ b/vendor/themes/github_dark_tritanopia.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_dark"
+
+[palette]
+"accent.emphasis" = "#1f6feb"
+"accent.fg" = "#58a6ff"
+"accent.muted" = "#388bfd"
+"accent.subtle" = "#388bfd"
+"attention.emphasis" = "#9e6a03"
+"attention.fg" = "#d29922"
+"attention.muted" = "#bb8009"
+"attention.subtle" = "#bb8009"
+"border.default" = "#30363d"
+"border.muted" = "#21262d"
+"border.subtle" = "#f0f6fc"
+"canvas.default" = "#0d1117"
+"canvas.inset" = "#010409"
+"canvas.overlay" = "#161b22"
+"canvas.subtle" = "#161b22"
+"closed.emphasis" = "#6e7681"
+"closed.fg" = "#8b949e"
+"closed.muted" = "#6e7681"
+"closed.subtle" = "#6e7681"
+"danger.emphasis" = "#da3633"
+"danger.fg" = "#f85149"
+"danger.muted" = "#f85149"
+"danger.subtle" = "#f85149"
+"done.emphasis" = "#8957e5"
+"done.fg" = "#a371f7"
+"done.muted" = "#a371f7"
+"done.subtle" = "#a371f7"
+"fg.default" = "#c9d1d9"
+"fg.muted" = "#8b949e"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#6e7681"
+"neutral.emphasis" = "#6e7681"
+"neutral.emphasisPlus" = "#6e7681"
+"neutral.muted" = "#6e7681"
+"neutral.subtle" = "#6e7681"
+"open.emphasis" = "#da3633"
+"open.fg" = "#ff7b72"
+"open.muted" = "#f85149"
+"open.subtle" = "#f85149"
+"scale.black" = "#010409"
+"scale.blue.0" = "#cae8ff"
+"scale.blue.1" = "#a5d6ff"
+"scale.blue.2" = "#79c0ff"
+"scale.blue.3" = "#58a6ff"
+"scale.blue.4" = "#388bfd"
+"scale.blue.5" = "#1f6feb"
+"scale.blue.6" = "#1158c7"
+"scale.blue.7" = "#0d419d"
+"scale.blue.8" = "#0c2d6b"
+"scale.blue.9" = "#051d4d"
+"scale.coral.0" = "#ffddd2"
+"scale.coral.1" = "#ffc2b2"
+"scale.coral.2" = "#ffa28b"
+"scale.coral.3" = "#f78166"
+"scale.coral.4" = "#ea6045"
+"scale.coral.5" = "#cf462d"
+"scale.coral.6" = "#ac3220"
+"scale.coral.7" = "#872012"
+"scale.coral.8" = "#640d04"
+"scale.coral.9" = "#460701"
+"scale.gray.0" = "#f0f6fc"
+"scale.gray.1" = "#c9d1d9"
+"scale.gray.2" = "#b1bac4"
+"scale.gray.3" = "#8b949e"
+"scale.gray.4" = "#6e7681"
+"scale.gray.5" = "#484f58"
+"scale.gray.6" = "#30363d"
+"scale.gray.7" = "#21262d"
+"scale.gray.8" = "#161b22"
+"scale.gray.9" = "#0d1117"
+"scale.green.0" = "#cae8ff"
+"scale.green.1" = "#a5d6ff"
+"scale.green.2" = "#79c0ff"
+"scale.green.3" = "#58a6ff"
+"scale.green.4" = "#388bfd"
+"scale.green.5" = "#1f6feb"
+"scale.green.6" = "#1158c7"
+"scale.green.7" = "#0d419d"
+"scale.green.8" = "#0c2d6b"
+"scale.green.9" = "#051d4d"
+"scale.orange.0" = "#ffdcd7"
+"scale.orange.1" = "#ffc1ba"
+"scale.orange.2" = "#ffa198"
+"scale.orange.3" = "#ff7b72"
+"scale.orange.4" = "#f85149"
+"scale.orange.5" = "#da3633"
+"scale.orange.6" = "#b62324"
+"scale.orange.7" = "#8e1519"
+"scale.orange.8" = "#67060c"
+"scale.orange.9" = "#490202"
+"scale.pink.0" = "#ffdaec"
+"scale.pink.1" = "#ffbedd"
+"scale.pink.2" = "#ff9bce"
+"scale.pink.3" = "#f778ba"
+"scale.pink.4" = "#db61a2"
+"scale.pink.5" = "#bf4b8a"
+"scale.pink.6" = "#9e3670"
+"scale.pink.7" = "#7d2457"
+"scale.pink.8" = "#5e103e"
+"scale.pink.9" = "#42062a"
+"scale.purple.0" = "#eddeff"
+"scale.purple.1" = "#e2c5ff"
+"scale.purple.2" = "#d2a8ff"
+"scale.purple.3" = "#bc8cff"
+"scale.purple.4" = "#a371f7"
+"scale.purple.5" = "#8957e5"
+"scale.purple.6" = "#6e40c9"
+"scale.purple.7" = "#553098"
+"scale.purple.8" = "#3c1e70"
+"scale.purple.9" = "#271052"
+"scale.red.0" = "#ffdcd7"
+"scale.red.1" = "#ffc1ba"
+"scale.red.2" = "#ffa198"
+"scale.red.3" = "#ff7b72"
+"scale.red.4" = "#f85149"
+"scale.red.5" = "#da3633"
+"scale.red.6" = "#b62324"
+"scale.red.7" = "#8e1519"
+"scale.red.8" = "#67060c"
+"scale.red.9" = "#490202"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#f8e3a1"
+"scale.yellow.1" = "#f2cc60"
+"scale.yellow.2" = "#e3b341"
+"scale.yellow.3" = "#d29922"
+"scale.yellow.4" = "#bb8009"
+"scale.yellow.5" = "#9e6a03"
+"scale.yellow.6" = "#845306"
+"scale.yellow.7" = "#693e00"
+"scale.yellow.8" = "#4b2900"
+"scale.yellow.9" = "#341a00"
+"severe.emphasis" = "#da3633"
+"severe.fg" = "#f85149"
+"severe.muted" = "#f85149"
+"severe.subtle" = "#f85149"
+"sponsors.emphasis" = "#bf4b8a"
+"sponsors.fg" = "#db61a2"
+"sponsors.muted" = "#db61a2"
+"sponsors.subtle" = "#db61a2"
+"success.emphasis" = "#1f6feb"
+"success.fg" = "#58a6ff"
+"success.muted" = "#388bfd"
+"success.subtle" = "#388bfd"
diff --git a/vendor/themes/github_light.toml b/vendor/themes/github_light.toml
new file mode 100644
index 00000000..b9530b97
--- /dev/null
+++ b/vendor/themes/github_light.toml
@@ -0,0 +1,234 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+attribute = "fg.default"
+keyword = "scale.red.5"
+"keyword.directive" = "scale.red.5" # -- preprocessor comments (#if in C)
+namespace = "scale.orange.6"
+punctuation = "fg.default"
+"punctuation.delimiter" = "fg.default"
+operator = "scale.blue.8"
+special = "scale.blue.8"
+"variable.other.member" = "scale.blue.8"
+variable = "fg.default"
+"variable.parameter" = "scale.orange.6"
+"variable.builtin" = "scale.red.5"
+type = "scale.orange.6"
+"type.builtin" = "scale.blue.6"
+constructor = "done.fg"
+function = "done.fg"
+"function.macro" = "done.fg"
+tag = "scale.green.6"
+comment = "fg.muted"
+constant = "scale.blue.6"
+"constant.builtin" = "scale.blue.6"
+string = "scale.blue.8"
+"constant.numeric" = "scale.blue.6"
+"constant.character.escape" = "scale.blue.6"
+# used for lifetimes
+label = "scale.red.5"
+
+"markup.heading" = "scale.blue.6"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { modifiers = ["underlined"] }
+"markup.link.text" = { fg = "scale.blue.8", modifiers = ["underlined"] }
+"markup.raw" = "scale.blue.6"
+
+"diff.plus" = "open.fg"
+"diff.minus" = "closed.fg"
+"diff.delta" = "attention.fg"
+
+"ui.background" = { bg = "canvas.default" }
+"ui.background.separator" = { fg = "fg.subtle" }
+"ui.linenr" = { fg = "fg.subtle" }
+"ui.linenr.selected" = { fg = "fg.default" }
+"ui.statusline" = { fg = "fg.muted", bg = "neutral.subtle" }
+"ui.statusline.active" = { fg = "fg.default", bg = "canvas.default", underline = { color = "scale.coral.3", style = "line" } }
+"ui.statusline.normal" = { fg = "fg.default", bg = "accent.muted" }
+"ui.statusline.insert" = { fg = "fg.default", bg = "attention.muted" }
+"ui.statusline.select" = { fg = "fg.default", bg = "sponsors.muted" }
+"ui.popup" = { bg = "scale.gray.0" }
+"ui.popup.info" = { fg = "fg.default", bg = "scale.gray.0" }
+"ui.window" = { fg = "border.default" }
+"ui.help" = { fg = "fg.default", bg = "scale.gray.0" }
+
+"ui.text" = { fg = "fg.muted" }
+"ui.text.focus" = { fg = "fg.default" }
+"ui.text.inactive" = "fg.subtle"
+"ui.text.directory" = { fg = "scale.blue.4" }
+"ui.virtual" = { fg = "scale.gray.2" }
+"ui.virtual.ruler" = { bg = "canvas.subtle" }
+"ui.virtual.jump-label" = { modifiers = ["reversed"] }
+
+"ui.selection" = { bg = "scale.blue.0" }
+"ui.selection.primary" = { bg = "scale.blue.1" }
+"ui.cursor.match" = { fg = "attention.fg", modifiers = [
+ "bold",
+], underline = { style = "line" } }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "canvas.subtle" }
+
+"ui.menu" = { fg = "fg.default", bg = "scale.gray.0" }
+"ui.menu.selected" = { bg = "scale.gray.1" }
+"ui.menu.scroll" = { fg = "scale.gray.2", bg = "scale.gray.0" }
+
+"diagnostic.hint" = { underline = { color = "success.fg", style = "curl" } }
+"diagnostic.info" = { underline = { color = "accent.fg", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "attention.fg", style = "curl" } }
+"diagnostic.error" = { underline = { color = "danger.fg", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+hint = "success.fg"
+info = "accent.fg"
+warning = "attention.fg"
+error = "danger.fg"
+
+[palette]
+"accent.emphasis" = "#0969da"
+"accent.fg" = "#0969da"
+"accent.muted" = "#54aeff"
+"accent.subtle" = "#ddf4ff"
+"attention.emphasis" = "#bf8700"
+"attention.fg" = "#9a6700"
+"attention.muted" = "#d4a72c"
+"attention.subtle" = "#fff8c5"
+"border.default" = "#d0d7de"
+"border.muted" = "#d8dee4"
+"border.subtle" = "#1b1f24"
+"canvas.default" = "#ffffff"
+"canvas.inset" = "#f6f8fa"
+"canvas.overlay" = "#ffffff"
+"canvas.subtle" = "#f6f8fa"
+"closed.emphasis" = "#cf222e"
+"closed.fg" = "#cf222e"
+"closed.muted" = "#ff8182"
+"closed.subtle" = "#ffebe9"
+"danger.emphasis" = "#cf222e"
+"danger.fg" = "#cf222e"
+"danger.muted" = "#ff8182"
+"danger.subtle" = "#ffebe9"
+"done.emphasis" = "#8250df"
+"done.fg" = "#8250df"
+"done.muted" = "#c297ff"
+"done.subtle" = "#fbefff"
+"fg.default" = "#24292f"
+"fg.muted" = "#57606a"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#6e7781"
+"neutral.emphasis" = "#6e7781"
+"neutral.emphasisPlus" = "#24292f"
+"neutral.muted" = "#afb8c1"
+"neutral.subtle" = "#eaeef2"
+"open.emphasis" = "#2da44e"
+"open.fg" = "#1a7f37"
+"open.muted" = "#4ac26b"
+"open.subtle" = "#dafbe1"
+"scale.black" = "#1b1f24"
+"scale.blue.0" = "#ddf4ff"
+"scale.blue.1" = "#b6e3ff"
+"scale.blue.2" = "#80ccff"
+"scale.blue.3" = "#54aeff"
+"scale.blue.4" = "#218bff"
+"scale.blue.5" = "#0969da"
+"scale.blue.6" = "#0550ae"
+"scale.blue.7" = "#033d8b"
+"scale.blue.8" = "#0a3069"
+"scale.blue.9" = "#002155"
+"scale.coral.0" = "#fff0eb"
+"scale.coral.1" = "#ffd6cc"
+"scale.coral.2" = "#ffb4a1"
+"scale.coral.3" = "#fd8c73"
+"scale.coral.4" = "#ec6547"
+"scale.coral.5" = "#c4432b"
+"scale.coral.6" = "#9e2f1c"
+"scale.coral.7" = "#801f0f"
+"scale.coral.8" = "#691105"
+"scale.coral.9" = "#510901"
+"scale.gray.0" = "#f6f8fa"
+"scale.gray.1" = "#eaeef2"
+"scale.gray.2" = "#d0d7de"
+"scale.gray.3" = "#afb8c1"
+"scale.gray.4" = "#8c959f"
+"scale.gray.5" = "#6e7781"
+"scale.gray.6" = "#57606a"
+"scale.gray.7" = "#424a53"
+"scale.gray.8" = "#32383f"
+"scale.gray.9" = "#24292f"
+"scale.green.0" = "#dafbe1"
+"scale.green.1" = "#aceebb"
+"scale.green.2" = "#6fdd8b"
+"scale.green.3" = "#4ac26b"
+"scale.green.4" = "#2da44e"
+"scale.green.5" = "#1a7f37"
+"scale.green.6" = "#116329"
+"scale.green.7" = "#044f1e"
+"scale.green.8" = "#003d16"
+"scale.green.9" = "#002d11"
+"scale.orange.0" = "#fff1e5"
+"scale.orange.1" = "#ffd8b5"
+"scale.orange.2" = "#ffb77c"
+"scale.orange.3" = "#fb8f44"
+"scale.orange.4" = "#e16f24"
+"scale.orange.5" = "#bc4c00"
+"scale.orange.6" = "#953800"
+"scale.orange.7" = "#762c00"
+"scale.orange.8" = "#5c2200"
+"scale.orange.9" = "#471700"
+"scale.pink.0" = "#ffeff7"
+"scale.pink.1" = "#ffd3eb"
+"scale.pink.2" = "#ffadda"
+"scale.pink.3" = "#ff80c8"
+"scale.pink.4" = "#e85aad"
+"scale.pink.5" = "#bf3989"
+"scale.pink.6" = "#99286e"
+"scale.pink.7" = "#772057"
+"scale.pink.8" = "#611347"
+"scale.pink.9" = "#4d0336"
+"scale.purple.0" = "#fbefff"
+"scale.purple.1" = "#ecd8ff"
+"scale.purple.2" = "#d8b9ff"
+"scale.purple.3" = "#c297ff"
+"scale.purple.4" = "#a475f9"
+"scale.purple.5" = "#8250df"
+"scale.purple.6" = "#6639ba"
+"scale.purple.7" = "#512a97"
+"scale.purple.8" = "#3e1f79"
+"scale.purple.9" = "#2e1461"
+"scale.red.0" = "#ffebe9"
+"scale.red.1" = "#ffcecb"
+"scale.red.2" = "#ffaba8"
+"scale.red.3" = "#ff8182"
+"scale.red.4" = "#fa4549"
+"scale.red.5" = "#cf222e"
+"scale.red.6" = "#a40e26"
+"scale.red.7" = "#82071e"
+"scale.red.8" = "#660018"
+"scale.red.9" = "#4c0014"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#fff8c5"
+"scale.yellow.1" = "#fae17d"
+"scale.yellow.2" = "#eac54f"
+"scale.yellow.3" = "#d4a72c"
+"scale.yellow.4" = "#bf8700"
+"scale.yellow.5" = "#9a6700"
+"scale.yellow.6" = "#7d4e00"
+"scale.yellow.7" = "#633c01"
+"scale.yellow.8" = "#4d2d00"
+"scale.yellow.9" = "#3b2300"
+"severe.emphasis" = "#bc4c00"
+"severe.fg" = "#bc4c00"
+"severe.muted" = "#fb8f44"
+"severe.subtle" = "#fff1e5"
+"sponsors.emphasis" = "#bf3989"
+"sponsors.fg" = "#bf3989"
+"sponsors.muted" = "#ff80c8"
+"sponsors.subtle" = "#ffeff7"
+"success.emphasis" = "#2da44e"
+"success.fg" = "#1a7f37"
+"success.muted" = "#4ac26b"
+"success.subtle" = "#dafbe1"
diff --git a/vendor/themes/github_light_colorblind.toml b/vendor/themes/github_light_colorblind.toml
new file mode 100644
index 00000000..931e54be
--- /dev/null
+++ b/vendor/themes/github_light_colorblind.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_light"
+
+[palette]
+"accent.emphasis" = "#0969da"
+"accent.fg" = "#0969da"
+"accent.muted" = "#54aeff"
+"accent.subtle" = "#ddf4ff"
+"attention.emphasis" = "#bf8700"
+"attention.fg" = "#9a6700"
+"attention.muted" = "#d4a72c"
+"attention.subtle" = "#fff8c5"
+"border.default" = "#d0d7de"
+"border.muted" = "#d8dee4"
+"border.subtle" = "#1b1f24"
+"canvas.default" = "#ffffff"
+"canvas.inset" = "#f6f8fa"
+"canvas.overlay" = "#ffffff"
+"canvas.subtle" = "#f6f8fa"
+"closed.emphasis" = "#6e7781"
+"closed.fg" = "#6e7781"
+"closed.muted" = "#afb8c1"
+"closed.subtle" = "#f6f8fa"
+"danger.emphasis" = "#b35900"
+"danger.fg" = "#b35900"
+"danger.muted" = "#f79939"
+"danger.subtle" = "#fff5e8"
+"done.emphasis" = "#8250df"
+"done.fg" = "#8250df"
+"done.muted" = "#c297ff"
+"done.subtle" = "#fbefff"
+"fg.default" = "#24292f"
+"fg.muted" = "#57606a"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#6e7781"
+"neutral.emphasis" = "#6e7781"
+"neutral.emphasisPlus" = "#24292f"
+"neutral.muted" = "#afb8c1"
+"neutral.subtle" = "#eaeef2"
+"open.emphasis" = "#dd7815"
+"open.fg" = "#b35900"
+"open.muted" = "#f79939"
+"open.subtle" = "#fff5e8"
+"scale.black" = "#1b1f24"
+"scale.blue.0" = "#ddf4ff"
+"scale.blue.1" = "#b6e3ff"
+"scale.blue.2" = "#80ccff"
+"scale.blue.3" = "#54aeff"
+"scale.blue.4" = "#218bff"
+"scale.blue.5" = "#0969da"
+"scale.blue.6" = "#0550ae"
+"scale.blue.7" = "#033d8b"
+"scale.blue.8" = "#0a3069"
+"scale.blue.9" = "#002155"
+"scale.coral.0" = "#fff0eb"
+"scale.coral.1" = "#ffd6cc"
+"scale.coral.2" = "#ffb4a1"
+"scale.coral.3" = "#fd8c73"
+"scale.coral.4" = "#ec6547"
+"scale.coral.5" = "#c4432b"
+"scale.coral.6" = "#9e2f1c"
+"scale.coral.7" = "#801f0f"
+"scale.coral.8" = "#691105"
+"scale.coral.9" = "#510901"
+"scale.gray.0" = "#f6f8fa"
+"scale.gray.1" = "#eaeef2"
+"scale.gray.2" = "#d0d7de"
+"scale.gray.3" = "#afb8c1"
+"scale.gray.4" = "#8c959f"
+"scale.gray.5" = "#6e7781"
+"scale.gray.6" = "#57606a"
+"scale.gray.7" = "#424a53"
+"scale.gray.8" = "#32383f"
+"scale.gray.9" = "#24292f"
+"scale.green.0" = "#ddf4ff"
+"scale.green.1" = "#b6e3ff"
+"scale.green.2" = "#80ccff"
+"scale.green.3" = "#54aeff"
+"scale.green.4" = "#218bff"
+"scale.green.5" = "#0969da"
+"scale.green.6" = "#0550ae"
+"scale.green.7" = "#033d8b"
+"scale.green.8" = "#0a3069"
+"scale.green.9" = "#002155"
+"scale.orange.0" = "#fff5e8"
+"scale.orange.1" = "#ffddb0"
+"scale.orange.2" = "#ffbc6d"
+"scale.orange.3" = "#f79939"
+"scale.orange.4" = "#dd7815"
+"scale.orange.5" = "#b35900"
+"scale.orange.6" = "#8a4600"
+"scale.orange.7" = "#6f3800"
+"scale.orange.8" = "#572c00"
+"scale.orange.9" = "#412000"
+"scale.pink.0" = "#ffeff7"
+"scale.pink.1" = "#ffd3eb"
+"scale.pink.2" = "#ffadda"
+"scale.pink.3" = "#ff80c8"
+"scale.pink.4" = "#e85aad"
+"scale.pink.5" = "#bf3989"
+"scale.pink.6" = "#99286e"
+"scale.pink.7" = "#772057"
+"scale.pink.8" = "#611347"
+"scale.pink.9" = "#4d0336"
+"scale.purple.0" = "#fbefff"
+"scale.purple.1" = "#ecd8ff"
+"scale.purple.2" = "#d8b9ff"
+"scale.purple.3" = "#c297ff"
+"scale.purple.4" = "#a475f9"
+"scale.purple.5" = "#8250df"
+"scale.purple.6" = "#6639ba"
+"scale.purple.7" = "#512a97"
+"scale.purple.8" = "#3e1f79"
+"scale.purple.9" = "#2e1461"
+"scale.red.0" = "#fff5e8"
+"scale.red.1" = "#ffddb0"
+"scale.red.2" = "#ffbc6d"
+"scale.red.3" = "#f79939"
+"scale.red.4" = "#dd7815"
+"scale.red.5" = "#b35900"
+"scale.red.6" = "#8a4600"
+"scale.red.7" = "#6f3800"
+"scale.red.8" = "#572c00"
+"scale.red.9" = "#412000"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#fff8c5"
+"scale.yellow.1" = "#fae17d"
+"scale.yellow.2" = "#eac54f"
+"scale.yellow.3" = "#d4a72c"
+"scale.yellow.4" = "#bf8700"
+"scale.yellow.5" = "#9a6700"
+"scale.yellow.6" = "#7d4e00"
+"scale.yellow.7" = "#633c01"
+"scale.yellow.8" = "#4d2d00"
+"scale.yellow.9" = "#3b2300"
+"severe.emphasis" = "#b35900"
+"severe.fg" = "#b35900"
+"severe.muted" = "#f79939"
+"severe.subtle" = "#fff5e8"
+"sponsors.emphasis" = "#bf3989"
+"sponsors.fg" = "#bf3989"
+"sponsors.muted" = "#ff80c8"
+"sponsors.subtle" = "#ffeff7"
+"success.emphasis" = "#218bff"
+"success.fg" = "#0969da"
+"success.muted" = "#54aeff"
+"success.subtle" = "#ddf4ff"
diff --git a/vendor/themes/github_light_high_contrast.toml b/vendor/themes/github_light_high_contrast.toml
new file mode 100644
index 00000000..0b37c037
--- /dev/null
+++ b/vendor/themes/github_light_high_contrast.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_light"
+
+[palette]
+"accent.emphasis" = "#0349b4"
+"accent.fg" = "#0349b4"
+"accent.muted" = "#368cf9"
+"accent.subtle" = "#dff7ff"
+"attention.emphasis" = "#744500"
+"attention.fg" = "#744500"
+"attention.muted" = "#b58407"
+"attention.subtle" = "#fcf7be"
+"border.default" = "#20252c"
+"border.muted" = "#88929d"
+"border.subtle" = "#010409"
+"canvas.default" = "#ffffff"
+"canvas.inset" = "#ffffff"
+"canvas.overlay" = "#ffffff"
+"canvas.subtle" = "#e7ecf0"
+"closed.emphasis" = "#a0111f"
+"closed.fg" = "#a0111f"
+"closed.muted" = "#ee5a5d"
+"closed.subtle" = "#fff0ee"
+"danger.emphasis" = "#a0111f"
+"danger.fg" = "#a0111f"
+"danger.muted" = "#ee5a5d"
+"danger.subtle" = "#fff0ee"
+"done.emphasis" = "#622cbc"
+"done.fg" = "#622cbc"
+"done.muted" = "#a371f7"
+"done.subtle" = "#faf0fe"
+"fg.default" = "#0e1116"
+"fg.muted" = "#0e1116"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#66707b"
+"neutral.emphasis" = "#66707b"
+"neutral.emphasisPlus" = "#0e1116"
+"neutral.muted" = "#acb6c0"
+"neutral.subtle" = "#e7ecf0"
+"open.emphasis" = "#117f32"
+"open.fg" = "#055d20"
+"open.muted" = "#26a148"
+"open.subtle" = "#d2fedb"
+"scale.black" = "#010409"
+"scale.blue.0" = "#dff7ff"
+"scale.blue.1" = "#9cd7ff"
+"scale.blue.2" = "#67b3fd"
+"scale.blue.3" = "#368cf9"
+"scale.blue.4" = "#1168e3"
+"scale.blue.5" = "#0349b4"
+"scale.blue.6" = "#023b95"
+"scale.blue.7" = "#022f7a"
+"scale.blue.8" = "#032563"
+"scale.blue.9" = "#021a4a"
+"scale.coral.0" = "#fff0ed"
+"scale.coral.1" = "#ffc2b6"
+"scale.coral.2" = "#ff8f7e"
+"scale.coral.3" = "#ef5b48"
+"scale.coral.4" = "#cd3425"
+"scale.coral.5" = "#9f1710"
+"scale.coral.6" = "#870706"
+"scale.coral.7" = "#6f0107"
+"scale.coral.8" = "#5b0002"
+"scale.coral.9" = "#430200"
+"scale.gray.0" = "#ffffff"
+"scale.gray.1" = "#e7ecf0"
+"scale.gray.2" = "#ced5dc"
+"scale.gray.3" = "#acb6c0"
+"scale.gray.4" = "#88929d"
+"scale.gray.5" = "#66707b"
+"scale.gray.6" = "#4b535d"
+"scale.gray.7" = "#343b43"
+"scale.gray.8" = "#20252c"
+"scale.gray.9" = "#0e1116"
+"scale.green.0" = "#d2fedb"
+"scale.green.1" = "#82e596"
+"scale.green.2" = "#43c663"
+"scale.green.3" = "#26a148"
+"scale.green.4" = "#117f32"
+"scale.green.5" = "#055d20"
+"scale.green.6" = "#024c1a"
+"scale.green.7" = "#013d14"
+"scale.green.8" = "#003110"
+"scale.green.9" = "#00230b"
+"scale.orange.0" = "#fff2d5"
+"scale.orange.1" = "#ffc67b"
+"scale.orange.2" = "#f99636"
+"scale.orange.3" = "#dc6d1a"
+"scale.orange.4" = "#b45105"
+"scale.orange.5" = "#873800"
+"scale.orange.6" = "#702c00"
+"scale.orange.7" = "#5b2300"
+"scale.orange.8" = "#491b00"
+"scale.orange.9" = "#361200"
+"scale.pink.0" = "#feeff7"
+"scale.pink.1" = "#ffbde0"
+"scale.pink.2" = "#fc87ca"
+"scale.pink.3" = "#ed4baf"
+"scale.pink.4" = "#c9248e"
+"scale.pink.5" = "#971368"
+"scale.pink.6" = "#7d0c57"
+"scale.pink.7" = "#660847"
+"scale.pink.8" = "#53043a"
+"scale.pink.9" = "#3e022b"
+"scale.purple.0" = "#faf0fe"
+"scale.purple.1" = "#e0c5ff"
+"scale.purple.2" = "#c49bff"
+"scale.purple.3" = "#a371f7"
+"scale.purple.4" = "#844ae7"
+"scale.purple.5" = "#622cbc"
+"scale.purple.6" = "#512598"
+"scale.purple.7" = "#411d7b"
+"scale.purple.8" = "#341763"
+"scale.purple.9" = "#260f49"
+"scale.red.0" = "#fff0ee"
+"scale.red.1" = "#ffc1bc"
+"scale.red.2" = "#ff8e8a"
+"scale.red.3" = "#ee5a5d"
+"scale.red.4" = "#d5232c"
+"scale.red.5" = "#a0111f"
+"scale.red.6" = "#86061d"
+"scale.red.7" = "#6e011a"
+"scale.red.8" = "#5a0016"
+"scale.red.9" = "#430011"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#fcf7be"
+"scale.yellow.1" = "#f0ce53"
+"scale.yellow.2" = "#d5a824"
+"scale.yellow.3" = "#b58407"
+"scale.yellow.4" = "#956400"
+"scale.yellow.5" = "#744500"
+"scale.yellow.6" = "#603700"
+"scale.yellow.7" = "#4e2c00"
+"scale.yellow.8" = "#3f2200"
+"scale.yellow.9" = "#2e1800"
+"severe.emphasis" = "#873800"
+"severe.fg" = "#873800"
+"severe.muted" = "#dc6d1a"
+"severe.subtle" = "#fff2d5"
+"sponsors.emphasis" = "#971368"
+"sponsors.fg" = "#971368"
+"sponsors.muted" = "#ed4baf"
+"sponsors.subtle" = "#feeff7"
+"success.emphasis" = "#055d20"
+"success.fg" = "#055d20"
+"success.muted" = "#26a148"
+"success.subtle" = "#d2fedb"
diff --git a/vendor/themes/github_light_tritanopia.toml b/vendor/themes/github_light_tritanopia.toml
new file mode 100644
index 00000000..39df4352
--- /dev/null
+++ b/vendor/themes/github_light_tritanopia.toml
@@ -0,0 +1,151 @@
+# Author : OwOSwordsman <[email protected]>
+# An unofficial GitHub theme, generated using colors from: https://primer.style/primitives/colors
+# Credit goes to the original VSCode theme: https://github.com/primer/github-vscode-theme
+# Only the Light and Dark variants were specifically tested
+
+inherits = "github_light"
+
+[palette]
+"accent.emphasis" = "#0969da"
+"accent.fg" = "#0969da"
+"accent.muted" = "#54aeff"
+"accent.subtle" = "#ddf4ff"
+"attention.emphasis" = "#bf8700"
+"attention.fg" = "#9a6700"
+"attention.muted" = "#d4a72c"
+"attention.subtle" = "#fff8c5"
+"border.default" = "#d0d7de"
+"border.muted" = "#d8dee4"
+"border.subtle" = "#1b1f24"
+"canvas.default" = "#ffffff"
+"canvas.inset" = "#f6f8fa"
+"canvas.overlay" = "#ffffff"
+"canvas.subtle" = "#f6f8fa"
+"closed.emphasis" = "#6e7781"
+"closed.fg" = "#6e7781"
+"closed.muted" = "#afb8c1"
+"closed.subtle" = "#f6f8fa"
+"danger.emphasis" = "#cf222e"
+"danger.fg" = "#cf222e"
+"danger.muted" = "#ff8182"
+"danger.subtle" = "#ffebe9"
+"done.emphasis" = "#8250df"
+"done.fg" = "#8250df"
+"done.muted" = "#c297ff"
+"done.subtle" = "#fbefff"
+"fg.default" = "#24292f"
+"fg.muted" = "#57606a"
+"fg.onEmphasis" = "#ffffff"
+"fg.subtle" = "#6e7781"
+"neutral.emphasis" = "#6e7781"
+"neutral.emphasisPlus" = "#24292f"
+"neutral.muted" = "#afb8c1"
+"neutral.subtle" = "#eaeef2"
+"open.emphasis" = "#fa4549"
+"open.fg" = "#cf222e"
+"open.muted" = "#ff8182"
+"open.subtle" = "#ffebe9"
+"scale.black" = "#1b1f24"
+"scale.blue.0" = "#ddf4ff"
+"scale.blue.1" = "#b6e3ff"
+"scale.blue.2" = "#80ccff"
+"scale.blue.3" = "#54aeff"
+"scale.blue.4" = "#218bff"
+"scale.blue.5" = "#0969da"
+"scale.blue.6" = "#0550ae"
+"scale.blue.7" = "#033d8b"
+"scale.blue.8" = "#0a3069"
+"scale.blue.9" = "#002155"
+"scale.coral.0" = "#fff0eb"
+"scale.coral.1" = "#ffd6cc"
+"scale.coral.2" = "#ffb4a1"
+"scale.coral.3" = "#fd8c73"
+"scale.coral.4" = "#ec6547"
+"scale.coral.5" = "#c4432b"
+"scale.coral.6" = "#9e2f1c"
+"scale.coral.7" = "#801f0f"
+"scale.coral.8" = "#691105"
+"scale.coral.9" = "#510901"
+"scale.gray.0" = "#f6f8fa"
+"scale.gray.1" = "#eaeef2"
+"scale.gray.2" = "#d0d7de"
+"scale.gray.3" = "#afb8c1"
+"scale.gray.4" = "#8c959f"
+"scale.gray.5" = "#6e7781"
+"scale.gray.6" = "#57606a"
+"scale.gray.7" = "#424a53"
+"scale.gray.8" = "#32383f"
+"scale.gray.9" = "#24292f"
+"scale.green.0" = "#ddf4ff"
+"scale.green.1" = "#b6e3ff"
+"scale.green.2" = "#80ccff"
+"scale.green.3" = "#54aeff"
+"scale.green.4" = "#218bff"
+"scale.green.5" = "#0969da"
+"scale.green.6" = "#0550ae"
+"scale.green.7" = "#033d8b"
+"scale.green.8" = "#0a3069"
+"scale.green.9" = "#002155"
+"scale.orange.0" = "#ffebe9"
+"scale.orange.1" = "#ffcecb"
+"scale.orange.2" = "#ffaba8"
+"scale.orange.3" = "#ff8182"
+"scale.orange.4" = "#fa4549"
+"scale.orange.5" = "#cf222e"
+"scale.orange.6" = "#a40e26"
+"scale.orange.7" = "#82071e"
+"scale.orange.8" = "#660018"
+"scale.orange.9" = "#4c0014"
+"scale.pink.0" = "#ffeff7"
+"scale.pink.1" = "#ffd3eb"
+"scale.pink.2" = "#ffadda"
+"scale.pink.3" = "#ff80c8"
+"scale.pink.4" = "#e85aad"
+"scale.pink.5" = "#bf3989"
+"scale.pink.6" = "#99286e"
+"scale.pink.7" = "#772057"
+"scale.pink.8" = "#611347"
+"scale.pink.9" = "#4d0336"
+"scale.purple.0" = "#fbefff"
+"scale.purple.1" = "#ecd8ff"
+"scale.purple.2" = "#d8b9ff"
+"scale.purple.3" = "#c297ff"
+"scale.purple.4" = "#a475f9"
+"scale.purple.5" = "#8250df"
+"scale.purple.6" = "#6639ba"
+"scale.purple.7" = "#512a97"
+"scale.purple.8" = "#3e1f79"
+"scale.purple.9" = "#2e1461"
+"scale.red.0" = "#ffebe9"
+"scale.red.1" = "#ffcecb"
+"scale.red.2" = "#ffaba8"
+"scale.red.3" = "#ff8182"
+"scale.red.4" = "#fa4549"
+"scale.red.5" = "#cf222e"
+"scale.red.6" = "#a40e26"
+"scale.red.7" = "#82071e"
+"scale.red.8" = "#660018"
+"scale.red.9" = "#4c0014"
+"scale.white" = "#ffffff"
+"scale.yellow.0" = "#fff8c5"
+"scale.yellow.1" = "#fae17d"
+"scale.yellow.2" = "#eac54f"
+"scale.yellow.3" = "#d4a72c"
+"scale.yellow.4" = "#bf8700"
+"scale.yellow.5" = "#9a6700"
+"scale.yellow.6" = "#7d4e00"
+"scale.yellow.7" = "#633c01"
+"scale.yellow.8" = "#4d2d00"
+"scale.yellow.9" = "#3b2300"
+"severe.emphasis" = "#cf222e"
+"severe.fg" = "#cf222e"
+"severe.muted" = "#ff8182"
+"severe.subtle" = "#ffebe9"
+"sponsors.emphasis" = "#bf3989"
+"sponsors.fg" = "#bf3989"
+"sponsors.muted" = "#ff80c8"
+"sponsors.subtle" = "#ffeff7"
+"success.emphasis" = "#218bff"
+"success.fg" = "#0969da"
+"success.muted" = "#54aeff"
+"success.subtle" = "#ddf4ff"
diff --git a/vendor/themes/gruber-darker.toml b/vendor/themes/gruber-darker.toml
new file mode 100644
index 00000000..856743ec
--- /dev/null
+++ b/vendor/themes/gruber-darker.toml
@@ -0,0 +1,118 @@
+# Author : Mehedi Hasan <[email protected]>
+# Based on : https://github.com/rexim/gruber-darker-theme
+
+"attribute" = "fg0"
+"keyword" = { fg = "yellow0", modifiers = ["bold"] }
+"keyword.directive" = "quartz"
+"namespace" = "quartz"
+"punctuation" = "fg0"
+"punctuation.delimiter" = "fg0"
+"operator" = "fg0"
+"special" = { fg = "yellow0", modifiers = ["bold"] }
+"variable" = "fg0"
+"variable.builtin" = { fg = "yellow0", modifiers = ["bold"] }
+"variable.parameter" = "fg0"
+"type" = "quartz"
+"type.builtin" = "yellow0"
+"constructor" = { fg = "quartz" }
+"function" = "niagara0"
+"function.builtin" = "yellow0"
+"tag" = "niagara0"
+"comment" = { fg = "brown0" }
+"constant.character" = { fg = "green0" }
+"constant.character.escape" = { fg = "yellow0" }
+"constant.builtin" = { fg = "yellow0", modifiers = ["bold"] }
+"string" = "green0"
+"constant.numeric" = "wisteria"
+"label" = "fg0"
+"module" = "aqua1"
+
+"diff.plus" = "green1"
+"diff.delta" = "orange1"
+"diff.minus" = "red0"
+
+"warning" = { fg = "orange1", modifiers = ["bold"] }
+"error" = { fg = "red0", modifiers = ["bold"] }
+"info" = { fg = "aqua1", modifiers = ["bold"] }
+"hint" = { fg = "blue0", modifiers = ["bold"] }
+
+"ui.background" = { bg = "bg0" }
+"ui.linenr" = { fg = "bg4" }
+"ui.linenr.selected" = { fg = "yellow0" }
+"ui.cursorline" = { bg = "bg1" }
+
+"ui.statusline" = { fg = "fg0", bg = "bg1" }
+"ui.statusline.normal" = { fg = "bg1", bg = "yellow0", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "bg1", bg = "blue0", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg1", bg = "wisteria", modifiers = ["bold"] }
+"ui.statusline.inactive" = { fg = "fg3", bg = "bg1" }
+
+"ui.bufferline" = { fg = "fg3", bg = "bg6" }
+"ui.bufferline.active" = { fg = "fg0", bg = "bg7" }
+
+"ui.popup" = { bg = "bg6" }
+"ui.window" = { fg = "bg1" }
+"ui.help" = { bg = "bg1", fg = "fg0" }
+"ui.text" = { fg = "fg0" }
+"ui.text.directory" = { fg = "niagara0", modifiers = ["bold"] }
+"ui.text.focus" = { bg = "bg5", modifiers = ["bold"] }
+"ui.selection" = { bg = "bg2" }
+"ui.selection.primary" = { bg = "bg5" }
+"ui.cursor.primary" = { bg = "fg0", fg = "niagara1" }
+"ui.cursor.match" = { bg = "yellow1" }
+"ui.menu" = { fg = "fg0", bg = "bg6" }
+"ui.menu.selected" = { fg = "fg0", bg = "bg5", modifiers = ["bold"] }
+
+"ui.virtual.whitespace" = "bg8"
+"ui.virtual.indent-guide" = "bg8"
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.virtual.inlay-hint" = { fg = "bg7" }
+"ui.virtual.wrap" = { fg = "bg2" }
+"ui.virtual.jump-label" = { fg = "red3", modifiers = ["bold"] }
+
+"diagnostic.warning" = { underline = { color = "orange1", style = "dashed" } }
+"diagnostic.error" = { underline = { color = "red3", style = "dashed" } }
+"diagnostic.info" = { underline = { color = "aqua1", style = "dashed" } }
+"diagnostic.hint" = { underline = { color = "blue0", style = "dashed" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"markup.heading" = { fg = "aqua1", modifiers = ["bold"] }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "green1", modifiers = ["underlined"] }
+"markup.link.text" = "red3"
+"markup.raw" = { fg = "fg0", bg = "bg8", modifiers = ["bold"] }
+
+[palette]
+fg0 = "#e4e4ef"
+fg1 = "#f4f4ff"
+fg2 = "#f5f5f5"
+fg3 = "#a89984"
+bg0 = "#181818"
+bg1 = "#282828"
+bg2 = "#453d41"
+bg4 = "#52494e"
+bg5 = "#404040"
+bg6 = "#232323"
+bg7 = "#3f3f3f"
+bg8 = "#2c2c2c"
+red0 = "#f43841"
+red1 = "#ff4f58"
+red2 = "#2B0A0B"
+red3 = "#fb4934"
+green0 = "#73c936"
+green1 = "#b8bb26"
+yellow0 = "#ffdd33"
+yellow1 = "#655814"
+blue0 = "#5292c8"
+orange0 = "#d65d0e"
+orange1 = "#fe8019"
+brown0 = "#cc8c3c"
+quartz = "#95a99f"
+niagara0 = "#96a6c8"
+niagara1 = "#303540"
+wisteria = "#9e95c7"
+aqua1 = "#8ec07c"
+
diff --git a/vendor/themes/gruvbox-material.toml b/vendor/themes/gruvbox-material.toml
new file mode 100644
index 00000000..c8448cf9
--- /dev/null
+++ b/vendor/themes/gruvbox-material.toml
@@ -0,0 +1,6 @@
+# Gruvbox Material for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Ported by: @satoqz
+# License: MIT
+
+inherits = "gruvbox_material_dark_medium"
diff --git a/vendor/themes/gruvbox.LICENSE b/vendor/themes/gruvbox.LICENSE
new file mode 100644
index 00000000..0e18d6d7
--- /dev/null
+++ b/vendor/themes/gruvbox.LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) <YEAR> <COPYRIGHT HOLDER>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/vendor/themes/gruvbox.json b/vendor/themes/gruvbox.json
new file mode 100644
index 00000000..75252f78
--- /dev/null
+++ b/vendor/themes/gruvbox.json
@@ -0,0 +1,2539 @@
+{
+ "$schema": "https://zed.dev/schema/themes/v0.2.0.json",
+ "name": "Gruvbox",
+ "author": "Zed Industries",
+ "themes": [
+ {
+ "name": "Gruvbox Dark",
+ "appearance": "dark",
+ "style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
+ "border": "#5b534dff",
+ "border.variant": "#494340ff",
+ "border.focused": "#303a36ff",
+ "border.selected": "#303a36ff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#544c48ff",
+ "elevated_surface.background": "#3a3735ff",
+ "surface.background": "#3a3735ff",
+ "background": "#4c4642ff",
+ "element.background": "#3a3735ff",
+ "element.hover": "#494340ff",
+ "element.active": "#5b524cff",
+ "element.selected": "#5b524cff",
+ "element.disabled": "#3a3735ff",
+ "drop_target.background": "#c5b59780",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#494340ff",
+ "ghost_element.active": "#5b524cff",
+ "ghost_element.selected": "#5b524cff",
+ "ghost_element.disabled": "#3a3735ff",
+ "text": "#fbf1c7ff",
+ "text.muted": "#c5b597ff",
+ "text.placeholder": "#998b78ff",
+ "text.disabled": "#998b78ff",
+ "text.accent": "#83a598ff",
+ "icon": "#fbf1c7ff",
+ "icon.muted": "#c5b597ff",
+ "icon.disabled": "#998b78ff",
+ "icon.placeholder": "#c5b597ff",
+ "icon.accent": "#83a598ff",
+ "status_bar.background": "#4c4642ff",
+ "title_bar.background": "#4c4642ff",
+ "title_bar.inactive_background": "#3a3735ff",
+ "toolbar.background": "#282828ff",
+ "tab_bar.background": "#3a3735ff",
+ "tab.inactive_background": "#3a3735ff",
+ "tab.active_background": "#282828ff",
+ "search.match_background": "#83a59866",
+ "search.active_match_background": "#c09f3f66",
+ "panel.background": "#3a3735ff",
+ "panel.focused_border": "#83a598ff",
+ "pane.focused_border": null,
+ "scrollbar.thumb.active_background": "#83a598ac",
+ "scrollbar.thumb.hover_background": "#fbf1c74c",
+ "scrollbar.thumb.background": "#a899844c",
+ "scrollbar.thumb.border": "#494340ff",
+ "scrollbar.track.background": "#00000000",
+ "scrollbar.track.border": "#373432ff",
+ "editor.foreground": "#ebdbb2ff",
+ "editor.background": "#282828ff",
+ "editor.gutter.background": "#282828ff",
+ "editor.subheader.background": "#3a3735ff",
+ "editor.active_line.background": "#3a3735bf",
+ "editor.highlighted_line.background": "#3a3735ff",
+ "editor.line_number": "#6e6b5e",
+ "editor.active_line_number": "#dedcd3",
+ "editor.hover_line_number": "#c9c5b6",
+ "editor.invisible": "#928474ff",
+ "editor.wrap_guide": "#fbf1c70d",
+ "editor.active_wrap_guide": "#fbf1c71a",
+ "editor.document_highlight.read_background": "#83a5981a",
+ "editor.document_highlight.write_background": "#92847466",
+ "terminal.background": "#282828ff",
+ "terminal.foreground": "#ebdbb2ff",
+ "terminal.bright_foreground": "#fbf1c7ff",
+ "terminal.dim_foreground": "#766b5dff",
+ "terminal.ansi.black": "#282828ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#fbf1c7ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#fb4934ff",
+ "terminal.ansi.dim_red": "#8e1814ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#b8bb26ff",
+ "terminal.ansi.dim_green": "#6a6912ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#fabd2fff",
+ "terminal.ansi.dim_yellow": "#966a17ff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#83a598ff",
+ "terminal.ansi.dim_blue": "#305d5fff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#d3869bff",
+ "terminal.ansi.dim_magenta": "#7c455eff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#8ec07cff",
+ "terminal.ansi.dim_cyan": "#496e4aff",
+ "terminal.ansi.white": "#a89984ff",
+ "terminal.ansi.bright_white": "#fbf1c7ff",
+ "terminal.ansi.dim_white": "#766b5dff",
+ "link_text.hover": "#83a598ff",
+ "version_control.added": "#b7bb26ff",
+ "version_control.modified": "#f9bd2fff",
+ "version_control.deleted": "#fb4a35ff",
+ "conflict": "#f9bd2fff",
+ "conflict.background": "#572e10ff",
+ "conflict.border": "#754916ff",
+ "created": "#b7bb26ff",
+ "created.background": "#322b11ff",
+ "created.border": "#4a4516ff",
+ "deleted": "#fb4a35ff",
+ "deleted.background": "#590a0fff",
+ "deleted.border": "#771617ff",
+ "error": "#fb4a35ff",
+ "error.background": "#590a0fff",
+ "error.border": "#771617ff",
+ "hidden": "#998b78ff",
+ "hidden.background": "#4c4642ff",
+ "hidden.border": "#544c48ff",
+ "hint": "#8c957dff",
+ "hint.background": "#1e2321ff",
+ "hint.border": "#303a36ff",
+ "ignored": "#998b78ff",
+ "ignored.background": "#4c4642ff",
+ "ignored.border": "#5b534dff",
+ "info": "#83a598ff",
+ "info.background": "#1e2321ff",
+ "info.border": "#303a36ff",
+ "modified": "#f9bd2fff",
+ "modified.background": "#572e10ff",
+ "modified.border": "#754916ff",
+ "predictive": "#717363ff",
+ "predictive.background": "#322b11ff",
+ "predictive.border": "#4a4516ff",
+ "renamed": "#83a598ff",
+ "renamed.background": "#1e2321ff",
+ "renamed.border": "#303a36ff",
+ "success": "#b7bb26ff",
+ "success.background": "#322b11ff",
+ "success.border": "#4a4516ff",
+ "unreachable": "#c5b597ff",
+ "unreachable.background": "#4c4642ff",
+ "unreachable.border": "#5b534dff",
+ "warning": "#f9bd2fff",
+ "warning.background": "#572e10ff",
+ "warning.border": "#754916ff",
+ "players": [
+ {
+ "cursor": "#83a598ff",
+ "background": "#83a598ff",
+ "selection": "#83a5983d"
+ },
+ {
+ "cursor": "#a89984ff",
+ "background": "#a89984ff",
+ "selection": "#a899843d"
+ },
+ {
+ "cursor": "#fd801bff",
+ "background": "#fd801bff",
+ "selection": "#fd801b3d"
+ },
+ {
+ "cursor": "#d3869bff",
+ "background": "#d3869bff",
+ "selection": "#d3869b3d"
+ },
+ {
+ "cursor": "#8ec07cff",
+ "background": "#8ec07cff",
+ "selection": "#8ec07c3d"
+ },
+ {
+ "cursor": "#fb4a35ff",
+ "background": "#fb4a35ff",
+ "selection": "#fb4a353d"
+ },
+ {
+ "cursor": "#f9bd2fff",
+ "background": "#f9bd2fff",
+ "selection": "#f9bd2f3d"
+ },
+ {
+ "cursor": "#b7bb26ff",
+ "background": "#b7bb26ff",
+ "selection": "#b7bb263d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#a89984ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "#c6b697ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constant": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "enum": {
+ "color": "#fe7f18ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function.builtin": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#8c957dff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#8ec07cff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "predictive": {
+ "color": "#717363ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "preproc": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#d5c4a1ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "#a89984ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "#e5d5adff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.markup": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#e5d5adff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "#c6b697ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "#fe7f18ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "title": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "type": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#b8bb26ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#fb4934ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "Gruvbox Dark Hard",
+ "appearance": "dark",
+ "style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
+ "border": "#5b534dff",
+ "border.variant": "#494340ff",
+ "border.focused": "#303a36ff",
+ "border.selected": "#303a36ff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#544c48ff",
+ "elevated_surface.background": "#393634ff",
+ "surface.background": "#393634ff",
+ "background": "#4c4642ff",
+ "element.background": "#393634ff",
+ "element.hover": "#494340ff",
+ "element.active": "#5b524cff",
+ "element.selected": "#5b524cff",
+ "element.disabled": "#393634ff",
+ "drop_target.background": "#c5b59780",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#494340ff",
+ "ghost_element.active": "#5b524cff",
+ "ghost_element.selected": "#5b524cff",
+ "ghost_element.disabled": "#393634ff",
+ "text": "#fbf1c7ff",
+ "text.muted": "#c5b597ff",
+ "text.placeholder": "#998b78ff",
+ "text.disabled": "#998b78ff",
+ "text.accent": "#83a598ff",
+ "icon": "#fbf1c7ff",
+ "icon.muted": "#c5b597ff",
+ "icon.disabled": "#998b78ff",
+ "icon.placeholder": "#c5b597ff",
+ "icon.accent": "#83a598ff",
+ "status_bar.background": "#4c4642ff",
+ "title_bar.background": "#4c4642ff",
+ "title_bar.inactive_background": "#393634ff",
+ "toolbar.background": "#1d2021ff",
+ "tab_bar.background": "#393634ff",
+ "tab.inactive_background": "#393634ff",
+ "tab.active_background": "#1d2021ff",
+ "search.match_background": "#83a59866",
+ "search.active_match_background": "#c9653666",
+ "panel.background": "#393634ff",
+ "panel.focused_border": "#83a598ff",
+ "pane.focused_border": null,
+ "scrollbar.thumb.active_background": "#83a598ac",
+ "scrollbar.thumb.hover_background": "#fbf1c74c",
+ "scrollbar.thumb.background": "#a899844c",
+ "scrollbar.thumb.border": "#494340ff",
+ "scrollbar.track.background": "#00000000",
+ "scrollbar.track.border": "#343130ff",
+ "editor.foreground": "#ebdbb2ff",
+ "editor.background": "#1d2021ff",
+ "editor.gutter.background": "#1d2021ff",
+ "editor.subheader.background": "#393634ff",
+ "editor.active_line.background": "#393634bf",
+ "editor.highlighted_line.background": "#393634ff",
+ "editor.line_number": "#6e6b5e",
+ "editor.active_line_number": "#dedcd3",
+ "editor.hover_line_number": "#c9c5b6",
+ "editor.invisible": "#928474ff",
+ "editor.wrap_guide": "#fbf1c70d",
+ "editor.active_wrap_guide": "#fbf1c71a",
+ "editor.document_highlight.read_background": "#83a5981a",
+ "editor.document_highlight.write_background": "#92847466",
+ "terminal.background": "#1d2021ff",
+ "terminal.foreground": "#ebdbb2ff",
+ "terminal.bright_foreground": "#fbf1c7ff",
+ "terminal.dim_foreground": "#766b5dff",
+ "terminal.ansi.black": "#282828ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#fbf1c7ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#fb4934ff",
+ "terminal.ansi.dim_red": "#8e1814ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#b8bb26ff",
+ "terminal.ansi.dim_green": "#6a6912ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#fabd2fff",
+ "terminal.ansi.dim_yellow": "#966a17ff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#83a598ff",
+ "terminal.ansi.dim_blue": "#305d5fff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#d3869bff",
+ "terminal.ansi.dim_magenta": "#7c455eff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#8ec07cff",
+ "terminal.ansi.dim_cyan": "#496e4aff",
+ "terminal.ansi.white": "#a89984ff",
+ "terminal.ansi.bright_white": "#fbf1c7ff",
+ "terminal.ansi.dim_white": "#766b5dff",
+ "link_text.hover": "#83a598ff",
+ "version_control.added": "#b7bb26ff",
+ "version_control.modified": "#f9bd2fff",
+ "version_control.deleted": "#fb4a35ff",
+ "conflict": "#f9bd2fff",
+ "conflict.background": "#572e10ff",
+ "conflict.border": "#754916ff",
+ "created": "#b7bb26ff",
+ "created.background": "#322b11ff",
+ "created.border": "#4a4516ff",
+ "deleted": "#fb4a35ff",
+ "deleted.background": "#590a0fff",
+ "deleted.border": "#771617ff",
+ "error": "#fb4a35ff",
+ "error.background": "#590a0fff",
+ "error.border": "#771617ff",
+ "hidden": "#998b78ff",
+ "hidden.background": "#4c4642ff",
+ "hidden.border": "#544c48ff",
+ "hint": "#6a695bff",
+ "hint.background": "#1e2321ff",
+ "hint.border": "#303a36ff",
+ "ignored": "#998b78ff",
+ "ignored.background": "#4c4642ff",
+ "ignored.border": "#5b534dff",
+ "info": "#83a598ff",
+ "info.background": "#1e2321ff",
+ "info.border": "#303a36ff",
+ "modified": "#f9bd2fff",
+ "modified.background": "#572e10ff",
+ "modified.border": "#754916ff",
+ "predictive": "#717363ff",
+ "predictive.background": "#322b11ff",
+ "predictive.border": "#4a4516ff",
+ "renamed": "#83a598ff",
+ "renamed.background": "#1e2321ff",
+ "renamed.border": "#303a36ff",
+ "success": "#b7bb26ff",
+ "success.background": "#322b11ff",
+ "success.border": "#4a4516ff",
+ "unreachable": "#c5b597ff",
+ "unreachable.background": "#4c4642ff",
+ "unreachable.border": "#5b534dff",
+ "warning": "#f9bd2fff",
+ "warning.background": "#572e10ff",
+ "warning.border": "#754916ff",
+ "players": [
+ {
+ "cursor": "#83a598ff",
+ "background": "#83a598ff",
+ "selection": "#83a5983d"
+ },
+ {
+ "cursor": "#a89984ff",
+ "background": "#a89984ff",
+ "selection": "#a899843d"
+ },
+ {
+ "cursor": "#fd801bff",
+ "background": "#fd801bff",
+ "selection": "#fd801b3d"
+ },
+ {
+ "cursor": "#d3869bff",
+ "background": "#d3869bff",
+ "selection": "#d3869b3d"
+ },
+ {
+ "cursor": "#8ec07cff",
+ "background": "#8ec07cff",
+ "selection": "#8ec07c3d"
+ },
+ {
+ "cursor": "#fb4a35ff",
+ "background": "#fb4a35ff",
+ "selection": "#fb4a353d"
+ },
+ {
+ "cursor": "#f9bd2fff",
+ "background": "#f9bd2fff",
+ "selection": "#f9bd2f3d"
+ },
+ {
+ "cursor": "#b7bb26ff",
+ "background": "#b7bb26ff",
+ "selection": "#b7bb263d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#a89984ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "#c6b697ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constant": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "enum": {
+ "color": "#fe7f18ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function.builtin": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#8c957dff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#8ec07cff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "predictive": {
+ "color": "#717363ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "preproc": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#d5c4a1ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "#a89984ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "#e5d5adff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.markup": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#e5d5adff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "#c6b697ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "#fe7f18ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "title": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "type": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#b8bb26ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#fb4934ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "Gruvbox Dark Soft",
+ "appearance": "dark",
+ "style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
+ "border": "#5b534dff",
+ "border.variant": "#494340ff",
+ "border.focused": "#303a36ff",
+ "border.selected": "#303a36ff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#544c48ff",
+ "elevated_surface.background": "#3b3735ff",
+ "surface.background": "#3b3735ff",
+ "background": "#4c4642ff",
+ "element.background": "#3b3735ff",
+ "element.hover": "#494340ff",
+ "element.active": "#5b524cff",
+ "element.selected": "#5b524cff",
+ "element.disabled": "#3b3735ff",
+ "drop_target.background": "#c5b59780",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#494340ff",
+ "ghost_element.active": "#5b524cff",
+ "ghost_element.selected": "#5b524cff",
+ "ghost_element.disabled": "#3b3735ff",
+ "text": "#fbf1c7ff",
+ "text.muted": "#c5b597ff",
+ "text.placeholder": "#998b78ff",
+ "text.disabled": "#998b78ff",
+ "text.accent": "#83a598ff",
+ "icon": "#fbf1c7ff",
+ "icon.muted": "#c5b597ff",
+ "icon.disabled": "#998b78ff",
+ "icon.placeholder": "#c5b597ff",
+ "icon.accent": "#83a598ff",
+ "status_bar.background": "#4c4642ff",
+ "title_bar.background": "#4c4642ff",
+ "title_bar.inactive_background": "#3b3735ff",
+ "toolbar.background": "#32302fff",
+ "tab_bar.background": "#3b3735ff",
+ "tab.inactive_background": "#3b3735ff",
+ "tab.active_background": "#32302fff",
+ "search.match_background": "#83a59866",
+ "search.active_match_background": "#aea85166",
+ "panel.background": "#3b3735ff",
+ "panel.focused_border": null,
+ "pane.focused_border": null,
+ "scrollbar.thumb.active_background": "#83a598ac",
+ "scrollbar.thumb.hover_background": "#fbf1c74c",
+ "scrollbar.thumb.background": "#a899844c",
+ "scrollbar.thumb.border": "#494340ff",
+ "scrollbar.track.background": "#00000000",
+ "scrollbar.track.border": "#393634ff",
+ "editor.foreground": "#ebdbb2ff",
+ "editor.background": "#32302fff",
+ "editor.gutter.background": "#32302fff",
+ "editor.subheader.background": "#3b3735ff",
+ "editor.active_line.background": "#3b3735bf",
+ "editor.highlighted_line.background": "#3b3735ff",
+ "editor.line_number": "#6e6b5e",
+ "editor.active_line_number": "#dedcd3",
+ "editor.hover_line_number": "#c9c5b6",
+ "editor.invisible": "#928474ff",
+ "editor.wrap_guide": "#fbf1c70d",
+ "editor.active_wrap_guide": "#fbf1c71a",
+ "editor.document_highlight.read_background": "#83a5981a",
+ "editor.document_highlight.write_background": "#92847466",
+ "terminal.background": "#32302fff",
+ "terminal.foreground": "#ebdbb2ff",
+ "terminal.bright_foreground": "#fbf1c7ff",
+ "terminal.dim_foreground": "#766b5dff",
+ "terminal.ansi.black": "#282828ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#fbf1c7ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#fb4934ff",
+ "terminal.ansi.dim_red": "#8e1814ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#b8bb26ff",
+ "terminal.ansi.dim_green": "#6a6912ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#fabd2fff",
+ "terminal.ansi.dim_yellow": "#966a17ff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#83a598ff",
+ "terminal.ansi.dim_blue": "#305d5fff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#d3869bff",
+ "terminal.ansi.dim_magenta": "#7c455eff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#8ec07cff",
+ "terminal.ansi.dim_cyan": "#496e4aff",
+ "terminal.ansi.white": "#a89984ff",
+ "terminal.ansi.bright_white": "#fbf1c7ff",
+ "terminal.ansi.dim_white": "#766b5dff",
+ "link_text.hover": "#83a598ff",
+ "version_control.added": "#b7bb26ff",
+ "version_control.modified": "#f9bd2fff",
+ "version_control.deleted": "#fb4a35ff",
+ "conflict": "#f9bd2fff",
+ "conflict.background": "#572e10ff",
+ "conflict.border": "#754916ff",
+ "created": "#b7bb26ff",
+ "created.background": "#322b11ff",
+ "created.border": "#4a4516ff",
+ "deleted": "#fb4a35ff",
+ "deleted.background": "#590a0fff",
+ "deleted.border": "#771617ff",
+ "error": "#fb4a35ff",
+ "error.background": "#590a0fff",
+ "error.border": "#771617ff",
+ "hidden": "#998b78ff",
+ "hidden.background": "#4c4642ff",
+ "hidden.border": "#544c48ff",
+ "hint": "#8c957dff",
+ "hint.background": "#1e2321ff",
+ "hint.border": "#303a36ff",
+ "ignored": "#998b78ff",
+ "ignored.background": "#4c4642ff",
+ "ignored.border": "#5b534dff",
+ "info": "#83a598ff",
+ "info.background": "#1e2321ff",
+ "info.border": "#303a36ff",
+ "modified": "#f9bd2fff",
+ "modified.background": "#572e10ff",
+ "modified.border": "#754916ff",
+ "predictive": "#717363ff",
+ "predictive.background": "#322b11ff",
+ "predictive.border": "#4a4516ff",
+ "renamed": "#83a598ff",
+ "renamed.background": "#1e2321ff",
+ "renamed.border": "#303a36ff",
+ "success": "#b7bb26ff",
+ "success.background": "#322b11ff",
+ "success.border": "#4a4516ff",
+ "unreachable": "#c5b597ff",
+ "unreachable.background": "#4c4642ff",
+ "unreachable.border": "#5b534dff",
+ "warning": "#f9bd2fff",
+ "warning.background": "#572e10ff",
+ "warning.border": "#754916ff",
+ "players": [
+ {
+ "cursor": "#83a598ff",
+ "background": "#83a598ff",
+ "selection": "#83a5983d"
+ },
+ {
+ "cursor": "#a89984ff",
+ "background": "#a89984ff",
+ "selection": "#a899843d"
+ },
+ {
+ "cursor": "#fd801bff",
+ "background": "#fd801bff",
+ "selection": "#fd801b3d"
+ },
+ {
+ "cursor": "#d3869bff",
+ "background": "#d3869bff",
+ "selection": "#d3869b3d"
+ },
+ {
+ "cursor": "#8ec07cff",
+ "background": "#8ec07cff",
+ "selection": "#8ec07c3d"
+ },
+ {
+ "cursor": "#fb4a35ff",
+ "background": "#fb4a35ff",
+ "selection": "#fb4a353d"
+ },
+ {
+ "cursor": "#f9bd2fff",
+ "background": "#f9bd2fff",
+ "selection": "#f9bd2f3d"
+ },
+ {
+ "cursor": "#b7bb26ff",
+ "background": "#b7bb26ff",
+ "selection": "#b7bb263d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#a89984ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "#c6b697ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constant": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "enum": {
+ "color": "#fe7f18ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function.builtin": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#8c957dff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#8ec07cff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "predictive": {
+ "color": "#717363ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "preproc": {
+ "color": "#fb4833ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#d5c4a1ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "#a89984ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "#e5d5adff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.markup": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#e5d5adff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "#c6b697ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "#fe7f18ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "#d3869bff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "#8ec07cff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "title": {
+ "color": "#b8bb25ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "type": {
+ "color": "#fabd2eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "#ebdbb2ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#83a598ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#b8bb26ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#fb4934ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "Gruvbox Light",
+ "appearance": "light",
+ "style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
+ "border": "#c8b899ff",
+ "border.variant": "#ddcca7ff",
+ "border.focused": "#adc5ccff",
+ "border.selected": "#adc5ccff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#d0bf9dff",
+ "elevated_surface.background": "#ecddb4ff",
+ "surface.background": "#ecddb4ff",
+ "background": "#d9c8a4ff",
+ "element.background": "#ecddb4ff",
+ "element.hover": "#ddcca7ff",
+ "element.active": "#c8b899ff",
+ "element.selected": "#c8b899ff",
+ "element.disabled": "#ecddb4ff",
+ "drop_target.background": "#5f565080",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#ddcca7ff",
+ "ghost_element.active": "#c8b899ff",
+ "ghost_element.selected": "#c8b899ff",
+ "ghost_element.disabled": "#ecddb4ff",
+ "text": "#282828ff",
+ "text.muted": "#5f5650ff",
+ "text.placeholder": "#897b6eff",
+ "text.disabled": "#897b6eff",
+ "text.accent": "#0b6678ff",
+ "icon": "#282828ff",
+ "icon.muted": "#5f5650ff",
+ "icon.disabled": "#897b6eff",
+ "icon.placeholder": "#5f5650ff",
+ "icon.accent": "#0b6678ff",
+ "status_bar.background": "#d9c8a4ff",
+ "title_bar.background": "#d9c8a4ff",
+ "title_bar.inactive_background": "#ecddb4ff",
+ "toolbar.background": "#fbf1c7ff",
+ "tab_bar.background": "#ecddb4ff",
+ "tab.inactive_background": "#ecddb4ff",
+ "tab.active_background": "#fbf1c7ff",
+ "search.match_background": "#0b667866",
+ "search.active_match_background": "#ba2d1166",
+ "panel.background": "#ecddb4ff",
+ "panel.focused_border": null,
+ "pane.focused_border": null,
+ "scrollbar.thumb.active_background": "#458588ac",
+ "scrollbar.thumb.hover_background": "#2828284c",
+ "scrollbar.thumb.background": "#7c6f644c",
+ "scrollbar.thumb.border": "#ddcca7ff",
+ "scrollbar.track.background": "#00000000",
+ "scrollbar.track.border": "#eee0b7ff",
+ "editor.foreground": "#282828ff",
+ "editor.background": "#fbf1c7ff",
+ "editor.gutter.background": "#fbf1c7ff",
+ "editor.subheader.background": "#ecddb4ff",
+ "editor.active_line.background": "#ecddb4bf",
+ "editor.highlighted_line.background": "#ecddb4ff",
+ "editor.line_number": "#a9a389",
+ "editor.active_line_number": "#3b382b",
+ "editor.hover_line_number": "#5e5a45",
+ "editor.invisible": "#928474ff",
+ "editor.wrap_guide": "#2828280d",
+ "editor.active_wrap_guide": "#2828281a",
+ "editor.document_highlight.read_background": "#0b66781a",
+ "editor.document_highlight.write_background": "#92847466",
+ "terminal.background": "#fbf1c7ff",
+ "terminal.foreground": "#282828ff",
+ "terminal.bright_foreground": "#282828ff",
+ "terminal.dim_foreground": "#fbf1c7ff",
+ "terminal.ansi.black": "#fbf1c7ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#7c6f64ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#9d0006ff",
+ "terminal.ansi.dim_red": "#c31c16ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#79740eff",
+ "terminal.ansi.dim_green": "#929015ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#b57614ff",
+ "terminal.ansi.dim_yellow": "#cf8e1aff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#076678ff",
+ "terminal.ansi.dim_blue": "#356f77ff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#8f3f71ff",
+ "terminal.ansi.dim_magenta": "#a85580ff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#427b58ff",
+ "terminal.ansi.dim_cyan": "#5f9166ff",
+ "terminal.ansi.white": "#7c6f64ff",
+ "terminal.ansi.bright_white": "#282828ff",
+ "terminal.ansi.dim_white": "#282828ff",
+ "link_text.hover": "#0b6678ff",
+ "version_control.added": "#797410ff",
+ "version_control.modified": "#b57615ff",
+ "version_control.deleted": "#9d0308ff",
+ "conflict": "#b57615ff",
+ "conflict.background": "#f5e2d0ff",
+ "conflict.border": "#ebccabff",
+ "created": "#797410ff",
+ "created.background": "#e4e0cdff",
+ "created.border": "#d1cba8ff",
+ "deleted": "#9d0308ff",
+ "deleted.background": "#f4d1c9ff",
+ "deleted.border": "#e8ac9eff",
+ "error": "#9d0308ff",
+ "error.background": "#f4d1c9ff",
+ "error.border": "#e8ac9eff",
+ "hidden": "#897b6eff",
+ "hidden.background": "#d9c8a4ff",
+ "hidden.border": "#d0bf9dff",
+ "hint": "#677562ff",
+ "hint.background": "#d2dee2ff",
+ "hint.border": "#adc5ccff",
+ "ignored": "#897b6eff",
+ "ignored.background": "#d9c8a4ff",
+ "ignored.border": "#c8b899ff",
+ "info": "#0b6678ff",
+ "info.background": "#d2dee2ff",
+ "info.border": "#adc5ccff",
+ "modified": "#b57615ff",
+ "modified.background": "#f5e2d0ff",
+ "modified.border": "#ebccabff",
+ "predictive": "#7c9780ff",
+ "predictive.background": "#e4e0cdff",
+ "predictive.border": "#d1cba8ff",
+ "renamed": "#0b6678ff",
+ "renamed.background": "#d2dee2ff",
+ "renamed.border": "#adc5ccff",
+ "success": "#797410ff",
+ "success.background": "#e4e0cdff",
+ "success.border": "#d1cba8ff",
+ "unreachable": "#5f5650ff",
+ "unreachable.background": "#d9c8a4ff",
+ "unreachable.border": "#c8b899ff",
+ "warning": "#b57615ff",
+ "warning.background": "#f5e2d0ff",
+ "warning.border": "#ebccabff",
+ "players": [
+ {
+ "cursor": "#0b6678ff",
+ "background": "#0b6678ff",
+ "selection": "#0b66783d"
+ },
+ {
+ "cursor": "#7c6f64ff",
+ "background": "#7c6f64ff",
+ "selection": "#7c6f643d"
+ },
+ {
+ "cursor": "#af3a04ff",
+ "background": "#af3a04ff",
+ "selection": "#af3a043d"
+ },
+ {
+ "cursor": "#8f3f70ff",
+ "background": "#8f3f70ff",
+ "selection": "#8f3f703d"
+ },
+ {
+ "cursor": "#437b59ff",
+ "background": "#437b59ff",
+ "selection": "#437b593d"
+ },
+ {
+ "cursor": "#9d0308ff",
+ "background": "#9d0308ff",
+ "selection": "#9d03083d"
+ },
+ {
+ "cursor": "#b57615ff",
+ "background": "#b57615ff",
+ "selection": "#b576153d"
+ },
+ {
+ "cursor": "#797410ff",
+ "background": "#797410ff",
+ "selection": "#7974103d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#7c6f64ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "#5d544eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constant": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "enum": {
+ "color": "#af3a02ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function.builtin": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#677562ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#427b58ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "predictive": {
+ "color": "#7c9780ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "preproc": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#3c3836ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "#665c54ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "#413d3aff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.markup": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#413d3aff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "#5d544eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "#af3a02ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "title": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "type": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#076678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "Gruvbox Light Hard",
+ "appearance": "light",
+ "style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
+ "border": "#c8b899ff",
+ "border.variant": "#ddcca7ff",
+ "border.focused": "#adc5ccff",
+ "border.selected": "#adc5ccff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#d0bf9dff",
+ "elevated_surface.background": "#ecddb5ff",
+ "surface.background": "#ecddb5ff",
+ "background": "#d9c8a4ff",
+ "element.background": "#ecddb5ff",
+ "element.hover": "#ddcca7ff",
+ "element.active": "#c8b899ff",
+ "element.selected": "#c8b899ff",
+ "element.disabled": "#ecddb5ff",
+ "drop_target.background": "#5f565080",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#ddcca7ff",
+ "ghost_element.active": "#c8b899ff",
+ "ghost_element.selected": "#c8b899ff",
+ "ghost_element.disabled": "#ecddb5ff",
+ "text": "#282828ff",
+ "text.muted": "#5f5650ff",
+ "text.placeholder": "#897b6eff",
+ "text.disabled": "#897b6eff",
+ "text.accent": "#0b6678ff",
+ "icon": "#282828ff",
+ "icon.muted": "#5f5650ff",
+ "icon.disabled": "#897b6eff",
+ "icon.placeholder": "#5f5650ff",
+ "icon.accent": "#0b6678ff",
+ "status_bar.background": "#d9c8a4ff",
+ "title_bar.background": "#d9c8a4ff",
+ "title_bar.inactive_background": "#ecddb5ff",
+ "toolbar.background": "#f9f5d7ff",
+ "tab_bar.background": "#ecddb5ff",
+ "tab.inactive_background": "#ecddb5ff",
+ "tab.active_background": "#f9f5d7ff",
+ "search.match_background": "#0b667866",
+ "search.active_match_background": "#dc351466",
+ "panel.background": "#ecddb5ff",
+ "panel.focused_border": null,
+ "pane.focused_border": null,
+ "scrollbar.thumb.active_background": "#458588ac",
+ "scrollbar.thumb.hover_background": "#2828284c",
+ "scrollbar.thumb.background": "#7c6f644c",
+ "scrollbar.thumb.border": "#ddcca7ff",
+ "scrollbar.track.background": "#00000000",
+ "scrollbar.track.border": "#eee1bbff",
+ "editor.foreground": "#282828ff",
+ "editor.background": "#f9f5d7ff",
+ "editor.gutter.background": "#f9f5d7ff",
+ "editor.subheader.background": "#ecddb5ff",
+ "editor.active_line.background": "#ecddb5bf",
+ "editor.highlighted_line.background": "#ecddb5ff",
+ "editor.line_number": "#a9a389",
+ "editor.active_line_number": "#3b382b",
+ "editor.hover_line_number": "#5e5a45",
+ "editor.invisible": "#928474ff",
+ "editor.wrap_guide": "#2828280d",
+ "editor.active_wrap_guide": "#2828281a",
+ "editor.document_highlight.read_background": "#0b66781a",
+ "editor.document_highlight.write_background": "#92847466",
+ "terminal.background": "#f9f5d7ff",
+ "terminal.foreground": "#282828ff",
+ "terminal.bright_foreground": "#282828ff",
+ "terminal.dim_foreground": "#f9f5d7ff",
+ "terminal.ansi.black": "#fbf1c7ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#7c6f64ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#9d0006ff",
+ "terminal.ansi.dim_red": "#c31c16ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#79740eff",
+ "terminal.ansi.dim_green": "#929015ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#b57614ff",
+ "terminal.ansi.dim_yellow": "#cf8e1aff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#076678ff",
+ "terminal.ansi.dim_blue": "#356f77ff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#8f3f71ff",
+ "terminal.ansi.dim_magenta": "#a85580ff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#427b58ff",
+ "terminal.ansi.dim_cyan": "#5f9166ff",
+ "terminal.ansi.white": "#7c6f64ff",
+ "terminal.ansi.bright_white": "#282828ff",
+ "terminal.ansi.dim_white": "#282828ff",
+ "link_text.hover": "#0b6678ff",
+ "version_control.added": "#797410ff",
+ "version_control.modified": "#b57615ff",
+ "version_control.deleted": "#9d0308ff",
+ "conflict": "#b57615ff",
+ "conflict.background": "#f5e2d0ff",
+ "conflict.border": "#ebccabff",
+ "created": "#797410ff",
+ "created.background": "#e4e0cdff",
+ "created.border": "#d1cba8ff",
+ "deleted": "#9d0308ff",
+ "deleted.background": "#f4d1c9ff",
+ "deleted.border": "#e8ac9eff",
+ "error": "#9d0308ff",
+ "error.background": "#f4d1c9ff",
+ "error.border": "#e8ac9eff",
+ "hidden": "#897b6eff",
+ "hidden.background": "#d9c8a4ff",
+ "hidden.border": "#d0bf9dff",
+ "hint": "#677562ff",
+ "hint.background": "#d2dee2ff",
+ "hint.border": "#adc5ccff",
+ "ignored": "#897b6eff",
+ "ignored.background": "#d9c8a4ff",
+ "ignored.border": "#c8b899ff",
+ "info": "#0b6678ff",
+ "info.background": "#d2dee2ff",
+ "info.border": "#adc5ccff",
+ "modified": "#b57615ff",
+ "modified.background": "#f5e2d0ff",
+ "modified.border": "#ebccabff",
+ "predictive": "#7c9780ff",
+ "predictive.background": "#e4e0cdff",
+ "predictive.border": "#d1cba8ff",
+ "renamed": "#0b6678ff",
+ "renamed.background": "#d2dee2ff",
+ "renamed.border": "#adc5ccff",
+ "success": "#797410ff",
+ "success.background": "#e4e0cdff",
+ "success.border": "#d1cba8ff",
+ "unreachable": "#5f5650ff",
+ "unreachable.background": "#d9c8a4ff",
+ "unreachable.border": "#c8b899ff",
+ "warning": "#b57615ff",
+ "warning.background": "#f5e2d0ff",
+ "warning.border": "#ebccabff",
+ "players": [
+ {
+ "cursor": "#0b6678ff",
+ "background": "#0b6678ff",
+ "selection": "#0b66783d"
+ },
+ {
+ "cursor": "#7c6f64ff",
+ "background": "#7c6f64ff",
+ "selection": "#7c6f643d"
+ },
+ {
+ "cursor": "#af3a04ff",
+ "background": "#af3a04ff",
+ "selection": "#af3a043d"
+ },
+ {
+ "cursor": "#8f3f70ff",
+ "background": "#8f3f70ff",
+ "selection": "#8f3f703d"
+ },
+ {
+ "cursor": "#437b59ff",
+ "background": "#437b59ff",
+ "selection": "#437b593d"
+ },
+ {
+ "cursor": "#9d0308ff",
+ "background": "#9d0308ff",
+ "selection": "#9d03083d"
+ },
+ {
+ "cursor": "#b57615ff",
+ "background": "#b57615ff",
+ "selection": "#b576153d"
+ },
+ {
+ "cursor": "#797410ff",
+ "background": "#797410ff",
+ "selection": "#7974103d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#7c6f64ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "#5d544eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constant": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "enum": {
+ "color": "#af3a02ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function.builtin": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#677562ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#427b58ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "predictive": {
+ "color": "#7c9780ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "preproc": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#3c3836ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "#665c54ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "#413d3aff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.markup": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#413d3aff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "#5d544eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "#af3a02ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "title": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "type": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#076678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ },
+ {
+ "name": "Gruvbox Light Soft",
+ "appearance": "light",
+ "style": {
+ "accents": ["#cc241dff", "#98971aff", "#d79921ff", "#458588ff", "#b16286ff", "#689d6aff", "#d65d0eff"],
+ "border": "#c8b899ff",
+ "border.variant": "#ddcca7ff",
+ "border.focused": "#adc5ccff",
+ "border.selected": "#adc5ccff",
+ "border.transparent": "#00000000",
+ "border.disabled": "#d0bf9dff",
+ "elevated_surface.background": "#ecdcb3ff",
+ "surface.background": "#ecdcb3ff",
+ "background": "#d9c8a4ff",
+ "element.background": "#ecdcb3ff",
+ "element.hover": "#ddcca7ff",
+ "element.active": "#c8b899ff",
+ "element.selected": "#c8b899ff",
+ "element.disabled": "#ecdcb3ff",
+ "drop_target.background": "#5f565080",
+ "ghost_element.background": "#00000000",
+ "ghost_element.hover": "#ddcca7ff",
+ "ghost_element.active": "#c8b899ff",
+ "ghost_element.selected": "#c8b899ff",
+ "ghost_element.disabled": "#ecdcb3ff",
+ "text": "#282828ff",
+ "text.muted": "#5f5650ff",
+ "text.placeholder": "#897b6eff",
+ "text.disabled": "#897b6eff",
+ "text.accent": "#0b6678ff",
+ "icon": "#282828ff",
+ "icon.muted": "#5f5650ff",
+ "icon.disabled": "#897b6eff",
+ "icon.placeholder": "#5f5650ff",
+ "icon.accent": "#0b6678ff",
+ "status_bar.background": "#d9c8a4ff",
+ "title_bar.background": "#d9c8a4ff",
+ "title_bar.inactive_background": "#ecdcb3ff",
+ "toolbar.background": "#f2e5bcff",
+ "tab_bar.background": "#ecdcb3ff",
+ "tab.inactive_background": "#ecdcb3ff",
+ "tab.active_background": "#f2e5bcff",
+ "search.match_background": "#0b667866",
+ "search.active_match_background": "#d7331466",
+ "panel.background": "#ecdcb3ff",
+ "panel.focused_border": null,
+ "pane.focused_border": null,
+ "scrollbar.thumb.active_background": "#458588ac",
+ "scrollbar.thumb.hover_background": "#2828284c",
+ "scrollbar.thumb.background": "#7c6f644c",
+ "scrollbar.thumb.border": "#ddcca7ff",
+ "scrollbar.track.background": "#00000000",
+ "scrollbar.track.border": "#eddeb5ff",
+ "editor.foreground": "#282828ff",
+ "editor.background": "#f2e5bcff",
+ "editor.gutter.background": "#f2e5bcff",
+ "editor.subheader.background": "#ecdcb3ff",
+ "editor.active_line.background": "#ecdcb3bf",
+ "editor.highlighted_line.background": "#ecdcb3ff",
+ "editor.line_number": "#a9a389",
+ "editor.active_line_number": "#3b382b",
+ "editor.hover_line_number": "#5e5a45",
+ "editor.invisible": "#928474ff",
+ "editor.wrap_guide": "#2828280d",
+ "editor.active_wrap_guide": "#2828281a",
+ "editor.document_highlight.read_background": "#0b66781a",
+ "editor.document_highlight.write_background": "#92847466",
+ "terminal.background": "#f2e5bcff",
+ "terminal.foreground": "#282828ff",
+ "terminal.bright_foreground": "#282828ff",
+ "terminal.dim_foreground": "#f2e5bcff",
+ "terminal.ansi.black": "#fbf1c7ff",
+ "terminal.ansi.bright_black": "#928374ff",
+ "terminal.ansi.dim_black": "#7c6f64ff",
+ "terminal.ansi.red": "#cc241dff",
+ "terminal.ansi.bright_red": "#9d0006ff",
+ "terminal.ansi.dim_red": "#c31c16ff",
+ "terminal.ansi.green": "#98971aff",
+ "terminal.ansi.bright_green": "#79740eff",
+ "terminal.ansi.dim_green": "#929015ff",
+ "terminal.ansi.yellow": "#d79921ff",
+ "terminal.ansi.bright_yellow": "#b57614ff",
+ "terminal.ansi.dim_yellow": "#cf8e1aff",
+ "terminal.ansi.blue": "#458588ff",
+ "terminal.ansi.bright_blue": "#076678ff",
+ "terminal.ansi.dim_blue": "#356f77ff",
+ "terminal.ansi.magenta": "#b16286ff",
+ "terminal.ansi.bright_magenta": "#8f3f71ff",
+ "terminal.ansi.dim_magenta": "#a85580ff",
+ "terminal.ansi.cyan": "#689d6aff",
+ "terminal.ansi.bright_cyan": "#427b58ff",
+ "terminal.ansi.dim_cyan": "#5f9166ff",
+ "terminal.ansi.white": "#7c6f64ff",
+ "terminal.ansi.bright_white": "#282828ff",
+ "terminal.ansi.dim_white": "#282828ff",
+ "link_text.hover": "#0b6678ff",
+ "version_control.added": "#797410ff",
+ "version_control.modified": "#b57615ff",
+ "version_control.deleted": "#9d0308ff",
+ "conflict": "#b57615ff",
+ "conflict.background": "#f5e2d0ff",
+ "conflict.border": "#ebccabff",
+ "created": "#797410ff",
+ "created.background": "#e4e0cdff",
+ "created.border": "#d1cba8ff",
+ "deleted": "#9d0308ff",
+ "deleted.background": "#f4d1c9ff",
+ "deleted.border": "#e8ac9eff",
+ "error": "#9d0308ff",
+ "error.background": "#f4d1c9ff",
+ "error.border": "#e8ac9eff",
+ "hidden": "#897b6eff",
+ "hidden.background": "#d9c8a4ff",
+ "hidden.border": "#d0bf9dff",
+ "hint": "#677562ff",
+ "hint.background": "#d2dee2ff",
+ "hint.border": "#adc5ccff",
+ "ignored": "#897b6eff",
+ "ignored.background": "#d9c8a4ff",
+ "ignored.border": "#c8b899ff",
+ "info": "#0b6678ff",
+ "info.background": "#d2dee2ff",
+ "info.border": "#adc5ccff",
+ "modified": "#b57615ff",
+ "modified.background": "#f5e2d0ff",
+ "modified.border": "#ebccabff",
+ "predictive": "#7c9780ff",
+ "predictive.background": "#e4e0cdff",
+ "predictive.border": "#d1cba8ff",
+ "renamed": "#0b6678ff",
+ "renamed.background": "#d2dee2ff",
+ "renamed.border": "#adc5ccff",
+ "success": "#797410ff",
+ "success.background": "#e4e0cdff",
+ "success.border": "#d1cba8ff",
+ "unreachable": "#5f5650ff",
+ "unreachable.background": "#d9c8a4ff",
+ "unreachable.border": "#c8b899ff",
+ "warning": "#b57615ff",
+ "warning.background": "#f5e2d0ff",
+ "warning.border": "#ebccabff",
+ "players": [
+ {
+ "cursor": "#0b6678ff",
+ "background": "#0b6678ff",
+ "selection": "#0b66783d"
+ },
+ {
+ "cursor": "#7c6f64ff",
+ "background": "#7c6f64ff",
+ "selection": "#7c6f643d"
+ },
+ {
+ "cursor": "#af3a04ff",
+ "background": "#af3a04ff",
+ "selection": "#af3a043d"
+ },
+ {
+ "cursor": "#8f3f70ff",
+ "background": "#8f3f70ff",
+ "selection": "#8f3f703d"
+ },
+ {
+ "cursor": "#437b59ff",
+ "background": "#437b59ff",
+ "selection": "#437b593d"
+ },
+ {
+ "cursor": "#9d0308ff",
+ "background": "#9d0308ff",
+ "selection": "#9d03083d"
+ },
+ {
+ "cursor": "#b57615ff",
+ "background": "#b57615ff",
+ "selection": "#b576153d"
+ },
+ {
+ "cursor": "#797410ff",
+ "background": "#797410ff",
+ "selection": "#7974103d"
+ }
+ ],
+ "syntax": {
+ "attribute": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "boolean": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment": {
+ "color": "#7c6f64ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "comment.doc": {
+ "color": "#5d544eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constant": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "constructor": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "embedded": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "emphasis.strong": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "enum": {
+ "color": "#af3a02ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "function.builtin": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "hint": {
+ "color": "#677562ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "keyword": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "label": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "link_text": {
+ "color": "#427b58ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "link_uri": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "namespace": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "number": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "operator": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "predictive": {
+ "color": "#7c9780ff",
+ "font_style": "italic",
+ "font_weight": null
+ },
+ "preproc": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "primary": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "property": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation": {
+ "color": "#3c3836ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.bracket": {
+ "color": "#665c54ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.delimiter": {
+ "color": "#413d3aff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.list_marker": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.markup": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "punctuation.special": {
+ "color": "#413d3aff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "selector.pseudo": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.escape": {
+ "color": "#5d544eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.regex": {
+ "color": "#af3a02ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special": {
+ "color": "#8f3e71ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "string.special.symbol": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "tag": {
+ "color": "#427b58ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "text.literal": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "title": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": 700
+ },
+ "type": {
+ "color": "#b57613ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable": {
+ "color": "#282828ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.parameter": {
+ "color": "#076678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variable.special": {
+ "color": "#066578ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "variant": {
+ "color": "#0b6678ff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.plus": {
+ "color": "#79740eff",
+ "font_style": null,
+ "font_weight": null
+ },
+ "diff.minus": {
+ "color": "#9d0006ff",
+ "font_style": null,
+ "font_weight": null
+ }
+ }
+ }
+ }
+ ]
+}
diff --git a/vendor/themes/gruvbox_dark_hard.toml b/vendor/themes/gruvbox_dark_hard.toml
new file mode 100644
index 00000000..1e2fd9e9
--- /dev/null
+++ b/vendor/themes/gruvbox_dark_hard.toml
@@ -0,0 +1,13 @@
+# Author : Sven-Hendrik Haase <[email protected]>
+# Author : Jakub Bartodziej <[email protected]>
+# The theme uses the gruvbox dark palette with hard contrast: github.com/morhetz/gruvbox
+
+inherits = "gruvbox"
+
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "bg2" }
+
+"diagnostic.error" = { underline = { color = "red0", style = "curl"} }
+
+[palette]
+bg0 = "#1d2021" # main background
diff --git a/vendor/themes/gruvbox_dark_soft.toml b/vendor/themes/gruvbox_dark_soft.toml
new file mode 100644
index 00000000..6482ac12
--- /dev/null
+++ b/vendor/themes/gruvbox_dark_soft.toml
@@ -0,0 +1,7 @@
+# Author : broke <[email protected]>
+# The theme uses the gruvbox dark palette with soft contrast: github.com/morhetz/gruvbox
+
+inherits = "gruvbox"
+
+[palette]
+bg0 = "#32302f" # main background
diff --git a/vendor/themes/gruvbox_light.toml b/vendor/themes/gruvbox_light.toml
new file mode 100644
index 00000000..ba216020
--- /dev/null
+++ b/vendor/themes/gruvbox_light.toml
@@ -0,0 +1,32 @@
+# Author : Rohan Jain <[email protected]>
+# Author : Jakub Bartodziej <[email protected]>
+# The theme uses the gruvbox light palette with standard contrast: github.com/morhetz/gruvbox
+
+inherits = "gruvbox"
+
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "bg2" }
+"ui.cursorline" = { bg = "bg1" }
+
+[palette]
+bg0 = "#fbf1c7" # main background
+bg1 = "#ebdbb2"
+bg2 = "#d5c4a1"
+bg3 = "#bdae93"
+bg4 = "#a89984"
+
+fg0 = "#282828" # main foreground
+fg1 = "#3c3836"
+fg2 = "#504945"
+fg3 = "#665c54"
+fg4 = "#7c6f64" # gray0
+
+gray0 = "#7c6f64"
+
+red1 = "#9d0006" # bright
+green1 = "#79740e"
+yellow1 = "#b57614"
+blue1 = "#076678"
+purple1 = "#8f3f71"
+aqua1 = "#427b58"
+orange1 = "#af3a03"
diff --git a/vendor/themes/gruvbox_light_hard.toml b/vendor/themes/gruvbox_light_hard.toml
new file mode 100644
index 00000000..4a48116e
--- /dev/null
+++ b/vendor/themes/gruvbox_light_hard.toml
@@ -0,0 +1,7 @@
+# Author : Twinkle <[email protected]>
+# The theme uses the gruvbox light palette with hard contrast: github.com/morhetz/gruvbox
+
+inherits = "gruvbox_light"
+
+[palette]
+bg0 = "#f9f5d7" # main background
diff --git a/vendor/themes/gruvbox_light_soft.toml b/vendor/themes/gruvbox_light_soft.toml
new file mode 100644
index 00000000..a29b2373
--- /dev/null
+++ b/vendor/themes/gruvbox_light_soft.toml
@@ -0,0 +1,7 @@
+# Author : Twinkle <[email protected]>
+# The theme uses the gruvbox light palette with soft contrast: github.com/morhetz/gruvbox
+
+inherits = "gruvbox_light"
+
+[palette]
+bg0 = "#f2e5bc" # main background
diff --git a/vendor/themes/gruvbox_material_dark_hard.toml b/vendor/themes/gruvbox_material_dark_hard.toml
new file mode 100644
index 00000000..d57c5438
--- /dev/null
+++ b/vendor/themes/gruvbox_material_dark_hard.toml
@@ -0,0 +1,13 @@
+# Gruvbox Material Dark Hard for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Base theme ported by: @satoqz
+# Palette ported by: @ivan-shymkiv
+# License: MIT
+
+inherits = "gruvbox_material_dark_medium"
+
+[palette]
+bg0 = "#1d2021"
+bg1 = "#282828"
+bg2 = "#3c3836"
+bg3 = "#504945"
diff --git a/vendor/themes/gruvbox_material_dark_medium.toml b/vendor/themes/gruvbox_material_dark_medium.toml
new file mode 100644
index 00000000..9752748c
--- /dev/null
+++ b/vendor/themes/gruvbox_material_dark_medium.toml
@@ -0,0 +1,128 @@
+# Gruvbox Material Dark Medium for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Ported by: @satoqz
+# License: MIT
+
+"attribute" = "green"
+"comment" = { fg = "grey1", modifiers = ["italic"] }
+"constant" = "fg0"
+"constant.builtin" = "purple"
+"constant.character.escape" = "green"
+"constant.numeric" = "purple"
+"constructor" = "green"
+"function" = "green"
+"keyword" = "red"
+"keyword.directive" = "purple"
+"keyword.operator" = "orange"
+"label" = "red"
+"namespace" = "yellow"
+"operator" = "orange"
+"punctuation" = "grey1"
+"punctuation.bracket" = "fg0"
+"punctuation.delimiter" = "grey1"
+"punctuation.special" = "blue"
+"special" = "green"
+"string" = "aqua"
+"string.regexp" = "green"
+"string.special.path" = "yellow"
+"string.special.symbol" = "fg0"
+"string.special.url" = { fg = "fg0", modifiers = ["underlined"] }
+"tag" = "orange"
+"type" = "yellow"
+"type.enum.variant" = "purple"
+"variable" = "fg0"
+"variable.builtin" = "purple"
+"variable.other.member" = "blue"
+"variable.parameter" = "fg0"
+
+"markup.heading.1" = "red"
+"markup.heading.2" = "orange"
+"markup.heading.3" = "yellow"
+"markup.heading.4" = "green"
+"markup.heading.5" = "blue"
+"markup.heading.6" = "purple"
+
+"markup.bold" = { fg = "fg0", modifiers = ["bold"] }
+"markup.italic" = { fg = "fg0", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "fg0", modifiers = ["crossed_out"] }
+
+"markup.link.label" = "blue"
+"markup.link.text" = "yellow"
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.list" = "blue"
+"markup.list.checked" = "green"
+"markup.list.unchecked" = "grey1"
+"markup.quote" = "grey1"
+"markup.raw" = "green"
+
+"diff.delta" = "blue"
+"diff.minus" = "red"
+"diff.plus" = "green"
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "green", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+
+error = "red"
+hint = "green"
+info = "blue"
+warning = "yellow"
+
+"ui.background" = { fg = "fg0", bg = "bg0" }
+"ui.bufferline" = { fg = "fg1", bg = "bg4" }
+"ui.bufferline.active" = { fg = "bg0", bg = "grey2" }
+"ui.bufferline.background" = { bg = "bg1" }
+"ui.cursor" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.primary" = { fg = "bg0", bg = "fg0" }
+"ui.cursor.match" = { bg = "bg2" }
+"ui.cursorline.primary" = { bg = "bg1" }
+"ui.help" = { fg = "grey1", bg = "bg0" }
+"ui.highlight" = { bg = "bg2" }
+"ui.linenr" = "bg3"
+"ui.linenr.selected" = "grey1"
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.scroll" = { fg = "grey0", bg = "bg1" }
+"ui.menu.selected" = { fg = "bg2", bg = "grey2" }
+"ui.popup" = { fg = "fg1", bg = "bg2" }
+"ui.popup.info" = { "fg" = "grey1", bg = "bg0" }
+"ui.selection" = { bg = "bg2" }
+"ui.statusline" = { fg = "fg1", bg = "bg1" }
+"ui.statusline.inactive" = { fg = "grey1", bg = "bg1" }
+"ui.statusline.insert" = { fg = "bg0", bg = "green" }
+"ui.statusline.normal" = { fg = "bg0", bg = "grey2" }
+"ui.statusline.select" = { fg = "bg0", bg = "red" }
+"ui.text" = "fg0"
+"ui.text.directory" = { fg = "blue" }
+"ui.text.focus" = { bg = "bg2" }
+"ui.text.inactive" = { fg = "grey1" }
+"ui.text.info" = "grey1"
+"ui.virtual" = "grey0"
+"ui.virtual.indent-guide" = "bg3"
+"ui.virtual.inlay-hint" = "grey0"
+"ui.virtual.jump-label" = "grey2"
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.window" = { fg = "bg3" }
+
+[palette]
+fg0 = "#d4be98"
+fg1 = "#ddc7a1"
+
+bg0 = "#282828"
+bg1 = "#32302f"
+bg2 = "#45403d"
+bg3 = "#5a524c"
+bg4 = "#504945"
+
+grey0 = "#7c6f64"
+grey1 = "#928374"
+grey2 = "#a89984"
+
+aqua = "#89b482"
+blue = "#7daea3"
+green = "#a9b665"
+orange = "#e78a4e"
+purple = "#d3869b"
+red = "#ea6962"
+yellow = "#d8a657"
diff --git a/vendor/themes/gruvbox_material_dark_soft.toml b/vendor/themes/gruvbox_material_dark_soft.toml
new file mode 100644
index 00000000..bb49ab21
--- /dev/null
+++ b/vendor/themes/gruvbox_material_dark_soft.toml
@@ -0,0 +1,14 @@
+# Gruvbox Material Dark Soft for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Base theme ported by: @satoqz
+# Palette ported by: @ivan-shymkiv
+# License: MIT
+
+inherits = "gruvbox_material_dark_medium"
+
+[palette]
+bg0 = "#32302f"
+bg1 = "#3c3836"
+bg2 = "#504945"
+bg3 = "#665c54"
+bg4 = "#5b534d"
diff --git a/vendor/themes/gruvbox_material_light_hard.toml b/vendor/themes/gruvbox_material_light_hard.toml
new file mode 100644
index 00000000..0c4e3bef
--- /dev/null
+++ b/vendor/themes/gruvbox_material_light_hard.toml
@@ -0,0 +1,14 @@
+# Gruvbox Material Light Hard for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Base theme ported by: @satoqz
+# Palette ported by: @ivan-shymkiv
+# License: MIT
+
+inherits = "gruvbox_material_light_medium"
+
+[palette]
+bg0 = "#f9f5d7"
+bg1 = "#f5edca"
+bg2 = "#f2e5bc"
+bg3 = "#ebdbb2"
+bg4 = "#eee0b7"
diff --git a/vendor/themes/gruvbox_material_light_medium.toml b/vendor/themes/gruvbox_material_light_medium.toml
new file mode 100644
index 00000000..e2fb02ab
--- /dev/null
+++ b/vendor/themes/gruvbox_material_light_medium.toml
@@ -0,0 +1,129 @@
+# Gruvbox Material Light Medium for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Base theme ported by: @satoqz
+# Palette ported by: @ivan-shymkiv
+# License: MIT
+
+"attribute" = "green"
+"comment" = { fg = "grey1", modifiers = ["italic"] }
+"constant" = "fg0"
+"constant.builtin" = "purple"
+"constant.character.escape" = "green"
+"constant.numeric" = "purple"
+"constructor" = "green"
+"function" = "green"
+"keyword" = "red"
+"keyword.directive" = "purple"
+"keyword.operator" = "orange"
+"label" = "red"
+"namespace" = "yellow"
+"operator" = "orange"
+"punctuation" = "grey1"
+"punctuation.bracket" = "fg0"
+"punctuation.delimiter" = "grey1"
+"punctuation.special" = "blue"
+"special" = "green"
+"string" = "aqua"
+"string.regexp" = "green"
+"string.special.path" = "yellow"
+"string.special.symbol" = "fg0"
+"string.special.url" = { fg = "fg0", modifiers = ["underlined"] }
+"tag" = "orange"
+"type" = "yellow"
+"type.enum.variant" = "purple"
+"variable" = "fg0"
+"variable.builtin" = "purple"
+"variable.other.member" = "blue"
+"variable.parameter" = "fg0"
+
+"markup.heading.1" = "red"
+"markup.heading.2" = "orange"
+"markup.heading.3" = "yellow"
+"markup.heading.4" = "green"
+"markup.heading.5" = "blue"
+"markup.heading.6" = "purple"
+
+"markup.bold" = { fg = "fg0", modifiers = ["bold"] }
+"markup.italic" = { fg = "fg0", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "fg0", modifiers = ["crossed_out"] }
+
+"markup.link.label" = "blue"
+"markup.link.text" = "yellow"
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.list" = "blue"
+"markup.list.checked" = "green"
+"markup.list.unchecked" = "grey1"
+"markup.quote" = "grey1"
+"markup.raw" = "green"
+
+"diff.delta" = "blue"
+"diff.minus" = "red"
+"diff.plus" = "green"
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "green", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+
+error = "red"
+hint = "green"
+info = "blue"
+warning = "yellow"
+
+"ui.background" = { fg = "fg0", bg = "bg0" }
+"ui.bufferline" = { fg = "fg1", bg = "bg4" }
+"ui.bufferline.active" = { fg = "bg0", bg = "grey2" }
+"ui.bufferline.background" = { bg = "bg1" }
+"ui.cursor" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.primary" = { fg = "bg0", bg = "fg0" }
+"ui.cursor.match" = { bg = "bg2" }
+"ui.cursorline.primary" = { bg = "bg1" }
+"ui.help" = { fg = "grey1", bg = "bg0" }
+"ui.highlight" = { bg = "bg2" }
+"ui.linenr" = "bg3"
+"ui.linenr.selected" = "grey1"
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.scroll" = { fg = "grey0", bg = "bg1" }
+"ui.menu.selected" = { fg = "bg2", bg = "grey2" }
+"ui.popup" = { fg = "fg1", bg = "bg2" }
+"ui.popup.info" = { "fg" = "grey1", bg = "bg0" }
+"ui.selection" = { bg = "bg2" }
+"ui.statusline" = { fg = "fg1", bg = "bg1" }
+"ui.statusline.inactive" = { fg = "grey1", bg = "bg1" }
+"ui.statusline.insert" = { fg = "bg0", bg = "green" }
+"ui.statusline.normal" = { fg = "bg0", bg = "grey2" }
+"ui.statusline.select" = { fg = "bg0", bg = "red" }
+"ui.text" = "fg0"
+"ui.text.directory" = { fg = "blue" }
+"ui.text.focus" = { bg = "bg2" }
+"ui.text.inactive" = { fg = "grey1" }
+"ui.text.info" = "grey1"
+"ui.virtual" = "grey0"
+"ui.virtual.indent-guide" = "bg3"
+"ui.virtual.inlay-hint" = "grey0"
+"ui.virtual.jump-label" = "grey2"
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.window" = { fg = "bg3" }
+
+[palette]
+fg0 = "#654735"
+fg1 = "#4f3829"
+
+bg0 = "#fbf1c7"
+bg1 = "#f4e8be"
+bg2 = "#eee0b7"
+bg3 = "#ddccab"
+bg4 = "#e5d5ad"
+
+grey0 = "#a89984"
+grey1 = "#928374"
+grey2 = "#7c6f64"
+
+aqua = "#4c7a5d"
+blue = "#45707a"
+green = "#6c782e"
+orange = "#c35e0a"
+purple = "#945e80"
+red = "#c14a4a"
+yellow = "#b47109"
diff --git a/vendor/themes/gruvbox_material_light_soft.toml b/vendor/themes/gruvbox_material_light_soft.toml
new file mode 100644
index 00000000..ac74f243
--- /dev/null
+++ b/vendor/themes/gruvbox_material_light_soft.toml
@@ -0,0 +1,14 @@
+# Gruvbox Material Light Soft for Helix
+# Original Author: @sainnhe (https://github.com/sainnhe/gruvbox-material)
+# Base theme ported by: @satoqz
+# Palette ported by: @ivan-shymkiv
+# License: MIT
+
+inherits = "gruvbox_material_light_medium"
+
+[palette]
+bg0 = "#f2e5bc"
+bg1 = "#eddeb5"
+bg2 = "#e6d5ae"
+bg3 = "#d5c4a1"
+bg4 = "#dac9a5"
diff --git a/vendor/themes/hazyland.toml b/vendor/themes/hazyland.toml
new file mode 100644
index 00000000..625db638
--- /dev/null
+++ b/vendor/themes/hazyland.toml
@@ -0,0 +1,116 @@
+# Hazyland theme for Helix editor.
+# Heavily inspired by Neovim's default dark color scheme created by echasnovski: https://github.com/neovim/neovim/pull/26334 and
+# Kim Nørgaard's Neovim dark (accented) theme for Zed: https://github.com/KimNorgaard/zed-neovim-default
+
+attribute = "text"
+keyword = { fg = "text", modifiers = ["bold"] }
+"keyword.directive" = { fg = "text", modifiers = ["bold"] }
+namespace = "text"
+punctuation = "text2"
+"punctuation.delimiter" = "text2"
+operator = "text"
+special = "primary"
+"variable.other.member" = "third"
+variable = "text"
+"variable.parameter" = { fg = "text" }
+"variable.builtin" = "primary"
+type = "text"
+"type.builtin" = "primary"
+constructor = "fourth"
+function = "primary"
+"function.macro" = "text"
+"function.builtin" = "primary"
+tag = "primary"
+comment = "comment"
+constant = "text"
+"constant.builtin" = "text"
+string = "second"
+"constant.numeric" = "text"
+"constant.character.escape" = "primary"
+label = { fg = "text", modifiers = ["bold"] }
+tabstop = { modifiers = ["italic"], bg = "panel"}
+
+"markup.heading" = "text"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "primary", modifiers = ["italic"] }
+"markup.link.text" = "primary"
+"markup.raw" = "primary"
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "yellow"
+
+"ui.background" = { bg = "background" }
+"ui.background.separator" = { fg = "panel" }
+"ui.linenr" = { fg = "frame" }
+"ui.linenr.selected" = { fg = "text" }
+
+"ui.statusline" = { fg = "text", bg = "panel" }
+"ui.statusline.inactive" = { fg = "frame", bg = "panel" }
+"ui.statusline.normal" = { bg = "primary", fg = "panel" }
+"ui.statusline.insert" = { bg = "second", fg = "panel" }
+"ui.statusline.select" = { bg = "third", fg = "panel" }
+
+"ui.popup" = { bg = "panel" }
+"ui.window" = { fg = "panel" }
+"ui.help" = { bg = "panel", fg = "text" }
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "text" }
+"ui.text.inactive" = "comment"
+"ui.text.directory" = { fg = "third" }
+"ui.virtual" = { fg = "frame" }
+"ui.virtual.ruler" = { bg = "panel" }
+"ui.virtual.jump-label" = { fg = "yellow", modifiers = ["bold"] }
+
+"ui.virtual.indent-guide" = { fg = "frame" }
+
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "selection" }
+"ui.cursor.select" = { bg = "primary" }
+"ui.cursor.insert" = { bg = "text" }
+"ui.cursor.primary.select" = { bg = "primary" }
+"ui.cursor.primary.insert" = { bg = "text" }
+"ui.cursor.match" = { fg = "background", bg = "frame" }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "panel" }
+"ui.highlight" = { bg = "panel" }
+"ui.highlight.frameline" = { bg = "frame" }
+"ui.debug" = { fg = "frame" }
+"ui.debug.breakpoint" = { fg = "yellow" }
+"ui.menu" = { fg = "text", bg = "panel" }
+"ui.menu.selected" = { fg = "background", bg = "text" }
+"ui.menu.scroll" = { fg = "text", bg = "panel" }
+
+"diagnostic.hint" = { underline = { color = "comment", 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"] }
+
+warning = "yellow"
+error = "red"
+info = "blue"
+hint = "comment"
+
+[palette]
+background = "#171219"
+primary = "#ff8fc4"
+second = "#f9bbff"
+third = "#b4b7f2"
+fourth = "#96ccff"
+fifth = "#b2ffe3"
+selection = "#0D2847"
+
+text = "#eee4ff"
+text2 = "#cbbcd3"
+comment = "#5d4869"
+panel = "#26202c"
+frame = "#6a5f78"
+
+green = "#8cfba2"
+yellow = "#fbe88c"
+red = "#fb9b8c"
+blue = "#8cc9fb"
diff --git a/vendor/themes/heisenberg.toml b/vendor/themes/heisenberg.toml
new file mode 100644
index 00000000..9f8ca183
--- /dev/null
+++ b/vendor/themes/heisenberg.toml
@@ -0,0 +1,88 @@
+# Author: IrishMaestro <github.com/irishmaestro>
+
+# Syntax highlighting
+"type" = { fg = "crystal_blue" }
+"type.builtin" = { fg = "crystal_blue" }
+"constructor" = { fg = "barium_green" }
+"constant" = { fg = "hazmat_yellow" }
+"string" = { fg = "crystal_blue" }
+"string.regexp" = { fg = "orange" }
+"string.special" = { fg = "vapor_yellow" }
+"comment" = { fg = "teddy_bear_pink", modifiers = ["slow_blink", "italic"] }
+"variable" = { fg = "element_green" }
+"variable.parameter" = { fg = "hazmat_yellow" }
+"label" = { fg = "vapor_yellow" }
+"punctuation" = { fg = "barium_green" }
+"keyword" = { fg = "barium_green" }
+"keyword.control" = { fg = "barium_green" }
+"keyword.directive" = { fg = "teddy_bear_pink" }
+"operator" = { fg = "hazmat_yellow" }
+"function" = { fg = "cash_green", modifiers = ["bold"] }
+"tag" = { fg = "crystal_blue" }
+"namespace" = { fg = "hazmat_yellow" }
+"markup.heading" = { fg = "hazmat_yellow" }
+"markup.list" = { fg = "vapor_yellow" }
+"markup.raw.block" = { bg = "background", fg = "orange" }
+"markup.link.url" = { fg = "crystal_blue" }
+"markup.link.text" = { fg = "vapor_yellow" }
+"markup.link.label" = { fg = "barium_green" }
+"markup.quote" = { fg = "vapor_yellow" }
+"diff.plus" = { fg = "cash_green" }
+"diff.minus" = { fg = "chili_powder_red" }
+"diff.delta" = { fg = "orange" }
+
+# Interface
+"ui.background" = { bg = "background" }
+"ui.cursor" = { bg = "crystal_blue", fg = "background" }
+"ui.cursor.match" = { fg = "hazmat_yellow" }
+"ui.linenr" = { fg = "crystal_blue" }
+"ui.linenr.selected" = { fg = "barium_green" }
+"ui.statusline" = { fg = "crystal_blue", bg = "black" }
+"ui.statusline.normal" = { fg = "crystal_blue", bg = "black" }
+"ui.statusline.insert" = { fg = "barium_green", bg = "black"}
+"ui.statusline.select" = { fg = "hazmat_yellow", bg = "black" }
+"ui.cursorline.primary" = { bg = "#041B0E" }
+"ui.popup" = { fg = "crystal_blue", bg = "background" }
+"ui.window" = { fg = "barium_green" }
+"ui.help" = { fg = "crystal_blue", bg = "background"}
+"ui.text" = { fg = "crystal_blue" }
+"ui.text.focus" = { bg = "background", fg = "barium_green" }
+"ui.text.info" = { fg = "crystal_blue" }
+"ui.virtual.whitespace" = { fg = "#08341B" }
+"ui.virtual.ruler" = { bg = "#041B0E" }
+"ui.virtual.indent-guide" = { fg = "#08341B" }
+"ui.menu" = { fg = "crystal_blue", bg = "background" }
+"ui.menu.selected" = { bg = "hazmat_yellow", fg = "background" }
+"ui.selection" = { bg = "#1B0334" }
+"ui.selection.primary" = { bg = "desert_maroon" }
+"warning" = { fg = "vapor_yellow" }
+"error" = { fg = "chili_powder_red", modifiers = ["bold"] }
+"info" = { fg = "crystal_blue", modifiers = ["bold"] }
+"hint" = { fg = "crystal_blue", modifiers = ["bold"] }
+"diagnostic.hint" = { underline = {color = "chili_powder_red", style = "curl" } }
+"diagnostic.info" = { underline = {color = "crystal_blue", style = "curl" } }
+"diagnostic.warning" = { underline = {color = "vapor_yellow", style = "curl" } }
+"diagnostic.error" = { underline = {color = "chili_powder_red", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"ui.bufferline" = { fg = "gray", bg = "background" }
+"ui.bufferline.active" = { fg = "foreground", bg = "dark_gray" }
+
+"special" = { fg = "cash_green" }
+
+[palette]
+background = "#000000"
+foreground = "#cccccc"
+black = "#121212"
+dark_gray = "#2d3640"
+gray = "#5c6773"
+orange = "#ff8f40"
+barium_green = "#009669"
+hazmat_yellow = "#f7b90c"
+vapor_yellow = "#cecd19"
+teddy_bear_pink = "#bd5173"
+crystal_blue = "#32c9fa"
+cash_green = "#00ff80"
+element_green = "#186800"
+desert_maroon = "#2B0C02"
+chili_powder_red = "#c32101"
diff --git a/vendor/themes/hex_lavender.toml b/vendor/themes/hex_lavender.toml
new file mode 100644
index 00000000..b14f3caf
--- /dev/null
+++ b/vendor/themes/hex_lavender.toml
@@ -0,0 +1,41 @@
+# Author : portalsurfer <https://github.com/PORTALSURFER>
+
+inherits = "hex_steel"
+
+[palette]
+t1 = "#0e0e0d"
+t2 = "#181a17"
+t3 = "#2b3444"
+t4 = "#61586f"
+t5 = "#686e73"
+t6 = "#878480"
+t7 = "#8e80de"
+t8 = "#7b89a3"
+t9 = "#bcb6ba"
+t10 = "#9db2b8"
+t11 = "#a0c7cf"
+
+highlight = "#ff2e5f"
+highlight_two = "#0affa9"
+highlight_three = "#29bbff"
+
+black = "#000000"
+
+selection = "#290019"
+selection_fg = "#958e9a"
+
+comment = "#404768"
+comment_doc = "#0affa9"
+
+error = "#ff0900"
+warning = "#ffbf00"
+display = "#57ff89"
+info = "#dad7d5"
+
+hints = "#44273f"
+ruler = "#1c1f1b"
+
+diff_minus = "#ff4000"
+diff_delta = "#0078bd"
+diff_plus = "#c9d400"
+diff_delta_moved = "#0048bd" \ No newline at end of file
diff --git a/vendor/themes/hex_poison.toml b/vendor/themes/hex_poison.toml
new file mode 100644
index 00000000..0d6e13ee
--- /dev/null
+++ b/vendor/themes/hex_poison.toml
@@ -0,0 +1,41 @@
+# Author : portalsurfer <https://github.com/PORTALSURFER>
+
+inherits = "hex_steel"
+
+[palette]
+t1 = "#121211"
+t2 = "#1e1f1b"
+t3 = "#4c513a"
+t4 = "#5a6052"
+t5 = "#6f6d6f"
+t8 = "#7e808a"
+t7 = "#b1b354"
+t10 = "#6fa197"
+t9 = "#3f4a4e"
+t6 = "#98acaa"
+t11 = "#6fd7a8"
+
+highlight = "#ff2e5f"
+highlight_two = "#0affa9"
+highlight_three = "#d7ff52"
+
+black = "#000000"
+
+selection = "#290019"
+selection_fg = "#c8e732"
+
+comment = "#396884"
+comment_doc = "#234048"
+
+error = "#c73500"
+warning = "#dcbb00"
+display = "#57ff89"
+info = "#dad7d5"
+
+hints = "#313d3c"
+ruler = "#21221e"
+
+diff_minus = "#ff4000"
+diff_delta = "#16a7c7"
+diff_plus = "#c9d400"
+diff_delta_moved = "#0048bd" \ No newline at end of file
diff --git a/vendor/themes/hex_steel.toml b/vendor/themes/hex_steel.toml
new file mode 100644
index 00000000..4270d24a
--- /dev/null
+++ b/vendor/themes/hex_steel.toml
@@ -0,0 +1,127 @@
+# Author : portalsurfer <https://github.com/PORTALSURFER>
+
+"comment" = { fg = "comment" }
+"comment.block.documentation" = { bg = "comment_doc", modifiers = ["italic"] }
+"comment.line.documentation" = { bg = "comment_doc", modifiers = ["italic"] }
+
+"constant" = { fg = "t11" }
+"function" = { fg = "t10" }
+"function.method" = { fg = "t7" }
+"function.macro" = { fg = "t7" }
+"keyword.storage.modifier" = { fg = "t7" }
+"keyword.control.import" = { fg = "t8" }
+"keyword.control" = { fg = "t8" }
+"keyword.function" = { fg = "t11" }
+"keyword" = { fg = "t6" }
+"operator" = { fg = "t8" }
+"punctuation" = { fg = "t9" }
+"string" = { fg = "t6", modifiers = ["italic"] }
+"string.regexp" = { fg = "t6" }
+"tag" = { fg = "t4" }
+"type" = { fg = "t8", modifiers = ["bold"] }
+"namespace" = { fg = "t6", modifiers = ["bold"] }
+"variable" = { fg = "t4" }
+"variable.parameter" = { fg = "t6" }
+"variable.other.member" = { fg = "t3" }
+"label" = { fg = "t4" }
+
+"diff.plus" = { fg = "diff_plus" }
+"diff.delta" = { fg = "diff_delta" }
+"diff.delta.moved" = { fg = "diff_delta_moved" }
+"diff.minus" = { fg = "diff_minus" }
+
+"ui.cursor.primary.insert" = { fg = "t2", bg = "highlight" }
+"ui.cursor.primary.select" = { fg = "t2", bg = "highlight_two" }
+"ui.cursor.primary" = { fg = "t1", bg = "highlight_three" }
+"ui.cursor.match" = { fg = "highlight", bg = "t1", modifiers = ["bold"] }
+"ui.cursorline.primary" = { bg = "ruler" }
+"ui.cursorline.secondary" = { bg = "ruler" }
+
+"ui.linenr" = { fg = "t3", bg = "t2" }
+"ui.linenr.selected" = { fg = "highlight_three", bg = "t2" }
+"ui.gutter" = { bg = "t2" }
+
+"ui.background" = { fg = "t4", bg = "t2" }
+"ui.background.separator" = { fg = "t3" }
+"ui.help" = { fg = "t4", bg = "t1" }
+"ui.menu" = { fg = "t4", bg = "t1" }
+"ui.menu.selected" = { fg = "highlight_three", bg = "t1" }
+"ui.popup" = { fg = "t4", bg = "t1" }
+"ui.window" = { fg = "t4" }
+
+"ui.selection" = { fg = "selection_fg", bg = "selection" }
+
+"ui.statusline" = { fg = "t4", bg = "t1" }
+"ui.statusline.inactive" = { fg = "t4", bg = "t1" }
+"ui.statusline.normal" = { fg = "t3", bg = "t1" }
+"ui.statusline.insert" = { fg = "t3", bg = "t1" }
+"ui.statusline.select" = { fg = "highlight", bg = "t4" }
+
+"ui.text" = { fg = "t4" }
+"ui.text.focus" = { fg = "highlight_three", modifiers = ["bold"] }
+
+"ui.virtual.ruler" = { bg = "ruler" }
+"ui.virtual.indent-guide" = { fg = "t3" }
+"ui.virtual.whitespace" = { fg = "t3" }
+"ui.virtual.jump-label" = { fg = "t11", modifiers = ["bold"] }
+"ui.virtual.inlay-hint" = { fg = "hints", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "t3", bg = "t1" }
+"ui.bufferline.active" = { fg = "t7", bg = "t2" }
+
+"diagnostic.error" = { underline = { color = "error", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
+"diagnostic.info" = { underline = { color = "info", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "display", style = "curl" } }
+
+"error" = { fg = "error", modifiers = ["bold"] }
+"warning" = { fg = "warning", modifiers = ["bold"] }
+"info" = { fg = "info", modifiers = ["bold"] }
+"hint" = { fg = "display", modifiers = ["bold"] }
+"special" = { fg = "t7", modifiers = ["bold"] }
+
+"markup.heading" = { fg = "t7" }
+"markup.list" = { fg = "t7" }
+"markup.bold" = { fg = "t4" }
+"markup.italic" = { fg = "t4" }
+"markup.strikethrough" = { fg = "t4", modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "t11", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "t11" }
+"markup.quote" = { fg = "t5" }
+"markup.raw" = { fg = "t4" }
+
+[palette]
+t1 = "#0e0e0d"
+t2 = "#1d1e1b"
+t3 = "#5b5555"
+t4 = "#656869"
+t5 = "#727b7c"
+t6 = "#6e8789"
+t7 = "#d85c60"
+t8 = "#9bc1bb"
+t9 = "#b5c5c5"
+t10 = "#c3c3bd"
+t11 = "#f78c5e"
+
+highlight = "#f23672"
+highlight_two = "#f69c3c"
+highlight_three = "#d4d987"
+
+selection = "#4a9aa6"
+selection_fg = "#080a0b"
+
+black = "#000000"
+comment = "#654642"
+comment_doc = "#234048"
+hints = "#31353c"
+ruler = "#222320"
+
+error = "#ff4000"
+warning = "#ffbf00"
+display = "#42baff"
+info = "#dad7d5"
+
+diff_minus = "#ff4000"
+diff_delta = "#0078bd"
+diff_plus = "#c9d400"
+diff_delta_moved = "#0048bd"
diff --git a/vendor/themes/hex_toxic.toml b/vendor/themes/hex_toxic.toml
new file mode 100644
index 00000000..33f51185
--- /dev/null
+++ b/vendor/themes/hex_toxic.toml
@@ -0,0 +1,41 @@
+# Author : portalsurfer <https://github.com/PORTALSURFER>
+
+inherits = "hex_steel"
+
+[palette]
+t1 = "#101719"
+t2 = "#1b2a32"
+t3 = "#4b5968"
+t4 = "#8792ab"
+t5 = "#6f91bc"
+t6 = "#8bb2b9"
+t7 = "#eeac90"
+t8 = "#b0bd9f"
+t9 = "#b3ccd0"
+t10 = "#b0d4d8"
+t11 = "#ffbf52"
+
+highlight = "#ff0a50"
+highlight_two = "#0affa9"
+highlight_three = "#f8ed8b"
+
+black = "#000000"
+
+selection = "#b10656"
+selection_fg = "#101719"
+
+comment = "#417e8c"
+comment_doc = "#234048"
+
+error = "#ff0900"
+warning = "#ffbf00"
+display = "#57ff89"
+info = "#dad7d5"
+
+hints = "#39515c"
+ruler = "#1e3039"
+
+diff_minus = "#ff4000"
+diff_delta = "#0078bd"
+diff_plus = "#c9d400"
+diff_delta_moved = "#0048bd" \ No newline at end of file
diff --git a/vendor/themes/horizon-dark.toml b/vendor/themes/horizon-dark.toml
new file mode 100644
index 00000000..e06cc097
--- /dev/null
+++ b/vendor/themes/horizon-dark.toml
@@ -0,0 +1,99 @@
+# Syntax
+string = "orange"
+constant = "purple"
+"constant.numeric" = "orange"
+"constant.builtin" = "orange"
+variable = "red"
+attribute = "brown"
+comment = "light-gray"
+special = "purple"
+"punctuation" = "red"
+"punctuation.bracket" = "purple"
+"punctuation.delimiter" = "white"
+keyword = "purple"
+function = "blue"
+label = "orange"
+type = "orange"
+constructor = "orange"
+namespace = "orange"
+tag = "red"
+
+# User Interface
+"ui.background" = { bg = "bg", fg = "gray" }
+"ui.background.separator" = "light-gray"
+"ui.linenr" = { fg = "light-gray" }
+"ui.linenr.selected" = { fg = "white" }
+"ui.text" = "white"
+"ui.text.focus" = "green"
+"ui.text.inactive" = "selection"
+"ui.text.info" = "orange"
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "selection" }
+"ui.gutter" = "gray"
+"ui.gutter.selected" = "light-gray"
+"ui.selection" = { bg = "selection" }
+"ui.virtual.indent-guide" = { fg = "gray" }
+"ui.virtual.whitespace" = { fg = "light-gray" }
+"ui.virtual.ruler" = { bg = "dark-bg" }
+"ui.statusline" = { bg = "dark-bg", fg = "light-gray" }
+"ui.popup" = { bg = "dark-bg", fg = "orange" }
+"ui.help" = { bg = "dark-bg", fg = "orange" }
+"ui.menu" = { bg = "dark-bg", fg = "light-gray" }
+"ui.menu.selected" = { bg = "selection", fg = "orange" }
+"ui.window" = "selection"
+"ui.bufferline" = { bg = "dark-bg", fg = "light-gray" }
+"ui.bufferline.active" = { bg = "dark-bg", fg = "orange" }
+"ui.virtual.jump-label" = { fg = "pink", modifiers = ["bold"] }
+"ui.picker.header.column" = { fg = "orange", underline.style = "line" }
+"ui.picker.header.column.active" = { fg = "purple", modifiers = [
+ "bold",
+], underline.style = "line" }
+
+# Diagnostics
+"diagnostic" = { underline = { style = "curl" } }
+"diagnostic.hint" = { underline = { color = "green", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostics.error" = { underline = { color = "red", style = "curl" } }
+"diagnostics.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+warning = { fg = "orange", modifiers = ["bold"] }
+error = { fg = "red", modifiers = ["bold"] }
+info = { fg = "blue", modifiers = ["bold"] }
+hint = { fg = "green", modifiers = ["bold"] }
+
+# Markup
+"markup.heading" = "pink"
+"markup.list" = "light-gray"
+"markup.list.checked" = "green"
+"markup.list.unchecked" = "light-gray"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = "blue"
+"markup.quote" = "orange"
+"markup.raw" = "orange"
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "orange"
+
+rainbow = ["yellow", "pink", "blue"]
+
+[palette]
+white = "#D5D8DA"
+gray = "#2E303E"
+light-gray = "#6C6F93"
+bg = "#1C1E26"
+dark-bg = "#16161C"
+pink = "#EE64AE"
+selection = "#353747"
+green = "#27D796"
+orange = "#FAB795"
+brown = "#F09383"
+purple = "#B877DB"
+red = "#E95678"
+blue = "#25B2BC"
+yellow = "#EFB41B"
diff --git a/vendor/themes/iceberg-dark.toml b/vendor/themes/iceberg-dark.toml
new file mode 100644
index 00000000..08d2fd97
--- /dev/null
+++ b/vendor/themes/iceberg-dark.toml
@@ -0,0 +1,129 @@
+# Author : Chromo-residuum-opec <[email protected]>
+
+"attribute" = { fg = "green" }
+"boolean" = { fg = "purple" }
+"character" = { fg = "purple" }
+"comment" = { fg = "comment_fg" }
+"conditional" = { fg = "blue" }
+"constant" = { fg = "purple" }
+"constructor" = { fg = "blue" }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "comment_fg" } }
+"diagnostic.info" = { underline = { style = "curl", color = "cyan" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.warning" = { underline = { style = "curl", color = "orange" } }
+"diff.delta" = { fg = "blue" }
+"diff.delta.gutter" = { fg = "cyan", bg = "linenr_bg" }
+"diff.minus" = { fg = "red" }
+"diff.minus.gutter" = { fg = "red", bg = "linenr_bg" }
+"diff.plus" = { fg = "green" }
+"diff.plus.gutter" = { fg = "green", bg = "linenr_bg" }
+"error" = { fg = "red" }
+"exception" = { fg = "blue" }
+"field" = { fg = "background_fg" }
+"float" = { fg = "purple" }
+"function" = { fg = "pale" }
+"function.macro" = { fg = "green" }
+"hint" = { fg = "comment_fg" }
+"identifier" = { fg = "blue" }
+"info" = { fg = "cyan" }
+"keyword" = { fg = "blue" }
+"keyword.directive" = { fg = "green" }
+"keyword.import" = { fg = "pale" }
+"label" = { fg = "green" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.heading" = { fg = "blue", modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link" = { fg = "blue", underline = { style = "line" } }
+"markup.link.label" = { fg = "cyan" }
+"markup.link.text" = { fg = "cyan" }
+"markup.link.url" = { underline = { style = "line" } }
+"markup.list" = { fg = "orange", modifiers = ["bold"] }
+"markup.raw" = { fg = "cyan" }
+"markup.raw.inline" = { bg = "black", fg = "blue" }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"method" = { fg = "pale" }
+"namespace" = { fg = "blue" }
+"number" = { fg = "purple" }
+"operator" = { fg = "blue" }
+"parameter" = { fg = "background_fg" }
+"property" = { fg = "background_fg" }
+"punctuation.bracket" = { fg = "background_fg" }
+"punctuation.delimiter" = { fg = "background_fg" }
+"punctuation.special" = { fg = "green" }
+"repeat" = { fg = "blue" }
+"special" = { fg = "green" }
+"string" = { fg = "cyan" }
+"string.escape" = { fg = "green" }
+"string.special" = { fg = "green" }
+"tag" = { fg = "blue" }
+"tag.attribute" = { fg = "purple" }
+"text" = { fg = "background_fg" }
+"type" = { fg = "blue" }
+"ui.background" = { fg = "background_fg", bg = "background_bg" }
+"ui.background.separator" = { fg = "comment_fg" }
+"ui.bufferline.active" = { fg = "pale" }
+"ui.cursor.match" = { fg = "background_fg", bg = "matchparen_bg" }
+"ui.cursor.normal" = { bg = "gray" }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.select" = { bg = "gray" }
+"ui.cursorline.primary" = { bg = "linenr_bg" }
+"ui.gutter" = { fg = "linenr_fg", bg = "linenr_bg" }
+"ui.help" = { fg = "background_fg", bg = "cursorlinenr_bg" }
+"ui.linenr" = { fg = "linenr_fg", bg = "linenr_bg" }
+"ui.menu" = { fg = "background_fg", bg = "cursorlinenr_bg" }
+"ui.menu.border" = { fg = "comment_fg" }
+"ui.menu.selected" = { fg = "menusel_fg", bg = "menusel_bg" }
+"ui.popup" = { fg = "background_fg", bg = "cursorlinenr_bg" }
+"ui.popup.info" = { fg = "blue" }
+"ui.selection" = { bg = "sel_bg" }
+"ui.statusline" = { bg = "statusline_bg", fg = "statusline_fg" }
+"ui.statusline.insert" = { fg = "black", bg = "blue" }
+"ui.statusline.select" = { fg = "black", bg = "green" }
+"ui.text.focus" = { fg = "orange" }
+"ui.virtual" = { fg = "linenr_fg" }
+"ui.virtual.indent-guide" = { fg = "linenr_fg" }
+"ui.virtual.jump-label" = { fg = "orange", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "linenr_bg" }
+"ui.virtual.whitespace" = { fg = "sel_bg" }
+"ui.window" = { fg = "comment_fg", modifiers = ["bold"] }
+"variable" = { fg = "background_fg" }
+"variable.builtin" = { fg = "blue" }
+"warning" = { fg = "orange" }
+
+[palette]
+
+orange = "#e2a578"
+pale = "#a4aecc"
+purple = "#a093c8"
+
+black = "#1e2132"
+gray = "#6b7089"
+red = "#e27878"
+light-red = "#e98989"
+green = "#b5bf82"
+light-green = "#c0ca8e"
+yellow = "#e2a478"
+light-yellow = "#e9b189"
+blue = "#85a0c7"
+light-blue = "#91acd1"
+magenta = "#a093c7"
+light-magenta = "#ada0d3"
+cyan = "#89b9c2"
+light-cyan = "#95c4ce"
+white = "#c6c8d1"
+light-gray = "#d2d4de"
+
+background_bg = "#161822"
+background_fg = "#c7c9d1"
+comment_fg = "#6c7189"
+cursorlinenr_bg = "#3d425c"
+linenr_bg = "#1f2233"
+linenr_fg = "#454d73"
+matchparen_bg = "#3f455f"
+menusel_bg = "#5c638a"
+menusel_fg = "#f0f1f5"
+sel_bg = "#282d43"
+statusline_bg = "#0f1117"
+statusline_fg = "#828597"
diff --git a/vendor/themes/iceberg-light.toml b/vendor/themes/iceberg-light.toml
new file mode 100644
index 00000000..2c7ca527
--- /dev/null
+++ b/vendor/themes/iceberg-light.toml
@@ -0,0 +1,39 @@
+# Author : Chromo-residuum-opec <[email protected]>
+
+inherits = "iceberg-dark"
+"ui.menu.selected" = { fg = "background_fg", bg = "menusel_bg" }
+
+[palette]
+
+orange = "#c67439"
+pale = "#505695"
+purple = "#785ab5"
+
+black = "#dcdfe7"
+gray = "#8389a3"
+red = "#cd517a"
+light-red = "#cc3768"
+green = "#668f3d"
+light-green = "#598030"
+yellow = "#c57339"
+light-yellow = "#b6662d"
+blue = "#2e539e"
+light-blue = "#22478e"
+magenta = "#7759b4"
+light-magenta = "#6845ad"
+cyan = "#3f84a6"
+light-cyan = "#327698"
+white = "#33374c"
+light-gray = "#262a3f"
+
+background_bg = "#e9e9ed"
+background_fg = "#33374d"
+comment_fg = "#8489a4"
+cursorlinenr_bg = "#cccfe0"
+linenr_bg = "#dddfe9"
+linenr_fg = "#a0a5c0"
+matchparen_bg = "#bec0ca"
+menusel_bg = "#a9afd1"
+sel_bg = "#cacdd8"
+statusline_bg = "#cad0de"
+statusline_fg = "#757da3"
diff --git a/vendor/themes/ingrid.toml b/vendor/themes/ingrid.toml
new file mode 100644
index 00000000..975f7a73
--- /dev/null
+++ b/vendor/themes/ingrid.toml
@@ -0,0 +1,77 @@
+# Author : Ingrid Rebecca Abraham <[email protected]>
+
+"attribute" = "#839A53"
+"keyword" = { fg = "#D74E50", modifiers = ["bold"] }
+"keyword.directive" = "#6F873E"
+"namespace" = "#839A53"
+"punctuation" = "#C97270"
+"punctuation.delimiter" = "#C97270"
+"operator" = { fg = "#D74E50", modifiers = ["bold"] }
+"special" = "#D68482"
+"variable.other.member" = "#89BEB7"
+"variable" = "#A6B6CE"
+"variable.parameter" = "#89BEB7"
+"type" = { fg = "#A6B6CE", modifiers = ["bold"] }
+"type.builtin" = "#839A53"
+"constructor" = { fg = "#839A53", modifiers = ["bold"] }
+"function" = { fg = "#89BEB7", modifiers = ["bold"] }
+"function.macro" = { fg = "#D4A520", modifiers = ["bold"] }
+"function.builtin" = "#89BEB7"
+"comment" = "#A6B6CE"
+"variable.builtin" = "#D4A520"
+"constant" = "#D4A520"
+"constant.builtin" = "#D4A520"
+"string" = "#D74E50"
+"constant.numeric" = "#D74E50"
+"constant.character.escape" = { fg = "#D74E50", modifiers = ["bold"] }
+"label" = "#D68482"
+
+"module" = "#839A53"
+
+# 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" = "#839A53"
+"diff.delta" = "#D4A520"
+"diff.minus" = "#D74E50"
+
+"ui.background" = { bg = "#FFFCFD" }
+"ui.linenr" = { fg = "#bbbbbb" }
+"ui.linenr.selected" = { fg = "#ED5466", modifiers = ["bold"] }
+"ui.cursorline" = { bg = "#F3EAE9" }
+"ui.statusline" = { fg = "#250E07", bg = "#F3EAE9" }
+"ui.statusline.inactive" = { fg = "#7b91b3", bg = "#F3EAE9" }
+"ui.popup" = { fg = "#7B91b3", bg = "#F3E8E9" }
+"ui.window" = { bg = "#D8B8B3" }
+"ui.help" = { bg = "#D8B8B3", fg = "#250E07" }
+
+"ui.text" = { fg = "#7B91B3" }
+"ui.text.focus" = { fg = "#250E07", modifiers= ["bold"] }
+"ui.virtual.whitespace" = "#A6B6CE"
+"ui.virtual.ruler" = { bg = "#F3EAE9" }
+
+"ui.selection" = { bg = "#F3EAE9" }
+"ui.cursor.primary" = { bg = "#ED5466", fg = "#FFFCFD", modifiers = ["bold"] }
+"ui.cursor.match" = { bg = "#F3EAE9", fg = "#ED5466", modifiers = ["bold"] }
+"ui.menu" = { fg = "#7B91B3", bg = "#F3EAE9" }
+"ui.menu.selected" = { fg = "#D74E50", bg = "#F3EAE9" }
+
+"warning" = "#D4A520"
+"error" = "#D74E50"
+"info" = "#839A53"
+"hint" = "#A6B6CE"
+
+"diagnostic.warning" = { underline = { color = "#D4A520", style = "curl" } }
+"diagnostic.error" = { underline = { color = "#D74E50", style = "curl" } }
+"diagnostic.info" = { underline = { color = "#839A53", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "#A6B6CE", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
diff --git a/vendor/themes/iroaseta.toml b/vendor/themes/iroaseta.toml
new file mode 100644
index 00000000..0683e790
--- /dev/null
+++ b/vendor/themes/iroaseta.toml
@@ -0,0 +1,162 @@
+# Theme: Iroaseta
+# Author: YardQuit
+
+# SYNTAX HIGHLIGHTING
+"attribute" = { fg = "yellow" }
+"type" = { fg = "white" }
+"type.builtin" = { fg = "white" }
+"type.parameter" = { fg = "white" }
+"type.enum" = { fg = "white" }
+"type.enum.variant" = { fg = "white" }
+"constructor" = { fg = "orange" }
+"constant" = { fg = "blue" }
+"constant.character.escape" = { fg = "yellow" }
+"string" = { fg = "blue" }
+"string.regexp" = { fg = "yellow" }
+"comment" = { fg = "gray" }
+"variable" = { fg = "orange" }
+"variable.parameter" = { fg = "yellow" }
+"variable.other" = { fg = "green" }
+"variable.other.member" = { fg = "green" }
+"label" = { fg = "blue" }
+"punctuation" = { fg = "white" }
+"punctuation.bracket" = { fg = "orange" }
+"punctuation.special" = { fg = "yellow" }
+"keyword" = { fg = "red" }
+"keyword.operator" = { fg = "blue" }
+"keyword.directive" = { fg = "white" }
+"keyword.function" = { fg = "red" }
+"keyword.storage" = { fg = "red" }
+"keyword.storage.modifier" = { fg = "green" }
+"operator" = { fg = "white" }
+"function" = { fg = "purple" }
+"function.method" = { fg = "green" }
+"function.macro" = { fg = "green" }
+"function.special" = { fg = "yellow" }
+"tag" = { fg = "green" }
+"namespace" = { fg = "white" }
+"diff" = { fg = "white" }
+"diff.minus" = { fg = "red" }
+"diff.delta" = { fg = "brown" }
+
+# MARKUP, SYNTAX HIGHLIGHTING AND INTERFACE HYBRID
+"markup.heading" = { fg = "blaze_orange" }
+"markup.heading.1" = { fg = "crystal_blue", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "sky_blue", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "dreamy_blue", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "crystal_blue" }
+"markup.heading.5" = { fg = "sky_blue" }
+"markup.heading.6" = { fg = "dreamy_blue" }
+"markup.list" = { fg = "blaze_orange" }
+"markup.bold" = { fg = "crystal_blue", modifiers = ["bold"] }
+"markup.italic" = { fg = "crystal_blue", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "crystal_blue", modifiers = ["crossed_out"] }
+"markup.link" = { fg = "crystal_blue", underline = { color = "light_purple", style = "line" } }
+"markup.link.url" = { fg = "slate_purple", underline = { color = "slate_purple", style = "line" } }
+"markup.link.label" = { fg = "crystal_blue" }
+"markup.link.text" = { fg = "crystal_blue", modifiers = ["bold"] }
+"markup.quote" = { fg = "misty_white", modifiers = ["italic"] }
+"markup.raw" = { fg = "misty_white" }
+"markup.raw.block" = { fg = "white" }
+
+# USER INTERFACE
+"ui.background" = { bg = "amber_shadow"} # workspace background
+"ui.background.separator" = { fg = "misty_white" } # picker separator below input line (space + j)
+"ui.gutter" = { bg = "amber_shadow" } # gutter
+"ui.gutter.selected" = { bg = "pitch_black" } # gutter for the line the cursor is on
+"ui.linenr" = { fg = "slate_gray" } # line numbers
+"ui.linenr.selected" = { fg = "blaze_orange", modifiers = ["bold"] } # line number for the line the cursor is on
+"ui.statusline" = { fg = "misty_white", bg = "pitch_black" } # statusline, fucused
+"ui.statusline.inactive" = { fg = "slate_gray", bg = "dark_steel" } # statusline, unfocused
+"ui.statusline.normal" = { fg = "amber_shadow", bg = "leafy_green", modifiers = ["bold"] } # statusline normal mode (if editor.color-modes is enabled)
+"ui.statusline.insert" = { fg = "amber_shadow", bg = "blaze_orange", modifiers = ["bold"] } # statusline insert mode (if editor.color-modes is enabled)
+"ui.statusline.select" = { fg = "amber_shadow", bg = "sky_blue", modifiers = ["bold"] } # statusline select mode (if editor.color-modes is enabled)
+"ui.statusline.separator" = { fg = "misty_white" } # separator character is statusline
+"ui.bufferline" = { fg = "slate_gray", modifiers = ["bold"] } # bufferline inactive tab
+"ui.bufferline.active" = { fg = "misty_white", bg = "rustic_red" } # bufferline active tab
+"ui.bufferline.background" = { bg = "pitch_black" } # bufferline background
+"ui.virtual.ruler" = { bg = "rustic_red" } # ruler columns
+"ui.virtual.whitespace" = { fg = "brown" } # whitespace characters
+"ui.virtual.indent-guide" = { fg = "brown" } # vertical indent width guides
+"ui.virtual.inlay-hint" = { fg = "slate_gray" } # inlay hints of all kinds
+"ui.virtual.inlay-hint.parameter" = { fg = "slate_gray" } # inlay hints of kind parameter (lsps are not required to set a kind)
+"ui.virtual.inlay-hint.type" = { fg = "slate_gray" } # inlay hints of kind type (lsps are not required to set a kind)
+"ui.virtual.wrap" = { fg = "slate_gray" } # soft-wrap indicator
+"ui.virtual.jump-label" = { modifiers = ["reversed"] } # virtual jump labels (g + w)
+"ui.selection" = { bg = "deep_purple" } # slave selections in the editing area
+"ui.selection.primary" = { bg = "light_purple" } # primary selection in the editing area
+"ui.cursor" = { modifiers = ["reversed"] } # only if "ui.cursor.primary.normal" isn't set
+"ui.cursor.normal" = { modifiers = ["reversed"] } # slave cursor block in normal mode
+"ui.cursor.insert" = { bg = "rustic_red" } # slave cursor block in insert mode
+"ui.cursor.select" = { bg = "deep_purple" } # slave cursor block in select mode
+"ui.cursor.match" = { fg = "amber_shadow", bg = "blaze_orange", modifiers = ["bold"] } # matching bracket etc
+"ui.cursor.primary" = { modifiers = ["reversed"] } # cursor with primary selection (has no effect due to "ui.cursor.primary.normal" is set)
+"ui.cursor.primary.normal" = { modifiers = ["reversed"] } # cursor block in normal mode
+"ui.cursor.primary.insert" = { fg = "amber_shadow", bg = "ruby_glow" } # cursor block in insert mode
+"ui.cursor.primary.select" = { fg = "misty_white", bg = "deep_purple" } # cursor block in select mode (not the selected color)
+"ui.cursorline.primary" = { bg = "dark_steel" } # line of the primary cursor
+"ui.cursorline.secondary" = { bg = "midnight_black"} # lines of secondary cursors
+"ui.cursorcolumn.primary" = { bg = "dark_steel" } # column of the primary cursor
+"ui.cursorcolumn.secondary" = { bg = "midnight_black" } # columns of secondary cursors
+
+# USER INTERFACE - MENUS AND POPUP
+"ui.popup" = { fg = "misty_white", bg = "midnight_black" } # documentation popups (space + k)
+"ui.popup.info" = { fg = "misty_white", bg = "midnight_black" } # prompt for multiple key options, menu border (space, g, z, m, etc)
+"ui.window" = { fg = "pitch_black" } # borderlines separating splits
+"ui.help" = { fg = "misty_white", bg = "midnight_black" } # description box for commands
+"ui.text" = { fg = "white" } # default text style, command prompts, popup text, etc
+"ui.text.focus" = { fg = "leafy_green" } # the currently selected line in the picker (space j, space f, space s, etc)
+"ui.text.inactive" = { fg = "slate_gray" } # same as ui.text but when the text is inactive e.g. suggestions
+"ui.text.info" = { fg = "misty_white", bg = "midnight_black" } # the key: command in ui.popup.info boxes (space, g, z, m, etc)
+"ui.menu" = { fg = "ethereal_gray", bg = "pitch_black" } # code and command completion menus ":"
+"ui.menu.selected" = { fg = "misty_white", bg = "dark_steel" } # selected autocomplete item
+"ui.menu.scroll" = { fg = "slate_gray", bg = "midnight_black" } # scrollbar
+"ui.highlight" = { underline = { color = "blaze_orange", style = "line" } } # highlighted lines in the picker preview
+
+# User Interface - Diagnostics
+"warning" = { fg = "lemon_zest" } # diagnostics warning (gutter)
+"error" = { fg = "ruby_glow" } # diagnostics error (gutter)
+"info" = { fg = "sky_blue" } # diagnostics info (gutter)
+"hint" = { fg = "walnut_brown" } # diagnostics hint (gutter)
+"diagnostic" = { modifiers = ["reversed"] } # diagnostics fallback style (editing area)
+"diagnostic.hint" = { fg = "amber_shadow", bg = "walnut_brown" } # diagnostics hint (editing area)
+"diagnostic.info" = { fg = "misty_white", bg = "twilight_slate" } # diagnostics info (editing area)
+"diagnostic.warning" = { fg = "misty_white", bg = "rustic_amber" } # diagnostics warning (editing area)
+"diagnostic.error" = { fg = "misty_white", bg = "rustic_red" } # diagnostics error (editing area)
+
+# COLOR NAMES
+[palette]
+# PALETTE USER INTERFACE
+amber_shadow = "#0d1117"
+midnight_black = "#010409"
+dark_steel = "#161b22"
+pitch_black = "#000000"
+misty_white = "#f2f0eb"
+slate_gray = "#838a97"
+ethereal_gray = "#91a3b0"
+blaze_orange = "#ff9000"
+lemon_zest = "#ffba00"
+leafy_green = "#81be83"
+dreamy_blue = "#6eb0ff"
+crystal_blue = "#99c7ff"
+twilight_slate = "#263c57"
+sky_blue = "#45b1e8"
+rustic_red = "#540b0c"
+ruby_glow = "#fa7970"
+walnut_brown = "#987654"
+rustic_amber = "#9d5800"
+slate_purple = "#d2a8ff"
+light_purple = "#7533bd"
+deep_purple = "#4c1785"
+
+# PALETTE SYNTAX HIGHLIGHTING
+black = "#0d1117"
+red = "#fa7970"
+green = "#81be83"
+yellow = "#ffba00"
+orange = "#ff9000"
+blue = "#45b1e8"
+purple = "#d2a8ff"
+brown = "#987654"
+gray = "#838a97"
+white = "#dadada"
diff --git a/vendor/themes/jellybeans.toml b/vendor/themes/jellybeans.toml
new file mode 100644
index 00000000..6f8c326f
--- /dev/null
+++ b/vendor/themes/jellybeans.toml
@@ -0,0 +1,140 @@
+#
+# __ _ _ _
+# \ \ ___| | |_ _| |__ ___ __ _ _ __ ___
+# \ \/ _ \ | | | | | _ \ / _ \/ _ | _ \/ __|
+# /\_/ / __/ | | |_| | |_| | __/ |_| | | | \__ \
+# \___/ \___|_|_|\__ |____/ \___|\____|_| |_|___/
+# \___/
+#
+# Jellybeans
+# A take on the Jellybeans theme, please feel free to contribute!
+#
+# Original author: @nanotech
+# Original repository: nanotech/jellybeans.vim
+# Contributors:
+# @cemalokten
+
+"attribute" = "green"
+"type" = "light_blue"
+"type.enum.variant" = "purple"
+"constructor" = "yellow"
+"constant" = "dark_orange"
+
+"constant.builtin.boolean" = "yellow"
+"constant.character" = "yellow"
+"constant.character.escape" = "red_error"
+"constant.numeric" = "dark_orange"
+"string" = "dark_green"
+"string.regexp" = "light_purple"
+"string.special" = { fg = "yellow", modifiers = ["underlined"] }
+"comment" = "light_gray"
+
+"variable" = "light_yellow"
+"variable.builtin" = { fg = "dark_green", modifiers = ["underlined"] }
+"variable.parameter" = "yellow"
+"variable.other.member" = "light_purple"
+"label" = "yellow"
+"punctuation" = "mid_blue"
+"keyword" = "mid_blue"
+"keyword.control.exception" = "purple"
+"operator" = "light_purple"
+"function" = "yellow"
+"function.macro" = "green"
+"function.builtin" = "green"
+"function.special" = "green"
+"function.method" = "yellow"
+"tag" = "light_blue"
+"special" = "green"
+"namespace" = "light_purple"
+
+"markup.bold" = { fg = "white", modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.heading" = { fg = "mid_blue", modifiers = ["bold"] }
+"markup.list" = "dark_green"
+"markup.list.numbered" = "mid_blue"
+"markup.list.unnumbered" = "mid_blue"
+"markup.link.url" = { fg = "dark_green", modifiers = ['italic', 'underlined'] }
+"markup.link.text" = "mid_blue"
+"markup.link.label" = "purple"
+"markup.quote" = "dark_green"
+"markup.raw" = "dark_green"
+"markup.raw.inline" = "mid_blue"
+"markup.raw.block" = "dark_green"
+
+"diff.plus" = "diff_plus"
+"diff.minus" = "red_accent"
+"diff.delta" = "blue_accent"
+
+# ui specific
+"ui.background" = { bg = "background" } # .separator
+"ui.cursor" = { bg = "background", modifiers = ["reversed"] }
+"ui.cursor.insert" = { bg = "light_yellow", fg = "background" }
+"ui.cursor.match" = { fg = "background", bg = "dark_orange" }
+"ui.cursorline" = { bg = "darker" }
+"ui.linenr" = "dark_gray"
+"ui.linenr.selected" = { fg = "light_yellow", bg = "darker" }
+"ui.statusline" = { fg = "light_yellow", bg = "darker" }
+"ui.statusline.inactive" = { fg = "dark", bg = "darker" }
+"ui.statusline.normal" = { fg = "light_yellow", bg = "darker" }
+"ui.statusline.insert" = { fg = "darker", bg = "purple" }
+"ui.statusline.select" = { fg = "selectionFG", bg = "selection" }
+"ui.popup" = { fg = "light_yellow", bg = "darkest" }
+"ui.window" = { fg = "dark", bg = "darkest" }
+"ui.help" = { fg = "light_yellow", bg = "darkest" }
+"ui.text" = "light_yellow"
+"ui.text.focus" = { fg = "white", bg = "dark_blue" }
+"ui.virtual" = "dark"
+"ui.virtual.ruler" = { bg = "darker" }
+"ui.menu" = { fg = "light_purple", bg = "darkest" }
+"ui.menu.selected" = { fg = "white", bg = "dark_blue" }
+"ui.selection" = { bg = "darker" }
+"ui.selection.primary" = { bg = "selection", fg = "selectionFG" }
+"hint" = "blue"
+"info" = "yellow_accent"
+"warning" = "orange_accent"
+"error" = "red_error"
+"diagnostic" = { modifiers = [] }
+"diagnostic.hint" = { underline = { color = "light_purple", style = "line" } }
+"diagnostic.info" = { underline = { color = "blue_accent", style = "line" } }
+"diagnostic.warning" = { underline = { color = "yellow_accent", style = "line" } }
+"diagnostic.error" = { underline = { color = "red_error", style = "line" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+background = "#151515"
+darkest = "#1e1e1e"
+darker = "#292929"
+dark = "#898989"
+white = "#ffffff"
+dark_gray = "#535353"
+light_gray = "#6d6d6d"
+
+purple = "#a390f0"
+light_purple = "#CDBEF0"
+
+blue = "#52a7f6"
+light_blue = "#8fbfdc"
+mid_blue = "#8197bf"
+dark_blue = "#204474"
+blue_accent = "#2197F3"
+
+green = "#99ad6a"
+dark_green = "#84A775"
+
+red = "#CC7C8A"
+red_error = "#902020"
+red_accent = "#F44747"
+
+orange = "#efb080"
+dark_orange = "#cf6a4c"
+orange_accent = "#EE7F25"
+
+yellow = "#fad07a"
+light_yellow = "#EBEBD8"
+yellow_accent = "#DEA407"
+
+diff_plus = "#5A9F81"
+selection = "#37232D"
+selectionFG = "#F2AAC7"
diff --git a/vendor/themes/jetbrains_cyan_light.LICENSE b/vendor/themes/jetbrains_cyan_light.LICENSE
new file mode 100644
index 00000000..3a4a2fb8
--- /dev/null
+++ b/vendor/themes/jetbrains_cyan_light.LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 CloudCannon
+
+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/jetbrains_cyan_light.toml b/vendor/themes/jetbrains_cyan_light.toml
new file mode 100644
index 00000000..4f18af89
--- /dev/null
+++ b/vendor/themes/jetbrains_cyan_light.toml
@@ -0,0 +1,168 @@
+# Jetbrains Cyan Light
+# Adapted from JetBrains' Cyan Light Theme https://plugins.jetbrains.com/plugin/12102-cyan-light-theme
+# Author: Abderrahmane Tahri Jouti <[email protected]>
+
+# Original Author : Olga Berdnikova
+# LICENSE : MIT
+# Source: https://github.com/OlyaB/CyanTheme
+
+"attribute" = "blue"
+"type" = "shade07"
+"type.enum.variant" = "purple"
+"constructor" = "shade07"
+
+"constant" = "darker_blue"
+"constant.builtin.boolean" = "blue"
+"constant.character" = "blue"
+"constant.character.escape" = "dark_red"
+"constant.numeric" = "blue"
+
+"string" = "green"
+"string.regexp" = "blue"
+"string.special" = { fg = "dark_red", modifiers = ["underlined"] }
+
+"comment" = "comment_gray"
+
+"variable" = "green_blue"
+"variable.builtin" = { fg = "darker_blue" }
+"variable.parameter" = "purple"
+"variable.other.member" = "purple"
+
+"label" = { fg = "darker_blue", modifiers = ["underlined"] }
+"punctuation" = "shade06"
+
+"keyword" = "darker_blue"
+"keyword.control.exception" = "darker_blue"
+
+"operator" = "shade06"
+
+"function" = "shade07"
+"function.macro" = "yellow"
+"function.builtin" = { fg = "shade07", modifiers = ["italic"] }
+"function.special" = "dark_red"
+"function.method" = "dark_yellow"
+
+"tag" = "darker_blue"
+"special" = "shade06"
+"namespace" = "darker_blue"
+
+"markup.bold" = { fg = "shade06", modifiers = ["bold"] }
+"markup.italic" = { fg = "shade06", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "shade06", modifiers = ["crossed_out"] }
+"markup.heading" = { fg = "purple" }
+"markup.list" = "darker_blue"
+"markup.list.numbered" = "darker_blue"
+"markup.list.unnumbered" = "darker_blue"
+"markup.link.url" = "shade06"
+"markup.link.text" = { fg = "dark_blue", modifiers = ['underlined'] }
+"markup.link.label" = "dark_blue"
+"markup.quote" = "green"
+"markup.raw" = "green"
+"markup.raw.inline" = "green"
+"markup.raw.block" = "green"
+
+"diff.plus" = "green"
+"diff.plus.gutter" = "gutter_green"
+"diff.minus" = "red"
+"diff.minus.gutter" = "gutter_red"
+"diff.delta" = "blue"
+"diff.delta.gutter" = "gutter_blue"
+
+# ui specific
+"ui.background" = { bg = "shade00" }
+"ui.cursor" = { bg = "shade02" }
+"ui.cursor.primary" = { bg = "cursor_blue" }
+"ui.cursor.match" = { fg = "shade00", bg = "shade04" }
+"ui.cursor.primary.select" = { bg = "light_purple" }
+"ui.cursor.primary.insert" = { bg = "light_green" }
+
+"ui.selection" = { bg = "lighter_blue" }
+"ui.selection.primary" = { bg = "lighter_blue" }
+
+"ui.highlight" = { bg = "faint_blue" }
+"ui.cursorline.primary" = { bg = "faint_blue" }
+
+"ui.linenr" = { fg = "shade03" }
+"ui.linenr.selected" = { fg = "shade04", bg = "faint_blue", modifiers = [
+ "bold",
+] }
+
+"ui.statusline" = { fg = "shade06", bg = "shade01" }
+"ui.statusline.inactive" = { fg = "shade03_darker", bg = "shade01_lighter" }
+"ui.statusline.normal" = { fg = "shade00", bg = "blue" }
+"ui.statusline.insert" = { fg = "shade00", bg = "green" }
+"ui.statusline.select" = { fg = "shade00", bg = "purple" }
+
+"ui.popup" = { fg = "shade04", bg = "shade01_lighter" }
+"ui.window" = { fg = "shade03_darker", bg = "shade01_lighter" }
+"ui.help" = { fg = "shade06", bg = "shade00" }
+"ui.text" = "shade05"
+"ui.text.focus" = { fg = "shade07", bg = "light_blue" }
+"ui.text.directory" = "blue"
+
+"ui.virtual" = "shade03"
+"ui.virtual.ruler" = { bg = "shade01" }
+"ui.virtual.inlay-hint" = { fg = "shade03_darker" }
+"ui.virtual.jump-label" = { fg = "shade07", bg = "shade01", modifiers = ["bold" ] }
+
+"ui.menu" = { fg = "shade05", bg = "shade01_lighter" }
+"ui.menu.selected" = { fg = "shade07", bg = "light_blue" }
+
+"hint" = "shade04"
+"info" = "light_blue"
+"warning" = "orange"
+"error" = "red"
+
+"diagnostic" = { modifiers = [] }
+"diagnostic.hint" = { underline = { color = "shade04", style = "line" } }
+"diagnostic.info" = { underline = { color = "light_blue", style = "line" } }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+shade00 = "#f2f3f7"
+shade01 = "#dadde8"
+shade02 = "#c1c6d9"
+shade03 = "#a9b0ca"
+shade04 = "#525c85"
+shade05 = "#434b6c"
+shade06 = "#343a54"
+shade07 = "#25293c"
+
+shade01_lighter = "#e6e8f0"
+shade03_darker = "#9199bb"
+shade04_lighter = "#616d9d"
+
+background = "#f2f3f7"
+foreground = "#25293c"
+
+comment_gray = "#808080"
+
+gutter_blue = "#C3D6E8"
+faint_blue = "#E8Eef1"
+lighter_blue = "#d0eaff"
+light_blue = "#99ccff"
+cursor_blue = "#80bfff"
+blue = "#0073E6"
+dark_blue = "#185b93"
+darker_blue = "#000080"
+
+purple = "#660E7A"
+light_purple = "#ED9CFF"
+
+gutter_green = "#C9DEC1"
+green = "#00733B"
+light_green = "#5DCE87"
+green_blue = "#458383"
+
+yellow = "#808000"
+dark_yellow = "#7A7A43"
+
+light_orange = "#f9c881"
+orange = "#F49810"
+
+gutter_red = "#EBBCBC"
+red = "#d90016"
+dark_red = "#7F0000"
diff --git a/vendor/themes/jetbrains_dark.toml b/vendor/themes/jetbrains_dark.toml
new file mode 100644
index 00000000..68e74333
--- /dev/null
+++ b/vendor/themes/jetbrains_dark.toml
@@ -0,0 +1,102 @@
+"type.builtin" = "red207"
+"type.enum" = "red199"
+"constant.builtin" = "red207"
+"constant.numeric" = "blue184"
+string = "green171"
+comment = "blue133"
+"comment.block.documentation" = "green130"
+"comment.line.documentation" = "green130"
+"variable.builtin" = "red207"
+"variable.other.member" = "red199"
+label = "red199"
+keyword = "red207"
+function = "blue245"
+"function.macro" = "red179"
+tag = "red213"
+
+"markup.heading" = { fg = "red199", modifiers = ["italic"] }
+"markup.heading.marker" = "red207"
+"markup.list" = "red207"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = { fg = "blue247", underline = { style = "line" } }
+"markup.raw" = { bg = "blue64" }
+
+"diff.plus" = "green145"
+"diff.minus" = "blue145"
+"diff.delta" = "blue173"
+
+"ui.background" = { fg = "blue196", bg = "blue34" }
+"ui.gutter" = "blue56"
+"ui.gutter.selected" = { fg ="blue56", bg = "blue46" }
+"ui.linenr" = "blue89"
+"ui.linenr.selected" = "blue171"
+"ui.statusline" = { bg = "blue48" }
+"ui.statusline.inactive" = "blue89"
+"ui.statusline.normal" = { fg = "blue48", bg = "green156", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "blue48", bg = "blue247", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "blue48", bg = "red194", modifiers = ["bold"] }
+"ui.popup" = { bg = "blue48" }
+"ui.text.focus" = "blue247"
+"ui.virtual" = "blue122"
+"ui.virtual.ruler" = { bg = "blue64" }
+"ui.virtual.whitespace" = "blue122"
+"ui.virtual.indent-guide" = "blue56"
+"ui.virtual.inlay-hint" = { fg = "blue145", bg = "blue50" }
+"ui.menu" = { bg = "blue48" }
+"ui.menu.selected" = { bg = "blue110" }
+"ui.menu.scroll" = { fg = "blue81", bg = "blue48" }
+"ui.selection" = { fg = "black", bg = "blue214" }
+"ui.selection.primary" = { bg = "blue131" }
+"ui.cursorline.primary" = { bg = "blue46" }
+"ui.cursorline.secondary" = { bg = "blue46" }
+"ui.cursorcolumn.primary" = { bg = "blue46" }
+"ui.cursorcolumn.secondary" = { bg = "blue46" }
+
+warning = "red194"
+error = "red214"
+info = "blue247"
+hint = "green156"
+
+"diagnostic" = { underline = { style = "curl" } }
+"diagnostic.hint" = { underline = { color = "green156", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue247", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "red194", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red214", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+red179 = "#b3ae60"
+red194 = "#c29e4a"
+red199 = "#c77dbb"
+red207 = "#cf8e6d"
+red213 = "#d5b778"
+red214 = "#d64d5b"
+
+green130 = "#5f826b"
+green145 = "#549159"
+green156 = "#499c54"
+green171 = "#6aab73"
+
+blue34 = "#1e1f22"
+blue46 = "#26282e"
+blue48 = "#2b2d30"
+blue50 = "#2d2e32"
+blue56 = "#313438"
+blue64 = "#293c40"
+blue81 = "#4d4e51"
+blue89 = "#4b5059"
+blue110 = "#2e436e"
+blue122 = "#6f737a"
+blue131 = "#214283"
+blue133 = "#7a7e85"
+blue145 = "#868a91"
+blue171 = "#A1A3AB"
+blue173 = "#375fad"
+blue184 = "#2aacb8"
+blue196 = "#bcbec4"
+blue214 = "#ced0d6"
+blue245 = "#56a8f5"
+blue247 = "#57aaf7"
diff --git a/vendor/themes/kanagawa-dragon.toml b/vendor/themes/kanagawa-dragon.toml
new file mode 100644
index 00000000..e775f281
--- /dev/null
+++ b/vendor/themes/kanagawa-dragon.toml
@@ -0,0 +1,125 @@
+# Kanagawa Dragon
+# Author: EricHenry
+
+# Adaptation of https://github.com/rebelot/kanagawa.nvim
+# Original author: rebelot
+# All credits to the original author, the palette is taken from the README
+# because of some theming differences, it's not an exact copy of the original.
+
+inherits = "kanagawa"
+
+## User interface
+"ui.selection" = { bg = "waveBlue2" }
+"ui.selection.primary" = { bg = "waveBlue1" }
+"ui.background" = { fg = "dragonWhite", bg = "dragonBlack3" }
+"ui.gutter" = { fg = "dragonBlack6", bg = "dragonBlack4" }
+
+"ui.linenr" = { fg = "dragonBlack6", bg = "dragonBlack4" }
+"ui.linenr.selected" = { fg = "roninYellow", modifiers = ["bold"] }
+
+"ui.virtual" = "dragonBlack4"
+"ui.virtual.ruler" = { bg = "dragonBlack5" }
+"ui.virtual.inlay-hint" = "dragonGray2"
+"ui.virtual.inlay-hint.parameter" = { fg = "dragonYellow", modifiers = ["dim"] }
+"ui.virtual.inlay-hint.type" = { fg = "dragonAqua", modifiers = ["dim"] }
+"ui.virtual.jump-label" = { fg = "dragonRed", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "oldWhite", bg = "dragonBlack0" }
+
+"ui.bufferline" = { fg = "oldWhite", bg = "dragonBlack0" }
+"ui.bufferline.active" = { fg = "oldWhite", bg = "dragonBlack0" }
+"ui.bufferline.background" = { bg = "sumiInk0" }
+
+"ui.popup" = { fg = "oldWhite", bg = "dragonBlack0" }
+"ui.window" = { fg = "sumiInk0" }
+"ui.help" = { fg = "fujiWhite", bg = "sumiInk0" }
+"ui.text" = "dragonWhite"
+"ui.text.focus" = { fg = "dragonWhite", bg = "waveBlue1", modifiers = ["bold"] }
+
+"ui.cursor" = { fg = "waveBlue1", bg = "waveAqua2" }
+"ui.cursor.primary" = { fg = "waveBlue1", bg = "fujiWhite" }
+"ui.cursor.match" = { fg = "roninYellow", modifiers = ["bold"] }
+"ui.highlight" = { fg = "fujiWhite", bg = "waveBlue2" }
+
+"ui.cursorline.primary" = { bg = "dragonBlack5" }
+"ui.cursorcolumn.primary" = { bg = "dragonBlack5" }
+
+"diagnostic.info" = { underline = { color = "dragonBlue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "waveAqua1", style = "curl" } }
+"diagnostic.deprecated" = { fg= "katanaGray", modifiers = ["crossed_out"] }
+
+## Syntax highlighting
+"attribute" = "waveRed"
+"type" = "dragonAqua"
+"type.enum.variant" = "dragonOrange"
+"constructor" = "dragonTeal"
+"constant" = "dragonOrange"
+"constant.numeric" = "dragonPink"
+"constant.character.escape" = "dragonBlue2"
+"string" = "dragonGreen2"
+"string.regexp" = "dragonRed"
+"string.special.url" = "dragonTeal"
+"string.special.symbol" = "dragonTeal"
+"comment" = "dragonAsh"
+"variable" = "dragonWhite"
+"variable.builtin" = "dragonRed"
+"variable.parameter" = "dragonGray"
+"variable.other.member" = "dragonYellow"
+"label" = "dragonRed"
+"punctuation" = "dragonWhite"
+"keyword" = "dragonViolet"
+"keyword.control.return" = "dragonRed"
+"keyword.control.exception" = "dragonRed"
+"keyword.directive" = "dragonRed"
+"operator" = "dragonRed"
+"function" = "dragonBlue2"
+"function.builtin" = "dragonBlue2"
+"function.macro" = "dragonRed"
+"tag" = "dragonYellow"
+"namespace" = "dragonWhite"
+"special" = "dragonYellow"
+
+## Markup modifiers
+"markup.heading.marker" = "dragonViolet"
+"markup.heading.1" = { fg = "dragonOrange", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "dragonYellow", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "dragonBlue2", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "dragonWhite", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "dragonRed", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "dragonPink", modifiers = ["bold"] }
+"markup.list.numbered" = "dragonPink"
+"markup.list.unnumbered" = "dragonRed"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.text" = "dragonTeal"
+"markup.link.url" = { fg = "dragonPink", underline.style = "line" }
+"markup.link.label" = "dragonBlue2"
+"markup.quote" = "springViolet1"
+"markup.raw" = "dragonGreen2"
+
+[palette]
+dragonBlack0 = "#0d0c0c"
+dragonBlack1 = "#12120f"
+dragonBlack2 = "#1D1C19"
+dragonBlack3 = "#181616"
+dragonBlack4 = "#282727"
+dragonBlack5 = "#393836"
+dragonBlack6 = "#625e5a"
+
+dragonWhite = "#c5c9c5"
+dragonGreen = "#87a987"
+dragonGreen2 = "#8a9a7b"
+dragonPink = "#a292a3"
+dragonOrange = "#b6927b"
+dragonOrange2 = "#b98d7b"
+dragonGray = "#a6a69c"
+dragonGray2 = "#9e9b93"
+dragonGray3 = "#7a8382"
+dragonBlue2 = "#8ba4b0"
+dragonViolet= "#8992a7"
+dragonRed = "#c4746e"
+dragonAqua = "#8ea4a2"
+dragonAsh = "#737c73"
+dragonTeal = "#949fb5"
+dragonYellow = "#c4b28a"
diff --git a/vendor/themes/kanagawa-lotus.toml b/vendor/themes/kanagawa-lotus.toml
new file mode 100644
index 00000000..fd59769d
--- /dev/null
+++ b/vendor/themes/kanagawa-lotus.toml
@@ -0,0 +1,156 @@
+# Kanagawa-lotus
+# Author: vmanolop
+
+# A light variant of the Kanagawa theme, based on the original dark Kanagawa theme
+# and inspired by the lotus variant of https://github.com/rebelot/kanagawa.nvim
+
+## User interface
+"ui.selection" = { bg = "lotusBlue1" }
+"ui.selection.primary" = { bg = "lotusBlue1" }
+"ui.background" = { fg = "lotusInk0", bg = "lotusWhite0" }
+
+"ui.linenr" = { fg = "lotusInk1" }
+"ui.linenr.selected" = { fg = "lotusBrightOrange", modifiers = ["bold"] }
+"ui.gutter" = { fg = "lotusInk1", bg = "lotusWhite1" }
+
+"ui.virtual" = "lotusInk1"
+"ui.virtual.ruler" = { bg = "lotusWhite1" }
+"ui.virtual.inlay-hint" = "lotusInk2"
+"ui.virtual.jump-label" = { fg = "lotusRed", modifiers = ["bold"] }
+"ui.virtual.whitespace" = { fg = "lotusWhite2" }
+
+"ui.statusline" = { fg = "lotusInk0", bg = "lotusWhite2" }
+"ui.statusline.inactive" = { fg = "lotusInk1", bg = "lotusWhite2" }
+"ui.statusline.normal" = { fg = "lotusWhite2", bg = "lotusBlue1", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "lotusWhite2", bg = "lotusBrightGreen", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "lotusWhite2", bg = "lotusBrightViolet", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "lotusInk1", bg = "lotusWhite2" }
+"ui.bufferline.active" = { fg = "lotusInk0", bg = "lotusWhite2" }
+"ui.bufferline.background" = { bg = "lotusWhite2" }
+
+"ui.popup" = { fg = "lotusInk0", bg = "lotusWhite2" }
+"ui.window" = { fg = "lotusWhite2" }
+"ui.help" = { fg = "lotusInk0", bg = "lotusWhite2" }
+"ui.text" = "lotusInk0"
+"ui.text.focus" = { fg = "lotusInk0", bg = "lotusBlue1", modifiers = ["bold"] }
+
+"ui.cursor" = { fg = "lotusSuperBlue", bg = "lotusInk3" }
+"ui.cursor.primary" = { fg = "lotusSuperBlue", bg = "lotusPink" }
+"ui.cursor.match" = { fg = "lotusRed", modifiers = ["bold"] }
+"ui.highlight" = { fg = "lotusInk0", bg = "lotusBlue1" }
+"ui.menu" = { fg = "lotusInk0", bg = "lotusBlue1" }
+"ui.menu.selected" = { fg = "lotusWhite0", bg = "lotusBlue3", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "lotusInk0", bg = "lotusBlue1" }
+
+"ui.cursorline.primary" = { bg = "lotusWhite1" }
+"ui.cursorcolumn.primary" = { bg = "lotusWhite1" }
+
+"ui.debug.breakpoint" = "lotusBlue3"
+"ui.debug.active" = "lotusRed"
+
+"diagnostic.error" = { underline = { color = "lotusRed", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "lotusBrightOrange", style = "curl" } }
+"diagnostic.info" = { underline = { color = "lotusBlue3", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "lotusGreen", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "lotusRed"
+warning = "lotusBrightOrange"
+info = "lotusBlue3"
+hint = "lotusGreen"
+
+## Diff
+"diff.plus" = "lotusBrightGreen"
+"diff.minus" = "lotusRed"
+"diff.delta" = "lotusBrightOrange"
+
+## Syntax highlighting
+"attribute" = "lotusAutumnRed"
+"type" = { fg = "lotusSuperAqua" }
+"type.builtin" = { fg = "lotusBlue3" }
+"constructor" = { fg = "lotusBlue3" }
+"constant" = { fg = "lotusSuperOrange" }
+"constant.numeric" = { fg = "lotusSuperPink" }
+"constant.character.escape" = { fg = "lotusYellow2" }
+"string" = { fg = "lotusSuperBlue" }
+"string.regexp" = { fg = "lotusYellow2" }
+"string.special.url" = { fg = "lotusSuperGreen" }
+"string.special.symbol" = { fg = "lotusSuperViolet" }
+"comment" = { fg = "lotusInk1", modifiers = ["italic"] }
+"variable" = { fg = "lotusInk0" }
+"variable.builtin" = { fg = "lotusAutumnRed" }
+"variable.parameter" = { fg = "lotusSuperViolet" }
+"variable.other.member" = { fg = "lotusSuperOrange" }
+"label" = { fg = "lotusBlue3" }
+"punctuation" = { fg = "lotusPunctuation" }
+"keyword" = { fg = "lotusSuperViolet", modifiers = ["italic"] }
+"keyword.control.return" = { fg = "lotusSuperPink" }
+"keyword.control.exception" = { fg = "lotusSuperPink" }
+"keyword.directive" = { fg = "lotusAutumnRed" }
+"operator" = { fg = "lotusBrightPink", modifiers = ["bold"] }
+"function" = { fg = "lotusBlue2" }
+"function.builtin" = { fg = "lotusCyan" }
+"function.macro" = { fg = "lotusAutumnRed" }
+"tag" = { fg = "lotusSuperAqua" }
+"namespace" = { fg = "lotusSuperOrange" }
+"special" = { fg = "lotusSuperPink" }
+
+## Markup modifiers
+"markup.heading" = { fg = "lotusBlue3", modifiers = ["bold"] }
+"markup.heading.marker" = "lotusBlue3"
+"markup.heading.1" = { fg = "lotusYellow", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "lotusBlue3", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "lotusSuperAqua", modifiers = ["bold"] }
+"markup.list" = { fg = "lotusSuperPink" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.text" = { fg = "lotusBlue3" }
+"markup.link.url" = { fg = "lotusCyan" }
+"markup.link.label" = { fg = "lotusSuperOrange" }
+"markup.quote" = { fg = "lotusViolet", modifiers = ["italic"] }
+"markup.raw" = { fg = "lotusSuperGreen" }
+
+[palette]
+lotusWhite0 = "#FDFCFB"
+lotusWhite1 = "#F7ECE1"
+lotusWhite2 = "#EAE3D7"
+
+lotusInk0 = "#181825"
+lotusInk1 = "#8F909C"
+lotusInk2 = "#8AA6B8"
+lotusInk3 = "#65869C"
+
+lotusBlue1 = "#B7C5D8"
+lotusBlue2 = "#086187"
+lotusBlue3 = "#223249"
+
+lotusGreen = "#76946A"
+lotusBrightGreen = "#2E8B57"
+
+lotusViolet = "#957FB8"
+lotusBrightViolet = "#7C3AED"
+
+lotusAutumnRed = "#C34043"
+lotusRed = "#E82424"
+lotusPink = "#D27E99"
+lotusBrightPink = "#FF5D62"
+
+lotusYellow = "#DCA561"
+lotusYellow2 = "#AD8700"
+lotusBrightOrange = "#FF8800"
+
+lotusCyan = "#0081A7"
+
+lotusPunctuation = "#473428"
+
+# Max contrast accent colors
+lotusSuperGreen = "#00612D"
+lotusSuperAqua = "#006A6A"
+lotusSuperViolet = "#43098A"
+lotusSuperOrange = "#A34100"
+lotusSuperPink = "#861657"
+lotusSuperBlue = "#0D267D"
+
diff --git a/vendor/themes/kanagawa.toml b/vendor/themes/kanagawa.toml
new file mode 100644
index 00000000..bbfe012f
--- /dev/null
+++ b/vendor/themes/kanagawa.toml
@@ -0,0 +1,161 @@
+# Kanagawa
+# Author: zetashift
+
+# Adaptation of https://github.com/rebelot/kanagawa.nvim
+# Original author: rebelot
+# All credits to the original author, the palette is taken from the README
+# because of some theming differences, it's not an exact copy of the original.
+
+## User interface
+"ui.selection" = { bg = "waveBlue2" }
+"ui.selection.primary" = { bg = "waveBlue2" }
+"ui.background" = { fg = "fujiWhite", bg = "sumiInk3" }
+
+"ui.linenr" = { fg = "sumiInk6" }
+"ui.linenr.selected" = { fg = "roninYellow", modifiers = ["bold"] }
+"ui.gutter" = { fg = "sumiInk6", bg = "sumiInk4" }
+
+"ui.virtual" = "sumiInk6"
+"ui.virtual.ruler" = { bg = "sumiInk4" }
+"ui.virtual.inlay-hint" = "sumiInk6"
+"ui.virtual.jump-label" = { fg = "peachRed", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "oldWhite", bg = "sumiInk0" }
+"ui.statusline.inactive" = { fg = "fujiGray", bg = "sumiInk0" }
+"ui.statusline.normal" = { fg = "sumiInk0", bg = "crystalBlue", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "sumiInk0", bg = "autumnGreen", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "sumiInk0", bg = "oniViolet", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "fujiGray", bg = "sumiInk0" }
+"ui.bufferline.active" = { fg = "oldWhite", bg = "sumiInk0" }
+"ui.bufferline.background" = { bg = "sumiInk0" }
+
+"ui.popup" = { fg = "fujiWhite", bg = "sumiInk0" }
+"ui.window" = { fg = "sumiInk0" }
+"ui.help" = { fg = "fujiWhite", bg = "sumiInk0" }
+"ui.text" = "fujiWhite"
+"ui.text.inactive" = "fujiGray"
+"ui.text.focus" = { fg = "fujiWhite", bg = "waveBlue2", modifiers = ["bold"] }
+
+"ui.cursor" = { fg = "waveBlue1", bg = "waveAqua2" }
+"ui.cursor.primary" = { fg = "waveBlue1", bg = "fujiWhite" }
+"ui.cursor.match" = { fg = "waveRed", modifiers = ["bold"] }
+"ui.highlight" = { fg = "fujiWhite", bg = "waveBlue2" }
+"ui.menu" = { fg = "fujiWhite", bg = "waveBlue1" }
+"ui.menu.selected" = { fg = "fujiWhite", bg = "waveBlue2", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "oldWhite", bg = "waveBlue1" }
+
+"ui.cursorline.primary" = { bg = "sumiInk5" }
+"ui.cursorcolumn.primary" = { bg = "sumiInk5" }
+
+"ui.debug.breakpoint" = "springBlue"
+"ui.debug.active" = "winterRed"
+
+"diagnostic.error" = { underline = { color = "samuraiRed", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "roninYellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "dragonBlue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "waveAqua1", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "samuraiRed"
+warning = "roninYellow"
+info = "dragonBlue"
+hint = "waveAqua1"
+
+## Diff
+"diff.plus" = "autumnGreen"
+"diff.minus" = "autumnRed"
+"diff.delta" = "autumnYellow"
+
+## Syntax highlighting
+"attribute" = "waveRed"
+"type" = "waveAqua2"
+"type.builtin" = "springBlue"
+"constructor" = "springBlue"
+"constant" = "surimiOrange"
+"constant.numeric" = "sakuraPink"
+"constant.character.escape" = { fg = "boatYellow2", modifiers = ["bold"] }
+"string" = "springGreen"
+"string.regexp" = "boatYellow2"
+"string.special.url" = "springBlue"
+"string.special.symbol" = "oniViolet"
+"comment" = "fujiGray"
+"variable" = "fujiWhite"
+"variable.builtin" = "waveRed"
+"variable.parameter" = "oniViolet2"
+"variable.other.member" = "carpYellow"
+"label" = "springBlue"
+"punctuation" = "springViolet2"
+"keyword" = { fg = "oniViolet", modifiers = ["italic"] }
+"keyword.control.return" = "peachRed"
+"keyword.control.exception" = "peachRed"
+"keyword.directive" = "waveRed"
+"operator" = "boatYellow2"
+"function" = "crystalBlue"
+"function.builtin" = "springBlue"
+"function.macro" = "waveRed"
+"tag" = "waveAqua2"
+"namespace" = "surimiOrange"
+"special" = "peachRed"
+
+## Markup modifiers
+"markup.heading" = { fg = "springViolet2", modifiers = ["bold"] }
+"markup.heading.marker" = "springViolet2"
+"markup.heading.1" = { fg = "carpYellow", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "crystalBlue", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "waveAqua2", modifiers = ["bold"] }
+"markup.list" = "sakuraPink"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.text" = { fg = "springBlue" }
+"markup.link.url" = { fg = "lightBlue" }
+"markup.link.label" = "surimiOrange"
+"markup.quote" = "oniViolet2"
+"markup.raw" = "springGreen"
+
+[palette]
+oldWhite = "#C8C093" # dark foreground, e.g. statuslines
+fujiWhite = "#DCD7BA" # default foreground
+fujiGray = "#727169" # comments
+sumiInk0 = "#16161D" # dark background, e.g. statuslines, floating windows
+sumiInk1 = "#181820" # unused
+sumiInk2 = "#1A1A22" # unused
+sumiInk3 = "#1F1F28" # default background
+sumiInk4 = "#2A2A37" # lighter background, e.g. colorcolumns, folds
+sumiInk5 = "#363646" # lighter background, e.g. cursorline
+sumiInk6 = "#54546D" # inlay hints
+waveBlue1 = "#223249" # popup background, visual selection background
+waveBlue2 = "#2D4F67" # popup selection background, search background
+winterGreen = "#2B3328" # diff add background
+winterYellow = "#49443C" # diff change background
+winterRed = "#43242B" # diff delete background
+winterBlue = "#252535" # diff line background
+autumnGreen = "#76946A" # git add
+autumnRed = "#C34043" # git delete
+autumnYellow = "#DCA561" # git change
+samuraiRed = "#E82424" # diagnostic error
+roninYellow = "#FF9E3B" # diagnostic warning
+waveAqua1 = "#6A9589" # diagnostic info
+dragonBlue = "#658594" # diagnostic hint
+oniViolet = "#957FB8" # statements and keywords
+oniViolet2 = "#B8B4D0" # parameters
+crystalBlue = "#7E9CD8" # functions and titles
+springViolet1 = "#938AA9" # unused
+springViolet2 = "#9CABCA" # brackets and punctuation
+springBlue = "#7FB4CA" # specials and builtins
+lightBlue = "#A3D4D5" # URLs
+waveAqua2 = "#7AA89F" # types
+waveAqua3 = "#68AD99" # unused
+waveAqua4 = "#7AA880" # unused
+waveAqua5 = "#6CAF95" # unused
+springGreen = "#98BB6C" # strings
+boatYellow1 = "#938056" # unused
+boatYellow2 = "#C0A36E" # operators, regex
+carpYellow = "#E6C384" # identifiers
+sakuraPink = "#D27E99" # numbers
+waveRed = "#E46876" # standout specials 1, e.g. builtin variables
+peachRed = "#FF5D62" # standout specials 2, e.g. exception handling, returns
+surimiOrange = "#FFA066" # constants, imports, booleans
+katanaGray = "#717C7C" # unused
diff --git a/vendor/themes/kaolin-dark.toml b/vendor/themes/kaolin-dark.toml
new file mode 100644
index 00000000..d8c17391
--- /dev/null
+++ b/vendor/themes/kaolin-dark.toml
@@ -0,0 +1,110 @@
+# Author : thlsrms <[email protected]>
+
+# Original author: kaolin-dark by Ogden Webb: github.com/ogdenwebb/emacs-kaolin-themes
+# Kaolin Dark Theme - A dark jade theme inspired by Sierra.vim : github.com/AlessandroYorba/Sierra
+
+"attribute" = "constant"
+"keyword" = { fg = "hint" }
+"keyword.directive" = "info"
+"namespace" = "constant"
+"punctuation" = "fg0"
+"punctuation.delimiter" = "fg0"
+"operator" = "fg0"
+"special" = "constant"
+"variable.other.member" = { fg = "violet7", modifiers = ["italic"] }
+"variable" = "ultramarine4_dark"
+"variable.builtin" = "hint"
+"variable.parameter" = "ultramarine4_dark"
+"type" = "type"
+"type.builtin" = "info"
+"constructor" = { fg = "type" }
+"function" = { fg = "info" }
+"function.macro" = "constant"
+"function.builtin" = "selection0"
+"tag" = "#7aaaa5"
+"comment" = { fg = "gray0", modifiers = ["italic"] }
+"constant" = { fg = "constant" }
+"constant.builtin" = { fg = "info" }
+"string" = "hint"
+"constant.numeric" = "info"
+"constant.character.escape" = { fg = "hint", modifiers = ["bold"] }
+"label" = "constant"
+"module" = "info"
+
+"diff.plus" = "green0"
+"diff.delta" = "warn"
+"diff.minus" = "error"
+
+"warning" = "warn"
+"error" = "error"
+"info" = "info"
+"hint" = "hint"
+
+"diagnostic.error" = { underline = { style = "curl", color = "error" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "warn" } }
+"diagnostic.info" = { underline = { style = "curl", color = "info" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "hint" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"ui.background" = { bg = "bg0" }
+"ui.linenr" = { fg = "gray0" }
+"ui.linenr.selected" = { fg = "gray1", modifiers = ["bold"] }
+"ui.cursorline" = { bg = "bg1" }
+"ui.cursorline.secondary" = { bg = "bg2" }
+"ui.cursorcolumn.primary" = { bg = "bg1" }
+"ui.cursorcolumn.secondary" = { bg = "bg2" }
+"ui.statusline" = { fg = "info", bg = "bg1" }
+"ui.statusline.normal" = { fg = "hint", bg = "bg1", modifiers = ["reversed", "bold"] }
+"ui.statusline.insert" = { fg = "green0", bg = "bg1", modifiers = ["reversed", "bold"] }
+"ui.statusline.select" = { fg = "ultramarine4_dark", bg = "bg1", modifiers = ["reversed", "bold"] }
+"ui.statusline.inactive" = { fg = "gray0", bg = "bg1" }
+"ui.popup" = { bg = "bg1" }
+"ui.window" = { fg= "bg1", bg = "bg0" }
+"ui.help" = { bg = "bg1", fg = "fg0" }
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "selection0" }
+"ui.selection" = { bg = "selection1" }
+"ui.selection.primary" = { bg = "selection1" }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "bg1", bg = "ultramarine4_dark" }
+"ui.menu" = { fg = "fg0", bg = "bg1" }
+"ui.menu.selected" = { fg = "selection0", bg = "bg2", modifiers = ["bold"] }
+"ui.virtual.wrap" = "bg2"
+"ui.virtual.whitespace" = "fg1"
+"ui.virtual.indent-guide" = "bg2"
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.virtual.inlay-hint" = "gray1"
+"ui.virtual.inlay-hint.parameter" = { fg = "gray1", modifiers = ["dim"] }
+"ui.virtual.inlay-hint.type" = { fg = "gray1", modifiers = ["dim"] }
+"ui.debug.breakpoint" = "error"
+"ui.debug.active" = "warn"
+
+"markup.heading" = "info"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "warn", underline = { style = "line" } }
+"markup.link.text" = "selection0"
+"markup.raw" = "selection0"
+
+[palette]
+# kaolin-dark palette
+bg0 = "#18181b" # black1
+bg1 = "#222225" # black2
+bg2 = "#303035" # black4
+fg0 = "#e6e6e8" # white1
+fg1 = "#adadb9" # whiet4
+gray0 = "#545c5e" # gray3
+gray1 = "#919a9c" # gray9
+green0 = "#6fb593" # spring-green3
+selection0 = "#68f3ca" # aquamarine3
+selection1 = "#2e403b" # aquamarine6
+type = "#cd9575" # vermilion4
+hint = "#4d9391" # teal1
+info = "#80bcb6" # teal4
+warn = "#dbac66" # orange1
+error = "#cd5c60" # red1
+constant = "#ab98b5" # purple4
+ultramarine4_dark = "#968cc7"
+violet7 = "#766884"
diff --git a/vendor/themes/kaolin-light.toml b/vendor/themes/kaolin-light.toml
new file mode 100644
index 00000000..293fc554
--- /dev/null
+++ b/vendor/themes/kaolin-light.toml
@@ -0,0 +1,60 @@
+# Author : thlsrms <[email protected]>
+
+# Original author: kaolin-dark by Ogden Webb: github.com/ogdenwebb/emacs-kaolin-themes
+# Kaolin Light Theme - Light variant of the original Kaolin Dark Theme
+
+inherits = "kaolin-dark"
+
+"keyword.directive" = "selection0"
+"special" = "ultramarine1"
+"variable.other.member" = { fg = "constant", modifiers = ["italic"] }
+"variable" = "ultramarine1"
+"variable.parameter" = "constant"
+"type.builtin" = "selection0"
+"function" = { fg = "selection0" }
+"function.builtin" = "ultramarine1"
+"tag" = { fg = "hint", modifiers = ["italic"] }
+"constant.builtin" = { fg = "selection0" }
+"string" = "green0"
+"constant.numeric" = "selection0"
+"module" = "selection0"
+
+"ui.linenr.selected" = { fg = "green1", modifiers = ["bold"] }
+"ui.statusline" = { fg = "selection0", bg = "bg1" }
+"ui.statusline.normal" = { fg = "hint", bg = "bg1", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "warn", bg = "bg1", modifiers = ["reversed", "bold"] }
+"ui.statusline.select" = { fg = "constant", bg = "bg1", modifiers = ["reversed", "bold"] }
+"ui.text" = { fg = "fg0" }
+"ui.text.focus" = { fg = "green1", modifiers = ["bold"] }
+"ui.cursor.match" = { fg = "fg1", bg = "gray0" }
+"ui.menu.selected" = { fg = "green1", bg = "bg2", modifiers = ["bold"] }
+"ui.virtual.wrap" = "fg1"
+"ui.virtual.indent-guide" = "fg1"
+"ui.virtual.inlay-hint" = "gray0"
+"ui.virtual.inlay-hint.parameter" = { fg = "gray0", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "gray0", modifiers = ["italic"] }
+
+"markup.heading" = { fg = "ultramarine1", modifiers = ["bold"] }
+"markup.link.url" = { fg = "info", underline = { style = "line" } }
+"markup.link.text" = "info"
+"markup.raw" = "constant"
+
+[palette]
+# kaolin-light palette
+bg0 = "#edeeeb" # kaolin-light-bg1
+bg1 = "#dfe1dc" # kaolin-light-bg2
+bg2 = "#d1d4cd" # kaolin-light-bg3
+fg0 = "#383e3f" # gray1
+fg1 = "#bebec4" # white4
+gray0 = "#7c878a" # gray7
+green0 = "#39854c" # erin2
+green1 = "#18a318" # green2
+selection0 = "#4c7a90" # azure4
+selection1 = "#d3e4f0" # azure9
+type = "#e36b3f" # vermilion3
+hint = "#13665f" # teal2
+info = "#3b84cc" # azure1
+warn = "#dbac66" # orange1
+error = "#e84c58" # red3
+constant = "#845A84" # magenta4
+ultramarine1 = "#6d46e3" # ultramarine1
diff --git a/vendor/themes/kaolin-valley-dark.toml b/vendor/themes/kaolin-valley-dark.toml
new file mode 100644
index 00000000..a7170733
--- /dev/null
+++ b/vendor/themes/kaolin-valley-dark.toml
@@ -0,0 +1,73 @@
+# Author : thlsrms <[email protected]>
+
+# Original author: kaolin-valley-dark by Ogden Webb: github.com/ogdenwebb/emacs-kaolin-themes
+# Kaolin Valley Dark Theme - Colorful Kaolin theme with brown background
+
+inherits = "kaolin-dark"
+
+"attribute" = "fg1"
+"keyword" = { fg = "teal3" }
+"keyword.directive" = "green0"
+"operator" = "teal3"
+"special" = "ultramarine3"
+"variable.other.member" = { fg = "selection0", modifiers = ["italic"] }
+"variable" = "constant"
+"variable.builtin" = "teal3"
+"variable.parameter" = "constant"
+"type.builtin" = "aquamarine3"
+"function" = { fg = "valley-dark-fn" }
+"function.macro" = "valley-dark-fn"
+"function.builtin" = "aquamarine3"
+"tag" = "green0"
+"constant.builtin" = { fg = "aquamarine3" }
+"string" = "fg1"
+"constant.numeric" = "aquamarine3"
+"constant.character.escape" = "fg1"
+"label" = "ultramarine3"
+"module" = "green0"
+
+"diff.delta" = "type"
+
+"ui.linenr.selected" = { fg = "warn", modifiers = ["bold"] }
+"ui.statusline" = { fg = "fg0", bg = "bg1" }
+"ui.statusline.normal" = { fg = "warn", bg = "bg1", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "hint", bg = "bg1", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "constant", bg = "bg1", modifiers = ["bold"] }
+"ui.text.focus" = { fg = "selection0", bg = "bg1" }
+"ui.cursor.match" = { fg = "bg0", bg = "selection0" }
+"ui.menu" = { fg = "fg1", bg = "bg1" }
+"ui.menu.selected" = { fg = "selection0", bg = "bg1", modifiers = ["bold"] }
+"ui.virtual.wrap" = "gray1"
+"ui.virtual.whitespace" = "gray1"
+"ui.virtual.indent-guide" = "gray1"
+"ui.virtual.ruler" = { bg = "bg2" }
+"ui.virtual.inlay-hint" = "gray0"
+"ui.virtual.inlay-hint.parameter" = { fg = "gray0", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "gray0", modifiers = ["italic"] }
+
+"markup.heading" = "type"
+"markup.link.url" = { fg = "constant", modifiers = ["underlined"] }
+"markup.link.text" = "valley-dark-fn"
+
+[palette]
+# kaolin-valley-dark palette
+bg0 = "#262221" # valley-dark-bg1
+bg1 = "#2e2a29" # valley-dark-bg2
+bg2 = "#383030" # valley-dark-bg4
+fg0 = "#eee6d3" # amber9
+fg1 = "#cea2ca" # magenta3
+gray0 = "#635c4a" # valley-dark-comment
+gray1 = "#52413f" # brown2
+green0 = "#91f368" # harlequin3
+selection0 = "#ee7042" # vermilion3
+selection1 = "#402e2e" # red6
+type = "#eed891" # amber3
+hint = "#6bd9db" # cyan3
+info = "#41b0f3" # capri3
+warn = "#cfb05f" # amber1
+error = "#e84c58" # red3
+constant = "#ef6787" # crimson3
+valley-dark-fn = "#7ed7e6"
+teal3 = "#49bdb0"
+aquamarine3 = "#53e6b5"
+ultramarine3 = "#9587dd"
diff --git a/vendor/themes/kinda_nvim.LICENSE b/vendor/themes/kinda_nvim.LICENSE
new file mode 100644
index 00000000..bb0429ba
--- /dev/null
+++ b/vendor/themes/kinda_nvim.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2025 Strash
+
+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/kinda_nvim.toml b/vendor/themes/kinda_nvim.toml
new file mode 100644
index 00000000..1d50d29b
--- /dev/null
+++ b/vendor/themes/kinda_nvim.toml
@@ -0,0 +1,181 @@
+# Theme : kinda_nvim (dark)
+#
+# Author : Strash [email protected]
+# License: MIT
+#
+# GitHub : https://github.com/strash/kinda_nvim.hx
+
+"ui.background" = { bg ="bg", fg = "fg_4" }
+"ui.background.separator" = { bg = "bg", fg = "fg_4" }
+
+"ui.cursor.normal" = { bg = "fg_2", fg = "bg", modifiers = [ "slow_blink" ] }
+"ui.cursor.insert" = { bg = "fg_secondary", fg = "bg" }
+"ui.cursor.select" = { bg = "fg_tertiary", fg = "bg" }
+"ui.cursor.match" = { bg = "bg_3" }
+"ui.cursor.primary.normal" = { bg = "fg", fg = "bg", modifiers = [ "slow_blink" ] }
+"ui.cursor.primary.insert" = { bg = "fg_secondary", fg = "bg" }
+"ui.cursor.primary.select" = { bg = "fg_tertiary", fg = "bg" }
+
+"ui.debug.breakpoint" = { fg = "fg_hint" }
+
+"ui.gutter" = { bg = "bg", fg = "fg_4" }
+"ui.linenr" = { bg = "bg", fg = "fg_4" }
+"ui.gutter.selected" = { bg = "bg", fg = "fg_1" }
+"ui.linenr.selected" = { bg = "bg", fg = "fg_1", modifiers = [ "bold" ] }
+
+"ui.statusline" = { bg = "bg", fg = "fg" }
+"ui.statusline.inactive" = { bg = "bg", fg = "fg", modifiers = [ "dim" ] }
+"ui.statusline.normal" = { fg = "fg_primary"}
+"ui.statusline.insert" = { fg = "fg_secondary"}
+"ui.statusline.select" = { fg = "fg_tertiary"}
+
+"ui.bufferline.active" = { bg = "bg", fg = "fg" }
+"ui.bufferline" = { bg = "bg", fg = "fg", modifiers = [ "dim" ] }
+
+"ui.popup" = { bg = "bg_2", fg = "fg_3" }
+"ui.popup.info" = { bg = "bg_2", fg = "fg_3" }
+
+"ui.picker.header" = { fg = "fg_3", modifiers = [ "bold" ] }
+"ui.picker.header.column.active" = { fg = "fg", modifiers = [ "bold" ] }
+
+"ui.window" = { fg = "fg_4" }
+
+"ui.help" = { bg = "bg_2", fg = "fg_3" }
+
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "fg", modifiers = [ "bold" ] }
+"ui.text.inactive" = { fg = "fg_2" }
+"ui.text.info" = { fg = "fg_2" }
+"ui.text.directory" = { fg = "fg_secondary" }
+
+"ui.virtual" = { fg = "fg_4" }
+"ui.virtual.ruler" = { bg = "bg_1" }
+"ui.virtual.indent-guide" = { fg = "bg_4" }
+"ui.virtual.inlay-hint" = { fg = "fg_2", modifiers = [ "dim" ] }
+"ui.virtual.wrap" = { fg = "fg_4" }
+"ui.virtual.jump-label" = { fg = "fg_4" }
+
+"ui.menu" = { bg = "bg_2", fg = "fg_2" }
+"ui.menu.selected" = { bg = "bg_3", fg = "fg" }
+"ui.menu.scroll" = { bg = "bg_1", fg = "bg_4" }
+
+"ui.selection" = { bg = "bg_3", modifiers = [ "dim" ] }
+"ui.selection.primary" = { bg = "bg_4" }
+
+"ui.highlight" = { bg = "bg_1" }
+"ui.highlight.frameline" = { bg = "bg_warn" }
+
+"ui.cursorline.primary" = { bg = "bg_1" }
+"ui.cursorline.secondary" = { bg = "bg_1" }
+"ui.cursorcolumn.primary" = { bg = "bg_1" }
+"ui.cursorcolumn.secondary" = { bg = "bg_1" }
+
+"error" = { fg = "fg_err" }
+"warning" = { fg = "fg_warn" }
+"info" = { fg = "fg_info" }
+"hint" = { fg = "fg_hint" }
+
+"diagnostic.error" = { bg = "bg_err", fg = "fg_err" }
+"diagnostic.warning" = { bg = "bg_warn", fg = "fg_warn" }
+"diagnostic.info" = { bg = "bg_info", fg = "fg_info" }
+"diagnostic.hint" = { bg = "bg_hint", fg = "fg_hint" }
+"diagnostic.unnecessary" = { bg = "bg_info", fg = "fg_info" }
+"diagnostic.deprecated" = { bg = "bg_err", fg = "fg_err", modifiers = [ "crossed_out" ] }
+
+"tabstop" = { modifiers = [ "italic" ] }
+
+"markup" = { bg = "bg_2", fg = "fg_2" }
+
+"attribute" = { fg = "fg_warn" }
+
+"type" = { fg = "fg_primary" }
+"type.builtin" = { fg = "fg_primary_variant" }
+"type.parameter" = { fg = "fg_primary_variant" }
+"type.enum" = { fg = "fg_primary" }
+"type.enum.variant" = { fg = "fg_primary_variant" }
+
+"constructor" = { fg = "fg_primary", modifiers = [ "bold" ] }
+
+"constant" = { fg = "fg", modifiers = [ "bold" ] }
+"constant.builtin" = { fg = "fg_primary_variant", modifiers = [ "bold" ] }
+"constant.character" = { fg = "fg_tertiary_variant", modifiers = [ "bold" ] }
+"constant.numeric" = { fg = "fg_err" }
+
+"string" = { fg = "fg_2" }
+"string.regexp" = { fg = "fg_tertiary_variant" }
+"string.special.url" = { fg = "fg_2", modifiers = [ "underlined" ] }
+
+"comment" = { fg = "fg_secondary_variant", modifiers = [ "italic" ] }
+
+"variable" = { fg = "fg_hint" }
+"variable.builtin" = { fg = "fg_tertiary" }
+"variable.parameter" = { fg = "fg_hint" }
+"variable.other" = { fg = "fg_tertiary" }
+"variable.other.member" = { fg = "fg_secondary" }
+
+"label" = { fg = "fg_1" }
+
+"punctuation.delimiter" = { fg = "fg_1" }
+"punctuation.bracket" = { fg = "fg_3" }
+"punctuation.special" = { fg = "fg_tertiary_variant" }
+
+"keyword" = { fg = "fg_tertiary" }
+"keyword.directive" = { fg = "fg_secondary", modifiers = [ "bold" ] }
+"keyword.control.import" = { fg = "fg_tertiary" }
+"keyword.control.return" = { fg = "fg_tertiary" }
+"keyword.control.exception" = { fg = "fg_tertiary" }
+"keyword.function" = { fg = "fg_tertiary", modifiers = [ "bold" ] }
+"keyword.storage" = { fg = "fg_tertiary", modifiers = [ "bold" ] }
+
+"operator" = { fg = "fg_2" }
+
+"function" = { fg = "fg_secondary" }
+
+"tag" = { fg = "fg_hint" }
+
+"namespace" = { fg = "fg_primary" }
+
+"special" = { fg = "fg_tertiary_variant" }
+
+"markup.heading" = { fg = "fg_primary" }
+"markup.bold" = { modifiers = [ "bold" ] }
+"markup.italic" = { modifiers = [ "italic" ] }
+"markup.strikethrough" = { modifiers = [ "crossed_out" ] }
+"markup.lint" = { modifiers = [ "underlined" ] }
+"markup.raw" = { fg = "fg_primary" }
+
+"diff.plus" = { fg = "fg_primary", bg = "bg_hint" }
+"diff.delta" = { fg = "fg_2", bg = "bg_3" }
+"diff.minus" = { fg = "fg_err", bg = "bg_err" }
+"diff.plus.gutter" = { fg = "fg_primary" }
+"diff.delta.gutter" = { fg = "fg_2" }
+"diff.minus.gutter" = { fg = "fg_err" }
+
+
+[palette]
+fg = "#B6BFBC"
+fg_1 = "#A0A8A5"
+fg_2 = "#969E9B"
+fg_3 = "#838A87"
+fg_4 = "#4C5955"
+fg_err = "#C27280"
+fg_warn = "#B8A26C"
+fg_info = "#6C94B8"
+fg_hint = "#32878F"
+fg_primary = "#12B27D"
+fg_secondary = "#6797C2"
+fg_tertiary = "#9C59B2"
+fg_primary_variant = "#0F996B"
+fg_secondary_variant = "#526B82"
+fg_tertiary_variant = "#945EA6"
+
+bg = "#00120C"
+bg_1 = "#001F14"
+bg_2 = "#001C13"
+bg_3 = "#002E1F"
+bg_4 = "#003624"
+bg_err = "#382125"
+bg_warn = "#383221"
+bg_info = "#212D38"
+bg_hint = "#213638"
+
diff --git a/vendor/themes/kinda_nvim_light.toml b/vendor/themes/kinda_nvim_light.toml
new file mode 100644
index 00000000..9d939345
--- /dev/null
+++ b/vendor/themes/kinda_nvim_light.toml
@@ -0,0 +1,36 @@
+# Theme : kinda_nvim_light (light)
+#
+# Author : Strash [email protected]
+# License: MIT
+#
+# GitHub : https://github.com/strash/kinda_nvim.hx
+
+inherits = "kinda_nvim"
+
+[palette]
+fg = "#414D49"
+fg_1 = "#62736D"
+fg_2 = "#738780"
+fg_3 = "#8FA8A0"
+fg_4 = "#BECFC9"
+fg_err = "#BF0020"
+fg_warn = "#B58200"
+fg_info = "#005BAB"
+fg_hint = "#119CA8"
+fg_primary = "#008C5D"
+fg_secondary = "#2470B2"
+fg_tertiary = "#9847B2"
+fg_primary_variant = "#2F9C77"
+fg_secondary_variant = "#759ABA"
+fg_tertiary_variant = "#A860BF"
+
+bg = "#F2F5F4"
+bg_1 = "#EDF0EF"
+bg_2 = "#FCFFFE"
+bg_3 = "#F7FAF9"
+bg_4 = "#E6E8E7"
+bg_err = "#E8D8DB"
+bg_warn = "#E8E3D8"
+bg_info = "#D3DCE3"
+bg_hint = "#D3E2E3"
+
diff --git a/vendor/themes/lapis_aquamarine.LICENSE b/vendor/themes/lapis_aquamarine.LICENSE
new file mode 100644
index 00000000..0e8d30d2
--- /dev/null
+++ b/vendor/themes/lapis_aquamarine.LICENSE
@@ -0,0 +1,23 @@
+MIT License
+
+Copyright (c) 2025 Alex Barnett
+
+This theme has been ported by spentbliss <[email protected]>.
+
+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/lapis_aquamarine.toml b/vendor/themes/lapis_aquamarine.toml
new file mode 100644
index 00000000..45de8821
--- /dev/null
+++ b/vendor/themes/lapis_aquamarine.toml
@@ -0,0 +1,132 @@
+# Author: spentbliss <[email protected]>
+# License: MIT (originally by Alex Barnett)
+
+"ui.background" = { fg = "fg", bg = "bg" } # file picker border color
+"ui.text" = "fg"
+"ui.text.focus" = { fg = "bg", bg = "fg" } # file picker selection
+"ui.cursor" = { bg = "blue", fg = "bg" }
+"ui.linenr" = "grey"
+"ui.statusline" = { fg = "fg" }
+"ui.selection" = "green"
+"ui.selection.primary" = { bg = "bg_highlight" }
+"ui.virtual.ruler" = { bg = "bg_highlight" }
+
+# Syntax Highlighting for Markdown
+"markup.raw" = { fg = "purple", bg = "bg" }
+"markup.raw.inline" = {fg = "fg" }
+"markup.heading.1" = { fg = "#46D9FF", bg = "#11313B" } # cyan
+"markup.heading.2" = { fg = "#C678DD", bg = "#2D2233" } # magenta
+"markup.heading.3" = { fg = "#98BE65", bg = "#253027" } # green
+"markup.heading.4" = { fg = "#A8A1E1", bg = "#2A2738" } # purple
+"markup.heading.5" = { fg = "#ECBE7B", bg = "#3A3223" } # yellow
+"markup.heading.6" = { fg = "#46D9FF", bg = "#1E2A30" } # cyan again
+"markup.list" = { fg = "purple" }
+"markup.bold" = { fg = "fg", modifiers = ["bold"] }
+"markup.italic" = { fg = "fg" }
+"markup.strikethrough" = { fg = "red", modifiers = ["crossed_out"] }
+"markup.link" = { fg = "cyan" }
+"markup.quote" = { fg = "fg" }
+
+# Syntax Highlighting for Code
+"comment" = { fg = "grey", modifiers = ["italic"] }
+"comment.line" = { fg = "grey", modifiers = ["italic"] }
+"comment.block" = { fg = "grey", modifiers = ["italic"] }
+"comment.documentation" = { fg = "blue", modifiers = ["italic"] }
+
+"keyword" = "blue"
+"keyword.storage" = "blue" # let keyword in rust
+"keyword.storage.type" = "blue" # keywords describing how things are stored, class, var, let, etc
+"keyword.storage.modifier" = "fg" # mut keyword
+"keyword.control.import" = "blue" # use keyword in rust
+"keyword.control.export" = "blue"
+"keyword.control.conditional" = "blue" # if, else
+"keyword.directive" = "blue"
+"keyword.control.repeat" = "blue" # for, while, loop
+"keyword.operator" = "blue" # or, in keywords
+"keyword.function" = "blue" # function keyword color
+
+"type" = "green"
+"type.builtin" = "green" # primitive types int, usize
+"type.parameter" = "green"
+"type.enum" = "cyan"
+
+"function" = "purple" # color for function NAME not the keyword fn or func
+"function.builtin" = "purple"
+"function.method" = "blue"
+
+"variable" = "fg"
+"variable.builtin" = "fg"
+"variable.parameter" = "cyan"
+
+"string" = "green"
+"string.special" = "green"
+
+"constant" = "cyan"
+"constant.builtin" = "blue" # true, false, nil
+"constant.numeric" = "cyan" # int & float
+"constant.character" = "yellow" # escape character
+
+"operator" = "fg"
+
+# html tags
+"tag" = { fg = "purple", modifiers = ["bold"] }
+"attribute" = "blue"
+
+"namespace" = "fg"
+"macro" = "orange"
+"label" = "red"
+
+# Interface specific
+"ui.cursorline.primary" = { bg = "bg_highlight" }
+"ui.cursorline.secondary" = { bg = "bg_alt" }
+"ui.cursorcolumn.primary" = { bg = "bg_highlight" }
+"ui.cursorcolumn.secondary" = { bg = "bg_alt" }
+"ui.statusline.normal" = { fg = "bg", bg = "cyan" }
+"ui.statusline.insert" = { fg = "bg", bg = "green" }
+"ui.statusline.select" = { fg = "bg", bg = "purple" }
+
+# Diagnostic styles
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+"info" = { fg = "cyan", modifiers = ["bold"] }
+"hint" = { fg = "blue", modifiers = ["bold"] }
+"diagnostic.error" = { fg = "grey" }
+"diagnostic.warning" = { fg = "grey" }
+"diagnostic.info" = { fg = "grey" }
+"diagnostic.hint" = { fg = "grey" }
+
+# Git changes indicator
+"diff.plus" = "green"
+"diff.plus.gutter" = "green"
+"diff.minus" = "red"
+"diff.minus.gutter" = "red"
+"diff.delta" = "fg"
+"diff.delta.gutter" = "fg"
+"diff.delta.moved" = "orange"
+"diff.delta.conflict" = "purple"
+
+# Popups and Menus
+"ui.popup" = { fg = "fg", bg = "bg" }
+"ui.popup.info" = { fg = "fg", bg = "bg" }
+"ui.menu" = { fg = "fg", bg = "bg" }
+"ui.menu.selected" = { fg = "bg", bg = "fg" }
+
+# Additional overrides
+"ui.virtual.whitespace" = "grey"
+"ui.virtual.indent-guide" = { fg = "indent_color", underline.style = "dotted" }
+
+[palette]
+bg = "#1B1F27"
+fg = "#D6E2FF"
+grey = "#7183A9"
+blue = "#83ABFC"
+green = "#ABFC83"
+cyan = "#84FCD4"
+red = "#FC83AB"
+yellow = "#FCD583"
+pink = "#FC83D6"
+orange = "#FCAB83"
+purple = "#D483FC"
+bg_alt = "#14181D"
+bg_highlight = "#43537A"
+indent_color = "#2E3953"
diff --git a/vendor/themes/material_darker.toml b/vendor/themes/material_darker.toml
new file mode 100644
index 00000000..52cea1d4
--- /dev/null
+++ b/vendor/themes/material_darker.toml
@@ -0,0 +1,21 @@
+# Material Theme <https://material-theme.com/> for Helix Editor
+
+inherits = "material_deep_ocean"
+
+[palette]
+bg = "#212121"
+text = "#b0bec5"
+
+gray = "#616161"
+error = "#ff5370"
+
+disabled = "#474747"
+
+accent = "#ff9800"
+
+active = "#323232"
+highlight = "#3f3f3f"
+
+comment = "#616161"
+
+selection = "#404040"
diff --git a/vendor/themes/material_deep_ocean.toml b/vendor/themes/material_deep_ocean.toml
new file mode 100644
index 00000000..76041d07
--- /dev/null
+++ b/vendor/themes/material_deep_ocean.toml
@@ -0,0 +1,137 @@
+# Material Theme <https://material-theme.com/> for Helix Editor
+
+# Syntax Highlighting
+
+"type" = "purple"
+
+"constructor" = "blue"
+
+"constant" = "yellow"
+
+"string" = "green"
+"string.regexp" = "yellow"
+"string.special" = "blue"
+
+"comment" = { fg = "comment" }
+
+"variable" = "text"
+"variable.parameter" = { fg = "orange" }
+"variable.builtin" = "yellow"
+
+"label" = "orange"
+
+"punctuation" = "cyan"
+
+"keyword" = "purple"
+"keyword.storage" = "cyan"
+
+"operator" = "cyan"
+
+"function" = "blue"
+"function.macro" = "cyan"
+
+"tag" = "red"
+"attribute" = "purple"
+
+"namespace" = { fg = "yellow" }
+
+"special" = "cyan"
+
+"markup.heading.marker" = { fg = "cyan", modifiers = ["bold"] }
+"markup.heading.1" = "cyan"
+"markup.heading.2" = "red"
+"markup.heading.3" = "green"
+"markup.heading.4" = "yellow"
+"markup.heading.5" = "blue"
+"markup.heading.6" = "orange"
+"markup.list" = "purple"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "green", modifiers = ["underlined"] }
+"markup.link.text" = "blue"
+"markup.raw" = "text"
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "blue"
+
+# User Interface
+
+"ui.background" = { bg = "bg", fg = "text" }
+"ui.text" = { fg = "text" }
+"ui.text.directory" = { fg = "blue" }
+
+"ui.statusline" = { bg = "bg", fg = "text" }
+"ui.statusline.inactive" = { bg = "bg", fg = "disabled" }
+"ui.statusline.normal" = { bg = "blue", fg = "bg" }
+"ui.statusline.insert" = { bg = "green", fg = "bg" }
+"ui.statusline.select" = { bg = "purple", fg = "bg" }
+
+
+"ui.selection" = { bg = "selection" }
+
+"ui.linenr" = { fg = "line-number" }
+"ui.linenr.selected" = { fg = "accent" }
+
+"ui.cursor" = { bg = "highlight", fg = "white" }
+
+"ui.cursor.primary" = { bg = "white", fg = "gray" }
+"ui.cursorline.primary" = { bg = "active" }
+
+"ui.virtual" = { fg = "gray" }
+"ui.virtual.ruler" = { bg = "highlight" }
+"ui.virtual.indent-guide" = { fg = "gray" }
+
+"ui.highlight" = { bg = "highlight" }
+
+"ui.menu" = { bg = "highlight", fg = "text" }
+"ui.menu.selected" = { bg = "blue", fg = "bg" }
+
+"ui.help" = { bg = "highlight", fg = "text" }
+
+"ui.popup" = { bg = "highlight", fg = "text" }
+
+"ui.virtual.jump-label" = { fg = "purple", modifiers = ["bold"] }
+
+warning = "yellow"
+error = "error"
+info = "blue"
+hint = "purple"
+
+"diagnostic" = { underline = { color = "error", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "purple", style = "curl" } }
+"diagnostic.error" = { underline = { color = "error", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"]}
+"diagnostic.deprecated" = { modifiers = ["crossed_out"]}
+
+
+[palette]
+bg = "#0f111a"
+text = "#a6accd"
+
+white = "#eeffff"
+green = "#c3e88d"
+yellow = "#ffcb6b"
+blue = "#82aaff"
+red = "#f07178"
+purple = "#c792ea"
+orange = "#f78c6c"
+cyan = "#89ddff"
+gray = "#717cb4"
+error = "#ff5370"
+
+disabled = "#464b5d"
+
+accent = "#84ffff"
+
+active = "#1a1c25"
+highlight = "#1f2233"
+
+comment = "#464b5d"
+
+selection = "#1f2233"
+
+line-number = "#3b3f51"
diff --git a/vendor/themes/material_oceanic.toml b/vendor/themes/material_oceanic.toml
new file mode 100644
index 00000000..fde54d7d
--- /dev/null
+++ b/vendor/themes/material_oceanic.toml
@@ -0,0 +1,22 @@
+# Material Theme <https://material-theme.com/> for Helix Editor
+
+inherits = "material_deep_ocean"
+
+[palette]
+bg = "#25363b"
+text = "#b0bec5"
+
+gray = "#546e7a"
+
+disabled = "#415967"
+
+accent = "#009688"
+
+active = "#314549"
+highlight = "#425b67"
+
+comment = "#546e7a"
+
+selection = "#395b65"
+
+line-number = "#355058"
diff --git a/vendor/themes/material_palenight.toml b/vendor/themes/material_palenight.toml
new file mode 100644
index 00000000..f34517df
--- /dev/null
+++ b/vendor/themes/material_palenight.toml
@@ -0,0 +1,20 @@
+# Material Theme <https://material-theme.com/> for Helix Editor
+
+inherits = "material_deep_ocean"
+
+[palette]
+bg = "#292d3e"
+text = "#a6accd"
+
+disabled = "#515772"
+
+accent = "#ab47bc"
+
+active = "#414863"
+highlight = "#444267"
+
+comment = "#676e95"
+
+selection = "#444267"
+
+line-number = "#3a3f58"
diff --git a/vendor/themes/meliora.toml b/vendor/themes/meliora.toml
new file mode 100644
index 00000000..87f0cb09
--- /dev/null
+++ b/vendor/themes/meliora.toml
@@ -0,0 +1,103 @@
+# Author: Ramojus Lapinskas <[email protected]>
+
+"comment" = { fg = "comment" }
+"constant" = { fg = "magenta" }
+"function" = { fg = "blue" }
+"keyword.control.import" = { fg = "orange" }
+"keyword.control" = { fg = "red" }
+"keyword.function" = { fg = "red" }
+"keyword" = { fg = "orange" }
+"operator" = { fg = "secondary_white" }
+"punctuation" = { fg = "secondary_white" }
+"string" = { fg = "yellow" }
+"string.regexp" = { fg = "orange" }
+"tag" = { fg = "red" }
+"type" = { fg = "secondary_white" }
+"namespace" = { fg = "blue" }
+"variable" = { fg = "white" }
+"label" = { fg = "orange" }
+
+"diff.plus" = { fg = "blue" }
+"diff.delta" = { fg = "magenta" }
+"diff.minus" = { fg = "red" }
+
+"ui.cursor" = { bg = "light_grey", fg = "black"}
+"ui.cursor.match" = { bg = "dark_grey" }
+"ui.cursor.primary" = { bg = "secondary_white", fg = "black" }
+
+"ui.linenr" = { fg = "grey", bg = "dark_black"}
+"ui.linenr.selected" = { fg = "dark_white", bg = "dark_light_black"}
+"ui.gutter" = { bg = "dark_black" }
+
+"ui.background" = { fg = "light_grey", bg = "black" }
+"ui.background.separator" = { fg = "dark_grey" }
+"ui.help" = { fg = "white", bg = "light_black3" }
+"ui.menu" = { fg = "dark_white", bg = "light_black" }
+"ui.menu.selected" = { bg = "orange" , fg = "black" }
+"ui.popup" = { fg = "dark_white", bg = "light_black" }
+"ui.window" = { fg = "light_black3" }
+
+"ui.selection" = { bg = "light_black3" }
+"ui.selection.primary" = { bg = "light_black3", modifiers = ["bold"] }
+"ui.cursorline.primary" = { bg = "light_black" }
+
+"ui.statusline" = { fg = "dark_white", bg = "light_black3" }
+"ui.statusline.inactive" = { fg = "dark_white2", bg = "light_black" }
+"ui.statusline.normal" = { bg = "dark_white2", fg = "black" }
+"ui.statusline.insert" = { bg = "blue", fg = "black" }
+"ui.statusline.select" = { bg = "orange", fg = "black" }
+
+"ui.text" = { fg = "white" }
+"ui.text.focus" = { fg = "orange" }
+
+"ui.virtual.ruler" = { bg = "light_black2" }
+"ui.virtual.indent-guide" = { fg = "dark_grey2" }
+"ui.virtual.whitespace" = { fg = "grey" }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "magenta", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"error" = { fg = "red" }
+"warning" = { fg = "orange" }
+"info" = { fg = "blue" }
+"hint" = { fg = "magenta" }
+"special" = { fg = "yellow" }
+
+"markup.heading" = { fg = "orange" }
+"markup.list" = { fg = "blue" }
+"markup.bold" = { fg = "magenta", modifiers = ["bold"] }
+"markup.italic" = { fg = "blue", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "comment" , modifiers = ["underlined"] }
+"markup.link.text" = { fg = "comment" }
+"markup.quote" = { fg = "yellow" }
+"markup.raw" = { fg = "blue" }
+
+[palette]
+red = "#d29595"
+orange = "#cbab8a"
+yellow = "#c9b58e"
+blue = "#a49db9"
+magenta = "#b494af"
+
+comment = "#707035"
+
+light_black = "#252220"
+light_black2 = "#292725"
+light_black3 = "#302D2B"
+black = "#1c1917"
+dark_black = "#191514"
+dark_light_black = "#211d1c"
+
+white = "#dad7d5"
+dark_white = "#aaa7a6"
+dark_white2 = "#949290"
+light_grey = "#6a6867"
+grey = "#605e5d"
+dark_grey = "#4c4b49"
+dark_grey2 = "#383735"
+secondary_white = "#c2b4a8"
diff --git a/vendor/themes/mellow.toml b/vendor/themes/mellow.toml
new file mode 100644
index 00000000..db237f97
--- /dev/null
+++ b/vendor/themes/mellow.toml
@@ -0,0 +1,146 @@
+# Author : Rohit K Viswanath <[email protected]>
+# Theme: Mellow
+
+"attribute" = { fg = "blue", modifiers = ["italic"] }
+
+"keyword" = "blue"
+"keyword.control.conditional" = { fg = "blue", modifiers = ["italic"] }
+"keyword.directive" = "magenta" # -- preprocessor comments (#if in C)
+
+"namespace" = { fg = "cyan", modifiers = ["italic"] }
+
+"punctuation" = "gray06"
+"punctuation.delimiter" = "gray06"
+
+"operator" = "yellow"
+"special" = "yellow"
+
+"variable" = "fg"
+"variable.builtin" = "bright_blue"
+"variable.parameter" = "cyan"
+"variable.other.member" = "white"
+
+"type" = "bright_blue"
+"type.builtin" = "magenta"
+"type.enum.variant" = "magenta"
+
+"constructor" = "yellow"
+
+"function" = "white"
+"function.macro" = "bright_cyan"
+"function.builtin" = "bright_blue"
+
+"tag" = "cyan"
+"comment" = { fg = "gray05", modifiers = ["italic"] }
+
+"string" = "green"
+"string.regexp" = "green"
+"string.special" = "yellow"
+
+"constant" = "cyan"
+"constant.builtin" = "yellow"
+"constant.numeric" = "magenta"
+"constant.character.escape" = "cyan"
+
+# used for lifetimes
+"label" = "yellow"
+
+"markup.heading.marker" = { fg = "gray06" }
+"markup.heading" = { fg = "bright_blue", modifiers = ["bold"] }
+"markup.list" = "gray06"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "green", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "blue", modifiers = ["italic"] }
+"markup.raw" = "yellow"
+
+"diff.plus" = "bright_green"
+"diff.minus" = "bright_red"
+"diff.delta" = "bright_blue"
+
+"ui.background" = { bg = "bg" }
+"ui.background.separator" = { fg = "fg" }
+
+"ui.linenr" = { fg = "gray04" }
+"ui.linenr.selected" = { fg = "fg" }
+
+"ui.statusline" = { fg = "fg", bg = "gray01" }
+"ui.statusline.inactive" = { fg = "fg", bg = "gray01", modifiers = ["dim"] }
+"ui.statusline.normal" = { fg = "bg", bg = "cyan", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "bg", bg = "blue", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg", bg = "magenta", modifiers = ["bold"] }
+
+"ui.popup" = { bg = "gray01" }
+"ui.window" = { fg = "gray02" }
+"ui.help" = { bg = "gray01", fg = "white" }
+
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "fg" }
+
+"ui.virtual" = { fg = "gray02" }
+"ui.virtual.ruler" = { bg ="gray02" }
+"ui.virtual.indent-guide" = { fg = "gray02" }
+"ui.virtual.inlay-hint" = { fg = "gray04" }
+
+"ui.selection" = { bg = "gray03" }
+"ui.selection.primary" = { bg = "gray03" }
+
+"ui.cursor" = { bg = "gray04" }
+"ui.cursor.match" = { fg = "yellow", modifiers = ["bold", "underlined"] }
+"ui.cursorline.primary" = { bg = "gray01" }
+
+"ui.highlight" = { bg = "gray02" }
+
+"ui.menu" = { fg = "white", bg = "gray01" }
+"ui.menu.selected" = { fg = "bright_white", bg = "gray03" }
+"ui.menu.scroll" = { fg = "gray04", bg = "gray01" }
+
+"diagnostic.warning" = { underline = { color = "bright_yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "bright_red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "bright_blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "bright_cyan", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+warning = "bright_yellow"
+error = "bright_red"
+info = "bright_blue"
+hint = "bright_cyan"
+
+[palette]
+bg = "#161617"
+fg = "#c9c7cd"
+bg_dark = "#131314"
+
+black = "#27272a"
+bright_black = "#353539"
+
+red = "#f5a191"
+bright_red = "#ffae9f"
+
+green = "#90b99f"
+bright_green = "#9dc6ac"
+
+yellow = "#e6b99d"
+bright_yellow = "#f0c5a9"
+
+blue = "#aca1cf"
+bright_blue = "#b9aeda"
+
+magenta = "#e29eca"
+bright_magenta = "#ecaad6"
+
+cyan = "#ea83a5"
+bright_cyan = "#f591b2"
+
+white = "#c1c0d4"
+bright_white = "#cac9dd"
+
+gray01 = "#1b1b1d"
+gray02 = "#2a2a2d"
+gray03 = "#3e3e43"
+gray04 = "#57575f"
+gray05 = "#757581"
+gray06 = "#9998a8"
+gray07 = "#c1c0d4"
diff --git a/vendor/themes/merionette.toml b/vendor/themes/merionette.toml
new file mode 100644
index 00000000..d8e7d770
--- /dev/null
+++ b/vendor/themes/merionette.toml
@@ -0,0 +1,100 @@
+"attribute" = "blue0"
+"comment" = { fg = "pink1", modifiers = ["italic"] }
+"constant" = { fg = "orange0" }
+"constant.builtin" = { fg = "orange0", modifiers = ["bold"] }
+"constant.character.escape" = { fg = "orange0", modifiers = ["bold"] }
+"constant.numeric" = "orange0"
+"constructor" = { fg = "blue0", modifiers = ["bold"] }
+"function" = { fg = "green0", modifiers = ["bold"] }
+"function.builtin" = "green0"
+"function.macro" = "green0"
+"keyword" = { fg = "orange1" }
+"label" = "blue0"
+"module" = "blue0"
+"namespace" = "pink2"
+"operator" = "orange1"
+"punctuation" = "orange1"
+"special" = "pink2"
+"string" = "violet0"
+"tag" = "green0"
+"type" = "blue0"
+"type.builtin" = "orange0"
+"variable" = "white0"
+"variable.builtin" = "blue0"
+"variable.other.member" = "blue0"
+"variable.parameter" = "green1"
+
+"diff.delta" = "violet0"
+"diff.minus" = "pink2"
+"diff.plus" = "green1"
+
+"error" = "orange1"
+"hint" = "white0"
+"info" = "blue0"
+"warning" = "green1"
+
+"ui.background" = { bg = "dark_red0" }
+"ui.cursor.match" = { bg = "pink0", fg = "pink4" }
+"ui.cursor.primary" = { bg = "pink3", fg = "dark_red0" }
+"ui.cursorline" = { bg = "dark_red2" }
+"ui.help" = { bg = "dark_red2", fg = "white0" }
+"ui.linenr" = { fg = "white0" }
+"ui.linenr.selected" = { fg = "pink4" }
+"ui.menu" = { fg = "white0", bg = "dark_red3" }
+"ui.menu.selected" = { fg = "orange1", bg = "dark_red1", modifiers = ["bold"] }
+"ui.popup" = { bg = "dark_red2" }
+"ui.selection" = { bg = "dark_red4" }
+"ui.selection.primary" = { bg = "dark_red3" }
+"ui.statusline" = { fg = "dark_red0", bg = "pink1" }
+"ui.statusline.inactive" = { fg = "dark_red0", bg = "pink0" }
+"ui.statusline.insert" = { fg = "dark_red0", bg = "green0" }
+"ui.statusline.normal" = { fg = "dark_red0", bg = "pink1" }
+"ui.statusline.select" = { fg = "dark_red0", bg = "blue0" }
+"ui.text" = { fg = "white0" }
+"ui.text.focus" = { fg = "orange1" }
+"ui.virtual" = { fg = "pink1" }
+"ui.virtual.indent-guide" = { fg = "dark_red4" }
+"ui.virtual.inlay-hint" = { fg = "blue0" }
+"ui.virtual.ruler" = { bg = "dark_red2" }
+"ui.virtual.whitespace" = "dark_red4"
+"ui.window" = { bg = "dark_red2" }
+
+"diagnostic.error" = { underline = { color = "orange1", style = "double_line" } }
+"diagnostic.hint" = { underline = { color = "white0", style = "double_line" } }
+"diagnostic.info" = { underline = { color = "blue0", style = "double_line" } }
+"diagnostic.warning" = { underline = { color = "green1", style = "double_line" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"markup.bold" = { modifiers = ["bold"] }
+"markup.heading" = { fg = "orange1", modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.text" = "green1"
+"markup.link.url" = { fg = "blue0", modifiers = ["underlined"] }
+"markup.raw" = "pink2"
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+[palette]
+blue0 = "#65aba3"
+
+dark_red0 = "#190f0f"
+dark_red1 = "#331c1e"
+dark_red2 = "#2c1617"
+dark_red3 = "#442022"
+dark_red4 = "#704144"
+
+green0 = "#8ea84d"
+green1 = "#6db269"
+
+orange0 = "#ff7550"
+orange1 = "#eb842b"
+
+pink0 = "#622b30"
+pink1 = "#d2505f"
+pink2 = "#d95362"
+pink3 = "#c79295"
+pink4 = "#e97e8a"
+
+violet0 = "#ce8b9f"
+
+white0 = "#cebabf"
diff --git a/vendor/themes/modus_operandi.toml b/vendor/themes/modus_operandi.toml
new file mode 100644
index 00000000..b23db32a
--- /dev/null
+++ b/vendor/themes/modus_operandi.toml
@@ -0,0 +1,230 @@
+# Author: Alexis Mousset <[email protected]>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Version 4.6.0
+#
+
+# Syntax highlighting
+# -------------------
+"type" = "cyan-cooler"
+"constructor" = "cyan-cooler"
+
+"constant" = "blue-cooler"
+"constant.character.escape" = "magenta"
+
+"string" = "blue-warmer"
+"string.regexp" = "magenta-faint"
+"string.special" = "blue-faint" # used for colors in CSS
+
+"comment" = "fg-dim"
+
+"variable.parameter" = "cyan"
+"variable.builtin" = "magenta-warmer"
+"label" = "fg-dim" # used for language in markdown code blocks
+"keyword" = "magenta-cooler"
+"keyword.directive" = "red-cooler"
+"function" = "magenta"
+"function.macro" = "red-cooler"
+
+punctuation = "fg-dim"
+"tag" = "magenta-cooler"
+"attribute" = "cyan"
+"namespace" = "cyan"
+"special" = "red-cooler"
+
+"markup.heading.marker" = "fg-dim"
+"markup.heading.1" = { fg = "fg-main", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "yellow-faint", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "fg-alt", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "magenta", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "green-faint", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "red-faint", modifiers = ["bold"] }
+"markup.list" = "fg-dim"
+"markup.list.checked" = { fg = "yellow-warmer" }
+"markup.list.unchecked" = { fg = "yellow-warmer" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "cyan" }
+"markup.link.text" = { fg = "blue-warmer", modifiers = ["underlined"] }
+"markup.raw.block" = { bg = "bg-dim" }
+"markup.raw.inline" = { fg = "green-cooler" }
+
+"diff.plus" = { fg = "fg-added", bg = "bg-added" }
+"diff.plus.gutter" = "green-intense"
+"diff.minus" = { fg = "fg-removed", bg = "bg-removed" }
+"diff.minus.gutter" = "red-intense"
+"diff.delta" = { fg = "fg-changed", bg = "bg-changed" }
+"diff.delta.gutter" = "yellow-intense"
+
+# User Interface
+# --------------
+
+"ui.background" = { bg = "bg-main" }
+"ui.background.separator" = { fg = "fg-dim" }
+
+"ui.linenr" = { fg = "fg-dim", bg = "bg-dim" }
+"ui.linenr.selected" = { fg = "fg-main", bg = "bg-active" }
+
+"ui.statusline" = { fg = "fg-mode-line-active", bg = "bg-mode-line-active" }
+"ui.statusline.inactive" = { fg = "fg-mode-line-inactive", bg = "bg-mode-line-inactive" }
+"ui.statusline.normal" = { fg = "blue-warmer" }
+"ui.statusline.insert" = { fg = "green-warmer" }
+"ui.statusline.select" = { fg = "magenta-warmer" }
+"ui.statusline.separator" = { fg = "border-mode-line-active" }
+
+"ui.bufferline" = { bg = "bg-tab-bar" }
+"ui.bufferline.active" = { bg = "bg-tab-current", fg = "fg-mode-line-active" }
+"ui.bufferline.background" = { bg = "bg-tab-bar" }
+
+"ui.popup" = { fg = "fg-main", bg = "bg-dim" }
+"ui.popup.info" = { fg = "fg-main", bg = "bg-active" }
+"ui.picker.header" = { fg = "fg-main", bg = "bg-active", modifiers = ["bold"] }
+"ui.picker.header.column" = { fg = "fg-dim", bg = "bg-active" }
+"ui.picker.header.column.active" = { fg = "fg-main", bg = "bg-active", modifiers = ["bold"] }
+"ui.window" = { fg = "fg-dim" }
+"ui.help" = { fg = "fg-main", bg = "bg-active" }
+"ui.gutter" = { bg = "bg-dim" }
+"ui.debug.breakpoint" = { fg = "red-intense" }
+"ui.debug.active" = { fg = "yellow-intense" }
+"ui.debug" = { fg = "yellow-intense" }
+"ui.gutter.selected" = { bg = "bg-active" }
+"ui.text" = "fg-main"
+"ui.text.directory" = "blue"
+"ui.text.focus" = { fg = "fg-main", bg = "bg-completion", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "fg-dim" }
+"ui.text.info" = { fg = "blue-warmer" }
+"ui.virtual" = "bg-active"
+"ui.virtual.ruler" = { bg = "bg-dim" }
+"ui.virtual.inlay-hint" = { fg = "fg-dim", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.parameter" = { fg = "fg-dim", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "fg-dim", modifiers = ["italic"] }
+"ui.virtual.indent-guide" = { fg = "fg-dim" }
+"ui.virtual.whitespace" = { fg = "fg-dim" }
+"ui.virtual.wrap" = { fg = "fg-dim" }
+"ui.virtual.jump-label" = { fg = "yellow-cooler", modifiers = ["bold"] }
+
+"ui.selection" = { bg = "bg-inactive" }
+"ui.selection.primary" = { bg = "bg-active" }
+
+"ui.cursor" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.normal" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.insert" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.select" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.primary" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.primary.insert" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.primary.select" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.match" = { fg = "fg-main", bg = "bg-paren-match" }
+"ui.cursorline.primary" = { bg = "bg-hl-line" }
+
+"ui.highlight" = { bg = "bg-hl-line" }
+"ui.highlight.frameline" = { bg = "bg-paren-match" }
+
+"ui.menu" = { fg = "fg-main", bg = "bg-dim" }
+"ui.menu.selected" = { fg = "fg-main", bg = "bg-completion", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "fg-dim", bg = "bg-cyan-intense" }
+
+"diagnostic.error" = { underline = { color = "red-intense", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow-intense", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan-intense", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue-intense", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "red"
+warning = "yellow-warmer"
+info = "cyan-cooler"
+hint = "blue-cooler"
+
+[palette]
+# Basic values
+bg-main = "#ffffff"
+bg-dim = "#f2f2f2"
+fg-main = "#000000"
+fg-dim = "#595959"
+fg-alt = "#193668"
+bg-active = "#c4c4c4"
+bg-inactive = "#e0e0e0"
+
+# Common accent foregrounds
+red = "#a60000"
+red-warmer = "#972500"
+red-cooler = "#a0132f"
+red-faint = "#7f0000"
+red-intense = "#d00000"
+green = "#006800"
+green-warmer = "#316500"
+green-cooler = "#00663f"
+green-faint = "#2a5045"
+green-intense = "#008900"
+yellow = "#6f5500"
+yellow-warmer = "#884900"
+yellow-cooler = "#7a4f2f"
+yellow-faint = "#624416"
+yellow-intense = "#808000"
+blue = "#0031a9"
+blue-warmer = "#3548cf"
+blue-cooler = "#0000b0"
+blue-faint = "#003497"
+blue-intense = "#0000ff"
+magenta = "#721045"
+magenta-warmer = "#8f0075"
+magenta-cooler = "#531ab6"
+magenta-faint = "#7c318f"
+magenta-intense = "#dd22dd"
+cyan = "#005e8b"
+cyan-warmer = "#3f578f"
+cyan-cooler = "#005f5f"
+cyan-faint = "#005077"
+cyan-intense = "#008899"
+
+# Common accent backgrounds
+bg-red-intense = "#ff8f88"
+bg-green-intense = "#8adf80"
+bg-yellow-intense = "#f3d000"
+bg-blue-intense = "#bfc9ff"
+bg-magenta-intense = "#dfa0f0"
+bg-cyan-intense = "#a4d5f9"
+
+bg-red-subtle = "#ffcfbf"
+bg-green-subtle = "#b3fabf"
+bg-yellow-subtle = "#fff576"
+bg-blue-subtle = "#ccdfff"
+bg-magenta-subtle = "#ffddff"
+bg-cyan-subtle = "#bfefff"
+
+bg-red-nuanced = "#ffe8e8"
+bg-green-nuanced = "#e0f6e0"
+bg-yellow-nuanced = "#f8f0d0"
+bg-blue-nuanced = "#ecedff"
+bg-magenta-nuanced = "#f8e6f5"
+bg-cyan-nuanced = "#e0f2fa"
+
+# Special purpose
+bg-completion = "#c0deff"
+bg-hl-line = "#dae5ec"
+
+bg-mode-line-active = "#c8c8c8"
+fg-mode-line-active = "#000000"
+border-mode-line-active = "#5a5a5a"
+bg-mode-line-inactive = "#e6e6e6"
+fg-mode-line-inactive = "#585858"
+
+modeline-err = "#7f0000"
+modeline-warning = "#5f0070"
+modeline-info = "#002580"
+
+bg-tab-bar = "#dfdfdf"
+bg-tab-current = "#ffffff"
+bg-tab-other = "#c2c2c2"
+
+# Diffs
+bg-added = "#c1f2d1"
+fg-added = "#005000"
+bg-changed = "#ffdfa9"
+fg-changed = "#553d00"
+bg-removed = "#ffd8d5"
+fg-removed = "#8f1313"
+
+# Paren match
+bg-paren-match = "#5fcfff"
diff --git a/vendor/themes/modus_operandi_deuteranopia.toml b/vendor/themes/modus_operandi_deuteranopia.toml
new file mode 100644
index 00000000..364144d0
--- /dev/null
+++ b/vendor/themes/modus_operandi_deuteranopia.toml
@@ -0,0 +1,47 @@
+# Author: Alexis Mousset <[email protected]>
+# modus_operandi.toml variant
+#
+# This variant is optimized for users with red-green color deficiency (deuteranopia)
+# Version 4.6.0
+
+inherits = "modus_operandi"
+
+"constant.character.escape" = "magenta"
+"comment" = "yellow-cooler"
+"function" = "yellow-warmer"
+"tag" = "blue-cooler"
+
+"ui.cursor" = { fg = "bg-main", bg = "blue-intense" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "blue-intense" }
+
+"diagnostic.error" = { underline = { color = "yellow-intense", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "magenta-faint", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+
+error = "yellow-intense"
+warning = "magenta-faint"
+info = "cyan"
+hint = "blue"
+
+[palette]
+
+yellow = "#695500"
+yellow-warmer = "#973300"
+yellow-cooler = "#77492f"
+
+bg-mode-line-active = "#d0d6ff"
+fg-mode-line-active = "#0f0f0f"
+border-mode-line-active = "#4f4f74"
+
+modeline-err = "#603a00"
+modeline-warning = "#454500"
+modeline-info = "#023d92"
+
+# Diffs
+bg-added = "#d5d7ff"
+fg-added = "#303099"
+bg-changed = "#eecfdf"
+fg-changed = "#6f1343"
+bg-removed = "#f4f099"
+fg-removed = "#553d00"
diff --git a/vendor/themes/modus_operandi_tinted.toml b/vendor/themes/modus_operandi_tinted.toml
new file mode 100644
index 00000000..1bb26990
--- /dev/null
+++ b/vendor/themes/modus_operandi_tinted.toml
@@ -0,0 +1,46 @@
+# Author: Alexis Mousset <[email protected]>
+# modus_operandi.toml variant
+# Version 4.6.0
+
+inherits = "modus_operandi"
+
+"comment" = "red-faint"
+
+"ui.cursor.primary" = { fg = "bg-main", bg = "red-intense" }
+
+[palette]
+# Basic values
+bg-main = "#fbf7f0"
+bg-dim = "#efe9dd"
+bg-active = "#c9b9b0"
+bg-inactive = "#dfd5cf"
+border = "#9f9690"
+
+# Common accent backgrounds
+bg-red-nuanced = "#ffe8e8"
+bg-green-nuanced = "#e0f6e0"
+bg-yellow-nuanced = "#f8f0d0"
+bg-blue-nuanced = "#ecedff"
+bg-magenta-nuanced = "#f8e6f5"
+bg-cyan-nuanced = "#e0f2fa"
+
+# Special purpose
+bg-completion = "#f0c1cf"
+bg-hl-line = "#f1d5d0"
+bg-region = "#c2bcb5"
+
+bg-mode-line-active = "#cab9b2"
+border-mode-line-active = "#545454"
+bg-mode-line-inactive = "#dfd9cf"
+border-mode-line-inactive = "#a59a94"
+
+bg-tab-bar = "#e0d4ce"
+bg-tab-current = "#fbf7f0"
+bg-tab-other = "#c8b8b2"
+
+# Diffs
+bg-added = "#c3ebc1"
+bg-removed = "#f4d0cf"
+
+# Paren match
+bg-paren-match = "#7fdfcf"
diff --git a/vendor/themes/modus_operandi_tritanopia.toml b/vendor/themes/modus_operandi_tritanopia.toml
new file mode 100644
index 00000000..82c8b32e
--- /dev/null
+++ b/vendor/themes/modus_operandi_tritanopia.toml
@@ -0,0 +1,74 @@
+# Author: Alexis Mousset <[email protected]>
+# modus_operandi.toml variant
+#
+# This variant is optimized for users with blue-yellow color deficiency (tritanopia)
+# Version 4.6.0
+
+inherits = "modus_operandi"
+
+"type" = "blue-warmer"
+"constructor" = "blue-warmer"
+"constant" = "green-cooler"
+"constant.character.escape" = "red-cooler"
+"string" = "cyan"
+"comment" = "red-faint"
+"variable.parameter" = "cyan-cooler"
+"keyword" = "red-cooler"
+"keyword.directive" = "red-warmer"
+"function" = "cyan-warmer"
+"function.macro" = "red-warmer"
+"tag" = "red-cooler"
+
+"markup.heading.2" = { fg = "red-faint", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "cyan-faint", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "magenta-faint", modifiers = ["bold"] }
+"markup.link.url" = { fg = "cyan-cooler" }
+"markup.link.text" = { fg = "cyan", modifiers = ["underlined"] }
+
+"ui.cursor" = { fg = "bg-main", bg = "red-intense" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "red-intense" }
+
+"diagnostic.error" = { underline = { color = "red-warmer", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "magenta", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+
+error = "red-warmer"
+warning = "magenta"
+info = "cyan"
+hint = "blue"
+
+[palette]
+
+# Common accent foregrounds
+red-warmer = "#b21100"
+red-faint = "#702000"
+yellow = "#695500"
+yellow-warmer = "#973300"
+yellow-cooler = "#77492f"
+magenta-intense = "#cd22bd"
+cyan-faint = "#004f5f"
+
+# Special purpose
+bg-completion = "#afdfef"
+bg-hover = "#ffafbc"
+bg-hover-secondary = "#abdfdd"
+bg-hl-line = "#dfeaec"
+
+bg-char-0 = "#ff908f"
+bg-char-1 = "#bfbfff"
+bg-char-2 = "#5fcfdf"
+
+bg-mode-line-active = "#afe0f2"
+fg-mode-line-active = "#0f0f0f"
+border-mode-line-active = "#2f4f44"
+
+modeline-err = "#8f0000"
+modeline-warning = "#6f306f"
+modeline-info = "#00445f"
+
+# Diffs
+bg-added = "#b5e7ff"
+fg-added = "#005079"
+bg-changed = "#eecfdf"
+fg-changed = "#6f1343"
diff --git a/vendor/themes/modus_vivendi.LICENSE b/vendor/themes/modus_vivendi.LICENSE
new file mode 100644
index 00000000..f9cc8194
--- /dev/null
+++ b/vendor/themes/modus_vivendi.LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ modus-themes
+ Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ modus-themes Copyright (C) 2019-2023 Free Software Foundation, Inc.
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/vendor/themes/modus_vivendi.toml b/vendor/themes/modus_vivendi.toml
new file mode 100644
index 00000000..6827c63e
--- /dev/null
+++ b/vendor/themes/modus_vivendi.toml
@@ -0,0 +1,272 @@
+# Author: Matous Dzivjak <[email protected]>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-theme.el
+# Version 4.6.0
+
+# Syntax highlighting
+# -------------------
+"type" = "cyan-cooler"
+"constructor" = "cyan-cooler"
+
+"constant" = "blue-cooler"
+"constant.character.escape" = "magenta"
+
+"string" = "blue-warmer"
+"string.regexp" = "magenta-faint"
+"string.special" = "blue-faint" # used for colors in CSS
+
+"comment" = "fg-dim"
+
+"variable.parameter" = "cyan"
+"variable.builtin" = "magenta-warmer"
+"label" = "fg-dim" # used for language in markdown code blocks
+"keyword" = "magenta-cooler"
+"keyword.directive" = "red-cooler"
+"function" = "magenta"
+"function.macro" = "red-cooler"
+
+punctuation = "fg-dim"
+"tag" = "magenta-cooler"
+"attribute" = "cyan"
+"namespace" = "cyan"
+"special" = "red-cooler"
+
+"markup.heading.marker" = "fg-dim"
+"markup.heading.1" = { fg = "fg-main", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "yellow-faint", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "fg-alt", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "magenta", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "green-faint", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "red-faint", modifiers = ["bold"] }
+"markup.list" = "fg-dim"
+"markup.list.checked" = { fg = "yellow-warmer" }
+"markup.list.unchecked" = { fg = "yellow-warmer" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "cyan" }
+"markup.link.text" = { fg = "blue-warmer", modifiers = ["underlined"] }
+"markup.raw.block" = { bg = "bg-dim" }
+"markup.raw.inline" = { fg = "green-cooler" }
+
+"diff.plus" = { fg = "fg-added", bg = "bg-added" }
+"diff.plus.gutter" = "green-intense"
+"diff.minus" = { fg = "fg-removed", bg = "bg-removed" }
+"diff.minus.gutter" = "red-intense"
+"diff.delta" = { fg = "fg-changed", bg = "bg-changed" }
+"diff.delta.gutter" = "yellow-intense"
+
+# User Interface
+# --------------
+
+"ui.background" = { bg = "bg-main" }
+"ui.background.separator" = { fg = "fg-dim" }
+
+"ui.linenr" = { fg = "fg-dim", bg = "bg-dim" }
+"ui.linenr.selected" = { fg = "fg-main", bg = "bg-active" }
+
+"ui.statusline" = { fg = "fg-mode-line-active", bg = "bg-mode-line-active" }
+"ui.statusline.inactive" = { fg = "fg-mode-line-inactive", bg = "bg-mode-line-inactive" }
+"ui.statusline.normal" = { fg = "blue-warmer" }
+"ui.statusline.insert" = { fg = "green-warmer" }
+"ui.statusline.select" = { fg = "magenta-warmer" }
+"ui.statusline.separator" = { fg = "border-mode-line-active" }
+
+"ui.bufferline" = { bg = "bg-tab-bar" }
+"ui.bufferline.active" = { bg = "bg-tab-current", fg = "fg-mode-line-active" }
+"ui.bufferline.background" = { bg = "bg-tab-bar" }
+
+"ui.popup" = { fg = "fg-main", bg = "bg-dim" }
+"ui.popup.info" = { fg = "fg-main", bg = "bg-active" }
+"ui.picker.header" = { fg = "fg-main", bg = "bg-active", modifiers = ["bold"] }
+"ui.picker.header.column" = { fg = "fg-dim", bg = "bg-active" }
+"ui.picker.header.column.active" = { fg = "fg-main", bg = "bg-active", modifiers = ["bold"] }
+"ui.window" = { fg = "fg-dim" }
+"ui.help" = { fg = "fg-main", bg = "bg-active" }
+"ui.gutter" = { bg = "bg-dim" }
+"ui.debug.breakpoint" = { fg = "red-intense" }
+"ui.debug.active" = { fg = "yellow-intense" }
+"ui.debug" = { fg = "yellow-intense" }
+"ui.gutter.selected" = { bg = "bg-active" }
+"ui.text" = "fg-main"
+"ui.text.directory" = "blue-cooler"
+"ui.text.focus" = { fg = "fg-main", bg = "bg-completion", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "fg-dim" }
+"ui.text.info" = { fg = "cyan" }
+"ui.virtual" = "bg-active"
+"ui.virtual.ruler" = { bg = "bg-dim" }
+"ui.virtual.inlay-hint" = { fg = "fg-dim", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.parameter" = { fg = "fg-dim", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "fg-dim", modifiers = ["italic"] }
+"ui.virtual.indent-guide" = { fg = "fg-dim" }
+"ui.virtual.whitespace" = { fg = "fg-dim" }
+"ui.virtual.wrap" = { fg = "fg-dim" }
+"ui.virtual.jump-label" = { fg = "yellow-cooler", modifiers = ["bold"] }
+
+"ui.selection" = { bg = "bg-inactive" }
+"ui.selection.primary" = { bg = "bg-active" }
+
+"ui.cursor" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.normal" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.insert" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.select" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.primary" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.primary.insert" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.primary.select" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.match" = { bg = "bg-paren-match", fg = "fg-main" }
+"ui.cursorline.primary" = { bg = "bg-hl-line" }
+
+"ui.highlight" = { bg = "bg-hl-line" }
+"ui.highlight.frameline" = { bg = "bg-paren-match" }
+
+"ui.menu" = { fg = "fg-main", bg = "bg-dim" }
+"ui.menu.selected" = { fg = "fg-main", bg = "bg-completion", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "fg-dim", bg = "bg-cyan-intense" }
+
+"diagnostic.error" = { underline = { color = "red-intense", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow-intense", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan-intense", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue-intense", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+error = "red"
+warning = "yellow-warmer"
+info = "cyan-cooler"
+hint = "blue-cooler"
+
+rainbow = ["red", "yellow-warmer", "green-intense", "cyan", "blue", "magenta-intense"]
+
+[palette]
+# Basic values
+bg-main = "#000000"
+bg-dim = "#1e1e1e"
+fg-main = "#ffffff"
+fg-dim = "#989898"
+fg-alt = "#c6daff"
+bg-active = "#535353"
+bg-inactive = "#303030"
+
+# Common accent foregrounds
+red = "#ff5f59"
+red-warmer = "#ff6b55"
+red-cooler = "#ff7f86"
+red-faint = "#ff9580"
+red-intense = "#ff5f5f"
+green = "#44bc44"
+green-warmer = "#70b900"
+green-cooler = "#00c06f"
+green-faint = "#88ca9f"
+green-intense = "#44df44"
+yellow = "#d0bc00"
+yellow-warmer = "#fec43f"
+yellow-cooler = "#dfaf7a"
+yellow-faint = "#d2b580"
+yellow-intense = "#efef00"
+blue = "#2fafff"
+blue-warmer = "#79a8ff"
+blue-cooler = "#00bcff"
+blue-faint = "#82b0ec"
+blue-intense = "#338fff"
+magenta = "#feacd0"
+magenta-warmer = "#f78fe7"
+magenta-cooler = "#b6a0ff"
+magenta-faint = "#caa6df"
+magenta-intense = "#ff66ff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2f0"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#9ac8e0"
+cyan-intense = "#00eff0"
+
+# Uncommon accent foregrounds
+rust = "#db7b5f"
+gold = "#c0965b"
+olive = "#9cbd6f"
+slate = "#76afbf"
+indigo = "#9099d9"
+maroon = "#cf7fa7"
+pink = "#d09dc0"
+
+# Common accent backgrounds
+bg-red-intense = "#9d1f1f"
+bg-green-intense = "#2f822f"
+bg-yellow-intense = "#7a6100"
+bg-blue-intense = "#1640b0"
+bg-magenta-intense = "#7030af"
+bg-cyan-intense = "#2266ae"
+
+bg-red-subtle = "#620f2a"
+bg-green-subtle = "#00422a"
+bg-yellow-subtle = "#4a4000"
+bg-blue-subtle = "#242679"
+bg-magenta-subtle = "#552f5f"
+bg-cyan-subtle = "#004065"
+
+bg-red-nuanced = "#3a0c14"
+bg-green-nuanced = "#092f1f"
+bg-yellow-nuanced = "#381d0f"
+bg-blue-nuanced = "#12154a"
+bg-magenta-nuanced = "#2f0c3f"
+bg-cyan-nuanced = "#042837"
+
+# Uncommon accent backgrounds
+bg-ochre = "#462f20"
+bg-lavender = "#38325c"
+bg-sage = "#143e32"
+
+# Special purpose
+bg-completion = "#2f447f"
+bg-hover = "#45605e"
+bg-hover-secondary = "#654a39"
+bg-hl-line = "#2f3849"
+bg-region = "#5a5a5a"
+fg-region = "#ffffff"
+
+bg-char-0 = "#0050af"
+bg-char-1 = "#7f1f7f"
+bg-char-2 = "#625a00"
+
+bg-mode-line-active = "#505050"
+fg-mode-line-active = "#ffffff"
+border-mode-line-active = "#959595"
+bg-mode-line-inactive = "#2d2d2d"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606060"
+
+modeline-err = "#ffa9bf"
+modeline-warning = "#dfcf43"
+modeline-info = "#9fefff"
+
+bg-tab-bar = "#313131"
+bg-tab-current = "#000000"
+bg-tab-other = "#545454"
+
+# Diffs
+bg-added = "#00381f"
+bg-added-faint = "#002910"
+bg-added-refine = "#034f2f"
+bg-added-fringe = "#237f3f"
+fg-added = "#a0e0a0"
+fg-added-intense = "#80e080"
+
+bg-changed = "#363300"
+bg-changed-faint = "#2a1f00"
+bg-changed-refine = "#4a4a00"
+bg-changed-fringe = "#8a7a00"
+fg-changed = "#efef80"
+fg-changed-intense = "#c0b05f"
+
+bg-removed = "#4f1119"
+bg-removed-faint = "#380a0f"
+bg-removed-refine = "#781a1f"
+bg-removed-fringe = "#b81a1f"
+fg-removed = "#ffbfbf"
+fg-removed-intense = "#ff9095"
+
+bg-diff-context = "#1a1a1a"
+
+# Paren match
+bg-paren-match = "#2f7f9f"
+tg-paren-expression = "#453040"
diff --git a/vendor/themes/modus_vivendi_deuteranopia.LICENSE b/vendor/themes/modus_vivendi_deuteranopia.LICENSE
new file mode 100644
index 00000000..f9cc8194
--- /dev/null
+++ b/vendor/themes/modus_vivendi_deuteranopia.LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ modus-themes
+ Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ modus-themes Copyright (C) 2019-2023 Free Software Foundation, Inc.
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/vendor/themes/modus_vivendi_deuteranopia.toml b/vendor/themes/modus_vivendi_deuteranopia.toml
new file mode 100644
index 00000000..a142ac3c
--- /dev/null
+++ b/vendor/themes/modus_vivendi_deuteranopia.toml
@@ -0,0 +1,160 @@
+# Author: Matous Dzivjak <[email protected]>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-deuteranopia-theme.el
+# Version 4.6.0
+
+inherits = "modus_vivendi"
+
+"constant.character.escape" = "magenta"
+"comment" = "yellow-cooler"
+"function" = "yellow-warmer"
+"tag" = "blue-cooler"
+
+"ui.cursor" = { fg = "bg-main", bg = "blue-intense" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "blue-intense" }
+
+"diagnostic.error" = { underline = { color = "yellow-intense", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "magenta-faint", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+
+error = "yellow-intense"
+warning = "magenta-faint"
+info = "cyan"
+hint = "blue"
+
+rainbow = ["red", "yellow-intense", "green-intense", "cyan", "blue", "magenta-intense"]
+
+[palette]
+# Basic values
+bg-main = "#000000"
+bg-dim = "#1e1e1e"
+fg-main = "#ffffff"
+fg-dim = "#989898"
+fg-alt = "#c6daff"
+bg-active = "#535353"
+bg-inactive = "#303030"
+border = "#646464"
+
+# Common accent foregrounds
+red = "#ff5f59"
+red-warmer = "#ff6b55"
+red-cooler = "#ff7f86"
+red-faint = "#ff9580"
+red-intense = "#ff5f5f"
+green = "#44bc44"
+green-warmer = "#70b900"
+green-cooler = "#00c06f"
+green-faint = "#88ca9f"
+green-intense = "#44df44"
+yellow = "#cabf00"
+yellow-warmer = "#ffa00f"
+yellow-cooler = "#d8af7a"
+yellow-faint = "#d2b580"
+yellow-intense = "#efef00"
+blue = "#2fafff"
+blue-warmer = "#79a8ff"
+blue-cooler = "#00bcff"
+blue-faint = "#82b0ec"
+blue-intense = "#338fff"
+magenta = "#feacd0"
+magenta-warmer = "#f78fe7"
+magenta-cooler = "#b6a0ff"
+magenta-faint = "#caa6df"
+magenta-intense = "#ff66ff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2f0"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#9ac8e0"
+cyan-intense = "#00eff0"
+
+# Uncommon accent foregrounds
+rust = "#db7b5f"
+gold = "#c0965b"
+olive = "#9cbd6f"
+slate = "#76afbf"
+indigo = "#9099d9"
+maroon = "#cf7fa7"
+pink = "#d09dc0"
+
+# Common accent backgrounds
+bg-red-intense = "#9d1f1f"
+bg-green-intense = "#2f822f"
+bg-yellow-intense = "#7a6100"
+bg-blue-intense = "#1640b0"
+bg-magenta-intense = "#7030af"
+bg-cyan-intense = "#2266ae"
+
+bg-red-subtle = "#620f2a"
+bg-green-subtle = "#00422a"
+bg-yellow-subtle = "#4a4000"
+bg-blue-subtle = "#242679"
+bg-magenta-subtle = "#552f5f"
+bg-cyan-subtle = "#004065"
+
+bg-red-nuanced = "#3a0c14"
+bg-green-nuanced = "#092f1f"
+bg-yellow-nuanced = "#381d0f"
+bg-blue-nuanced = "#12154a"
+bg-magenta-nuanced = "#2f0c3f"
+bg-cyan-nuanced = "#042837"
+
+# Uncommon accent backgrounds
+bg-ochre = "#462f20"
+bg-lavender = "#38325c"
+bg-sage = "#143e32"
+
+# Special purpose
+bg-completion = "#2f447f"
+bg-hover = "#45605e"
+bg-hover-secondary = "#604c30"
+bg-hl-line = "#2f3849"
+bg-region = "#5a5a5a"
+fg-region = "#ffffff"
+
+bg-char-0 = "#0050af"
+bg-char-1 = "#7f1f7f"
+bg-char-2 = "#625a00"
+
+bg-mode-line-active = "#2a2a6a"
+fg-mode-line-active = "#f0f0f0"
+border-mode-line-active = "#8080a7"
+bg-mode-line-inactive = "#2d2d2d"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606060"
+
+modeline-err = "#e5bf00"
+modeline-warning = "#c0cf35"
+modeline-info = "#abeadf"
+
+bg-tab-bar = "#313131"
+bg-tab-current = "#000000"
+bg-tab-other = "#545454"
+
+# Diffs
+bg-added = "#003066"
+bg-added-faint = "#001a4f"
+bg-added-refine = "#0f4a77"
+bg-added-fringe = "#006fff"
+fg-added = "#c4d5ff"
+fg-added-intense = "#8080ff"
+
+bg-changed = "#2f123f"
+bg-changed-faint = "#1f022f"
+bg-changed-refine = "#3f325f"
+bg-changed-fringe = "#7f55a0"
+fg-changed = "#e3cfff"
+fg-changed-intense = "#cf9fe2"
+
+bg-removed = "#3d3d00"
+bg-removed-faint = "#281f00"
+bg-removed-refine = "#555500"
+bg-removed-fringe = "#d0c03f"
+fg-removed = "#d4d48f"
+fg-removed-intense = "#d0b05f"
+
+bg-diff-context = "#1a1a1a"
+
+# Paren match
+bg-paren-match = "#2f7f9f"
+bg-paren-expression = "#453040"
diff --git a/vendor/themes/modus_vivendi_tinted.LICENSE b/vendor/themes/modus_vivendi_tinted.LICENSE
new file mode 100644
index 00000000..f9cc8194
--- /dev/null
+++ b/vendor/themes/modus_vivendi_tinted.LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ modus-themes
+ Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ modus-themes Copyright (C) 2019-2023 Free Software Foundation, Inc.
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/vendor/themes/modus_vivendi_tinted.toml b/vendor/themes/modus_vivendi_tinted.toml
new file mode 100644
index 00000000..a4f604cb
--- /dev/null
+++ b/vendor/themes/modus_vivendi_tinted.toml
@@ -0,0 +1,144 @@
+# Author: Matous Dzivjak <[email protected]>
+# Adapted from: https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-tinted-theme.el
+# Version 4.6.0
+
+inherits = "modus_vivendi"
+
+"comment" = "red-faint"
+
+"ui.cursor.primary" = { fg = "bg-main", bg = "magenta-intense" }
+
+[palette]
+# Basic values
+bg-main = "#0d0e1c"
+bg-dim = "#1d2235"
+fg-main = "#ffffff"
+fg-dim = "#989898"
+fg-alt = "#c6daff"
+bg-active = "#4a4f69"
+bg-inactive = "#2b3045"
+border = "#61647a"
+
+# Common accent foregrounds
+red = "#ff5f59"
+red-warmer = "#ff6b55"
+red-cooler = "#ff7f86"
+red-faint = "#ef8386"
+red-intense = "#ff5f5f"
+green = "#44bc44"
+green-warmer = "#75c13e"
+green-cooler = "#11c777"
+green-faint = "#88ca9f"
+green-intense = "#44df44"
+yellow = "#d0bc00"
+yellow-warmer = "#fec43f"
+yellow-cooler = "#dfaf7a"
+yellow-faint = "#d2b580"
+yellow-intense = "#efef00"
+blue = "#2fafff"
+blue-warmer = "#79a8ff"
+blue-cooler = "#00bcff"
+blue-faint = "#82b0ec"
+blue-intense = "#338fff"
+magenta = "#feacd0"
+magenta-warmer = "#f78fe7"
+magenta-cooler = "#b6a0ff"
+magenta-faint = "#caa6df"
+magenta-intense = "#ff66ff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2f0"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#9ac8e0"
+cyan-intense = "#00eff0"
+
+# Uncommon accent foregrounds
+rust = "#db8b3f"
+gold = "#c0965b"
+olive = "#9cbd6f"
+slate = "#76afbf"
+indigo = "#9099d9"
+maroon = "#cf7fa7"
+pink = "#d09dc0"
+
+# Common accent backgrounds
+bg-red-intense = "#9d1f1f"
+bg-green-intense = "#2f822f"
+bg-yellow-intense = "#7a6100"
+bg-blue-intense = "#1640b0"
+bg-magenta-intense = "#7030af"
+bg-cyan-intense = "#2266ae"
+
+bg-red-subtle = "#620f2a"
+bg-green-subtle = "#00422a"
+bg-yellow-subtle = "#4a4000"
+bg-blue-subtle = "#242679"
+bg-magenta-subtle = "#552f5f"
+bg-cyan-subtle = "#004065"
+
+bg-red-nuanced = "#3a0c14"
+bg-green-nuanced = "#092f1f"
+bg-yellow-nuanced = "#381d0f"
+bg-blue-nuanced = "#12154a"
+bg-magenta-nuanced = "#2f0c3f"
+bg-cyan-nuanced = "#042837"
+
+# Special purpose
+bg-completion = "#483d8a"
+bg-hover = "#45605e"
+bg-hover-secondary = "#64404f"
+bg-hl-line = "#303a6f"
+bg-region = "#555a66"
+fg-region = "#ffffff"
+
+bg-char-0 = "#0050af"
+bg-char-1 = "#7f1f7f"
+bg-char-2 = "#625a00"
+
+bg-mode-line-active = "#484d67"
+fg-mode-line-active = "#ffffff"
+border-mode-line-active = "#979797"
+bg-mode-line-inactive = "#292d48"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606270"
+
+modeline-err = "#ffa9bf"
+modeline-warning = "#dfcf43"
+modeline-info = "#9fefff"
+
+bg-tab-bar = "#2c3045"
+bg-tab-current = "#0d0e1c"
+bg-tab-other = "#4a4f6a"
+
+# Diffs
+bg-added = "#003a2f"
+bg-added-faint = "#002922"
+bg-added-refine = "#035542"
+bg-added-fringe = "#23884f"
+fg-added = "#a0e0a0"
+fg-added-intense = "#80e080"
+
+bg-changed = "#363300"
+bg-changed-faint = "#2a1f00"
+bg-changed-refine = "#4a4a00"
+bg-changed-fringe = "#8f7a30"
+fg-changed = "#efef80"
+fg-changed-intense = "#c0b05f"
+
+bg-removed = "#4f1127"
+bg-removed-faint = "#380a19"
+bg-removed-refine = "#781a3a"
+bg-removed-fringe = "#b81a26"
+fg-removed = "#ffbfbf"
+fg-removed-intense = "#ff9095"
+
+bg-diff-context = "#1a1f30"
+
+# Uncommon accent backgrounds
+bg-ochre = "#462f20"
+bg-lavender = "#38325c"
+bg-sage = "#143e32"
+
+# Paren match
+bg-paren-match = "#4f7f9f"
+bg-paren-expression = "#453040"
diff --git a/vendor/themes/modus_vivendi_tritanopia.LICENSE b/vendor/themes/modus_vivendi_tritanopia.LICENSE
new file mode 100644
index 00000000..f9cc8194
--- /dev/null
+++ b/vendor/themes/modus_vivendi_tritanopia.LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ modus-themes
+ Copyright (C) 2019-2023 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ modus-themes Copyright (C) 2019-2023 Free Software Foundation, Inc.
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/vendor/themes/modus_vivendi_tritanopia.toml b/vendor/themes/modus_vivendi_tritanopia.toml
new file mode 100644
index 00000000..65e65ea7
--- /dev/null
+++ b/vendor/themes/modus_vivendi_tritanopia.toml
@@ -0,0 +1,188 @@
+# Author: Matous Dzivjak <[email protected]>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-tritanopia-theme.el
+# Version 4.6.0
+
+inherits = "modus_vivendi"
+
+"type" = "blue-warmer"
+"constructor" = "blue-warmer"
+"constant" = "green-faint"
+"constant.character.escape" = "red-cooler"
+"string" = "cyan"
+"comment" = "red-faint"
+"variable.parameter" = "cyan-cooler"
+"keyword" = "red-cooler"
+"keyword.directive" = "red-warmer"
+"function" = "cyan-warmer"
+"function.macro" = "red-warmer"
+"tag" = "red-cooler"
+
+"markup.heading.2" = { fg = "red-faint", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "cyan-faint", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "magenta-faint", modifiers = ["bold"] }
+"markup.link.url" = { fg = "cyan-cooler" }
+"markup.link.text" = { fg = "cyan", modifiers = ["underlined"] }
+
+"ui.cursor" = { fg = "bg-main", bg = "red-intense" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "red-intense" }
+
+"diagnostic.error" = { underline = { color = "red-warmer", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "magenta", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+
+error = "red-warmer"
+warning = "magenta"
+info = "cyan"
+hint = "blue"
+
+rainbow = ["red", "magenta", "green-intense", "cyan", "blue", "magenta-intense"]
+
+[palette]
+# Basic values
+bg-main = "#000000"
+bg-dim = "#1e1e1e"
+fg-main = "#ffffff"
+fg-dim = "#989898"
+fg-alt = "#a0d7f2"
+bg-active = "#535353"
+bg-inactive = "#303030"
+border = "#646464"
+
+# Common accent foregrounds
+red = "#ff5f59"
+red-warmer = "#ff6740"
+red-cooler = "#ff7f86"
+red-faint = "#ff9070"
+red-intense = "#ff5f5f"
+green = "#44bc44"
+green-warmer = "#70b900"
+green-cooler = "#00c06f"
+green-faint = "#88ca9f"
+green-intense = "#44df44"
+yellow = "#cabf00"
+yellow-warmer = "#ffa00f"
+yellow-cooler = "#d8af7a"
+yellow-faint = "#d2b580"
+yellow-intense = "#efef00"
+blue = "#2fafff"
+blue-warmer = "#79a8ff"
+blue-cooler = "#00bcff"
+blue-faint = "#82b0ec"
+blue-intense = "#338fff"
+magenta = "#feacd0"
+magenta-warmer = "#f78fe7"
+magenta-cooler = "#b6a0ff"
+magenta-faint = "#caa6df"
+magenta-intense = "#ef7fff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2ff"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#7fdbdf"
+cyan-intense = "#00eff0"
+
+# Uncommon accent foregrounds
+rust = "#db7b5f"
+gold = "#c0965b"
+olive = "#9cbd6f"
+slate = "#76afbf"
+indigo = "#9099d9"
+maroon = "#cf7fa7"
+pink = "#d09dc0"
+
+# Common accent backgrounds
+bg-red-intense = "#9d1f1f"
+bg-green-intense = "#2f822f"
+bg-yellow-intense = "#7a6100"
+bg-blue-intense = "#1640b0"
+bg-magenta-intense = "#7030af"
+bg-cyan-intense = "#2266ae"
+
+bg-red-subtle = "#620f2a"
+bg-green-subtle = "#00422a"
+bg-yellow-subtle = "#4a4000"
+bg-blue-subtle = "#242679"
+bg-magenta-subtle = "#552f5f"
+bg-cyan-subtle = "#004065"
+
+bg-red-nuanced = "#3a0c14"
+bg-green-nuanced = "#092f1f"
+bg-yellow-nuanced = "#381d0f"
+bg-blue-nuanced = "#12154a"
+bg-magenta-nuanced = "#2f0c3f"
+bg-cyan-nuanced = "#042837"
+
+# Uncommon accent backgrounds
+bg-ochre = "#462f20"
+bg-lavender = "#38325c"
+bg-sage = "#143e32"
+
+# Graphs
+bg-graph-red-0 = "#b52c2c"
+bg-graph-red-1 = "#702020"
+bg-graph-green-0 = "#afd1c0"
+bg-graph-green-1 = "#607a8f"
+bg-graph-yellow-0 = "#facfd6"
+bg-graph-yellow-1 = "#b57b85"
+bg-graph-blue-0 = "#4f9fdf"
+bg-graph-blue-1 = "#004559"
+bg-graph-magenta-0 = "#b6427f"
+bg-graph-magenta-1 = "#7f506f"
+bg-graph-cyan-0 = "#57dfea"
+bg-graph-cyan-1 = "#00808f"
+
+# Special purpose
+bg-completion = "#004253"
+bg-hover = "#8e3e3b"
+bg-hover-secondary = "#204853"
+bg-hl-line = "#2f3849"
+bg-region = "#5a5a5a"
+fg-region = "#ffffff"
+
+bg-char-0 = "#922a00"
+bg-char-1 = "#00709f"
+bg-char-2 = "#5f3faf"
+
+bg-mode-line-active = "#003c52"
+fg-mode-line-active = "#f0f0f0"
+border-mode-line-active = "#5f8fb4"
+bg-mode-line-inactive = "#2d2d2d"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606060"
+
+modeline-err = "#ff7fbf"
+modeline-warning = "#df9f93"
+modeline-info = "#4fcfef"
+
+bg-tab-bar = "#313131"
+bg-tab-current = "#000000"
+bg-tab-other = "#545454"
+
+# Diffs
+bg-added = "#004254"
+bg-added-faint = "#003042"
+bg-added-refine = "#004f7f"
+bg-added-fringe = "#008fcf"
+fg-added = "#9fdfdf"
+fg-added-intense = "#50c0ef"
+
+bg-changed = "#2f123f"
+bg-changed-faint = "#1f022f"
+bg-changed-refine = "#3f325f"
+bg-changed-fringe = "#7f55a0"
+fg-changed = "#e3cfff"
+fg-changed-intense = "#cf9fe2"
+
+bg-removed = "#4f1119"
+bg-removed-faint = "#380a0f"
+bg-removed-refine = "#781a1f"
+bg-removed-fringe = "#b81a1f"
+fg-removed = "#ffbfbf"
+fg-removed-intense = "#ff9095"
+
+bg-diff-context = "#1a1a1a"
+
+# Paren match
+bg-paren-match = "#2f7f9f"
+bg-paren-expression = "#453040"
diff --git a/vendor/themes/molokai.toml b/vendor/themes/molokai.toml
new file mode 100644
index 00000000..0e48f775
--- /dev/null
+++ b/vendor/themes/molokai.toml
@@ -0,0 +1,53 @@
+# Author : Maxwell Anderson <[email protected]>
+
+inherits = "monokai"
+
+"comment" = "comment"
+"comment.block.documentation" = { fg = "comment", modifiers = ["bold"] }
+"comment.line.documentation" = { fg = "comment", modifiers = ["bold"] }
+"constant.character.escape" = { fg = "light-blue", modifiers = ["italic"] }
+"function.macro" = { fg = "#c4be89", modifiers = ["italic"] }
+"keyword" = { fg = "keyword", modifiers = ["bold"] }
+"keyword.control" = { fg = "keyword", modifiers = ["bold"] }
+"keyword.control.exception" = { fg = "fn_declaration", modifiers = ["bold"] }
+"keyword.directive" = { fg = "fn_declaration", modifiers = ["bold"] }
+"keyword.storage.modifier" = { fg = "#fd971f", modifiers = ["italic"] }
+"label" = "#e6db74"
+"operator" = "keyword"
+"punctuation.delimiter" = "#8f8f8f"
+"type" = "light-blue"
+"variable.builtin" = { fg = "#ae81ff", modifiers = ["bold"] }
+"tag.builtin" = { fg = "#ae81ff", modifiers = ["bold"] }
+"variable.parameter" = "variable"
+
+"diff.plus" = "text"
+"diff.delta" = "#89807d"
+"diff.minus" = "#960050"
+
+"ui.cursor.primary" = { fg = "#000000", bg = "#f8f8f0" }
+"ui.cursor.match" = { fg = "#000000", bg = "#fd971f", modifiers = ["bold"] }
+"ui.selection" = { bg = "#403d3d" }
+"ui.linenr" = "#465457"
+"ui.linenr.selected" = "#fd971f"
+
+"ui.help" = { fg = "light-blue", bg = "#000000" }
+"ui.menu" = { fg = "light-blue", bg = "#000000" }
+"ui.popup" = { fg = "light-blue", bg = "#000000" }
+"ui.popup.info" = { fg = "light-blue", bg = "#000000" }
+"ui.text.info" = { fg = "light-blue", bg = "#000000" }
+
+"ui.statusline.normal" = { fg = "#080808", bg = "#e6db74", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "#282828", bg = "#8787af", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "#282828", bg = "#ffd700", modifiers = ["bold"] }
+
+"warning" = { fg = "#ffffff", modifiers = ["bold"] }
+"error" = { fg = "#ffffff", modifiers = ["bold"] }
+"info" = { fg = "#ffffff", modifiers = ["bold"] }
+"hint" = { fg = "#ffffff", modifiers = ["bold"] }
+
+[palette]
+light-blue = "#66d9ef"
+
+background = "#1b1d1e"
+
+comment = "#7e8e91"
diff --git a/vendor/themes/monokai_aqua.toml b/vendor/themes/monokai_aqua.toml
new file mode 100644
index 00000000..b818a09e
--- /dev/null
+++ b/vendor/themes/monokai_aqua.toml
@@ -0,0 +1,22 @@
+inherits = "monokai"
+
+"keyword.control.import" = { fg = "cyan", modifiers = ["italic"] }
+"keyword.function" = { fg = "cyan", modifiers = ["italic"] }
+"keyword.storage.type" = { fg = "cyan", modifiers = ["italic"] }
+
+"namespace" = { fg = "text" }
+
+"type" = { fg = "type", modifiers = ["bold"] }
+
+# Malformed ANSI: light-black, purple. See 'https://github.com/helix-editor/helix/issues/5709'
+# "ui.statusline.normal" = { fg = "light-black", bg = "cyan" }
+"ui.statusline.normal" = { bg = "cyan" }
+# "ui.statusline.insert" = { fg = "light-black", bg = "green" }
+"ui.statusline.insert" = { bg = "green" }
+# "ui.statusline.select" = { fg = "light-black", bg = "purple" }
+
+"ui.virtual.jump-label" = { fg = "cyan", modifiers = ["bold"] }
+
+[palette]
+cyan = "#66D9EF"
+type = "#66D9EF"
diff --git a/vendor/themes/monokai_pro.toml b/vendor/themes/monokai_pro.toml
new file mode 100644
index 00000000..97f2a57c
--- /dev/null
+++ b/vendor/themes/monokai_pro.toml
@@ -0,0 +1,134 @@
+# Author : WindSoilder<[email protected]>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu" = { fg = "base8", bg = "base3" }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+"ui.virtual.whitespace" = "base5"
+"ui.virtual.ruler" = { bg = "base1" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { fg = "base8", bg = "base4" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+"ui.statusline.normal" = { fg = "base4", bg = "blue" }
+"ui.statusline.insert" = { fg = "base4", bg = "green" }
+"ui.statusline.select" = { fg = "base4", bg = "purple" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { fg = "base8", bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+"ui.cursorline" = { bg = "base1" }
+
+# bufferline, inlay hints
+"ui.bufferline" = { fg = "base6", bg = "base8x0c" }
+"ui.bufferline.active" = { fg = "base8", bg = "base4" }
+"ui.virtual.inlay-hint" = { fg = "base6" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primitives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#ff6188"
+"orange" = "#fc9867"
+"yellow" = "#ffd866"
+"green" = "#a9dc76"
+"blue" = "#78dce8"
+"purple" = "#ab9df2"
+# base colors, sorted from darkest to lightest
+"base0" = "#19181a"
+"base1" = "#221f22"
+"base2" = "#2d2a2e"
+"base3" = "#403e41"
+"base4" = "#5b595c"
+"base5" = "#727072"
+"base6" = "#939293"
+"base7" = "#c1c0c0"
+"base8" = "#fcfcfa"
+# variants (for when transparency isn't supported)
+"base8x0c" = "#363337" # using base2 as bg
diff --git a/vendor/themes/monokai_pro_machine.toml b/vendor/themes/monokai_pro_machine.toml
new file mode 100644
index 00000000..e1f74b1c
--- /dev/null
+++ b/vendor/themes/monokai_pro_machine.toml
@@ -0,0 +1,131 @@
+# Author : WindSoilder<[email protected]>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu" = { fg = "base8", bg = "base3" }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+"ui.virtual.whitespace" = "base5"
+"ui.virtual.ruler" = { bg = "base1" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { fg = "base8", bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { fg = "base8", bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+"ui.cursorline" = { bg = "base1" }
+
+# bufferline, inlay hints
+"ui.bufferline" = { fg = "base6", bg = "base8x0c" }
+"ui.bufferline.active" = { fg = "base8", bg = "base4" }
+"ui.virtual.inlay-hint" = { fg = "base6" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primitives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#ff6d7e"
+"orange" = "#ffb270"
+"yellow" = "#ffed72"
+"green" = "#a2e57b"
+"blue" = "#7cd5f1"
+"purple" = "#baa0f8"
+# base colors
+"base0" = "#161b1e"
+"base1" = "#1d2528"
+"base2" = "#273136"
+"base3" = "#3a4449"
+"base4" = "#545f62"
+"base5" = "#6b7678"
+"base6" = "#798384"
+"base7" = "#b8c4c3"
+"base8" = "#f2fffc"
+# variants
+"base8x0c" = "#303a3e"
diff --git a/vendor/themes/monokai_pro_octagon.toml b/vendor/themes/monokai_pro_octagon.toml
new file mode 100644
index 00000000..cfa85b65
--- /dev/null
+++ b/vendor/themes/monokai_pro_octagon.toml
@@ -0,0 +1,134 @@
+# Author : WindSoilder<[email protected]>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu" = { fg = "base8", bg = "base3" }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+"ui.virtual.whitespace" = "base5"
+"ui.virtual.ruler" = { bg = "base1" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { fg = "base8", bg = "base4" }
+"ui.statusline.normal" = { fg = "base4", bg = "blue" }
+"ui.statusline.insert" = { fg = "base4", bg = "green" }
+"ui.statusline.select" = { fg = "base4", bg = "purple" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { fg = "base8", bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+"ui.cursorline" = { bg = "base1" }
+
+# bufferline, inlay hints
+"ui.bufferline" = { fg = "base6", bg = "base8x0c" }
+"ui.bufferline.active" = { fg = "base8", bg = "base4" }
+"ui.virtual.inlay-hint" = { fg = "base6" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primitives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#ff657a"
+"orange" = "#ff9b5e"
+"yellow" = "#ffd76d"
+"green" = "#bad761"
+"blue" = "#9cd1bb"
+"purple" = "#c39ac9"
+# base colors
+"base0" = "#161821"
+"base1" = "#1e1f2b"
+"base2" = "#282a3a"
+"base3" = "#3a3d4b"
+"base4" = "#535763"
+"base5" = "#696d77"
+"base6" = "#767b81"
+"base7" = "#b2b9bd"
+"base8" = "#eaf2f1"
+# variants
+"base8x0c" = "#303342"
diff --git a/vendor/themes/monokai_pro_ristretto.toml b/vendor/themes/monokai_pro_ristretto.toml
new file mode 100644
index 00000000..a6ba6fcf
--- /dev/null
+++ b/vendor/themes/monokai_pro_ristretto.toml
@@ -0,0 +1,131 @@
+# Author : WindSoilder<[email protected]>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu" = { fg = "base8", bg = "base3" }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+"ui.virtual.whitespace" = "base5"
+"ui.virtual.ruler" = { bg = "base1" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { fg = "base8", bg = "base4" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { fg = "base8", bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+"ui.cursorline" = { bg = "base1" }
+
+# bufferline, inlay hints
+"ui.bufferline" = { fg = "base6", bg = "base8x0c" }
+"ui.bufferline.active" = { fg = "base8", bg = "base4" }
+"ui.virtual.inlay-hint" = { fg = "base6" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primitives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = "red"
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#fd6883"
+"orange" = "#f38d70"
+"yellow" = "#f9cc6c"
+"green" = "#adda78"
+"blue" = "#85dacc"
+"purple" = "#a8a9eb"
+# base colors
+"base0" = "#191515"
+"base1" = "#211c1c"
+"base2" = "#2c2525"
+"base3" = "#403838"
+"base4" = "#5b5353"
+"base5" = "#72696a"
+"base6" = "#8c8384"
+"base7" = "#c3b7b8"
+"base8" = "#fff1f3"
+# variants
+"base8x0c" = "#352e2e"
diff --git a/vendor/themes/monokai_pro_spectrum.toml b/vendor/themes/monokai_pro_spectrum.toml
new file mode 100644
index 00000000..1bfcb688
--- /dev/null
+++ b/vendor/themes/monokai_pro_spectrum.toml
@@ -0,0 +1,131 @@
+# Author : WindSoilder<[email protected]>
+# The unofficial Monokai Pro theme, simply migrate from jetbrains monokai pro theme: https://github.com/subtheme-dev/monokai-pro
+# Credit goes to the original creator: https://monokai.pro
+
+"ui.linenr.selected" = { bg = "base3" }
+"ui.text.focus" = { fg = "yellow", modifiers= ["bold"] }
+"ui.menu" = { fg = "base8", bg = "base3" }
+"ui.menu.selected" = { fg = "base2", bg = "yellow" }
+"ui.virtual.whitespace" = "base4"
+"ui.virtual.ruler" = { bg = "base1" }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+"info" = "base8"
+"hint" = "base8"
+
+# background color
+"ui.background" = { bg = "base2" }
+
+# status bars, panels, modals, autocompletion
+"ui.statusline" = { fg = "base8", bg = "base4" }
+"ui.statusline.inactive" = { fg = "base8", bg = "base8x0c" }
+"ui.popup" = { bg = "base3" }
+"ui.window" = { bg = "base3" }
+"ui.help" = { fg = "base8", bg = "base3" }
+
+# active line, highlighting
+"ui.selection" = { bg = "base4" }
+"ui.cursor.match" = { bg = "base4" }
+"ui.cursorline" = { bg = "base1" }
+
+# bufferline, inlay hints
+"ui.bufferline" = { fg = "base6", bg = "base8x0c" }
+"ui.bufferline.active" = { fg = "base8", bg = "base4" }
+"ui.virtual.inlay-hint" = { fg = "base6" }
+
+# comments, nord3 based lighter color
+"comment" = { fg = "base5", modifiers = ["italic"] }
+"ui.linenr" = { fg = "base5" }
+
+# cursor, variables, constants, attributes, fields
+"ui.cursor.primary" = { fg = "base7", modifiers = ["reversed"] }
+"attribute" = "blue"
+"variable" = "base8"
+"constant" = "orange"
+"variable.builtin" = "red"
+"constant.builtin" = "red"
+"namespace" = "base8"
+
+# base text, punctuation
+"ui.text" = { fg = "base8" }
+"punctuation" = "base6"
+
+# classes, types, primitives
+"type" = "green"
+"type.builtin" = { fg = "red"}
+"label" = "base8"
+
+# declaration, methods, routines
+"constructor" = "blue"
+"function" = "green"
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "blue" }
+
+# operator, tags, units, punctuations
+"operator" = "red"
+"variable.other.member" = "base8"
+
+# keywords, special
+"keyword" = { fg = "red" }
+"keyword.directive" = "blue"
+"variable.parameter" = "#f59762"
+
+# error
+"error" = { fg = "red", modifiers = ["bold"] }
+
+# annotations, decorators
+"special" = "#f59762"
+"module" = "#f59762"
+
+# warnings, escape characters, regex
+"warning" = "orange"
+"constant.character.escape" = { fg = "base8" }
+
+# strings
+"string" = "yellow"
+
+# integer, floating point
+"constant.numeric" = "purple"
+
+# vcs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+# make diagnostic underlined, to distinguish with selection text.
+"diagnostic.warning" = { underline = { color = "orange", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base8", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# markup highlight, no need for `markup.raw` and `markup.list`, make them to be default
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+[palette]
+# primary colors
+"red" = "#fc618d"
+"orange" = "#fd9353"
+"yellow" = "#fce566"
+"green" = "#7bd88f"
+"blue" = "#5ad4e6"
+"purple" = "#948ae3"
+# base colors
+"base0" = "#131313"
+"base1" = "#191919"
+"base2" = "#222222"
+"base3" = "#363537"
+"base4" = "#525053"
+"base5" = "#69676c"
+"base6" = "#8b888f"
+"base7" = "#bab6c0"
+"base8" = "#f7f1ff"
+# variants
+"base8x0c" = "#2b2b2b"
diff --git a/vendor/themes/monokai_soda.toml b/vendor/themes/monokai_soda.toml
new file mode 100644
index 00000000..ca36d4e9
--- /dev/null
+++ b/vendor/themes/monokai_soda.toml
@@ -0,0 +1,123 @@
+# Monokai Soda port for Helix (https://helix-editor.com)
+# Author : Jimmy Zelinskie <[email protected]>
+
+# Syntax
+
+## Constants
+"constant" = "white"
+"constant.builtin" = "pink"
+"constant.character.escape" = "blue"
+"constant.numeric" = "purple"
+
+## Diagnostics
+"diagnostic" = { modifiers = ["underlined"] }
+"diagnostic.error" = { underline = { style = "curl", color = "pink" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "orange" } }
+"diagnostic.info" = { underline = { style = "curl", color = "white" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+## Diffs
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "pink"
+"diff.delta.moved" = "orange"
+
+## Functions
+"function" = "green"
+"function.macro" = "blue"
+"function.builtin" = "pink"
+"constructor" = "blue"
+
+## Keywords
+"keyword" = "pink"
+"keyword.directive" = "blue"
+
+## Punctuation
+"punctuation" = "gray"
+
+## Strings
+"string" = "yellow"
+
+## Types
+"type" = "blue"
+"type.builtin" = "pink"
+
+## Variables
+"variable" = "white"
+"variable.builtin" = "pink"
+"variable.other.member" = "white"
+"variable.parameter" = "softorange"
+
+## Markup
+"markup.heading" = "green"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "orange", modifiers = ["italic"] }
+"markup.link.url" = { fg = "orange", modifiers = ["underlined"] }
+"markup.link.text" = "yellow"
+"markup.quote" = "green"
+
+## Misc
+"attribute" = "blue"
+"comment" = { fg = "gray", modifiers = ["italic"] }
+"error" = "pink"
+"hint" = "white"
+"info" = "white"
+"label" = "yellow"
+"module" = "softorange"
+"namespace" = "pink"
+"operator" = "pink"
+"special" = "softorange"
+"warning" = "orange"
+
+# Editor UI
+
+## Main
+"ui.background" = { bg = "background" }
+"ui.text" = "white"
+"ui.window" = { bg = "darkgray" }
+
+## Debug (TODO)
+
+## Menus
+"ui.menu" = { fg = "white", bg = "darkgray" }
+"ui.menu.selected" = { modifiers = ["reversed"] }
+"ui.popup" = { bg = "darkgray" }
+"ui.help" = { fg = "white", bg = "darkgray" }
+
+## Gutter
+"ui.linenr" = "darkgray"
+"ui.linenr.selected" = "orange"
+
+## Cursor
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "white", modifiers = ["reversed"] }
+"ui.selection" = { bg = "darkgray" }
+
+## Statusline
+"ui.statusline" = { bg = "darkgray" }
+"ui.statusline.inactive" = { fg = "white", bg = "darkgray" }
+"ui.statusline.normal" = { fg = "white", bg = "blue" }
+"ui.statusline.insert" = { fg = "white", bg = "green" }
+"ui.statusline.select" = { fg = "white", bg = "purple" }
+
+"ui.text.focus" = { fg = "yellow", modifiers = ["bold"] }
+"ui.virtual" = "darkgray"
+"ui.virtual.ruler" = { bg = "darkgray" }
+"ui.virtual.jump-label" = { fg = "softorange", modifiers = ["bold"] }
+
+# Palette
+
+[palette]
+"purple" = "#AE81FF"
+"yellow" = "#E6DB74"
+"pink" = "#f92a72"
+"white" = "#cfcfc2"
+"gray" = "#75715e"
+"darkgray" = "#444444"
+"black" = "#222222"
+"blue" = "#66d9ef"
+"green" = "#a6e22e"
+"softorange" = "#f59762"
+"orange" = "#fd971f"
+"background" = "#191919"
diff --git a/vendor/themes/naysayer.toml b/vendor/themes/naysayer.toml
new file mode 100644
index 00000000..60bd2f5e
--- /dev/null
+++ b/vendor/themes/naysayer.toml
@@ -0,0 +1,94 @@
+# Author: Nick Saika <[email protected]>
+#
+# This theme is a port of naysayer-theme.el:
+# https://github.com/nickav/naysayer-theme.el
+
+"ui.background" = { bg = "bg" }
+"ui.text" = "text"
+"ui.linenr" = { bg = "bg", fg = "line-fg" }
+"ui.linenr.selected" = { bg = "highlight-line", fg = "line-fg" }
+"ui.selection" = { bg = "selection" }
+"ui.cursorline" = { bg = "highlight-line" }
+"ui.statusline" = { fg = "bg", bg = "text" }
+"ui.statusline.inactive" = { fg = "text", bg = "bg" }
+"ui.virtual" = "indent"
+"ui.virtual.ruler" = { bg = "line-fg" }
+"ui.cursor.match" = { bg = "cyan" }
+"ui.cursor" = { bg = "#777777" }
+"ui.cursor.primary" = { bg = "white" }
+"ui.debug" = { fg = "orange" }
+"ui.highlight.frameline" = { bg = "#da8581" }
+"ui.help" = { fg = "text", bg = "bg" }
+"ui.popup" = { fg = "text", bg = "bg" }
+"ui.menu" = { fg = "text", bg = "bg" }
+"ui.menu.selected" = { fg = "text", bg = "bg", modifiers = ['underlined'] }
+"ui.window" = { bg = "bg" }
+"diagnostic.error" = { bg = "error", fg = "text", modifiers = ["bold"] }
+"diagnostic.warning" = { bg = "warning", fg = "text", modifiers = ["bold"] }
+"diagnostic.hint" = { bg = "cyan", modifiers = ["bold"] }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"ui.bufferline" = { fg = "text", bg = "bg" }
+"ui.bufferline.active" = { fg = "text", bg = "bg", modifiers = ['underlined'] }
+"ui.gutter.selected" = { bg = "highlight-line", modifiers = ["bold"] }
+"ui.highlight" = { bg = "highlight-line" }
+
+# Scopes: Syntax Highlighting.
+"attribute" = "text"
+"type" = "text"
+"type.builtin" = "builtin"
+"constructor" = "functions"
+"constant" = "constants"
+"constant.builtin" = "builtin"
+"constant.builtin.boolean" = "builtin"
+"constant.character" = "text"
+"constant.numeric" = "numbers"
+"string" = "strings"
+"comment" = "comments"
+"variable" = "variables"
+"variable.builtin" = "builtin"
+"punctuation" = "punctuation"
+"keyword" = "keywords"
+"function" = "functions"
+"function.method" = "methods"
+"function.builtin" = "builtin"
+"function.macro" = "macros"
+"function.special" = "macros"
+"tag.builtin" = "builtin"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"diff.plus" = { fg = "green" }
+"diff.minus" = { fg = "red" }
+"diff.delta" = { fg = "blue" }
+
+[palette]
+bg = "#062329"
+text = "#d1b897"
+builtin = "#ffffff"
+selection = "#0000ff"
+comments = "#44b340"
+punctuation = "#8cde94"
+keywords = "#ffffff"
+variables = "#c1d1e3"
+functions = "#ffffff"
+methods = "#c1d1e3"
+strings = "#2ec90c"
+constants = "#7ad0c6"
+macros = "#8cde94"
+numbers = "#7ad0c6"
+white = "#ffffff"
+error = "#ff0000"
+warning = "#ffaa00"
+highlight-line = "#0b3335"
+line-fg = "#126367"
+indent = "#aaaaaa"
+
+yellow = "#e6db74"
+orange = "#fd971f"
+red = "#f92672"
+magenta = "#fd5ff0"
+blue = "#66d9ef"
+green = "#a6e22e"
+cyan = "#a1efe4"
+violet = "#a381ff"
diff --git a/vendor/themes/neonotte.toml b/vendor/themes/neonotte.toml
new file mode 100644
index 00000000..a97c042b
--- /dev/null
+++ b/vendor/themes/neonotte.toml
@@ -0,0 +1,155 @@
+# NeoNotte Theme
+#
+# Author: b52es (https://github.com/b52es)
+# Inspired by Catppuccin Mocha and Tokyo Night.
+
+# Syntax highlighting
+# -------------------
+"attribute" = "blue"
+"comment" = { fg = "comment_dark", modifiers = ["italic"] }
+"constant" = "orange"
+"constant.builtin" = "orange"
+"constant.character" = "teal"
+"constant.character.escape" = "fuchsia"
+"constructor" = "cyan"
+"function" = "blue"
+"function.macro" = "magenta"
+"keyword" = "magenta"
+"keyword.storage.modifier.ref" = "teal"
+"keyword.control.conditional" = { fg = "magenta" }
+"label" = "cyan"
+"namespace" = "orange"
+"operator" = "red"
+"punctuation" = "comment"
+"punctuation.special" = "sky_blue"
+"punctuation.bracket" = "red"
+"punctuation.delimiter" = { fg = "red", modifiers = ["bold"] }
+"special" = "blue"
+"string" = "green"
+"string.regexp" = "orange"
+"string.special" = "blue"
+"tag" = "magenta"
+"type" = "yellow"
+"variable" = "fg"
+"variable.builtin" = "red"
+"variable.parameter" = { fg = "red_muted" }
+"variable.other.member" = "teal"
+
+"markup.bold" = { modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "orange", modifiers = ["bold"] }
+"markup.heading.1" = "indigo"
+"markup.heading.2" = "magenta"
+"markup.heading.3" = "green"
+"markup.heading.4" = "yellow"
+"markup.heading.5" = "fuchsia"
+"markup.heading.6" = "teal"
+"markup.italic" = "pink_light"
+"markup.link.url" = { fg = "pink_light", modifiers = ["underlined"] }
+"markup.link.text" = "blue"
+"markup.list" = "magenta"
+"markup.raw" = "pink_hot"
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "blue"
+
+# User Interface
+# --------------
+"ui.background" = { fg = "fg", bg = "bg" }
+
+"ui.linenr" = { fg = "bg_highlight" }
+"ui.linenr.selected" = { fg = "indigo" }
+
+"ui.statusline" = { fg = "fg_subtle", bg = "bg_dark" }
+"ui.statusline.inactive" = { fg = "bg_inactive", bg = "bg_dark" }
+"ui.statusline.normal" = { fg = "bg", bg = "indigo", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "bg", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg", bg = "pink_hot", modifiers = ["bold"] }
+
+"ui.popup" = { fg = "fg", bg = "bg_surface" }
+"ui.window" = { fg = "bg_darkest" }
+"ui.help" = { fg = "comment", bg = "bg_surface" }
+
+"ui.bufferline" = { fg = "fg_dark", bg = "bg_dark" }
+"ui.bufferline.active" = { fg = "sky_blue", bg = "cursorline", modifiers = ["bold"] }
+"ui.bufferline.background" = "bg"
+
+"ui.text" = "fg"
+"ui.text.focus" = { fg = "fg", bg = "bg_surface", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "comment_dark" }
+
+"ui.virtual" = "guide"
+"ui.virtual.ruler" = { bg = "bg_surface" }
+"ui.virtual.indent-guide" = "bg_surface"
+"ui.virtual.inlay-hint" = { fg = "guide", bg = "bg" }
+
+"ui.selection" = { bg = "bg_highlight" }
+
+"ui.cursor" = { fg = "bg", bg = "secondary_cursor" }
+"ui.cursor.primary" = { fg = "bg", bg = "pink_light" }
+"ui.cursor.match" = { fg = "orange", modifiers = ["bold"] }
+
+"ui.cursor.primary.normal" = { fg = "bg", bg = "indigo" }
+"ui.cursor.primary.insert" = { fg = "bg", bg = "green" }
+"ui.cursor.primary.select" = { fg = "bg", bg = "pink_hot" }
+
+"ui.cursor.normal" = { fg = "bg", bg = "secondary_cursor_normal" }
+"ui.cursor.insert" = { fg = "bg", bg = "secondary_cursor_insert" }
+"ui.cursor.select" = { fg = "bg", bg = "secondary_cursor" }
+
+"ui.cursorline.primary" = { bg = "cursorline" }
+
+"ui.highlight" = { bg = "bg_highlight", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "comment", bg = "bg_surface" }
+"ui.menu.selected" = { fg = "fg", bg = "bg_highlight", modifiers = ["bold"] }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "sky_blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "teal", style = "curl" } }
+
+"error" = { fg = "red", modifiers = ['bold'] }
+"warning" = { fg = "yellow", modifiers = ['bold'] }
+"info" = "sky_blue"
+"hint" = "teal"
+
+[palette]
+# Accent Colors
+pink_light = "#f8ded9"
+pink_hot = "#f7c8c8"
+fuchsia = "#ffc1fc"
+magenta = "#ee82ee"
+red = "#ff7ea2"
+red_muted = "#f497a6"
+orange = "#ea8743"
+yellow = "#ffea9b"
+green = "#9feb99"
+teal = "#59d2be"
+sky_blue = "#7de4f7"
+cyan = "#65cdfb"
+blue = "#7bb1ff"
+indigo = "#abb7ff"
+
+# Foreground/Text
+fg = "#cdd6f4"
+fg_subtle = "#b5bfe3"
+fg_dark = "#a2abcc"
+comment = "#8f97b6"
+comment_dark = "#7b82a0"
+guide = "#696e89"
+
+# Background
+bg_darkest = "#08080d"
+bg_dark = "#1f212d"
+bg = "#151520"
+bg_surface = "#272836"
+bg_highlight = "#42455d"
+bg_inactive = "#555973"
+
+# Derived colors
+cursorline = "#28293e"
+secondary_cursor = "#b7a4a7"
+secondary_cursor_normal = "#8089c7"
+secondary_cursor_insert = "#78ad79"
diff --git a/vendor/themes/neonotte84.toml b/vendor/themes/neonotte84.toml
new file mode 100644
index 00000000..4f51c604
--- /dev/null
+++ b/vendor/themes/neonotte84.toml
@@ -0,0 +1,18 @@
+# NeoNotte84 Theme
+#
+# Author: b52es (https://github.com/b52es)
+# Inspired by Catppuccin Mocha and Tokyo Night.
+
+# Inherits from neonotte.toml and applies a few modifications.
+inherits = "neonotte"
+
+# Syntax highlighting overrides
+# ---------------------------
+"comment" = { fg = "comment_alt", modifiers = ["italic"] }
+
+# Palette overrides
+# -----------------
+[palette]
+magenta = "#f578de"
+yellow = "#ffd866"
+comment_alt = "#647a8c"
diff --git a/vendor/themes/new_moon.toml b/vendor/themes/new_moon.toml
new file mode 100644
index 00000000..2f0dbb0a
--- /dev/null
+++ b/vendor/themes/new_moon.toml
@@ -0,0 +1,126 @@
+
+"namespace" = { fg = "blue" }
+"module" = { fg = "blue" }
+
+"type" = { fg = "blue" }
+"type.builtin" = { fg = "blue" }
+"type.enum.variant" = { fg = "blue" } # or aqua
+"constructor" = { fg = "blue" }
+"variable.other.member" = { fg = "red" }
+
+"keyword" = { fg = "light_yellow" }
+"keyword.directive" = { fg = "light_yellow" }
+"keyword.control" = { fg = "light_yellow" }
+"label" = { fg = "blue" }
+"tag" = "blue"
+
+"special" = { fg = "lightest" } # or beige
+"operator" = { fg = "beige" }
+
+"punctuation" = { fg = "text" }
+"punctuation.delimiter" = { fg = "text" }
+
+"variable" = { fg = "red" }
+"variable.parameter" = { fg = "red" }
+"variable.builtin" = { fg = "blue" }
+"constant" = { fg = "purple" }
+"constant.builtin" = { fg = "purple" }
+
+"function" = { fg = "lightest" }
+"function.builtin" = { fg = "lightest" }
+"function.macro" = { fg = "blue" }
+"attribute" = { fg = "yellow" }
+
+"comment" = { fg = "medium" }
+
+"string" = { fg = "green" }
+"constant.character" = { fg = "green" }
+"string.regexp" = { fg = "orange" }
+"constant.numeric" = { fg = "orange" }
+"constant.character.escape" = { fg = "aqua" }
+
+"markup.heading" = { fg = "blue", modifiers = ["bold"] }
+"markup.list" = "aqua"
+"markup.bold" = { fg = "blue", modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { modifiers = ["underlined"] }
+"markup.link.text" = "orange"
+"markup.quote" = "green"
+"markup.raw" = "orange"
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "blue" }
+"diff.minus" = { fg = "red" }
+
+"ui.background" = { fg = "light", bg = "darkest" }
+
+"ui.window" = { bg = "widget" }
+"ui.popup" = { fg = "beige", bg = "widget" }
+"ui.help" = { fg = "text", bg = "widget" }
+"ui.menu" = { fg = "text", bg = "widget" }
+"ui.menu.selected" = { bg = "darker_blue" }
+
+"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "#3a3d41", modifiers = ["underlined"] }
+
+"ui.selection" = { bg = "#3a3d41" }
+"ui.selection.primary" = { bg = "darkest_blue" }
+
+"ui.linenr" = { fg = "dark_gray_virtual" }
+"ui.linenr.selected" = { fg = "light_gray_virtual" }
+
+"ui.cursorline.primary" = { bg = "active_line" }
+"ui.statusline" = { fg = "white", bg = "darker_blue" }
+# "ui.statusline.inactive" = { fg = "white", bg = "blue" }
+# "ui.statusline.insert" = { fg = "white", bg = "yellow" }
+# "ui.statusline.select" = { fg = "white", bg = "magenta" }
+
+"ui.bufferline" = { fg = "text", bg = "widget" }
+"ui.bufferline.active" = { fg = "white", bg = "darker_blue" }
+"ui.bufferline.background" = { bg = "darkest" }
+
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "lightest" }
+
+"ui.virtual.whitespace" = { fg = "dark_gray_virtual" }
+"ui.virtual.ruler" = { bg = "borders" }
+"ui.virtual.indent-guide" = { fg = "dark_gray_virtual" }
+"ui.virtual.inlay-hint" = { fg = "dark_gray_virtual"}
+
+"warning" = { fg = "yellow" }
+"error" = { fg = "red" }
+"info" = { fg = "blue" }
+"hint" = { fg = "light_gray" }
+
+"diagnostic.error".underline = { color = "red", style = "curl" }
+"diagnostic".underline = { color = "yellow", style = "curl" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+darkest = "#2d2d2d"
+medium = "#777c85"
+light = "#b3b9c5"
+lightest = "#ffffff"
+red = "#f2777a"
+orange = "#fca369"
+yellow = "#ffd479"
+light_yellow = "#ffeea6"
+green = "#92d192"
+blue = "#6ab0f3"
+darker_blue = "#007acc"
+darkest_blue= "#264f78"
+aqua = "#76d4d6"
+purple = "#e1a6f2"
+beige = "#ac8d58"
+light_gray = "#eeeeee"
+dark_gray_virtual = "#606060"
+light_gray_virtual = "#909090"
+active_line = "#252525"
+
+text = "#d4d4d4"
+cursor = "#a6a6a6"
+widget = "#252526"
+borders = "#323232"
diff --git a/vendor/themes/night_owl.toml b/vendor/themes/night_owl.toml
new file mode 100644
index 00000000..ac90653b
--- /dev/null
+++ b/vendor/themes/night_owl.toml
@@ -0,0 +1,117 @@
+# Author : Joe Mckay [email protected]
+# Palette from https://github.com/haishanh/night-owl.vim
+
+'warning' = { fg = 'peach', modifiers = ['dim'] }
+'error' = { fg = 'red', modifiers = ['dim'] }
+'info' = { fg = 'blue', modifiers = ['dim'] }
+'hint' = { fg = 'paleblue', modifiers = ['dim'] }
+
+"diagnostic.warning" = { underline = { color = "peach", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "paleblue", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# UI
+'ui.background' = { fg = 'foreground', bg = 'background' }
+'ui.window' = { fg = 'grey7' }
+'ui.gutter' = { bg = 'grey2' }
+'ui.text' = { fg = 'foreground' }
+'ui.text.focus' = { fg = 'foreground' }
+'ui.text.info' = { fg = 'foreground'}
+'ui.cursor' = { fg = 'background', bg = 'blue' }
+'ui.cursor.primary' = { fg = 'background', bg = 'gold' }
+'ui.cursor.match' = { bg = 'selection', modifiers = ['underlined'] }
+'ui.selection' = { bg = 'selection', modifiers = ['dim'] }
+'ui.linenr' = { fg = 'grey4', bg = 'background2' }
+'ui.linenr.selected' = { fg = 'greyE', bg = 'background2' }
+'ui.statusline' = { fg = 'greyE', bg = 'background2' }
+'ui.statusline.inactive' = { fg = 'grey7', bg = 'background2' }
+'ui.statusline.normal' = { bg = 'slate' }
+'ui.statusline.insert' = { bg = 'peach' }
+'ui.statusline.select' = { bg = 'green' }
+'ui.menu' = { fg = 'foreground', bg = 'selection' }
+'ui.menu.selected' = { fg = 'foreground', bg = 'pink' }
+'ui.popup' = { fg = 'foreground', bg = 'background2' }
+'ui.popup.info' = { fg = 'gold', bg = 'background2'}
+'ui.help' = { fg = 'gold', bg = 'background2'}
+'ui.virtual.ruler' = { bg = 'grey4' }
+'ui.virtual.whitespace' = { fg = 'grey4' }
+'ui.cursorline.primary' = { bg = 'background2' }
+
+# SYNTAX
+'type' = { fg = 'green' }
+'constructor' = { fg = 'blue' }
+'constant' = { fg = 'foreground' }
+'constant.builtin' = { fg = 'paleblue' }
+'constant.character.escape' = { fg = 'peach' }
+'string' = { fg = 'gold' }
+'string.regexp' = { fg = 'green' }
+'string.special.url' = { fg = 'gold', modifiers = ['underlined'] }
+'comment' = { fg = 'slate', modifiers = ['italic'] }
+'comment.block.documentation' = { fg = 'slate' }
+'comment.line.documentation' = { fg = 'slate' }
+'variable' = { fg = 'green' }
+'variable.builtin' = { fg = 'green', modifiers = ['italic'] }
+'label' = { fg = 'foreground' }
+'punctuation' = { fg = 'foreground' }
+'punctuation.special' = { fg = 'pink' }
+'keyword' = { fg = 'pink' }
+'keyword.control.import' = { fg = 'green', modifiers = ['italic'] }
+'keyword.control.return' = { fg = 'pink', modifiers = ['italic'] }
+'keyword.control.exception' = { fg = 'red' }
+'operator' = { fg = 'pink' }
+'function' = { fg = 'blue' }
+'function.macro' = { fg = 'peach' }
+'function.special' = { fg = 'pink' }
+'tag' = { fg = 'blue' }
+'namespace' = { fg = 'peach' }
+'special' = { fg = 'greyE' }
+'module' = { fg = 'greyE' }
+'attribute' = { fg = 'paleblue' }
+
+# MARKUP
+'markup.heading' = { fg = 'blue', modifiers = ['bold'] }
+'markup.heading.marker' = { fg = 'grey4', modifiers = ['dim'] }
+'markup.heading.1' = { fg = 'blue', modifiers = ['bold'] }
+'markup.heading.2' = { fg = 'paleblue', modifiers = ['bold'] }
+'markup.heading.3' = { fg = 'green', modifiers = ['bold'] }
+'markup.heading.4' = { fg = 'pink', modifiers = ['bold'] }
+'markup.heading.5' = { fg = 'peach', modifiers = ['bold'] }
+'markup.heading.6' = { fg = 'slate', modifiers = ['bold'] }
+'markup.list' = { fg = 'pink' }
+'markup.bold' = { fg = 'foreground', modifiers = ['bold'] }
+'markup.italic' = { fg = 'foreground', modifiers = ['italic'] }
+'markup.strikethrough' = { fg = 'foreground', modifiers = ['crossed_out'] }
+'markup.link' = { fg = 'pink', modifiers = ['underlined'] }
+'markup.link.url' = { fg = 'slate', modifiers = ['underlined'] }
+'markup.quote' = { fg = 'green', modifiers = ['italic'] }
+'markup.raw' = { fg = 'gold', bg = 'background2' }
+
+# DIFF
+'diff.plus' = { fg = 'green' }
+'diff.minus' = { fg = 'red' }
+'diff.delta' = { fg = 'blue' }
+'diff.delta.moved' = { fg = 'blue', modifiers = ['italic'] }
+
+[palette]
+background = '#011627'
+background2 = '#112630'
+foreground = '#d6deeb'
+selection = '#2d2c5d'
+
+slate = '#637777'
+red = '#ff5874'
+peach = '#f78c6c'
+gold = '#ecc48d'
+pink = '#c792ea'
+green = '#addb67'
+blue = '#82aaff'
+paleblue = '#7fdbca'
+
+# Greys are named after their value.
+grey2 = '#222222'
+grey4 = '#444444'
+grey7 = '#777777'
+greyE = '#eeeeee'
diff --git a/vendor/themes/night_rider.toml b/vendor/themes/night_rider.toml
new file mode 100644
index 00000000..aa087722
--- /dev/null
+++ b/vendor/themes/night_rider.toml
@@ -0,0 +1,99 @@
+# Author: F.Nomeniavo Joe <[email protected]>
+# Ported Theme: Night Rider
+#
+# Original Author Credit:
+# This color scheme is based on the original VS Code theme by trustfall.
+# Repository: https://github.com/trustfall/vscode-night-rider#
+
+# SYNTAX
+"attribute" = "#7b79b5"
+"comment" = { fg = "#5C588A", modifiers = ["italic"] }
+"constant" = "#e591ff"
+"constant.builtin" = "#AC70FC"
+"constant.character" = "#71E4FE"
+"contant.character.escape" = "#71E4FE"
+"constant.numeric" = "#DA65BA"
+"constructor" = { fg = "#e591ff", modifiers = ["italic"] }
+"diff.delta" = "#F1C56C"
+"diff.minus" = "#FF6E9C"
+"diff.plus" = "#45F5CF"
+"function" = "#D8608C"
+"function.builtin" = { fg = "#D8608C", modifiers = ["italic"] }
+"function.macro" = "#AC70FC"
+"keyword" = "#AC70FC"
+"keyword.control" = "#A68AE1"
+"keyword.directive" = "#A68AE1"
+"label" = "#7DA7FF"
+"module" = "#e591ff"
+"namespace" = "#e591ff"
+"operator" = "#9C57F0"
+"punctuation" = "#6FFEE0"
+"punctuation.delimiter" = "#C9CBDB"
+"string" = "#74FEE1"
+"string.regexp" = "#71E4FE"
+"tag" = "#7EA7F3"
+"special" = "#7EA7FF"
+"type" = { fg = "#e591ff", modifiers = ["italic"] }
+"type.builtin" = { fg = "#e591ff", modifiers = ["italic"] }
+"type.enum.variant" = { fg = "#e591ff", modifiers = ["italic"] }
+"variable" = "#C9CBDB"
+"variable.builtin" = "#e591ff"
+"variable.other.member" = "#C9CBDB"
+"variable.parameter" = "#C9CBDB"
+
+# UI
+"ui.background" = { "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" = { fg = "#789ef8", modifiers = ["reversed"] }
+
+"ui.cursor" = { fg = "cursor", modifiers = ["reversed"] }
+"ui.selection" = { "bg" = "selection" }
+"ui.selection.primary" = { "bg" = "#625D88" }
+"ui.linenr" = { fg = "#696292" }
+"ui.linenr.selected" = { fg = "#27264B" }
+"ui.cursorline.primary" = { bg = "#887ced" }
+"ui.statusline" = { fg = "status_fg", bg = "status_bg" }
+"ui.statusline.inactive" = { fg = "#5C588A", bg = "background" }
+"ui.statusline.normal" = { fg = "status_bg", bg = "status_fg" }
+"ui.statusline.insert" = { fg = "status_bg", bg = "#7EA7FB" }
+"ui.statusline.select" = { fg = "status_bg", bg = "#e591ff" }
+
+"ui.bufferline" = { fg = "text", bg = "widget" }
+"ui.bufferline.active" = { fg = "#789EF8", bg = "background" }
+"ui.bufferline.background" = { bg = "background" }
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { fg = "#ffffff" }
+"ui.text.directory" = { fg = "#AC70FC" }
+"ui.text.inactive" = { fg = "#7EA7F3" }
+"ui.virtual.whitespace" = { fg = "#5C588A" }
+"ui.virtual.indent-guide" = { bg = "#24215E" }
+"ui.debug.active" = { fg = "#A68AE1" }
+"ui.debug.breakpoint" = { fg = "white" }
+"ui.picker.header.column" = { underline.style = "line" }
+"ui.picker.header.column.active" = { fg = "white", underline.style = "line" }
+
+"warning" = { "fg" = "#71E4FE" }
+"error" = { "fg" = "#FF709D" }
+"info" = { "fg" = "#7DA7FF" }
+"hint" = { "fg" = "#7DA7FF" }
+
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { fg = "white", bg = "#454568" }
+
+"diagnostic.error" = { underline = { color = "text", style = "curl" } }
+"diagnostic".underline = { color = "text", style = "curl" }
+
+
+[palette]
+background = "#1e1c3f"
+widget = "#222246"
+selection = "#5D4089"
+cursor = "#7EA7FB"
+status_bg = "#171530"
+status_fg = "#5D5988"
+text = "#C9CBDB"
+red = "#D8608C"
+white = "#FFFFFF"
diff --git a/vendor/themes/nightfox.toml b/vendor/themes/nightfox.toml
new file mode 100644
index 00000000..41d81e7b
--- /dev/null
+++ b/vendor/themes/nightfox.toml
@@ -0,0 +1,194 @@
+# Author: github.com/jhscheer
+#
+# This theme is an adaptation of
+# github.com/EdenEast/nightfox.nvim
+
+
+# INTERFACE
+# These scopes are used for theming the editor interface.
+
+"ui.background" = { bg = "bg1" } # Default background color.
+"ui.window" = { fg = "bg0" } # Window border between splits.
+"ui.gutter" = { fg = "fg3" } # Left gutter for diagnostics and breakpoints.
+
+"ui.text" = { fg = "fg1" } # Default text color.
+"ui.text.directory" = { fg = "blue-bright" } # Directory names in prompt completion.
+"ui.text.focus" = { bg = "sel1", fg = "fg1" } # Selection highlight in buffer-picker or file-picker.
+"ui.text.info" = { fg = "fg2", bg = "sel0" } # Info popup contents (space mode menu).
+
+"ui.cursor" = { bg = "fg3", fg = "bg1" } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c).
+"ui.cursor.primary" = { bg = "fg1", fg = "bg1" } # The primary cursor when there are multiple (shift-c).
+"ui.cursor.match" = { fg = "yellow", modifiers = ["bold"] } # The matching parentheses of that under the cursor.
+
+"ui.selection" = { bg = "bg4" } # All currently selected text.
+"ui.selection.primary" = { bg = "sel1" } # The primary selection when there are multiple.
+"ui.cursorline.primary" = { bg = "bg3" } # The line of the primary cursor (if cursorline is enabled)
+# "ui.cursorline.secondary" = { } # The lines of any other cursors (if cursorline is enabled)
+# "ui.cursorcolumn.primary" = { } # The column of the primary cursor (if cursorcolumn is enabled)
+# "ui.cursorcolumn.secondary" = { } # The columns of any other cursors (if cursorcolumn is enabled)
+
+"ui.linenr" = { fg = "fg3" } # Line numbers.
+"ui.linenr.selected" = { fg = "yellow", modifiers = ["bold"] } # Current line number.
+
+# "ui.virtual" = { } # Namespace for additions to the editing area.
+"ui.virtual.ruler" = { bg = "bg3" } # Vertical rulers (colored columns in editing area).
+"ui.virtual.whitespace" = { fg = "bg3" } # Whitespace markers in editing area.
+"ui.virtual.indent-guide" = { fg = "black" } # Vertical indent width guides
+"ui.virtual.inlay-hint" = { fg = "comment", bg = "bg2" } # Default style for inlay hints of all kinds
+"ui.virtual.jump-label" = { fg = "blue", modifiers = ["bold"] } # Style for virtual jump labels
+"ui.virtual.wrap" = { fg = "fg3" } # Soft-wrap indicator.
+
+"ui.statusline" = { fg = "fg2", bg = "bg0" } # Status line.
+"ui.statusline.inactive" = { fg = "fg3", bg = "bg0" } # Status line in unfocused windows.
+"ui.statusline.normal" = { bg = "blue", fg = "bg0", modifiers = ["bold"] } # Statusline mode during normal mode (only if editor.color-modes is enabled)
+"ui.statusline.insert" = { bg = "green", fg = "bg0", modifiers = ["bold"] } # Statusline mode during insert mode (only if editor.color-modes is enabled)
+"ui.statusline.select" = { bg = "magenta", fg = "bg0", modifiers = ["bold"] } # Statusline mode during select mode (only if editor.color-modes is enabled)
+
+"ui.bufferline" = { fg = "fg3", bg = "bg2", underline = { style = "line" } }
+"ui.bufferline.active" = { fg = "fg2", bg = "bg4" }
+"ui.bufferline.background" = { bg = "bg0" }
+
+"ui.help" = { bg = "sel0", fg = "fg1" } # Description box for commands.
+
+"ui.menu" = { bg = "sel0", fg = "fg1" } # Code and command completion menus.
+"ui.menu.selected" = { bg = "fg3" } # Selected autocomplete item.
+"ui.menu.scroll" = { fg = "fg3" } # fg sets thumb color, bg sets track color of scrollbar.
+
+"ui.popup" = { bg = "bg0", fg = "fg1" } # Documentation popups (space-k).
+"ui.popup.info" = { bg = "sel0", fg = "fg1" } # Info popups box (space mode menu).
+
+"markup.raw" = { fg = "magenta" } # Code block in Markdown.
+"markup.raw.inline" = { fg = "orange" } # `Inline code block` in Markdown.
+"markup.heading" = { fg = "yellow", modifiers = ["bold"] }
+"markup.list" = { fg = "magenta", modifiers = ["bold"] }
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "pink" }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = { fg = "yellow-bright", modifiers = ["bold"] }
+"markup.quote" = { fg = "blue" }
+
+
+# DIAGNOSTICS
+"warning" = { fg = "yellow", bg = "bg1" } # Diagnostics warning (gutter)
+"error" = { fg = "red", bg = "bg1" } # Diagnostics error (gutter)
+"info" = { fg = "blue", bg = "bg1" } # Diagnostics info (gutter)
+"hint" = { fg = "green", bg = "bg1" } # Diagnostics hint (gutter)
+
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } } # Diagnostics warning (editing area)
+"diagnostic.error" = { underline = { color = "red", style = "curl" } } # Diagnostics error (editing area)
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } } # Diagnostics info (editing area)
+"diagnostic.hint" = { underline = { color = "green", style = "curl" } } # Diagnostics hint (editing area)
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+
+# SYNTAX HIGHLIGHTING
+# These keys match tree-sitter scopes.
+
+"special" = { fg = "fg2" } # Special symbols e.g `?` in Rust, `...` in Hare.
+"attribute" = { fg = "yellow" } # Class attributes, html tag attributes.
+
+"type" = { fg = "yellow" } # Variable type, like integer or string, including program defined classes, structs etc..
+"type.builtin" = { fg = "cyan-bright" } # Primitive types of the language (string, int, float).
+"type.enum.variant" = { fg = "orange-bright" }
+
+"constructor" = { fg = "magenta" } # Constructor method for a class or struct.
+
+"constant" = { fg = "orange-bright" } # Constant value
+"constant.builtin" = { fg = "orange-bright" } # Special constants like `true`, `false`, `none`, etc.
+"constant.builtin.boolean" = { fg = "orange" } # True or False.
+"constant.character" = { fg = "green" } # Constant of character type.
+"constant.character.escape" = { fg = "yellow-bright", modifiers = ["bold"] } # escape codes like \n.
+"constant.numeric" = { fg = "orange" } # constant integer or float value.
+
+"string" = { fg = "green" } # String literal.
+"string.regexp" = { fg = "yellow-bright" } # Regular expression literal.
+"string.special" = { fg = "yellow-bright", modifiers = ["bold"] } # Strings containing a path, URL, etc.
+"string.special.url" = { fg = "cyan", modifiers = ["bold"] } # String containing a web URL.
+
+"comment" = { fg = "comment" } # This is a comment.
+"comment.block.documentation" = { fg = "comment", modifiers = ["bold"] } # Block doc comments, e.g '/** */' in rust.
+"comment.line.documentation" = { fg = "comment", modifiers = ["bold"] } # Line doc comments, e.g '///' in rust.
+
+"variable" = { fg = "white" } # Variable names.
+"variable.builtin" = { fg = "red" } # Language reserved variables: `this`, `self`, `super`, etc.
+"variable.parameter" = { fg = "cyan-bright" } # Function parameters.
+"variable.other.member" = { fg = "fg2" } # Fields of composite data types (e.g. structs, unions).
+
+"label" = { fg = "magenta-bright" } # lifetimes - Loop labels, among other things.
+
+"punctuation" = { fg = "fg2" } # Any punctuation symbol.
+# "punctuation.delimiter" = { fg = "fg2" } # Commas, colons or other delimiter depending on the language.
+# "punctuation.bracket" = { fg = "fg2" } # Parentheses, angle brackets, etc.
+# "punctuation.special" = { fg = "fg2" } # String interpolation brackets
+
+"keyword" = { fg = "magenta" } # Language reserved keywords.
+"keyword.control" = { fg = "pink" } # Control keywords.
+"keyword.control.conditional" = { fg = "magenta-bright" } # `if`, `else`, `elif`.
+"keyword.control.repeat" = { fg = "magenta-bright" } # `for`, `while`, `loop`.
+"keyword.control.import" = { fg = "pink-bright" } # `import`, `export` `use`.
+"keyword.control.return" = { fg = "magenta" } # `return` in most languages.
+"keyword.control.exception" = { fg = "magenta" } # `try`, `catch`, `raise`/`throw` and related.
+"keyword.operator" = { fg = "fg2", modifiers = ["bold"] } # 'or', 'and', 'in'.
+"keyword.directive" = { fg = "pink-bright" } # Preprocessor directives (#if in C...).
+"keyword.function" = { fg = "red" } # The keyword to define a function: 'def', 'fun', 'fn'.
+"keyword.storage" = { fg = "magenta" } # Keywords describing how things are stored
+"keyword.storage.type" = { fg = "magenta" } # The type of something, class, function, var, let, etc.
+"keyword.storage.modifier" = { fg = "yellow" } # Storage modifiers like static, mut, const, ref, etc.
+
+"operator" = { fg = "fg2" } # Logical, mathematical, and other operators.
+
+"function" = { fg = "blue-bright" }
+"function.builtin" = { fg = "red" }
+"function.macro" = { fg = "red" }
+# "function.special" = { fg = "blue-bright" } # Preprocessor function in C.
+# "function.method" = { fg = "blue-bright" } # Class / Struct methods.
+
+"tag" = { fg = "blue-bright" } # As in <body> for html, css tags.
+
+"namespace" = { fg = "cyan-bright" } # Namespace or module identifier.
+
+
+# Diff ==============================
+# Version control changes.
+
+"diff.plus" = "green" # Additions.
+"diff.minus" = "red" # Deletions.
+"diff.delta" = "blue" # Modifications.
+"diff.delta.moved" = "cyan" # Renamed or moved files.
+
+# color palette
+[palette]
+black = "#393b44"
+red = "#c94f6d"
+red-dim = "#2f2837"
+green = "#81b29a"
+green-dim = "#26343c"
+yellow = "#dbc074"
+yellow-bright = "#e0c989"
+blue = "#719cd6"
+blue-bright = "#86abdc"
+blue-dim = "#2f2837"
+magenta = "#9d79d6"
+magenta-bright = "#baa1e2"
+cyan = "#63cdcf"
+cyan-bright = "#7ad4d6"
+cyan-dim = "#253f4a"
+white = "#dfdfe0"
+orange = "#f4a261"
+orange-bright = "#f6b079"
+pink = "#d67ad2"
+pink-bright = "#dc8ed9"
+comment = "#738091"
+# spec
+bg0 = "#131a24" # Dark bg (status line and float)
+bg1 = "#192330" # Default bg
+bg2 = "#212e3f" # Lighter bg (colorcolm folds)
+bg3 = "#29394f" # Lighter bg (cursor line)
+bg4 = "#39506d" # Conceal, border fg
+fg0 = "#d6d6d7" # Lighter fg
+fg1 = "#cdcecf" # Default fg
+fg2 = "#aeafb0" # Darker fg (status line)
+fg3 = "#71839b" # Darker fg (line numbers, fold columns)
+sel0 = "#2b3b51" # Popup bg, visual selection bg
+sel1 = "#3c5372" # Popup sel bg, search bg
diff --git a/vendor/themes/noctis.LICENSE b/vendor/themes/noctis.LICENSE
new file mode 100644
index 00000000..44dde440
--- /dev/null
+++ b/vendor/themes/noctis.LICENSE
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) 2018 Liviu Schera
+
+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/noctis.toml b/vendor/themes/noctis.toml
new file mode 100644
index 00000000..67fc6e8b
--- /dev/null
+++ b/vendor/themes/noctis.toml
@@ -0,0 +1,213 @@
+# Author : 0rphee <[email protected]>
+
+# Template written with the help of https://github.com/n0s4/helix-theme-template
+# Keep in mind that I made this to fit Haskell and Python syntax, it may not work so well with other languages.
+
+## GENERAL ==============================
+
+'property' = { fg = "red" } # Regex group names.
+"warning" = { fg ="yellow", modifiers = ["bold"] } # Editor warnings.
+"error" = { fg = "red", modifiers = ["bold"] } # Editor errors, like mistyping a command.
+"info" = { fg = "mid-blue" } # Code diagnostic info in gutter (LSP).
+# ? Difference between info and hint ?
+"hint" = { fg = "light-green", modifiers = ["bold"] } # Code diagnostics hint in gutter (LSP).
+
+# Code diagnostics in editing area (LSP).
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.info" = { underline = { color = "mid-blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "light-green", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# UI ==============================
+# For styling helix itself.
+
+'ui.background' = { fg = "autocomp-green", bg = "dark-green" } # Default background color.
+'ui.window' = { fg = "mid-green" } # Window border between splits.
+
+'ui.gutter' = { } # Left gutter for diagnostics and breakpoints.
+
+'ui.text' = { fg = "white" } # Default text color.
+'ui.text.focus' = { fg = "white", bg = "mid-green", modifiers = ["bold"] } # Selection highlight in buffer-picker or file-picker.
+'ui.text.info' = { fg = "white" } # Info popup contents (space mode menu).
+
+'ui.cursor' = { fg = "dark-green", bg = "white" } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c).
+'ui.cursor.primary' = { fg = "dark-green", bg = "light-blue" } # The primary cursor when there are multiple (shift-c).
+'ui.cursor.insert' = { fg = "dark-green", bg = "light-blue" } # The cursor in insert mode (i).
+'ui.cursor.select' = { fg = "dark-green", bg = "light-blue" } # The cursor in select mode (v).
+'ui.cursor.match' = { fg = "dark-green", bg = "red", modifiers = ["bold"] } # The matching parentheses of that under the cursor.
+
+'ui.selection' = { bg = "autocomp-green" } # All currently selected text.
+'ui.selection.primary' = { bg = "autocomp-green" } # The primary selection when there are multiple.
+'ui.cursorline.primary' = { bg = 'mid-green' }
+
+'ui.linenr' = { fg = "gray" } # Line numbers.
+'ui.linenr.selected' = { fg = "light-green", modifiers = [ "bold" ] } # Current line number.
+
+'ui.virtual' = { fg = "autocomp-green" } # Namespace for additions to the editing area.
+'ui.virtual.ruler' = { bg = "mid-green" } # Vertical rulers (colored columns in editing area).
+'ui.virtual.whitespace' = { fg = "mid-green"} # Whitespace markers in editing area.
+'ui.virtual.inlay-hint' = { fg = "autocomp-green" } # LSP inlay hints
+'ui.virtual.indent-guide' = { fg = "mid-green" } # Indentation guides.
+'ui.virtual.wrap' = { fg = "mid-green"} # Soft-wrap indicators
+'ui.virtual.jump-label' = { fg = "autocomp-green", modifiers = [ "bold" ] } # Word-jump labels
+
+'ui.statusline' = { fg = "light-green", bg = "autocomp-green"} # Status line.
+'ui.statusline.inactive' = { fg = "white", bg = "mid-green"} # Status line in unfocused windows.
+
+"ui.statusline.normal" = { fg = "dark-green", bg = "mid-blue", modifiers = [ "bold" ] }
+"ui.statusline.insert" = { fg = "dark-green", bg = "pink", modifiers = [ "bold" ] }
+"ui.statusline.select" = { fg = "dark-green", bg = "yellow", modifiers = [ "bold" ] }
+
+'ui.help' = { bg = "mid-green", fg = "white"} # `:command` descriptions above the command line.
+
+'ui.highlight' = { bg = "mid-green"} # selected contents of symbol pickers (spc-s, spc-S) and current line in buffer picker (spc-b).
+
+'ui.menu' = { fg = "white", bg = "mid-green" } # Autocomplete menu.
+'ui.menu.selected' = { fg = "light-green", bg = "autocomp-green" } # Selected autocomplete item.
+
+'ui.popup' = { bg = "mid-green" } # Documentation popups (space-k).
+# 'ui.ppopup.info' = { bg = "midgreen", fg = "gray", modifiers = ["bold"] } # Info popups box (space mode menu).
+
+# SYNTAX HIGHLIGHTING ==============================
+# All the keys here are Treesitter scopes.
+
+'special' = { fg = "mid-blue"} # Special symbols e.g `?` in Rust, `...` in Hare.
+'attribute' = { fg = "yellow" } # Class attributes, html tag attributes.
+
+'type' = { fg = "orange"} # Variable type, like integer or string, including program defined classes, structs etc..
+#'type.builtin' = { } # Primitive types of the language (string, int, float).
+#'type.enum.variant' = { } # A variant of an enum.
+
+'constructor' = { fg = "light-blue", modifiers = ["bold"]} # Constructor method for a class or struct. And in some cases applies to module names
+
+'constant' = { fg = "light-blue", modifiers = ["bold"] } # Constant value
+'constant.builtin' = { fg = "mid-blue", modifiers = ["bold"] } # Special constants like `true`, `false`, `none`, etc.
+'constant.builtin.boolean' = { } # True or False.
+'constant.character' = { fg = "light-green"} # Constant of character type.
+'constant.character.escape' = { fg = "purple", modifiers = ["bold"] } # escape codes like \n.
+'constant.numeric' = { fg = "purple"} # constant integer or float value.
+# 'constant.numeric.integer' = { } # constant integer value.
+# 'constant.numeric.float' = { } # constant float value.
+
+'string' = { fg = "light-green" } # String literal.
+'string.regexp' = { } # Regular expression literal.
+'string.special' = { fg = "red" } # Strings containing a path, URL, etc.
+# 'string.special.path' = { } # String containing a file path.
+# 'string.special.url' = { } # String containing a web URL.
+# 'string.special.symbol' = { } # Erlang/Elixir atoms, Ruby symbols, Clojure keywords.
+
+'comment' = { fg = "gray", modifiers = ["italic"] } # This is a comment.
+'comment.line' = { } # Line comments, like this.
+'comment.line.documentation' = { } # Doc comments, e.g '///' in rust.
+'comment.block' = { } # Block comments, like /* this */ in some languages.
+'comment.block.documentation' = { } # Doc comments, e.g '/** */' in rust.
+
+'variable' = { fg = "light-orange" } # Variable names.
+# 'variable.builtin' = { } # Language reserved variables: `this`, `self`, `super`, etc.
+# 'variable.parameter' = { } # Function parameters.
+'variable.other.member' = { fg = "orange" } # Fields of composite data types (e.g. structs, unions).
+
+'label' = { fg = "purple" } # Loop labels in rust.
+
+'punctuation' = { fg = "yellow", modifiers = ["bold"] } # (){}[]:;,.
+# 'punctuation.delimiter' = { fg = "yellow" } # Commas and colons.
+# 'punctuation.bracket' = { fg = "yellow" } # Parentheses, angle brackets, etc.
+
+'keyword' = { fg = "pink", modifiers = ["bold"] } # Language reserved keywords.
+'keyword.control' = { fg = "pink", modifiers = ["bold"] } # Control keywords.
+'keyword.control.conditional' = { fg = "pink", modifiers = ["bold"] } # 'if', 'else', 'elif'.
+# 'keyword.control.repeat' = { } # 'for', 'while', 'loop'.
+'keyword.control.import' = { fg = "pink", modifiers = ["italic"] } # 'import', 'export' ('use'?).
+# 'keyword.control.return' = { } # 'return' in most languages.
+'keyword.control.exception' = {fg = "pink", modifiers = ["bold"] } # 'raise' in python.
+'keyword.operator' = { fg = "pink" } # 'or', 'and', 'in'.
+'keyword.directive' = { fg = "purple" } # Preprocessor directives (#if in C).
+'keyword.function' = { fg= "red" } # The keyword to define a function: 'def', 'fun', 'fn'.
+
+'operator' = { fg = "pink", modifiers = ["bold"] } # Logical (&&, ||) and - I assume - Mathematical (+, %) operators
+
+'function' = { fg = "mid-blue"}
+'function.builtin' = { fg = "dark-blue" }
+'function.method' = { fg = "dark-blue" } # Class / Struct methods.
+'function.macro' = { fg = "purple" } # Like macros in rust.
+# 'function.special' = { fg = "yellow" } # Preprocessor in C.
+
+'tag' = { fg = "yellow"} # As in <body> for html.
+
+'namespace' = { fg = "mid-blue" } # * Namespace keyword in java, C#, etc.
+
+# Markup ==============================
+# Colors for markup languages, like Markdown or XML.
+
+'markup.heading' = { } # Markdown headings
+'markup.heading.1' = { } # Markdown heading 1 color.
+'markup.heading.2' = { } # Markdown heading 2 color.
+'markup.heading.3' = { } # Markdown heading 3 color.
+'markup.heading.4' = { } # Markdown heading 4 color.
+'markup.heading.5' = { } # Markdown heading 5 color.
+'markup.heading.6' = { } # Markdown heading 6 color.
+'markup.heading.marker' = { fg = "red" } # Hashtag color on Markdown headings.
+
+'markup.list' = { fg = "red" }
+'markup.list.numbered' = { } # Numbered list.
+'markup.list.unnumbered' = { } # Bullet point list.
+
+'markup.bold' = { modifiers = ["bold"] } # Bold text.
+'markup.italic' = { modifiers = ["italic"] } # Italicised text.
+"markup.strikethrough" = { modifiers = ["crossed_out"] } # Crossed out text.
+
+'markup.link' = { fg = "light-blue", modifiers = ["underlined"] }
+'markup.link.url' = { } # Urls pointed to by links.
+'markup.link.label' = { } # Non-URL link references.
+'markup.link.text' = { fg = "purple"} # URL and image descriptions in links.
+
+'markup.quote' = { } # `> Quotes` in Markdown.
+
+
+# Markup - Interface ==============================
+# "These scopes are used for theming the editor interface."
+
+'markup.normal' = { }
+'markup.normal.completion' = { } # For completion doc popup ui.
+'markup.normal.raw' = { } # For hover popup ui.
+
+'markup.heading.completion' = { } # Headings for completion doc popup ui.
+'markup.heading.raw' = { } # Headings for hover popup ui.
+
+'markup.raw' = { } # Code block in Markdown.
+'markup.raw.block' = { } # Multiline (```) codeblock in Markdown.
+'markup.raw.inline' = { } # `Inline code block` in Markdown.
+'markup.raw.inline.completion' = { } # ?
+'markup.raw.inline.hover' = { } # ?
+
+# Diff ==============================
+# Version control changes.
+
+'diff.plus' = "light-green" # { } # Additions.
+'diff.minus' = "red" # { } # Deletions.
+'diff.delta' = "yellow" # { } # Modifications.
+# 'diff.delta.moved' = { } # Renamed or moved files / changes.
+
+
+[palette] # Define your custom colors here.
+dark-green = "#00262a" # backgrounds
+mid-green = "#073a40" # highlights
+autocomp-green = "#0d6772" # lighter than mid-green
+light-green = "#48e9a7" # strings
+
+pink = "#df769b"
+yellow = "#ffd800"
+purple = "#918cff"
+white = "#b1cace"
+orange = "#ffa864"
+light-orange = "#fff2c5"
+gray = "#5b858b" # mainly for comments/background text
+light-gray = "#2a3c41" # used when whitespace rendering is enabled and for indent-guides
+red = "#e34e1b"
+
+dark-blue = "#19a2b7"
+mid-blue = "#47ace8"
+light-blue = "#87efff"
+
diff --git a/vendor/themes/noctis_bordo.toml b/vendor/themes/noctis_bordo.toml
new file mode 100644
index 00000000..fc8e1560
--- /dev/null
+++ b/vendor/themes/noctis_bordo.toml
@@ -0,0 +1,90 @@
+# Author: Joseph Harrison-Lim <[email protected]>
+
+"attribute" = { fg = "#7060eb", modifiers = ["bold"] }
+"comment" = { fg = "base03", modifiers = ["italic"] }
+"comment.line.documentation" = { fg = "base06", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "base06", modifiers = ["italic"] }
+"constant" = "base09"
+"constant.character.escape" = "base0C"
+"constant.numeric" = "#7060eb"
+"constructor" = "base0D"
+"function" = "base0D"
+"keyword" = "base0E"
+"keyword.control" = { fg = "base0E", modifiers = ["bold"] }
+"keyword.directive" = "white"
+"keyword.import" = { fg = "#df769b" }
+"keyword.operator" = { fg = "base0E", modifiers = ["italic"] }
+"label" = "base0E"
+"namespace" = "base0E"
+"operator" = "base05"
+"string" = "base0B"
+"type" = "base10"
+"variable" = "base08"
+"variable.other.member" = "base08"
+"special" = "base0D"
+
+"ui.background" = { bg = "base00" }
+"ui.virtual" = "base03"
+"ui.virtual.ruler" = { bg = "base01" }
+"ui.menu" = { fg = "base05", bg = "base01" }
+"ui.menu.selected" = { fg = "base0B", bg = "base01" }
+"ui.popup" = { bg = "base01" }
+"ui.window" = { bg = "base01" }
+"ui.linenr" = { fg = "#715b63", bg = "base01" }
+"ui.linenr.selected" = { fg = "base02", bg = "base01", modifiers = ["bold"] }
+"ui.selection" = { fg = "base05", bg = "base02" }
+"ui.cursorline" = { bg = "base01" }
+"ui.statusline" = { fg = "base02", bg = "base01" }
+"ui.cursor" = { fg = "base04", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] }
+"ui.text" = "base05"
+"ui.text.focus" = "base05"
+"ui.cursor.match" = { fg = "base0A", modifiers = ["underlined"] }
+"ui.help" = { fg = "base06", bg = "base01" }
+
+"markup.bold" = { fg = "base0A", modifiers = ["bold"] }
+"markup.heading" = "base0D"
+"markup.italic" = { fg = "base0E", modifiers = ["italic"] }
+"markup.link.text" = "base08"
+"markup.link.url" = { fg = "base09", modifiers = ["underlined"] }
+"markup.list" = "base08"
+"markup.quote" = "base0C"
+"markup.raw" = "base0B"
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+"diff.delta" = "base09"
+"diff.plus" = "base0B"
+"diff.minus" = "base08"
+
+"diagnostic.info" = { underline = { color = "base0D", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "base03", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "base09", style = "curl" } }
+"diagnostic.error" = { underline = { color = "base08", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"ui.gutter" = { bg = "base01" }
+"info" = "base0D"
+"hint" = "base03"
+"debug" = "base03"
+"warning" = "base09"
+"error" = "base08"
+
+[palette]
+base00 = "#322a2d" # Default Background
+base01 = "#2c2528" # Lighter Background (Used for status bars, line number and folding marks)
+base02 = "#997582" # Selection Background
+base03 = "#585858" # Comments, Invisibles, Line Highlighting
+base04 = "#322a2d" # Dark Foreground (Used for status bars)
+base05 = "#cbbec2" # Default Foreground, Caret, Delimiters, Operators
+base06 = "#e8e8e8" # Light Foreground (Not often used)
+base07 = "#f8f8f8" # Light Background (Not often used)
+base08 = "#e4b781" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
+base09 = "#d5971a" # Integers, Boolean, Constants, XML Attributes, Markup Link Url
+base0A = "#df769b" # Classes, Markup Bold, Search Text Background
+base0B = "#49e9a6" # Strings, Inherited Class, Markup Code, Diff Inserted
+base0C = "#16b673" # Support, Regular Expressions, Escape Characters, Markup Quotes
+base0D = "#16a3b6" # Functions, Methods, Attribute IDs, Headings
+base0E = "#ba8baf" # Keywords, Storage, Selector, Markup Italic, Diff Changed
+base0F = "#d67e5c" # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
+base10 = "#b0b0ff" # Types
diff --git a/vendor/themes/nord-night.toml b/vendor/themes/nord-night.toml
new file mode 100644
index 00000000..b759738b
--- /dev/null
+++ b/vendor/themes/nord-night.toml
@@ -0,0 +1,23 @@
+# Nord Night
+#
+# Based on the Nord theme, with minor modifications.
+# The Background and the Primary Text color have been slightly darkened.
+# The Aurora color palette has been used more generously.
+
+inherits = 'nord'
+
+'constant' = 'nord13'
+'constant.builtin.boolean' = 'nord13'
+'constant.numeric' = 'nord13'
+
+'keyword.control' = 'nord11'
+'keyword.control.conditional' = 'nord11'
+'keyword.control.exception' = 'nord11'
+'keyword.control.repeat' = 'nord11'
+'keyword.control.return' = 'nord11'
+
+'variable.parameter' = 'nord15'
+
+[palette]
+nord0 = '#252933'
+nord4 = '#C0C5CF'
diff --git a/vendor/themes/nord_light.toml b/vendor/themes/nord_light.toml
new file mode 100644
index 00000000..6c27c507
--- /dev/null
+++ b/vendor/themes/nord_light.toml
@@ -0,0 +1,90 @@
+# Author: Two-Six<[email protected]>
+
+"ui.background" = {bg="nord6"}
+"ui.text" = "nord0"
+"ui.selection" = {bg="nord7", fg="nord6"}
+"ui.cursorline" = {bg="nord4"}
+"ui.statusline" = {bg="nord4", fg="nord0"}
+"ui.statusline.inactive" = {bg="nord5", fg="nord0"}
+"ui.cursor.match" = {bg="nord8"}
+"ui.cursor" = {bg="nord10", fg="nord6"}
+"ui.cursorline.primary" = {bg="nord5"}
+"ui.linenr" = {fg="nord7"}
+"ui.linenr.selected" = {fg="nord0", bg="nord5"}
+"ui.menu" = {bg="nord4",fg="nord0"}
+"ui.menu.selected" = {bg="nord5"}
+"ui.popup" = {bg="nord4"}
+"ui.popup.info" = {bg="nord4",fg="nord0"}
+"ui.help" = {bg="nord4",fg="nord0"}
+"ui.window" = {bg="nord4"}
+
+
+"ui.statusline.normal" = { fg = "nord0", bg = "nord8" }
+"ui.statusline.insert" = { fg = "nord0", bg = "nord13" }
+"ui.statusline.select" = { fg = "nord0", bg = "nord15" }
+
+# Virtual/invisible text
+"ui.virtual" = "nord8"
+"ui.virtual.ruler" = {bg="nord4"}
+"ui.virtual.inlay-hint" = { fg = "nord3", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "nord11", modifiers = ["bold"] }
+
+
+
+"diagnostic.error" = { underline = { color = "nord11", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.info" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "nord13", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"constant.numeric" = {fg="nord15"}
+"constant.builtin" = {fg="nord15"}
+
+"keyword" = {fg="nord2"}
+"keyword.control" = {fg="nord2"}
+"keyword.function" = {fg="nord2"}
+
+"function" = {fg="nord3"}
+"function.macro" = {fg="nord10", modifiers=["bold"]}
+"function.method" = {fg="nord0"}
+"function.builtin" = {fg="nord10"}
+
+"variable.builtin" = {fg="nord3"}
+"variable.other" = {fg="nord3"}
+"variable" = {fg="nord0"}
+
+"string" = "nord14"
+"comment" = "nord7"
+"namespace" = {fg="nord10"}
+"attribute" = {fg="nord10"}
+"type" = {fg="nord10"}
+
+"markup.heading" = {fg="nord0", modifiers=["bold"]}
+"markup.raw" = {fg="nord10"}
+"markup.link.url" = {fg="nord3"}
+"markup.link.text" = {fg="nord12"}
+"markup.quote" = {fg="nord3", modifiers=["italic"]}
+
+"diff.plus" = {fg = "nord14"}
+"diff.delta" = {fg = "nord13"}
+"diff.minus" = {fg = "nord11"}
+
+
+[palette]
+nord0 = "#2E3440"
+nord1 = "#3B4252"
+nord2 = "#434C5E"
+nord3 = "#4C566A"
+nord4 = "#D8DEE9"
+nord5 = "#E5E9F0"
+nord6 = "#ECEFF4"
+nord7 = "#8FBCBB"
+nord8 = "#88C0D0"
+nord9 = "#81A1C1"
+nord10 = "#5E81AC"
+nord11 = "#BF616A"
+nord12 = "#D08770"
+nord13 = "#EBCB8B"
+nord14 = "#A3BE8C"
+nord15 = "#B48EAD"
diff --git a/vendor/themes/nvchad_solarized_dark.toml b/vendor/themes/nvchad_solarized_dark.toml
new file mode 100644
index 00000000..91ab18fe
--- /dev/null
+++ b/vendor/themes/nvchad_solarized_dark.toml
@@ -0,0 +1,168 @@
+# Author : Uladzislau Hinko <[email protected]>
+
+"attribute" = { fg = "yellow" }
+
+"keyword" = { fg = "blue" }
+"keyword.directive" = { fg = "blue" }
+"keyword.control.import" = { fg = "blue" }
+"keyword.control.conditional" = { fg = "blue" }
+"keyword.control.repeat" = { fg = "blue" }
+"keyword.function" = { fg = "violet" }
+"keyword.storage" = { fg = "violet" }
+"keyword.storage.type" = { fg = "violet" }
+"keyword.operator" = { fg = "green" }
+
+"namespace" = { fg = "red" }
+"module" = { fg = "red" }
+
+"type" = { fg = "yellow" }
+"type.enum.variant" = { fg = "yellow" }
+"type.builtin" = { fg = "yellow" }
+"type.parameter" = { fg = "yellow" }
+"type.qualifier" = { fg = "yellow" }
+"type.definition" = { fg = "yellow" }
+
+"variable" = { fg = "base1" }
+"variable.builtin" = { fg = "red" }
+"variable.parameter" = { fg = "base1" }
+"variable.other.member" = { fg = "red" }
+
+"constant" = { fg = "orange" }
+"constant.character" = { fg = "green" }
+"constant.character.escape" = { fg = "cyan" }
+"constant.macro" = { fg = "orange" }
+"constant.builtin" = { fg = "orange" }
+"constant.numeric" = { fg = "orange" }
+"constant.numeric.integer" = { fg = "orange" }
+"constant.numeric.float" = { fg = "orange" }
+"constant.boolean" = { fg = "orange" }
+"number" = { fg = "orange" }
+
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.macro" = { fg = "blue" }
+"function.builtin" = { fg = "blue" }
+"function.special" = { fg = "blue" }
+"function.method" = { fg = "blue" }
+"function.call" = { fg = "blue" }
+
+"comment" = { fg = "base01" }
+"comment.documentation" = { fg = "base01" }
+
+"string" = { fg = "green" }
+"string.regexp" = { fg = "cyan" }
+"string.special" = { fg = "cyan" }
+"string.symbol" = { fg = "green" }
+"string.escape" = { fg = "cyan" }
+"character" = { fg = "green" }
+"escape" = { fg = "cyan" }
+
+"label" = { fg = "yellow" }
+"annotation" = { fg = "yellow" }
+
+"tag" = { fg = "red" }
+"tag.attribute" = { fg = "orange" }
+"tag.delimiter" = { fg = "base1" }
+
+"operator" = { fg = "base1" }
+
+"punctuation.bracket" = { fg = "magenta" }
+"punctuation.delimiter" = { fg = "base1" }
+"punctuation.special" = { fg = "magenta" }
+
+"embedded" = { fg = "green" }
+
+"markup.heading" = { fg = "blue" }
+"markup.list" = { fg = "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" = { fg = "red" }
+"markup.quote" = { fg = "cyan" }
+"markup.raw" = { fg = "green" }
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "yellow" }
+"diff.minus" = { fg = "red" }
+
+"ui.background" = { bg = "base03" }
+
+"ui.virtual.whitespace" = { fg = "base01" }
+"ui.virtual.inlay-hint" = { fg = "#586e75", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+"ui.virtual.indent-guide" = { fg = "base02" }
+"ui.virtual.ruler" = { bg = "base02" }
+
+"ui.linenr" = { fg = "base01", bg = "base03" }
+"ui.linenr.selected" = { fg = "base1", bg = "base03" }
+
+"ui.cursorline" = { bg = "base025" }
+"ui.cursorline.primary" = { bg = "base02" }
+"ui.cursorline.secondary" = { bg = "base025" }
+
+"ui.cursor.primary" = { fg = "base03", bg = "base1" }
+"ui.cursor.select" = { fg = "base02", bg = "cyan" }
+"ui.cursor" = { fg = "base02", bg = "cyan" }
+"ui.cursor.insert" = { fg = "base03", bg = "base3" }
+"ui.cursor.match" = { fg = "base03", bg = "base00" }
+
+"ui.selection" = { bg = "base0175" }
+"ui.selection.primary" = { bg = "base015" }
+
+"ui.statusline" = { fg = "base1", bg = "base02" }
+"ui.statusline.normal" = { fg = "base3", bg = "blue" }
+"ui.statusline.insert" = { fg = "base3", bg = "green" }
+"ui.statusline.select" = { fg = "base3", bg = "yellow" }
+"ui.statusline.inactive" = { fg = "base01", bg = "base02" }
+
+"ui.bufferline" = { fg = "base0", bg = "base02" }
+"ui.bufferline.active" = { fg = "base3", bg = "magenta", modifiers = ["bold"] }
+"ui.bufferline.background" = { bg = "base02" }
+
+"ui.popup" = { fg = "base1", bg = "base02" }
+"ui.menu" = { fg = "base1", bg = "base02" }
+"ui.menu.selected" = { fg = "base3", bg = "blue" }
+"ui.menu.scroll" = { fg = "base1", bg = "base01" }
+"ui.window" = { fg = "base1", bg = "base02" }
+"ui.help" = { fg = "base1", bg = "base02" }
+
+"ui.popup.info" = { fg = "base1", bg = "base02" }
+"ui.text.info" = { fg = "base1", bg = "base02" }
+
+"ui.text" = { fg = "base1" }
+"ui.text.focus" = { fg = "blue", modifiers = ["bold"] }
+
+"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]
+base03 = "#002b36"
+base025 = "#06313c"
+base02 = "#0a3540"
+base0175 = "#133e49"
+base015 = "#1b4651"
+base01 = "#28535e"
+base00 = "#325d68"
+base0 = "#3c6772"
+base1 = "#93a1a1"
+base2 = "#eee8d5"
+base3 = "#fdf6e3"
+yellow = "#b58900"
+orange = "#cb4b16"
+red = "#dc322f"
+magenta = "#d33682"
+violet = "#6c71c4"
+blue = "#268bd2"
+cyan = "#2aa198"
+green = "#859900"
+white = "#ffffff"
diff --git a/vendor/themes/nvim-dark.toml b/vendor/themes/nvim-dark.toml
new file mode 100644
index 00000000..d52f51f1
--- /dev/null
+++ b/vendor/themes/nvim-dark.toml
@@ -0,0 +1,109 @@
+# A port of Neovim's default dark color scheme created by echasnovski: https://github.com/neovim/neovim/pull/26334
+# Based on Kim Nørgaard's Neovim dark (accented) theme for Zed: https://github.com/KimNorgaard/zed-neovim-default
+
+attribute = "fog"
+keyword = { fg = "fog", modifiers = ["bold"] }
+"keyword.directive" = { fg = "fog", modifiers = ["bold"] }
+namespace = "fog"
+punctuation = "fog"
+"punctuation.delimiter" = "fog"
+operator = "fog"
+special = "aqua"
+"variable.other.member" = "sky"
+variable = "fog"
+"variable.parameter" = { fg = "aqua" }
+"variable.builtin" = "aqua"
+type = "fog"
+"type.builtin" = "aqua"
+constructor = "aqua"
+function = "aqua"
+"function.macro" = "fog"
+"function.builtin" = "aqua"
+tag = "aqua"
+comment = "stone"
+constant = "fog"
+"constant.builtin" = "fog"
+string = "leaf"
+"constant.numeric" = "fog"
+"constant.character.escape" = "aqua"
+label = { fg = "fog", modifiers = ["bold"] }
+tabstop = { modifiers = ["italic"], bg = "panel"}
+
+"markup.heading" = "fog"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "aqua", modifiers = ["italic"] }
+"markup.link.text" = "aqua"
+"markup.raw" = "aqua"
+
+"diff.plus" = "leaf"
+"diff.minus" = "rose"
+"diff.delta" = "sun"
+
+"ui.background" = { bg = "night" }
+"ui.background.separator" = { fg = "panel" }
+"ui.linenr" = { fg = "slate" }
+"ui.linenr.selected" = { fg = "fog" }
+
+"ui.statusline" = { fg = "fog", bg = "panel" }
+"ui.statusline.inactive" = { fg = "stone", bg = "panel" }
+"ui.statusline.normal" = { bg = "aqua", fg = "panel" }
+"ui.statusline.insert" = { bg = "leaf", fg = "panel" }
+"ui.statusline.select" = { bg = "sky", fg = "panel" }
+
+"ui.popup" = { bg = "panel" }
+"ui.window" = { fg = "panel" }
+"ui.help" = { bg = "panel", fg = "fog" }
+"ui.text" = { fg = "fog" }
+"ui.text.focus" = { fg = "fog" }
+"ui.text.inactive" = "stone"
+"ui.text.directory" = { fg = "sky" }
+"ui.virtual" = { fg = "slate" }
+"ui.virtual.ruler" = { bg = "panel" }
+"ui.virtual.jump-label" = { fg = "sun", modifiers = ["bold"] }
+
+"ui.virtual.indent-guide" = { fg = "slate" }
+
+"ui.selection" = { bg = "oxford" }
+"ui.selection.primary" = { bg = "oxford" }
+"ui.cursor.select" = { bg = "aqua" }
+"ui.cursor.insert" = { bg = "fog" }
+"ui.cursor.primary.select" = { bg = "aqua" }
+"ui.cursor.primary.insert" = { bg = "fog" }
+"ui.cursor.match" = { fg = "night", bg = "slate" }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "panel" }
+"ui.highlight" = { bg = "panel" }
+"ui.highlight.frameline" = { bg = "slate" }
+"ui.debug" = { fg = "slate" }
+"ui.debug.breakpoint" = { fg = "sun" }
+"ui.menu" = { fg = "fog", bg = "panel" }
+"ui.menu.selected" = { fg = "night", bg = "fog" }
+"ui.menu.scroll" = { fg = "fog", bg = "panel" }
+
+"diagnostic.hint" = { underline = { color = "stone", style = "curl" } }
+"diagnostic.info" = { underline = { color = "aqua", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "sun", style = "curl" } }
+"diagnostic.error" = { underline = { color = "rose", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+warning = "sun"
+error = "rose"
+info = "aqua"
+hint = "stone"
+
+[palette]
+fog = "#e0e2ea"
+stone = "#9b9ea4"
+night = "#14161b"
+panel = "#2c2e33"
+slate = "#4f5258"
+
+aqua = "#8cf8f7"
+leaf = "#b3f6c0"
+sun = "#fce094"
+rose = "#ffc0b9"
+sky = "#a6dbff"
+oxford = "#0D2847"
diff --git a/vendor/themes/nyxvamp-obsidian.toml b/vendor/themes/nyxvamp-obsidian.toml
new file mode 100644
index 00000000..62fd08dc
--- /dev/null
+++ b/vendor/themes/nyxvamp-obsidian.toml
@@ -0,0 +1,86 @@
+# nyxvamp - obsidian variant
+# author: zoedsoupe <[email protected]>
+
+inherits = "nyxvamp-radiance"
+
+# Rainbow parentheses colors
+rainbow = ["keyword_fg", "function_fg", "string_fg", "type_fg"]
+
+# Override specific styles for obsidian variant
+"function" = { fg = "function_fg", modifiers = ["bold"] }
+"function.builtin" = { fg = "function_builtin_fg", modifiers = ["bold"] }
+"ui.match_paren" = { fg = "match_paren_fg", bg = "match_paren_bg", modifiers = ["bold"] }
+
+# Palette overrides
+[palette]
+# Very dark theme colors
+background = "#000A0F" # Very dark background
+foreground = "#C0C0CE" # Slightly muted foreground
+cursor_fg = "#0E0E10"
+cursor_bg = "#F28FAD" # Pink cursor
+cursorline = "#1E1E20" # Slightly lighter background
+selection = "#2E2E30" # Dark gray selection
+line_nr = "#5E5A76" # Dark gray line numbers
+line_nr_selected = "#C0C0CE" # Foreground color for selected line number
+
+# Status line colors
+status_fg = "#C0C0CE"
+status_bg = "#1E1E20"
+status_inactive_fg = "#5E5A76"
+status_inactive_bg = "#0E0E10"
+
+# Menu colors
+menu_fg = "#C0C0CE"
+menu_bg = "#1E1E20"
+menu_sel_fg = "#C0C0CE"
+menu_sel_bg = "#2E2E30"
+menu_scroll_fg = "#5E5A76"
+menu_scroll_bg = "#1E1E20"
+popup_fg = "#C0C0CE"
+popup_bg = "#1E1E20"
+
+# UI virtual
+virtual_ruler_bg = "#191921" # Slightly lighter than background, close to comment color
+
+# Syntax highlighting
+match_paren_fg = "#F28FAD"
+match_paren_bg = "#0E0E10"
+comment_fg = "#5E5A76" # Dark gray comments
+string_fg = "#8FBF8F" # Muted green strings
+string_special_fg = "#F28FAD" # Pink special strings
+constant_fg = "#F28FAD" # Pink constants
+constant_builtin_fg = "#F28FAD"
+number_fg = "#D8A080" # Muted peach numbers
+boolean_fg = "#F28FAD"
+function_fg = "#7FAFD7" # Muted blue functions
+function_builtin_fg = "#7FAFD7"
+keyword_fg = "#F5C2E7" # Pink keywords
+keyword_control_fg = "#F5C2E7"
+operator_fg = "#C0C0CE" # Foreground color for operators
+variable_fg = "#C0C0CE"
+variable_builtin_fg = "#F28FAD"
+type_fg = "#A0A0D0" # Muted lavender types
+type_builtin_fg = "#A0A0D0"
+attribute_fg = "#F5C2E7"
+namespace_fg = "#A0A0D0" # Muted lavender namespaces (Base16 base0E)
+punctuation_fg = "#C0C0CE"
+symbol_fg = "#F28FAD"
+
+# Diagnostics
+error_fg = "#F28FAD" # Base16 base08 - red errors
+warning_fg = "#D8A080" # Base16 base09 - orange warnings
+info_fg = "#7FAFD7" # Base16 base0B - blue info
+hint_fg = "#7BB5A8" # Base16 base0C - cyan hints
+
+# Diff colors
+diff_add_fg = "#86BA75" # Muted green additions
+diff_delete_fg = "#D78284" # Muted red deletions
+diff_change_fg = "#D5B880" # Muted yellow changes
+
+# Markup colors
+markup_heading_fg = "#F5C2E7"
+markup_bold_fg = "#F5C2E7"
+markup_italic_fg = "#F5C2E7"
+markup_link_url_fg = "#7FAFD7"
+markup_link_text_fg = "#F5C2E7"
+markup_quote_fg = "#5E5A76"
diff --git a/vendor/themes/nyxvamp-radiance.toml b/vendor/themes/nyxvamp-radiance.toml
new file mode 100644
index 00000000..27f7d3f0
--- /dev/null
+++ b/vendor/themes/nyxvamp-radiance.toml
@@ -0,0 +1,144 @@
+# nyxvamp - radiance variant
+# author: <[email protected]>
+
+# Rainbow parentheses colors
+rainbow = ["keyword_fg", "function_fg", "constant_fg", "string_fg"]
+
+# UI Elements
+"ui.background" = { bg = "background", fg = "foreground" }
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "menu_sel_fg", bg = "menu_sel_bg" }
+"ui.text.inactive" = { fg = "comment_fg" }
+"ui.text.info" = { fg = "menu_fg", bg = "menu_bg" }
+"ui.cursor" = { fg = "cursor_fg", bg = "cursor_bg" }
+"ui.cursorline.primary" = { bg = "cursorline" }
+"ui.selection" = { bg = "selection" }
+"ui.linenr" = { fg = "line_nr" }
+"ui.linenr.selected" = { fg = "line_nr_selected", modifiers = ["bold"] }
+"ui.statusline" = { fg = "status_fg", bg = "status_bg" }
+"ui.statusline.inactive" = { fg = "status_inactive_fg", bg = "status_inactive_bg" }
+"ui.menu" = { fg = "menu_fg", bg = "menu_bg" }
+"ui.menu.selected" = { fg = "menu_sel_fg", bg = "menu_sel_bg" }
+"ui.menu.scroll" = { fg = "menu_scroll_fg", bg = "menu_scroll_bg" }
+"ui.popup" = { fg = "popup_fg", bg = "popup_bg" }
+"ui.popup.info" = { fg = "menu_fg", bg = "menu_bg" }
+"ui.match_paren" = { fg = "match_paren_fg", bg = "match_paren_bg", modifiers = ["bold"] }
+"ui.virtual" = { fg = "comment_fg" }
+"ui.virtual.ruler" = { bg = "virtual_ruler_bg" }
+"ui.highlight" = { fg = "menu_sel_fg", bg = "menu_sel_bg" }
+"ui.picker.header" = { fg = "menu_fg", bg = "menu_bg" }
+"ui.picker.header.column" = { fg = "menu_fg", bg = "menu_bg" }
+"ui.picker.header.column.active" = { fg = "menu_sel_fg", bg = "menu_sel_bg" }
+"ui.window" = { fg = "foreground" }
+"ui.help" = { fg = "menu_fg", bg = "menu_bg" }
+"ui.text.directory" = { fg = "function_fg", modifiers = ["bold"] }
+"ui.selection.primary" = { bg = "selection" }
+
+# Syntax Highlighting
+"comment" = { fg = "comment_fg", modifiers = ["italic"] }
+"string" = { fg = "string_fg" }
+"string.special" = { fg = "string_special_fg" }
+"constant" = { fg = "constant_fg" }
+"constant.builtin" = { fg = "constant_builtin_fg", modifiers = ["bold"] }
+"number" = { fg = "number_fg" }
+"boolean" = { fg = "boolean_fg" }
+"function" = { fg = "function_fg", modifiers = ["bold"] } # Added bold for better distinction
+"function.builtin" = { fg = "function_builtin_fg", modifiers = ["bold"] }
+"keyword" = { fg = "keyword_fg", modifiers = ["bold"] }
+"keyword.control" = { fg = "keyword_control_fg", modifiers = ["bold"] }
+"operator" = { fg = "operator_fg" }
+"variable" = { fg = "variable_fg" }
+"variable.builtin" = { fg = "variable_builtin_fg", modifiers = ["italic"] }
+"type" = { fg = "type_fg", modifiers = ["italic"] }
+"type.builtin" = { fg = "type_builtin_fg", modifiers = ["italic"] }
+"attribute" = { fg = "attribute_fg" }
+"namespace" = { fg = "namespace_fg" }
+"punctuation" = { fg = "punctuation_fg" }
+"symbol" = { fg = "symbol_fg", modifiers = ["italic"] }
+
+# Diagnostics
+"warning" = { fg = "warning_fg" }
+"error" = { fg = "error_fg" }
+"info" = { fg = "info_fg" }
+"hint" = { fg = "hint_fg" }
+"diagnostic" = { fg = "error_fg" }
+"diagnostic.error" = { fg = "error_fg", modifiers = ["bold"] }
+"diagnostic.warning" = { fg = "warning_fg", modifiers = ["bold"] }
+"diagnostic.info" = { fg = "info_fg", modifiers = ["bold"] }
+"diagnostic.hint" = { fg = "hint_fg", modifiers = ["bold"] }
+
+# Diff
+"diff.plus" = { fg = "diff_add_fg" }
+"diff.minus" = { fg = "diff_delete_fg" }
+"diff.delta" = { fg = "diff_change_fg" }
+
+# Markup
+"markup.heading" = { fg = "markup_heading_fg", modifiers = ["bold"] }
+"markup.bold" = { fg = "markup_bold_fg", modifiers = ["bold"] }
+"markup.italic" = { fg = "markup_italic_fg", modifiers = ["italic"] }
+"markup.link.url" = { fg = "markup_link_url_fg", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "markup_link_text_fg" }
+"markup.quote" = { fg = "markup_quote_fg", modifiers = ["italic"] }
+
+# Palette
+[palette]
+background = "#F7F7FF" # Off-white background (from your visual identity)
+foreground = "#1E1E2E" # Deep navy foreground (from your visual identity)
+cursor_fg = "#F7F7FF" # Off-white cursor text
+cursor_bg = "#9655FF" # Deep purple cursor (from your visual identity)
+cursorline = "#E8E8F0" # Slightly darker than background
+selection = "#E8D5FF" # Light purple selection that matches theme palette
+line_nr = "#5A5570" # Darker gray for line numbers
+line_nr_selected = "#1E1E2E" # Deep navy for selected line number
+status_fg = "#1E1E2E" # Deep navy
+status_bg = "#E8E8F0" # Light gray
+status_inactive_fg = "#5A5570" # Darker gray
+status_inactive_bg = "#F7F7FF" # Off-white
+menu_fg = "#1E1E2E" # Deep navy
+menu_bg = "#E8E8F0" # Light gray
+menu_sel_fg = "#1E1E2E" # Dark navy text for better contrast
+menu_sel_bg = "#E8D5FF" # Light purple selection
+menu_scroll_fg = "#5A5570" # Darker gray
+menu_scroll_bg = "#E8E8F0" # Light gray
+popup_fg = "#1E1E2E" # Deep navy
+popup_bg = "#E8E8F0" # Light gray
+match_paren_fg = "#1E1E2E" # Deep navy
+match_paren_bg = "#E8D5FF" # Light purple matching selection
+virtual_ruler_bg = "#EAEAF0" # Slightly lighter than comment color background
+
+comment_fg = "#5A5570" # Darker gray comments for better contrast
+string_fg = "#B8860B" # Dark golden rod - much better contrast on light background
+string_special_fg = "#9F1239" # Even darker pink special strings
+constant_fg = "#9F1239" # Even darker pink constants for maximum contrast
+constant_builtin_fg = "#9F1239" # Even darker pink built-in constants
+number_fg = "#C2410C" # Darker orange numbers for better contrast
+boolean_fg = "#9F1239" # Even darker pink booleans
+function_fg = "#005F87" # Dark blue functions (more distinguishable)
+function_builtin_fg = "#005F87" # Dark blue built-in functions
+keyword_fg = "#9655FF" # Deep purple keywords
+keyword_control_fg = "#9655FF" # Deep purple control keywords
+operator_fg = "#4A4560" # Darker purple-gray operators for better contrast
+variable_fg = "#1E1E2E" # Deep navy variables
+variable_builtin_fg = "#9F1239" # Even darker pink built-in variables
+type_fg = "#6B46C1" # Darker purple types for better contrast
+type_builtin_fg = "#6B46C1" # Darker purple built-in types for better contrast
+attribute_fg = "#9655FF" # Deep purple attributes
+namespace_fg = "#6B46C1" # Darker purple namespaces (Base16 base0E)
+punctuation_fg = "#1E1E2E" # Deep navy punctuation
+symbol_fg = "#9F1239" # Even darker pink symbols (atoms) for maximum contrast
+
+error_fg = "#9F1239" # Base16 base08 - red errors
+warning_fg = "#C2410C" # Base16 base09 - orange warnings
+info_fg = "#005F87" # Base16 base0B - blue info
+hint_fg = "#8BD5CA" # Base16 base0C - cyan hints
+
+diff_add_fg = "#A6DA95" # Soft green additions
+diff_delete_fg = "#E78284" # Soft red deletions
+diff_change_fg = "#E5C890" # Soft yellow changes
+
+markup_heading_fg = "#9655FF" # Deep purple headings
+markup_bold_fg = "#1E1E2E" # Deep navy bold text
+markup_italic_fg = "#1E1E2E" # Deep navy italic text
+markup_link_url_fg = "#005F87" # Dark blue links
+markup_link_text_fg = "#9655FF" # Deep purple link text
+markup_quote_fg = "#5A5570" # Darker gray quotes
diff --git a/vendor/themes/nyxvamp-transparent.toml b/vendor/themes/nyxvamp-transparent.toml
new file mode 100644
index 00000000..74ac6821
--- /dev/null
+++ b/vendor/themes/nyxvamp-transparent.toml
@@ -0,0 +1,54 @@
+# nyxvamp: override variant (fully transparent)
+# author: zoedsoupe <[email protected]>
+
+inherits = "nyxvamp-veil"
+
+# Override UI elements for transparency while maintaining readability
+"ui.background" = {}
+"ui.statusline" = { fg = "status_fg" }
+"ui.statusline.inactive" = { fg = "status_inactive_fg" }
+"ui.cursorline.primary" = {}
+"ui.virtual.ruler" = {}
+
+# Keep menus fully transparent but improve text contrast
+"ui.menu" = { fg = "bright_text" }
+"ui.menu.selected" = { fg = "selected_bright", bg = "selection_subtle", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "menu_scroll_fg" }
+
+# Popups remain transparent with better text
+"ui.popup" = { fg = "bright_text" }
+"ui.popup.info" = { fg = "bright_text" }
+
+# Improve picker visibility while keeping transparency
+"ui.picker.header" = { fg = "header_bright", modifiers = ["bold", "underlined"] }
+"ui.picker.header.column" = { fg = "header_bright" }
+"ui.picker.header.column.active" = { fg = "active_column_fg", bg = "active_column_bg", modifiers = ["bold", "underlined"] }
+
+# Focus and selection improvements
+"ui.text.focus" = { fg = "selected_bright", bg = "selection_subtle", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "text_inactive_fg" }
+"ui.text.directory" = { fg = "directory_fg", modifiers = ["italic"] }
+
+# Improve other UI elements
+"ui.match_paren" = { fg = "match_paren_fg", bg = "match_paren_highlight_bg", modifiers = ["bold"] }
+"ui.selection" = { bg = "selection_transparent" }
+"ui.selection.primary" = { bg = "selection_primary_transparent" }
+
+# Add palette for transparent-specific colors
+[palette]
+# Much brighter colors for transparent backgrounds - maximum readability
+bright_text = "#FFFFFF" # Pure white for maximum contrast on any background
+selected_bright = "#FF6B9D" # Bright pink that's still muted but very visible
+header_bright = "#5DADE2" # Bright blue but not harsh
+directory_fg = "#E8D5FF" # Very bright lavender for directories
+text_inactive_fg = "#A0A0A0" # Bright gray for inactive text
+
+# Stronger selection backgrounds for transparent theme
+selection_subtle = "#DDA0DD" # 31% muted plum selection
+match_paren_highlight_bg = "#DDA0DD" # 25% muted plum highlight
+selection_transparent = "#483D8B" # 25% dark slate blue selection
+selection_primary_transparent = "#483D8B" # 31% dark slate blue primary
+
+# Active column highlighting for better visibility
+active_column_fg = "#1E1E2E" # Dark text for contrast
+active_column_bg = "#87CEEB" # 50% sky blue background - matches header color
diff --git a/vendor/themes/nyxvamp-veil.toml b/vendor/themes/nyxvamp-veil.toml
new file mode 100644
index 00000000..1d385ba0
--- /dev/null
+++ b/vendor/themes/nyxvamp-veil.toml
@@ -0,0 +1,86 @@
+# nyxvamp: veil variant
+# author: zoedsoupe <[email protected]>
+
+inherits = "nyxvamp-radiance"
+
+# Rainbow parentheses colors
+rainbow = ["keyword_fg", "function_fg", "string_fg", "number_fg"]
+
+# Override specific styles for veil variant
+"function" = { fg = "function_fg", modifiers = ["bold"] }
+"function.builtin" = { fg = "function_builtin_fg", modifiers = ["bold"] }
+"ui.match_paren" = { fg = "match_paren_fg", bg = "match_paren_bg", modifiers = ["bold"] }
+
+# Palette overrides
+[palette]
+# Dark theme colors - only override what's different from the base theme
+background = "#1E1E2E" # Dark purple background
+foreground = "#D9E0EE" # Light lavender foreground
+cursor_fg = "#1E1E2E"
+cursor_bg = "#F5C2E7" # Soft pink cursor
+cursorline = "#2E2E3E" # Slightly lighter background
+selection = "#494D64" # Grayish selection
+line_nr = "#6E6A86" # Medium gray for line numbers
+line_nr_selected = "#D9E0EE" # Foreground color for selected line number
+
+# Status line colors
+status_fg = "#D9E0EE"
+status_bg = "#2E2E3E"
+status_inactive_fg = "#6E6A86"
+status_inactive_bg = "#1E1E2E"
+
+# Menu colors
+menu_fg = "#D9E0EE"
+menu_bg = "#1E1E2E"
+menu_sel_fg = "#D9E0EE"
+menu_sel_bg = "#494D64"
+menu_scroll_fg = "#6E6A86"
+menu_scroll_bg = "#1E1E2E"
+popup_fg = "#D9E0EE"
+popup_bg = "#1E1E2E"
+
+# UI virtual
+virtual_ruler_bg = "#2A2A3C" # Slightly lighter than background, close to comment color
+
+# Syntax highlighting
+match_paren_fg = "#F28FAD"
+match_paren_bg = "#1E1E2E"
+comment_fg = "#6E6A86" # Gray comments
+string_fg = "#ABE9B3" # Green strings
+string_special_fg = "#F28FAD" # Pink special strings
+constant_fg = "#F28FAD" # Pink constants
+constant_builtin_fg = "#F28FAD" # Pink built-in constants
+number_fg = "#F8BD96" # Peach numbers
+boolean_fg = "#F28FAD" # Pink booleans
+function_fg = "#96CDFB" # Blue functions
+function_builtin_fg = "#96CDFB" # Blue built-in functions
+keyword_fg = "#F5C2E7" # Pink keywords
+keyword_control_fg = "#F5C2E7" # Pink control keywords
+operator_fg = "#D9E0EE" # Foreground color for operators
+variable_fg = "#D9E0EE" # Foreground color for variables
+variable_builtin_fg = "#F28FAD" # Pink built-in variables
+type_fg = "#C9CBFF" # Lavender types
+type_builtin_fg = "#C9CBFF" # Lavender built-in types
+attribute_fg = "#F5C2E7" # Pink attributes
+namespace_fg = "#C9CBFF" # Lavender namespaces (Base16 base0E)
+punctuation_fg = "#D9E0EE" # Foreground color for punctuation
+symbol_fg = "#F28FAD" # Pink symbols (e.g., Elixir atoms)
+
+# Diagnostics
+error_fg = "#F28FAD" # Base16 base08 - red errors
+warning_fg = "#F8BD96" # Base16 base09 - orange warnings
+info_fg = "#96CDFB" # Base16 base0B - blue info
+hint_fg = "#8BD5CA" # Base16 base0C - cyan hints
+
+# Diff colors
+diff_add_fg = "#A6DA95" # Green additions
+diff_delete_fg = "#E78284" # Red deletions
+diff_change_fg = "#E5C890" # Yellow changes
+
+# Markup colors
+markup_heading_fg = "#F5C2E7" # Pink headings
+markup_bold_fg = "#F5C2E7" # Pink bold text
+markup_italic_fg = "#F5C2E7" # Pink italic text
+markup_link_url_fg = "#96CDFB" # Blue links
+markup_link_text_fg = "#F5C2E7" # Pink link text
+markup_quote_fg = "#6E6A86" # Gray quotes
diff --git a/vendor/themes/ocean-space.toml b/vendor/themes/ocean-space.toml
new file mode 100644
index 00000000..40bf1b42
--- /dev/null
+++ b/vendor/themes/ocean-space.toml
@@ -0,0 +1,91 @@
+# Author: mikastiv
+
+"attribute" = "red"
+"type" = "orange"
+"type.builtin" = "purple"
+"type.enum" = "purple"
+"constructor" = "yellow"
+"constant" = "red"
+"string" = "green"
+"constant.numeric" = "orange"
+"constant.builtin" = "purple"
+"constant.character.escape" = "red"
+"comment" = "light-gray"
+"variable" = "cyan"
+"variable.builtin" = "purple"
+"label" = "white"
+"punctuation" = "white"
+"keyword" = "purple"
+"operator" = "red"
+"function" = "yellow"
+"function.builtin" = "orange"
+"function.macro" = "orange"
+"tag" = "orange"
+"namespace" = "white"
+"special" = "orange"
+"markup.heading" = "hot-pink"
+"markup.list" = "yellow"
+"markup.link" = "purple"
+"markup.quote" = "green"
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "orange"
+
+"ui.background" = { bg = "bg" }
+"ui.cursor" = { bg = "cursor-light", fg = "bg" }
+"ui.cursor.primary" = { bg = "cursor", fg = "bg" }
+"ui.cursor.match" = { fg = "hot-pink", modifiers = ["bold"] }
+"ui.debug.breakpoint" = "red"
+"ui.debug.active" = "red"
+"ui.linenr" = "light-gray"
+"ui.linenr.selected" = "white"
+"ui.statusline" = { bg = "bar", fg = "bg" }
+"ui.bufferline" = { bg = "bg-light", fg = "light-gray" }
+"ui.bufferline.active" = { bg = "bar", fg = "bg" }
+"ui.window" = "light-gray"
+"ui.help" = { bg = "bg" }
+"ui.popup" = { bg = "bg" }
+"ui.text" = "white"
+"ui.text.focus" = { bg = "selected" }
+"ui.text.inactive" = "light-gray"
+"ui.text.directory" = "cyan"
+"ui.virtual.ruler" = { bg = "bg-light" }
+"ui.virtual.indent-guide" = "light-gray"
+"ui.virtual.inlay-hint" = { modifiers = ["dim"] }
+"ui.virtual.jump-label" = { fg = "hot-pink", modifiers = ["bold"] }
+"ui.menu" = { bg = "bg" }
+"ui.menu.selected" = { bg = "selected" }
+"ui.menu.scroll" = "bar"
+"ui.selection" = { bg = "selected" }
+"ui.cursorline.primary" = { bg = "bg-light" }
+
+"warning" = "yellow"
+"error" = "red"
+"hint" = "blue"
+"info" = "blue"
+
+"diagnostic.hint".underline = { color = "blue", 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]
+white = "#d5ced9"
+light-gray = "#6e7178"
+cyan = "#87d3f8"
+blue = "#3a75c4"
+orange = "#f39c12"
+yellow = "#f2f27a"
+purple = "#c74ded"
+red = "#e25822"
+pink = "#ff00aa"
+hot-pink = "#f92672"
+green = "#14b37d"
+bg = "#0f111a"
+bg-light = "#25293a"
+selected = "#414a5b"
+cursor = "#d5d5d5"
+cursor-light = "#92969f"
+bar = "#00b491"
diff --git a/vendor/themes/omicron_dark.toml b/vendor/themes/omicron_dark.toml
new file mode 100644
index 00000000..7fa500f7
--- /dev/null
+++ b/vendor/themes/omicron_dark.toml
@@ -0,0 +1,114 @@
+# Author: Ricardo Fernández Serrata <[email protected]>
+
+error = "err"
+warning = "warn"
+hint = "diag"
+info = "diag"
+diagnostic = { underline = { color = "ghost", style = "curl" } }
+"diagnostic.error" = { underline = { color = "err", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "warn", style = "curl" } }
+"diagnostic.deprecated" = { fg = "code_unsafe", modifiers = ["crossed_out"] }
+
+"ui.background" = { bg = "bg" }
+"ui.window" = { bg = "bg_ui" }
+"ui.gutter" = { bg = "bg_ui" }
+"ui.linenr" = "default_weak"
+"ui.linenr.selected" = "default"
+"ui.text" = "default"
+"ui.text.focus" = { bg = "sel" }
+# secondary
+"ui.cursor" = { fg = "#111", bg = "#ccc" }
+# it only uses 1 cell, and it must be skimmable,
+# so force max contrast
+"ui.cursor.primary" = { fg = "#000", bg = "#fff" }
+"ui.cursor.match" = { bg = "#333" }
+"ui.debug" = "default"
+# it feels questionable, but it's more consistent and clean than `reversed`;
+# some web-browsers do the same
+"ui.selection" = { fg = "#222", bg = "#aaa" }
+"ui.cursorline" = { bg = "sel_weak" }
+"ui.cursorcolumn" = { bg = "sel_weak" }
+"ui.virtual" = "ghost"
+"ui.virtual.ruler" = { bg = "sel_weak" }
+"ui.virtual.inlay-hint" = "ghost"
+# these are ephemeral and user-controllable,
+# are not part of the buffer,
+# should be skimmable,
+# so override FG & BG to guarantee contrast
+# while also signaling that they are special text
+"ui.virtual.jump-label" = { fg = "#fff", bg = "sym" }
+"ui.statusline" = { fg = "default", bg = "bg_ui" }
+"ui.bufferline" = { fg = "default", bg = "bg_ui" }
+"ui.bufferline.active" = { bg = "sel", modifiers = ["bold"] }
+"ui.help" = { fg = "doc", bg = "bg_ui" }
+"ui.highlight" = { bg = "sel" }
+"ui.menu" = { fg = "code", bg = "bg_ui" }
+"ui.menu.selected" = { bg = "sel" }
+"ui.popup" = { fg = "#fff", bg = "#333" }
+"ui.picker.header" = { modifiers = ["bold", "underlined"] }
+
+
+# Tree-Sitter scopes (syntax highlight)
+
+# NOTE: builtin HTML ones can be trivially auto-checked,
+# but custom ones (contain hyphens) need highlighting.
+#"attribute" = {}
+#"tag" = {}
+"tag.error" = { fg = "err", underline = { style = "line" } }
+"constant" = "literal"
+# TO-DO: escapes need highlight, but not unsafe
+"constant.character.escape" = "literal_unsafe"
+# floats are a plague!
+# https://github.com/you-dont-need/You-Dont-Need/issues/13
+"constant.numeric.float" = "literal_unsafe"
+"string" = "literal"
+"string.regexp" = "literal_unsafe"
+"string.special" = "sym"
+"comment" = "doc"
+# some are mutable and can be misused without triggering warns
+#"variable.builtin" = "literal_unsafe"
+"punctuation" = "default_weak"
+# beware of the Halting Problem!
+"keyword.control.repeat" = "code_unsafe"
+"markup.heading" = { modifiers = ["bold"] }
+"markup.heading.marker" = "sym"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = { fg = "sym", underline = { style = "line" } }
+"markup.quote" = "doc"
+
+"markup.normal" = "default"
+"markup.normal.raw" = "code"
+"markup.heading.raw" = "code"
+"markup.raw" = "code"
+
+"diff.plus" = "green" # + add
+"diff.minus" = "red" # - delete
+"diff.delta" = "yellow" # ± edit
+"diff.delta.moved" = "sym" # -> rename
+"diff.delta.conflict" = "err" # ❌
+
+[palette]
+bg = "#000"
+bg_ui = "#111"
+default = "#ccc"
+default_weak = "#999"
+ghost = "#666"
+code = "#9c9"
+code_unsafe = "#fc7"
+red = "#b33"
+green = "#3a3"
+yellow = "#aa3"
+sel = "#333"
+sel_weak = "#171717"
+# I call this "eye-piercing red" because
+# it's designed to be jarring like a laser
+err = "#f20"
+warn = "#ed3"
+diag = "#07f"
+literal = "#0d7"
+literal_unsafe = "#f70"
+sym = "#1af"
+# inspired by ⭐ Gleam's "faf pink"
+doc = "#c7c"
diff --git a/vendor/themes/omicron_light.toml b/vendor/themes/omicron_light.toml
new file mode 100644
index 00000000..1cdcd35b
--- /dev/null
+++ b/vendor/themes/omicron_light.toml
@@ -0,0 +1,115 @@
+# Author: Ricardo Fernández Serrata <[email protected]>
+
+error = "err"
+warning = "warn"
+hint = "diag"
+info = "diag"
+diagnostic = { underline = { color = "ghost", style = "curl" } }
+"diagnostic.error" = { underline = { color = "err", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "warn", style = "curl" } }
+"diagnostic.deprecated" = { fg = "code_unsafe", bg = "code_bg_unsafe", modifiers = [
+ "crossed_out",
+] }
+
+"ui.background" = { bg = "bg" }
+"ui.window" = { bg = "bg_ui" }
+"ui.gutter" = { bg = "bg_ui" }
+"ui.linenr" = "default_weak"
+"ui.linenr.selected" = "default"
+"ui.text" = "default"
+"ui.text.focus" = { bg = "sel" }
+# secondary
+"ui.cursor" = { fg = "#eee", bg = "#333" }
+# it only uses 1 cell, and it must be skimmable,
+# so force max contrast
+"ui.cursor.primary" = { fg = "#fff", bg = "#000" }
+"ui.cursor.match" = { bg = "#ccc" }
+"ui.debug" = "default"
+# it feels questionable, but it's more consistent and clean than `reversed`;
+# some web-browsers do the same
+"ui.selection" = { fg = "#ddd", bg = "#555" }
+"ui.cursorline" = { bg = "sel_weak" }
+"ui.cursorcolumn" = { bg = "sel_weak" }
+"ui.virtual" = "ghost"
+"ui.virtual.ruler" = { bg = "sel_weak" }
+"ui.virtual.inlay-hint" = "ghost"
+# these are ephemeral and user-controllable,
+# are not part of the buffer,
+# should be skimmable,
+# so override FG & BG to guarantee contrast
+# while also signaling that they are special text
+"ui.virtual.jump-label" = { fg = "#000", bg = "sym" }
+"ui.statusline" = { fg = "default", bg = "bg_ui" }
+"ui.bufferline" = { fg = "default", bg = "bg_ui" }
+"ui.bufferline.active" = { bg = "sel", modifiers = ["bold"] }
+"ui.help" = { fg = "doc", bg = "bg_ui" }
+"ui.highlight" = { bg = "sel" }
+"ui.menu" = { fg = "code", bg = "bg_ui" }
+"ui.menu.selected" = { bg = "sel" }
+"ui.popup" = { fg = "#000", bg = "#ccc" }
+"ui.picker.header" = { modifiers = ["bold", "underlined"] }
+
+
+# Tree-Sitter scopes (syntax highlight)
+
+# NOTE: builtin HTML ones can be trivially auto-checked,
+# but custom ones (contain hyphens) need highlighting.
+#"attribute" = {}
+#"tag" = {}
+"tag.error" = { fg = "err", underline = { style = "line" } }
+"constant" = "literal"
+# TO-DO: escapes need highlight, but not unsafe
+"constant.character.escape" = "literal_unsafe"
+# floats are a plague!
+# https://github.com/you-dont-need/You-Dont-Need/issues/13
+"constant.numeric.float" = { fg = "literal_unsafe", bg = "literal_bg_unsafe" }
+"string" = "literal"
+"string.regexp" = { fg = "literal_unsafe", bg = "literal_bg_unsafe" }
+"string.special" = "sym"
+"comment" = "doc"
+# some are mutable and can be misused without triggering warns
+#"variable.builtin" = "literal_unsafe"
+"punctuation" = "default_weak"
+# beware of the Halting Problem!
+"keyword.control.repeat" = { fg = "code_unsafe", bg = "code_bg_unsafe" }
+"markup.heading" = { modifiers = ["bold"] }
+"markup.heading.marker" = "sym"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = { fg = "sym", underline = { style = "line" } }
+"markup.quote" = "doc"
+
+"markup.normal" = "default"
+"markup.normal.raw" = "code"
+"markup.heading.raw" = "code"
+"markup.raw" = "code"
+
+"diff.plus" = "green" # + add
+"diff.minus" = "red" # - delete
+"diff.delta" = "yellow" # ± edit
+"diff.delta.moved" = "sym" # -> rename
+"diff.delta.conflict" = "err" # ❌
+
+[palette]
+bg = "#eee"
+bg_ui = "#ddd"
+default = "#333"
+default_weak = "#666"
+ghost = "#999"
+code = "#363"
+code_unsafe = "#300"
+code_bg_unsafe = "#edd"
+red = "#800"
+green = "#070"
+yellow = "#770"
+sel = "#ccc"
+sel_weak = "#e7e7e7"
+err = "#f00"
+warn = "#ba0"
+diag = "#06a"
+literal = "#093"
+literal_unsafe = "#410"
+literal_bg_unsafe = "#eca"
+sym = "#0af"
+doc = "#707"
diff --git a/vendor/themes/onedark.toml b/vendor/themes/onedark.toml
new file mode 100644
index 00000000..d5edb4eb
--- /dev/null
+++ b/vendor/themes/onedark.toml
@@ -0,0 +1,116 @@
+# Author : Gokul Soumya <[email protected]>
+
+"tag" = { fg = "red" }
+"attribute" = { fg = "yellow" }
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"constant" = { fg = "cyan" }
+"constant.numeric" = { fg = "gold" }
+"constant.builtin" = { fg = "gold" }
+"constant.character.escape" = { fg = "gold" }
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.builtin" = { fg = "blue" }
+"function.macro" = { fg = "purple" }
+"keyword" = { fg = "red" }
+"keyword.control" = { fg = "purple" }
+"keyword.control.import" = { fg = "red" }
+"keyword.directive" = { fg = "purple" }
+"keyword.storage" = { fg = "purple" }
+"label" = { fg = "purple" }
+"namespace" = { fg = "blue" }
+"operator" = { fg = "purple" }
+"keyword.operator" = { fg = "purple" }
+"special" = { fg = "blue" }
+"string" = { fg = "green" }
+"type" = { fg = "yellow" }
+# "variable" = { fg = "blue" }
+"variable.builtin" = { fg = "blue" }
+"variable.parameter" = { fg = "red" }
+"variable.other.member" = { fg = "red" }
+
+"markup.heading" = { fg = "red" }
+"markup.raw.inline" = { fg = "green" }
+"markup.bold" = { fg = "gold", modifiers = ["bold"] }
+"markup.italic" = { fg = "purple", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.list" = { fg = "red" }
+"markup.quote" = { fg = "yellow" }
+"markup.link.url" = { fg = "cyan", modifiers = ["underlined"]}
+"markup.link.text" = { fg = "purple" }
+
+"diff.plus" = "green"
+"diff.delta" = "gold"
+"diff.minus" = "red"
+
+"diagnostic.info".underline = { color = "blue", style = "curl" }
+"diagnostic.hint".underline = { color = "green", 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"] }
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "green", modifiers = ["bold"] }
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+
+"ui.background" = { bg = "black" }
+"ui.virtual" = { fg = "faint-gray" }
+"ui.virtual.indent-guide" = { fg = "faint-gray" }
+"ui.virtual.whitespace" = { fg = "light-gray" }
+"ui.virtual.ruler" = { bg = "gray" }
+"ui.virtual.inlay-hint" = { fg = "light-gray" }
+"ui.virtual.jump-label" = { fg = "light-gray", modifiers = ["bold"] }
+
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "blue", modifiers = ["underlined"]}
+
+"ui.selection" = { bg = "faint-gray" }
+"ui.selection.primary" = { bg = "light-gray" }
+"ui.cursorline.primary" = { bg = "light-black" }
+
+"ui.highlight" = { bg = "gray" }
+"ui.highlight.frameline" = { bg = "#97202a" }
+
+"ui.linenr" = { fg = "linenr" }
+"ui.linenr.selected" = { fg = "white" }
+
+"ui.statusline" = { fg = "white", bg = "light-black" }
+"ui.statusline.inactive" = { fg = "light-gray", bg = "light-black" }
+"ui.statusline.normal" = { fg = "light-black", bg = "blue", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "light-black", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "light-black", bg = "purple", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "light-gray", bg = "light-black" }
+"ui.bufferline.active" = { fg = "light-black", bg = "blue", underline = { color = "light-black", style = "line" } }
+"ui.bufferline.background" = { bg = "light-black" }
+
+"ui.text" = { fg = "white" }
+"ui.text.directory" = { fg = "blue" }
+"ui.text.focus" = { fg = "white", bg = "light-black", modifiers = ["bold"] }
+
+"ui.help" = { fg = "white", bg = "gray" }
+"ui.popup" = { bg = "gray" }
+"ui.window" = { fg = "gray" }
+"ui.menu" = { fg = "white", bg = "gray" }
+"ui.menu.selected" = { fg = "black", bg = "blue" }
+"ui.menu.scroll" = { fg = "white", bg = "light-gray" }
+
+"ui.debug" = { fg = "red" }
+
+[palette]
+
+yellow = "#E5C07B"
+blue = "#61AFEF"
+red = "#E06C75"
+purple = "#C678DD"
+green = "#98C379"
+gold = "#D19A66"
+cyan = "#56B6C2"
+white = "#ABB2BF"
+black = "#282C34"
+light-black = "#2C323C"
+gray = "#3E4452"
+faint-gray = "#3B4048"
+light-gray = "#5C6370"
+linenr = "#4B5263"
diff --git a/vendor/themes/onedark_vibrant.toml b/vendor/themes/onedark_vibrant.toml
new file mode 100644
index 00000000..6f8c6891
--- /dev/null
+++ b/vendor/themes/onedark_vibrant.toml
@@ -0,0 +1,121 @@
+# Author: Based on M47E theme by Mhammed Talhaouy (MIT License)
+# Adapted for Helix editor - Vibrant OneDark variant with aggressive color saturation
+
+# SYNTAX HIGHLIGHTING
+"attribute" = "electric_cyan"
+"comment" = { fg = "bright_gray", modifiers = ["italic"] }
+"constant" = "neon_orange"
+"constant.builtin" = "hot_magenta"
+"constant.character" = "lime_green"
+"constant.character.escape" = "electric_cyan"
+"constant.numeric" = "electric_yellow"
+"constructor" = "sky_blue"
+"diff.delta" = "sky_blue"
+"diff.minus" = "hot_pink"
+"diff.plus" = "lime_green"
+"function" = "sky_blue"
+"function.builtin" = "hot_magenta"
+"function.macro" = "electric_cyan"
+"keyword" = "hot_pink"
+"keyword.control" = "hot_magenta"
+"keyword.directive" = "hot_magenta"
+"label" = "sky_blue"
+"module" = "electric_yellow"
+"namespace" = "electric_yellow"
+"operator" = "hot_pink"
+"punctuation" = "bright_white"
+"punctuation.delimiter" = "bright_white"
+"special" = "electric_cyan"
+"string" = "lime_green"
+"string.regexp" = "electric_cyan"
+"tag" = "hot_pink"
+"type" = "electric_yellow"
+"type.builtin" = "hot_magenta"
+"type.enum.variant" = "electric_cyan"
+"variable" = "bright_white"
+"variable.builtin" = "hot_magenta"
+"variable.other.member" = "bright_white"
+"variable.parameter" = "neon_orange"
+
+# MARKUP
+"markup.heading" = { fg = "sky_blue", modifiers = ["bold"] }
+"markup.list" = "hot_pink"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "electric_cyan", underline = { style = "line" } }
+"markup.link.text" = "sky_blue"
+"markup.quote" = "electric_yellow"
+"markup.raw" = "neon_orange"
+
+# UI INTERFACE
+"ui.background" = { bg = "deep_black" }
+"ui.cursor" = { bg = "electric_yellow", fg = "deep_black" }
+"ui.cursor.primary" = { bg = "electric_yellow", fg = "deep_black" }
+"ui.cursor.match" = { bg = "hot_magenta", fg = "deep_black" }
+"ui.cursor.select" = { bg = "selection_purple" }
+"ui.cursorline.primary" = { bg = "dark_surface" }
+"ui.gutter" = { bg = "deep_black" }
+"ui.gutter.selected" = { bg = "dark_surface" }
+"ui.linenr" = "medium_gray"
+"ui.linenr.selected" = { fg = "electric_yellow", modifiers = ["bold"] }
+"ui.menu" = { fg = "bright_white", bg = "popup_black" }
+"ui.menu.selected" = { fg = "deep_black", bg = "sky_blue" }
+"ui.menu.scroll" = { fg = "bright_white", bg = "bright_gray" }
+"ui.popup" = { fg = "bright_white", bg = "popup_black" }
+"ui.popup.info" = { fg = "electric_cyan", bg = "popup_black" }
+"ui.selection" = { bg = "selection_purple" }
+"ui.selection.primary" = { bg = "selection_purple" }
+"ui.statusline" = { fg = "bright_white", bg = "status_dark" }
+"ui.statusline.inactive" = { fg = "bright_gray", bg = "status_dark" }
+"ui.statusline.normal" = { fg = "deep_black", bg = "sky_blue" }
+"ui.statusline.insert" = { fg = "deep_black", bg = "lime_green" }
+"ui.statusline.select" = { fg = "deep_black", bg = "hot_magenta" }
+"ui.text" = "bright_white"
+"ui.text.focus" = { fg = "electric_yellow", bg = "selection_bg", modifiers = ["bold"] }
+"ui.virtual.indent-guide" = "indent_dark"
+"ui.virtual.inlay-hint" = { fg = "bright_gray", bg = "hint_dark" }
+"ui.virtual.jump-label" = { fg = "deep_black", bg = "electric_yellow", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "ruler_dark" }
+"ui.virtual.whitespace" = "whitespace_gray"
+"ui.virtual.wrap" = "bright_gray"
+"ui.window" = "border_gray"
+"ui.help" = { fg = "bright_white", bg = "popup_black" }
+
+# DIAGNOSTICS
+"error" = "hot_pink"
+"warning" = "electric_yellow"
+"info" = "sky_blue"
+"hint" = "electric_cyan"
+"diagnostic.error" = { underline = { color = "hot_pink", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "electric_yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "sky_blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "electric_cyan", style = "curl" } }
+
+[palette]
+# Vibrant colors with ORIGINAL OneDark backgrounds
+deep_black = "#282C34" # SAME as original OneDark
+bright_white = "#e6efff" # Slightly enhanced white
+bright_gray = "#c5d1e4" # Enhanced gray
+medium_gray = "#8691a8" # Enhanced medium gray
+
+# MORE vibrant OneDark colors - increased saturation
+hot_pink = "#ff6ba7" # More vibrant red/pink (was #E06C75)
+lime_green = "#6ee76e" # More vibrant green (was #98C379)
+electric_yellow = "#ffd93d" # More vibrant yellow (was #E5C07B)
+sky_blue = "#3fb8ff" # More vibrant blue (was #61AFEF)
+hot_magenta = "#e455ff" # More vibrant purple (was #C678DD)
+electric_cyan = "#2dd4da" # More vibrant cyan (was #56B6C2)
+neon_orange = "#ff9f40" # More vibrant gold (was #D19A66)
+
+# UI backgrounds - SAME as original OneDark
+dark_surface = "#2C323C" # SAME as original light-black
+popup_black = "#21252B" # Similar to original darker areas
+status_dark = "#21252B" # Darker status bar
+selection_purple = "#e455ff" # Semi-transparent enhanced purple
+selection_bg = "#3E4452" # SAME as original gray
+border_gray = "#3E4452" # SAME as original gray
+indent_dark = "#3B4048" # SAME as original faint-gray
+hint_dark = "#2C323C" # SAME as original light-black
+ruler_dark = "#3E4452" # SAME as original gray
+whitespace_gray = "#3B4048" # SAME as original faint-gray
diff --git a/vendor/themes/onedarker.toml b/vendor/themes/onedarker.toml
new file mode 100644
index 00000000..b65bd86b
--- /dev/null
+++ b/vendor/themes/onedarker.toml
@@ -0,0 +1,116 @@
+# Author : nuid32 <[email protected]>
+
+"attribute" = { fg = "yellow" }
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"constant" = { fg = "gold" }
+"constant.numeric" = { fg = "gold" }
+"constant.builtin" = { fg = "gold" }
+"constant.character.escape" = { fg = "gold" }
+"constructor" = { fg = "blue" }
+"function" = { fg = "white" }
+"function.builtin" = { fg = "blue" }
+"function.macro" = { fg = "purple" }
+"keyword" = { fg = "purple" }
+"keyword.control" = { fg = "purple" }
+"keyword.control.import" = { fg = "purple" }
+"keyword.directive" = { fg = "purple" }
+"label" = { fg = "purple" }
+"namespace" = { fg = "purple" }
+"operator" = { fg = "white" }
+"keyword.operator" = { fg = "white" }
+"special" = { fg = "blue" }
+"string" = { fg = "green" }
+"tag" = { fg = "purple" }
+"type" = { fg = "yellow" }
+"variable" = { fg = "white" }
+"variable.builtin" = { fg = "red" }
+"variable.parameter" = { fg = "red" }
+"variable.other.member" = { fg = "blue" }
+
+"markup.heading" = { fg = "red" }
+"markup.raw.inline" = { fg = "green" }
+"markup.raw.block" = { fg = "white" }
+"markup.bold" = { fg = "gold", modifiers = ["bold"] }
+"markup.italic" = { fg = "purple", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.list" = { fg = "red" }
+"markup.quote" = { fg = "yellow" }
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"]}
+"markup.link.text" = { fg = "white" }
+"markup.link.label" = { fg = "white" }
+
+"diff.plus" = "green"
+"diff.delta" = "gold"
+"diff.minus" = "red"
+
+"diagnostic.info".underline = { color = "blue", style = "curl" }
+"diagnostic.hint".underline = { color = "green", 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"] }
+
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "green", modifiers = ["bold"] }
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+
+"ui.background" = { bg = "black" }
+"ui.virtual" = { fg = "faint-gray" }
+"ui.virtual.indent-guide" = { fg = "faint-gray" }
+"ui.virtual.whitespace" = { fg = "light-gray" }
+"ui.virtual.ruler" = { bg = "gray" }
+"ui.virtual.inlay-hint" = { fg = "light-gray" }
+"ui.virtual.jump-label" = { fg = "gold", modifiers = ["bold", "underlined"] }
+
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "blue", modifiers = ["underlined"]}
+
+"ui.selection" = { bg = "black", modifiers = ["reversed"] }
+"ui.selection.primary" = { bg = "gray" }
+"ui.cursorline.primary" = { bg = "dark-black" }
+
+"ui.linenr" = { fg = "linenr" }
+"ui.linenr.selected" = { fg = "white" }
+
+"ui.statusline" = { fg = "white", bg = "light-black" }
+"ui.statusline.inactive" = { fg = "light-gray", bg = "light-black" }
+"ui.statusline.normal" = { fg = "light-black", bg = "purple", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "light-black", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "light-black", bg = "cyan", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "light-gray", bg = "light-black" }
+"ui.bufferline.active" = { fg = "light-black", bg = "blue", underline = { color = "light-black", style = "line" } }
+"ui.bufferline.background" = { bg = "light-black" }
+
+"ui.text" = { fg = "white" }
+"ui.text.directory" = { fg = "blue" }
+"ui.text.focus" = { fg = "white", bg = "light-black", modifiers = ["bold"] }
+
+"ui.help" = { fg = "white", bg = "gray" }
+"ui.debug" = { fg = "red" }
+"ui.highlight.frameline" = { bg = "#97202a" }
+"ui.popup" = { bg = "gray" }
+"ui.window" = { fg = "gray" }
+"ui.menu" = { fg = "white", bg = "gray" }
+"ui.menu.selected" = { fg = "black", bg = "blue" }
+"ui.menu.scroll" = { fg = "white", bg = "light-gray" }
+
+[palette]
+
+yellow = "#D5B06B"
+blue = "#519FDF"
+red = "#D05C65"
+purple = "#B668CD"
+green = "#7DA869"
+gold = "#D19A66"
+cyan = "#46A6B2"
+white = "#ABB2BF"
+black = "#16181A"
+dark-black = "#12100E"
+light-black = "#2C323C"
+gray = "#252D30"
+faint-gray = "#ABB2BF"
+light-gray = "#636C6E"
+linenr = "#282C34"
diff --git a/vendor/themes/onedarker_vibrant.toml b/vendor/themes/onedarker_vibrant.toml
new file mode 100644
index 00000000..af75ba83
--- /dev/null
+++ b/vendor/themes/onedarker_vibrant.toml
@@ -0,0 +1,121 @@
+# Author: Based on M47E theme by Mhammed Talhaouy (MIT License)
+# Adapted for Helix editor - Vibrant OneDarker variant with aggressive color saturation
+
+# SYNTAX HIGHLIGHTING
+"attribute" = "electric_cyan"
+"comment" = { fg = "bright_gray", modifiers = ["italic"] }
+"constant" = "neon_orange"
+"constant.builtin" = "hot_magenta"
+"constant.character" = "lime_green"
+"constant.character.escape" = "electric_cyan"
+"constant.numeric" = "electric_yellow"
+"constructor" = "sky_blue"
+"diff.delta" = "sky_blue"
+"diff.minus" = "hot_pink"
+"diff.plus" = "lime_green"
+"function" = "sky_blue"
+"function.builtin" = "hot_magenta"
+"function.macro" = "electric_cyan"
+"keyword" = "hot_pink"
+"keyword.control" = "hot_magenta"
+"keyword.directive" = "hot_magenta"
+"label" = "sky_blue"
+"module" = "electric_yellow"
+"namespace" = "electric_yellow"
+"operator" = "hot_pink"
+"punctuation" = "bright_white"
+"punctuation.delimiter" = "bright_white"
+"special" = "electric_cyan"
+"string" = "lime_green"
+"string.regexp" = "electric_cyan"
+"tag" = "hot_pink"
+"type" = "electric_yellow"
+"type.builtin" = "hot_magenta"
+"type.enum.variant" = "electric_cyan"
+"variable" = "bright_white"
+"variable.builtin" = "hot_magenta"
+"variable.other.member" = "bright_white"
+"variable.parameter" = "neon_orange"
+
+# MARKUP
+"markup.heading" = { fg = "sky_blue", modifiers = ["bold"] }
+"markup.list" = "hot_pink"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "electric_cyan", underline = { style = "line" } }
+"markup.link.text" = "sky_blue"
+"markup.quote" = "electric_yellow"
+"markup.raw" = "neon_orange"
+
+# UI INTERFACE
+"ui.background" = { bg = "ultra_black" }
+"ui.cursor" = { bg = "electric_yellow", fg = "ultra_black" }
+"ui.cursor.primary" = { bg = "electric_yellow", fg = "ultra_black" }
+"ui.cursor.match" = { bg = "hot_magenta", fg = "ultra_black" }
+"ui.cursor.select" = { bg = "selection_purple" }
+"ui.cursorline.primary" = { bg = "darker_surface" }
+"ui.gutter" = { bg = "ultra_black" }
+"ui.gutter.selected" = { bg = "darker_surface" }
+"ui.linenr" = "darker_gray"
+"ui.linenr.selected" = { fg = "electric_yellow", modifiers = ["bold"] }
+"ui.menu" = { fg = "bright_white", bg = "darker_popup" }
+"ui.menu.selected" = { fg = "ultra_black", bg = "electric_cyan" }
+"ui.menu.scroll" = { fg = "bright_white", bg = "bright_gray" }
+"ui.popup" = { fg = "bright_white", bg = "darker_popup" }
+"ui.popup.info" = { fg = "electric_cyan", bg = "darker_popup" }
+"ui.selection" = { bg = "selection_purple" }
+"ui.selection.primary" = { bg = "selection_purple" }
+"ui.statusline" = { fg = "bright_white", bg = "darker_status" }
+"ui.statusline.inactive" = { fg = "bright_gray", bg = "darker_status" }
+"ui.statusline.normal" = { fg = "ultra_black", bg = "sky_blue" }
+"ui.statusline.insert" = { fg = "ultra_black", bg = "lime_green" }
+"ui.statusline.select" = { fg = "ultra_black", bg = "hot_magenta" }
+"ui.text" = "bright_white"
+"ui.text.focus" = { fg = "electric_yellow", bg = "darker_selection", modifiers = ["bold"] }
+"ui.virtual.indent-guide" = "darker_indent"
+"ui.virtual.inlay-hint" = { fg = "bright_gray", bg = "darker_hint" }
+"ui.virtual.jump-label" = { fg = "ultra_black", bg = "electric_yellow", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "darker_ruler" }
+"ui.virtual.whitespace" = "darker_whitespace"
+"ui.virtual.wrap" = "bright_gray"
+"ui.window" = "darker_border"
+"ui.help" = { fg = "bright_white", bg = "darker_popup" }
+
+# DIAGNOSTICS
+"error" = "hot_pink"
+"warning" = "electric_yellow"
+"info" = "sky_blue"
+"hint" = "electric_cyan"
+"diagnostic.error" = { underline = { color = "hot_pink", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "electric_yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "sky_blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "electric_cyan", style = "curl" } }
+
+[palette]
+# Vibrant colors with ORIGINAL OneDarker backgrounds
+ultra_black = "#16181A" # SAME as original OneDarker black
+bright_white = "#d5dae6" # Enhanced white
+bright_gray = "#b4bcc8" # Enhanced gray
+darker_gray = "#7a8590" # Enhanced medium gray
+
+# MORE vibrant OneDarker colors - increased saturation
+hot_pink = "#ff5d8f" # More vibrant red (was #D05C65)
+lime_green = "#5dd75d" # More vibrant green (was #7DA869)
+electric_yellow = "#e8d154" # More vibrant yellow (was #D5B06B)
+sky_blue = "#2fa5f0" # More vibrant blue (was #519FDF)
+hot_magenta = "#d147ff" # More vibrant purple (was #B668CD)
+electric_cyan = "#1abde0" # More vibrant cyan (was #46A6B2)
+neon_orange = "#ff8f35" # More vibrant gold (same as OneDark: #D19A66)
+
+# UI backgrounds - SAME as original OneDarker
+darker_surface = "#2C323C" # SAME as original light-black
+darker_popup = "#12100E" # SAME as original dark-black
+darker_status = "#252D30" # SAME as original gray
+selection_purple = "#d147ff" # Semi-transparent enhanced purple
+darker_selection = "#2C323C" # SAME as original light-black
+darker_border = "#252D30" # SAME as original gray
+darker_indent = "#2C323C" # SAME as original light-black
+darker_hint = "#2C323C" # SAME as original light-black
+darker_ruler = "#252D30" # SAME as original gray
+darker_whitespace = "#252D30" # SAME as original gray
diff --git a/vendor/themes/onelight.toml b/vendor/themes/onelight.toml
new file mode 100644
index 00000000..9fc8ef65
--- /dev/null
+++ b/vendor/themes/onelight.toml
@@ -0,0 +1,201 @@
+# Author : erasin<[email protected]>
+
+"attribute" = { fg = "yellow" }
+"label" = { fg = "cyan" }
+"operator" = { fg = "red" }
+"tag" = { fg = "cyan" }
+"special" = { fg = "deep-purple" }
+"property" = { fg = "purple" }
+"constructor" = { fg = "blue" }
+"namespace" = { fg = "blue" }
+"module" = { fg = "blue" }
+
+"type" = { fg = "gold" }
+"type.builtin" = { fg = "yellow" }
+"type.enum" = { fg = "cyan" }
+"type.enum.variant" = { fg = "cyan" }
+
+"constant" = { fg = "cyan", modifiers = ["bold"] }
+"constant.builtin" = { fg = "deep-purple" }
+"constant.builtin.boolean" = { fg = "purple" , modifiers = ["bold"]}
+"constant.character" = { fg = "green" }
+"constant.character.escape" = { fg = "brown" , modifiers = ["bold"]}
+"constant.numeric" = { fg = "brown" , modifiers = ["bold"]}
+"constant.numeric.integer" = { fg = "brown" , modifiers = ["bold"]}
+"constant.numeric.float" = { fg = "brown" , modifiers = ["bold"]}
+
+"string" = { fg = "green" }
+"string.regexp" = { fg = "purple" }
+"string.special" = { fg = "green" }
+"string.special.path" = { fg = "blue" }
+"string.special.url" = { fg = "light-blue" }
+"string.special.symbol" = { fg = "pink" }
+
+"comment" = { fg = "grey", modifiers = ["italic"] }
+"comment.line" = { fg = "grey", modifiers = ["italic"] }
+"comment.line.documentation" = { fg = "grey", modifiers = ["italic"] }
+"comment.block" = { fg = "grey", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "grey", modifiers = ["italic"] }
+
+# "variable" = { fg = "black" }
+"variable.builtin" = { fg = "light-blue" }
+"variable.parameter" = { fg = "red" }
+"variable.other" = { fg = "pink" }
+"variable.other.member" = { fg = "pink" }
+
+"punctuation" = { fg = "black" }
+"punctuation.delimiter" = { fg = "purple" }
+"punctuation.bracket" = { fg = "brown" }
+"punctuation.special" = { fg = "brown" }
+
+"keyword" = { fg = "purple" }
+"keyword.control" = { fg = "purple" }
+"keyword.control.conditional" = { fg = "red", modifiers = ["bold"] }
+"keyword.control.repeat" = { fg = "pink", modifiers = ["bold"] }
+"keyword.control.import" = { fg = "red" }
+"keyword.control.return" = { fg = "deep-purple", modifiers = ["bold"] }
+"keyword.control.exception" = { fg = "purple" }
+"keyword.operator" = { fg = "red" }
+"keyword.directive" = { fg = "deep-purple" }
+"keyword.function" = { fg = "purple" }
+"keyword.storage" = { fg = "purple" }
+"keyword.storage.type" = { fg = "purple" }
+"keyword.storage.modifier" = { fg = "purple", modifiers = ["bold"] }
+
+"function" = { fg = "blue" }
+"function.builtin" = { fg = "cyan" }
+"function.method" = { fg = "light-blue" }
+"function.macro" = { fg = "pink", modifiers = ["bold"] }
+"function.special" = { fg = "cyan" }
+
+"markup.heading" = { fg = "red" }
+"markup.heading.marker" = { fg = "red" }
+"markup.heading.1" = { fg = "red", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "gold", modifiers = [
+ "bold",
+], underline = { style = "line" } }
+"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" = { fg = "light-blue" }
+"markup.list.unnumbered" = { fg = "light-blue" }
+"markup.list.numbered" = { fg = "light-blue" }
+"markup.list.checked" = { fg = "green" }
+"markup.list.unchecked" = { fg = "blue" }
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "purple", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "red", modifiers = ["crossed_out"] }
+"markup.link" = { fg = "light-blue" }
+"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "light-blue" }
+"markup.quote" = { fg = "grey" }
+"markup.raw" = { fg = "brown" }
+"markup.raw.inline" = { fg = "green" }
+"markup.raw.block" = { fg = "brown" }
+
+"diff" = { fg = "red" }
+"diff.plus" = { fg = "green" }
+"diff.minus" = { fg = "red" }
+"diff.delta" = { fg = "cyan" }
+"diff.delta.moved" = { fg = "cyan" }
+"diff.delta.conflict" = {fg = "blue"}
+
+"ui.background" = { bg = "white" }
+"ui.background.separator" = { bg = "white" }
+
+"ui.cursor" = { fg = "white", bg = "grey" }
+"ui.cursor.normal" = { fg = "white", bg = "grey" }
+"ui.cursor.insert" = { fg = "white", bg = "grey" }
+"ui.cursor.select" = { fg = "white", bg = "grey" }
+"ui.cursor.match" = { bg = "grey-300", modifiers = ["bold"] }
+"ui.cursor.primary" = { fg = "white", bg = "black" }
+"ui.cursor.primary.normal" = { fg = "white", bg = "black" }
+"ui.cursor.primary.insert" = { fg = "red", bg = "black" }
+"ui.cursor.primary.select" = { fg = "white", bg = "black" }
+
+"ui.gutter" = { fg = "grey-500" }
+"ui.gutter.selected" = { fg = "black" }
+
+"ui.linenr" = { fg = "grey-500" }
+"ui.linenr.selected" = { fg = "black", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "black", bg = "grey-300" }
+"ui.statusline.inactive" = { fg = "grey", bg = "grey-200" }
+"ui.statusline.normal" = { fg = "grey-300", bg = "light-blue" }
+"ui.statusline.insert" = { fg = "grey-300", bg = "green" }
+"ui.statusline.select" = { fg = "grey-300", bg = "purple" }
+
+"ui.popup" = { fg = "black", bg = "grey-200" }
+"ui.popup.info" = { fg = "black", bg = "grey-200" }
+"ui.window" = { fg = "grey-500", bg = "grey-100" }
+"ui.help" = { fg = "black", bg = "grey-200" }
+
+"ui.text" = { fg = "black" }
+"ui.text.focus" = { fg = "red", bg = "grey-300", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "grey" }
+"ui.text.info" = { fg = "black" }
+"ui.text.directory" = { fg = "blue", underline = { style = "line" } }
+
+"ui.virtual" = { fg = "grey-500" }
+"ui.virtual.ruler" = { bg = "grey-200" }
+"ui.virtual.wrap" = { fg = "grey-500" }
+"ui.virtual.whitespace" = { fg = "grey-400" }
+"ui.virtual.indent-guide" = { fg = "grey-500" }
+"ui.virtual.inlay-hint" = { fg = "grey-500" }
+"ui.virtual.inlay-hint.parameter" = { fg = "grey-500", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "grey-500" }
+"ui.virtual.jump-label" = { fg = "black", bg = "grey-200", modifiers = ["bold" ] }
+
+"ui.menu" = { fg = "black", bg = "grey-300" }
+"ui.menu.selected" = { fg = "white", bg = "light-blue" }
+"ui.menu.scroll" = { fg = "light-blue", bg = "white" }
+
+"ui.selection" = { bg = "grey-300", modifiers = ["dim"] }
+"ui.selection.primary" = { bg = "grey-300" }
+
+"ui.cursorline.primary" = { fg = "white", bg = "grey-100" }
+"ui.cursorline.secondary" = { fg = "white", bg = "grey-200" }
+
+"ui.cursorcolumn.primary" = { fg = "white", bg = "grey-100" }
+"ui.cursorcolumn.secondary" = { fg = "white", bg = "grey-200" }
+
+"ui.highlight" = { bg = "grey-300" }
+
+"ui.picker.header" = { fg = "purple"}
+"ui.picker.header.column.active" = { fg = "blue"}
+
+"diagnostic.info" = { underline = { color = "blue", style = "dotted" } }
+"diagnostic.hint" = { underline = { color = "green", style = "dashed" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "green", modifiers = ["bold"] }
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+
+"tabstop" = { modifiers = ["italic"], bg = "grey-300" }
+
+[palette]
+white = "#FAFAFA"
+yellow = "#FF6F00"
+gold = "#D35400"
+brown = "#795548"
+blue = "#0061FF"
+light-blue = "#0091EA"
+red = "#D50000"
+pink = "#C2185B"
+purple = "#B500A9"
+deep-purple = "#651FFF"
+green = "#24A443"
+cyan = "#0086C1"
+black = "#282C34"
+grey = "#5C6370"
+grey-500 = "#9E9E9E"
+grey-400 = "#BDBDBD"
+grey-300 = "#E0E0E0"
+grey-200 = "#EEEEEE"
+grey-100 = "#F2F2F2"
diff --git a/vendor/themes/papercolor-dark.toml b/vendor/themes/papercolor-dark.toml
new file mode 100644
index 00000000..6e6dc0c3
--- /dev/null
+++ b/vendor/themes/papercolor-dark.toml
@@ -0,0 +1,75 @@
+# Palette based on https://github.com/NLKNguyen/papercolor-theme
+# Author: Soc Virnyl Estela <[email protected]>
+
+inherits = "papercolor-light"
+
+[palette]
+background = "#1c1c1c"
+foreground = "#d0d0d0"
+
+regular0 = "#1c1c1c" # color00 "Background"
+regular1 = "#af005f" # color01 "Negative"
+regular2 = "#5faf00" # color02 "Positive"
+regular3 = "#d7af5f" # color03 "Olive"
+regular4 = "#5fafd7" # color04 "Neutral" / Aqua
+regular5 = "#808080" # color05 "Comment"
+regular6 = "#d7875f" # color06 "Navy"
+regular7 = "#d0d0d0" # color07 "Foreground"
+bright0 = "#585858" # color08 "Nontext"
+bright1 = "#5faf5f" # color09 "Red"
+bright2 = "#afd700" # color10 "Pink"
+bright3 = "#af87d7" # color11 "Purple"
+bright4 = "#ffaf00" # color12 "Accent"
+bright5 = "#ff5faf" # color13 "Orange"
+bright6 = "#00afaf" # color14 "Blue"
+bright7 = "#5f8787" # color15 "Highlight"
+
+selection_fg = "#000000"
+selection_bg = "#8787af"
+selection_secondary_fg = "#333333"
+selection_secondary_bg = "#707097"
+special = "#3e999f"
+
+cursorline_bg = "#303030"
+cursorline_secondary_bg = "#2a2a2a"
+cursorcolumn_bg = "#303030"
+cursorcolumn_secondary_bg = "#2a2a2a"
+cursorlinenr_fg = "#ffff00"
+popupmenu_fg = "#c6c6c6"
+popupmenu_bg = "#303030"
+linenumber_fg = "#585858"
+vertsplit_fg = "#5f8787"
+statusline_active_fg = "#1c1c1c"
+statusline_active_bg = "#5f8787"
+statusline_inactive_fg = "#bcbcbc"
+statusline_inactive_bg = "#3a3a3a"
+todo_fg = "#ff8700"
+error_fg = "#af005f"
+error_bg = "#5f0000"
+matchparen_bg = "#4e4e4e"
+matchparen_fg = "#c6c6c6"
+wildmenu_fg = "#1c1c1c"
+wildmenu_bg = "#afd700"
+diffadd_fg = "#87d700"
+diffadd_bg = "#005f00"
+diffdelete_fg = "#af005f"
+diffdelete_bg = "#5f0000"
+diffchange_bg = "#005f5f"
+
+# 16 bit ANSI color names
+black = "#1c1c1c"
+red = "#af005f"
+green = "#5faf00"
+yellow = "#d7af5f"
+blue = "#5fafd7"
+magenta = "#808080"
+cyan = "#d7875f"
+white = "#d0d0d0"
+light-black = "#585858"
+light-red = "#5faf5f"
+light-green = "#afd700"
+light-yellow = "#af87d7"
+light-blue = "#ffaf00"
+light-magenta = "#ff5faf"
+light-cyan = "#00afaf"
+light-white = "#5f8787"
diff --git a/vendor/themes/papercolor-light.toml b/vendor/themes/papercolor-light.toml
new file mode 100644
index 00000000..803c1b6a
--- /dev/null
+++ b/vendor/themes/papercolor-light.toml
@@ -0,0 +1,219 @@
+# Palette based on https://github.com/NLKNguyen/papercolor-theme
+# Author: Soc Virnyl Estela <[email protected]>
+
+"ui.linenr.selected" = { fg = "cursorlinenr_fg", modifiers = ["bold"] }
+"ui.linenr" = { fg = "linenumber_fg" }
+"ui.background" = { bg = "background" }
+"ui.text" = "foreground"
+"ui.text.focus" = { fg = "selection_bg", modifiers = ["bold"] }
+"ui.selection" = { bg = "selection_secondary_bg", fg = "selection_secondary_fg" }
+"ui.selection.primary" = { bg = "selection_bg", fg = "selection_fg" }
+"ui.highlight" = { bg = "cursorline_bg" }
+
+"ui.cursorline" = { bg = "cursorline_bg" }
+"ui.cursorline.secondary" = { bg = "cursorline_secondary_bg" }
+"ui.cursorcolumn" = { bg = "cursorline_bg" }
+"ui.cursorcolumn.secondary" = { bg = "cursorcolumn_secondary_bg" }
+
+"ui.statusline" = { bg = "statusline_active_bg", fg = "statusline_active_fg" }
+"ui.statusline.inactive" = { bg = "statusline_inactive_bg", fg = "statusline_inactive_fg" }
+"ui.statusline.normal" = { bg = "statusline_inactive_bg", fg = "bright6" }
+"ui.statusline.insert" = { bg = "statusline_inactive_bg", fg = "bright4" }
+"ui.statusline.select" = { bg = "statusline_inactive_bg", fg = "regular3" }
+"ui.statusline.separator" = { bg = "statusline_active_bg", fg = "statusline_active_bg" }
+
+"ui.virtual" = { fg = "cursorlinenr_fg" }
+"ui.virtual.whitespace" = { fg = "regular5" }
+"ui.virtual.indent-guide" = { fg = "bright0" }
+"ui.virtual.ruler" = { bg = "cursorline_secondary_bg", fg = "regular4" }
+"ui.virtual.inlay-hint" = { fg = "regular5", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.parameter" = { fg = "regular5", modifiers = ["italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "regular5", modifiers = ["bold", "italic"] }
+"ui.virtual.jump-label" = { fg = "bright1", modifiers = ["bold"] }
+"ui.cursor.match" = { bg = "matchparen_bg", fg = "matchparen_fg" }
+"ui.cursor" = { bg = "regular5", fg = "background" }
+"ui.cursor.primary" = { bg = "foreground", fg = "background" }
+"ui.window" = { fg = "vertsplit_fg" }
+"ui.help" = { bg = "wildmenu_bg", fg = "wildmenu_fg" }
+"ui.popup" = { bg = "popupmenu_bg", fg = "popupmenu_fg" }
+"ui.popup.info" = { bg = "popupmenu_bg", fg = "bright7", modifiers = ["bold"] }
+"ui.menu" = { bg = "popupmenu_bg", fg = "foreground" }
+"ui.menu.selected" = { bg = "selection_bg", fg = "selection_fg" }
+
+"warning" = "bright4"
+"hint" = "bright6"
+"error" = { bg = "error_bg", fg = "error_fg" }
+"info" = "todo_fg"
+
+"diagnostic.warning" = { fg = "bright0", modifiers = [
+ "dim",
+], underline = { color = "bright5", style = "curl" } }
+"diagnostic.error".underline = { color = "bright1", style = "curl" }
+"diagnostic.info".underline = { color = "bright4", style = "curl" }
+"diagnostic.hint".underline = { color = "bright6", style = "curl" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+# Tree-sitter scopes for syntax highlighting
+"attribute" = "bright4"
+
+"type" = { fg = "bright2", modifiers = ["bold"] }
+"type.builtin" = { fg = "bright2", modifiers = ["bold"] }
+"type.parameter" = { fg = "foreground" }
+"type.enum" = { fg = "foreground" }
+"type.enum.variant" = { fg = "foreground" }
+
+"constructor" = "foreground"
+
+"constant" = "bright5"
+"constant.builtin" = "regular3"
+"constant.builtin.boolean" = { fg = "regular2", modifiers = ["bold"] }
+"constant.character.escape" = { fg = "bright3", modifiers = ["bold"] }
+"constant.character" = { fg = "regular3" }
+"constant.numeric" = "bright5"
+
+"string" = "regular3"
+"string.regexp" = "bright3"
+
+"comment" = { fg = "regular5", modifiers = ["italic"] }
+"comment.line" = { fg = "regular5", modifiers = ["italic"] }
+"comment.line.documentation" = { fg = "regular5", modifiers = ["bold"] }
+"comment.block" = { fg = "regular5", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "regular5", modifiers = ["bold"] }
+
+"variable" = "foreground"
+"variable.builtin" = "bright5"
+"variable.other.member" = "foreground"
+"variable.parameter" = "foreground"
+
+"label" = { fg = "selection_bg", modifiers = ["bold", "italic"] }
+
+"punctuation" = { fg = "foreground" }
+"punctuation.delimiter" = { fg = "regular4", modifiers = ["bold"] }
+"punctuation.bracket" = { fg = "foreground" }
+"punctuation.special" = { fg = "bright1", modifiers = ["bold"] }
+
+"keyword" = { fg = "bright2" }
+"keyword.control" = "bright1"
+"keyword.control.conditional" = { fg = "bright3", modifiers = ["bold"] }
+"keyword.control.repeat" = { fg = "bright3", modifiers = ["bold"] }
+"keyword.control.import" = { fg = "bright2" }
+"keyword.control.return" = { fg = "bright2" }
+"keyword.control.exception" = { fg = "bright1" }
+
+"keyword.operator" = { fg = "regular4", modifiers = ["bold"] }
+"keyword.directive" = "regular4"
+"keyword.function" = "bright2"
+"keyword.storage" = "bright2"
+"keyword.storage.type" = { fg = "regular4", modifiers = ["bold"] }
+"keyword.storage.modifier" = { fg = "regular6", modifiers = ["bold"] }
+"keyword.storage.modifier.ref" = { fg = "regular4", modifiers = ["bold"] }
+"keyword.special" = "bright1"
+
+"operator" = { fg = "regular4", modifiers = ["bold"] }
+
+"function" = { fg = "foreground" }
+"function.builtin" = { fg = "bright6" }
+"function.method" = { fg = "foreground" }
+"function.macro" = { fg = "regular3", modifiers = ["bold"] }
+"function.special" = { fg = "bright4" }
+
+"tag" = { fg = "regular4" }
+
+"namespace" = "bright6"
+
+"special" = "special"
+
+"markup.heading" = { fg = "bright4", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "bright2", modifiers = ["bold"] }
+"markup.heading.1" = { fg = "bright2", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "bright5", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "bright3", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "bright4", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "bright4", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "bright4", modifiers = ["bold"] }
+"markup.list" = "regular4"
+"markup.bold" = { fg = "foreground", modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "bright6", underline.style = "line" }
+"markup.link.text" = "bright2"
+"markup.link.label" = { fg = "regular2", modifiers = ["bold"] }
+"markup.quote" = "regular4"
+# Both inline and block code
+"markup.raw" = "regular3"
+
+"diff.plus" = { bg = "diffadd_bg", fg = "diffadd_fg" }
+"diff.delta" = { bg = "diffchange_bg" }
+"diff.delta.moved" = { modifiers = ["italic"] }
+"diff.minus" = { bg = "diffdelete_bg", fg = "diffdelete_fg" }
+
+[palette]
+background = "#eeeeee"
+foreground = "#444444"
+regular0 = "#eeeeee" # color00 "Background"
+regular1 = "#af0000" # color01 "Negative"
+regular2 = "#008700" # color02 "Positive"
+regular3 = "#5f8700" # color03 "Olve"
+regular4 = "#0087af" # color04 "Neutral" / Aqua
+regular5 = "#878787" # color05 "Comment"
+regular6 = "#005f87" # color06 "Navy"
+regular7 = "#444444" # color07 "Foreground"
+bright0 = "#bcbcbc" # color08 "Nontext"
+bright1 = "#d70000" # color09 "Red"
+bright2 = "#d70087" # color10 "Pink"
+bright3 = "#8700af" # color11 "Purple"
+bright4 = "#d75f00" # color12 "Accent"
+bright5 = "#d75f00" # color13 "Orange"
+bright6 = "#005faf" # color14 "Blue"
+bright7 = "#005f87" # color15 "Highlight"
+
+selection_fg = "#eeeeee"
+selection_bg = "#0087af"
+selection_secondary_fg = "#d9d7d7"
+selection_secondary_bg = "#2c687a"
+special = "#3e999f"
+
+cursorline_bg = "#e4e4e4"
+cursorline_secondary_bg = "#eaeaea"
+cursorcolumn_bg = "#e4e4e4"
+cursorcolumn_secondary_bg = "#eaeaea"
+cursorlinenr_fg = "#af5f00"
+popupmenu_fg = "#444444"
+popupmenu_bg = "#d0d0d0"
+linenumber_fg = "#b2b2b2"
+vertsplit_fg = "#005f87"
+statusline_active_fg = "#e4e4e4"
+statusline_active_bg = "#005f87"
+statusline_inactive_fg = "#444444"
+statusline_inactive_bg = "#d0d0d0"
+todo_fg = "#00af5f"
+error_fg = "#af0000"
+error_bg = "#ffd7ff"
+matchparen_bg = "#c6c6c6"
+matchparen_fg = "#005f87"
+wildmenu_fg = "#444444"
+wildmenu_bg = "#ffff00"
+diffadd_fg = "#008700"
+diffadd_bg = "#afffaf"
+diffdelete_fg = "#af0000"
+diffdelete_bg = "#ffd7ff"
+diffchange_bg = "#ffd787"
+
+# 16 bit ANSI color names
+black = "#eeeeee"
+red = "#d70000"
+green = "#008700"
+yellow = "#5f8700"
+blue = "#0087af"
+magenta = "#878787"
+cyan = "#005f87"
+white = "#444444"
+light-black = "#bcbcbc"
+light-red = "#d70000"
+light-green = "#d70087"
+light-yellow = "#8700af"
+light-blue = "#d75f00"
+light-magenta = "#d75f00"
+light-cyan = "#4c7a4d"
+light-white = "#005faf"
diff --git a/vendor/themes/peachpuff.toml b/vendor/themes/peachpuff.toml
new file mode 100644
index 00000000..06f62da8
--- /dev/null
+++ b/vendor/themes/peachpuff.toml
@@ -0,0 +1,66 @@
+# Author : geonove <[email protected]>
+# License : Vim License
+
+"ui.menu" = { fg = "light-gray", bg = "gray" }
+"ui.menu.selected" = { modifiers = ["reversed"] }
+"ui.linenr" = "yellow"
+"ui.popup" = { bg = "black" }
+"ui.window" = { bg = "black" }
+"ui.linenr.selected" = "light-yellow"
+"ui.selection" = { fg = "gray", modifiers = ["reversed"] }
+"ui.text.focus" = { fg = "black", bg = "white" }
+"comment" = "light-green"
+"comment.line" = "light-green"
+"comment.line.documentation" = "light-green"
+"comment.block" = "red"
+"comment.block.documentation" = "red"
+"ui.statusline" = { fg = "black", bg = "light-cyan" }
+"ui.statusline.inactive" = { fg = "gray", bg = "black" }
+"ui.help" = { fg = "white", bg = "black" }
+"ui.cursor" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.virtual.whitespace" = "light-gray"
+"ui.virtual.jump-label" = { fg = "blue", modifiers = ["bold", "underlined"] }
+"ui.virtual.ruler" = { bg = "black" }
+"variable" = "white"
+"constant.numeric" = "red"
+"constant" = "white"
+"constant.builtin" = "red"
+"attribute" = "yellow"
+"type" = "green"
+"type.builtin" = "cyan"
+"ui.cursor.match" = { fg = "light-gray", modifiers = ["reversed"] }
+"string" = "red"
+"variable.other.member" = "white"
+"constant.character.escape" = "light-cyan"
+#"function.builtin" = "cyan"
+#"function.method" = "cyan"
+#"function.method.private" = "cyan"
+"function" = "cyan"
+"constructor" = "cyan"
+"special" = "light-blue"
+"keyword" = "yellow"
+"keyword.control.import" = "magenta"
+"label" = "white"
+"namespace" = "white"
+
+"markup.heading" = "light-magenta"
+"markup.list" = "light-red"
+"markup.bold" = { fg = "light-yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "light-magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
+"markup.link.text" = "light-red"
+"markup.quote" = "light-cyan"
+"markup.raw" = "light-green"
+
+"diff.plus" = "light-green"
+"diff.delta" = "yellow"
+"diff.minus" = "light-red"
+
+"diagnostic" = { modifiers = ["underlined"] }
+"info" = "light-blue"
+"hint" = "gray"
+"debug" = "gray"
+"warning" = "yellow"
+"error" = "light-red"
diff --git a/vendor/themes/penumbra+.toml b/vendor/themes/penumbra+.toml
new file mode 100644
index 00000000..728a8090
--- /dev/null
+++ b/vendor/themes/penumbra+.toml
@@ -0,0 +1,128 @@
+##########
+# SYNTAX #
+##########
+
+comment = "sky-"
+
+type = "green"
+"type.enum.variant" = "green"
+label = "blue"
+tag = "blue"
+
+constant = "purple"
+"constant.numeric" = "cyan"
+"constant.character" = "purple"
+
+string = "yellow"
+"string.special.symbol" = "cyan"
+"string.special.path" = "cyan"
+
+variable = "sky"
+"variable.builtin" = "red"
+
+keyword = "magenta"
+
+function = "blue"
+"function.macro" = "purple"
+
+punctuation = "sky"
+operator = "magenta"
+namespace = "sky"
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "cyan"
+
+
+##########
+# UI #
+##########
+
+hint = "sky-"
+info = "sky"
+warning = "yellow"
+error = "red"
+
+"diagnostic.hint".underline = { color = "sky-", style = "curl" }
+"diagnostic.info".underline = { color = "sky", 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"] }
+
+"ui.background" = { bg = "shade" }
+"ui.background.separator" = "sky"
+
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "shade+" }
+
+"ui.cursorline.primary" = { bg = "shade-" }
+# "ui.cursorline.secondary" = { bg = "shade+" }
+
+"ui.linenr" = "sky-"
+"ui.linenr.selected" = "sky"
+
+# Using themed status line:
+"ui.statusline" = { fg = "shade", bg = "sky" }
+"ui.statusline.inactive" = { fg = "sky", bg = "shade+" }
+"ui.statusline.normal" = { fg = "shade", bg = "blue" }
+"ui.statusline.insert" = { fg = "shade", bg = "green" }
+"ui.statusline.select" = { fg = "shade", bg = "purple" }
+
+# Without themed status line:
+# "ui.statusline" = { fg = "shade-", bg = "blue" }
+# "ui.statusline.inactive" = { fg = "sky", bg = "shade+" }
+
+"ui.popup" = { bg = "shade-" }
+"ui.popup.info" = { bg = "shade" }
+
+"ui.window" = "sky"
+"ui.help" = { fg = "sky", bg = "shade-" }
+
+"ui.text" = "sky"
+"ui.text.focus" = "blue"
+"ui.text.info" = "sky"
+
+"ui.virtual.ruler" = { bg = "shade-" }
+"ui.virtual.whitespace" = "sky-"
+"ui.virtual.indent-guide" = "shade+"
+
+"ui.menu" = { fg = "sky", bg = "shade-" }
+"ui.menu.selected" = { fg = "blue", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "sky", bg = "shade+" }
+
+"ui.selection" = { bg = "shade+" }
+
+"markup.heading" = { fg = "sky+", modifiers = ["bold"] }
+"markup.list" = "sky"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { modifiers = ["underlined"] }
+"markup.link.text" = "magenta"
+"markup.quote" = "green"
+"markup.raw" = "orange"
+
+
+[palette]
+
+# contrast+ accents
+red = "#DF7F78"
+orange = "#CE9042"
+yellow = "#9CA748"
+green = "#50B584"
+cyan = "#00B3C2"
+blue = "#61A3E6"
+purple = "#A48FE1"
+magenta = "#D080B6"
+
+# contrast+ base
+"sun+" = "#FFFDFB"
+"sun" = "#FFF7ED"
+"sun-" = "#F2E6D4"
+"sky+" = "#CECECE"
+"sky" = "#9E9E9E"
+"sky-" = "#636363"
+"shade+" = "#3E4044"
+"shade" = "#24272B"
+"shade-" = "#181B1F" \ No newline at end of file
diff --git a/vendor/themes/poimandres.LICENSE b/vendor/themes/poimandres.LICENSE
new file mode 100644
index 00000000..bc8d1cf4
--- /dev/null
+++ b/vendor/themes/poimandres.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 drcmda
+
+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/poimandres.toml b/vendor/themes/poimandres.toml
new file mode 100644
index 00000000..ecf96ff0
--- /dev/null
+++ b/vendor/themes/poimandres.toml
@@ -0,0 +1,117 @@
+# Author: Ambuj Kumar <[email protected]>
+# Ported from: https://github.com/drcmda/poimandres-theme
+
+attribute = { fg = "desaturatedBlue", modifiers = ["italic"] }
+keyword = "brightMint"
+"keyword.directive" = "gray"
+"keyword.storage.type" = "desaturatedBlue"
+"keyword.storage.modifier" = "lowerMint"
+"keyword.other" = "brightMint"
+"keyword.operator" = "desaturatedBlue"
+namespace = "lightBlue"
+punctuation = "gray"
+"punctuation.bracket" = "desaturatedBlue"
+operator = "desaturatedBlue"
+special = "desaturatedBlue"
+variable = "offWhite"
+"variable.parameter" = { fg = "offWhite" }
+"variable.builtin" = { fg = "lightBlue", modifiers = ["italic"] }
+"variable.other" = "offWhite"
+type = { fg = "gray.c0" }
+"type.builtin" = { fg = "desaturatedBlue" }
+constructor = "lightBlue"
+function = "lightBlue"
+"function.method" = { fg = "lightBlue" }
+tag = "brightMint"
+comment = { fg = "darkerGray.b0", modifiers = ["italic"] }
+constant = "brightMint"
+"constant.character.escape" = { fg = "offWhite" }
+"constant.numeric" = { fg = "brightMint" }
+"constant.builtin" = { fg = "hotRed" }
+label = { fg = "gray.c0" }
+string = { fg = "brightMint" }
+
+# Markup
+"markup.heading" = { fg = "brightMint" }
+"markup.bold" = { fg = "bluishGrayBrighter", modifiers = ["bold"] }
+"markup.italic" = { fg = "bluishGrayBrighter", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["italic", "crossed_out"] }
+
+# UI
+"markup.link.url" = { fg = "lightBlue", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "lightBlue", modifiers = ["underlined"] }
+"markup.raw" = { fg = "lightBlue" }
+
+"ui.background" = { bg = "bg" }
+"ui.background.separator" = { fg = "darkerGray" }
+"ui.linenr" = "darkerGray.50"
+"ui.linenr.selected" = "offWhite"
+"ui.cursor" = { bg = "gray", fg = "bg" }
+"ui.cursor.match" = { bg = "focus" }
+"ui.cursorline" = { bg = "#242837" }
+
+"ui.help" = { bg = "#20232d" }
+"ui.popup" = { bg = "#20232d" }
+"ui.window" = "gray"
+
+"ui.text" = "gray"
+"ui.text.focus" = { fg = "offWhite", bg = "focus", modifiers = ["bold"] }
+"ui.text.inactive" = "darkerGray"
+"ui.virtual" = { fg = "darkerGray.b0" }
+"ui.virtual.indent-guide" = "#303442"
+"ui.virtual.ruler" = { bg ="selection" }
+
+"ui.selection" = { bg = "focus" }
+"ui.selection.primary" = { bg = "selection" }
+
+"ui.menu" = { fg = "offWhite", bg = "bg" }
+"ui.menu.selected" = { fg = "bg", bg = "gray" }
+"ui.menu.scroll" = { fg = "gray", bg = "bg" }
+
+"ui.statusline" = { fg = "offWhite", bg = "selection" }
+"ui.statusline.inactive" = { fg = "lightBlue", bg = "bg" }
+"ui.statusline.normal" = { bg = "lightBlue", fg = "bg", modifiers = ["bold"] }
+"ui.statusline.insert" = { bg = "brightMint", fg = "bg", modifiers = ["bold"] }
+"ui.statusline.select" = { bg = "hotRed", fg = "bg", modifiers = ["bold"] }
+
+"diagnostic.hint" = { underline = { color = "lowerMint", style = "curl" } }
+"diagnostic.info" = { underline = { color = "lightBlue", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "brightYellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "hotRed", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+hint = "lowerMint"
+info = "lightBlue"
+warning = "brightYellow"
+error = "hotRed"
+
+# Version Control
+"diff.plus" = "lowerMint"
+"diff.minus" = "hotRed"
+"diff.delta" = "lightBlue"
+
+[palette]
+brightYellow = "#fffac2"
+brightMint = "#5DE4c7"
+lowerMint = "#5fb3a1"
+blueishGreen = "#42675A"
+lowerBlue = "#89ddff"
+lightBlue = "#ADD7FF"
+desaturatedBlue = "#91B4D5"
+bluishGrayBrighter = "#7390AA"
+hotRed = "#d0679d"
+pink = "#f087bd"
+gray = "#a6accd"
+"gray.c0" = "#98a0c2"
+darkerGray = "#767c9d"
+"darkerGray.50" = "#404559"
+"darkerGray.b0" = "#6c7494"
+bluishGray = "#506477"
+focus = "#303340"
+bg = "#1b1e28"
+offWhite = "#e4f0fb"
+selection = "#30354a"
+white = "#ffffff"
+black = "#000000"
+transparent = "#000000"
diff --git a/vendor/themes/poimandres_storm.toml b/vendor/themes/poimandres_storm.toml
new file mode 100644
index 00000000..70a4cea3
--- /dev/null
+++ b/vendor/themes/poimandres_storm.toml
@@ -0,0 +1,20 @@
+# Author: Ambuj Kumar <[email protected]>
+# Ported from: https://github.com/drcmda/poimandres-theme
+
+inherits = "poimandres"
+
+"ui.cursorline" = { bg = "#303747" }
+"ui.help" = { bg = "#2a303c" }
+"ui.popup" = { bg = "#2a303c" }
+"ui.virtual.indent-guide" = "#3a4151"
+
+[palette]
+"gray.c0" = "#98a2c4"
+darkerGray = "#868cad"
+"darkerGray.50" = "#4f576d"
+"darkerGray.b0" = "#818cae"
+bluishGray = "#607487"
+focus = "#404350"
+bg = "#252b37"
+selection = "#3d455c"
+black = "#101010"
diff --git a/vendor/themes/pop-dark.toml b/vendor/themes/pop-dark.toml
new file mode 100644
index 00000000..f81b8986
--- /dev/null
+++ b/vendor/themes/pop-dark.toml
@@ -0,0 +1,166 @@
+# Pop Dark theme for the Helix Editor
+# Author: workingj<[email protected]>
+# Repo: https://github.com/workingJ/helix-pop-theme
+# Version: 1.0
+# This theme is based on Nathaniel Webb's VSCodePopTheme <https://github.com/ArtisanByteCrafter/VSCodePopTheme>
+
+info = { fg = 'brownD' }
+hint = { fg = 'yellowH', modifiers = ['bold'] }
+warning = { fg = 'orangeW', modifiers = ['bold'] }
+error = { fg = 'redE', modifiers = ['bold'] }
+'diagnostic.info'.underline = { color = 'yellowH', style = 'curl' }
+'diagnostic.hint'.underline = { color = 'yellowH', style = 'curl' }
+'diagnostic.warning'.underline = { color = 'orangeW', style = 'curl' }
+'diagnostic.error'.underline = { color = 'redE', style = 'curl' }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+'ui.background' = { bg = 'brownN' }
+'ui.window' = { bg = 'brownH', fg = 'brownD' }
+'ui.gutter' = { bg = 'brownU' }
+'ui.text' = { fg = 'greyT' }
+'ui.text.focus' = { fg = 'orangeN' }
+'ui.text.info' = { fg = 'orangeH', bg = 'brownH' }
+'ui.cursor' = { fg = 'greyD', bg = 'orangeY' }
+'ui.cursor.insert' = { fg = 'orangeN', bg = 'orangeN' }
+'ui.cursor.select' = { fg = 'black', bg = 'orangeN' }
+'ui.cursor.match' = { fg = 'black', bg = 'blueD' }
+'ui.cursor.primary' = { fg = 'black', bg = 'orangeN' }
+'ui.selection' = { bg = 'blueH', fg = 'white' }
+'ui.selection.primary' = { bg = 'blueD', fg = 'white' }
+'ui.linenr' = { bg = 'brownU', fg = 'greyL' }
+'ui.linenr.selected' = { fg = 'orangeH' }
+'ui.cursorline' = { bg = 'brownH' }
+'ui.statusline' = { fg = 'greyT', bg = 'brownU' }
+'ui.statusline.inactive' = { fg = 'greyT', bg = 'brownN' }
+'ui.statusline.normal' = { fg = 'greyT', bg = 'brownD', modifiers = ['bold'] }
+'ui.statusline.select' = { bg = 'blueL', fg = 'brownD', modifiers = ['bold'] }
+'ui.statusline.insert' = { bg = 'orangeL', fg = 'brownD', modifiers = ['bold'] }
+'ui.help' = { fg = 'greyT', bg = 'brownD' }
+'ui.highlight' = { bg = 'brownH' }
+'ui.virtual' = { fg = 'brownV' }
+'ui.virtual.ruler' = { bg = 'brownR' }
+'ui.virtual.whitespace' = { fg = 'brownV' }
+'ui.virtual.indent-guide' = { fg = 'brownR' }
+'ui.virtual.inlay-hint' = {fg = 'brownD', bg = 'brownU'}
+'ui.virtual.jump-label' = { bg = 'black', fg = 'white', modifiers = ['bold'] }
+'ui.menu' = { fg = 'greyT', bg = 'brownD' }
+'ui.menu.selected' = { fg = 'orangeH', bg = 'brownH' }
+'ui.popup' = { bg = 'brownD' }
+'ui.popup.info' = { bg = 'brownH', fg = 'greyT' }
+tag = { fg = 'blueH' }
+label = { fg = 'greenS' }
+module = { bg = 'orangeL' }
+special = { fg = 'orangeW' }
+operator = { fg = 'orangeY' }
+attribute = { fg = 'orangeL' }
+namespace = { fg = 'orangeL' }
+'type' = { fg = 'redH' }
+'type.builtin' = { fg = 'orangeL' }
+'type.enum.variant' = { fg = 'orangeL' }
+'constructor' = { fg = 'blueD' }
+'constant' = { fg = 'greyG' }
+'constant.builtin' = { fg = 'redL' }
+'constant.builtin.boolean' = { fg = 'redL' }
+'constant.character' = { fg = 'greenS' }
+'constant.character.escape' = { fg = 'blueL' }
+'constant.numeric' = { fg = 'redH' }
+'string' = { fg = 'greenN' }
+'string.regexp' = { fg = 'blueL' }
+'string.special' = { fg = 'orangeW' }
+'string.special.path' = { fg = 'orangeW' }
+'string.special.url' = { fg = 'orangeW' }
+'string.special.symbol' = { fg = 'orangeW' }
+'comment' = { fg = 'greyC', modifiers = ['italic'] }
+'comment.line' = { fg = 'greyC', modifiers = ['italic'] }
+'comment.line.documentation' = { fg = 'greyC', modifiers = ['italic'] }
+'comment.block' = { fg = 'greyC', modifiers = ['italic'] }
+'comment.block.documentation' = { fg = 'greyC', modifiers = ['italic'] }
+'variable' = { fg = 'greyT' }
+'variable.builtin' = { fg = 'blueL' }
+'variable.parameter' = { fg = 'white' }
+'variable.other.member' = { fg = 'orangeH' }
+'variable.function' = { fg = 'blueL' }
+'punctuation' = { fg = 'blueL' }
+'punctuation.delimiter' = { fg = 'blueH' }
+'punctuation.bracket' = { fg = 'orangeN' }
+'keyword' = { fg = 'blueH' }
+'keyword.control' = { fg = 'blueL' }
+'keyword.control.conditional' = { fg = 'blueL' }
+'keyword.control.repeat' = { fg = 'blueL' }
+'keyword.control.import' = { fg = 'redH' }
+'keyword.control.return' = { fg = 'blueL' }
+'keyword.control.exception' = { fg = 'redH' }
+'keyword.operator' = { fg = 'blueL' }
+'keyword.directive' = { fg = 'blueL' }
+'keyword.function' = { fg = 'redH' }
+'function' = { fg = 'blueH' }
+'function.builtin' = { fg = 'blueH' }
+'function.method' = { fg = 'blueH' }
+'function.macro' = { fg = 'greyH' }
+'function.special' = { fg = 'blueD' }
+'markup.heading' = { fg = 'greenN' }
+'markup.heading.1' = { fg = '#FFC977' }
+'markup.heading.2' = { fg = '#FFC26C' }
+'markup.heading.3' = { fg = '#FFC166' }
+'markup.heading.4' = { fg = '#FFB950' }
+'markup.heading.5' = { fg = '#FFB340' }
+'markup.heading.6' = { fg = '#FFAD34' }
+'markup.heading.marker' = { fg = 'orangeN' }
+'markup.list' = { fg = 'greenN' }
+'markup.list.numbered' = { fg = 'greenN' }
+'markup.list.unnumbered' = { fg = 'greenN' }
+'markup.bold' = { modifiers = ['bold'] }
+'markup.italic' = { modifiers = ['italic'] }
+'markup.strikethrough' = { modifiers = ['crossed_out'] }
+'markup.link' = { fg = 'blueD' }
+'markup.link.url' = { fg = 'blueL' }
+'markup.link.label' = { fg = 'blueH' }
+'markup.link.text' = { fg = 'blueN' }
+'markup.quote' = { fg = 'blueL' }
+'markup.normal' = { fg = 'blueL' }
+'markup.normal.completion' = { bg = 'brownN' }
+'markup.normal.raw' = { bg = 'brownN' }
+'markup.heading.completion' = { fg = 'greenN' }
+'markup.heading.raw' = { bg = 'brownN' }
+'markup.raw' = { bg = 'brownN' }
+'markup.raw.block' = { bg = 'brownH', fg = 'orangeH' }
+'markup.raw.inline' = { fg = 'blueL' }
+'markup.raw.inline.completion' = { fg = 'greenN' }
+'markup.raw.inline.hover' = { fg = 'greenS' }
+'diff.plus' = { fg = '#4dd44d' }
+'diff.minus' = { fg = '#dd4d4d' }
+'diff.delta' = { fg = '#4d4ddd' }
+'diff.delta.moved' = { fg = '#dd4ddd' }
+
+[palette]
+white = '#FFFFFF'
+greyH = '#CFCFCF'
+greyT = '#DEDEDE'
+greyG = '#DDFFDD'
+greyC = '#A0B4A7'
+greyL = '#9A9A9A'
+greyD = '#444444'
+black = '#000000'
+yellowH = '#FFCC00'
+orangeH = '#FFD68A'
+orangeL = '#FFCB6B'
+orangeY = '#FDC33B'
+orangeN = '#FDAF1F'
+orangeW = '#FF9500'
+orangeS = '#F79A6C'
+redH = '#F78C6C'
+redL = '#F96964'
+redE = '#FF2200'
+redD = '#CC3333'
+greenN = '#73C48F'
+greenS = '#6FC475'
+blueH = '#8DEEF9'
+blueL = '#6dd2fa'
+blueN = '#39B7C7'
+blueD = '#4AAAD6'
+brownV = '#67634F'
+brownH = '#4b4845'
+brownN = '#3E3B39'
+brownR = '#35312f'
+brownD = '#2B2928'
+brownU = '#4C4643'
diff --git a/vendor/themes/rasmus.toml b/vendor/themes/rasmus.toml
new file mode 100644
index 00000000..a05ef633
--- /dev/null
+++ b/vendor/themes/rasmus.toml
@@ -0,0 +1,143 @@
+# Author : Rohit K Viswanath <[email protected]>
+# Ported from : [rsms/sublime-theme](https://github.com/rsms/sublime-theme)
+
+"attribute" = "cyan"
+
+"keyword" = "blue"
+"keyword.control.conditional" = { fg = "blue", modifiers = ["italic"] }
+"keyword.directive" = "magenta" # -- preprocessor comments (#if in C)
+
+"namespace" = { fg = "blue", modifiers = ["italic"] }
+
+"punctuation" = "gray06"
+"punctuation.delimiter" = "gray06"
+
+"operator" = "yellow"
+"special" = "yellow"
+
+"variable" = "white"
+"variable.builtin" = "bright_blue"
+"variable.parameter" = "bright_white"
+"variable.other.member" = "white"
+
+"type" = "bright_white"
+"type.builtin" = "magenta"
+"type.enum.variant" = "magenta"
+
+"constructor" = "yellow"
+
+"function" = "white"
+"function.macro" = "blue"
+"function.builtin" = "blue"
+
+"tag" = "yellow"
+"comment" = { fg = "gray05", modifiers = ["italic"] }
+
+"string" = "cyan"
+"string.regexp" = "green"
+"string.special" = "blue"
+
+"constant" = "white"
+"constant.builtin" = "white"
+"constant.numeric" = "magenta"
+"constant.character.escape" = "magenta"
+
+# used for lifetimes
+"label" = "yellow"
+
+"markup.heading.marker" = { fg = "gray07" }
+"markup.heading.1" = { fg = "white", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "gray07", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "gray07", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "gray07", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "gray06", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "gray06", modifiers = ["bold"] }
+"markup.list" = "gray07"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] }
+"markup.link.text" = "blue"
+"markup.raw" = "yellow"
+
+"diff.plus" = "bright_green"
+"diff.minus" = "bright_red"
+"diff.delta" = "bright_cyan"
+
+"ui.background" = { bg = "bg" }
+"ui.background.separator" = { fg = "fg" }
+
+"ui.linenr" = { fg = "gray04" }
+"ui.linenr.selected" = { fg = "gray07" }
+
+"ui.statusline" = { fg = "gray07", bg = "gray02" }
+"ui.statusline.inactive" = { fg = "gray05", bg = "gray01" }
+"ui.statusline.normal" = { fg = "black", bg = "cyan", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "black", bg = "blue", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "black", bg = "magenta", modifiers = ["bold"] }
+
+"ui.popup" = { bg = "gray01" }
+"ui.window" = { fg = "gray02" }
+"ui.help" = { bg = "gray01", fg = "fg" }
+
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "white" }
+
+"ui.virtual" = { fg = "gray03" }
+"ui.virtual.ruler" = { bg = "gray03" }
+"ui.virtual.indent-guide" = { fg = "gray04" }
+"ui.virtual.inlay-hint" = { fg = "gray05" }
+
+"ui.selection" = { bg = "gray03" }
+"ui.selection.primary" = { bg = "gray03" }
+
+"ui.cursor" = { bg = "gray04" }
+"ui.cursor.insert" = { bg = "white" }
+"ui.cursor.match" = { fg = "bright_yellow" }
+"ui.cursor.select" = { bg = "gray03" }
+"ui.cursorline.primary" = { bg = "gray01" }
+
+"ui.highlight" = { bg = "gray03" }
+
+"ui.menu" = { fg = "white", bg = "gray01" }
+"ui.menu.selected" = { fg = "fg", bg = "gray03" }
+"ui.menu.scroll" = { fg = "white", bg = "gray01" }
+
+"diagnostic.warning".underline = { color = "bright_yellow", style = "curl" }
+"diagnostic.error".underline = { color = "bright_red", style = "curl" }
+"diagnostic.info".underline = { color = "bright_blue", style = "curl" }
+"diagnostic.hint".underline = { color = "bright_cyan", style = "curl" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+warning = "bright_yellow"
+error = "bright_red"
+info = "bright_blue"
+hint = "bright_cyan"
+
+[palette]
+bg = "#1a1a19"
+fg = "#d1d1d1"
+black = "#333332"
+red = "#ff968c"
+green = "#61957f"
+yellow = "#ffc591"
+blue = "#8db4d4"
+magenta = "#de9bc8"
+cyan = "#7bb099"
+white = "#d1d1d1"
+bright_black = "#4c4c4b"
+bright_red = "#ffafa5"
+bright_green = "#7aae98"
+bright_yellow = "#ffdeaa"
+bright_blue = "#a6cded"
+bright_magenta = "#f7b4e1"
+bright_cyan = "#94c9b2"
+bright_white = "#eaeaea"
+gray01 = "#222221"
+gray02 = "#2a2a29"
+gray03 = "#323231"
+gray04 = "#3a3a39"
+gray05 = "#6a6a69"
+gray06 = "#767675"
+gray07 = "#b6b6b5"
diff --git a/vendor/themes/rose_pine.toml b/vendor/themes/rose_pine.toml
new file mode 100644
index 00000000..33c71486
--- /dev/null
+++ b/vendor/themes/rose_pine.toml
@@ -0,0 +1,197 @@
+# Author: Rosé Pine <[email protected]>
+# Upstream: https://github.com/rose-pine/helix
+# Contributing:
+# Please submit changes to https://github.com/rose-pine/helix.
+# The Rosé Pine team will update Helix, including you as a co-author.
+
+"ui.background" = { bg = "base" }
+"ui.background.separator" = { bg = "base" }
+
+"ui.cursor" = { fg = "text", bg = "highlight_high" }
+# "ui.cursor.select" = {}
+"ui.cursor.match" = { fg = "text", bg = "highlight_med" }
+"ui.cursor.primary" = { fg = "text", bg = "muted" }
+
+# "ui.gutter" = {}
+# "ui.gutter.selected" = {}
+
+"ui.linenr" = { fg = "muted" }
+"ui.linenr.selected" = { fg = "text" }
+
+"ui.bufferline" = { fg = "muted", bg = "base" }
+"ui.bufferline.active" = { fg = "text", bg = "overlay" }
+"ui.statusline" = { fg = "subtle", bg = "surface" }
+"ui.statusline.inactive" = { fg = "muted", bg = "surface" }
+"ui.statusline.normal" = { fg = "rose", bg = "rose_10" }
+"ui.statusline.insert" = { fg = "foam", bg = "foam_10" }
+"ui.statusline.select" = { fg = "iris", bg = "iris_10" }
+# "ui.statusline.separator" = {}
+
+"ui.popup" = { bg = "surface" }
+"ui.popup.info" = { bg = "surface" }
+
+"ui.window" = { fg = "overlay", bg = "base" }
+"ui.help" = { fg = "subtle", bg = "overlay" }
+
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { bg = "overlay" }
+"ui.text.info" = { fg = "subtle" }
+"ui.text.directory" = { fg = "iris" }
+
+"ui.virtual.jump-label" = { fg = "love", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "overlay" }
+"ui.virtual.whitespace" = { fg = "highlight_high" }
+"ui.virtual.indent-guide" = { fg = "muted" }
+"ui.virtual.inlay-hint" = { fg = "subtle" }
+
+"ui.menu" = { fg = "subtle", bg = "surface" }
+"ui.menu.selected" = { fg = "text", bg = "overlay" }
+"ui.menu.scroll" = { fg = "muted", bg = "highlight_med" }
+
+"ui.selection" = { bg = "overlay" }
+"ui.selection.primary" = { bg = "highlight_med" }
+
+"ui.cursorline.primary" = { bg = "highlight_low" }
+"ui.cursorline.secondary" = { bg = "surface" }
+
+"warning" = "gold"
+"error" = "love"
+"info" = "foam"
+"hint" = "iris"
+"debug" = "rose"
+
+"diagnostic" = { underline = { color = "subtle", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "iris", style = "curl" } }
+"diagnostic.info" = { underline = { color = "foam", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "gold", style = "curl" } }
+"diagnostic.error" = { underline = { color = "love", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"special" = "rose"
+
+"attribute" = "iris"
+
+"type" = "foam"
+# "type.builtin" = ""
+
+"constructor" = "foam"
+
+"constant" = "foam"
+"constant.builtin" = "love"
+"constant.builtin.boolean" = "rose"
+"constant.character" = "gold"
+"constant.character.escape" = "pine"
+"constant.numeric" = "gold"
+# "constant.numeric.integer" = ""
+# "constant.numeric.float" = ""
+
+"string" = "gold"
+# "string.regexp" = ""
+# "string.special" = ""
+# "string.special.path" = ""
+# "string.special.url" = ""
+# "string.special.symbol" = ""
+
+"comment" = { fg = "muted", modifiers = ["italic"] }
+# "comment.line" = ""
+# "comment.line.documentation" = ""
+# "comment.block" = ""
+# "comment.block.documentation" = ""
+
+"variable" = "text"
+"variable.builtin" = "love"
+"variable.parameter" = "iris"
+# "variable.other" = ""
+"variable.other.member" = "foam"
+
+"label" = "foam"
+
+"punctuation" = "subtle"
+# "punctuation.delimiter" = ""
+# "punctuation.bracket" = ""
+# "punctuation.special" = ""
+
+"keyword" = "pine"
+# "keyword.control" = ""
+# "keyword.control.conditional" = ""
+# "keyword.control.repeat" = ""
+# "keyword.control.import" = ""
+# "keyword.control.return" = ""
+# "keyword.control.exception" = ""
+"keyword.operator" = "subtle"
+# "keyword.directive" = ""
+# "keyword.function" = ""
+# "keyword.storage" = ""
+# "keyword.storage.type" = ""
+# "keyword.storage.modifier" = ""
+
+"operator" = "subtle"
+
+"function" = "rose" # maybe pine
+"function.builtin" = "love"
+# "function.method" = ""
+# "function.macro" = ""
+# "function.special" = ""
+
+"tag" = "foam"
+
+"namespace" = "text"
+
+"markup.heading.marker" = "muted"
+"markup.heading" = { fg = "iris", modifiers = ["bold"] }
+"markup.heading.1" = { fg = "iris", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "foam", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "rose", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "gold", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "pine", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "foam", modifiers = ["bold"] }
+# "markup.heading.completion" = ""
+# "markup.heading.hover" = ""
+"markup.list" = "muted"
+# "markup.list.unnumbered" = ""
+# "markup.list.numbered" = ""
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = "iris"
+"markup.link.url" = { fg = "iris", underline = { color = "iris", style = "line" } }
+"markup.link.label" = "subtle"
+"markup.link.text" = "text"
+"markup.quote" = "subtle"
+"markup.raw" = "subtle"
+# "markup.raw.inline" = {}
+# "markup.raw.inline.completion" = {}
+# "markup.raw.inline.hover" = {}
+# "markup.raw.block" = {}
+# "markup.normal" = ""
+# "markup.normal.completion" = ""
+# "markup.normal.hover" = ""
+
+"diff" = "overlay"
+"diff.plus" = "foam"
+"diff.minus" = "love"
+"diff.delta" = "highlight_high"
+# "diff.delta.moved" = ""
+
+[palette]
+base = "#191724"
+surface = "#1f1d2e"
+overlay = "#26233a"
+muted = "#6e6a86"
+subtle = "#908caa"
+text = "#e0def4"
+love = "#eb6f92"
+love_10 = "#311f30"
+gold = "#f6c177"
+gold_10 = "#30282c"
+rose = "#ebbcba"
+rose_10 = "#2f2834"
+pine = "#31748f"
+pine_10 = "#1a2030"
+foam = "#9ccfd8"
+foam_10 = "#252937"
+iris = "#c4a7e7"
+iris_10 = "#2b2539"
+highlight_low = "#21202e"
+highlight_med = "#403d52"
+highlight_high = "#524f67"
diff --git a/vendor/themes/rose_pine_dawn.toml b/vendor/themes/rose_pine_dawn.toml
new file mode 100644
index 00000000..d3949e1a
--- /dev/null
+++ b/vendor/themes/rose_pine_dawn.toml
@@ -0,0 +1,30 @@
+# Author: Rosé Pine <[email protected]>
+# Upstream: https://github.com/rose-pine/helix
+# Contributing:
+# Please submit changes to https://github.com/rose-pine/helix.
+# The Rosé Pine team will update Helix, including you as a co-author.
+
+inherits = "rose_pine"
+
+[palette]
+base = "#faf4ed"
+surface = "#fffaf3"
+overlay = "#f2e9e1"
+muted = "#9893a5"
+subtle = "#797593"
+text = "#575279"
+love = "#b4637a"
+love_10 = "#f6e4e0"
+gold = "#ea9d34"
+gold_10 = "#fbead8"
+rose = "#d7827e"
+rose_10 = "#fae8e1"
+pine = "#286983"
+pine_10 = "#e5e6e2"
+foam = "#56949f"
+foam_10 = "#eaeae5"
+iris = "#907aa9"
+iris_10 = "#f1e8e6"
+highlight_low = "#f4ede8"
+highlight_med = "#dfdad9"
+highlight_high = "#cecacd"
diff --git a/vendor/themes/rose_pine_moon.toml b/vendor/themes/rose_pine_moon.toml
new file mode 100644
index 00000000..f1d04dd3
--- /dev/null
+++ b/vendor/themes/rose_pine_moon.toml
@@ -0,0 +1,30 @@
+# Author: Rosé Pine <[email protected]>
+# Upstream: https://github.com/rose-pine/helix
+# Contributing:
+# Please submit changes to https://github.com/rose-pine/helix.
+# The Rosé Pine team will update Helix, including you as a co-author.
+
+inherits = "rose_pine"
+
+[palette]
+base = "#232136"
+surface = "#2a273f"
+overlay = "#393552"
+muted = "#6e6a86"
+subtle = "#908caa"
+text = "#e0def4"
+love = "#eb6f92"
+love_10 = "#3a2841"
+gold = "#f6c177"
+gold_10 = "#39313e"
+rose = "#ea9a97"
+rose_10 = "#392d41"
+pine = "#3e8fb0"
+pine_10 = "#252c44"
+foam = "#9ccfd8"
+foam_10 = "#2e3248"
+iris = "#c4a7e7"
+iris_10 = "#342e4a"
+highlight_low = "#2a283e"
+highlight_med = "#44415a"
+highlight_high = "#56526e"
diff --git a/vendor/themes/seoul256-dark-hard.toml b/vendor/themes/seoul256-dark-hard.toml
new file mode 100644
index 00000000..fa918d29
--- /dev/null
+++ b/vendor/themes/seoul256-dark-hard.toml
@@ -0,0 +1,16 @@
+# Seoul256 Dark Hard
+# Author : EricHenry
+# Original Creator: https://github.com/junegunn/seoul256.vim
+
+inherits = "seoul256-dark"
+
+"ui.background" = { bg = "gray1" }
+"ui.gutter" = { bg = "gray2" }
+"ui.cursorline.primary" = { bg = "gray" }
+"ui.gutter.selected" = { bg = "gray" }
+"ui.linenr.selected" = { bg = "gray", fg = "magenta", modifiers = ["bold"] }
+"ui.virtual.inlay-hint" = { fg = "gray4", modifiers = ["bold"] }
+
+"ui.help" = { bg = "gray" }
+"ui.popup" = { bg = "gray" }
+"ui.menu" = { bg = "gray" }
diff --git a/vendor/themes/seoul256-dark-soft.toml b/vendor/themes/seoul256-dark-soft.toml
new file mode 100644
index 00000000..548d0c18
--- /dev/null
+++ b/vendor/themes/seoul256-dark-soft.toml
@@ -0,0 +1,15 @@
+# Seoul256 Dark Soft
+# Author : EricHenry
+# Original Creator: https://github.com/junegunn/seoul256.vim
+
+inherits = "seoul256-dark"
+
+"ui.background" = { bg = "gray8" }
+"ui.gutter" = { bg = "gray6" }
+"ui.cursorline.primary" = { bg = "gray5" }
+"ui.gutter.selected" = { bg = "gray5" }
+"ui.linenr.selected" = { bg = "gray5", fg = "magenta", modifiers = ["bold"] }
+
+"ui.help" = { bg = "gray5" }
+"ui.popup" = { bg = "gray5" }
+"ui.menu" = { bg = "gray5" }
diff --git a/vendor/themes/seoul256-dark.toml b/vendor/themes/seoul256-dark.toml
new file mode 100644
index 00000000..df9d43df
--- /dev/null
+++ b/vendor/themes/seoul256-dark.toml
@@ -0,0 +1,161 @@
+# Seoul256 Dark
+# Author : EricHenry
+# Original Creator: https://github.com/junegunn/seoul256.vim
+
+# Syntax highlighting configuration
+"attribute" = { fg = "yellow" }
+"comment" = { fg = "green1" }
+"constant" = { fg = "blue5" }
+"constant.numeric" = { fg = "yellow1" }
+"constant.builtin.boolean" = { fg = "purple" }
+"constant.character.escape" = { fg = "salmon" }
+"constructor" = { fg = "yellow" }
+"function" = { fg = "yellow2" }
+"function.builtin" = { fg = "blue1" }
+"function.method" = { fg = "salmon" }
+"function.macro" = { fg = "yellow2" }
+"keyword" = { fg = "mauve" }
+"label" = { fg = "magenta" }
+"namespace" = { fg = "cyan" }
+"operator" = { fg = "yellow3" }
+"punctuation" = { fg = "brown" }
+"special" = { fg = "yellow2" }
+"string" = { fg = "blue" }
+"type" = { fg = "yellow" }
+"type.builtin" = { fg = "salmon" }
+"variable" = { fg = "white" }
+"variable.builtin" = { fg = "salmon" }
+"variable.parameter" = { fg = "white" }
+"variable.other.member" = { fg = "white" }
+
+"markup.heading" = { fg = "salmon2", modifiers = ["bold"] }
+"markup.raw.inline" = { fg = "green" }
+"markup.bold" = { fg = "yellow1", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta1", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.list" = { fg = "salmon" }
+"markup.quote" = { fg = "yellow" }
+"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "salmon2" }
+
+"diff.plus" = { fg = "green3" }
+"diff.delta" = { fg = "blue1" }
+"diff.minus" = { fg = "magenta3" }
+
+"diagnostic.info".underline = { color = "cyan", style = "curl" }
+"diagnostic.hint".underline = { color = "green1", style = "curl" }
+"diagnostic.warning".underline = { color = "yellow1", style = "curl" }
+"diagnostic.error".underline = { color = "red", style = "curl" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"info" = { fg = "blue2", modifiers = ["bold"] }
+"hint" = { fg = "blue3", modifiers = ["bold"] }
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+
+"ui.background" = { bg = "gray4" }
+"ui.gutter" = { bg = "gray5" }
+"ui.gutter.selected" = { bg = "gray3" }
+"ui.virtual" = { fg = "gray6" }
+"ui.virtual.indent-guide" = { fg = "gray6" }
+"ui.virtual.whitespace" = { fg = "gray6" }
+"ui.virtual.ruler" = { bg = "gray5" }
+"ui.virtual.inlay-hint" = { fg = "gray9", modifiers = ["bold"] }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "gray4", modifiers = ["underlined"] }
+"ui.cursor.insert" = { fg = "blue1" }
+
+"ui.selection" = { bg = "magenta2" }
+"ui.selection.primary" = { bg = "blue4" }
+"ui.cursorline.primary" = { bg = "gray3" }
+
+"ui.highlight" = { bg = "gray5" }
+"ui.highlight.frameline" = { bg = "red" }
+
+"ui.linenr" = { fg = "yellow4" }
+"ui.linenr.selected" = { bg = "gray3", fg = "magenta", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "magenta2", bg = "yellow2" }
+"ui.statusline.inactive" = { fg = "gray6", bg = "black" }
+"ui.statusline.normal" = { fg = "black", bg = "blue2" }
+"ui.statusline.insert" = { fg = "black", bg = "green2" }
+"ui.statusline.select" = { fg = "black", bg = "magenta" }
+
+"ui.text" = { fg = "white" }
+"ui.text.focus" = { fg = "white", bg = "magenta2", modifiers = ["bold"] }
+
+"ui.help" = { fg = "white", bg = "gray3" }
+"ui.popup" = { fg = "white", bg = "gray3" }
+"ui.window" = { fg = "white" }
+"ui.menu" = { fg = "white", bg = "gray3" }
+"ui.menu.selected" = { fg = "white", bg = "magenta2" }
+"ui.menu.scroll" = { fg = "gray7", bg = "gray6" }
+
+"ui.debug" = { fg = "red" }
+
+# Colors (Seoul256)
+[palette]
+black = '#000000' # Black
+black1 = '#14161B'
+red = '#d70000' # Red
+green = '#afd75f' # Greenish Yellow
+green1 = '#5f875f' # Greenish Gray
+green2 = '#5f8700' # Green
+green3 = '#87af87'
+green4 = '#5f5f00'
+yellow = '#d8af5f' # Yellow
+yellow1 = '#ffd787' # Bright Yellow
+yellow2 = '#d7d7af' # Yellowish
+yellow3 = '#d7d787' # Yellow Dim
+yellow4 = '#87875f' # Olive
+yellow5 = '#6B5300'
+blue = '#87afaf' # Light Blue
+blue1 = '#5f87d7' # Bright Blue
+blue2 = '#5f5f87' # Blue
+blue3 = '#a6dbff' # Lightest Blue
+blue4 = '#005f5f' # Blue Green
+blue5 = '#5fafaf' # Dark Blue
+blue6 = '#008787'
+magenta = '#af5f5f' # Magenta
+magenta1 = '#af5f87' # Soft Magenta
+magenta2 = '#875f5f' # Dark Magenta
+magenta3 = '#d7005f' # Darker Magenta
+cyan = '#87d7d7' # Bright Cyan
+cyan1 = '#afd7d7'
+white = '#d0d0d0' # White
+white1 = '#dadada' # White
+purple = '#8787af' # Purple
+brown = '#af875f' # Brownish
+brown1 = '#875f00' # Brownish
+orange = '#ff5f00' # Orange
+salmon = '#ffaf87' # Salmon
+salmon1 = '#d78787' # Salmon Bright
+salmon2 = '#d7afaf' # Salmon Light
+salmon3 = '#d7875f' # Yellowish
+mauve = '#d75f87' # Mauve
+
+gray = '#121212' # Very Dark Gray
+gray1 = '#1c1c1c' # Darker Gray
+gray2 = '#262626' # Dark Gray
+gray3 = '#303030' # Dark Medium Gray
+gray4 = '#3a3a3a' # Medium Gray
+gray5 = '#444444' # Lighter Medium Gray
+gray6 = '#585858' # Light Gray
+gray7 = '#626262' # Lighter Gray
+gray8 = '#4e4e4e' # Even Lighter Gray
+gray9 = '#5f5f5f'
+gray10 = '#c6c6c6'
+gray11 = '#eeeeee'
+gray12 = '#e4e4e4'
+gray13 = '#bcbcbc'
+
+# 233 = '#121212'
+# 234 = '#1c1c1c'
+# 235 = '#262626'
+# 236 = '#303030'
+# 237 = '#3a3a3a' # Default
+# 238 = '#444444'
+# 239 = '#4e4e4e'
diff --git a/vendor/themes/seoul256-light-hard.toml b/vendor/themes/seoul256-light-hard.toml
new file mode 100644
index 00000000..c1f92fac
--- /dev/null
+++ b/vendor/themes/seoul256-light-hard.toml
@@ -0,0 +1,16 @@
+# Seoul256 Light Hard
+# Author : EricHenry
+# Original Creator: https://github.com/junegunn/seoul256.vim
+
+inherits = "seoul256-light"
+
+"ui.background" = { bg = "gray11" }
+"ui.cursor.match" = { bg = "gray10", modifiers = ["underlined"] }
+"ui.gutter" = { bg = "white1" }
+"ui.cursorline.primary" = { bg = "gray12" }
+"ui.gutter.selected" = { bg = "gray12" }
+"ui.linenr.selected" = { bg = "gray12", fg = "magenta", modifiers = ["bold"] }
+
+"ui.help" = { fg = "black1", bg = "gray12" }
+"ui.popup" = { fg = "black1", bg = "gray12" }
+"ui.menu" = { fg = "black1", bg = "gray12" }
diff --git a/vendor/themes/seoul256-light-soft.toml b/vendor/themes/seoul256-light-soft.toml
new file mode 100644
index 00000000..0a25bb69
--- /dev/null
+++ b/vendor/themes/seoul256-light-soft.toml
@@ -0,0 +1,16 @@
+# Seoul256 Light Soft
+# Author : EricHenry
+# Original Creator: https://github.com/junegunn/seoul256.vim
+
+inherits = "seoul256-light"
+
+"ui.background" = { bg = "white" }
+"ui.cursor.match" = { bg = "gray13", modifiers = ["underlined"] }
+"ui.gutter" = { bg = "gray13" }
+"ui.cursorline.primary" = { bg = "gray10" }
+"ui.gutter.selected" = { bg = "gray10" }
+"ui.linenr.selected" = { bg = "gray10", fg = "magenta", modifiers = ["bold"] }
+
+"ui.help" = { fg = "black1", bg = "gray10" }
+"ui.popup" = { fg = "black1", bg = "gray10" }
+"ui.menu" = { fg = "black1", bg = "gray10" }
diff --git a/vendor/themes/seoul256-light.toml b/vendor/themes/seoul256-light.toml
new file mode 100644
index 00000000..4f45a9d0
--- /dev/null
+++ b/vendor/themes/seoul256-light.toml
@@ -0,0 +1,51 @@
+# Seoul256 Light
+# Author : EricHenry
+# Original Creator: https://github.com/junegunn/seoul256.vim
+
+inherits = "seoul256-dark"
+
+"constructor" = { fg = "brown1" }
+"constant.numeric" = { fg = "magenta2" }
+"constant.builtin.boolean" = { fg = "mauve" }
+"constant.character.escape" = { fg = "salmon3" }
+"function" = { fg = "green4" }
+"function.builtin" = { fg = "blue1" }
+"function.method" = { fg = "salmon" }
+"function.macro" = { fg = "green4" }
+"namespace" = { fg = "blue4" }
+"operator" = { fg = "brown1" }
+"punctuation" = { fg = "brown1" }
+"special" = { fg = "green4" }
+"string" = { fg = "blue6" }
+"type" = { fg = "brown1" }
+"type.builtin" = { fg = "salmon3" }
+"variable" = { fg = "black1" }
+"variable.builtin" = { fg = "salmon3" }
+"variable.parameter" = { fg = "black1" }
+"variable.other.member" = { fg = "black1" }
+
+"diagnostic.info".underline = { color = "green1", style = "curl" }
+"info" = { fg = "green1", modifiers = ["bold"] }
+"hint" = { fg = "blue", modifiers = ["bold"] }
+"warning" = { fg = "yellow5", modifiers = ["bold"] }
+
+"ui.background" = { bg = "white1" }
+"ui.cursor" = { fg = "gray4", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "gray4", modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "gray13", modifiers = ["underlined"] }
+"ui.cursor.insert" = { fg = "blue1" }
+"ui.cursorline.primary" = { bg = "white" }
+"ui.gutter" = { bg = "gray10" }
+"ui.gutter.selected" = { bg = "white" }
+"ui.linenr.selected" = { bg = "white", fg = "magenta", modifiers = ["bold"] }
+"ui.virtual.inlay-hint" = { fg = "gray6", modifiers = ["bold"] }
+
+"ui.selection" = { bg = "yellow2" }
+"ui.selection.primary" = { bg = "cyan1" }
+
+"ui.text" = { fg = "black1" }
+
+"ui.help" = { fg = "black1", bg = "white" }
+"ui.popup" = { fg = "black1", bg = "white" }
+"ui.menu" = { fg = "black1", bg = "white" }
+
diff --git a/vendor/themes/serika-dark.toml b/vendor/themes/serika-dark.toml
new file mode 100644
index 00000000..b86796db
--- /dev/null
+++ b/vendor/themes/serika-dark.toml
@@ -0,0 +1,128 @@
+# Serika (Dark)
+# Author: VuiMuich
+
+# Original Author:
+# URL: https://github.com/arturoalviar/serika-syntax
+# Author: arturoalviar
+# License: MIT License
+
+"escape" = "orange"
+"type" = "yellow"
+"constant" = "purple"
+"number" = "purple"
+"string" = "fg"
+"comment" = { fg = "grey2", modifiers = [ "italic" ] }
+"variable" = "yellow"
+"variable.builtin" = "blue"
+"variable.parameter" = "yellow"
+"variable.property" = "yellow"
+"label" = "aqua"
+"punctuation" = "grey0"
+"punctuation.delimiter" = "bg4"
+"punctuation.bracket" = "fg"
+"keyword" = "red"
+"operator" = "grey0"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "fg"
+"attribute" = "aqua"
+"constructor" = "yellow"
+"module" = "blue"
+"special" = "orange"
+
+"ui.background" = { bg = "bg0" }
+"ui.background.separator" = { fg = "bg2" }
+"ui.bufferline" = { fg = "grey1" }
+"ui.bufferline.active" = { fg = "yellow" }
+"ui.bufferline.background" = { bg = "bg2" }
+"ui.cursor" = { fg = "fg", bg = "dark-red" }
+"ui.cursor.match" = { fg = "grey2", bg = "pale-yellow" }
+"ui.cursor.insert" = { fg = "bg0", bg = "pale-yellow" }
+"ui.cursor.select" = { fg = "bg0", bg = "bg-yellow" }
+"ui.cursor.primary" = { fg = "dark-red", bg = "fg" }
+"ui.cursor.primary.match" = { fg = "pale-yellow", bg = "grey2" }
+"ui.cursor.primary.insert" = { fg = "dark-red", bg = "bg-yellow" }
+"ui.cursor.primary.select" = { fg = "yellow", bg = "nasty-red" }
+"ui.linenr" = { fg = "yellow", modifiers = ["dim"] }
+"ui.linenr.selected" = { fg = "fg", modifiers = ["dim"], underline.style = "line" }
+"ui.cursorline" = { fg = "grey1", bg = "bg2" }
+"ui.statusline" = { fg = "grey1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "bg5", bg = "bg1" }
+"ui.statusline.insert" = { fg = "blue" }
+"ui.statusline.select" = { fg = "pale-yellow" }
+"ui.popup" = { fg = "grey2", bg = "bg1" }
+"ui.picker.header" = { fg = "bg2", underline.style = "dashed" }
+"ui.window" = { fg = "bg1", bg = "bg1" }
+"ui.help" = { fg = "fg", bg = "bg1" }
+"ui.text" = "fg"
+"ui.text.focus" = "yellow"
+"ui.text.inactive" = { fg = "fg", modifiers = [ "dim" ] }
+"ui.text.directory" = "grey0"
+"ui.menu" = { fg = "fg", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg0", bg = "bg-yellow" }
+"ui.selection" = { bg = "yellow", modifiers = [ "dim" ] }
+"ui.selection.prime" = { underline.style = "line" }
+"ui.virtual.inlay-hint" = { fg = "grey2", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "nasty-red", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "bg1" }
+"ui.virtual.whitespace" = { fg = "grey2", modifiers = [ "italic" ] }
+"ui.virtual.wrap" = { fg = "grey2", modifiers = [ "italic" ] }
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "nasty-red"
+
+"diagnostic" = { underline = { style = "curl", color = "purple" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.info" = { underline = { style = "curl", color = "aqua" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "nasty-red" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"diff.plus" = { fg = "green" }
+"diff.delta" = { fg = "orange" }
+"diff.minus" = { fg = "nasty-red" }
+
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "cyan"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "pink"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "fg" }
+
+[palette]
+
+bg0 = "#323437"
+bg1 = "#494c50"
+bg2 = "#55585e"
+bg3 = "#61656b"
+bg4 = "#6d7278"
+bg5 = "#797e86"
+bg-visual = "#646669"
+bg-red = "#7e2a33"
+bg-green = "#86b365"
+bg-blue = "#6a89af"
+bg-yellow = "#e2b714"
+
+fg = "#d1d0c5"
+red = "#e29da7"
+nasty-red = "#ca4754"
+dark-red = "#7e2a33"
+orange = "#dd8a3c"
+yellow = "#e2b714"
+pale-yellow = "#f3e0a1"
+green = "#bcd5a8"
+aqua = "#b9c2c6"
+blue = "#adc9db"
+purple = "#be9ec9"
+grey0 = "#aaaeb3"
+grey1 = "#e1e1e3"
+grey2 = "#646669"
+pink = "#e06c75"
diff --git a/vendor/themes/serika-light.toml b/vendor/themes/serika-light.toml
new file mode 100644
index 00000000..ccc7cebf
--- /dev/null
+++ b/vendor/themes/serika-light.toml
@@ -0,0 +1,128 @@
+# Serika (Light)
+# Author: VuiMuich
+
+# Original Author:
+# URL: https://github.com/arturoalviar/serika-syntax
+# Author: arturoalviar
+# License: MIT License
+
+"escape" = "orange"
+"type" = "yellow"
+"constant" = "purple"
+"number" = "purple"
+"string" = "fg"
+"comment" = { fg = "grey2", modifiers = [ "italic" ] }
+"variable" = "yellow"
+"variable.builtin" = "blue"
+"variable.parameter" = "yellow"
+"variable.property" = "yellow"
+"label" = "aqua"
+"punctuation" = "grey0"
+"punctuation.delimiter" = "grey2"
+"punctuation.bracket" = "fg"
+"keyword" = "red"
+"operator" = "grey2"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "fg"
+"attribute" = "aqua"
+"constructor" = "yellow"
+"module" = "blue"
+"special" = "orange"
+
+"ui.background" = { bg = "bg0" }
+"ui.background.separator" = { fg = "bg5" }
+"ui.bufferline" = { fg = "grey1" }
+"ui.bufferline.active" = { fg = "pale-yellow" }
+"ui.bufferline.background" = { bg = "bg5" }
+"ui.cursor" = { fg = "bg0", bg = "dark-red" }
+"ui.cursor.match" = { fg = "pale-yellow", bg = "bg5" }
+"ui.cursor.insert" = { fg = "fg", bg = "pale-yellow" }
+"ui.cursor.select" = { fg = "fg", bg = "bg-yellow" }
+"ui.cursor.primary" = { fg = "nasty-red", bg = "grey0" }
+"ui.cursor.primary.match" = { fg = "grey2", bg = "pale-yellow" }
+"ui.cursor.primary.insert" = { fg = "dark-red", bg = "yellow" }
+"ui.cursor.primary.select" = { fg = "yellow", bg = "dark-red" }
+"ui.linenr" = { fg = "yellow", modifiers = ["dim"] }
+"ui.linenr.selected" = { fg = "fg", modifiers = ["dim"], underline.style = "line" }
+"ui.cursorline" = { bg = "bg0", modifiers = ["dim"] }
+"ui.statusline" = { fg = "grey1", bg = "bg5" }
+"ui.statusline.inactive" = { fg = "grey1", bg = "bg3" }
+"ui.statusline.insert" = { fg = "blue" }
+"ui.statusline.select" = { fg = "pale-yellow" }
+"ui.popup" = { fg = "bg0", bg = "bg5" }
+"ui.picker.header" = { fg = "bg2", underline.style = "dashed" }
+"ui.window" = { fg = "bg5", bg = "bg5" }
+"ui.help" = { fg = "bg0", bg = "bg5" }
+"ui.text" = "fg"
+"ui.text.focus" = "yellow"
+"ui.text.inactive" = { fg = "fg", modifiers = [ "dim" ] }
+"ui.text.directory" = "grey2"
+"ui.menu" = { fg = "bg0", bg = "bg3" }
+"ui.menu.selected" = { fg = "bg0", bg = "bg-yellow" }
+"ui.selection" = { bg = "grey0", modifiers = [ "dim" ] }
+"ui.selection.prime" = { underline.style = "line" }
+"ui.virtual.inlay-hint" = { fg = "grey2", modifiers = ["italic"] }
+"ui.virtual.jump-label" = { fg = "nasty-red", modifiers = ["bold"] }
+"ui.virtual.ruler" = { bg = "bg0", modifiers = ["dim"] }
+"ui.virtual.whitespace" = { fg = "grey2", modifiers = [ "italic" ] }
+"ui.virtual.wrap" = { fg = "grey2", modifiers = [ "italic" ] }
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "nasty-red"
+
+"diagnostic" = { underline = { style = "curl", color = "purple" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.info" = { underline = { style = "curl", color = "aqua" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "nasty-red" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"diff.plus" = { fg = "bg-green" }
+"diff.delta" = { fg = "bg-blue" }
+"diff.minus" = { fg = "nasty-red" }
+
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.list" = "cyan"
+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = "cyan"
+"markup.link.text" = "pink"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "fg" }
+
+[palette]
+
+bg0 = "#d1d0c5"
+bg1 = "#494c50"
+bg2 = "#55585e"
+bg3 = "#61656b"
+bg4 = "#6d7278"
+bg5 = "#797e86"
+bg-visual = "#646669"
+bg-red = "#7e2a33"
+bg-green = "#86b365"
+bg-blue = "#6a89af"
+bg-yellow = "#e2b714"
+
+fg = "#323437"
+red = "#621d28"
+nasty-red = "#da3333"
+dark-red = "#791717"
+orange = "#57320f"
+yellow = "#9a7d0e"
+pale-yellow = "#e2b714"
+green = "#3d5128"
+aqua = "#455054"
+blue = "#3f5673"
+purple = "#5a4066"
+grey0 = "#aaaeb3"
+grey1 = "#e1e1e3"
+grey2 = "#646669"
+pink = "#e06c75"
diff --git a/vendor/themes/serika-syntax.LICENSE b/vendor/themes/serika-syntax.LICENSE
new file mode 100644
index 00000000..a88cd6fa
--- /dev/null
+++ b/vendor/themes/serika-syntax.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 arturoalviar
+
+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/sidra.toml b/vendor/themes/sidra.toml
new file mode 100644
index 00000000..81a9222e
--- /dev/null
+++ b/vendor/themes/sidra.toml
@@ -0,0 +1,234 @@
+# License: MIT License
+# Sidra Theme for the Helix Editor
+# Author: Md Atiquz Zaman <[email protected]>
+# Repo: https://github.com/atiquz/sidra
+# Inspired by: One Monokai, Dracula, One Dark Pro
+# Description: A customizable, balanced dark theme built for readability and flexibility.
+
+
+# ===========================
+# UI Element Styling
+# ===========================
+
+
+# USER INTERFACE
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.background.separator" = { fg = "white" }
+
+"ui.linenr" = { fg = "fg_linenr" }
+"ui.linenr.selected" = { fg = "fg_linenr_sld" }
+
+"ui.help" = { fg = "fg_help", bg = "bg_help" }
+"ui.popup" = { bg = "bg_popup" }
+"ui.window" = { fg = "fg_window" }
+
+"ui.text" = { fg = "fg_text" }
+"ui.text.focus" = { fg = "fg_text_focus" }
+"ui.text.inactive" = { fg = "fg_text_inactive" }
+
+"ui.virtual" = { fg = "fg_virtual" }
+"ui.virtual.ruler" = { bg = "bg_virtual_ruler" }
+"ui.virtual.indent-guide" = { fg = "fg_virtual_indent" }
+
+"ui.debug" = { fg = "fg_debug", modifiers = ["bold"] }
+"ui.debug.active" = { fg = "fg_debug_active", modifiers = ["bold"] }
+"ui.debug.breakpoint" = { fg = "fg_debug_breakpoint", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "gray", bg = "black" }
+"ui.menu.selected" = { fg = "black", bg = "gray" }
+
+# CURSOR
+"ui.cursor" = { fg = "foreground", bg = "bg_normal", modifiers = ["dim"] }
+"ui.cursor.match" = { fg = "foreground", bg = "bg_match", modifiers = ["dim"] }
+"ui.cursor.normal" = { fg = "background", bg = "bg_normal", modifiers = ["dim"] }
+"ui.cursor.insert" = { fg = "background", bg = "bg_insert", modifiers = ["dim"] }
+"ui.cursor.select" = { fg = "background", bg = "bg_select", modifiers = ["dim"] }
+"ui.cursor.primary.normal" = { fg = "background", bg = "bg_normal" }
+"ui.cursor.primary.insert" = { fg = "background", bg = "bg_insert" }
+"ui.cursor.primary.select" = { fg = "background", bg = "bg_select" }
+"ui.cursorline" = { bg = "bg_cursorline" }
+"ui.cursorline.primary" = { bg = "bg_cursorline" }
+
+
+# SELECTION
+"ui.selection" = { fg = "white", bg = "bg_selection" }
+"ui.selection.primary" = { fg = "white", bg = "bg_selection" }
+
+
+# STATUS LINE
+"ui.statusline" = { fg = "fg_statusline", bg = "bg_statusline" }
+"ui.statusline.inactive" = { fg = "fg_inactive", bg = "bg_inactive" }
+"ui.statusline.normal" = { fg = "black", bg = "bg_normal", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "black", bg = "bg_insert", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "black", bg = "bg_select", modifiers = ["bold"] }
+
+# MARKUP
+"markup.heading" = { fg = "markup_heading" }
+"markup.bold" = { fg = "markup_bold", modifiers = ["bold"] }
+"markup.italic" = { fg = "markup_italic", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "markup_strikethrough", modifiers = ["crossed_out", "bold"] }
+"markup.link.url" = { fg = "markup_link_url", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "markup_link_text" }
+"markup.raw" = { fg = "markup_raw" }
+
+
+# GIT
+"diff.plus" = { fg = "plus", modifiers = ["bold"] }
+"diff.minus" = { fg = "minus", modifiers = ["bold"] }
+"diff.delta" = { fg = "delta", modifiers = ["bold"] }
+
+
+# HINT INFO ERROR & WARNING
+"diagnostic.hint" = { underline = { color = "cl_hint", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cl_info", style = "curl" } }
+"diagnostic.error" = { underline = { color = "cl_error", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "cl_warning", style = "curl" } }
+
+hint = "cl_hint"
+info = "cl_info"
+error = "cl_error"
+warning = "cl_warning"
+
+
+# ===========================
+# SYNTAX COLORS
+# ===========================
+
+
+# === ATTRIBUTES & KEYWORDS ===
+attribute = "#a7bf67" # Olive green
+namespace = "#7095bf" # Steel blue
+
+"keyword" = { fg = "#d37a78", modifiers = ["bold"] }
+"keyword.control" = { fg = "#d37a78", modifiers = ["bold"] }
+"keyword.control.conditional" = { fg = "#82AAFF", modifiers = ["bold"] }
+"keyword.control.repeat" = { fg = "#d37a78", modifiers = ["bold"] }
+"keyword.control.import" = { fg = "#C678DD", modifiers = ["bold"] }
+"keyword.control.return" = { fg = "#88aece", modifiers = ["bold"] }
+"keyword.control.exception" = { fg = "#FF79C6", modifiers = ["bold"] }
+"keyword.operator" = { fg = "#528BFF" }
+"keyword.function" = { fg = "#d37a78", modifiers = ["bold"] }
+"keyword.storage" = { fg = "#C678DD", modifiers = ["bold"] }
+"keyword.storage.type" = { fg = "#56B6C2", modifiers = ["bold"] }
+"keyword.storage.modifier" = { fg = "#56B6C2", modifiers = ["bold"] }
+
+
+# === SYMBOLS & OPERATORS ===
+"punctuation" = "#FFFFFF" # White
+"punctuation.delimiter" = "#F3F2CC" # White (delimiter punctuation)
+"punctuation.bracket" = "#FFFFFF" # Yellow
+"punctuation.special" = "#ffd700" # Yello
+operator = "#F3F2CC" # Dusty brown (used to be "muddy")
+special = "#c90076" # Pink Color
+
+# === VARIABLES ===
+"variable" = "#F3F2CC" # Soft green
+"variable.other" = "#cfba8b" # Pale mint green (special language svars)
+"variable.other.member" = "#AB9DF2" # Pale mint green (special language svars)
+"variable.builtin" = "#FC9867" # Blue
+"variable.parameter" = "#F3F2CC" # Pale mint green
+
+# === TYPES ===
+type = "#efbe4c" # Golden yellow
+"type.builtin" = "#efbe4c" # Golden yellow (built-in types)
+constructor = "#c19ef7" # Light lilac
+
+# === FUNCTIONS ===
+"function" = "#FAD566" # Green
+"function.macro" = "#FAD566" # Green
+"function.method" = "#FAD566" # Green
+"function.builtin" = "#db985e" # Orange tan
+"function.special" = "#db985e" # Orange tan
+
+# === TAGS ===
+tag = "#d37a78" # Soft salmon pink
+
+# === COMMENTS ===
+comment = "#646f69" # Light gray
+
+# === CONSTANTS ===
+constant = "#A5C4D4" # Pale blue
+"constant.builtin" = "#76c490" # Bright yellow
+"constant.numeric" = "#86c1b9" # Muted violet
+"constant.character.escape" = "#c95c56" # Coral red (escape characters)
+
+# === STRINGS ===
+string = "#A9DC76" # Sandy yellow-orange
+
+# === LABELS ===
+label = "#abcc8a" # Pale green
+
+# ===========================
+# Color Palette
+# ===========================
+
+[palette]
+
+# ===== MODES COLORS =====
+
+bg_normal = "#BD93F9" # Light purple
+bg_insert = "#50fa7b" # Neon green
+bg_select = "#8be9fd" # Cyan blue
+bg_match = "#D3D3D3" # Light gray
+
+# ===== GIT COLORS =====
+
+plus = "#4F6F52" # Forest green
+minus = "#B80000" # Vivid red
+delta = "#3876BF" # Steel blue
+
+# ===== MARKUP COLORS =====
+
+markup_heading = "#ff69b4" # Hot pink
+markup_bold = "#e7c547" # Bright yellow
+markup_italic = "#b294bb" # Lavender
+markup_strikethrough = "#d7005f" # Deep pink-red
+markup_link_url = "#3876BF" # Steel blue
+markup_link_text = "#FFA500" # Orange
+markup_raw = "#808080" # Medium gray
+
+# ===== PRIMARY UI COLORS =====
+
+foreground = "#D3D3D3" # Light gray (default text)
+background = "#232323" # Very dark gray (background)
+
+# ===== UI INTERFACE COLORS =====
+
+fg_linenr = "#747575" # Dull silver (line numbers)
+fg_linenr_sld = "#c7dddd" # Light cyan (selected line number)
+fg_help = "#D3D3D3" # Light gray (help text)
+bg_help = "#35353a" # Charcoal (help background)
+bg_popup = "#3b3b3d" # Dark gray (popup background)
+fg_window = "#F1DCA7" # Soft cream (window border/title)
+
+fg_text = "#D3D3D3" # Light gray (main text)
+fg_text_focus = "#83c679" # Light green (focused text)
+fg_text_inactive = "#93a56f" # Olive green (inactive text)
+
+# ===== VIRTUAL COLORS =====
+
+fg_virtual = "#F1DCA7" # Cream (virtual text)
+bg_virtual_ruler = "#363638" # Deep gray (ruler background)
+fg_virtual_indent = "#5B5B5A" # Medium-dark gray (indent guides)
+
+# ===== DEBUGGING COLORS =====
+
+fg_debug = "#634450" # Plum (debug info)
+fg_debug_active = "#3876BF" # Blue (active debug line)
+fg_debug_breakpoint = "#B80000" # Red (breakpoint marker)
+
+# ===== CURSOR, SELECTION, STATUSLINE =====
+
+bg_cursorline = "#2d303e" # Slate blue-gray (cursor line)
+bg_selection = "#71797E" # Cool gray (selected text background)
+fg_statusline = "#D3D3D3" # Light gray (statusline text)
+bg_statusline = "#303030" # Dark gray (statusline background)
+fg_inactive = "#4b5059" # Dim gray (inactive statusline text)
+bg_inactive = "#303030" # Dark gray (inactive statusline bg)
+
+# ===== HINT INFO ERROR & WARNING COLORS =====
+
+cl_hint = "#f1fa8c" # Bright yellow
+cl_info = "#f1fa8c" # Same as hint
+cl_error = "#ff69b4" # Bright pink
+cl_warning = "#f1fa8c" # Same as hint
diff --git a/vendor/themes/snazzy.toml b/vendor/themes/snazzy.toml
new file mode 100644
index 00000000..2a1d9a35
--- /dev/null
+++ b/vendor/themes/snazzy.toml
@@ -0,0 +1,125 @@
+# Author : Timothy DeHerrera <[email protected]>
+"comment".fg = "comment"
+
+"constant.builtin".fg = "olive"
+"constant.character.escape".fg = "magenta"
+"constant.character".fg = "carnation"
+"constant".fg = "purple"
+"constant.numeric".fg = "cyan"
+"constant.numeric.float".fg = "red"
+
+"function.builtin".fg = "sand"
+"function".fg = "green"
+"function.macro".fg = "blue"
+"function.method".fg = "opal"
+
+"keyword" = { fg = "magenta", modifiers = ["bold"] }
+"keyword.control" = { fg = "carnation", modifiers = ["bold"] }
+"keyword.control.exception" = { fg = "red", modifiers = ["bold"] }
+"keyword.function" = { fg = "lilac", modifiers = ["bold"] }
+"keyword.operator" = { fg = "coral", modifiers = ["bold"] }
+"keyword.storage" = { fg = "coral", modifiers = ["bold"] }
+
+"operator".fg = "coral"
+
+"punctuation.bracket".fg = "foreground"
+"punctuation.delimiter".fg = "coral"
+"punctuation".fg = "magenta"
+
+"attribute".fg = "opal"
+"string".fg = "yellow"
+"string.regexp".fg = "red"
+"string.special".fg = "blue"
+"tag".fg = "carnation"
+
+"type.builtin".fg = "yellow"
+"type.enum.variant".fg = "sand"
+"type".fg = "opal"
+"type.variant".fg = "sand"
+
+"variable.builtin".fg = "olive"
+"variable".fg = "cyan"
+"variable.other.member".fg = "lilac"
+"variable.parameter" = { fg = "blue", modifiers = ["italic"] }
+
+"constructor".fg = "sand"
+"label".fg = "magenta"
+"namespace".fg = "olive"
+"special".fg = "magenta"
+
+"diff.delta".fg = "blue"
+"diff.minus".fg = "red"
+"diff.plus".fg = "green"
+
+"ui.background" = { fg = "foreground", bg = "background" }
+"ui.cursor" = { fg = "background", bg = "blue", modifiers = ["dim"] }
+"ui.cursor.match" = { fg = "green", modifiers = ["underlined"] }
+"ui.cursor.primary" = { fg = "background", bg = "cyan", modifiers = ["dim"] }
+"ui.cursorline" = { bg = "background_dark" }
+"ui.help" = { fg = "foreground", bg = "background_dark" }
+"ui.linenr" = { fg = "comment" }
+"ui.linenr.selected" = { fg = "foreground" }
+"ui.menu" = { fg = "foreground", bg = "background_dark" }
+"ui.menu.selected" = { fg = "cyan", bg = "background_dark" }
+"ui.popup" = { fg = "foreground", bg = "background_dark" }
+"ui.selection" = { bg = "secondary_highlight" }
+"ui.selection.primary" = { bg = "primary_highlight" }
+"ui.statusline" = { fg = "foreground", bg = "background_dark" }
+"ui.statusline.inactive" = { fg = "comment", bg = "background_dark" }
+"ui.statusline.insert" = { fg = "olive", bg = "background_dark" }
+"ui.statusline.normal" = { fg = "opal", bg = "background_dark" }
+"ui.statusline.select" = { fg = "carnation", bg = "background_dark" }
+"ui.text" = { fg = "foreground" }
+"ui.text.focus" = { fg = "cyan" }
+"ui.virtual.indent-guide" = { fg = "opal" }
+"ui.virtual.ruler" = { bg = "background_dark" }
+"ui.virtual.inlay-hint" = { bg = "background_dark", fg = "comment" }
+"ui.virtual.whitespace" = { fg = "comment" }
+"ui.window" = { fg = "foreground" }
+
+"error" = { fg = "red" }
+"warning" = { fg = "cyan" }
+
+"diagnostic" = { underline = { style = "line", color = "coral" }, bg = "cyan" }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.hint" = { underline = { style = "line", color = "cyan" } }
+"diagnostic.info" = { underline = { style = "line" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+
+"markup.bold" = { fg = "blue", modifiers = ["bold"] }
+"markup.heading" = { fg = "purple", modifiers = ["bold"] }
+"markup.italic" = { fg = "yellow", modifiers = ["italic"] }
+"markup.link.label" = { fg = "blue", modifiers = ["italic"] }
+"markup.link.text" = "magenta"
+"markup.link.url" = "cyan"
+"markup.list" = "cyan"
+"markup.quote" = { fg = "yellow", modifiers = ["italic"] }
+"markup.raw" = { fg = "foreground" }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+[palette]
+background = "#282a36"
+background_dark = "#21222c"
+comment = "#a39e9b"
+foreground = "#eff0eb"
+primary_highlight = "#800049"
+secondary_highlight = "#4d4f66"
+
+# main colors
+blue = "#57c7ff"
+cyan = "#9aedfe"
+green = "#5af78e"
+magenta = "#ff6ac1"
+purple = "#bd93f9"
+red = "#ff5c57"
+yellow = "#f3f99d"
+
+# aux colors
+carnation = "#f99fc6"
+coral = "#f97c7c"
+lilac = "#c9c5fb"
+olive = "#b6d37c"
+opal = "#b1d7c7"
+sand = "#ffab6f"
diff --git a/vendor/themes/solarized_dark.toml b/vendor/themes/solarized_dark.toml
new file mode 100644
index 00000000..c4f6815a
--- /dev/null
+++ b/vendor/themes/solarized_dark.toml
@@ -0,0 +1,135 @@
+"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" }
+
+# 背景
+"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"] }
+
+# 行号栏
+"ui.linenr" = { fg = "base0", bg = "base02" }
+# 当前行号栏
+"ui.linenr.selected" = { fg = "blue", modifiers = ["bold"] }
+#cursorline
+"ui.cursorline" = { bg = "base03" }
+
+# 状态栏
+"ui.statusline" = { fg = "base03", bg = "base0" }
+"ui.statusline.normal" = { bg = "blue" }
+"ui.statusline.insert" = { bg = "green" }
+"ui.statusline.select" = { bg = "yellow" }
+
+# 非活动状态栏
+"ui.statusline.inactive" = { fg = "base1", bg = "base01" }
+
+# 补全窗口, preview窗口
+"ui.popup" = { bg = "base02" }
+# 影响 补全选中 cmd弹出信息选中
+"ui.menu.selected" = { fg = "base02", bg = "base2"}
+"ui.menu" = { fg = "base0", bg = "base02" }
+# ??
+"ui.window" = { fg = "base3" }
+# 命令行 补全的帮助信息
+"ui.help" = { modifiers = ["reversed"] }
+
+# 快捷键窗口
+"ui.popup.info" = {fg = "base02", bg = "base1", modifiers = ["bold"]}
+# 快捷键字体
+"ui.text.info" = {fg = "base02", modifiers = ["bold"]}
+
+# 普通ui的字体样式
+"ui.text" = { fg = "base1" }
+# 影响 picker列表选中, 快捷键帮助窗口文本
+"ui.text.focus" = { fg = "blue", modifiers = ["bold"]}
+
+# 主光标/selectio
+"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模式的光标
+"ui.cursor" = {fg = "base02", bg = "cyan"}
+"ui.cursor.insert" = {fg = "base03", bg = "base3"}
+# 当前光标匹配的标点符号
+"ui.cursor.match" = { fg = "base03", bg = "base00" }
+
+"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]
+# 深色 越来越深
+base03 = "#002b36"
+base025 = "#03303b"
+base02 = "#073642"
+base0175 = "#16404b"
+base015 = "#2c4f59"
+base01 = "#586e75"
+base00 = "#657b83"
+base0 = "#839496"
+base1 = "#93a1a1"
+base2 = "#eee8d5"
+base3 = "#fdf6e3"
+
+# 浅色 越來越浅
+yellow = "#b58900"
+orange = "#cb4b16"
+red = "#dc322f"
+magenta = "#d33682"
+violet = "#6c71c4"
+blue = "#268bd2"
+cyan = "#2aa198"
+green = "#859900"
diff --git a/vendor/themes/sonokai.LICENSE b/vendor/themes/sonokai.LICENSE
new file mode 100644
index 00000000..167e749c
--- /dev/null
+++ b/vendor/themes/sonokai.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2020 sainnhe
+
+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/sonokai.toml b/vendor/themes/sonokai.toml
new file mode 100644
index 00000000..2097e91e
--- /dev/null
+++ b/vendor/themes/sonokai.toml
@@ -0,0 +1,120 @@
+### Sublime Text Sonokai Theme
+## Original Author: sainnhe
+# URL: https://github.com/sainnhe/sonokai
+## Modified by p4ymak
+# URL: https://github.com/p4ymak
+# License: MIT License
+
+"type" = "blue"
+"constant" = "fg"
+"constant.builtin" = "purple"
+"constant.numeric" = "purple"
+"constant.character.escape" = "orange"
+"string" = "yellow"
+"comment" = "grey"
+"variable" = "fg"
+"variable.builtin" = "purple"
+"variable.parameter" = "fg"
+"variable.other.member" = "orange"
+"label" = "red"
+"punctuation" = "grey"
+"punctuation.special" = "yellow"
+"keyword" = "red"
+"operator" = "red"
+"function" = "green"
+"function.builtin" = "green"
+"function.macro" = "green"
+"tag" = "yellow"
+"namespace" = "blue"
+"attribute" = "purple"
+"constructor" = "blue"
+"module" = "blue"
+"special" = "orange"
+
+"markup.heading.marker" = "grey"
+"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 = "fg", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = "purple"
+"markup.quote" = "grey"
+"markup.raw" = "green"
+
+"diff.plus" = "green"
+"diff.delta" = "blue"
+"diff.minus" = "red"
+
+"ui.background" = { bg = "bg0" }
+"ui.cursor" = { modifiers = ['reversed'] }
+"ui.cursor.match" = { bg = "bg4" }
+"ui.cursor.insert" = { fg = "black", bg = "grey" }
+"ui.cursor.select" = { fg = "bg0", bg = "blue" }
+"ui.selection" = { bg = "bg5" }
+"ui.selection.primary" = { bg = "bg4" }
+"ui.linenr" = "grey"
+"ui.linenr.selected" = "fg"
+"ui.cursorline.primary" = { bg = "bg1" }
+"ui.statusline" = { fg = "fg", bg = "bg3" }
+"ui.statusline.inactive" = { fg = "grey", bg = "bg1" }
+"ui.statusline.normal" = { fg = "bg0", bg = "blue", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "bg0", bg = "green", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "bg0", bg = "purple", modifiers = ["bold"] }
+"ui.popup" = { fg = "grey", bg = "bg2" }
+"ui.window" = { fg = "grey", bg = "bg0" }
+"ui.help" = { fg = "fg", bg = "bg1" }
+"ui.text" = "fg"
+"ui.text.focus" = "green"
+"ui.menu" = { fg = "fg", bg = "bg2" }
+"ui.menu.selected" = { fg = "bg0", bg = "green" }
+"ui.virtual.whitespace" = "bg4"
+"ui.virtual.ruler" = { bg = "bg3" }
+"ui.virtual.inlay-hint" = { fg = "grey_dim" }
+
+info = { fg = 'green', bg = 'bg2' }
+hint = { fg = 'blue', bg = 'bg2', modifiers = ['bold'] }
+warning = { fg = 'yellow', bg = 'bg2', modifiers = ['bold'] }
+error = { fg = 'red', bg = 'bg2', modifiers = ['bold'] }
+
+"diagnostic.info" = { underline = { style = "curl", color = "green" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+
+
+[palette]
+
+black = "#181819"
+bg_dim = "#222327"
+bg0 = "#2c2e34"
+bg1 = "#33353f"
+bg2 = "#363944"
+bg3 = "#3b3e48"
+bg4 = "#414550"
+bg5 = "#444852"
+bg_red = "#ff6077"
+diff_red = "#55393d"
+bg_green = "#a7df78"
+diff_green = "#394634"
+bg_blue = "#85d3f2"
+diff_blue = "#354157"
+diff_yellow = "#4e432f"
+fg = "#e2e2e3"
+red = "#fc5d7c"
+orange = "#f39660"
+yellow = "#e7c664"
+green = "#9ed072"
+cyan = "#8dd0b6" # added for compatibility with `edge` scheme
+blue = "#76cce0"
+purple = "#b39df3"
+grey = "#7f8490"
+grey_dim = "#595f6f"
diff --git a/vendor/themes/spacebones_light.toml b/vendor/themes/spacebones_light.toml
new file mode 100644
index 00000000..bdea2145
--- /dev/null
+++ b/vendor/themes/spacebones_light.toml
@@ -0,0 +1,109 @@
+# Author : Koen Van der Auwera <[email protected]>
+# Based on SpaceBones Light https://github.com/chipotle/spacebones
+# https://github.com/chipotle/spacebones/blob/main/SpaceBones%20Light.bbColorScheme
+
+"attribute" = "#b1951d"
+"keyword" = { fg = "#3a81c3" }
+"keyword.directive" = "#3a81c3"
+"namespace" = "#b1951d"
+"punctuation" = "#6c3163"
+"punctuation.delimiter" = "#6c3163"
+"operator" = "#ba2f59"
+"special" = "#ba2f59"
+"variable.property" = "#7590db"
+"variable" = "#715ab1"
+"variable.builtin" = "#715ab1"
+"variable.parameter" = "#7590db"
+"variable.other.member" = "#002db3"
+"type" = "#6c3163"
+"type.builtin" = "#6c3163"
+"constructor" = { fg = "#4e3163", modifiers = ["bold"] }
+"function" = { fg = "#715ab1", modifiers = ["bold"] }
+"function.macro" = "#b1951d"
+"function.builtin" = "#b1951d"
+"comment" = { fg = "#a49da5", modifiers = ["italic"] }
+"constant" = { fg = "#6c3163" }
+"constant.builtin" = { fg = "#6c3163", modifiers = ["bold"] }
+"string" = "theme_aqua"
+"number" = "#6c3163"
+"escape" = { fg = "fg2", modifiers = ["bold"] }
+"label" = "#b1951d"
+"module" = "#b1951d"
+
+# TODO
+"markup.heading" = "theme_blue"
+"markup.list" = "theme_red"
+"markup.bold" = { fg = "theme_yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "theme_magenta", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "theme_yellow", modifiers = ["underlined"] }
+"markup.link.text" = "theme_red"
+"markup.quote" = "theme_cyan"
+"markup.raw" = "theme_green"
+
+"diff.plus" = "theme_aqua"
+"diff.delta" = "#715ab1"
+"diff.minus" = "#ba2f59"
+
+"warning" = { fg = "meta" }
+"error" = { fg = "#e0211d" }
+"info" = { fg = "theme_blue" }
+"hint" = { fg = "bg2" }
+
+"ui.background" = { bg = "bg0" }
+"ui.linenr" = { fg = "bg3" }
+"ui.linenr.selected" = { fg = "theme_yellow" }
+"ui.cursorline" = { bg = "bg2" }
+"ui.statusline" = { fg = "fg1", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "fg4", bg = "bg1" }
+"ui.statusline.normal" = { fg = "bg1", bg = "theme_cyan" }
+"ui.statusline.insert" = { fg = "bg1", bg = "theme_green" }
+"ui.statusline.select" = { fg = "bg1", bg = "theme_magenta" }
+"ui.popup" = { bg = "bg1" }
+"ui.window" = { bg = "bg1" }
+"ui.help" = { bg = "bg1", fg = "fg1" }
+"ui.text" = { fg = "fg1" }
+"ui.text.focus" = { fg = "fg1", modifiers = ["bold"] }
+"ui.text.directory" = { fg = "theme_blue" }
+"ui.selection" = { bg = "hl2" }
+"ui.selection.primary" = { bg = "hl1" }
+"ui.cursor.primary" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { bg = "bg3" }
+"ui.cursorline.primary" = { bg = "bg1" }
+"ui.menu" = { fg = "fg1", bg = "bg2" }
+"ui.menu.selected" = { fg = "base", bg = "bg2", modifiers = ["bold"] }
+"ui.virtual" = "base-dim"
+"ui.virtual.ruler" = { bg = "bg1" }
+
+"diagnostic.warning" = { underline = { style = "curl", color = "meta" } }
+"diagnostic.error" = { underline = { style = "curl", color = "#e0211d" } }
+"diagnostic.info" = { underline = { style = "curl", color = "theme_blue" } }
+"diagnostic.hint" = { underline = { style = "curl", color = "bg2" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+base = "#655370"
+base-dim = "#a094a2"
+meta = "#da8b55"
+
+bg0 = "#fbf8ef"
+bg1 = "#efeae9"
+bg2 = "#d1dcdf"
+bg3 = "#b4c6cb"
+
+hl1 = "#d3d3e7"
+hl2 = "#e7e7fc"
+
+fg1 = "#655370"
+fg2 = "#5f3bc4"
+fg3 = "#bdae93"
+fg4 = "#a89984"
+
+theme_magenta = "#a31db1"
+theme_blue = "#3a81c3"
+theme_yellow = "#b1951d"
+theme_cyan = "#21b8c7"
+theme_aqua = "#2d9574"
+theme_green = "#67b11d"
+theme_red = "#c10e0b"
diff --git a/vendor/themes/starlight.LICENSE b/vendor/themes/starlight.LICENSE
new file mode 100644
index 00000000..fdddb29a
--- /dev/null
+++ b/vendor/themes/starlight.LICENSE
@@ -0,0 +1,24 @@
+This is free and unencumbered software released into the public domain.
+
+Anyone is free to copy, modify, publish, use, compile, sell, or
+distribute this software, either in source code form or as a compiled
+binary, for any purpose, commercial or non-commercial, and by any
+means.
+
+In jurisdictions that recognize copyright laws, the author or authors
+of this software dedicate any and all copyright interest in the
+software to the public domain. We make this dedication for the benefit
+of the public at large and to the detriment of our heirs and
+successors. We intend this dedication to be an overt act of
+relinquishment in perpetuity of all present and future rights to this
+software under copyright law.
+
+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 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.
+
+For more information, please refer to <https://unlicense.org>
diff --git a/vendor/themes/starlight.toml b/vendor/themes/starlight.toml
new file mode 100644
index 00000000..335d1493
--- /dev/null
+++ b/vendor/themes/starlight.toml
@@ -0,0 +1,115 @@
+# Author : eemilhaa <[email protected]>
+# Palette from : https://github.com/CosmicToast/starlight
+
+# Syntax
+"function" = "green"
+"constructor" = "green"
+
+"type" = "cyan"
+"string.special" = "cyan"
+"string.regexp" = "cyan"
+"constant" = "cyan"
+"punctuation.special" = "cyan"
+
+"namespace" = "white"
+"module" = "white"
+"variable" = "white"
+
+"attribute" = "magenta"
+"variable.parameter" = "magenta"
+"variable.other.member" = "magenta"
+"type.parameter" = "magenta"
+
+"keyword" = "blue"
+"variable.builtin" = "blue"
+"label" = "blue"
+"tag" = "blue"
+"operator" = "blue"
+"special" = "blue"
+
+"string" = "yellow"
+
+"punctuation" = "punct"
+
+"comment" = "dark-fg"
+
+# Markup
+"markup.heading.marker" = { fg = "blue", modifiers = ["bold"] }
+"markup.heading" = { fg = "white", modifiers = ["bold"] }
+"markup.list" = "blue"
+"markup.bold" = { fg = "magenta", modifiers = ["bold"] }
+"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
+"markup.strikethrough" = "red"
+"markup.link" = "cyan"
+"markup.link.text" = "yellow"
+"markup.quote" = "magenta"
+"markup.raw" = "green"
+
+# UI
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "blue"
+
+"ui.background" = { fg = "dark-fg", bg = "dark-bg" }
+"ui.cursor" = { fg = "black", bg = "light-fg" }
+"ui.cursor.primary" = { fg = "black", bg = "yellow" }
+"ui.cursor.match" = { fg = "black", bg = "dark-blue", modifiers = ["bold"] }
+"ui.linenr" = "dark-fg"
+"ui.linenr.selected" = "yellow"
+"ui.statusline" = { fg = "light-fg", bg = "light-bg" }
+"ui.statusline.inactive" = { fg = "dark-fg", bg = "light-bg" }
+"ui.statusline.insert" = { fg = "black", bg = "green" }
+"ui.statusline.select" = { fg = "black", bg = "magenta" }
+"ui.statusline.normal" = { fg = "black", bg = "blue" }
+"ui.popup" = { fg = "dark-fg", bg = "light-bg" }
+"ui.window" = { fg = "light-bg", bg = "dark-bg" }
+"ui.help" = { fg = "light-fg", bg = "light-bg" }
+"ui.text" = "light-fg"
+"ui.text.focus" = { fg = "white", bg = "light-bg", modifiers = ["bold"] }
+"ui.virtual" = "dark-fg"
+"ui.virtual.ruler" = { bg = "medium-bg" }
+"ui.virtual.indent-guide" = "indent"
+"ui.virtual.whitespace" = "indent"
+"ui.menu" = { fg = "light-fg", bg = "light-bg" }
+"ui.menu.selected" = { fg = "white", bg = "dark-fg", modifiers = ["bold"] }
+"ui.selection" = { fg = "light-fg", bg = "dark-fg" }
+"ui.selection.primary" = { fg = "white", bg = "dark-blue" }
+"ui.highlight" = { bg = "light-bg" }
+"ui.cursorline.primary" = { bg = "black" }
+"ui.cursorcolumn.primary" = { bg = "black" }
+"ui.bufferline.background" = { bg = "dark-bg" }
+"ui.bufferline" = { fg = "light-fg", bg = "light-bg" }
+"ui.bufferline.active" = { fg = "white", bg = "dark-fg" }
+
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"info" = "blue"
+"hint" = "blue"
+"warning" = "yellow"
+"error" = "red"
+
+[palette]
+# Colors
+red = "#FF4D51"
+green = "#35D450"
+yellow = "#E9E836"
+blue = "#5DC5F8"
+dark-blue = "#24ACD4"
+magenta = "#FEABF2"
+cyan = "#24DFC4"
+white = "#ffffff"
+punct = "#C9C9C9"
+
+# Grays
+black = "#1e1e1e"
+dark-bg = "#242424"
+medium-bg = "#2D2D2D"
+light-bg = "#353535"
+indent = "#616161"
+dark-fg = "#929292"
+light-fg = "#E6E6E6"
diff --git a/vendor/themes/sunset.toml b/vendor/themes/sunset.toml
new file mode 100644
index 00000000..0fe04597
--- /dev/null
+++ b/vendor/themes/sunset.toml
@@ -0,0 +1,164 @@
+# Sunset
+# Author : Egor Afanasin <[email protected]>
+# Repo: https://github.com/pithecantrope/sunset
+
+# Syntax highlighting
+# ----------------------------------------------------------------
+attribute = "mud"
+
+type = "mud"
+"type.builtin" = { fg = "mud", modifiers = ["italic"] }
+
+constructor = "wood"
+
+constant = "fire"
+"constant.builtin" = { fg = "fire", modifiers = ["italic"] }
+"constant.character" = "wood"
+"constant.numeric" = "wood"
+
+string = "grass"
+"string.regexp" = "mud"
+"string.special" = "rose"
+"string.special.symbol" = "fire"
+
+comment = { fg = "cmnt", modifiers = ["italic"] }
+"comment.block.documentation" = "grass"
+"comment.line.documentation" = "grass"
+
+variable = "text"
+"variable.builtin" = { fg = "sky", modifiers = ["italic"] }
+"variable.parameter" = "rose"
+"variable.other.member" = "pink"
+
+label = "sky"
+
+punctuation = "cmnt"
+"punctuation.special" = "wine"
+
+keyword = "sun"
+"keyword.control.return" = { fg = "sun", modifiers = ["italic"] }
+"keyword.control.exception" = { fg = "sun", modifiers = ["italic"] }
+"keyword.directive" = "sky"
+
+operator = "wine"
+
+function = "peach"
+"function.builtin" = { fg = "peach", modifiers = ["italic"] }
+"function.macro" = "sky"
+
+tag = "peach"
+
+namespace = { fg = "text", modifiers = ["italic"] }
+
+special = "wine"
+
+# Editor interface
+# ----------------------------------------------------------------
+"markup.heading.marker" = "sun"
+"markup.heading.1" = "fire"
+"markup.heading.2" = "wine"
+"markup.heading.3" = "rose"
+"markup.heading.4" = "peach"
+"markup.heading.5" = "grass"
+"markup.heading.6" = "wood"
+
+"markup.list" = "wood"
+
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+"markup.link.url" = { fg = "sky", underline.style = "line" }
+"markup.link.label" = "sky"
+"markup.link.text" = "mud"
+
+"markup.quote" = "mud"
+
+"markup.raw" = "pink"
+
+"diff.plus" = "grass"
+"diff.minus" = "attn"
+"diff.delta" = "sky"
+
+# User interface
+# ----------------------------------------------------------------
+"ui.background" = { fg = "text", bg = "base" }
+
+"ui.cursor" = { fg = "base", bg = "cmnt" }
+"ui.cursor.primary.normal" = { fg = "base", bg = "text" }
+"ui.cursor.primary.insert" = { fg = "base", bg = "grass" }
+"ui.cursor.primary.select" = { fg = "base", bg = "sky" }
+"ui.cursor.match" = { fg = "attn", modifiers = ["bold"] }
+
+# TODO: ui.debug
+
+"ui.linenr" = "block"
+"ui.linenr.selected" = "cmnt"
+
+"ui.statusline" = { bg = "block" }
+"ui.statusline.inactive" = { fg = "cmnt" }
+"ui.statusline.normal" = { fg = "block", bg = "text", modifiers = ["bold"] }
+"ui.statusline.insert" = { fg = "block", bg = "grass", modifiers = ["bold"] }
+"ui.statusline.select" = { fg = "block", bg = "sky", modifiers = ["bold"] }
+
+"ui.bufferline" = { fg = "cmnt", bg = "block" }
+"ui.bufferline.active" = "fire"
+
+"ui.popup" = { fg = "text", bg = "base" }
+"ui.popup.info" = { fg = "text", bg = "block" }
+
+"ui.picker.header" = { underline.style = "line" }
+
+"ui.window" = { fg = "block", modifiers = ["bold"] }
+
+"ui.help" = { fg = "text", bg = "block" }
+
+"ui.text" = "text"
+"ui.text.focus" = "sun"
+"ui.text.inactive" = { fg = "cmnt", modifiers = ["italic"] }
+"ui.text.info" = { bg = "block" }
+"ui.text.directory" = "sky"
+
+"ui.virtual" = { fg = "block" }
+"ui.virtual.ruler" = { bg = "block" }
+"ui.virtual.jump-label" = { fg = "attn", modifiers = ["bold"] }
+
+"ui.menu" = { fg = "text", bg = "base" }
+"ui.menu.selected" = { bg = "sel" }
+"ui.menu.scroll" = "block"
+
+"ui.selection" = { bg = "sel" }
+
+"ui.highlight" = { bg = "sel" }
+
+error = "attn"
+warning = "fire"
+info = "sky"
+hint = "mud"
+
+diagnostic = { underline.style = "line" }
+
+[palette]
+# Reddish
+fire = "#EE7711"
+rose = "#EE7777"
+peach = "#EEBB77"
+pink = "#EEAAAA"
+wood = "#997755"
+
+# Greenish
+grass = "#66CC33"
+mud = "#AACC77"
+sun = "#EEEE11"
+
+# Bluish
+sky = "#77AAAA"
+wine = "#775599"
+
+# Ui
+base = "#111111"
+block = "#222222"
+sel = "#333333"
+cmnt = "#777777"
+text = "#EEEEEE"
+attn = "#EE1111"
diff --git a/vendor/themes/term16_dark.toml b/vendor/themes/term16_dark.toml
new file mode 100644
index 00000000..b34a4b4e
--- /dev/null
+++ b/vendor/themes/term16_dark.toml
@@ -0,0 +1,80 @@
+# Author: dgkf
+
+"ui.background" = { }
+"ui.background.separator" = { fg = "red" }
+"ui.cursor" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "light-yellow", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "light-gray", modifiers = ["reversed"] }
+"ui.cursor.secondary" = { fg = "gray", modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "black" }
+"ui.gutter" = { }
+"ui.gutter.selected" = { bg = "black" }
+"ui.help" = { fg = "white", bg = "black" }
+"ui.linenr" = { fg = "gray", modifiers = ["bold"] }
+"ui.linenr.selected" = { fg = "white", modifiers = ["bold"] }
+"ui.menu" = { fg = "light-gray", bg = "gray" }
+"ui.menu.selected" = { modifiers = ["reversed"] }
+"ui.menu.scroll" = { fg = "light-blue" }
+"ui.popup" = { bg = "black" }
+"ui.selection" = { bg = "gray" }
+"ui.statusline" = { fg = "light-gray", bg = "gray" }
+"ui.statusline.inactive" = { bg = "black" }
+"ui.virtual" = { bg = "black" }
+"ui.virtual.indent-guide" = { fg = "gray" }
+"ui.virtual.whitespace" = {}
+"ui.virtual.wrap" = { fg = "gray" }
+"ui.virtual.inlay-hint" = { fg = "light-gray", modifiers = ["dim", "italic"] }
+"ui.virtual.inlay-hint.parameter" = { fg = "yellow", modifiers = ["dim", "italic"] }
+"ui.virtual.inlay-hint.type" = { fg = "blue", modifiers = ["dim", "italic"] }
+"ui.window" = { fg = "gray", modifiers = ["dim"] }
+
+"comment" = { fg = "light-gray", modifiers = ["italic", "dim"] }
+
+"attribute" = "light-yellow"
+"constant" = { fg = "light-yellow", modifiers = ["bold", "dim"] }
+"constant.numeric" = "light-yellow"
+"constant.character.escape" = "light-cyan"
+"constructor" = "light-blue"
+"function" = "light-blue"
+"function.macro" = "light-red"
+"function.builtin" = { fg = "light-blue", modifiers = ["bold"] }
+"tag" = { fg = "light-magenta", modifiers = ["dim"] }
+"type" = "blue"
+"type.builtin" = { fg = "blue", modifiers = ["bold"] }
+"type.enum.variant" = { fg = "light-magenta", modifiers = ["dim"] }
+"string" = "light-green"
+"special" = "light-red"
+"variable" = "white"
+"variable.parameter" = { fg = "light-yellow", modifiers = ["italic"] }
+"variable.other.member" = "light-green"
+"keyword" = "light-magenta"
+"keyword.control.exception" = "light-red"
+"keyword.directive" = { fg = "light-yellow", modifiers = ["bold"] }
+"keyword.operator" = { fg = "light-blue", modifiers = ["bold"] }
+"label" = "light-green"
+"namespace" = { fg = "blue", modifiers = ["dim"] }
+
+"markup.heading" = "light-blue"
+"markup.list" = "light-red"
+"markup.bold" = { fg = "light-cyan", modifiers = ["bold"] }
+"markup.italic" = { fg = "light-blue", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "magenta", modifiers = ["dim"] }
+"markup.link.text" = "light-magenta"
+"markup.quote" = "light-cyan"
+"markup.raw" = "light-green"
+
+"diff.plus" = "light-green"
+"diff.delta" = "light-yellow"
+"diff.minus" = "light-red"
+
+"diagnostic.hint" = { underline = { color = "gray", style = "curl" } }
+"diagnostic.info" = { underline = { color = "light-cyan", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "light-yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "light-red", style = "curl" } }
+
+"info" = "light-cyan"
+"hint" = { fg = "light-gray", modifiers = ["dim"] }
+"debug" = "white"
+"warning" = "yellow"
+"error" = "light-red"
diff --git a/vendor/themes/term16_light.toml b/vendor/themes/term16_light.toml
new file mode 100644
index 00000000..a02784b2
--- /dev/null
+++ b/vendor/themes/term16_light.toml
@@ -0,0 +1,85 @@
+# Author: dgkf
+# Modified from base16_terminal, Author: NNB <[email protected]>
+
+inherits = "term16_dark"
+
+"ui.background.separator" = "light-gray"
+"ui.cursor" = { fg = "gray", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "yellow", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "black", modifiers = ["reversed"] }
+"ui.cursor.secondary" = { fg = "gray", modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "white" }
+"ui.cursorline.secondary" = { bg = "white" }
+"ui.cursorcolumn.primary" = { bg = "white" }
+"ui.cursorcolumn.secondary" = { bg = "white" }
+"ui.gutter" = { }
+"ui.gutter.selected" = { bg = "white" }
+"ui.linenr" = { fg = "gray", modifiers = ["dim"] }
+"ui.linenr.selected" = { fg = "black", modifiers = ["bold"] }
+"ui.menu" = { bg = "light-gray" }
+"ui.menu.selected" = { fg = "white", bg = "gray", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "light-blue" }
+"ui.help" = { }
+"ui.text" = { }
+"ui.text.focus" = { }
+"ui.popup" = { bg = "white" }
+"ui.selection" = { bg = "light-gray" }
+"ui.statusline" = { bg = "white" }
+"ui.statusline.inactive" = { fg = "gray", modifiers = ["underlined"] }
+"ui.statusline.insert" = { fg = "white", bg = "blue" }
+"ui.statusline.select" = { fg = "white", bg = "magenta" }
+"ui.virtual" = { fg = "light-gray" }
+"ui.virtual.indent-guide" = { fg = "light-gray", modifiers = ["dim"] }
+"ui.virtual.ruler" = { bg = "white" }
+"ui.virtual.wrap" = { fg = "light-gray" }
+"ui.window" = { fg = "gray", modifiers = ["dim"] }
+
+"comment" = { fg = "gray", modifiers = ["italic", "dim"] }
+
+"attribute" = "yellow"
+"constant" = { fg = "yellow", modifiers = ["bold"] }
+"constant.numeric" = { fg = "yellow", modifiers = ["bold"] }
+"constant.character.escape" = "blue"
+"constructor" = "blue"
+"function" = "blue"
+"function.builtin" = { fg = "blue", modifiers = ["bold"] }
+"tag" = { fg = "magenta", modifiers = ["dim"] }
+"type" = "blue"
+"type.builtin" = { fg = "blue", modifiers = ["bold"] }
+"type.enum.variant" = { fg = "magenta", modifiers = ["dim"] }
+"string" = "green"
+"special" = "red"
+"variable" = { fg = "black", modifiers = ["dim"] }
+"variable.parameter" = { fg = "red", modifiers = ["italic", "dim"] }
+"variable.other.member" = "green"
+"keyword" = "magenta"
+"keyword.control.exception" = "red"
+"keyword.directive" = { fg = "yellow", modifiers = ["bold"] }
+"keyword.operator" = { fg = "blue", modifiers = ["bold"] }
+"label" = "red"
+"namespace" = { fg = "blue", modifiers = ["dim"] }
+
+"markup.heading" = { fg = "blue", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.bold" = { fg = "cyan", modifiers = ["bold"] }
+"markup.italic" = { fg = "blue", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "magenta", modifiers = ["dim"] }
+"markup.link.text" = { fg = "magenta", modifiers = ["bold"] }
+"markup.quote" = "cyan"
+"markup.raw" = "blue"
+
+"diff.plus" = "green"
+"diff.delta" = "yellow"
+"diff.minus" = "red"
+
+"diagnostic.hint" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.info" = { underline = { color = "blue", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "red", style = "curl" } }
+
+"hint" = "cyan"
+"info" = "blue"
+"debug" = "light-yellow"
+"warning" = "yellow"
+"error" = "red"
diff --git a/vendor/themes/tokyonight.toml b/vendor/themes/tokyonight.toml
new file mode 100644
index 00000000..2d41764c
--- /dev/null
+++ b/vendor/themes/tokyonight.toml
@@ -0,0 +1,136 @@
+# Author: Paul Graydon <[email protected]>
+
+attribute = { fg = "cyan" }
+comment = { fg = "comment", modifiers = ["italic"] }
+"comment.block.documentation" = { fg = "yellow" }
+"comment.line.documentation" = { fg = "yellow" }
+constant = { fg = "orange" }
+"constant.builtin" = { fg = "aqua" }
+"constant.character" = { fg = "light-green" }
+"constant.character.escape" = { fg = "magenta" }
+constructor = { fg = "aqua" }
+function = { fg = "blue", modifiers = ["italic"] }
+"function.builtin" = { fg = "aqua" }
+"function.macro" = { fg = "cyan" }
+"function.special" = { fg = "cyan" }
+keyword = { fg = "purple", modifiers = ["italic"] }
+"keyword.control" = { fg = "magenta" }
+"keyword.control.import" = { fg = "cyan" }
+"keyword.control.return" = { fg = "purple", modifiers = ["italic"] }
+"keyword.directive" = { fg = "cyan" }
+"keyword.function" = { fg = "magenta" }
+"keyword.operator" = { fg = "magenta" }
+label = { fg = "blue" }
+namespace = { fg = "cyan" }
+operator = { fg = "turquoise" }
+punctuation = { fg = "turquoise" }
+special = { fg = "aqua" }
+string = { fg = "light-green" }
+"string.regexp" = { fg = "light-cyan" }
+"string.special" = { fg = "aqua" }
+tag = { fg = "magenta" }
+type = { fg = "aqua" }
+"type.builtin" = { fg = "aqua" }
+"type.enum.variant" = { fg = "orange" }
+variable = { fg = "fg" }
+"variable.builtin" = { fg = "red" }
+"variable.other.member" = { fg = "green" }
+"variable.parameter" = { fg = "yellow", modifiers = ["italic"] }
+
+"markup.bold" = { modifiers = ["bold"] }
+"markup.heading" = { fg = "blue", modifiers = ["bold"] }
+"markup.heading.completion" = { bg = "bg-menu", fg = "fg" }
+"markup.heading.hover" = { bg = "fg-selected" }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link" = { fg = "blue", underline = { style = "line" } }
+"markup.link.label" = { fg = "teal" }
+"markup.link.text" = { fg = "teal" }
+"markup.link.url" = { underline = { style = "line" } }
+"markup.list" = { fg = "orange", modifiers = ["bold"] }
+"markup.normal.completion" = { fg = "comment" }
+"markup.normal.hover" = { fg = "fg-dark" }
+"markup.raw" = { fg = "teal" }
+"markup.raw.inline" = { bg = "black", fg = "blue" }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+
+"diff.delta" = { fg = "change" }
+"diff.delta.moved" = { fg = "blue" }
+"diff.minus" = { fg = "delete" }
+"diff.plus" = { fg = "add" }
+
+error = { fg = "error" }
+warning = { fg = "yellow" }
+info = { fg = "info" }
+hint = { fg = "hint" }
+"diagnostic.error" = { underline = { style = "curl", color = "error" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow"} }
+"diagnostic.info" = { underline = { style = "curl", color = "info"} }
+"diagnostic.hint" = { underline = { style = "curl", color = "hint" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+"ui.background" = { bg = "bg", fg = "fg" }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "orange", modifiers = ["bold"] }
+"ui.cursorline.primary" = { bg = "bg-menu" }
+"ui.help" = { bg = "bg-menu", fg = "fg" }
+"ui.linenr" = { fg = "fg-gutter" }
+"ui.linenr.selected" = { fg = "fg-linenr" }
+"ui.menu" = { bg = "bg-menu", fg = "fg" }
+"ui.menu.selected" = { bg = "fg-selected" }
+"ui.popup" = { bg = "bg-menu", fg = "border-highlight" }
+"ui.selection" = { bg = "bg-selection" }
+"ui.selection.primary" = { bg = "bg-selection" }
+"ui.statusline" = { bg = "bg-menu", fg = "fg-dark" }
+"ui.statusline.inactive" = { bg = "bg-menu", fg = "fg-gutter" }
+"ui.statusline.normal" = { bg = "blue", fg = "bg", modifiers = ["bold"] }
+"ui.statusline.insert" = { bg = "light-green", fg = "bg", modifiers = ["bold"] }
+"ui.statusline.select" = { bg = "magenta", fg = "bg", modifiers = ["bold"] }
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { bg = "bg-focus" }
+"ui.text.inactive" = { fg = "comment", modifiers = ["italic"] }
+"ui.text.info" = { bg = "bg-menu", fg = "fg" }
+"ui.text.directory" = { fg = "cyan" }
+"ui.virtual.ruler" = { bg = "fg-gutter" }
+"ui.virtual.whitespace" = { fg = "fg-gutter" }
+"ui.virtual.inlay-hint" = { bg = "bg-inlay", fg = "teal" }
+"ui.virtual.jump-label" = { fg = "orange", modifiers = ["bold"] }
+"ui.window" = { fg = "border", modifiers = ["bold"] }
+
+[palette]
+red = "#f7768e"
+orange = "#ff9e64"
+yellow = "#e0af68"
+light-green = "#9ece6a"
+green = "#73daca"
+aqua = "#2ac3de"
+teal = "#1abc9c"
+turquoise = "#89ddff"
+light-cyan = "#b4f9f8"
+cyan = "#7dcfff"
+blue = "#7aa2f7"
+purple = "#9d7cd8"
+magenta = "#bb9af7"
+comment = "#565f89"
+black = "#414868"
+
+add = "#449dab"
+change = "#6183bb"
+delete = "#914c54"
+
+error = "#db4b4b"
+info = "#0db9d7"
+hint = "#1abc9c"
+
+fg = "#c0caf5"
+fg-dark = "#a9b1d6"
+fg-gutter = "#3b4261"
+fg-linenr = "#737aa2"
+fg-selected = "#343a55"
+border = "#15161e"
+border-highlight = "#27a1b9"
+bg = "#1a1b26"
+bg-inlay = "#1a2b32"
+bg-selection = "#283457"
+bg-menu = "#16161e"
+bg-focus = "#292e42"
diff --git a/vendor/themes/tokyonight_day.toml b/vendor/themes/tokyonight_day.toml
new file mode 100644
index 00000000..18c3b45f
--- /dev/null
+++ b/vendor/themes/tokyonight_day.toml
@@ -0,0 +1,41 @@
+# Author: Paul Graydon <[email protected]>
+
+inherits = "tokyonight"
+
+[palette]
+red = "#f52a65"
+orange = "#b15c00"
+yellow = "#8c6c3e"
+light-green = "#587539"
+green = "#387068"
+aqua = "#188092"
+teal = "#118c74"
+turquoise = "#006a83"
+light-cyan = "#2e5857"
+cyan = "#007197"
+blue = "#2e7de9"
+purple = "#7847bd"
+magenta = "#9854f1"
+comment = "#848cb5"
+black = "#a1a6c5"
+
+add = "#aecde6"
+change = "#d6d8e3"
+delete = "#dfccd4"
+
+error = "#c64343"
+hint = "#118c74"
+info = "#07879d"
+
+fg = "#3760bf"
+fg-dark = "#6172b0"
+fg-gutter = "#a8aecb"
+fg-linenr = "#68709a"
+fg-selected = "#b3b8d1"
+border = "#e9e9ed"
+border-highlight = "#2496ac"
+bg = "#e1e2e7"
+bg-inlay = "#acd7eb"
+bg-selection = "#c4c8da"
+bg-menu = "#e9e9ec"
+bg-focus = "#b6bfe2"
diff --git a/vendor/themes/tokyonight_moon.toml b/vendor/themes/tokyonight_moon.toml
new file mode 100644
index 00000000..09b38db3
--- /dev/null
+++ b/vendor/themes/tokyonight_moon.toml
@@ -0,0 +1,41 @@
+# Author: Paul Graydon <[email protected]>
+
+inherits = "tokyonight"
+
+[palette]
+red = "#ff757f"
+orange = "#ff966c"
+yellow = "#ffc777"
+light-green = "#c3e88d"
+green = "#4fd6be"
+aqua = "#65bcff"
+teal = "#4fd6be"
+turquoise = "#89ddff"
+light-cyan = "#b4f9f8"
+cyan = "#86e1fc"
+blue = "#82aaff"
+purple = "#fca7ea"
+magenta = "#c099ff"
+comment = "#636da6"
+black = "#444a73"
+
+add = "#b8db87"
+change = "#7ca1f2"
+delete = "#e26a75"
+
+error = "#c53b53"
+hint = "#4fd6be"
+info = "#0db9d7"
+
+fg = "#c8d3f5"
+fg-dark = "#828bb8"
+fg-gutter = "#3b4261"
+fg-linenr = "#737aa2"
+fg-selected = "#363c58"
+border = "#1b1d2b"
+border-highlight = "#589ed7"
+bg = "#222436"
+bg-inlay = "#273644"
+bg-selection = "#2f334d"
+bg-menu = "#1e2030"
+bg-focus = "#2d3f76"
diff --git a/vendor/themes/tokyonight_storm.toml b/vendor/themes/tokyonight_storm.toml
new file mode 100644
index 00000000..7bdddd8b
--- /dev/null
+++ b/vendor/themes/tokyonight_storm.toml
@@ -0,0 +1,12 @@
+# Author: Paul Graydon <[email protected]>
+
+inherits = "tokyonight"
+
+[palette]
+border = "#1d202f"
+bg = "#24283b"
+bg-inlay = "#233745"
+bg-selection = "#373d5a"
+bg-menu = "#1f2335"
+bg-focus = "#2e3c64"
+border-highlight = "#29a4bd"
diff --git a/vendor/themes/ttox.toml b/vendor/themes/ttox.toml
new file mode 100644
index 00000000..0bc964b4
--- /dev/null
+++ b/vendor/themes/ttox.toml
@@ -0,0 +1,33 @@
+# Author : Tomas Ruud <[email protected]>
+
+"ui.selection" = { fg = "white", bg = "gray" }
+"ui.cursor" = { fg = "black", bg = "light-gray" }
+"ui.cursor.primary" = { fg = "black", bg = "light-gray" }
+"ui.cursor.match" = { modifiers = ["underlined"] }
+"ui.background.separator" = "gray"
+"ui.linenr" = "gray"
+"ui.linenr.selected" = { fg = "white", bg = "gray" }
+"ui.statusline" = { bg = "black", fg = "white" }
+"ui.menu" = { fg = "white", bg = "black" }
+"ui.menu.selected" = { bg = "light-gray", fg = "black" }
+"ui.popup" = { fg = "white", bg = "black" }
+"ui.help" = { fg = "white", bg = "black" }
+"ui.virtual.ruler" = { underline = { style = "line"} }
+
+"string" = { bg = "light-green", fg = "black" }
+"constant" = { bg = "light-cyan", fg = "black" }
+"comment" = { bg = "light-magenta", fg = "black" }
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "gray"
+
+"warning" = { fg = "black", bg = "light-yellow" }
+"error" = { fg = "black", bg = "light-red" }
+"hint" = { fg = "black", bg = "light-blue" }
+
+"diagnostic.warning" = { fg = "black", bg = "light-yellow" }
+"diagnostic.error" = { fg = "black", bg = "light-red" }
+"diagnostic.hint" = { fg = "black", bg = "light-blue" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
diff --git a/vendor/themes/ttox_soft.toml b/vendor/themes/ttox_soft.toml
new file mode 100644
index 00000000..b4fe71cb
--- /dev/null
+++ b/vendor/themes/ttox_soft.toml
@@ -0,0 +1,37 @@
+# Author : Samuel Guyah <[email protected]>
+
+"ui.selection" = { fg = "white", bg = "gray" }
+"ui.cursor" = { fg = "black", bg = "light-gray" }
+"ui.cursor.primary" = { fg = "black", bg = "light-gray" }
+"ui.cursor.match" = { modifiers = ["underlined"] }
+"ui.background.separator" = "gray"
+"ui.linenr" = "gray"
+"ui.linenr.selected" = { fg = "white", bg = "gray" }
+"ui.statusline" = { bg = "black", fg = "white" }
+"ui.menu" = { fg = "white", bg = "black" }
+"ui.menu.selected" = { bg = "light-gray", fg = "black" }
+"ui.popup" = { fg = "white", bg = "black" }
+"ui.help" = { fg = "white", bg = "black" }
+"ui.virtual.ruler" = { underline = { style = "line" } }
+"ui.bufferline" = { fg = "white", bg = "black" }
+"ui.bufferline.active" = { fg = "black", bg = "white" }
+"ui.bufferline.background" = { bg = "black" }
+
+
+"string" = { fg = "light-green" }
+"constant" = { fg = "light-cyan" }
+"comment" = { fg = "light-magenta" }
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "gray"
+
+"warning" = { fg = "light-yellow" }
+"error" = { fg = "light-red" }
+"hint" = { fg = "light-blue" }
+
+"diagnostic.warning" = { fg = "light-yellow" }
+"diagnostic.error" = { fg = "light-red" }
+"diagnostic.hint" = { fg = "light-blue" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
diff --git a/vendor/themes/varua.toml b/vendor/themes/varua.toml
new file mode 100644
index 00000000..34a7591d
--- /dev/null
+++ b/vendor/themes/varua.toml
@@ -0,0 +1,108 @@
+# Varua: an easy on the eyes color palette based on Gruvbox Material and Everforest by sainnhe.
+# Author : Kamek <[email protected]>
+
+"constant.character.escape" = "orange"
+"type" = "blue"
+"constant" = "purple"
+"constant.numeric" = "purple"
+"string" = "green"
+"comment" = "grey0"
+"variable" = "fg"
+"variable.builtin" = "blue"
+"variable.parameter" = "fg"
+"variable.other.member" = "fg"
+"label" = "aqua"
+"punctuation" = "grey2"
+"punctuation.delimiter" = "grey2"
+"punctuation.bracket" = "fg"
+"keyword" = "purple"
+"operator" = "orange"
+"function" = "green"
+"function.builtin" = "blue"
+"function.macro" = "aqua"
+"tag" = "yellow"
+"namespace" = "aqua"
+"attribute" = "aqua"
+"constructor" = "aqua"
+"module" = "blue"
+"special" = "orange"
+
+"markup.heading.marker" = "grey2"
+"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 = "fg", modifiers = ["bold"] }
+"markup.list" = "red"
+"markup.link.url" = { fg = "blue", modifiers = ["underlined"] }
+"markup.link.text" = "purple"
+"markup.quote" = "grey2"
+"markup.raw" = "green"
+
+"diff.plus" = "green"
+"diff.delta" = "orange"
+"diff.minus" = "red"
+
+"ui.background" = { bg = "bg0" }
+"ui.cursorline.primary" = { bg = "bg6" }
+"ui.cursor" = { fg = "bg0", bg = "fg" }
+"ui.cursor.match" = { fg = "orange", bg = "bg_yellow" }
+"ui.cursor.insert" = { fg = "bg0", bg = "grey1" }
+"ui.cursor.select" = { fg = "bg0", bg = "blue" }
+"ui.linenr" = "grey0"
+"ui.linenr.selected" = "fg"
+"ui.statusline" = { fg = "fg", bg = "bg2" }
+"ui.statusline.inactive" = { fg = "grey0", bg = "bg1" }
+"ui.popup" = { fg = "grey0", bg = "bg2" }
+"ui.window" = { fg = "grey0", bg = "bg1" }
+"ui.help" = { fg = "fg", bg = "bg1" }
+"ui.text" = "fg"
+"ui.text.focus" = "fg"
+"ui.menu" = { fg = "fg", bg = "bg2" }
+"ui.menu.selected" = { fg = "fg", bg = "bg1" }
+"ui.selection" = { bg = "bg3" }
+"ui.virtual.whitespace" = "grey0"
+"ui.statusline.insert" = { bg = "green", fg = "bg2" }
+"ui.statusline.select" = { bg = "blue", fg = "bg2" }
+"ui.virtual.wrap" = { fg = "grey0" }
+"ui.virtual.inlay-hint" = { fg = "grey1" }
+"ui.virtual.ruler" = { bg = "bg2"}
+
+"hint" = "blue"
+"info" = "aqua"
+"warning" = "yellow"
+"error" = "red"
+"diagnostic.hint" = { underline = { style = "curl", color = "blue" } }
+"diagnostic.info" = { underline = { style = "curl", color = "aqua" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "yellow" } }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"ui.virtual.jump-label" = { fg = "red", modifiers = ["bold"] }
+
+[palette]
+bg0 = "#282828"
+bg1 = "#45403d"
+bg2 = "#32302f"
+bg3 = "#3c3836"
+bg4 = "#4c555b"
+bg5 = "#53605c"
+bg6 = "#2c2c2c"
+bg_visual = "#503946"
+bg_red = "#4e3e43"
+bg_green = "#404d44"
+bg_blue = "#394f5a"
+bg_yellow = "#4a4940"
+
+fg = "#dfbf8e"
+red = "#e67e80"
+orange = "#e69875"
+yellow = "#dbbc7f"
+green = "#a7c080"
+aqua = "#83c092"
+blue = "#7fbbb3"
+purple = "#d699b6"
+grey0 = "#928374"
+grey1 = "#859289"
+grey2 = "#9da9a0"
diff --git a/vendor/themes/vesper-transparent.toml b/vendor/themes/vesper-transparent.toml
new file mode 100644
index 00000000..c02a3c7d
--- /dev/null
+++ b/vendor/themes/vesper-transparent.toml
@@ -0,0 +1,25 @@
+# Author: IwantHappiness <[email protected]>
+
+inherits = "vesper"
+
+"markup.raw" = { bg = "white" }
+"markup.normal" = { bg = "white" }
+"markup.heading" = { bg = "white" }
+
+# UI
+"ui.window" = { bg = "white" }
+"ui.background" = { fg = "white" }
+
+[palette]
+red = "#ff8080"
+gray = "#A0A0A0"
+white = "#ffffff"
+beige = "#ffc799"
+black = "#101010"
+dim-gray = "#505050"
+dark-gray = "#1C1C1C"
+bright-green = "#99FFE4"
+
+cursor = "#aeafad"
+comment = "#8b8b8b"
+bg-selection = "#666666"
diff --git a/vendor/themes/vesper.LICENSE b/vendor/themes/vesper.LICENSE
new file mode 100644
index 00000000..f931c3bd
--- /dev/null
+++ b/vendor/themes/vesper.LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2023 Rauno Freiberg
+
+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/vesper.toml b/vendor/themes/vesper.toml
new file mode 100644
index 00000000..e9bf5ccc
--- /dev/null
+++ b/vendor/themes/vesper.toml
@@ -0,0 +1,121 @@
+# Author: IwantHappiness <[email protected]>
+
+tag = { fg = "beige" }
+type = { fg = "beige" }
+
+label = { fg = "beige" }
+
+operator = { fg = "gray" }
+
+attribute = { fg = "gray" }
+
+function = { fg = "beige" }
+
+namespace = { fg = "beige" }
+
+comment = { fg = "comment" }
+
+constructor = { fg = "beige" }
+
+constant = { fg = "beige" }
+"constant.character.escape" = { fg = "gray" }
+
+"markup.bold" = { modifiers = ["bold"] }
+"markup.link" = { fg = "bright-green", underline = { style = "line" } }
+
+variable = { fg = "white" }
+"variable.builtin" = { fg = "gray" }
+"variable.parameter" = { modifiers = ["italic"] }
+
+"murkup.raw" = { bg = "white" }
+"murkup.normal" = { bg = "white" }
+"murkup.heading" = { bg = "white" }
+
+"diff.delta" = { fg = "beige" }
+"diff.minus" = { fg = "#FF8080" }
+"diff.plus" = { fg = "bright-green" }
+
+string = { fg = "bright-green" }
+"string.regexp" = { fg = "gray" }
+"string.special.path" = { fg = "gray" }
+"string.special.url" = { fg = "white", underline = { style = "line" } }
+
+punctuation = { fg = "gray" }
+"punctuation.bracket" = { fg = "gray" }
+"punctuation.delimiter" = { fg = "white" }
+"punctuation.special" = { fg = "bright-green" }
+
+keyword = { fg = "gray" }
+"keyword.operator" = { fg = "beige" }
+"keyword.function" = { fg = "beige" }
+"keyword.directive" = { fg = "beige" }
+"keyword.storage.type" = { fg = "beige" }
+"keyword.control.repeat" = { fg = "gray" }
+"keyword.control.import" = { fg = "beige" }
+"keyword.control.conditional" = { fg = "gray" }
+
+error = { fg = "red" }
+hint = { fg = "gray" }
+info = { fg = "white" }
+warning = { fg = "beige" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"diagnostic.error" = { underline = { style = "curl", color = "red" } }
+"diagnostic.warning" = { underline = { style = "curl", color = "beige"} }
+"diagnostic.info" = { underline = { style = "curl", color = "white"} }
+"diagnostic.hint" = { underline = { style = "curl", color = "gray" } }
+
+# tabstop = { bg = "white" }
+
+# UI
+# "ui.window" = { bg = "white" }
+
+"ui.popup" = { bg = "dark-gray" }
+
+"ui.selection" = { bg = "bg-selection" }
+
+"ui.help" = { bg = "dark-gray", fg = "beige" }
+
+"ui.background" = { bg = "black", fg = "white" }
+
+"ui.picker.header.column.active" = { bg = "gray" }
+
+"ui.linenr" = { fg = "dim-gray" }
+"ui.linenr.selected" = { fg = "white" }
+
+"ui.virtual.whitespace" = { fg = "dim-gray" }
+"ui.virtual.inlay-hint" = { bg = "dark-gray", fg = "gray" }
+
+"ui.text" = { fg = "white" }
+"ui.text.inactive" = { fg = "comment" }
+"ui.text.focus" = { bg = "bright-green", fg = "black" }
+
+"ui.menu.scroll" = { fg = "white" }
+"ui.menu.selected" = { bg = "dim-gray" }
+"ui.menu" = { fg = "white", bg = "dark-gray" }
+
+"ui.statusline" = { bg = "dark-gray" }
+"ui.statusline.inactive" = { bg = "dark-gray" }
+"ui.statusline.select" = { bg = "red", fg = "black" }
+"ui.statusline.normal" = { bg = "beige", fg = "black" }
+"ui.statusline.insert" = { bg = "bright-green", fg = "black" }
+
+"ui.cursor.insert" = { bg = "bright-green" }
+"ui.cursorline.primary" = { bg = "dark-gray" }
+"ui.cursorline.secondary" = { bg = "dark-gray" }
+"ui.cursor.primary" = { bg = "cursor", fg = "black" }
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+
+[palette]
+red = "#ff8080"
+gray = "#A0A0A0"
+white = "#ffffff"
+beige = "#ffc799"
+black = "#101010"
+dim-gray = "#505050"
+dark-gray = "#1C1C1C"
+bright-green = "#99FFE4"
+
+cursor = "#aeafad"
+comment = "#8b8b8b"
+bg-selection = "#666666"
diff --git a/vendor/themes/vim_dark_high_contrast.toml b/vendor/themes/vim_dark_high_contrast.toml
new file mode 100644
index 00000000..4b39a770
--- /dev/null
+++ b/vendor/themes/vim_dark_high_contrast.toml
@@ -0,0 +1,80 @@
+"ui.background" = { bg = "black" }
+"ui.bufferline" = { bg = "black" }
+"ui.bufferline.active" = { fg = "light-magenta", bg = "dark-magenta" }
+"ui.cursor" = { fg = "green", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "light-cyan", bg = "dark-cyan" }
+"ui.cursor.primary" = { fg = "light-green", modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "gray" }
+"ui.menu" = { bg = "dark-white" }
+"ui.menu.selected" = { fg = "yellow" }
+"ui.popup" = { bg = "dark-white" }
+"ui.selection" = { bg = "dark-white" }
+"ui.statusline" = { fg = "light-magenta", bg = "dark-magenta" }
+"ui.statusline.normal" = { fg = "black", bg = "light-yellow" }
+"ui.statusline.insert" = { fg = "black", bg = "light-cyan" }
+"ui.statusline.select" = { fg = "black", bg = "yellow" }
+"ui.text" = { fg = "default" }
+"ui.text.info" = { bg = "dark-white" }
+"ui.text.focus" = { fg = "yellow" }
+"ui.virtual.wrap" = { fg = "dark-blue" }
+"ui.virtual.indent-guide" = { fg = "dark-blue" }
+"ui.virtual.ruler" = { bg = "dark-white" }
+"ui.virtual.jump-label" = { fg = "light-yellow", modifiers = ["bold"] }
+"ui.window" = { bg = "dark-white" }
+
+"diagnostic.error" = { bg = "dark-red" }
+"diagnostic.warning" = { bg = "dark-yellow" }
+"diagnostic.hint" = { bg = "dark-cyan" }
+"diagnostic.info" = { bg = "dark-white" }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+"warning" = { fg = "yellow", bg = "dark-yellow" }
+"error" = { fg = "red", bg = "dark-red" }
+"info" = { fg = "default", bg = "dark-white" }
+"hint" = { fg = "cyan", bg = "dark-cyan" }
+
+"type" = "green"
+"constructor" = "light-cyan"
+"constant" = "red"
+"constant.character.escape" = "magenta"
+"string" = "red"
+"comment" = "light-black"
+"comment.documentation" = "magenta"
+"label" = "green"
+"keyword" = "yellow"
+"keyword.directive" = "magenta"
+"function" = "light-cyan"
+"function.macro" = "magenta"
+"special" = "cyan"
+
+"diff.plus" = "green"
+"diff.minus" = "red"
+"diff.delta" = "yellow"
+
+[palette]
+black = "#000000"
+red = "#ed5f74"
+green = "#1ea672"
+gray = "#111111"
+yellow = "#d97917"
+blue = "#688ef1"
+magenta = "#c96ed0"
+cyan = "#3a97d4"
+white = "#e3e8ee"
+light-black = "#697386"
+light-red = "#fbb5b2"
+light-green = "#85d996"
+light-yellow = "#efc078"
+light-blue = "#9fcdff"
+light-magenta = "#f0b4e4"
+light-cyan = "#7fd3ed"
+light-white = "#ffffff"
+dark-black = "#000000"
+dark-red = "#742833"
+dark-green = "#00643c"
+dark-yellow = "#6e3500"
+dark-blue = "#2c4074"
+dark-magenta = "#602864"
+dark-cyan = "#144c71"
+dark-white = "#3e4043"
+default = "#c1c9d2"
diff --git a/vendor/themes/vintage.toml b/vendor/themes/vintage.toml
new file mode 100644
index 00000000..d4afbea3
--- /dev/null
+++ b/vendor/themes/vintage.toml
@@ -0,0 +1,102 @@
+# Vintage Theme for the Helix Editor
+# Author: rojebd<[email protected]>
+# Repo: https://github.com/rojebd/vintage
+# This theme is vintage inspired
+# Info: I made this theme one afternoon because my bus was late and I stayed home :)
+
+attribute = "#a7bf67"
+keyword = "#A4A2B4"
+"keyword.directive" = "light-gray"
+namespace = "#7095bf"
+punctuation = "white"
+"punctuation.delimiter" = "white"
+operator = "muddy"
+special = "pink"
+"variable.other.member" = "green"
+variable = "green"
+"variable.parameter" = "light-green"
+"variable.builtin" = "light-green"
+type = "#efbe4c"
+"type.builtin" = "#efbe4c"
+constructor = "#c19ef7"
+function = "muddy"
+"function.macro" = "muddy"
+"function.builtin" = "#db985e"
+tag = "#d37a78"
+comment = "light-gray"
+constant = "#A5C4D4"
+"constant.builtin" = "bright-yellow"
+string = "#d6a560"
+"constant.numeric" = "#b577b0"
+"constant.character.escape" = "#c95c56"
+label = "#abcc8a"
+
+"markup.heading" = "bright-pink"
+"markup.bold" = { fg = "markdown-bold", modifiers = ["bold"] }
+"markup.italic" = { fg = "markdown-italic", modifiers = ["italic"] }
+"markup.strikethrough" = { fg = "bright-pink", modifiers = ["crossed_out", "bold"] }
+"markup.link.url" = { fg = "blueish", modifiers = ["underlined"] }
+"markup.link.text" = "orange"
+"markup.raw" = "gray"
+
+"diff.plus" = { fg = "bright-green", modifiers = ["bold"] }
+"diff.minus" = { fg = "redish", modifiers = ["bold"] }
+"diff.delta" = { fg = "blueish", modifiers = ["bold"] }
+
+"ui.background" = { bg = "background" }
+"ui.background.separator" = { fg = "white" }
+"ui.linenr" = { fg = "#747575" }
+"ui.linenr.selected" = { fg = "#c7dddd" }
+"ui.statusline" = { fg = "black", bg = "gray" }
+"ui.statusline.inactive" = { fg = "gray", bg = "#3c3836" }
+"ui.popup" = { bg = "#3b3b3d" }
+"ui.window" = { fg = "yellow" }
+"ui.help" = { bg = "#35353a", fg = "light-gray" }
+
+"ui.text" = { fg = "light-gray" }
+"ui.text.focus" = { fg = "#83c679" }
+"ui.text.inactive" = "#93a56f"
+"ui.virtual" = { fg = "yellow" }
+"ui.virtual.indent-guide" = { fg = "#5b5b5a" }
+"ui.virtual.ruler" = { bg = "#363638" }
+
+"ui.selection" = { fg = "white", bg = "gray" }
+"ui.selection.primary" = { fg = "white", bg = "gray" }
+"ui.cursor.match" = { fg = "white", bg = "gray" }
+"ui.cursor" = { modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "#3b3b3f" }
+
+"ui.debug" = { fg = "#634450" }
+"ui.debug.breakpoint" = { fg = "redish" }
+"ui.debug.active" = { fg = "blueish" }
+"ui.menu" = { fg = "gray", bg = "black" }
+"ui.menu.selected" = { fg = "black", bg = "gray" }
+
+"diagnostic.hint" = { underline = { color = "bright-yellow", style = "curl" } }
+"diagnostic.info" = { underline = { color = "bright-yellow", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "bright-yellow", style = "curl" } }
+"diagnostic.error" = { underline = { color = "bright-pink", style = "curl" } }
+
+warning = "bright-yellow"
+error = "bright-pink"
+info = "bright-yellow"
+hint = "bright-yellow"
+
+[palette]
+bright-pink = "#DE6468"
+background = "#1f1f21"
+green = "#778e61"
+light-green = "#9B9B7A"
+brown = "#BAA587"
+pink = "#D9AE94"
+yellow = "#F1DCA7"
+bright-yellow = "#FFCB69"
+orange = "#E8AC65"
+muddy = "#D08C60"
+markdown-italic = "#80a552"
+markdown-bold = "#6faa75"
+dark-brown = "#B58463"
+purple-ish = "#997B66"
+bright-green = "#4F6F52"
+blueish = "#3876BF"
+redish = "#B80000"
diff --git a/vendor/themes/voxed.toml b/vendor/themes/voxed.toml
new file mode 100644
index 00000000..fff0bfba
--- /dev/null
+++ b/vendor/themes/voxed.toml
@@ -0,0 +1,111 @@
+# Voxed theme for the Helix Editor
+# Author: rojebd<[email protected]>
+# Repo: https://github.com/rojebd/voxed
+# Version: 1.0
+# Info: This is a theme I made one afternoon because I was bored
+
+attribute = "buff"
+keyword = "sglow"
+"keyword.directive" = "defineish"
+namespace = "blue"
+punctuation = "white"
+"punctuation.delimiter" = "functionish"
+operator = "greenish"
+special = "maize"
+"variable.other.member" = "bsienna"
+variable = "tan"
+"variable.parameter" = { fg = "parameters" }
+"variable.builtin" = "white"
+type = "light-blue"
+"type.builtin" = "functionish"
+constructor = "typeish"
+function = "functionish"
+"function.macro" = "blue"
+"function.builtin" = "typeish"
+tag = "functionish"
+comment = "bgrey"
+constant = "tan"
+"constant.builtin" = "#D38588"
+string = "redish"
+"constant.numeric" = "functionish"
+"constant.character.escape" = "cyan"
+label = "yellow"
+
+"markup.heading" = "functionish"
+"markup.list" = "status-two"
+"markup.quote" = "tan"
+"markup.bold" = { fg = "sglow", modifiers = ["bold"] }
+"markup.italic" = { fg = "sglow", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "sglow", modifiers = ["underlined"] }
+"markup.link.text" = "greenish"
+"markup.raw" = "light-grey"
+
+"diff.plus" = "#7DDF64"
+"diff.minus" = "#F22B29"
+"diff.delta" = "#6f44f0"
+
+"ui.background" = { fg = "#25262B", bg="#1f1f21" }
+"ui.background.separator" = { fg = "sglow" }
+"ui.linenr" = { fg = "light-grey", modifiers = ["italic"] }
+"ui.linenr.selected" = { fg = "bpink", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "black", bg = "light-grey", modifiers = ["bold"] }
+"ui.statusline.inactive" = { fg = "black", bg = "bgrey-two" }
+"ui.popup" = { fg = "bgrey", bg = "#25262B" }
+"ui.window" = { fg = "white" }
+"ui.help" = { bg = "#3f4047", fg = "light-grey" }
+
+"ui.text" = { fg = "white" }
+"ui.text.focus" = { fg = "maize", bg = "bgrey" }
+"ui.text.inactive" = "bgrey"
+"ui.virtual" = { fg = "blue" }
+"ui.virtual.ruler" = { bg = "bgrey-two" }
+"ui.virtual.indent-guide" = { fg = "gray" }
+
+
+"ui.selection" = { bg = "maize" }
+"ui.selection.primary" = { fg = "white", bg = "bgrey" }
+"ui.cursor.select" = { bg = "white" }
+"ui.cursor.insert" = { bg = "white" }
+"ui.cursor.match" = { fg = "#212121", bg = "#6C6999" }
+"ui.cursor" = { bg = "bgrey-two", modifiers = ["reversed"] }
+"ui.cursorline.primary" = { bg = "#44414c" }
+
+"ui.highlight" = { bg = "white" }
+"ui.highlight.frameline" = { bg = "#634450" }
+"ui.debug" = { fg = "#634450" }
+"ui.debug.breakpoint" = { fg = "bpink" }
+"ui.menu" = { fg = "white", bg = "#23232d" }
+"ui.menu.selected" = { fg = "white", bg = "bgrey" }
+"ui.menu.scroll" = { fg = "white", bg = "white" }
+
+"diagnostic.hint" = { underline = { color = "maize", style = "curl" } }
+"diagnostic.info" = { underline = { color = "sglow", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "redish", style = "curl" } }
+"diagnostic.error" = { underline = { color = "bpink", style = "curl" } }
+
+warning = "bpink"
+error = "bsienna"
+info = "maize"
+hint = "tan"
+
+[palette]
+parameters = "#d89182"
+defineish = "#71c45c"
+buff = "#f0dc82"
+tan = "#DAB785"
+typeish = "#AAAAA5"
+greenish = "#458588"
+functionish = "#b784a3"
+bsienna = "#D5896F"
+bpink = "#FF5964"
+maize = "#FFE74C"
+bgrey = "#8c8681"
+sglow = "#FFCF56"
+status = "#15616D"
+status-two = "#3879A1"
+redish = "#E76B74"
+light-grey = "#b7afa8"
+bgrey-two = "#706b68"
+gruvgreen = "#B8BB26"
diff --git a/vendor/themes/wolf-alabaster-dark-bg.toml b/vendor/themes/wolf-alabaster-dark-bg.toml
new file mode 100644
index 00000000..8a461cb5
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-dark-bg.toml
@@ -0,0 +1,65 @@
+# wolf-alabaster-dark-bg.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+#
+# This is the dark "BG" (background) variant of Alabaster for Helix.
+# Uses background colors for syntax highlighting while keeping text mostly light grey.
+#
+# Based on tonsky's "Alabaster BG" variant adapted for dark backgrounds.
+
+inherits = "wolf-alabaster-dark"
+
+# SYNTAX HIGHLIGHTING - DARK BG VARIANT
+# Override to use BACKGROUND colors instead of text colors
+# Text stays light grey, categories distinguished by background
+
+"string" = { fg = "fg", bg = "string-bg" }
+"string.regexp" = { fg = "fg", bg = "string-bg" }
+"string.special" = { fg = "fg", bg = "string-bg-dark" }
+
+# Constants keep foreground color (same as base)
+"constant" = { fg = "constant" }
+"constant.numeric" = { fg = "constant" }
+"constant.character" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+
+"comment" = { fg = "fg", bg = "comment-bg" }
+"comment.line" = { fg = "fg", bg = "comment-bg" }
+"comment.block" = { fg = "fg", bg = "comment-bg" }
+
+"function" = { fg = "fg", bg = "definition-bg" }
+"function.builtin" = { fg = "fg", bg = "definition-bg" }
+"function.method" = { fg = "fg", bg = "definition-bg" }
+
+"constructor" = { fg = "fg", bg = "definition-bg" }
+"type" = { fg = "fg", bg = "definition-bg" }
+"type.builtin" = { fg = "fg", bg = "definition-bg" }
+
+# Special cases
+"tag" = { fg = "fg", bg = "definition-bg" }
+"namespace" = { fg = "fg", bg = "definition-bg" }
+
+# MARKUP overrides
+"markup.heading" = { fg = "fg", bg = "definition-bg", modifiers = ["bold"] }
+"markup.link.url" = { fg = "fg", bg = "string-bg", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "fg", bg = "definition-bg" }
+"markup.quote" = { fg = "fg", bg = "comment-bg" }
+"markup.raw" = { fg = "fg", bg = "string-bg" }
+
+# DIFF overrides
+"diff.plus" = { fg = "fg", bg = "string-bg" }
+"diff.minus" = { fg = "fg", bg = "error-bg" }
+
+[palette]
+# Add background colors for dark BG variant
+# Darker, subdued backgrounds that work on dark background
+string-bg = "#1F3A1F" # Dark green - strings
+string-bg-dark = "#2A4A2A" # Slightly brighter dark green - escape sequences
+definition-bg = "#1F2F3F" # Dark blue - definitions
+comment-bg = "#3F3F1F" # Dark yellow - comments
+error-bg = "#3F1F1F" # Dark red - errors
+
+# Selection colors need to be more visible against colored syntax backgrounds
+selection-primary = "#5A8FC7" # Brighter blue - visible against all syntax backgrounds
+selection = "#2A4A6F" # Medium dark blue - secondary selections
diff --git a/vendor/themes/wolf-alabaster-dark-mono.toml b/vendor/themes/wolf-alabaster-dark-mono.toml
new file mode 100644
index 00000000..73abf8fc
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-dark-mono.toml
@@ -0,0 +1,76 @@
+# wolf-alabaster-dark-mono.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+#
+# This is the dark "Mono" (monochromatic) variant of Alabaster for Helix.
+# Uses minimal color - mostly grayscale with subtle backgrounds for strings/constants.
+# Only errors and search results use color.
+#
+# Based on tonsky's "Alabaster Dark Mono" variant.
+
+inherits = "wolf-alabaster-dark"
+
+# SYNTAX HIGHLIGHTING - DARK MONO VARIANT
+# Almost entirely grayscale with subtle background highlighting
+
+"string" = { fg = "fg", bg = "string-bg" }
+"string.regexp" = { fg = "fg", bg = "string-bg" }
+"string.special" = { fg = "fg", bg = "string-bg-dark" }
+
+"constant" = { fg = "fg", bg = "string-bg" }
+"constant.numeric" = { fg = "fg", bg = "string-bg" }
+"constant.character" = { fg = "fg", bg = "string-bg" }
+"constant.builtin" = { fg = "fg", bg = "string-bg" }
+
+"comment" = { fg = "comment-grey" }
+"comment.line" = { fg = "comment-grey" }
+"comment.block" = { fg = "comment-grey" }
+
+# Definitions stay default (no highlighting in mono)
+"function" = { fg = "fg" }
+"function.builtin" = { fg = "fg" }
+"function.method" = { fg = "fg" }
+
+"constructor" = { fg = "fg" }
+"type" = { fg = "fg" }
+"type.builtin" = { fg = "fg" }
+
+# Punctuation dimmed
+"punctuation" = { fg = "punctuation-dark" }
+"punctuation.bracket" = { fg = "punctuation-dark" }
+"punctuation.delimiter" = { fg = "punctuation-dark" }
+"operator" = { fg = "punctuation-dark" }
+
+# Special cases
+"tag" = { fg = "fg" }
+"namespace" = { fg = "fg" }
+
+# MARKUP
+"markup.heading" = { fg = "fg", modifiers = ["bold"] }
+"markup.link.url" = { fg = "fg", bg = "string-bg", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "fg" }
+"markup.quote" = { fg = "comment-grey" }
+"markup.raw" = { fg = "fg", bg = "string-bg" }
+
+# DIFF - Keep some color for version control
+"diff.plus" = { fg = "diff-green" }
+"diff.minus" = { fg = "diff-red" }
+"diff.delta" = { fg = "diff-orange" }
+
+# Errors keep color (important!)
+error = { fg = "error-red", modifiers = ["bold"] }
+"diagnostic.error" = { underline = { color = "error-red", style = "curl" } }
+
+# Virtual text - grey in mono (no colored definitions)
+"ui.virtual" = { fg = "inlay-hint" }
+"ui.virtual.inlay-hint" = { fg = "inlay-hint" }
+
+[palette]
+# Dark monochromatic palette
+comment-grey = "#777777" # Grey - comments
+punctuation-dark = "#555555" # Dark grey - punctuation
+string-bg = "#2A2A2A" # Dark grey - strings/constants background
+string-bg-dark = "#333333" # Slightly lighter grey - escape sequences
+inlay-hint = "#555555" # Dimmed grey - virtual text (type hints)
+# Note: error-red, diff-green, diff-red, diff-orange inherited from parent (identical values)
diff --git a/vendor/themes/wolf-alabaster-dark.toml b/vendor/themes/wolf-alabaster-dark.toml
new file mode 100644
index 00000000..ee554806
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-dark.toml
@@ -0,0 +1,169 @@
+# wolf-alabaster-dark.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+# Download: https://raw.githubusercontent.com/wolf/alabaster-for-helix/main/helix/dot-config/helix/themes/wolf-alabaster-dark.toml
+#
+# This is a dark-background theme especically for the Helix editor.
+#
+# The most important part here is the syntax stuff, but the theme includes UI stuff specifically for Helix, as well.
+#
+# What I care about is:
+# * Readable syntax, no matter the language
+# * The error messages provided by the LSP
+# * Anything special needed to make the UI non-surprising
+# * Building a minimal definition
+#
+# I started from a couple important sources:
+# * The [priorities and ideas](https://tonsky.me/blog/syntax-highlighting/) behind the Alabaster Theme (which exists for many editors) by Nikita Prokopov
+# * His [actual repo implementing the theme](https://github.com/tonsky/sublime-scheme-alabaster)
+# * A [theme template](https://github.com/joegm/helix-theme-template) on GitHub provided by joegm
+
+# I don't consider this to be done! I absolutely want feedback. I absolutely will continue to tinker.
+
+# GENERAL - Diagnostics (LSP errors/warnings)
+warning = { fg = "highlight" }
+error = { fg = "error-red", modifiers = ["bold"] }
+info = { fg = "definition" }
+hint = { fg = "punctuation" }
+diagnostic = { underline = { style = "curl" } }
+
+# UI - Interface elements
+"ui.background" = { bg = "bg" }
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "active", modifiers = ["bold"] }
+
+"ui.cursor" = { bg = "active", fg = "bg" }
+"ui.cursor.primary" = { bg = "active", fg = "bg" }
+"ui.cursor.match" = { bg = "highlight" }
+"ui.cursorline" = { bg = "cursorline" }
+"ui.cursorcolumn" = { bg = "cursorline" }
+
+"ui.gutter" = { bg = "bg" }
+
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "selection-primary" }
+
+"ui.linenr" = { fg = "punctuation" }
+"ui.linenr.selected" = { fg = "active", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "fg", bg = "panel" }
+"ui.statusline.inactive" = { fg = "punctuation", bg = "panel" }
+
+# Bufferline - make active buffer clearly visible (like onelight-fixed-bufferline)
+"ui.bufferline.active" = { fg = "fg", bg = "bg", modifiers = ["bold"] }
+"ui.bufferline.background" = { bg = "bg" }
+"ui.bufferline" = { fg = "punctuation", bg = "panel" }
+
+"ui.menu" = { fg = "fg", bg = "panel" }
+"ui.menu.selected" = { fg = "bg", bg = "active" }
+
+"ui.popup" = { fg = "fg", bg = "panel" }
+"ui.popup.info" = { fg = "fg", bg = "panel" }
+"ui.window" = { fg = "punctuation" }
+"ui.help" = { fg = "fg", bg = "bg" }
+
+# Jump labels - extremely visible
+"ui.virtual.jump-label" = { fg = "jump-label", modifiers = ["bold"] }
+
+# Virtual text (inlay hints, etc.) - dimmed type color
+"ui.virtual" = { fg = "inlay-hint" }
+"ui.virtual.inlay-hint" = { fg = "inlay-hint" }
+"ui.virtual.ruler" = { bg = "cursorline" }
+
+# LSP diagnostic inline/expanded text
+"diagnostic.error" = { underline = { color = "error-red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "highlight", style = "curl" } }
+"diagnostic.info" = { underline = { color = "definition", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "punctuation", style = "curl" } }
+"diagnostic.deprecated" = { fg = "punctuation", modifiers = ["crossed_out"] }
+
+# SYNTAX HIGHLIGHTING - Following Alabaster's minimal approach
+# Only 4 categories get color: strings, constants, comments, definitions
+# Everything else (keywords, variables, calls) stays default fg
+
+"string" = { fg = "string" }
+"string.regexp" = { fg = "string" }
+"string.special" = { fg = "string" }
+
+"constant" = { fg = "constant" }
+"constant.numeric" = { fg = "constant" }
+"constant.character" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+
+"comment" = { fg = "comment" }
+"comment.line" = { fg = "comment" }
+"comment.block" = { fg = "comment" }
+
+"function" = { fg = "definition" }
+"function.builtin" = { fg = "definition" }
+"function.method" = { fg = "definition" }
+
+"constructor" = { fg = "definition" }
+"type" = { fg = "definition" }
+"type.builtin" = { fg = "definition" }
+
+# These are NOT highlighted (Alabaster philosophy: keywords are obvious)
+"keyword" = { fg = "fg" }
+"keyword.control" = { fg = "fg" }
+"keyword.operator" = { fg = "fg" }
+"variable" = { fg = "fg" }
+"variable.parameter" = { fg = "fg" }
+"variable.builtin" = { fg = "fg" }
+
+# Punctuation is dimmed
+"punctuation" = { fg = "punctuation" }
+"punctuation.bracket" = { fg = "punctuation" }
+"punctuation.delimiter" = { fg = "punctuation" }
+
+"operator" = { fg = "punctuation" }
+
+# Special cases
+"tag" = { fg = "definition" }
+"tag.error" = { fg = "error-red", underline = { style = "line" } }
+"attribute" = { fg = "fg" }
+"namespace" = { fg = "definition" }
+"label" = { fg = "constant" }
+
+# MARKUP - For markdown/documentation
+"markup.heading" = { fg = "definition", modifiers = ["bold"] }
+"markup.list" = { fg = "fg" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "string", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "definition" }
+"markup.quote" = { fg = "comment" }
+"markup.raw" = { fg = "string" }
+
+# DIFF - Version control
+"diff.plus" = { fg = "string" }
+"diff.minus" = { fg = "error-red" }
+"diff.delta" = { fg = "highlight" }
+
+[palette]
+# Core colors (Original Alabaster Dark)
+fg = "#CECECE" # Main text - light grey
+bg = "#0E1415" # Background - very dark blue-black
+
+# The 4 semantic colors (Original Alabaster Dark)
+string = "#95CB82" # Green - strings & numbers
+constant = "#CC8BC9" # Magenta - constants, booleans
+comment = "#DFDF8E" # Yellow - comments (important!)
+definition = "#71ADE7" # Blue - function/class definitions
+
+# Supporting colors
+punctuation = "#8C8C8C" # Grey - dimmed operators/brackets
+selection = "#1E3A5F" # Very dark blue - secondary selections (subtle)
+selection-primary = "#4A7BA7" # Bright blue - primary selection (clearly distinct)
+active = "#CD974B" # Golden brown - cursor, active elements (original Alabaster Dark)
+highlight = "#FF9800" # Orange - search, warnings
+error-red = "#DFDF8E" # Yellow - errors (use comment color for visibility)
+panel = "#252526" # Slightly lighter grey - UI panels, menus, popups
+cursorline = "#1A2022" # Subtle highlight - cursorline, ruler
+jump-label = "#FF6B35" # Bright orange - jump destinations
+inlay-hint = "#4A7090" # Dimmed blue - virtual text (type hints)
+
+# Diff colors
+diff-green = "#95CB82" # Green - additions (same as string)
+diff-red = "#DFDF8E" # Yellow - deletions (same as error-red)
+diff-orange = "#FF9800" # Orange - changes (same as highlight)
diff --git a/vendor/themes/wolf-alabaster-light-bg.toml b/vendor/themes/wolf-alabaster-light-bg.toml
new file mode 100644
index 00000000..e74669b6
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-light-bg.toml
@@ -0,0 +1,66 @@
+# wolf-alabaster-light-bg.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+#
+# This is the "BG" (background) variant of Alabaster for Helix.
+# Unlike the standard version that uses text colors, this variant uses background colors
+# for syntax highlighting while keeping text mostly black.
+#
+# Based on tonsky's "Alabaster BG" variant from:
+# https://github.com/tonsky/sublime-scheme-alabaster
+
+inherits = "wolf-alabaster-light"
+
+# SYNTAX HIGHLIGHTING - BG VARIANT
+# Override to use BACKGROUND colors instead of text colors
+# Text stays black, categories distinguished by background
+
+"string" = { fg = "fg", bg = "string-bg" }
+"string.regexp" = { fg = "fg", bg = "string-bg" }
+"string.special" = { fg = "fg", bg = "string-bg-dark" }
+
+# Constants keep foreground color (same as base)
+"constant" = { fg = "constant" }
+"constant.numeric" = { fg = "constant" }
+"constant.character" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+
+"comment" = { fg = "fg", bg = "comment-bg" }
+"comment.line" = { fg = "fg", bg = "comment-bg" }
+"comment.block" = { fg = "fg", bg = "comment-bg" }
+
+"function" = { fg = "fg", bg = "definition-bg" }
+"function.builtin" = { fg = "fg", bg = "definition-bg" }
+"function.method" = { fg = "fg", bg = "definition-bg" }
+
+"constructor" = { fg = "fg", bg = "definition-bg" }
+"type" = { fg = "fg", bg = "definition-bg" }
+"type.builtin" = { fg = "fg", bg = "definition-bg" }
+
+# Special cases
+"tag" = { fg = "fg", bg = "definition-bg" }
+"namespace" = { fg = "fg", bg = "definition-bg" }
+
+# MARKUP overrides
+"markup.heading" = { fg = "fg", bg = "definition-bg", modifiers = ["bold"] }
+"markup.link.url" = { fg = "fg", bg = "string-bg", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "fg", bg = "definition-bg" }
+"markup.quote" = { fg = "fg", bg = "comment-bg" }
+"markup.raw" = { fg = "fg", bg = "string-bg" }
+
+# DIFF overrides
+"diff.plus" = { fg = "fg", bg = "string-bg" }
+"diff.minus" = { fg = "fg", bg = "error-bg" }
+
+[palette]
+# Add background colors for BG variant (from Alabaster BG)
+string-bg = "#F1FADF" # Light green - strings
+string-bg-dark = "#DBECB6" # Darker green - escape sequences
+definition-bg = "#DBF1FF" # Light blue - definitions
+comment-bg = "#FFFABC" # Light yellow - comments
+error-bg = "#FFE0E0" # Light pink - errors
+
+# Override selection colors (Alabaster BG uses slightly darker selection)
+selection-primary = "#B4D8FD" # Original Alabaster BG selection
+selection = "#D5E5F3" # Lighter for secondary selections
diff --git a/vendor/themes/wolf-alabaster-light-mono.toml b/vendor/themes/wolf-alabaster-light-mono.toml
new file mode 100644
index 00000000..08786bed
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-light-mono.toml
@@ -0,0 +1,82 @@
+# wolf-alabaster-light-mono.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+#
+# This is the "Mono" (monochromatic) variant of Alabaster for Helix.
+# Uses minimal color - mostly grayscale with light backgrounds for strings/constants.
+# Only errors and search results use color.
+#
+# Based on tonsky's "Alabaster Mono" variant from:
+# https://github.com/tonsky/sublime-scheme-alabaster
+
+inherits = "wolf-alabaster-light"
+
+# SYNTAX HIGHLIGHTING - MONO VARIANT
+# Almost entirely grayscale with subtle background highlighting
+
+"string" = { fg = "fg", bg = "string-bg" }
+"string.regexp" = { fg = "fg", bg = "string-bg" }
+"string.special" = { fg = "fg", bg = "string-bg-dark" }
+
+"constant" = { fg = "fg", bg = "string-bg" }
+"constant.numeric" = { fg = "fg", bg = "string-bg" }
+"constant.character" = { fg = "fg", bg = "string-bg" }
+"constant.builtin" = { fg = "fg", bg = "string-bg" }
+
+"comment" = { fg = "comment-grey" }
+"comment.line" = { fg = "comment-grey" }
+"comment.block" = { fg = "comment-grey" }
+
+# Definitions stay default (no highlighting in mono)
+"function" = { fg = "fg" }
+"function.builtin" = { fg = "fg" }
+"function.method" = { fg = "fg" }
+
+"constructor" = { fg = "fg" }
+"type" = { fg = "fg" }
+"type.builtin" = { fg = "fg" }
+
+# Punctuation even more dimmed
+"punctuation" = { fg = "punctuation-light" }
+"punctuation.bracket" = { fg = "punctuation-light" }
+"punctuation.delimiter" = { fg = "punctuation-light" }
+"operator" = { fg = "punctuation-light" }
+
+# Special cases
+"tag" = { fg = "fg" }
+"namespace" = { fg = "fg" }
+
+# MARKUP
+"markup.heading" = { fg = "fg", modifiers = ["bold"] }
+"markup.link.url" = { fg = "fg", bg = "string-bg", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "fg" }
+"markup.quote" = { fg = "comment-grey" }
+"markup.raw" = { fg = "fg", bg = "string-bg" }
+
+# DIFF - Keep some color for version control
+"diff.plus" = { fg = "diff-green" }
+"diff.minus" = { fg = "diff-red" }
+"diff.delta" = { fg = "diff-orange" }
+
+# Errors keep color (important!)
+error = { fg = "error-red", modifiers = ["bold"] }
+"diagnostic.error" = { underline = { color = "error-red", style = "curl" } }
+
+# Virtual text - grey in mono (no colored definitions)
+"ui.virtual" = { fg = "inlay-hint" }
+"ui.virtual.inlay-hint" = { fg = "inlay-hint" }
+
+[palette]
+# Monochromatic palette
+comment-grey = "#999999" # Grey - comments
+punctuation-light = "#BBBBBB" # Light grey - punctuation
+string-bg = "#EEEEEE" # Very light grey - strings/constants background
+string-bg-dark = "#D9D9D9" # Slightly darker grey - escape sequences
+inlay-hint = "#AAAAAA" # Dimmed grey - virtual text (type hints)
+
+# Override parent colors with more muted tones for monochromatic aesthetic
+error-red = "#CC3333" # Red - errors (more muted than parent)
+diff-green = "#5F8700" # Green - additions (more muted than parent)
+diff-red = "#CC3333" # Red - deletions
+diff-orange = "#D78700" # Orange - changes (more muted than parent)
diff --git a/vendor/themes/wolf-alabaster-light.toml b/vendor/themes/wolf-alabaster-light.toml
new file mode 100644
index 00000000..6e1f041f
--- /dev/null
+++ b/vendor/themes/wolf-alabaster-light.toml
@@ -0,0 +1,169 @@
+# wolf-alabaster-light.toml
+#
+# Author: Wolf <[email protected]>
+# Project: https://github.com/wolf/alabaster-for-helix
+# Download: https://raw.githubusercontent.com/wolf/alabaster-for-helix/main/helix/dot-config/helix/themes/wolf-alabaster-light.toml
+#
+# This is a light-background theme especically for the Helix editor.
+#
+# The most important part here is the syntax stuff, but the theme includes UI stuff specifically for Helix, as well.
+#
+# What I care about is:
+# * Readable syntax, no matter the language
+# * The error messages provided by the LSP
+# * Anything special needed to make the UI non-surprising
+# * Building a minimal definition
+#
+# I started from a couple important sources:
+# * The [priorities and ideas](https://tonsky.me/blog/syntax-highlighting/) behind the Alabaster Theme (which exists for many editors) by Nikita Prokopov
+# * His [actual repo implementing the theme](https://github.com/tonsky/sublime-scheme-alabaster)
+# * A [theme template](https://github.com/joegm/helix-theme-template) on GitHub provided by joegm
+
+# I don't consider this to be done! I absolutely want feedback. I absolutely will continue to tinker.
+
+# GENERAL - Diagnostics (LSP errors/warnings)
+warning = { fg = "highlight" }
+error = { fg = "error-red", modifiers = ["bold"] }
+info = { fg = "definition" }
+hint = { fg = "punctuation" }
+diagnostic = { underline = { style = "curl" } }
+
+# UI - Interface elements
+"ui.background" = { bg = "bg" }
+"ui.text" = { fg = "fg" }
+"ui.text.focus" = { fg = "active", modifiers = ["bold"] }
+
+"ui.cursor" = { bg = "active", fg = "bg" }
+"ui.cursor.primary" = { bg = "active", fg = "bg" }
+"ui.cursor.match" = { bg = "highlight" }
+"ui.cursorline" = { bg = "cursorline" }
+"ui.cursorcolumn" = { bg = "cursorline" }
+
+"ui.gutter" = { bg = "bg" }
+
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "selection-primary" }
+
+"ui.linenr" = { fg = "punctuation" }
+"ui.linenr.selected" = { fg = "active", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "fg", bg = "panel" }
+"ui.statusline.inactive" = { fg = "punctuation", bg = "panel" }
+
+# Bufferline - make active buffer clearly visible (like onelight-fixed-bufferline)
+"ui.bufferline.active" = { fg = "fg", bg = "bg", modifiers = ["bold"] }
+"ui.bufferline.background" = { bg = "bg" }
+"ui.bufferline" = { fg = "punctuation", bg = "panel" }
+
+"ui.menu" = { fg = "fg", bg = "panel" }
+"ui.menu.selected" = { fg = "bg", bg = "active" }
+
+"ui.popup" = { fg = "fg", bg = "panel" }
+"ui.popup.info" = { fg = "fg", bg = "panel" }
+"ui.window" = { fg = "punctuation" }
+"ui.help" = { fg = "fg", bg = "bg" }
+
+# Jump labels - extremely visible
+"ui.virtual.jump-label" = { fg = "jump-label", modifiers = ["bold"] }
+
+# Virtual text (inlay hints, etc.) - dimmed type color
+"ui.virtual" = { fg = "inlay-hint" }
+"ui.virtual.inlay-hint" = { fg = "inlay-hint" }
+"ui.virtual.ruler" = { bg = "cursorline" }
+
+# LSP diagnostic inline/expanded text
+"diagnostic.error" = { underline = { color = "error-red", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "highlight", style = "curl" } }
+"diagnostic.info" = { underline = { color = "definition", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "punctuation", style = "curl" } }
+"diagnostic.deprecated" = { fg = "punctuation", modifiers = ["crossed_out"] }
+
+# SYNTAX HIGHLIGHTING - Following Alabaster's minimal approach
+# Only 4 categories get color: strings, constants, comments, definitions
+# Everything else (keywords, variables, calls) stays default fg
+
+"string" = { fg = "string" }
+"string.regexp" = { fg = "string" }
+"string.special" = { fg = "string" }
+
+"constant" = { fg = "constant" }
+"constant.numeric" = { fg = "constant" }
+"constant.character" = { fg = "constant" }
+"constant.builtin" = { fg = "constant" }
+
+"comment" = { fg = "comment" }
+"comment.line" = { fg = "comment" }
+"comment.block" = { fg = "comment" }
+
+"function" = { fg = "definition" }
+"function.builtin" = { fg = "definition" }
+"function.method" = { fg = "definition" }
+
+"constructor" = { fg = "definition" }
+"type" = { fg = "definition" }
+"type.builtin" = { fg = "definition" }
+
+# These are NOT highlighted (Alabaster philosophy: keywords are obvious)
+"keyword" = { fg = "fg" }
+"keyword.control" = { fg = "fg" }
+"keyword.operator" = { fg = "fg" }
+"variable" = { fg = "fg" }
+"variable.parameter" = { fg = "fg" }
+"variable.builtin" = { fg = "fg" }
+
+# Punctuation is dimmed
+"punctuation" = { fg = "punctuation" }
+"punctuation.bracket" = { fg = "punctuation" }
+"punctuation.delimiter" = { fg = "punctuation" }
+
+"operator" = { fg = "punctuation" }
+
+# Special cases
+"tag" = { fg = "definition" }
+"tag.error" = { fg = "error-red", underline = { style = "line" } }
+"attribute" = { fg = "fg" }
+"namespace" = { fg = "definition" }
+"label" = { fg = "constant" }
+
+# MARKUP - For markdown/documentation
+"markup.heading" = { fg = "definition", modifiers = ["bold"] }
+"markup.list" = { fg = "fg" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "string", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "definition" }
+"markup.quote" = { fg = "comment" }
+"markup.raw" = { fg = "string" }
+
+# DIFF - Version control
+"diff.plus" = { fg = "string" }
+"diff.minus" = { fg = "error-red" }
+"diff.delta" = { fg = "highlight" }
+
+[palette]
+# Core colors (Alabaster-inspired)
+fg = "#000000" # Main text (Alabaster uses pure black)
+bg = "#F7F7F7" # Background (Alabaster's light grey)
+
+# The 4 semantic colors
+string = "#448C27" # Green - strings & numbers
+constant = "#7A3E9D" # Magenta - constants, booleans
+comment = "#AA3731" # Red - comments (important!)
+definition = "#325CC0" # Blue - function/class definitions
+
+# Supporting colors
+punctuation = "#777777" # Grey - dimmed operators/brackets
+selection = "#DDE7ED" # Light gray-blue - secondary selections (subtle but distinct)
+selection-primary = "#BFDBFE" # Light blue - primary selection (original Alabaster)
+active = "#007ACC" # Bright blue - cursor, active elements
+highlight = "#FFBC5D" # Orange - search, warnings
+error-red = "#AA3731" # Red - errors
+panel = "#EEEEEE" # Darker grey - UI panels, menus, popups
+cursorline = "#EFEFEF" # Subtle highlight - cursorline, ruler
+jump-label = "#FF4500" # Bright orange-red - jump destinations
+inlay-hint = "#8090B8" # Dimmed blue - virtual text (type hints)
+
+# Diff colors
+diff-green = "#448C27" # Green - additions (same as string)
+diff-red = "#AA3731" # Red - deletions (same as error-red)
+diff-orange = "#FFBC5D" # Orange - changes (same as highlight)
diff --git a/vendor/themes/yellowed.toml b/vendor/themes/yellowed.toml
new file mode 100644
index 00000000..d94a75fc
--- /dev/null
+++ b/vendor/themes/yellowed.toml
@@ -0,0 +1,137 @@
+# author: Gael Lopes Da Silva
+# project: Yellowed
+# github: https://github.com/Gael-Lopes-Da-Silva/YellowedHelix
+
+"attribute" = { fg = "text" }
+"type" = { fg = "text" }
+"type.builtin" = { fg = "keywords" }
+"type.enum" = { fg = "keywords" }
+"constructor" = { fg = "text", modifiers = ["bold"] }
+"constant" = { fg = "text", modifiers = ["bold"] }
+"constant.builtin" = { fg = "constants", modifiers = ["bold"] }
+"constant.character" = { fg = "string" }
+"constant.character.escape" = { fg = "constants", modifiers = ["bold"] }
+"constant.numeric" = { fg = "keywords" }
+"string" = { fg = "string" }
+"string.regexp" = { fg = "constants" }
+"comment" = { fg = "comment" }
+"variable" = { fg = "text" }
+"variable.builtin" = { fg = "keywords" }
+"variable.parameter" = { fg = "text", modifiers = ["italic"] }
+"label" = { fg = "text" }
+"punctuation" = { fg = "text" }
+"punctuation.special" = { fg = "constants", modifiers = ["bold"] }
+"keyword" = { fg = "keywords", modifiers = ["bold"] }
+"keyword.control" = { fg = "keywords" }
+"keyword.control.return" = { fg = "keywords", modifiers = ["bold"] }
+"keyword.operator" = { fg = "keywords" }
+"keyword.directive" = { fg = "keywords" }
+"operator" = { fg = "keywords" }
+"function" = { fg = "text", modifiers = ["bold"] }
+"tag" = { fg = "keywords", modifiers = ["bold"] }
+"namespace" = { fg = "text" }
+"special" = { fg = "yellow" }
+
+"markup.heading.marker" = { fg = "keywords", modifiers = ["bold"] }
+"markup.heading.1" = { fg = "text", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "text", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "text", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "text", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "text", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "text", modifiers = ["bold"] }
+"markup.list" = { fg = "keywords", modifiers = ["bold"] }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.link.url" = { fg = "text", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "string" }
+"markup.quote" = { fg = "text" }
+"markup.raw" = { fg = "string" }
+
+"diff.plus" = { fg = "green" }
+"diff.minus" = { fg = "red" }
+"diff.delta" = { fg = "blue" }
+"diff.delta.moved" = { fg = "gray" }
+
+"ui.background" = { bg = "dark_gray", fg = "text" }
+"ui.background.separator" = { fg = "text" }
+"ui.cursor" = { bg = "yellow", fg = "black" }
+"ui.cursor.normal" = { bg = "yellow", fg = "black" }
+"ui.cursor.insert" = { bg = "yellow", fg = "black" }
+"ui.cursor.select" = { bg = "yellow", fg = "black" }
+"ui.cursor.match" = { bg = "light_gray" }
+"ui.cursor.primary" = { bg = "yellow", fg = "black" }
+"ui.cursor.primary.normal" = { bg = "yellow", fg = "black" }
+"ui.cursor.primary.insert" = { bg = "yellow", fg = "black" }
+"ui.cursor.primary.select" = { bg = "yellow", fg = "black" }
+"ui.debug.breakpoint" = { fg = "red" }
+"ui.debug.active" = { fg = "green" }
+"ui.gutter" = { fg = "light_gray" }
+"ui.gutter.selected" = { fg = "light_gray" }
+"ui.highlight.frameline" = { fg = "gray" }
+"ui.linenr" = { fg = "light_gray" }
+"ui.linenr.selected" = { fg = "yellow" }
+"ui.statusline" = { fg = "text", bg = "gray" }
+"ui.statusline.inactive" = { fg = "light_gray", bg = "gray" }
+"ui.statusline.normal" = { bg = "light_gray" }
+"ui.statusline.insert" = { bg = "green" }
+"ui.statusline.select" = { bg = "purple" }
+"ui.statusline.separator" = { fg = "dark_gray" }
+"ui.popup" = { bg = "menu", fg = "text" }
+"ui.popup.info" = { bg = "menu", fg = "text" }
+"ui.window" = { fg = "text" }
+"ui.help" = { fg = "text", bg = "menu" }
+"ui.text" = { fg = "text" }
+"ui.text.focus" = { bg = "gray" }
+"ui.text.inactive" = { fg = "text" }
+"ui.text.info" = { fg = "text" }
+"ui.virtual.ruler" = { bg = "light_gray" }
+"ui.virtual.whitespace" = { fg = "light_gray" }
+"ui.virtual.indent-guide" = { fg = "light_gray" }
+"ui.virtual.inlay-hint" = { fg = "light_gray" }
+"ui.virtual.inlay-hint.parameter" = { fg = "light_gray" }
+"ui.virtual.inlay-hint.type" = { fg = "light_gray" }
+"ui.virtual.wrap" = { fg = "light_gray" }
+"ui.menu" = { fg = "text", bg = "gray" }
+"ui.menu.selected" = { fg = "text", bg = "light_gray", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "light_gray", bg = "dark_gray" }
+"ui.selection" = { bg = "selection" }
+"ui.selection.primary" = { bg = "selection" }
+"ui.highlight" = { bg = "light_gray" }
+"ui.cursorline.primary" = { bg = "gray" }
+"ui.cursorline.secondary" = { bg = "gray" }
+"ui.cursorcolumn.primary" = { bg = "gray" }
+"ui.cursorcolumn.secondary" = { bg = "gray" }
+
+"warning" = { fg = "warning" }
+"error" = { fg = "error" }
+"info" = { fg = "info" }
+"hint" = { fg = "hint" }
+
+"diagnostic.warning" = { underline = { color = "warning", style = "curl" } }
+"diagnostic.error" = { underline = { color = "error", style = "curl" } }
+"diagnostic.info" = { underline = { color = "info", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "hint", style = "curl" } }
+"diagnostic.unnecessary" = { modifiers = ["dim"] }
+"diagnostic.deprecated" = { modifiers = ["crossed_out"] }
+
+[palette]
+# interface
+yellow = "#ffd900"
+gray = "#2a2a2a"
+dark_gray = "#242424"
+light_gray = "#545454"
+purple = "#994c92"
+blue = "#008DFF"
+menu = "#202020"
+selection = "#3f3f3f"
+
+# syntax
+text = "#FFFFFF"
+comment = "#6b6b6b"
+string = "#378b1d"
+constants = "#ff80f4"
+keywords = "#ffd900"
+warning = "#FF9C00"
+error = "#FF0000"
+info = "#0092FF"
+hint = "#4DFF00"
diff --git a/vendor/themes/yo.toml b/vendor/themes/yo.toml
new file mode 100644
index 00000000..55c80520
--- /dev/null
+++ b/vendor/themes/yo.toml
@@ -0,0 +1,125 @@
+# Author: Michael McClintock <[email protected]>
+# License: MIT
+
+# Yo - Themes for Helix inspired by Zenbones & Alabaster with Radix Colors.
+# https://github.com/mrmcc3/yo-theme-helix
+
+# background/text
+"ui.background" = { fg = "p11", bg = "p2" }
+"ui.background.separator" = { fg = "p7" }
+"ui.text" = { fg = "p11" }
+"ui.text.focus" = { fg = "p12", modifiers = ["bold"] }
+
+# popups/menus
+"ui.window" = { fg = "p7" }
+"ui.popup" = { fg = "p12", bg = "p4" }
+"ui.popup.info" = { fg = "p12", bg = "p2" }
+"ui.text.info" = { fg = "p12", bg = "p2" }
+"ui.help" = { fg = "p12", bg = "p2" }
+"ui.menu" = { fg = "p11", bg = "p4" }
+"ui.menu.selected" = { fg = "p12", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "p8", bg = "p4" }
+"ui.picker.header.column" = { underline.style = "line" }
+
+# cursor/selection
+"ui.cursor" = { fg = "p2", bg = "p11" }
+"ui.cursor.insert" = { fg = "p2", bg = "keyword" }
+"ui.cursor.select" = { fg = "p2", bg = "p12" }
+"ui.cursor.match" = { fg = "p12", modifiers = ["bold"] }
+"ui.cursor.primary" = { fg = "p2", bg = "p11", modifiers = ["bold"] }
+"ui.cursor.primary.insert" = { fg = "p2", bg = "keyword", modifiers = ["bold"] }
+"ui.cursor.primary.select" = { fg = "p2", bg = "p12", modifiers = ["bold"] }
+"ui.selection" = { bg = "p4" }
+"ui.selection.primary" = { bg = "p5" }
+"ui.cursorline.primary" = { bg = "p3" }
+"ui.cursorcolumn.primary" = { bg = "p3" }
+
+# line numbers / diff
+"ui.linenr" = { fg = "p7" }
+"ui.linenr.selected" = { fg = "p11" }
+diff = { fg = "p8" }
+
+# bufferline/statusline
+"ui.bufferline" = { fg = "p11", bg = "p4" }
+"ui.bufferline.active" = { fg = "p2", bg = "p11" }
+"ui.statusline" = { fg = "p11", bg = "p4" }
+"ui.statusline.inactive" = { fg = "p11", bg = "p2" }
+"ui.statusline.normal" = { fg = "p2", bg = "p11" }
+"ui.statusline.insert" = { fg = "p2", bg = "keyword" }
+"ui.statusline.select" = { fg = "p2", bg = "p12" }
+"ui.statusline.separator" = { fg = "p7" }
+
+# virtual
+"ui.virtual" = { fg = "p6" }
+"ui.virtual.ruler" = { bg = "p3" }
+"ui.virtual.inlay-hint" = { fg = "p7", underline.style = "dotted" }
+"ui.virtual.jump-label" = { fg = "p12", modifiers = [
+ "bold",
+], underline = { style = "curl", color = "info" } }
+
+# diagnostics
+error = { fg = "error", modifiers = ["bold"] }
+warning = { fg = "warning", modifiers = ["bold"] }
+info = { fg = "info", modifiers = ["bold"] }
+hint = { fg = "info", modifiers = ["bold"] }
+"diagnostic.error" = { fg = "error", modifiers = ["bold"] }
+"diagnostic.warning" = { fg = "warning", modifiers = ["bold"] }
+"diagnostic.info" = { fg = "info", modifiers = ["bold"] }
+"diagnostic.hint" = { fg = "info", modifiers = ["bold"] }
+# "diagnostic.unnecessary" = {}
+# "diagnostic.deprecated" = {}
+
+# code
+comment = { fg = "info" }
+keyword = { fg = "keyword" }
+operator = { fg = "keyword" }
+string = { fg = "string" }
+constant = { fg = "constant" }
+"string.special.symbol" = { fg = "constant" }
+variable = { fg = "p10" }
+namespace = { fg = "p10" }
+punctuation = { fg = "p9" }
+"punctuation.delimiter" = { fg = "p8" }
+function = { fg = "p11" }
+attribute = { fg = "p10" }
+tag = { fg = "keyword" }
+label = { fg = "p12" }
+constructor = { fg = "p12" }
+type = { fg = "p12" }
+
+# markup
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.heading" = { fg = "p12", modifiers = ["bold"] }
+"markup.heading.marker" = { fg = "p8" }
+"markup.list" = { fg = "p8" }
+"markup.link.url" = { underline.style = "line" }
+"markup.link.label" = { underline.style = "dotted" }
+# "markup.link.text" = {}
+"markup.quote" = { fg = "p10" }
+# "markup.raw" = {}
+
+[palette] # https://www.radix-ui.com/colors
+
+# grayDark
+p1 = "#111111"
+p2 = "#191919"
+p3 = "#222222"
+p4 = "#2a2a2a"
+p5 = "#313131"
+p6 = "#3a3a3a"
+p7 = "#484848"
+p8 = "#606060"
+p9 = "#6e6e6e"
+p10 = "#7b7b7b"
+p11 = "#b4b4b4"
+p12 = "#eeeeee"
+
+error = "#ec5d5e" # redDark-10
+warning = "#ff801f" # orangeDark-10
+info = "#3b9eff" # blueDark-10
+
+string = "#33b074" # greenDark-10
+constant = "#9a5cd0" # purpleDark-10
+keyword = "#ae8c7e" # bronzeDark-10
diff --git a/vendor/themes/yo_berry.toml b/vendor/themes/yo_berry.toml
new file mode 100644
index 00000000..1aaac1a9
--- /dev/null
+++ b/vendor/themes/yo_berry.toml
@@ -0,0 +1,31 @@
+# Author: Michael McClintock <[email protected]>
+# License: MIT
+
+# Yo - Themes for Helix inspired by Zenbones & Alabaster with Radix Colors.
+# https://github.com/mrmcc3/yo-theme-helix
+
+inherits = "yo"
+
+[palette]
+
+# mauveDark
+p1 = "#121113"
+p2 = "#1a191b"
+p3 = "#232225"
+p4 = "#2b292d"
+p5 = "#323035"
+p6 = "#3c393f"
+p7 = "#49474e"
+p8 = "#625f69"
+p9 = "#6f6d78"
+p10 = "#7c7a85"
+p11 = "#b5b2bc"
+p12 = "#eeeef0"
+
+error = "#ee518a" # crimsonDark-10
+warning = "#ffff57" # yellowDark-10
+info = "#3b9eff" # blueDark-10
+
+string = "#0eb39e" # teal-10
+constant = "#b658c4" # plum-10
+keyword = "#9eb1ff" # indigo-11
diff --git a/vendor/themes/yo_light.toml b/vendor/themes/yo_light.toml
new file mode 100644
index 00000000..15c14918
--- /dev/null
+++ b/vendor/themes/yo_light.toml
@@ -0,0 +1,34 @@
+# Author: Michael McClintock <[email protected]>
+# License: MIT
+
+# Yo - Themes for Helix inspired by Zenbones & Alabaster with Radix Colors.
+# https://github.com/mrmcc3/yo-theme-helix
+
+inherits = "yo"
+
+"ui.virtual.inlay-hint" = { fg = "p8", underline.style = "dotted" }
+"markup.quote" = { fg = "p9" }
+
+[palette]
+
+# gray
+p1 = "#fcfcfc"
+p2 = "#f9f9f9"
+p3 = "#f0f0f0"
+p4 = "#e8e8e8"
+p5 = "#e0e0e0"
+p6 = "#d9d9d9"
+p7 = "#cecece"
+p8 = "#bbbbbb"
+p9 = "#8d8d8d"
+p10 = "#838383"
+p11 = "#646464"
+p12 = "#202020"
+
+error = "#dc3e42" # red-10
+warning = "#ef5f00" # orange-10
+info = "#0588f0" # blue-10
+
+string = "#2b9a66" # green-10
+constant = "#8347b9" # purple-10
+keyword = "#957468" # bronze-10
diff --git a/vendor/themes/zed_onedark.toml b/vendor/themes/zed_onedark.toml
new file mode 100644
index 00000000..f3078de5
--- /dev/null
+++ b/vendor/themes/zed_onedark.toml
@@ -0,0 +1,114 @@
+# Zed OneDark
+# Author : EricHenry
+
+"attribute" = { fg = "yellow" }
+"comment" = { fg = "light-gray", modifiers = ["italic"] }
+"constant" = { fg = "yellow" }
+"constant.numeric" = { fg = "orange" }
+"constant.builtin" = { fg = "yellow" }
+"constant.builtin.boolean" = { fg = "yellow" }
+"constant.character.escape" = { fg = "yellow" }
+"constructor" = { fg = "blue" }
+"function" = { fg = "blue" }
+"function.builtin" = { fg = "blue" }
+"function.method" = { fg = "blue" }
+"function.macro" = { fg = "blue" }
+"keyword" = { fg = "purple" }
+"label" = { fg = "ui-text" }
+"namespace" = { fg = "ui-text" }
+"operator" = { fg = "ui-text" }
+"puncuation" = { fg = "ui-text" }
+"special" = { fg = "ui-text" }
+"string" = { fg = "green" }
+"type" = { fg = "cyan" }
+"variable.builtin" = { fg = "orange" }
+"variable.parameter" = { fg = "ui-text" }
+"variable.other.member" = { fg = "red" }
+
+"markup.heading" = { fg = "red" }
+"markup.raw.inline" = { fg = "green" }
+"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
+"markup.italic" = { fg = "purple", modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.list" = { fg = "red" }
+"markup.quote" = { fg = "yellow" }
+"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] }
+"markup.link.text" = { fg = "purple" }
+
+"diff.plus" = "green"
+"diff.delta" = "yellow"
+"diff.minus" = "red"
+
+"diagnostic.info".underline = { color = "blue", style = "curl" }
+"diagnostic.hint".underline = { color = "green", 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"] }
+"info" = { fg = "blue", modifiers = ["bold"] }
+"hint" = { fg = "green", modifiers = ["bold"] }
+"warning" = { fg = "yellow", modifiers = ["bold"] }
+"error" = { fg = "red", modifiers = ["bold"] }
+
+"ui.background" = { bg = "ui-text-reversed" }
+"ui.gutter" = { bg = "gray" }
+"ui.virtual" = { fg = "faint-gray" }
+"ui.virtual.indent-guide" = { fg = "faint-gray" }
+"ui.virtual.whitespace" = { fg = "light-gray" }
+"ui.virtual.ruler" = { bg = "gray" }
+"ui.virtual.inlay-hint" = { fg = "blue-gray", modifiers = ["bold"] }
+"ui.virtual.jump-label" = { fg = "purple", modifiers = ["bold", "italic"] }
+
+"ui.cursor" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
+"ui.cursor.match" = { fg = "blue", modifiers = ["underlined"] }
+# Malformed ANSI: dark-blue. See 'https://github.com/helix-editor/helix/issues/5709'
+# "ui.cursor.insert" = { fg = "dark-blue" }
+
+"ui.selection" = { bg = "faint-gray" }
+"ui.selection.primary" = { bg = "#293b5b" }
+"ui.cursorline.primary" = { bg = "gray" }
+
+"ui.highlight" = { bg = "gray" }
+"ui.highlight.frameline" = { bg = "#97202a" }
+
+"ui.linenr" = { fg = "linenr" }
+"ui.linenr.selected" = { fg = "ui-text" }
+
+"ui.statusline" = { fg = "white", bg = "gray" }
+"ui.statusline.inactive" = { fg = "light-gray", bg = "black" }
+"ui.statusline.normal" = { fg = "black", bg = "blue" }
+"ui.statusline.insert" = { fg = "black", bg = "green" }
+"ui.statusline.select" = { fg = "black", bg = "purple" }
+
+"ui.text" = { fg = "ui-text" }
+"ui.text.focus" = { fg = "white", bg = "gray", modifiers = ["bold"] }
+
+"ui.help" = { fg = "white", bg = "gray" }
+"ui.popup" = { bg = "gray" }
+"ui.window" = { fg = "gray" }
+"ui.menu" = { fg = "ui-text", bg = "gray" }
+"ui.menu.selected" = { fg = "ui-text-reversed", bg = "blue" }
+"ui.menu.scroll" = { fg = "ui-text", bg = "light-gray" }
+
+"ui.debug" = { fg = "red" }
+
+[palette]
+yellow = "#dfc184"
+orange = "#bf956a"
+blue = "#73ade9"
+blue-gray = "#5a6f89"
+red = "#d07277"
+purple = "#b477cf"
+green = "#a1c181"
+cyan = "#6eb4bf"
+gray = "#2f343e"
+light-gray = "#5d636f"
+faint-gray = "#3B4048"
+linenr = "#5d636f"
+
+white = "#c8ccd4"
+black = "#282c33"
+# black and white are used for a lot of the UI text
+ui-text = "#c8ccd4" #white
+ui-text-reversed = "#282c33" #black
diff --git a/vendor/themes/zed_onelight.toml b/vendor/themes/zed_onelight.toml
new file mode 100644
index 00000000..704b4db1
--- /dev/null
+++ b/vendor/themes/zed_onelight.toml
@@ -0,0 +1,62 @@
+# Zed OneLight
+# Author : EricHenry
+
+inherits = "zed_onedark"
+
+"attribute" = { fg = "green" }
+"constant" = { fg = "green" }
+"constant.numeric" = { fg = "gold" }
+"constant.builtin" = { fg = "gold" }
+"constant.builtin.boolean" = { fg = "green" }
+"variable.builtin" = { fg = "gold" }
+"variable.other.member" = { fg = "orange" }
+
+"markup.heading" = { fg = "orange" }
+"markup.list" = { fg = "orange" }
+"markup.quote" = { fg = "green" }
+
+"ui.cursor" = { fg = "dark-blue", modifiers = ["reversed"] }
+"ui.cursor.primary" = { fg = "dark-blue", modifiers = ["reversed"] }
+"ui.cursor.insert" = { fg = "dark-blue" }
+
+"ui.selection.primary" = { bg = "blue-gray" }
+"ui.cursorline.primary" = { bg = "faint-gray" }
+
+"ui.virtual.inlay-hint" = { fg = "violet", modifiers = ["bold"] }
+
+"ui.statusline" = { fg = "black", bg = "gray" }
+"ui.statusline.inactive" = { fg = "white", bg = "light-black" }
+"ui.statusline.normal" = { fg = "white", bg = "blue" }
+"ui.statusline.insert" = { fg = "white", bg = "green" }
+"ui.statusline.select" = { fg = "white", bg = "purple" }
+
+"ui.text.focus" = { fg = "ui-text", bg = "gray", modifiers = ["bold"] }
+
+"ui.help" = { fg = "black", bg = "dark-gray" }
+"ui.popup" = { bg = "dark-gray" }
+"ui.window" = { fg = "dark-gray" }
+
+[palette]
+yellow = "#dabb7e"
+red = "#d36151"
+orange = "#d3604f"
+blue = "#5b79e3"
+dark-blue = "#4a62db"
+purple = "#a449ab"
+violet = "#9294be"
+green = "#649f57"
+gold = "#ad6e25"
+cyan = "#3882b7"
+light-black = "#2e323a"
+# gray = "#dcdcdd"
+gray = "#eaeaed"
+dark-gray = "#ebebec"
+light-gray = "#a2a3a7"
+blue-gray = "#d9dcea"
+faint-gray = "#efefef"
+linenr = "#b0b1b3"
+
+black = "#383a41"
+white = "#fafafa"
+ui-text = "#383a41"
+ui-text-reversed = "#fafafa"
diff --git a/vendor/themes/zenburn.LICENSE b/vendor/themes/zenburn.LICENSE
new file mode 100644
index 00000000..f288702d
--- /dev/null
+++ b/vendor/themes/zenburn.LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/vendor/themes/zenburn.toml b/vendor/themes/zenburn.toml
new file mode 100644
index 00000000..c40f4cdf
--- /dev/null
+++ b/vendor/themes/zenburn.toml
@@ -0,0 +1,278 @@
+# Port of Vim's Zenburn theme (https://github.com/jnurmine/Zenburn/)
+# based on theli-ua's Helix port (https://github.com/theli-ua/helix/tree/zenburn)
+# Author: Jakob Jordan <jakobjordan(at)posteo.de>
+# License: GNU GPL <http://www.gnu.org/licenses/gpl.html>
+
+# "attribute"
+"type" = "zb-type-fg"
+"type.builtin" = { fg = "zb-type-fg", modifiers = ["bold"] }
+"type.parameter" = { fg = "zb-typedef-fg", modifiers = ["bold"] }
+"type.enum" = { fg = "zb-structure-fg", modifiers = ["bold"] }
+# "type.enum.variant"
+"constructor" = "zb-type-fg"
+"constant" = { fg = "zb-constant-fg", modifiers = ["bold"] }
+# "constant.builtin"
+"constant.builtin.boolean" = "zb-boolean-fg"
+"constant.character" = { fg = "zb-character-fg", modifiers = ["bold"] }
+# "constant.character.escape"
+"constant.numeric.integer" = { fg = "zb-number-fg" }
+"constant.numeric.float" = { fg = "zb-float-fg" }
+"string" = "zb-string-fg"
+# "string.regexp"
+# "string.special"
+# "string.special.path"
+# "string.special.url"
+# "string.special.symbol"
+"comment" = "zb-comment-fg"
+# "comment.line"
+"comment.line.documentation" = { fg = "zb-specialcomment-fg", modifiers = ["bold"] }
+# "comment.block"
+"comment.block.documentation" = { fg = "zb-specialcomment-fg", modifiers = ["bold"] }
+"variable" = "zb-identifier-fg"
+"variable.builtin" = { modifiers = ["bold"] }
+# "variable.parameter"
+# "variable.other"
+# "variable.other.member"
+# "variable.other.member.private"
+"label" = { fg = "zb-label-fg", underline = { style = 'line' } }
+# "punctuation"
+"punctuation.delimiter" = "zb-delimiter-fg"
+# "punctuation.bracket"
+"punctuation.special" = "zb-special-fg"
+"keyword" = { fg = "zb-keyword-fg", modifiers = ["bold"] }
+# "keyword.control"
+"keyword.control.conditional" = { fg = "zb-conditional-fg", modifiers = ["bold"] }
+"keyword.control.repeat" = { fg = "zb-repeat-fg", modifiers = ["bold"] }
+"keyword.control.import" = { fg = "zb-preproc-fg", modifiers = ["bold"] }
+# "keyword.control.return"
+"keyword.control.exception" = { fg = "zb-exception-fg", modifiers = ["bold"] }
+# "keyword.operator"
+# "keyword.directive"
+# "keyword.function"
+# "keyword.storage"
+"keyword.storage.type" = { fg = "zb-storageclass-fg", modifiers = ["bold"] }
+# "keyword.storage.modifier"
+"operator" = "zb-operator-fg"
+"function" = "zb-function-fg"
+"function.builtin" = { fg = "zb-function-fg", modifiers = ["bold"] }
+# "function.method"
+# "function.method.private"
+"function.macro" = { fg = "zb-macro-fg", modifiers = ["bold"] }
+# "function.special"
+"tag" = { fg = "zb-tag-fg", modifiers = ["bold"] }
+# "tag.builtin"
+"namespace" = { fg = "zb-include-fg", modifiers = ["bold"] }
+"special" = "zb-special-fg"
+# "markup"
+"markup.heading" = { fg = "zb-constant-fg", modifiers = ["bold"] }
+# "markup.heading.marker"
+# "markup.heading.1"
+# "markup.heading.2"
+# "markup.heading.3"
+# "markup.heading.4"
+# "markup.heading.5"
+# "markup.heading.6"
+"markup.list" = "zb-number-fg"
+# "markup.list.unnumbered"
+# "markup.list.numbered"
+# "markup.list.checked"
+# "markup.list.unchecked"
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link" = { underline.style = "line" }
+# "markup.link.url"
+# "markup.link.label"
+# "markup.link.text" = "zb-cyan"
+"markup.quote" = "zb-comment-fg"
+"markup.raw" = "zb-delimiter-fg"
+# "markup.raw.inline"
+# "markup.raw.block"
+# "diff"
+"diff.plus" = { fg = "zb-diffadd-fg", bg = "zb-diffadd-bg", modifiers = ["bold"] }
+"diff.plus.gutter" = "zb-diffadd-fg"
+"diff.minus" = { fg = "zb-diffdelete-fg", bg = "zb-diffdelete-bg" }
+"diff.minus.gutter" = "zb-string-fg"
+"diff.delta" = { bg = "zb-diffchange-bg" }
+# "diff.delta.moved"
+# "diff.delta.conflict"
+"diff.delta.gutter" = "zb-normal-fg"
+
+"ui.background" = { bg = "zb-normal-bg" }
+# "ui.background.separator"
+"ui.cursor" = { fg = "zb-cursor-fg", bg = "zb-cursor-bg", modifiers = ["bold"] }
+# "ui.cursor.normal"
+# "ui.cursor.insert"
+# "ui.cursor.select"
+"ui.cursor.match" = { fg = "zb-matchparen-fg", bg = "zb-matchparen-bg", modifiers = ["bold"] }
+# "ui.cursor.primary"
+# "ui.cursor.primary.normal"
+# "ui.cursor.primary.insert"
+# "ui.cursor.primary.select"
+# "ui.debug.breakpoint"
+# "ui.debug.active"
+"ui.gutter" = { bg = "zb-linenr-bg" }
+# ui.gutter.selected Gutter for the line the cursor is on
+"ui.linenr" = { fg = "zb-linenr-fg", bg = "zb-linenr-bg" }
+"ui.linenr.selected" = { fg = "zb-cursorlinenr-fg", bg = "zb-cursorlinenr-bg", modifiers = ["bold"] }
+"ui.statusline" = { bg = "zb-statusline-fg", fg = "zb-statusline-bg", modifiers = ["bold"] }
+"ui.statusline.inactive" = { bg = "zb-statuslinenc-fg", fg = "zb-statuslinenc-bg", modifiers = [] }
+# "ui.statusline.normal"
+# "ui.statusline.insert"
+# "ui.statusline.select"
+# "ui.statusline.separator"
+# "ui.bufferline"
+# "ui.bufferline.active"
+# "ui.bufferline.background"
+"ui.popup" = { fg = "zb-pmenu-fg", bg = "zb-pmenu-bg" }
+# "ui.popup.info"
+# "ui.picker.header"
+# "ui.picker.header.column"
+# "ui.picker.header.column.active"
+# "ui.window" = "zb-lineno"
+"ui.help" = { fg = "zb-pmenu-fg", bg = "zb-pmenu-bg" }
+"ui.text" = "zb-normal-fg"
+"ui.text.focus" = { modifiers = ["bold"] }
+# "ui.text.inactive"
+"ui.text.info" = { fg = "zb-pmenu-fg", bg = "zb-pmenu-bg" }
+"ui.virtual.ruler" = { bg = "zb-colorcolumn-bg" }
+"ui.virtual.whitespace" = { fg = "zb-nontext-fg", modifiers = ["bold"] }
+"ui.virtual.indent-guide" = { fg = "zb-colorcolumn-bg" }
+# "ui.virtual.inlay-hint"
+# "ui.virtual.inlay-hint.parameter"
+# "ui.virtual.inlay-hint.type"
+# "ui.virtual.wrap"
+"ui.virtual.jump-label" = { modifiers = ["bold"] }
+"ui.menu" = { fg = "zb-pmenu-fg", bg = "zb-pmenu-bg" }
+"ui.menu.selected" = { fg = "zb-pmenusel-fg", bg = "zb-pmenusel-bg", modifiers = ["bold"] }
+# "ui.menu.scroll"
+"ui.selection" = { bg = "#373737" }
+"ui.selection.primary" = { bg = "zb-visual-bg" }
+# "ui.highlight"
+# "ui.highlight.frameline"
+"ui.cursorline.primary" = { bg = "zb-cursorline-bg" }
+# "ui.cursorline.secondary"
+"ui.cursorcolumn.primary" = { bg = "zb-cursorcolumn-bg" }
+# "ui.cursorcolumn.secondary"
+"warning" = { fg = "zb-error-fg", modifiers = ["bold"] }
+"error" = { fg = "zb-error-fg", modifiers = ["bold"] }
+"info" = { fg = "zb-todo-fg", modifiers = ["bold"] }
+"hint" = { fg = "zb-todo-fg", modifiers = ["bold"] }
+# "diagnostic"
+"diagnostic.hint" = { fg = "zb-todo-fg", bg = "zb-todo-bg", modifiers = ["bold"] }
+"diagnostic.info" = { fg = "zb-todo-fg", bg = "zb-todo-bg", modifiers = ["bold"] }
+"diagnostic.warning" = { fg = "zb-error-fg", bg = "zb-error-bg", modifiers = ["bold"] }
+"diagnostic.error" = { fg = "zb-error-fg", bg = "zb-error-bg", modifiers = ["bold"] }
+"diagnostic.unnecessary" = { fg = "zb-todo-fg", bg = "zb-todo-bg", modifiers = ["bold"] }
+"diagnostic.deprecated"= { fg = "zb-todo-fg", bg = "zb-todo-bg", modifiers = ["bold"] }
+
+[palette]
+"zb-boolean-fg" = "#dca3a3"
+"zb-character-fg" = "#dca3a3" # gui=bold
+"zb-comment-fg" = "#7f9f7f"
+"zb-conditional-fg" = "#f0dfaf" # gui=bold
+"zb-constant-fg" = "#dca3a3" # gui=bold
+"zb-cursor-fg" = "#000d18"
+"zb-cursor-bg" = "#8faf9f" # gui=bold
+"zb-debug-fg" = "#bca3a3" # gui=bold
+"zb-define-fg" = "#ffcfaf" # gui=bold
+"zb-delimiter-fg" = "#8f8f8f"
+"zb-diffadd-fg" = "#709080"
+"zb-diffadd-bg" = "#313c36" # gui=bold
+"zb-diffchange-bg" = "#333333"
+"zb-diffdelete-fg" = "#333333"
+"zb-diffdelete-bg" = "#464646"
+"zb-difftext-fg" = "#ecbcbc"
+"zb-difftext-bg" = "#41363c" # gui=bold
+"zb-directory-fg" = "#9fafaf" # gui=bold
+"zb-errormsg-fg" = "#80d4aa"
+"zb-errormsg-bg" = "#2f2f2f" # gui=bold
+"zb-exception-fg" = "#c3bf9f" # gui=bold
+"zb-float-fg" = "#c0bed1"
+# "zb-foldcolumn-fg" = "#93b3a3"
+# "zb-foldcolumn-bg" = "#3f4040"
+# "zb-folded-fg" = "#93b3a3"
+# "zb-folded-bg" = "#3f4040"
+"zb-function-fg" = "#efef8f"
+"zb-identifier-fg" = "#efdcbc"
+"zb-incsearch-fg" = "#f8f893"
+"zb-incsearch-bg" = "#385f38"
+"zb-keyword-fg" = "#f0dfaf" # gui=bold
+"zb-macro-fg" = "#ffcfaf" # gui=bold
+"zb-modemsg-fg" = "#ffcfaf" # gui=none
+"zb-moremsg-fg" = "#ffffff" # gui=bold
+"zb-number-fg" = "#8cd0d3"
+"zb-operator-fg" = "#f0efd0"
+"zb-pmenusbar-fg" = "#000000"
+"zb-pmenusbar-bg" = "#2e3330"
+"zb-pmenuthumb-fg" = "#040404"
+"zb-pmenuthumb-bg" = "#a0afa0"
+"zb-precondit-fg" = "#dfaf8f" # gui=bold
+"zb-preproc-fg" = "#ffcfaf" # gui=bold
+"zb-question-fg" = "#ffffff" # gui=bold
+"zb-repeat-fg" = "#ffd7a7" # gui=bold
+"zb-search-fg" = "#ffffe0"
+"zb-search-bg" = "#284f28"
+"zb-signcolumn-fg" = "#9fafaf" # gui=bold
+"zb-specialchar-fg" = "#dca3a3" # gui=bold
+"zb-specialcomment-fg" = "#82a282" # gui=bold
+"zb-special-fg" = "#cfbfaf"
+"zb-specialkey-fg" = "#9ece9e"
+"zb-statement-fg" = "#e3ceab" # gui=none
+"zb-statusline-fg" = "#313633"
+"zb-statusline-bg" = "#ccdc90"
+"zb-statuslinenc-fg" = "#2e3330"
+"zb-statuslinenc-bg" = "#88b090"
+"zb-storageclass-fg" = "#c3bf9f" # gui=bold
+"zb-string-fg" = "#cc9393"
+"zb-structure-fg" = "#efefaf" # gui=bold
+"zb-tag-fg" = "#e89393" # gui=bold
+"zb-title-fg" = "#efefef" # gui=bold
+"zb-todo-fg" = "#dfdfdf" # gui=bold
+"zb-todo-bg" = "#575757"
+"zb-typedef-fg" = "#dfe4cf" # gui=bold
+"zb-type-fg" = "#dfdfbf" # gui=bold
+"zb-underlined-fg" = "#dcdccc" # gui=underline
+"zb-vertsplit-fg" = "#2e3330"
+"zb-vertsplit-bg" = "#688060"
+# "zb-visualnos-fg" = "#333333"
+# "zb-visualnos-bg" = "#f18c96" # gui=bold,underline
+"zb-warningmsg-fg" = "#ffffff"
+"zb-warningmsg-bg" = "#333333" # gui=bold
+"zb-wildmenu-fg" = "#cbecd0"
+"zb-wildmenu-bg" = "#2c302d" # gui=underline
+
+"zb-normal-fg" = "#dcdccc"
+"zb-normal-bg" = "#3f3f3f"
+"zb-conceal-fg" = "#8f8f8f"
+"zb-conceal-bg" = "#484848"
+"zb-colorcolumn-bg" = "#484848"
+"zb-cursorline-bg" = "#434443"
+"zb-cursorlinenr-fg" = "#d2d39b"
+"zb-cursorlinenr-bg" = "#262626"
+"zb-cursorcolumn-bg" = "#4f4f4f"
+"zb-foldcolumn-bg" = "#333333"
+"zb-folded-bg" = "#333333"
+"zb-linenr-fg" = "#9fafaf"
+"zb-linenr-bg" = "#262626"
+"zb-nontext-fg" = "#5b605e" # gui=bold
+"zb-pmenu-fg" = "#9f9f9f"
+"zb-pmenu-bg" = "#2c2e2e"
+"zb-pmenusel-fg" = "#d0d0a0"
+"zb-pmenusel-bg" = "#242424" # gui=bold
+"zb-matchparen-fg" = "#ffffe0"
+"zb-matchparen-bg" = "#284f28" # gui=bold
+"zb-signcolumn-bg" = "#343434"
+"zb-specialkey-bg" = "#444444"
+"zb-tabline-fg" = "#d0d0b8"
+"zb-tabline-bg" = "#222222" # gui=none
+"zb-tablinesel-fg" = "#f0f0b0"
+"zb-tablinesel-bg" = "#333333" # gui=bold
+"zb-tablinefill-fg" = "#dccdcc"
+"zb-tablinefill-bg" = "#101010" # gui=none
+"zb-visual-bg" = "#2f2f2f"
+"zb-visualnos-bg" = "#2f2f2f"
+"zb-error-fg" = "#e37170"
+"zb-error-bg" = "#3d3535" # gui=bold
+"zb-include-fg" = "#dfaf8f" # gui=bold
+"zb-label-fg" = "#dfcfaf" # gui=underline