summaryrefslogtreecommitdiff
path: root/runtime/themes
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/themes')
-rw-r--r--runtime/themes/noctis.toml197
1 files changed, 197 insertions, 0 deletions
diff --git a/runtime/themes/noctis.toml b/runtime/themes/noctis.toml
new file mode 100644
index 00000000..fe598cf4
--- /dev/null
+++ b/runtime/themes/noctis.toml
@@ -0,0 +1,197 @@
+# Author : 0rphee <0rph3e@proton.me>
+
+# 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 ==============================
+
+"warning" = { fg ="yellow", modifiers = ["bold"] } # Editor warnings.
+"error" = { fg = "red", modifiers = ["bold"] } # Editor errors, like mis-typing a command.
+"info" = { fg = "mid-blue", bg = "mid-green" } # Code diagnostic info in gutter (LSP).
+# ? Difference between info and hint ?
+"hint" = { fg = "light-green", modifiers = ["bold"] } # Code diagnostics hint in gutter (LSP).
+"diagnostic" = { modifiers = ["underlined"] } # Code diagnostics in editing area (LSP).
+
+# UI ==============================
+# For styling helix itself.
+
+'ui.background' = { 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' = { } # Info popup contents (space mode menu).
+
+'ui.cursor' = { fg = "light-blue", modifiers = ["reversed"] } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c).
+'ui.cursor.primary' = { fg = "light-blue", modifiers = ["reversed"] } # The primary cursor when there are multiple (shift-c).
+'ui.cursor.insert' = { fg = "light-blue" } # The cursor in insert mode (i).
+'ui.cursor.select' = { fg = "light-blue" } # The cursor in select mode (v).
+'ui.cursor.match' = { fg = "red", modifiers = ["bold", "reversed"] } # The matching parentheses of that under the cursor.
+
+'ui.selection' = { bg = "mid-green" } # All currently selected text.
+'ui.selection.primary' = { bg = "mid-green" } # The primary selection when there are multiple.
+'ui.cursorline.primary' = { bg = 'mid-green' }
+
+'ui.linenr' = { bg = "dark-green", fg = "gray" } # Line numbers.
+'ui.linenr.selected' = { bg = "mid-green", fg = "light-green", modifiers = [ "bold" ] } # Current line number.
+
+'ui.virtual' = { fg = "mid-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 = "gray"} # Whitespace markers in editing area.
+'ui.virtual.indent-guide' = { fg = "gray" } # Indentation guides.
+
+'ui.statusline' = { fg = "white", bg = "autocomp-green"} # Status line.
+'ui.statusline.inactive' = { fg = "white", bg = "mid-green"} # Status line in unfocused windows.
+
+'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 = "gray", bg = "mid-green" } # Autocomplete menu.
+'ui.menu.selected' = { fg = "white", 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.
+
+'property' = { fg = "red" } # Regex group names.
+'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 = "mid-blue", modifiers = ["bold"]} # Constructor method for a class or struct. And in some cases applies to module names
+
+'constant' = { fg = "light-blue" } # 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 = "light-blue" } # 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.block' = { } # Block comments, like /* this */ in some languages.
+'comment.block.documentation' = { } # Doc comments, e.g '///' in rust.
+
+'variable' = { fg = "white" } # Variable names.
+'variable.builtin' = { } # Language reserved variables: `this`, `self`, `super`, etc.
+'variable.parameter' = { } # Funtion parameters.
+'variable.other.member' = { } # Fields of composite data types (e.g. structs, unions).
+'variable.function' = { } # ?
+
+'label' = { fg = "purple" } # Loop labels in rust.
+
+'punctuation' = { fg = "yellow", modifiers = ["bold"] } # (){}[]:;,.
+# 'punctuation.delimeter' = { 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' = { } # 'or', 'and', 'in'.
+'keyword.directive' = { fg = "purple" } # Preprocessor directives (#if in C).
+'keyword.function' = { } # The keyword to define a funtion: 'def', 'fun', 'fn'.
+
+'operator' = { fg = "pink", modifiers = ["bold"] } # Logical (&&, ||) and - I assume - Mathematical (+, %) operators
+
+'function' = { fg = "dark-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.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' = "yelllow" # { } # Deletions.
+'diff.delta' = "red" # { } # 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 = "#6f60ea"
+white = "#b1cace"
+orange = "#e4b782"
+gray = "#5b858b" # mainly for comments/background text
+red = "#e34e1b"
+
+dark-blue = "#19a2b7"
+mid-blue = "#47ace8"
+light-blue = "#87efff"
+