Skip to content

Commit 33e7ca8

Browse files
committed
add theme nightfox
This theme is an adaptation of github.com/EdenEast/nightfox.nvim
1 parent 70ebbd0 commit 33e7ca8

File tree

1 file changed

+188
-0
lines changed

1 file changed

+188
-0
lines changed

runtime/themes/nightfox.toml

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

0 commit comments

Comments
 (0)