diff --git a/helix/README.md b/helix/README.md new file mode 100644 index 0000000..f833036 --- /dev/null +++ b/helix/README.md @@ -0,0 +1,35 @@ +# Helix + +[Helix](https://helix-editor.com/) is a post-modern modal editor, cross-platform, built in Rust with minimal configuration needed to start using as a complete code editor. + +## Installation + +Helix config files for themes are placed in `$XDG_CONFIG_HOME/helix/themes` (which typically expands to `~/.config/helix/themes` on Linux and macOS, or `%AppData%\helix\themes` on Windows). + +To install the OneHalf themes for Helix: + +1. Create the themes directory if it doesn't exist: + ```bash + mkdir -p ~/.config/helix/themes + ``` + +2. Copy the theme files to the Helix themes directory: + ```bash + cp onehalf_dark.toml onehalf_light.toml ~/.config/helix/themes/ + ``` + +3. Open Helix editor and issue the `:theme` command + +4. Search for "onehalf" and select either "onehalf_dark" or "onehalf_light" + +## Features + +- Complete syntax highlighting for many languages +- Carefully selected colors matching the official OneHalf color scheme +- Special styles for diagnostics, UI elements, and more +- Proper styling for markup (Markdown, etc.) +- Optimized for readability and reduced eye strain + +## Screenshots + +See the main repository README for screenshots of the OneHalf themes. \ No newline at end of file diff --git a/helix/onehalf_dark.toml b/helix/onehalf_dark.toml new file mode 100644 index 0000000..4c05daa --- /dev/null +++ b/helix/onehalf_dark.toml @@ -0,0 +1,131 @@ +# Author : zoedsoupe (Zoey) + +# Define the theme properties +inherits = "default" + +# UI elements +"ui.background" = { bg = "black" } +"ui.text" = { fg = "white" } +"ui.cursor" = { fg = "black", bg = "blue" } +"ui.cursor.primary" = { fg = "black", bg = "blue" } +"ui.cursor.match" = { fg = "blue", modifiers = ["underlined"] } +"ui.selection" = { bg = "selection" } +"ui.selection.primary" = { bg = "selection" } +"ui.cursorline.primary" = { bg = "cursor_line" } +"ui.statusline" = { fg = "white", bg = "cursor_line" } +"ui.statusline.inactive" = { fg = "light_gray", bg = "cursor_line" } +"ui.statusline.normal" = { fg = "black", bg = "blue", modifiers = ["bold"] } +"ui.statusline.insert" = { fg = "black", bg = "green", modifiers = ["bold"] } +"ui.statusline.select" = { fg = "black", bg = "magenta", modifiers = ["bold"] } +"ui.bufferline" = { fg = "light_gray", bg = "cursor_line" } +"ui.bufferline.active" = { fg = "cursor_line", bg = "blue" } +"ui.linenr" = { fg = "gutter_fg", bg = "black" } +"ui.linenr.selected" = { fg = "white", bg = "cursor_line" } +"ui.popup" = { fg = "white", bg = "light_black" } +"ui.window" = { fg = "cursor_line" } +"ui.help" = { fg = "white", bg = "light_black" } +"ui.virtual" = { fg = "light_gray" } +"ui.virtual.ruler" = { bg = "cursor_line" } +"ui.virtual.indent-guide" = { fg = "light_gray" } +"ui.virtual.whitespace" = { fg = "light_gray" } +"ui.virtual.inlay-hint" = { fg = "light_gray" } +"ui.menu" = { fg = "white", bg = "light_black" } +"ui.menu.selected" = { fg = "black", bg = "blue" } +"ui.menu.scroll" = { fg = "white", bg = "light_black" } +"ui.highlight" = { bg = "cursor_line" } + +# Syntax highlighting +"comment" = { fg = "light_gray", modifiers = ["italic"] } +"constant" = { fg = "cyan" } +"constant.numeric" = { fg = "yellow" } +"constant.character.escape" = { fg = "yellow" } +"constant.builtin" = { fg = "yellow" } +"constant.builtin.boolean" = { fg = "yellow" } +"string" = { fg = "green" } +"string.regexp" = { fg = "green" } +"string.special" = { fg = "green" } + +"keyword" = { fg = "magenta" } +"keyword.control" = { fg = "magenta" } +"keyword.control.import" = { fg = "red" } +"keyword.function" = { fg = "magenta" } +"keyword.operator" = { fg = "magenta" } +"keyword.directive" = { fg = "magenta" } +"keyword.storage" = { fg = "magenta" } +"keyword.storage.type" = { fg = "magenta" } +"keyword.storage.modifier" = { fg = "magenta" } + +"operator" = { fg = "white" } +"punctuation" = { fg = "white" } +"punctuation.delimiter" = { fg = "white" } +"punctuation.bracket" = { fg = "white" } +"punctuation.special" = { fg = "white" } + +"variable" = { fg = "red" } +"variable.builtin" = { fg = "blue" } +"variable.parameter" = { fg = "red" } +"variable.other.member" = { fg = "red" } + +"type" = { fg = "yellow" } +"type.builtin" = { fg = "yellow" } +"type.enum.variant" = { fg = "yellow" } + +"constructor" = { fg = "blue" } +"function" = { fg = "blue" } +"function.builtin" = { fg = "blue" } +"function.method" = { fg = "blue" } +"function.macro" = { fg = "magenta" } +"function.special" = { fg = "blue" } + +"tag" = { fg = "red" } +"attribute" = { fg = "yellow" } +"namespace" = { fg = "blue" } +"special" = { fg = "blue" } +"label" = { fg = "magenta" } + +# Markup +"markup.heading" = { fg = "red" } +"markup.bold" = { fg = "yellow", modifiers = ["bold"] } +"markup.italic" = { fg = "magenta", modifiers = ["italic"] } +"markup.strikethrough" = { modifiers = ["crossed_out"] } +"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] } +"markup.link.text" = { fg = "magenta" } +"markup.raw" = { fg = "green" } +"markup.quote" = { fg = "yellow" } +"markup.list" = { fg = "red" } + +# Diagnostics +"diagnostic" = { underline = { style = "curl" } } +"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"] } + +# Diff +"diff.plus" = { fg = "green", bg = "black" } +"diff.minus" = { fg = "red", bg = "black" } +"diff.delta" = { fg = "yellow", bg = "black" } +"diff.delta.moved" = { fg = "blue", bg = "black" } + +# Define the color palette +[palette] +black = "#282c34" +red = "#e06c75" +green = "#98c379" +yellow = "#e5c07b" +blue = "#61afef" +magenta = "#c678dd" +cyan = "#56b6c2" +white = "#dcdfe4" +light_gray = "#5c6370" +gutter_fg = "#919baa" +cursor_line = "#313640" +light_black = "#3e4451" +selection = "#474e5d" \ No newline at end of file diff --git a/helix/onehalf_light.toml b/helix/onehalf_light.toml new file mode 100644 index 0000000..b3f1a5e --- /dev/null +++ b/helix/onehalf_light.toml @@ -0,0 +1,131 @@ +# Author : zoedsoupe (Zoey) + +# Define the theme properties +inherits = "default" + +# UI elements +"ui.background" = { bg = "white" } +"ui.text" = { fg = "black" } +"ui.cursor" = { fg = "white", bg = "blue" } +"ui.cursor.primary" = { fg = "white", bg = "blue" } +"ui.cursor.match" = { fg = "blue", modifiers = ["underlined"] } +"ui.selection" = { bg = "selection" } +"ui.selection.primary" = { bg = "selection" } +"ui.cursorline.primary" = { bg = "cursor_line" } +"ui.statusline" = { fg = "black", bg = "cursor_line" } +"ui.statusline.inactive" = { fg = "dark_gray", bg = "cursor_line" } +"ui.statusline.normal" = { fg = "white", bg = "blue", modifiers = ["bold"] } +"ui.statusline.insert" = { fg = "white", bg = "green", modifiers = ["bold"] } +"ui.statusline.select" = { fg = "white", bg = "magenta", modifiers = ["bold"] } +"ui.bufferline" = { fg = "dark_gray", bg = "cursor_line" } +"ui.bufferline.active" = { fg = "cursor_line", bg = "blue" } +"ui.linenr" = { fg = "gutter_fg", bg = "white" } +"ui.linenr.selected" = { fg = "black", bg = "cursor_line" } +"ui.popup" = { fg = "black", bg = "light_gray" } +"ui.window" = { fg = "cursor_line" } +"ui.help" = { fg = "black", bg = "light_gray" } +"ui.virtual" = { fg = "dark_gray" } +"ui.virtual.ruler" = { bg = "cursor_line" } +"ui.virtual.indent-guide" = { fg = "dark_gray" } +"ui.virtual.whitespace" = { fg = "dark_gray" } +"ui.virtual.inlay-hint" = { fg = "dark_gray" } +"ui.menu" = { fg = "black", bg = "light_gray" } +"ui.menu.selected" = { fg = "white", bg = "blue" } +"ui.menu.scroll" = { fg = "black", bg = "light_gray" } +"ui.highlight" = { bg = "cursor_line" } + +# Syntax highlighting +"comment" = { fg = "dark_gray", modifiers = ["italic"] } +"constant" = { fg = "cyan" } +"constant.numeric" = { fg = "yellow" } +"constant.character.escape" = { fg = "yellow" } +"constant.builtin" = { fg = "yellow" } +"constant.builtin.boolean" = { fg = "yellow" } +"string" = { fg = "green" } +"string.regexp" = { fg = "green" } +"string.special" = { fg = "green" } + +"keyword" = { fg = "magenta" } +"keyword.control" = { fg = "magenta" } +"keyword.control.import" = { fg = "red" } +"keyword.function" = { fg = "magenta" } +"keyword.operator" = { fg = "magenta" } +"keyword.directive" = { fg = "magenta" } +"keyword.storage" = { fg = "magenta" } +"keyword.storage.type" = { fg = "magenta" } +"keyword.storage.modifier" = { fg = "magenta" } + +"operator" = { fg = "black" } +"punctuation" = { fg = "black" } +"punctuation.delimiter" = { fg = "black" } +"punctuation.bracket" = { fg = "black" } +"punctuation.special" = { fg = "black" } + +"variable" = { fg = "red" } +"variable.builtin" = { fg = "blue" } +"variable.parameter" = { fg = "red" } +"variable.other.member" = { fg = "red" } + +"type" = { fg = "yellow" } +"type.builtin" = { fg = "yellow" } +"type.enum.variant" = { fg = "yellow" } + +"constructor" = { fg = "blue" } +"function" = { fg = "blue" } +"function.builtin" = { fg = "blue" } +"function.method" = { fg = "blue" } +"function.macro" = { fg = "magenta" } +"function.special" = { fg = "blue" } + +"tag" = { fg = "red" } +"attribute" = { fg = "yellow" } +"namespace" = { fg = "blue" } +"special" = { fg = "blue" } +"label" = { fg = "magenta" } + +# Markup +"markup.heading" = { fg = "red" } +"markup.bold" = { fg = "yellow", modifiers = ["bold"] } +"markup.italic" = { fg = "magenta", modifiers = ["italic"] } +"markup.strikethrough" = { modifiers = ["crossed_out"] } +"markup.link.url" = { fg = "cyan", modifiers = ["underlined"] } +"markup.link.text" = { fg = "magenta" } +"markup.raw" = { fg = "green" } +"markup.quote" = { fg = "yellow" } +"markup.list" = { fg = "red" } + +# Diagnostics +"diagnostic" = { underline = { style = "curl" } } +"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"] } + +# Diff +"diff.plus" = { fg = "green", bg = "white" } +"diff.minus" = { fg = "red", bg = "white" } +"diff.delta" = { fg = "yellow", bg = "white" } +"diff.delta.moved" = { fg = "blue", bg = "white" } + +# Define the color palette +[palette] +black = "#383a42" +red = "#e45649" +green = "#50a14f" +yellow = "#c18401" +blue = "#0184bc" +magenta = "#a626a4" +cyan = "#0997b3" +white = "#fafafa" +dark_gray = "#9a9a9a" +gutter_fg = "#9a9a9a" +cursor_line = "#f0f0f0" +light_gray = "#e5e5e6" +selection = "#d4d4d4" \ No newline at end of file