Compare commits
3 Commits
4f7cde15ee
...
f6fa507e39
Author | SHA1 | Date | |
---|---|---|---|
f6fa507e39 | |||
ee8d34c0f7 | |||
272d335276 |
@ -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(00).li(60).hex, fg = c.base.hex },
|
||||||
replace = hsl(10, 50, 75).hex,
|
inactive = { bg = c.base.de(50).li(40).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,72 +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 hsl = lush.hsl
|
||||||
|
|
||||||
---@diagnostic disable: undefined-global
|
local M = {}
|
||||||
local theme = lush(function()
|
|
||||||
local base = hsl(210, 40, 75)
|
local default = {
|
||||||
local red = base.hue(0)
|
dark = {
|
||||||
local orange = base.hue(30)
|
base = hsl(210, 40, 75),
|
||||||
local yellow = base.hue(60)
|
},
|
||||||
local yellow_green = base.hue(90)
|
light = {
|
||||||
local green = base.hue(120)
|
base = hsl(210, 50, 35),
|
||||||
local aquamarine = base.hue(150)
|
|
||||||
local cyan = base.hue(180)
|
|
||||||
local blue = base.hue(210)
|
|
||||||
local lavender = base.hue(240)
|
|
||||||
local purple = base.hue(270)
|
|
||||||
local fuchsia = base.hue(300)
|
|
||||||
local hot_pink = base.hue(330)
|
|
||||||
return {
|
|
||||||
-- See: h highlight-groups
|
|
||||||
Normal { bg = hsl(base.h, 15, 20), fg = hsl(base.h, 30, 75) },
|
|
||||||
CursorLine { bg = Normal.bg.li(10) },
|
|
||||||
Visual { bg = hsl(base.h, 30, 30) },
|
|
||||||
Comment { fg = hsl(base.h, 10, 60) },
|
|
||||||
CursorColumn { CursorLine },
|
|
||||||
LineNr { Comment, gui = "italic" },
|
|
||||||
CursorLineNr { fg = blue, bg = CursorLine.bg, gui = "italic" },
|
|
||||||
Search { bg = yellow, fg = Normal.bg },
|
|
||||||
IncSearch { bg = yellow_green, fg = Normal.bg },
|
|
||||||
String { fg = blue },
|
|
||||||
PreProc { fg = lavender },
|
|
||||||
Statement { fg = orange },
|
|
||||||
Type { fg = yellow },
|
|
||||||
Identifier { fg = Normal.fg },
|
|
||||||
Function { fg = green },
|
|
||||||
Operator { fg = aquamarine },
|
|
||||||
Special { fg = purple },
|
|
||||||
Constant { fg = cyan },
|
|
||||||
NonText { fg = Normal.bg.li(10) },
|
|
||||||
DiffAdd { fg = green },
|
|
||||||
DiffDelete { fg = red },
|
|
||||||
diffRemoved { fg = red },
|
|
||||||
DiffChange { fg = blue },
|
|
||||||
diffChanged { fg = blue },
|
|
||||||
SignColumn { Normal },
|
|
||||||
diffAdded { DiffAdd },
|
|
||||||
MoreMsg { fg = green, gui = "bold" },
|
|
||||||
Question { fg = green, gui = "bold" },
|
|
||||||
TelescopeSelection { CursorLine },
|
|
||||||
WhichKeyFloat { bg = hsl(base.h, 15, 30) },
|
|
||||||
DiagnosticError { fg = red },
|
|
||||||
DiagnosticWarn { fg = orange },
|
|
||||||
DiagnosticInfo { fg = cyan },
|
|
||||||
Pmenu { bg = blue.da(45).de(45) },
|
|
||||||
PmenuSel { bg = blue.da(45) },
|
|
||||||
Error { bg = red.da(25), fg = Normal.bg },
|
|
||||||
ErrorMsg { Error },
|
|
||||||
MatchParen { fg = hot_pink, gui = "bold" },
|
|
||||||
SpecialKey { fg = red },
|
|
||||||
Directory { fg = cyan },
|
|
||||||
Title { fg = fuchsia, gui = "bold" },
|
|
||||||
Conceal { bg = blue.da(40).de(50) },
|
|
||||||
SpellBad { fg = red, 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
|
||||||
|
80
lua/lupancolors/lupandark.lua
Normal file
80
lua/lupancolors/lupandark.lua
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
local lush = require('lush')
|
||||||
|
local hsl = lush.hsl
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local base = require('lupancolors.lupan').options.dark.base
|
||||||
|
|
||||||
|
M.colors = {
|
||||||
|
base = base,
|
||||||
|
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.base.de(65).da(75), fg = c.base.de(25) },
|
||||||
|
CursorLine { bg = Normal.bg.li(10) },
|
||||||
|
Visual { bg = Normal.bg.sa(20).li(20) },
|
||||||
|
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(15) },
|
||||||
|
DiagnosticError { fg = c.red },
|
||||||
|
DiagnosticWarn { fg = c.orange },
|
||||||
|
DiagnosticInfo { fg = c.cyan },
|
||||||
|
Pmenu { bg = Normal.bg.li(20) },
|
||||||
|
PmenuSel { bg = Normal.bg.li(25).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 = c.blue.da(40).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,73 +1,80 @@
|
|||||||
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 hsl = lush.hsl
|
||||||
|
|
||||||
|
local M = {}
|
||||||
|
|
||||||
|
local base = require('lupancolors.lupan').options.light.base
|
||||||
|
|
||||||
|
M.colors = {
|
||||||
|
base = base,
|
||||||
|
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 base = hsl(210, 50, 35)
|
local c = M.colors;
|
||||||
local red = base.hue(0)
|
|
||||||
local orange = base.hue(30)
|
|
||||||
local yellow = base.hue(60)
|
|
||||||
local yellow_green = base.hue(90)
|
|
||||||
local green = base.hue(120)
|
|
||||||
local aquamarine = base.hue(150)
|
|
||||||
local cyan = base.hue(180)
|
|
||||||
local blue = base.hue(210)
|
|
||||||
local lavender = base.hue(240)
|
|
||||||
local purple = base.hue(270)
|
|
||||||
local fuchsia = base.hue(300)
|
|
||||||
local hot_pink = base.hue(330)
|
|
||||||
return {
|
return {
|
||||||
-- See: h highlight-groups
|
-- See: h highlight-groups
|
||||||
Normal { bg = hsl(base.h, 25, 97), fg = hsl(blue.h, 30, 20) },
|
Normal { bg = c.base.de(70).li(90), fg = c.base.de(75) },
|
||||||
CursorLine { bg = Normal.bg.da(4) },
|
CursorLine { bg = Normal.bg.da(4) },
|
||||||
Visual { bg = base.de(55).li(65) },
|
Visual { bg = c.base.de(55).li(65) },
|
||||||
Comment { fg = base.de(60).li(20) },
|
Comment { fg = c.base.de(60).li(20) },
|
||||||
CursorColumn { CursorLine },
|
CursorColumn { CursorLine },
|
||||||
LineNr { Comment, gui = "italic" },
|
LineNr { Comment, gui = "italic" },
|
||||||
CursorLineNr { fg = blue, bg = CursorLine.bg, gui = "italic" },
|
CursorLineNr { fg = c.blue, bg = CursorLine.bg, gui = "italic" },
|
||||||
Search { bg = yellow, fg = Normal.bg },
|
Search { bg = c.yellow, fg = Normal.bg },
|
||||||
IncSearch { bg = yellow_green, fg = Normal.bg },
|
IncSearch { bg = c.yellow_green, fg = Normal.bg },
|
||||||
String { fg = blue },
|
String { fg = c.blue },
|
||||||
PreProc { fg = lavender },
|
PreProc { fg = c.lavender },
|
||||||
Statement { fg = orange },
|
Statement { fg = c.orange },
|
||||||
Type { fg = yellow },
|
Type { fg = c.yellow },
|
||||||
Identifier { fg = Normal.fg },
|
Identifier { fg = Normal.fg },
|
||||||
Function { fg = green },
|
Function { fg = c.green },
|
||||||
Operator { fg = aquamarine },
|
Operator { fg = c.aquamarine },
|
||||||
Special { fg = purple },
|
Special { fg = c.purple },
|
||||||
Constant { fg = cyan },
|
Constant { fg = c.cyan },
|
||||||
NonText { fg = Normal.bg.li(10) },
|
NonText { fg = Normal.bg.li(10) },
|
||||||
DiffAdd { fg = green },
|
DiffAdd { fg = c.green },
|
||||||
DiffDelete { fg = red },
|
DiffDelete { fg = c.red },
|
||||||
diffRemoved { fg = red },
|
diffRemoved { fg = c.red },
|
||||||
DiffChange { fg = blue },
|
DiffChange { fg = c.blue },
|
||||||
diffChanged { fg = blue },
|
diffChanged { fg = c.blue },
|
||||||
SignColumn { Normal },
|
SignColumn { Normal },
|
||||||
diffAdded { DiffAdd },
|
diffAdded { DiffAdd },
|
||||||
MoreMsg { fg = green, gui = "bold" },
|
MoreMsg { fg = c.green, gui = "bold" },
|
||||||
Question { fg = green, 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 = red },
|
DiagnosticError { fg = c.red },
|
||||||
DiagnosticWarn { fg = orange },
|
DiagnosticWarn { fg = c.orange },
|
||||||
DiagnosticInfo { fg = cyan },
|
DiagnosticInfo { fg = c.cyan },
|
||||||
Pmenu { bg = Normal.bg.da(5) },
|
Pmenu { bg = Normal.bg.da(5) },
|
||||||
PmenuSel { bg = Normal.bg.da(15) },
|
PmenuSel { bg = Normal.bg.da(15) },
|
||||||
Error { bg = red.da(25), fg = Normal.bg },
|
Error { bg = c.red.da(25), fg = Normal.bg },
|
||||||
ErrorMsg { Error },
|
ErrorMsg { Error },
|
||||||
MatchParen { fg = hot_pink, gui = "bold" },
|
MatchParen { fg = c.hot_pink, gui = "bold" },
|
||||||
SpecialKey { fg = red },
|
SpecialKey { fg = c.red },
|
||||||
Directory { fg = cyan },
|
Directory { fg = c.cyan },
|
||||||
Title { fg = fuchsia, 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 = red, gui = "underline" },
|
SpellBad { fg = c.red, gui = "underline" },
|
||||||
SpellRare { fg = Type.fg, gui = "underline" },
|
SpellRare { fg = Type.fg, gui = "underline" },
|
||||||
SpellLocal { fg = DiagnosticInfo.fg, gui = "underline" },
|
SpellLocal { fg = DiagnosticInfo.fg, gui = "underline" },
|
||||||
SpellCap { fg = String.fg, gui = "underline" },
|
SpellCap { fg = String.fg, gui = "underline" },
|
||||||
}
|
}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
return M
|
||||||
return theme
|
|
||||||
|
|
||||||
-- vi:nowrap:number
|
-- vi:nowrap:number
|
||||||
|
Loading…
x
Reference in New Issue
Block a user