Compare commits
10 Commits
745cb17751
...
wip
| Author | SHA1 | Date | |
|---|---|---|---|
| 733fa2b149 | |||
| 08510eed7c | |||
| 6580d46751 | |||
| f6fa507e39 | |||
| ee8d34c0f7 | |||
| 272d335276 | |||
| 4f7cde15ee | |||
| b1ac562fd5 | |||
| 83d1e3d084 | |||
| dd2791bba7 |
@@ -1,8 +1,8 @@
|
|||||||
vim.g.colors_name = 'lupan'
|
vim.g.colors_name = 'lupan'
|
||||||
if vim.o.background == "dark" then
|
if vim.o.background == "dark" then
|
||||||
package.loaded["lupancolors.lupan"] = nil
|
package.loaded["lupancolors.lupandark"] = nil
|
||||||
require("lush")(require("lupancolors.lupan"))
|
require("lush")(require("lupancolors.lupandark").theme)
|
||||||
else
|
else
|
||||||
package.loaded["lupancolors.lupanlight"] = nil
|
package.loaded["lupancolors.lupanlight"] = nil
|
||||||
require("lush")(require("lupancolors.lupanlight"))
|
require("lush")(require("lupancolors.lupanlight").theme)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -4,64 +4,62 @@ local hsl = lush.hsl
|
|||||||
local colors;
|
local colors;
|
||||||
|
|
||||||
if vim.o.background == "dark" then
|
if vim.o.background == "dark" then
|
||||||
|
local c = require('lupancolors.lupandark').colors
|
||||||
colors = {
|
colors = {
|
||||||
bg = hsl(210, 15, 20).hex,
|
bg = c.base.da(70).hex,
|
||||||
fg = hsl(210, 30, 85).hex,
|
normal = c.blue.hex,
|
||||||
linebg = hsl(210, 15, 40).hex,
|
insert = c.green.hex,
|
||||||
linefg = hsl(210, 30, 85).hex,
|
visual = c.purple.hex,
|
||||||
black = hsl(210, 15, 5).hex,
|
replace = c.red.hex,
|
||||||
normal = hsl(210, 50, 75).hex,
|
command = c.yellow.hex,
|
||||||
insert = hsl(130, 50, 75).hex,
|
b = { bg = c.base.da(70).hex, fg = c.base.hex },
|
||||||
visual = hsl(210, 30, 30).hex,
|
c = { bg = c.base.de(50).da(50).hex, fg = c.base.de(50).hex },
|
||||||
replace = hsl(10, 50, 75).hex,
|
inactive = { bg = c.base.de(50).da(70).hex, fg = c.base.de(50).hex },
|
||||||
command = hsl(50, 50, 75).hex,
|
|
||||||
gray = hsl(210, 10, 60).hex,
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
local c = require('lupancolors.lupanlight').colors
|
||||||
colors = {
|
colors = {
|
||||||
bg = hsl(210, 15, 20).hex,
|
bg = c.base.li(80).hex,
|
||||||
fg = hsl(210, 30, 85).hex,
|
normal = c.blue.hex,
|
||||||
linebg = hsl(210, 15, 80).hex,
|
insert = c.green.hex,
|
||||||
linefg = hsl(210, 15, 20).hex,
|
visual = c.purple.hex,
|
||||||
black = hsl(210, 15, 5).hex,
|
replace = c.red.hex,
|
||||||
normal = hsl(210, 50, 75).hex,
|
command = c.yellow.hex,
|
||||||
insert = hsl(130, 50, 75).hex,
|
b = { bg = c.base.de(50).li(70).hex, fg = c.base.hex },
|
||||||
visual = hsl(210, 30, 30).hex,
|
c = { bg = c.base.de(30).li(60).hex, fg = c.base.hex },
|
||||||
replace = hsl(10, 50, 75).hex,
|
inactive = { bg = c.base.de(50).li(50).hex, fg = c.base.da(30).hex },
|
||||||
command = hsl(50, 50, 75).hex,
|
|
||||||
gray = hsl(210, 10, 60).hex,
|
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
return {
|
return {
|
||||||
normal = {
|
normal = {
|
||||||
a = { bg = colors.normal, fg = colors.bg },
|
a = { bg = colors.normal, fg = colors.bg },
|
||||||
b = { bg = colors.black, fg = colors.fg },
|
b = colors.b,
|
||||||
c = { bg = colors.linebg, fg = colors.linefg },
|
c = colors.c,
|
||||||
},
|
},
|
||||||
insert = {
|
insert = {
|
||||||
a = { bg = colors.insert, fg = colors.bg },
|
a = { bg = colors.insert, fg = colors.bg },
|
||||||
b = { bg = colors.black, fg = colors.fg },
|
b = colors.b,
|
||||||
c = { bg = colors.linebg, fg = colors.linefg },
|
c = colors.c,
|
||||||
},
|
},
|
||||||
visual = {
|
visual = {
|
||||||
a = { bg = colors.visual, fg = colors.fg },
|
a = { bg = colors.visual, fg = colors.bg },
|
||||||
b = { bg = colors.black, fg = colors.fg },
|
b = colors.b,
|
||||||
c = { bg = colors.linebg, fg = colors.linefg },
|
c = colors.c,
|
||||||
},
|
},
|
||||||
replace = {
|
replace = {
|
||||||
a = { bg = colors.replace, fg = colors.bg },
|
a = { bg = colors.replace, fg = colors.bg },
|
||||||
b = { bg = colors.black, fg = colors.fg },
|
b = colors.b,
|
||||||
c = { bg = colors.linebg, fg = colors.linefg },
|
c = colors.c,
|
||||||
},
|
},
|
||||||
command = {
|
command = {
|
||||||
a = { bg = colors.command, fg = colors.bg },
|
a = { bg = colors.command, fg = colors.bg },
|
||||||
b = { bg = colors.black, fg = colors.fg },
|
b = colors.b,
|
||||||
c = { bg = colors.linebg, fg = colors.linefg },
|
c = colors.c,
|
||||||
},
|
},
|
||||||
inactive = {
|
inactive = {
|
||||||
a = { bg = colors.black, fg = colors.fg },
|
a = colors.inactive,
|
||||||
b = { bg = colors.black, fg = colors.bg },
|
b = colors.inactive,
|
||||||
c = { bg = colors.black, fg = colors.linefg },
|
c = colors.inactive,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,57 +1,23 @@
|
|||||||
local lush = require('lush')
|
local lush = require('lush')
|
||||||
local hsl = lush.hsl -- We'll use hsl a lot so its nice to bind it separately
|
local hsluv = lush.hsluv
|
||||||
|
|
||||||
---@diagnostic disable: undefined-global
|
local M = {}
|
||||||
local theme = lush(function()
|
|
||||||
return {
|
local default = {
|
||||||
-- See: h highlight-groups
|
dark = {
|
||||||
Normal { bg = hsl(210, 15, 20), fg = hsl(210, 20, 75) },
|
base = hsluv(210, 40, 75),
|
||||||
CursorLine { bg = Normal.bg.li(10) },
|
},
|
||||||
Visual { bg = hsl(210, 30, 30) },
|
light = {
|
||||||
Comment { fg = hsl(210, 10, 60) },
|
base = hsluv(210, 70, 50),
|
||||||
CursorColumn { CursorLine },
|
|
||||||
LineNr { Comment, gui = "italic" },
|
|
||||||
CursorLineNr { fg = hsl(210, 50, 75), bg = CursorLine.bg, gui = "italic" },
|
|
||||||
Search { bg = hsl(50, 15, 60), fg = Normal.bg },
|
|
||||||
IncSearch { bg = hsl(130, 15, 60), fg = Normal.bg },
|
|
||||||
String { fg = hsl(210, 50, 75) },
|
|
||||||
PreProc { fg = hsl(300, 50, 75) },
|
|
||||||
Statement { fg = hsl(10, 50, 75) },
|
|
||||||
Type { fg = hsl(50, 50, 75) },
|
|
||||||
Identifier { fg = Normal.fg },
|
|
||||||
Function { fg = hsl(130, 50, 75) },
|
|
||||||
Operator { fg = hsl(270, 50, 75) },
|
|
||||||
Special { fg = hsl(325, 50, 75) },
|
|
||||||
Constant { fg = hsl(185, 50, 75) },
|
|
||||||
NonText { fg = Normal.bg.li(10) },
|
|
||||||
DiffAdd { Function },
|
|
||||||
DiffDelete { Special },
|
|
||||||
DiffChange { String },
|
|
||||||
SignColumn { Normal },
|
|
||||||
diffAdded { DiffAdd },
|
|
||||||
MoreMsg { Function, gui = "bold" },
|
|
||||||
Question { Function, gui = "bold" },
|
|
||||||
TelescopeSelection { CursorLine },
|
|
||||||
WhichKeyFloat { bg = hsl(210, 15, 30) },
|
|
||||||
DiagnosticError { fg = hsl(0, 80, 75) },
|
|
||||||
DiagnosticWarn { fg = hsl(25, 80, 75) },
|
|
||||||
DiagnosticInfo { fg = hsl(195, 80, 75) },
|
|
||||||
Pmenu { bg = Normal.bg.li(20) },
|
|
||||||
PmenuSel { bg = Normal.bg.li(30) },
|
|
||||||
Error { bg = hsl(0, 50, 50), fg = Normal.fg },
|
|
||||||
ErrorMsg { Error },
|
|
||||||
MatchParen { bg = hsl(195, 50, 35), fg = Normal.fg },
|
|
||||||
SpecialKey { fg = "red" },
|
|
||||||
Directory { Constant },
|
|
||||||
Title { Operator, gui = "bold" },
|
|
||||||
Conceal { bg = Normal.bg.li(40).de(30) },
|
|
||||||
SpellBad { fg = Special.fg, gui = "underline" },
|
|
||||||
SpellRare { fg = Type.fg, gui = "underline" },
|
|
||||||
SpellLocal { fg = DiagnosticInfo.fg, gui = "underline" },
|
|
||||||
SpellCap { fg = String.fg, gui = "underline" },
|
|
||||||
}
|
}
|
||||||
end)
|
}
|
||||||
|
|
||||||
return theme
|
function M.setup(options)
|
||||||
|
if options then
|
||||||
|
M.options = options
|
||||||
|
else
|
||||||
|
M.options = default
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-- vi:nowrap:number
|
return M
|
||||||
|
|||||||
81
lua/lupancolors/lupandark.lua
Normal file
81
lua/lupancolors/lupandark.lua
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
local lush = require('lush')
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local base = require('lupancolors.lupan').options.dark.base
|
||||||
|
|
||||||
|
M.colors = {
|
||||||
|
base = base,
|
||||||
|
bg = base.de(10).da(70),
|
||||||
|
fg = base.de(75),
|
||||||
|
red = base.hue(0),
|
||||||
|
orange = base.hue(30),
|
||||||
|
yellow = base.hue(60),
|
||||||
|
yellow_green = base.hue(90),
|
||||||
|
green = base.hue(120),
|
||||||
|
aquamarine = base.hue(150),
|
||||||
|
cyan = base.hue(180),
|
||||||
|
blue = base.hue(210),
|
||||||
|
lavender = base.hue(240),
|
||||||
|
purple = base.hue(270),
|
||||||
|
fuchsia = base.hue(300),
|
||||||
|
hot_pink = base.hue(330),
|
||||||
|
}
|
||||||
|
|
||||||
|
---@diagnostic disable: undefined-global
|
||||||
|
M.theme = lush(function()
|
||||||
|
local c = M.colors
|
||||||
|
return {
|
||||||
|
-- See: h highlight-groups
|
||||||
|
Normal { bg = c.bg, fg = c.fg },
|
||||||
|
CursorLine { bg = Normal.bg.li(5) },
|
||||||
|
Visual { bg = Normal.bg.sa(20).li(10) },
|
||||||
|
Comment { fg = c.base.de(75).da(20) },
|
||||||
|
CursorColumn { CursorLine },
|
||||||
|
LineNr { Comment, gui = "italic" },
|
||||||
|
CursorLineNr { fg = c.blue, bg = CursorLine.bg, gui = "italic" },
|
||||||
|
Search { bg = c.yellow, fg = Normal.bg },
|
||||||
|
IncSearch { bg = c.yellow_green, fg = Normal.bg },
|
||||||
|
String { fg = c.blue },
|
||||||
|
PreProc { fg = c.lavender },
|
||||||
|
Statement { fg = c.orange },
|
||||||
|
Type { fg = c.yellow },
|
||||||
|
Identifier { fg = Normal.fg },
|
||||||
|
Function { fg = c.green },
|
||||||
|
Operator { fg = c.aquamarine },
|
||||||
|
Special { fg = c.purple },
|
||||||
|
Constant { fg = c.cyan },
|
||||||
|
NonText { fg = Normal.bg.li(10) },
|
||||||
|
DiffAdd { fg = c.green },
|
||||||
|
DiffDelete { fg = c.red },
|
||||||
|
diffRemoved { fg = c.red },
|
||||||
|
DiffChange { fg = c.blue },
|
||||||
|
diffChanged { fg = c.blue },
|
||||||
|
SignColumn { Normal },
|
||||||
|
diffAdded { DiffAdd },
|
||||||
|
MoreMsg { fg = c.green, gui = "bold" },
|
||||||
|
Question { fg = c.green, gui = "bold" },
|
||||||
|
TelescopeSelection { CursorLine },
|
||||||
|
WhiKeyFloat { bg = Normal.bg.li(10) },
|
||||||
|
DiagnosticError { fg = c.red },
|
||||||
|
DiagnosticWarn { fg = c.orange },
|
||||||
|
DiagnosticInfo { fg = c.cyan },
|
||||||
|
Pmenu { bg = Normal.bg.li(10) },
|
||||||
|
PmenuSel { bg = Normal.bg.li(20).sa(20) },
|
||||||
|
Error { bg = c.red.da(25), fg = Normal.bg },
|
||||||
|
ErrorMsg { Error },
|
||||||
|
MatParen { fg = c.hot_pink, gui = "bold" },
|
||||||
|
SpecialKey { fg = c.red },
|
||||||
|
Directory { fg = c.cyan },
|
||||||
|
Title { fg = c.fuchsia, gui = "bold" },
|
||||||
|
Conceal { bg = Normal.bg.li(20).de(50) },
|
||||||
|
SpellBad { fg = c.red, gui = "underline" },
|
||||||
|
SpellRare { fg = Type.fg, gui = "underline" },
|
||||||
|
SpellLocal { fg = DiagnosticInfo.fg, gui = "underline" },
|
||||||
|
SpellCap { fg = String.fg, gui = "underline" },
|
||||||
|
}
|
||||||
|
end)
|
||||||
|
|
||||||
|
return M
|
||||||
|
|
||||||
|
-- vi:nowrap:number
|
||||||
@@ -1,57 +1,81 @@
|
|||||||
local lush = require('lush')
|
local lush = require('lush')
|
||||||
local hsl = lush.hsl -- We'll use hsl a lot so its nice to bind it separately
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local base = require('lupancolors.lupan').options.light.base
|
||||||
|
|
||||||
|
M.colors = {
|
||||||
|
base = base,
|
||||||
|
bg = base.de(60).li(90),
|
||||||
|
fg = base.de(75),
|
||||||
|
red = base.hue(0),
|
||||||
|
orange = base.hue(30),
|
||||||
|
yellow = base.hue(60),
|
||||||
|
yellow_green = base.hue(90),
|
||||||
|
green = base.hue(120),
|
||||||
|
aquamarine = base.hue(150),
|
||||||
|
cyan = base.hue(180),
|
||||||
|
blue = base.hue(210),
|
||||||
|
lavender = base.hue(240),
|
||||||
|
purple = base.hue(270),
|
||||||
|
fuchsia = base.hue(300),
|
||||||
|
hot_pink = base.hue(330),
|
||||||
|
}
|
||||||
|
|
||||||
---@diagnostic disable: undefined-global
|
---@diagnostic disable: undefined-global
|
||||||
local theme = lush(function()
|
M.theme = lush(function()
|
||||||
|
local c = M.colors;
|
||||||
return {
|
return {
|
||||||
-- See: h highlight-groups
|
-- See: h highlight-groups
|
||||||
Normal { bg = hsl(210, 25, 97), fg = hsl(210, 30, 20) },
|
Normal { bg = c.bg, fg = c.fg },
|
||||||
CursorLine { bg = Normal.bg.da(4) },
|
CursorLine { bg = Normal.bg.da(4) },
|
||||||
Visual { bg = hsl(210, 30, 75) },
|
Visual { bg = c.base.de(55).li(70) },
|
||||||
Comment { fg = hsl(210, 10, 50) },
|
Comment { fg = c.base.de(60).li(20) },
|
||||||
CursorColumn { CursorLine },
|
CursorColumn { CursorLine },
|
||||||
LineNr { Comment, gui = "italic" },
|
LineNr { Comment, gui = "italic" },
|
||||||
CursorLineNr { fg = hsl(210, 50, 30), bg = CursorLine.bg, gui = "italic" },
|
CursorLineNr { fg = c.blue, bg = CursorLine.bg, gui = "italic" },
|
||||||
Search { bg = hsl(50, 15, 60), fg = Normal.fg },
|
Search { bg = c.yellow, fg = Normal.bg },
|
||||||
IncSearch { bg = hsl(130, 15, 60), fg = Normal.fg },
|
IncSearch { bg = c.yellow_green, fg = Normal.bg },
|
||||||
String { fg = hsl(210, 50, 35) },
|
String { fg = c.blue },
|
||||||
PreProc { fg = hsl(300, 50, 35) },
|
PreProc { fg = c.lavender },
|
||||||
Statement { fg = hsl(10, 50, 35) },
|
Statement { fg = c.orange },
|
||||||
Type { fg = hsl(50, 50, 35) },
|
Type { fg = c.yellow },
|
||||||
Identifier { fg = Normal.fg },
|
Identifier { fg = Normal.fg },
|
||||||
Function { fg = hsl(130, 50, 35) },
|
Function { fg = c.green },
|
||||||
Operator { fg = hsl(270, 50, 35) },
|
Operator { fg = c.aquamarine },
|
||||||
Special { fg = hsl(325, 50, 35) },
|
Special { fg = c.purple },
|
||||||
Constant { fg = hsl(195, 50, 35) },
|
Constant { fg = c.cyan },
|
||||||
NonText { fg = Normal.bg.li(10) },
|
NonText { fg = Normal.bg.li(10) },
|
||||||
DiffAdd { Function },
|
DiffAdd { fg = c.green },
|
||||||
DiffDelete { Special },
|
DiffDelete { fg = c.red },
|
||||||
DiffChange { String },
|
diffRemoved { fg = c.red },
|
||||||
|
DiffChange { fg = c.blue },
|
||||||
|
diffChanged { fg = c.blue },
|
||||||
SignColumn { Normal },
|
SignColumn { Normal },
|
||||||
diffAdded { DiffAdd },
|
diffAdded { DiffAdd },
|
||||||
MoreMsg { Function, gui = "bold" },
|
MoreMsg { fg = c.green, gui = "bold" },
|
||||||
Question { Function, gui = "bold" },
|
Question { fg = c.green, gui = "bold" },
|
||||||
TelescopeSelection { CursorLine },
|
TelescopeSelection { CursorLine },
|
||||||
WhichKeyFloat { bg = Normal.bg.da(5) },
|
WhichKeyFloat { bg = Normal.bg.da(5) },
|
||||||
DiagnosticError { fg = hsl(0, 80, 35) },
|
DiagnosticError { fg = c.red },
|
||||||
DiagnosticWarn { fg = hsl(25, 80, 35) },
|
DiagnosticWarn { fg = c.orange },
|
||||||
DiagnosticInfo { fg = hsl(195, 80, 35) },
|
DiagnosticInfo { fg = c.cyan },
|
||||||
Pmenu { bg = Normal.bg.da(5) },
|
Pmenu { bg = Normal.bg.da(5) },
|
||||||
PmenuSel { bg = Normal.bg.da(10) },
|
PmenuSel { bg = Normal.bg.da(15) },
|
||||||
Error { bg = hsl(0, 50, 65), fg = Normal.fg },
|
Error { bg = c.red.da(25), fg = Normal.bg },
|
||||||
ErrorMsg { Error },
|
ErrorMsg { Error },
|
||||||
MatchParen { bg = hsl(195, 50, 65), fg = Normal.fg },
|
MatchParen { fg = c.hot_pink, gui = "bold" },
|
||||||
SpecialKey { fg = "red" },
|
SpecialKey { fg = c.red },
|
||||||
Directory { Constant },
|
Directory { fg = c.cyan },
|
||||||
Title { Operator, gui = "bold" },
|
Title { fg = c.fuchsia, gui = "bold" },
|
||||||
Conceal { bg = Normal.bg.da(15).de(30) },
|
Conceal { bg = Normal.bg.da(15).de(30) },
|
||||||
SpellBad { fg = Special.fg, gui = "underline" },
|
SpellBad { fg = c.red, gui = "underline" },
|
||||||
SpellRare { fg = Type.fg, gui = "underline" },
|
SpellRare { fg = Type.fg, gui = "underline" },
|
||||||
SpellLocal { fg = Constant.fg, gui = "underline" },
|
SpellLocal { fg = DiagnosticInfo.fg, gui = "underline" },
|
||||||
SpellCap { fg = String.fg, gui = "underline" },
|
SpellCap { fg = String.fg, gui = "underline" },
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
return theme
|
return M
|
||||||
|
|
||||||
-- vi:nowrap:number
|
-- vi:nowrap:number
|
||||||
|
|||||||
Reference in New Issue
Block a user