From 7092e30f8d5970086bbcd77bddc89f3e993c9962 Mon Sep 17 00:00:00 2001 From: spentbliss <206476473+spentbliss@users.noreply.github.com> Date: Tue, 10 Jun 2025 07:44:30 -0700 Subject: [PATCH] feat(colorscheme): add lapis_aquamarine colorscheme (#13726) Co-authored-by: spentbliss --- runtime/themes/lapis_aquamarine.toml | 132 ++++++++++++++++++ .../themes/licenses/lapis_aquamarine.LICENSE | 23 +++ 2 files changed, 155 insertions(+) create mode 100644 runtime/themes/lapis_aquamarine.toml create mode 100644 runtime/themes/licenses/lapis_aquamarine.LICENSE diff --git a/runtime/themes/lapis_aquamarine.toml b/runtime/themes/lapis_aquamarine.toml new file mode 100644 index 000000000..45de8821a --- /dev/null +++ b/runtime/themes/lapis_aquamarine.toml @@ -0,0 +1,132 @@ +# Author: spentbliss +# 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/runtime/themes/licenses/lapis_aquamarine.LICENSE b/runtime/themes/licenses/lapis_aquamarine.LICENSE new file mode 100644 index 000000000..0e8d30d22 --- /dev/null +++ b/runtime/themes/licenses/lapis_aquamarine.LICENSE @@ -0,0 +1,23 @@ +MIT License + +Copyright (c) 2025 Alex Barnett + +This theme has been ported by spentbliss . + +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.