Adding custom color schemes.
This commit is contained in:
		
							parent
							
								
									074e475d40
								
							
						
					
					
						commit
						6eda929dd3
					
				
							
								
								
									
										195
									
								
								colors/demoiselles.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								colors/demoiselles.lua
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,195 @@ | ||||
| local variant = vim.o.background -- "dark" or "light" | ||||
| local colors = {} | ||||
| 
 | ||||
| if variant == "dark" then | ||||
|   colors = { | ||||
|     bg         = "#1b1b1b", -- Bone black | ||||
|     fg         = "#ddccbb", -- Lead white (muted for dark bg) | ||||
|     comment    = "#807060", -- Warm neutral | ||||
|     red        = "#d96a59", -- Vermilion-ochre | ||||
|     green      = "#6ea177", -- Emerald green | ||||
|     yellow     = "#e0b15e", -- Cadmium yellow | ||||
|     blue       = "#8fb9c9", -- Cobalt blue | ||||
|     magenta    = "#c9b78e", -- Ochre-pink repurposed | ||||
|     cyan       = "#a3b6a8", -- Cool neutral accent | ||||
|     cursorline = "#2a2e33", -- Slightly lighter than bg | ||||
|     highlight  = "#444444", -- For visual selections | ||||
|   } | ||||
| else | ||||
|   colors = { | ||||
|     bg         = "#fcf8f0", -- Lead white / fresco ivory | ||||
|     fg         = "#3b3025", -- Deep umber brown | ||||
|     red        = "#a5443a", -- Rusty vermilion | ||||
|     green      = "#4f7c69", -- Emerald green softened | ||||
|     yellow     = "#c69c3a", -- Renaissance gold / cadmium yellow | ||||
|     blue       = "#3b6a8b", -- Muted cobalt blue | ||||
|     magenta    = "#8c7a5e", -- Ochre-pink accent | ||||
|     cyan       = "#a8c3d1", -- Soft sky blue-grey | ||||
|     comment    = "#8b7e70", -- Warm stone grey | ||||
|     cursorline = "#e0d5c8", -- Pale ivory shadow | ||||
|     highlight  = "#c9a04f", -- Gold highlight | ||||
|   } | ||||
| end | ||||
| 
 | ||||
| vim.cmd("hi clear") | ||||
| vim.o.termguicolors = true | ||||
| vim.g.colors_name = "demoiselles" | ||||
| 
 | ||||
| local set = vim.api.nvim_set_hl | ||||
| local function hi(group, opts) set(0, group, opts) end | ||||
| 
 | ||||
| -- Core UI | ||||
| hi("Normal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("CursorLine",  { bg = colors.cursorline }) | ||||
| hi("Visual",      { bg = colors.highlight }) | ||||
| hi("LineNr",      { fg = colors.comment }) | ||||
| hi("CursorLineNr",{ fg = colors.yellow, bold = true }) | ||||
| hi("VertSplit",   { fg = colors.comment }) | ||||
| hi("StatusLine",  { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("StatusLineNC",{ fg = colors.comment, bg = colors.cursorline }) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.yellow }) | ||||
| hi("Search",      { fg = colors.bg, bg = colors.yellow }) | ||||
| hi("IncSearch",   { fg = colors.bg, bg = colors.red }) | ||||
| 
 | ||||
| -- Syntax | ||||
| hi("Comment",     { fg = colors.comment, italic = true }) | ||||
| hi("Constant",    { fg = colors.red }) | ||||
| hi("String",      { fg = colors.yellow }) | ||||
| hi("Character",   { fg = colors.yellow }) | ||||
| hi("Number",      { fg = colors.red }) | ||||
| hi("Boolean",     { fg = colors.red }) | ||||
| hi("Float",       { fg = colors.red }) | ||||
| 
 | ||||
| hi("Identifier",  { fg = colors.blue }) | ||||
| hi("Function",    { fg = colors.green }) | ||||
| 
 | ||||
| hi("Statement",   { fg = colors.blue }) | ||||
| hi("Conditional", { fg = colors.magenta }) | ||||
| hi("Repeat",      { fg = colors.magenta }) | ||||
| hi("Label",       { fg = colors.yellow }) | ||||
| hi("Operator",    { fg = colors.fg }) | ||||
| hi("Keyword",     { fg = colors.blue, bold = true }) | ||||
| hi("Exception",   { fg = colors.red }) | ||||
| 
 | ||||
| hi("PreProc",     { fg = colors.magenta }) | ||||
| hi("Include",     { fg = colors.blue }) | ||||
| hi("Define",      { fg = colors.magenta }) | ||||
| hi("Macro",       { fg = colors.magenta }) | ||||
| hi("PreCondit",   { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("Type",        { fg = colors.green }) | ||||
| hi("StorageClass",{ fg = colors.green }) | ||||
| hi("Structure",   { fg = colors.green }) | ||||
| hi("Typedef",     { fg = colors.green }) | ||||
| 
 | ||||
| hi("Special",     { fg = colors.cyan }) | ||||
| hi("SpecialChar", { fg = colors.yellow }) | ||||
| hi("Tag",         { fg = colors.blue }) | ||||
| hi("Delimiter",   { fg = colors.fg }) | ||||
| hi("SpecialComment",{ fg = colors.comment, italic = true }) | ||||
| hi("Debug",       { fg = colors.red }) | ||||
| 
 | ||||
| hi("Underlined",  { fg = colors.blue, underline = true }) | ||||
| hi("Bold",        { bold = true }) | ||||
| hi("Italic",      { italic = true }) | ||||
| 
 | ||||
| hi("Error",       { fg = colors.red, bold = true }) | ||||
| hi("Todo",        { fg = colors.magenta, bold = true }) | ||||
| hi("WarningMsg",  { fg = colors.yellow }) | ||||
| hi("ErrorMsg",    { fg = colors.red, bold = true }) | ||||
| 
 | ||||
| -- Diagnostics (LSP) | ||||
| hi("DiagnosticError", { fg = colors.red }) | ||||
| hi("DiagnosticWarn",  { fg = colors.yellow }) | ||||
| hi("DiagnosticInfo",  { fg = colors.blue }) | ||||
| hi("DiagnosticHint",  { fg = colors.cyan }) | ||||
| 
 | ||||
| hi("DiagnosticUnderlineError", { undercurl = true, sp = colors.red }) | ||||
| hi("DiagnosticUnderlineWarn",  { undercurl = true, sp = colors.yellow }) | ||||
| hi("DiagnosticUnderlineInfo",  { undercurl = true, sp = colors.blue }) | ||||
| hi("DiagnosticUnderlineHint",  { undercurl = true, sp = colors.cyan }) | ||||
| -- LSP Semantic Tokens | ||||
| hi("@lsp.type.class",          { fg = colors.yellow }) | ||||
| hi("@lsp.type.function",       { fg = colors.blue }) | ||||
| hi("@lsp.type.variable",       { fg = colors.fg }) | ||||
| hi("@lsp.type.parameter",      { fg = colors.cyan }) | ||||
| hi("@lsp.type.property",       { fg = colors.green }) | ||||
| hi("@lsp.type.enum",           { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Treesitter | ||||
| hi("@comment",        { fg = colors.comment, italic = true }) | ||||
| hi("@function",       { fg = colors.blue }) | ||||
| hi("@keyword",        { fg = colors.red, italic = true }) | ||||
| hi("@string",         { fg = colors.green }) | ||||
| hi("@variable",       { fg = colors.fg }) | ||||
| hi("@type",           { fg = colors.yellow }) | ||||
| hi("@property",       { fg = colors.green }) | ||||
| hi("@number",         { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Telescope | ||||
| hi("TelescopeBorder",     { fg = colors.comment }) | ||||
| hi("TelescopePromptTitle",{ fg = colors.yellow, bold = true }) | ||||
| hi("TelescopeSelection",  { bg = colors.cursorline }) | ||||
| hi("TelescopeMatching",   { fg = colors.blue }) | ||||
| 
 | ||||
| -- DAP (Debug) | ||||
| hi("DebugBreakpoint",       { fg = colors.red }) | ||||
| hi("DebugBreakpointLine",   { bg = colors.cursorline }) | ||||
| hi("DebugPC",               { bg = colors.highlight }) | ||||
| hi("DebugCurrentLine",      { underline = true, sp = colors.yellow }) | ||||
| 
 | ||||
| -- Pmenu (Completion) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.highlight }) | ||||
| hi("PmenuThumb",  { bg = colors.highlight }) | ||||
| 
 | ||||
| -- Notify / Noice / Snacks | ||||
| hi("NotifyINFOBorder",   { fg = colors.blue }) | ||||
| hi("NotifyWARNBorder",   { fg = colors.yellow }) | ||||
| hi("NotifyERRORBorder",  { fg = colors.red }) | ||||
| hi("NotifyDEBUGBorder",  { fg = colors.cyan }) | ||||
| hi("NotifyTRACEBorder",  { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("NoicePopup",         { bg = colors.cursorline }) | ||||
| hi("NoicePopupmenu",     { bg = colors.cursorline, fg = colors.fg }) | ||||
| 
 | ||||
| -- Git Diff | ||||
| hi("DiffAdd",    { fg = colors.green }) | ||||
| hi("DiffChange", { fg = colors.blue }) | ||||
| hi("DiffDelete", { fg = colors.red }) | ||||
| 
 | ||||
| -- Terminal Colors | ||||
| vim.g.terminal_color_0  = colors.bg | ||||
| vim.g.terminal_color_1  = colors.red | ||||
| vim.g.terminal_color_2  = colors.green | ||||
| vim.g.terminal_color_3  = colors.yellow | ||||
| vim.g.terminal_color_4  = colors.blue | ||||
| vim.g.terminal_color_5  = colors.magenta | ||||
| vim.g.terminal_color_6  = colors.cyan | ||||
| vim.g.terminal_color_7  = colors.fg | ||||
| vim.g.terminal_color_8  = colors.comment | ||||
| vim.g.terminal_color_9  = colors.red | ||||
| vim.g.terminal_color_10 = colors.green | ||||
| vim.g.terminal_color_11 = colors.yellow | ||||
| vim.g.terminal_color_12 = colors.blue | ||||
| vim.g.terminal_color_13 = colors.magenta | ||||
| vim.g.terminal_color_14 = colors.cyan | ||||
| vim.g.terminal_color_15 = colors.fg | ||||
| 
 | ||||
| -- Apply Snacks highlights unconditionally | ||||
| hi("SnacksNormal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("SnacksNormalNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksWinBar",      { fg = colors.magenta, bg = colors.bg, bold = true }) | ||||
| hi("SnacksWinBarNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksCursorLine",  { bg = colors.highlight }) | ||||
| hi("SnacksCursor",      { bg = colors.highlight }) | ||||
| hi("SnacksPickerFile",       { fg = colors.green, bold = true  }) | ||||
| hi("SnacksPickerDir",        { fg = colors.comment }) | ||||
| hi("SnacksPickerPathHidden", { fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPathIgnored",{ fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPrefix",     { fg = colors.yellow }) | ||||
| hi("SnacksPickerNormal",   { fg = colors.fg, bg = colors.yellow })           -- Normal picker line | ||||
| hi("SnacksPickerSelected", { fg = colors.bg, bg = colors.highlight })    -- Selected item (invert fg/bg) | ||||
| hi("SnacksPickerCursor",   { fg = colors.yellow, bg = colors.cursorline }) | ||||
| hi("NormalFloat",   { fg = colors.fg, bg = colors.bg }) | ||||
							
								
								
									
										201
									
								
								colors/nighthawks.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								colors/nighthawks.lua
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,201 @@ | ||||
| -- nighthawks.lua | ||||
| -- Neovim colorscheme inspired by Edward Hopper's "Nighthawks" (1942) | ||||
| -- Dark = cinematic nighttime neon | ||||
| -- Light = soft morning reinterpretation | ||||
| 
 | ||||
| local variant = vim.g.nighthawks_variant or "dark" | ||||
| 
 | ||||
| local colors = {} | ||||
| 
 | ||||
| if variant == "dark" then | ||||
|   colors = { | ||||
|     bg         = "#0e1a22", -- Deep midnight navy | ||||
|     fg         = "#d4d8dc", -- Pale warm white | ||||
|     comment    = "#6a7b85", -- Smoky teal-gray | ||||
|     red        = "#d15b4d", -- Neon diner red | ||||
|     green      = "#6fa88d", -- Jade counter green | ||||
|     yellow     = "#e3c770", -- Warm interior light | ||||
|     blue       = "#5a87a5", -- Windowpane blue | ||||
|     magenta    = "#b67aa0", -- Soft wine glow | ||||
|     cyan       = "#77aab7", -- Cool teal accent | ||||
|     cursorline = "#172730", -- Slightly lighter than bg | ||||
|     highlight  = "#24404f", -- Dim cyan highlight | ||||
|   } | ||||
| else | ||||
|   colors = { | ||||
|     bg         = "#f6f4f2", -- Muted paper white | ||||
|     fg         = "#2f3b44", -- Charcoal ink | ||||
|     comment    = "#868d93", -- Cool gray | ||||
|     red        = "#b14f42", -- Brick red | ||||
|     green      = "#5d8b76", -- Muted jade | ||||
|     yellow     = "#c8a856", -- Soft sunlight gold | ||||
|     blue       = "#3f6c89", -- Subdued cobalt | ||||
|     magenta    = "#9b6f86", -- Dusty rose | ||||
|     cyan       = "#649aa5", -- Sky teal | ||||
|     cursorline = "#e3dfdc", -- Light stone gray | ||||
|     highlight  = "#c2b89c", -- Warm neutral highlight | ||||
|   } | ||||
| end | ||||
| 
 | ||||
| local function hi(group, opts) | ||||
|   vim.api.nvim_set_hl(0, group, opts) | ||||
| end | ||||
| 
 | ||||
| -- Core UI | ||||
| hi("Normal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("CursorLine",  { bg = colors.cursorline }) | ||||
| hi("Visual",      { bg = colors.highlight }) | ||||
| hi("LineNr",      { fg = colors.comment }) | ||||
| hi("CursorLineNr",{ fg = colors.yellow, bold = true }) | ||||
| hi("VertSplit",   { fg = colors.comment }) | ||||
| hi("StatusLine",  { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("StatusLineNC",{ fg = colors.comment, bg = colors.cursorline }) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.blue, bold = true }) | ||||
| hi("Search",      { fg = colors.bg, bg = colors.yellow, bold = true }) | ||||
| hi("IncSearch",   { fg = colors.bg, bg = colors.red, bold = true }) | ||||
| 
 | ||||
| -- Syntax | ||||
| hi("Comment",     { fg = colors.comment, italic = true }) | ||||
| hi("Constant",    { fg = colors.red }) | ||||
| hi("String",      { fg = colors.yellow }) | ||||
| hi("Character",   { fg = colors.yellow }) | ||||
| hi("Number",      { fg = colors.cyan }) | ||||
| hi("Boolean",     { fg = colors.cyan, bold = true }) | ||||
| hi("Float",       { fg = colors.cyan }) | ||||
| 
 | ||||
| hi("Identifier",  { fg = colors.blue }) | ||||
| hi("Function",    { fg = colors.green, bold = true }) | ||||
| 
 | ||||
| hi("Statement",   { fg = colors.blue }) | ||||
| hi("Conditional", { fg = colors.magenta }) | ||||
| hi("Repeat",      { fg = colors.magenta }) | ||||
| hi("Label",       { fg = colors.yellow }) | ||||
| hi("Operator",    { fg = colors.fg }) | ||||
| hi("Keyword",     { fg = colors.blue, bold = true }) | ||||
| hi("Exception",   { fg = colors.red }) | ||||
| 
 | ||||
| hi("PreProc",     { fg = colors.magenta }) | ||||
| hi("Include",     { fg = colors.blue }) | ||||
| hi("Define",      { fg = colors.magenta }) | ||||
| hi("Macro",       { fg = colors.magenta }) | ||||
| hi("PreCondit",   { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("Type",        { fg = colors.green }) | ||||
| hi("StorageClass",{ fg = colors.green }) | ||||
| hi("Structure",   { fg = colors.green }) | ||||
| hi("Typedef",     { fg = colors.green }) | ||||
| 
 | ||||
| hi("Special",     { fg = colors.cyan }) | ||||
| hi("SpecialChar", { fg = colors.yellow }) | ||||
| hi("Tag",         { fg = colors.blue }) | ||||
| hi("Delimiter",   { fg = colors.fg }) | ||||
| hi("SpecialComment",{ fg = colors.comment, italic = true }) | ||||
| hi("Debug",       { fg = colors.red }) | ||||
| 
 | ||||
| hi("Underlined",  { fg = colors.blue, underline = true }) | ||||
| hi("Bold",        { bold = true }) | ||||
| hi("Italic",      { italic = true }) | ||||
| 
 | ||||
| hi("Error",       { fg = colors.red, bold = true }) | ||||
| hi("Todo",        { fg = colors.yellow, bold = true }) | ||||
| hi("WarningMsg",  { fg = colors.yellow }) | ||||
| hi("ErrorMsg",    { fg = colors.red, bold = true }) | ||||
| 
 | ||||
| -- Diagnostics (LSP) | ||||
| hi("DiagnosticError", { fg = colors.red }) | ||||
| hi("DiagnosticWarn",  { fg = colors.yellow }) | ||||
| hi("DiagnosticInfo",  { fg = colors.blue }) | ||||
| hi("DiagnosticHint",  { fg = colors.cyan }) | ||||
| 
 | ||||
| hi("DiagnosticUnderlineError", { undercurl = true, sp = colors.red }) | ||||
| hi("DiagnosticUnderlineWarn",  { undercurl = true, sp = colors.yellow }) | ||||
| hi("DiagnosticUnderlineInfo",  { undercurl = true, sp = colors.blue }) | ||||
| hi("DiagnosticUnderlineHint",  { undercurl = true, sp = colors.cyan }) | ||||
| 
 | ||||
| -- LSP Semantic Tokens | ||||
| hi("@lsp.type.class",          { fg = colors.yellow }) | ||||
| hi("@lsp.type.function",       { fg = colors.blue }) | ||||
| hi("@lsp.type.variable",       { fg = colors.fg }) | ||||
| hi("@lsp.type.parameter",      { fg = colors.cyan }) | ||||
| hi("@lsp.type.property",       { fg = colors.green }) | ||||
| hi("@lsp.type.enum",           { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Treesitter | ||||
| hi("@comment",        { fg = colors.comment, italic = true }) | ||||
| hi("@function",       { fg = colors.blue }) | ||||
| hi("@keyword",        { fg = colors.red, italic = true }) | ||||
| hi("@string",         { fg = colors.green }) | ||||
| hi("@variable",       { fg = colors.fg }) | ||||
| hi("@type",           { fg = colors.yellow }) | ||||
| hi("@property",       { fg = colors.green }) | ||||
| hi("@number",         { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Telescope | ||||
| hi("TelescopeBorder",     { fg = colors.comment }) | ||||
| hi("TelescopePromptTitle",{ fg = colors.yellow, bold = true }) | ||||
| hi("TelescopeSelection",  { bg = colors.cursorline }) | ||||
| hi("TelescopeMatching",   { fg = colors.blue }) | ||||
| 
 | ||||
| -- DAP (Debug) | ||||
| hi("DebugBreakpoint",       { fg = colors.red }) | ||||
| hi("DebugBreakpointLine",   { bg = colors.cursorline }) | ||||
| hi("DebugPC",               { bg = colors.highlight }) | ||||
| hi("DebugCurrentLine",      { underline = true, sp = colors.yellow }) | ||||
| 
 | ||||
| -- Pmenu (Completion) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.highlight }) | ||||
| hi("PmenuThumb",  { bg = colors.highlight }) | ||||
| 
 | ||||
| -- Notify / Noice / Snacks | ||||
| hi("NotifyINFOBorder",   { fg = colors.blue }) | ||||
| hi("NotifyWARNBorder",   { fg = colors.yellow }) | ||||
| hi("NotifyERRORBorder",  { fg = colors.red }) | ||||
| hi("NotifyDEBUGBorder",  { fg = colors.cyan }) | ||||
| hi("NotifyTRACEBorder",  { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("NoicePopup",         { bg = colors.cursorline }) | ||||
| hi("NoicePopupmenu",     { bg = colors.cursorline, fg = colors.fg }) | ||||
| 
 | ||||
| -- Git Diff | ||||
| hi("DiffAdd",    { fg = colors.green }) | ||||
| hi("DiffChange", { fg = colors.blue }) | ||||
| hi("DiffDelete", { fg = colors.red }) | ||||
| 
 | ||||
| -- Terminal Colors | ||||
| vim.g.terminal_color_0  = colors.bg | ||||
| vim.g.terminal_color_1  = colors.red | ||||
| vim.g.terminal_color_2  = colors.green | ||||
| vim.g.terminal_color_3  = colors.yellow | ||||
| vim.g.terminal_color_4  = colors.blue | ||||
| vim.g.terminal_color_5  = colors.magenta | ||||
| vim.g.terminal_color_6  = colors.cyan | ||||
| vim.g.terminal_color_7  = colors.fg | ||||
| vim.g.terminal_color_8  = colors.comment | ||||
| vim.g.terminal_color_9  = colors.red | ||||
| vim.g.terminal_color_10 = colors.green | ||||
| vim.g.terminal_color_11 = colors.yellow | ||||
| vim.g.terminal_color_12 = colors.blue | ||||
| vim.g.terminal_color_13 = colors.magenta | ||||
| vim.g.terminal_color_14 = colors.cyan | ||||
| vim.g.terminal_color_15 = colors.fg | ||||
| 
 | ||||
| -- Apply Snacks highlights unconditionally | ||||
| hi("SnacksNormal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("SnacksNormalNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksWinBar",      { fg = colors.magenta, bg = colors.bg, bold = true }) | ||||
| hi("SnacksWinBarNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksCursorLine",  { bg = colors.highlight }) | ||||
| hi("SnacksCursor",      { bg = colors.highlight }) | ||||
| hi("SnacksPickerFile",       { fg = colors.green, bold = true  }) | ||||
| hi("SnacksPickerDir",        { fg = colors.comment }) | ||||
| hi("SnacksPickerPathHidden", { fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPathIgnored",{ fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPrefix",     { fg = colors.yellow }) | ||||
| hi("SnacksPickerNormal",   { fg = colors.fg, bg = colors.yellow })           -- Normal picker line | ||||
| hi("SnacksPickerSelected", { fg = colors.bg, bg = colors.highlight })    -- Selected item (invert fg/bg) | ||||
| hi("SnacksPickerCursor",   { fg = colors.yellow, bg = colors.cursorline }) | ||||
| hi("NormalFloat",   { fg = colors.fg, bg = colors.bg }) | ||||
| 
 | ||||
| return colors | ||||
							
								
								
									
										151
									
								
								colors/sistine.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								colors/sistine.lua
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,151 @@ | ||||
| -- Sistine Theme for Neovim (Extended) | ||||
| -- Inspired by the Sistine Chapel | ||||
| 
 | ||||
| local variant = vim.o.background -- "dark" or "light" | ||||
| local colors = {} | ||||
| 
 | ||||
| if variant == "dark" then | ||||
|   colors = { | ||||
|     bg        = "#1f2428", | ||||
|     fg        = "#dfd8c0", | ||||
|     comment   = "#8a9286", | ||||
|     blue      = "#6d8ec7", | ||||
|     green     = "#a5c39f", | ||||
|     yellow    = "#dfc17d", | ||||
|     red       = "#dba59a", | ||||
|     magenta   = "#dba59a", -- repurpose if needed | ||||
|     cursorline= "#2a2e33", | ||||
|     highlight = "#343a40", -- darker than bg2 for visual selects | ||||
|   } | ||||
| else | ||||
|   colors = { | ||||
|     bg         = "#f4f1ec", -- Fresco White | ||||
|     fg         = "#80614d", -- Divine Umber | ||||
|     red        = "#d18a74", -- Cherub Blush | ||||
|     green      = "#7c8957", -- Olive Laurel | ||||
|     yellow     = "#c9a04f", -- Renaissance Gold | ||||
|     blue       = "#a8c3d1", -- Sky Blue | ||||
|     magenta    = "#e5b1aa", -- Angel Pink | ||||
|     cyan       = "#c1b6aa", -- Marble Grey | ||||
|     comment    = "#a1978e", -- Softened Marble | ||||
|     highlight  = "#c9a04f", -- Renaissance Gold | ||||
|     cursorline = "#e8e2db", | ||||
|   } | ||||
| end | ||||
| 
 | ||||
| vim.cmd("hi clear") | ||||
| vim.o.termguicolors = true | ||||
| vim.g.colors_name = "sistine" | ||||
| 
 | ||||
| local set = vim.api.nvim_set_hl | ||||
| local function hi(group, opts) set(0, group, opts) end | ||||
| 
 | ||||
| -- Core UI | ||||
| hi("Normal",       { fg = colors.fg, bg = colors.bg }) | ||||
| hi("Comment",      { fg = colors.comment, italic = true }) | ||||
| hi("CursorLine",   { bg = colors.cursorline }) | ||||
| hi("Visual",       { bg = colors.highlight }) | ||||
| hi("LineNr",       { fg = colors.comment }) | ||||
| hi("CursorLineNr", { fg = colors.yellow, bold = true }) | ||||
| hi("StatusLine",   { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("VertSplit",    { fg = colors.comment }) | ||||
| hi("Title",        { fg = colors.magenta, bold = true }) | ||||
| hi("Search",       { bg = colors.yellow, fg = colors.bg }) | ||||
| hi("IncSearch",    { bg = colors.red, fg = colors.bg }) | ||||
| 
 | ||||
| -- Diagnostics (LSP) | ||||
| hi("DiagnosticError", { fg = colors.red }) | ||||
| hi("DiagnosticWarn",  { fg = colors.yellow }) | ||||
| hi("DiagnosticInfo",  { fg = colors.blue }) | ||||
| hi("DiagnosticHint",  { fg = colors.green }) | ||||
| 
 | ||||
| hi("DiagnosticUnderlineError", { undercurl = true, sp = colors.red }) | ||||
| hi("DiagnosticUnderlineWarn",  { undercurl = true, sp = colors.yellow }) | ||||
| hi("DiagnosticUnderlineInfo",  { undercurl = true, sp = colors.blue }) | ||||
| hi("DiagnosticUnderlineHint",  { undercurl = true, sp = colors.green }) | ||||
| 
 | ||||
| -- LSP Semantic Tokens | ||||
| hi("@lsp.type.class",          { fg = colors.yellow }) | ||||
| hi("@lsp.type.function",       { fg = colors.blue }) | ||||
| hi("@lsp.type.variable",       { fg = colors.fg }) | ||||
| hi("@lsp.type.parameter",      { fg = colors.cyan }) | ||||
| hi("@lsp.type.property",       { fg = colors.green }) | ||||
| hi("@lsp.type.enum",           { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Treesitter | ||||
| hi("@comment",        { fg = colors.comment, italic = true }) | ||||
| hi("@function",       { fg = colors.blue }) | ||||
| hi("@keyword",        { fg = colors.red, italic = true }) | ||||
| hi("@string",         { fg = colors.green }) | ||||
| hi("@variable",       { fg = colors.fg }) | ||||
| hi("@type",           { fg = colors.yellow }) | ||||
| hi("@property",       { fg = colors.green }) | ||||
| hi("@number",         { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Telescope | ||||
| hi("TelescopeBorder",     { fg = colors.comment }) | ||||
| hi("TelescopePromptTitle",{ fg = colors.yellow, bold = true }) | ||||
| hi("TelescopeSelection",  { bg = colors.cursorline }) | ||||
| hi("TelescopeMatching",   { fg = colors.blue }) | ||||
| 
 | ||||
| -- DAP (Debug) | ||||
| hi("DebugBreakpoint",       { fg = colors.red }) | ||||
| hi("DebugBreakpointLine",   { bg = colors.cursorline }) | ||||
| hi("DebugPC",               { bg = colors.highlight }) | ||||
| hi("DebugCurrentLine",      { underline = true, sp = colors.yellow }) | ||||
| 
 | ||||
| -- Pmenu (Completion) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.highlight }) | ||||
| hi("PmenuThumb",  { bg = colors.highlight }) | ||||
| 
 | ||||
| -- Notify / Noice / Snacks | ||||
| hi("NotifyINFOBorder",   { fg = colors.blue }) | ||||
| hi("NotifyWARNBorder",   { fg = colors.yellow }) | ||||
| hi("NotifyERRORBorder",  { fg = colors.red }) | ||||
| hi("NotifyDEBUGBorder",  { fg = colors.cyan }) | ||||
| hi("NotifyTRACEBorder",  { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("NoicePopup",         { bg = colors.cursorline }) | ||||
| hi("NoicePopupmenu",     { bg = colors.cursorline, fg = colors.fg }) | ||||
| 
 | ||||
| -- Git Diff | ||||
| hi("DiffAdd",    { fg = colors.green }) | ||||
| hi("DiffChange", { fg = colors.blue }) | ||||
| hi("DiffDelete", { fg = colors.red }) | ||||
| 
 | ||||
| -- Terminal Colors | ||||
| vim.g.terminal_color_0  = colors.bg | ||||
| vim.g.terminal_color_1  = colors.red | ||||
| vim.g.terminal_color_2  = colors.green | ||||
| vim.g.terminal_color_3  = colors.yellow | ||||
| vim.g.terminal_color_4  = colors.blue | ||||
| vim.g.terminal_color_5  = colors.magenta | ||||
| vim.g.terminal_color_6  = colors.cyan | ||||
| vim.g.terminal_color_7  = colors.fg | ||||
| vim.g.terminal_color_8  = colors.comment | ||||
| vim.g.terminal_color_9  = colors.red | ||||
| vim.g.terminal_color_10 = colors.green | ||||
| vim.g.terminal_color_11 = colors.yellow | ||||
| vim.g.terminal_color_12 = colors.blue | ||||
| vim.g.terminal_color_13 = colors.magenta | ||||
| vim.g.terminal_color_14 = colors.cyan | ||||
| vim.g.terminal_color_15 = colors.fg | ||||
| 
 | ||||
| -- Bottom of sistine.lua (after terminal colors) | ||||
| -- Apply Snacks highlights unconditionally | ||||
| hi("SnacksNormal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("SnacksNormalNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksWinBar",      { fg = colors.magenta, bg = colors.bg, bold = true }) | ||||
| hi("SnacksWinBarNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksCursorLine",  { bg = colors.highlight }) | ||||
| hi("SnacksCursor",      { bg = colors.highlight }) | ||||
| hi("SnacksPickerFile",       { fg = colors.green, bold = true  }) | ||||
| hi("SnacksPickerDir",        { fg = colors.comment }) | ||||
| hi("SnacksPickerPathHidden", { fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPathIgnored",{ fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPrefix",     { fg = colors.yellow }) | ||||
| hi("SnacksPickerNormal",   { fg = colors.fg, bg = colors.yellow })           -- Normal picker line | ||||
| hi("SnacksPickerSelected", { fg = colors.bg, bg = colors.highlight })    -- Selected item (invert fg/bg) | ||||
| hi("SnacksPickerCursor",   { fg = colors.yellow, bg = colors.cursorline }) | ||||
| hi("NormalFloat",   { fg = colors.fg, bg = colors.bg }) | ||||
							
								
								
									
										195
									
								
								colors/starry_night.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										195
									
								
								colors/starry_night.lua
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,195 @@ | ||||
| local variant = vim.o.background -- "dark" or "light" | ||||
| local colors = {} | ||||
| 
 | ||||
| if variant == "dark" then | ||||
|   colors = { | ||||
|     bg         = "#0b1220", -- Deep midnight blue | ||||
|     fg         = "#d7dbe7", -- Starlight white | ||||
|     comment    = "#5b6a8a", -- Muted blue-gray | ||||
|     red        = "#d77b6e", -- Rusty crimson (village roofs) | ||||
|     green      = "#7ea97e", -- Cypress green | ||||
|     yellow     = "#f5d97a", -- Star glow | ||||
|     blue       = "#345d9d", -- Ultramarine swirl | ||||
|     magenta    = "#9d7cae", -- Violet undertones | ||||
|     cyan       = "#5fb8c5", -- Turquoise accent | ||||
|     cursorline = "#162033", -- Soft navy for line highlight | ||||
|     highlight  = "#244060", -- Glow for visual mode | ||||
|   } | ||||
| else | ||||
|   colors = { | ||||
|     bg         = "#f7f4ed", -- Soft parchment dawn | ||||
|     fg         = "#2f3d59", -- Ink blue | ||||
|     comment    = "#7c869f", -- Cloud gray | ||||
|     red        = "#c05a50", -- Terracotta red | ||||
|     green      = "#608b6f", -- Cypress softened | ||||
|     yellow     = "#e6c45d", -- Morning gold | ||||
|     blue       = "#476c9b", -- Sky blue | ||||
|     magenta    = "#8c6f98", -- Lilac violet | ||||
|     cyan       = "#6aa5b4", -- Light teal | ||||
|     cursorline = "#e1ddd3", -- Pale beige | ||||
|     highlight  = "#c9b99a", -- Golden-beige for visual select | ||||
|   } | ||||
| end | ||||
| 
 | ||||
| vim.cmd("hi clear") | ||||
| vim.o.termguicolors = true | ||||
| vim.g.colors_name = "demoiselles" | ||||
| 
 | ||||
| local set = vim.api.nvim_set_hl | ||||
| local function hi(group, opts) set(0, group, opts) end | ||||
| 
 | ||||
| -- Core UI | ||||
| hi("Normal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("CursorLine",  { bg = colors.cursorline }) | ||||
| hi("Visual",      { bg = colors.highlight }) | ||||
| hi("LineNr",      { fg = colors.comment }) | ||||
| hi("CursorLineNr",{ fg = colors.yellow, bold = true }) | ||||
| hi("VertSplit",   { fg = colors.comment }) | ||||
| hi("StatusLine",  { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("StatusLineNC",{ fg = colors.comment, bg = colors.cursorline }) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.yellow }) | ||||
| hi("Search",      { fg = colors.bg, bg = colors.yellow }) | ||||
| hi("IncSearch",   { fg = colors.bg, bg = colors.red }) | ||||
| 
 | ||||
| -- Syntax | ||||
| hi("Comment",     { fg = colors.comment, italic = true }) | ||||
| hi("Constant",    { fg = colors.red }) | ||||
| hi("String",      { fg = colors.yellow }) | ||||
| hi("Character",   { fg = colors.yellow }) | ||||
| hi("Number",      { fg = colors.cyan }) | ||||
| hi("Boolean",     { fg = colors.cyan }) | ||||
| hi("Float",       { fg = colors.cyan }) | ||||
| 
 | ||||
| hi("Identifier",  { fg = colors.blue }) | ||||
| hi("Function",    { fg = colors.green }) | ||||
| 
 | ||||
| hi("Statement",   { fg = colors.blue }) | ||||
| hi("Conditional", { fg = colors.magenta }) | ||||
| hi("Repeat",      { fg = colors.magenta }) | ||||
| hi("Label",       { fg = colors.yellow }) | ||||
| hi("Operator",    { fg = colors.fg }) | ||||
| hi("Keyword",     { fg = colors.blue, bold = true }) | ||||
| hi("Exception",   { fg = colors.red }) | ||||
| 
 | ||||
| hi("PreProc",     { fg = colors.magenta }) | ||||
| hi("Include",     { fg = colors.blue }) | ||||
| hi("Define",      { fg = colors.magenta }) | ||||
| hi("Macro",       { fg = colors.magenta }) | ||||
| hi("PreCondit",   { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("Type",        { fg = colors.green }) | ||||
| hi("StorageClass",{ fg = colors.green }) | ||||
| hi("Structure",   { fg = colors.green }) | ||||
| hi("Typedef",     { fg = colors.green }) | ||||
| 
 | ||||
| hi("Special",     { fg = colors.cyan }) | ||||
| hi("SpecialChar", { fg = colors.yellow }) | ||||
| hi("Tag",         { fg = colors.blue }) | ||||
| hi("Delimiter",   { fg = colors.fg }) | ||||
| hi("SpecialComment",{ fg = colors.comment, italic = true }) | ||||
| hi("Debug",       { fg = colors.red }) | ||||
| 
 | ||||
| hi("Underlined",  { fg = colors.blue, underline = true }) | ||||
| hi("Bold",        { bold = true }) | ||||
| hi("Italic",      { italic = true }) | ||||
| 
 | ||||
| hi("Error",       { fg = colors.red, bold = true }) | ||||
| hi("Todo",        { fg = colors.magenta, bold = true }) | ||||
| hi("WarningMsg",  { fg = colors.yellow }) | ||||
| hi("ErrorMsg",    { fg = colors.red, bold = true }) | ||||
| 
 | ||||
| -- Diagnostics (LSP) | ||||
| hi("DiagnosticError", { fg = colors.red }) | ||||
| hi("DiagnosticWarn",  { fg = colors.yellow }) | ||||
| hi("DiagnosticInfo",  { fg = colors.blue }) | ||||
| hi("DiagnosticHint",  { fg = colors.cyan }) | ||||
| 
 | ||||
| hi("DiagnosticUnderlineError", { undercurl = true, sp = colors.red }) | ||||
| hi("DiagnosticUnderlineWarn",  { undercurl = true, sp = colors.yellow }) | ||||
| hi("DiagnosticUnderlineInfo",  { undercurl = true, sp = colors.blue }) | ||||
| hi("DiagnosticUnderlineHint",  { undercurl = true, sp = colors.cyan }) | ||||
| -- LSP Semantic Tokens | ||||
| hi("@lsp.type.class",          { fg = colors.yellow }) | ||||
| hi("@lsp.type.function",       { fg = colors.blue }) | ||||
| hi("@lsp.type.variable",       { fg = colors.fg }) | ||||
| hi("@lsp.type.parameter",      { fg = colors.cyan }) | ||||
| hi("@lsp.type.property",       { fg = colors.green }) | ||||
| hi("@lsp.type.enum",           { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Treesitter | ||||
| hi("@comment",        { fg = colors.comment, italic = true }) | ||||
| hi("@function",       { fg = colors.green }) | ||||
| hi("@keyword",        { fg = colors.red, italic = true }) | ||||
| hi("@string",         { fg = colors.green }) | ||||
| hi("@variable",       { fg = colors.fg }) | ||||
| hi("@type",           { fg = colors.yellow }) | ||||
| hi("@property",       { fg = colors.green }) | ||||
| hi("@number",         { fg = colors.magenta }) | ||||
| 
 | ||||
| -- Telescope | ||||
| hi("TelescopeBorder",     { fg = colors.comment }) | ||||
| hi("TelescopePromptTitle",{ fg = colors.yellow, bold = true }) | ||||
| hi("TelescopeSelection",  { bg = colors.cursorline }) | ||||
| hi("TelescopeMatching",   { fg = colors.blue }) | ||||
| 
 | ||||
| -- DAP (Debug) | ||||
| hi("DebugBreakpoint",       { fg = colors.red }) | ||||
| hi("DebugBreakpointLine",   { bg = colors.cursorline }) | ||||
| hi("DebugPC",               { bg = colors.highlight }) | ||||
| hi("DebugCurrentLine",      { underline = true, sp = colors.yellow }) | ||||
| 
 | ||||
| -- Pmenu (Completion) | ||||
| hi("Pmenu",       { fg = colors.fg, bg = colors.cursorline }) | ||||
| hi("PmenuSel",    { fg = colors.bg, bg = colors.highlight }) | ||||
| hi("PmenuThumb",  { bg = colors.highlight }) | ||||
| 
 | ||||
| -- Notify / Noice / Snacks | ||||
| hi("NotifyINFOBorder",   { fg = colors.blue }) | ||||
| hi("NotifyWARNBorder",   { fg = colors.yellow }) | ||||
| hi("NotifyERRORBorder",  { fg = colors.red }) | ||||
| hi("NotifyDEBUGBorder",  { fg = colors.cyan }) | ||||
| hi("NotifyTRACEBorder",  { fg = colors.magenta }) | ||||
| 
 | ||||
| hi("NoicePopup",         { bg = colors.cursorline }) | ||||
| hi("NoicePopupmenu",     { bg = colors.cursorline, fg = colors.fg }) | ||||
| 
 | ||||
| -- Git Diff | ||||
| hi("DiffAdd",    { fg = colors.green }) | ||||
| hi("DiffChange", { fg = colors.blue }) | ||||
| hi("DiffDelete", { fg = colors.red }) | ||||
| 
 | ||||
| -- Terminal Colors | ||||
| vim.g.terminal_color_0  = colors.bg | ||||
| vim.g.terminal_color_1  = colors.red | ||||
| vim.g.terminal_color_2  = colors.green | ||||
| vim.g.terminal_color_3  = colors.yellow | ||||
| vim.g.terminal_color_4  = colors.blue | ||||
| vim.g.terminal_color_5  = colors.magenta | ||||
| vim.g.terminal_color_6  = colors.cyan | ||||
| vim.g.terminal_color_7  = colors.fg | ||||
| vim.g.terminal_color_8  = colors.comment | ||||
| vim.g.terminal_color_9  = colors.red | ||||
| vim.g.terminal_color_10 = colors.green | ||||
| vim.g.terminal_color_11 = colors.yellow | ||||
| vim.g.terminal_color_12 = colors.blue | ||||
| vim.g.terminal_color_13 = colors.magenta | ||||
| vim.g.terminal_color_14 = colors.cyan | ||||
| vim.g.terminal_color_15 = colors.fg | ||||
| 
 | ||||
| -- Apply Snacks highlights unconditionally | ||||
| hi("SnacksNormal",      { fg = colors.fg, bg = colors.bg }) | ||||
| hi("SnacksNormalNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksWinBar",      { fg = colors.magenta, bg = colors.bg, bold = true }) | ||||
| hi("SnacksWinBarNC",    { fg = colors.comment, bg = colors.bg }) | ||||
| hi("SnacksCursorLine",  { bg = colors.highlight }) | ||||
| hi("SnacksCursor",      { bg = colors.highlight }) | ||||
| hi("SnacksPickerFile",       { fg = colors.green, bold = true  }) | ||||
| hi("SnacksPickerDir",        { fg = colors.comment }) | ||||
| hi("SnacksPickerPathHidden", { fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPathIgnored",{ fg = colors.comment, italic = true }) | ||||
| hi("SnacksPickerPrefix",     { fg = colors.yellow }) | ||||
| hi("SnacksPickerNormal",   { fg = colors.fg, bg = colors.yellow })           -- Normal picker line | ||||
| hi("SnacksPickerSelected", { fg = colors.bg, bg = colors.highlight })    -- Selected item (invert fg/bg) | ||||
| hi("SnacksPickerCursor",   { fg = colors.yellow, bg = colors.cursorline }) | ||||
| hi("NormalFloat",   { fg = colors.fg, bg = colors.bg }) | ||||
							
								
								
									
										8
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								init.lua
									
									
									
									
									
								
							| @ -14,12 +14,16 @@ if not vim.loop.fs_stat(lazypath) then | ||||
|   }) | ||||
| end | ||||
| vim.opt.rtp:prepend(lazypath) | ||||
| require("lazy").setup("plugins") | ||||
| 
 | ||||
| -- SET NEOVIM THEME -- | ||||
| vim.o.termguicolors = true | ||||
| -- vim.cmd "let g:everforest_background = 'hard'" | ||||
| vim.cmd.colorscheme('kanagawa') | ||||
| vim.cmd.colorscheme('sistine') | ||||
| vim.o.background = "dark" | ||||
| 
 | ||||
| -- Load Plugins | ||||
| require("lazy").setup("plugins") | ||||
| 
 | ||||
| vim.keymap.set("n", "<leader>ct", "<cmd>Telescope colorscheme<CR>") | ||||
| 
 | ||||
| -- LSP -- | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 calcu1on
						calcu1on