on master help sign in
add theme nightfox (#4769)

This theme is an adaptation of github.com/EdenEast/nightfox.nvim

commit6cdc5673721a69d2eb6de17a5c229f3151f0dfad authorJan Scheer <jhscheer@users.noreply.github.com> dateSat 26 Nov 2022, 02:41 (4 years ago) parent2271c3a
1 file changed+182
runtime/themes/nightfox.toml+182
runtime/themes/nightfox.tomlnew file+182
@@ -0,0 +1,182 @@
1+# Author: github.com/jhscheer
2+#
3+# This theme is an adaptation of
4+# github.com/EdenEast/nightfox.nvim
5+
6+
7+# INTERFACE
8+# These scopes are used for theming the editor interface.
9+
10+"ui.background" = { bg = "bg1" } # Default background color.
11+"ui.window" = { fg = "bg0" } # Window border between splits.
12+"ui.gutter" = { fg = "fg3" } # Left gutter for diagnostics and breakpoints.
13+
14+"ui.text" = { fg = "fg1" } # Default text color.
15+"ui.text.focus" = { bg = "sel1", fg = "fg1" } # Selection highlight in buffer-picker or file-picker.
16+"ui.text.info" = { fg = "fg2", bg = "sel0" } # Info popup contents (space mode menu).
17+
18+"ui.cursor" = { bg = "fg3", fg = "bg1" } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c).
19+"ui.cursor.primary" = { bg = "fg1", fg = "bg1" } # The primary cursor when there are multiple (shift-c).
20+"ui.cursor.match" = { fg = "yellow", modifiers = ["bold"] } # The matching parentheses of that under the cursor.
21+
22+"ui.selection" = { bg = "bg3" } # All currently selected text.
23+"ui.selection.primary" = { bg = "bg4" } # The primary selection when there are multiple.
24+"ui.cursorline.primary" = { bg = "bg3" } # The line of the primary cursor (if cursorline is enabled)
25+# "ui.cursorline.secondary" = { } # The lines of any other cursors (if cursorline is enabled)
26+# "ui.cursorcolumn.primary" = { } # The column of the primary cursor (if cursorcolumn is enabled)
27+# "ui.cursorcolumn.secondary" = { } # The columns of any other cursors (if cursorcolumn is enabled)
28+
29+"ui.linenr" = { fg = "fg3" } # Line numbers.
30+"ui.linenr.selected" = { fg = "yellow", modifiers = ["bold"] } # Current line number.
31+
32+# "ui.virtual" = { } # Namespace for additions to the editing area.
33+"ui.virtual.ruler" = { bg = "bg3" } # Vertical rulers (colored columns in editing area).
34+"ui.virtual.whitespace" = { fg = "bg3" } # Whitespace markers in editing area.
35+"ui.virtual.indent-guide" = { fg = "black" } # Vertical indent width guides
36+
37+"ui.statusline" = { fg = "fg2", bg = "bg0" } # Status line.
38+"ui.statusline.inactive" = { fg = "fg3", bg = "bg0" } # Status line in unfocused windows.
39+"ui.statusline.normal" = { bg = "blue", fg = "bg0", modifiers = ["bold"] } # Statusline mode during normal mode (only if editor.color-modes is enabled)
40+"ui.statusline.insert" = { bg = "green", fg = "bg0", modifiers = ["bold"] } # Statusline mode during insert mode (only if editor.color-modes is enabled)
41+"ui.statusline.select" = { bg = "magenta", fg = "bg0", modifiers = ["bold"] } # Statusline mode during select mode (only if editor.color-modes is enabled)
42+
43+"ui.help" = { bg = "sel0", fg = "fg1" } # Description box for commands.
44+
45+"ui.menu" = { bg = "sel0", fg = "fg1" } # Code and command completion menus.
46+"ui.menu.selected" = { bg = "fg3" } # Selected autocomplete item.
47+"ui.menu.scroll" = { fg = "fg3" } # fg sets thumb color, bg sets track color of scrollbar.
48+
49+"ui.popup" = { bg = "bg0", fg = "fg1" } # Documentation popups (space-k).
50+"ui.popup.info" = { bg = "sel0", fg = "fg1" } # Info popups box (space mode menu).
51+
52+"markup.raw" = { fg = "magenta" } # Code block in Markdown.
53+"markup.raw.inline" = { fg = "orange" } # `Inline code block` in Markdown.
54+"markup.heading" = { fg = "yellow", modifiers = ["bold"] }
55+"markup.list" = { fg = "magenta", modifiers = ["bold"] }
56+"markup.bold" = { fg = "orange", modifiers = ["bold"] }
57+"markup.italic" = { fg = "pink" }
58+"markup.link" = { fg = "yellow-bright", modifiers = ["bold"] }
59+"markup.quote" = { fg = "blue" }
60+
61+
62+# DIAGNOSTICS
63+"warning" = { fg ="yellow", bg = "bg1" } # Diagnostics warning (gutter)
64+"error" = { fg = "red", bg = "bg1" } # Diagnostics error (gutter)
65+"info" = { fg = "blue", bg = "bg1" } # Diagnostics info (gutter)
66+"hint" = { fg = "green", bg = "bg1" } # Diagnostics hint (gutter)
67+"diagnostic" = { modifiers = ["underlined"] } # Diagnostics fallback style (editing area)
68+"diagnostic.error" = { fg = "red" } # Diagnostics error (editing area)
69+"diagnostic.warning" = { fg = "yellow" } # Diagnostics warning (editing area)
70+"diagnostic.info" = { fg = "blue" } # Diagnostics info (editing area)
71+"diagnostic.hint" = { fg = "green" } # Diagnostics hint (editing area)
72+
73+
74+# SYNTAX HIGHLIGHTING
75+# These keys match tree-sitter scopes.
76+
77+"special" = { fg = "fg2" } # Special symbols e.g `?` in Rust, `...` in Hare.
78+"attribute" = { fg = "yellow" } # Class attributes, html tag attributes.
79+
80+"type" = { fg = "yellow" } # Variable type, like integer or string, including program defined classes, structs etc..
81+"type.builtin" = { fg = "cyan-bright" } # Primitive types of the language (string, int, float).
82+"type.enum.variant" = { fg = "orange-bright" }
83+
84+"constructor" = { fg = "magenta" } # Constructor method for a class or struct.
85+
86+"constant" = { fg = "orange-bright" } # Constant value
87+"constant.builtin" = { fg = "orange-bright" } # Special constants like `true`, `false`, `none`, etc.
88+"constant.builtin.boolean" = { fg = "orange" } # True or False.
89+"constant.character" = { fg = "green" } # Constant of character type.
90+"constant.character.escape" = { fg = "yellow-bright", modifiers = ["bold"] } # escape codes like \n.
91+"constant.numeric" = { fg = "orange" } # constant integer or float value.
92+
93+"string" = { fg = "green" } # String literal.
94+"string.regexp" = { fg = "yellow-bright" } # Regular expression literal.
95+"string.special" = { fg = "yellow-bright", modifiers = ["bold"] } # Strings containing a path, URL, etc.
96+"string.special.url" = { fg = "cyan", modifiers = ["bold"] } # String containing a web URL.
97+
98+"comment" = { fg = "comment" } # This is a comment.
99+"comment.block.documentation" = { fg = "comment", modifiers = ["bold"] } # Doc comments, e.g '///' in rust.
100+
101+"variable" = { fg = "white" } # Variable names.
102+"variable.builtin" = { fg = "red" } # Language reserved variables: `this`, `self`, `super`, etc.
103+"variable.parameter" = { fg = "cyan-bright" } # Function parameters.
104+"variable.other.member" = { fg = "fg2" } # Fields of composite data types (e.g. structs, unions).
105+
106+"label" = { fg = "magenta-bright" } # lifetimes - Loop labels, among other things.
107+
108+"punctuation" = { fg = "fg2" } # Any punctuation symbol.
109+# "punctuation.delimiter" = { fg = "fg2" } # Commas, colons or other delimiter depending on the language.
110+# "punctuation.bracket" = { fg = "fg2" } # Parentheses, angle brackets, etc.
111+# "punctuation.special" = { fg = "fg2" } # String interpolation brackets
112+
113+"keyword" = { fg = "magenta" } # Language reserved keywords.
114+"keyword.control" = { fg = "pink" } # Control keywords.
115+"keyword.control.conditional" = { fg = "magenta-bright" } # `if`, `else`, `elif`.
116+"keyword.control.repeat" = { fg = "magenta-bright" } # `for`, `while`, `loop`.
117+"keyword.control.import" = { fg = "pink-bright" } # `import`, `export` `use`.
118+"keyword.control.return" = { fg = "magenta" } # `return` in most languages.
119+"keyword.control.exception" = { fg = "magenta" } # `try`, `catch`, `raise`/`throw` and related.
120+"keyword.operator" = { fg = "fg2", modifiers = ["bold"] } # 'or', 'and', 'in'.
121+"keyword.directive" = { fg = "pink-bright" } # Preprocessor directives (#if in C...).
122+"keyword.function" = { fg = "red" } # The keyword to define a funtion: 'def', 'fun', 'fn'.
123+"keyword.storage" = { fg = "magenta" } # Keywords describing how things are stored
124+"keyword.storage.type" = { fg = "magenta" } # The type of something, class, function, var, let, etc.
125+"keyword.storage.modifier" = { fg = "yellow" } # Storage modifiers like static, mut, const, ref, etc.
126+
127+"operator" = { fg = "fg2" } # Logical, mathematical, and other operators.
128+
129+"function" = { fg = "blue-bright" }
130+"function.builtin" = { fg = "red" }
131+"function.macro" = { fg = "red" }
132+# "function.special" = { fg = "blue-bright" } # Preprocessor function in C.
133+# "function.method" = { fg = "blue-bright" } # Class / Struct methods.
134+
135+"tag" = { fg = "blue-bright" } # As in <body> for html, css tags.
136+
137+"namespace" = { fg = "cyan-bright" } # Namespace or module identifier.
138+
139+
140+# Diff ==============================
141+# Version control changes.
142+
143+"diff.plus" = "green-dim" # Additions.
144+"diff.minus" = "red-dim" # Deletions.
145+"diff.delta" = "blue-dim" # Modifications.
146+"diff.delta.moved" = "cyan-dim" # Renamed or moved files.
147+
148+# color palette
149+[palette]
150+black = "#393b44"
151+red = "#c94f6d"
152+red-dim = "#2f2837"
153+green = "#81b29a"
154+green-dim = "#26343c"
155+yellow = "#dbc074"
156+yellow-bright = "#e0c989"
157+blue = "#719cd6"
158+blue-bright = "#86abdc"
159+blue-dim = "#2f2837"
160+magenta = "#9d79d6"
161+magenta-bright = "#baa1e2"
162+cyan = "#63cdcf"
163+cyan-bright = "#7ad4d6"
164+cyan-dim = "#253f4a"
165+white = "#dfdfe0"
166+orange = "#f4a261"
167+orange-bright = "#f6b079"
168+pink = "#d67ad2"
169+pink-bright = "#dc8ed9"
170+comment = "#738091"
171+# spec
172+bg0 = "#131a24" # Dark bg (status line and float)
173+bg1 = "#192330" # Default bg
174+bg2 = "#212e3f" # Lighter bg (colorcolm folds)
175+bg3 = "#29394f" # Lighter bg (cursor line)
176+bg4 = "#39506d" # Conceal, border fg
177+fg0 = "#d6d6d7" # Lighter fg
178+fg1 = "#cdcecf" # Default fg
179+fg2 = "#aeafb0" # Darker fg (status line)
180+fg3 = "#71839b" # Darker fg (line numbers, fold colums)
181+sel0 = "#2b3b51" # Popup bg, visual selection bg
182+sel1 = "#3c5372" # Popup sel bg, search bg