Skip to content

Commit

Permalink
feat(canvas): add canvas palette
Browse files Browse the repository at this point in the history
  • Loading branch information
thesimonho committed Feb 23, 2025
1 parent aa96c99 commit 524683a
Show file tree
Hide file tree
Showing 7 changed files with 174 additions and 132 deletions.
59 changes: 48 additions & 11 deletions lua/kanagawa-paper/colors.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ local palette = {
sumiInk3 = "#1F1F28",
sumiInk4 = "#2A2A37",
sumiInk5 = "#363646",
sumiInk6 = "#54546D", --fg
sumiInk6 = "#54546D",

-- Popup and Floats
waveBlue1 = "#223249",
Expand Down Expand Up @@ -36,17 +36,12 @@ local palette = {

oniViolet = "#957FB8",
oniViolet2 = "#b8b4d0",
crystalBlue = "#7E9CD8",
springViolet1 = "#938AA9",
springViolet2 = "#9CABCA",
springBlue = "#7FB4CA",
lightBlue = "#A3D4D5", -- unused yet
waveAqua2 = "#7AA89F", -- improve lightness: desaturated greenish Aqua

-- waveAqua2 = "#68AD99",
-- waveAqua4 = "#7AA880",
-- waveAqua5 = "#6CAF95",
-- waveAqua3 = "#68AD99",
crystalBlue = "#7E9CD8",
lightBlue = "#A3D4D5",
waveAqua2 = "#7AA89F",

springGreen = "#98BB6C",
boatYellow1 = "#938056",
Expand Down Expand Up @@ -82,8 +77,7 @@ local palette = {
dragonAqua = "#8ea4a2",
dragonAsh = "#737c73",
dragonTeal = "#949fb5",
dragonYellow = "#c4b28a", --"#a99c8b",
-- "#8a9aa3",
dragonYellow = "#c4b28a",

lotusInk0 = "#3d3d5e",
lotusInk1 = "#545464",
Expand Down Expand Up @@ -126,6 +120,49 @@ local palette = {
lotusTeal2 = "#6693bf",
lotusTeal3 = "#5a7785",
lotusCyan = "#d7e3d8",

canvasAqua = "#637975",
canvasAqua2 = "#6a827c",
canvasBlue1 = "#c9d7de",
canvasBlue2 = "#b6cbd2",
canvasBlue3 = "#a3b5c5",
canvasBlue4 = "#596989",
canvasBlue5 = "#5f5a8d",
canvasCyan = "#609e70",
canvasGray = "#d6d4c3",
canvasGray2 = "#a29f92",
canvasGray3 = "#929188",
canvasGray4 = "#676767",
canvasGreen = "#768664",
canvasGreen2 = "#778e6e",
canvasGreen3 = "#abc5a2",
canvasInk0 = "#3e3e5a",
canvasInk1 = "#54546b",
canvasInk2 = "#444466",
canvasOrange = "#b77754",
canvasOrange2 = "#cf946b",
canvasPink = "#976575",
canvasRed = "#ad5760",
canvasRed2 = "#bb5f60",
canvasRed3 = "#c35353",
canvasRed4 = "#cea99e",
canvasTeal1 = "#698996",
canvasTeal2 = "#6a8aae",
canvasTeal3 = "#63767f",
canvasViolet1 = "#c8cbd3",
canvasViolet2 = "#a09baf",
canvasViolet3 = "#756c8d",
canvasViolet4 = "#6a558c",
canvasWhite0 = "#cdc9ba",
canvasWhite1 = "#d5d1c1",
canvasWhite2 = "#d9d9d1",
canvasWhite3 = "#e1e1de", -- main bg
canvasWhite4 = "#e9e9e0",
canvasWhite5 = "#ecece8",
canvasYellow = "#a4743e",
canvasYellow2 = "#bd8b51",
canvasYellow3 = "#cea678",
canvasYellow4 = "#ddbe7a",
}

local M = {}
Expand Down
2 changes: 1 addition & 1 deletion lua/kanagawa-paper/groups/plugins/neo_tree.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ function M.get(colors, opts)
return {
NeoTreeNormal = { link = "NormalFloat" },
NeoTreeNormalNC = { link = "NormalFloat" },
NeoTreeFloatTitle = { fg = theme.ui.bg_m3, bg = theme.accent.accent4, bold = true },
NeoTreeFloatTitle = { fg = theme.ui.bg_m1, bg = theme.accent.accent4, bold = true },
NeoTreeFloatBorder = { fg = theme.ui.bg_p2, bg = theme.ui.float.bg_border },
NeoTreeWinSeparator = { link = "WinSeparator" },
NeoTreeTabInactive = { link = "TabLine" },
Expand Down
5 changes: 4 additions & 1 deletion lua/kanagawa-paper/groups/syntax.lua
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@ function M.setup(colors, opts)
-- Typedef A typedef

-- *Special any special symbol
Special = { fg = theme.syn.special1 },
Special = { link = "Special1" },
Special1 = { fg = theme.syn.special1 },
Special2 = { fg = theme.syn.special2 },
Special3 = { fg = theme.syn.special3 },
-- SpecialChar special character in a constant
-- Tag you can use CTRL-] on this
-- Delimiter character that needs attention
Expand Down
2 changes: 2 additions & 0 deletions lua/kanagawa-paper/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ function M.load(opts)
if opts then
config.extend(opts)
end

-- only needed to clear when not the default colorscheme
if vim.g.colors_name then
vim.cmd("hi clear")
end

vim.o.termguicolors = true
vim.g.colors_name = "kanagawa-paper-" .. config.options.theme

if config.options.theme == "ink" then
vim.o.background = "dark"
elseif config.options.theme == "canvas" then
Expand Down
228 changes: 114 additions & 114 deletions lua/kanagawa-paper/themes/canvas.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,150 +3,150 @@ local M = {}
M.get = function(opts, palette)
return {
modes = {
normal = palette.dragonYellow,
insert = palette.dragonRed,
visual = palette.springViolet1,
replace = palette.dragonRed,
command = palette.dragonYellow,
normal = palette.canvasTeal2,
insert = palette.canvasRed,
visual = palette.canvasBlue5,
replace = palette.canvasRed,
command = palette.canvasTeal2,
},
ui = {
fg = palette.lotusInk1,
fg_gray = palette.fujiGray,
fg_dark = palette.lotusInk0,
fg_dim = palette.lotusInk2,
fg_reverse = palette.lotusGray,
bg_m4 = palette.lotusGray3,
bg_m3 = palette.lotusWhite0,
bg_m2 = palette.lotusWhite1,
bg_m1 = palette.lotusWhite2,
bg = palette.lotusGray,
bg_p1 = palette.lotusGray2,
bg_p2 = palette.lotusGray3,
bg_dim = palette.lotusWhite1,
bg_gutter = opts.gutter and palette.lotusWhite4 or "none",
bg_search = palette.lotusBlue2,
bg_cursorline = palette.lotusViolet5,
bg_visual = palette.lotusViolet3,
bg_statusline = palette.lotusInk1,
header1 = palette.lotusViolet1,
header2 = palette.lotusOrange,
special = palette.lotusViolet2,
nontext = palette.lotusViolet1,
whitespace = palette.lotusViolet1,
win_separator = palette.lotusViolet,
indent = palette.lotusInk2,
indent_scope = palette.lotusViolet,
picker = palette.lotusRed,
mark = palette.lotusGreen2,
scrollbar = palette.lotusGray2,
fg = palette.canvasInk1,
fg_gray = palette.canvasWhite5,
fg_dark = palette.canvasInk0,
fg_dim = palette.canvasInk2,
fg_reverse = palette.canvasGray,
bg_m4 = palette.canvasGray3,
bg_m3 = palette.canvasWhite0,
bg_m2 = palette.canvasWhite1,
bg_m1 = palette.canvasWhite2,
bg_dim = palette.canvasWhite2,
bg = palette.canvasWhite3,
bg_p1 = palette.canvasWhite4,
bg_p2 = palette.canvasWhite5,
bg_gutter = opts.gutter and palette.canvasWhite4 or "none",
bg_search = palette.canvasViolet1,
bg_cursorline = palette.canvasWhite1,
bg_visual = palette.canvasViolet1,
bg_statusline = palette.canvasWhite0,
header1 = palette.canvasViolet1,
header2 = palette.canvasOrange,
special = palette.canvasTeal1,
nontext = palette.canvasGray2,
whitespace = palette.canvasViolet1,
win_separator = palette.canvasViolet1,
indent = palette.canvasViolet1,
indent_scope = palette.canvasViolet3,
picker = palette.canvasRed,
mark = palette.canvasGreen3,
scrollbar = palette.canvasGray2,
tabline = {
bg = palette.lotusWhite4,
fg_selected = palette.lotusInk0,
bg_selected = palette.lotusGray,
fg_inactive = palette.lotusGray2,
bg_inactive = palette.lotusWhite4,
fg_alternate = palette.lotusPink,
bg_alternate = palette.lotusWhite4,
indicator = palette.lotusBlue3,
bg = palette.canvasWhite1,
fg_selected = palette.canvasInk0,
bg_selected = palette.canvasWhite3,
fg_inactive = palette.canvasGray2,
bg_inactive = palette.canvasWhite1,
fg_alternate = palette.canvasPink,
bg_alternate = palette.canvasWhite1,
indicator = palette.canvasBlue3,
},
pmenu = {
fg = palette.lotusInk2,
fg = palette.canvasInk1,
fg_sel = "none", -- This is important to make highlights pass-through
bg = palette.lotusBlue1,
bg_sel = palette.lotusBlue3,
bg_sbar = palette.lotusBlue1,
bg_thumb = palette.lotusBlue2,
bg = palette.canvasWhite2,
bg_sel = palette.canvasViolet1,
bg_sbar = palette.canvasWhite2,
bg_thumb = palette.canvasBlue2,
},
float = {
fg = palette.lotusInk2,
bg = palette.lotusWhite0,
fg_border = palette.lotusGray2,
bg_border = "none",
fg = palette.canvasInk1,
bg = palette.canvasWhite3,
fg_border = palette.canvasGray3,
bg_border = palette.canvasWhite3,
},
},
accent = {
accent1 = palette.lotusBlue3,
accent2 = palette.lotusOrange,
accent3 = palette.waveAqua1,
accent4 = palette.lotusGray3,
accent5 = palette.lotusRed,
accent1 = palette.canvasBlue3,
accent2 = palette.canvasOrange,
accent3 = palette.canvasAqua,
accent4 = palette.canvasGreen2,
accent5 = palette.canvasRed,
},
rainbow = {
rainbow1 = palette.lotusRed,
rainbow2 = palette.lotusYellow,
rainbow3 = palette.lotusBlue4,
rainbow4 = palette.lotusOrange2,
rainbow5 = palette.lotusGreen,
rainbow6 = palette.lotusAqua,
rainbow7 = palette.lotusTeal2,
rainbow1 = palette.canvasRed,
rainbow2 = palette.canvasYellow,
rainbow3 = palette.canvasBlue4,
rainbow4 = palette.canvasOrange2,
rainbow5 = palette.canvasGreen,
rainbow6 = palette.canvasAqua,
rainbow7 = palette.canvasTeal2,
},
syn = {
string = palette.lotusGreen,
string = palette.canvasGreen,
variable = "none",
member = palette.lotusGray2,
number = palette.lotusPink,
constant = palette.lotusOrange,
identifier = palette.lotusYellow,
parameter = palette.lotusBlue5,
attribute = palette.lotusYellow,
fun = palette.lotusBlue4,
statement = palette.lotusViolet4,
keyword = palette.lotusViolet4,
operator = palette.lotusYellow2,
preproc = palette.lotusRed,
type = palette.lotusAqua,
regex = palette.lotusYellow2,
deprecated = palette.lotusGray3,
punct = palette.lotusTeal1,
comment = palette.lotusGray3,
special1 = palette.lotusTeal2,
special2 = palette.lotusRed,
special3 = palette.lotusBlue1,
member = palette.canvasGray4,
number = palette.canvasPink,
constant = palette.canvasGreen2,
identifier = palette.canvasYellow,
parameter = palette.canvasInk2,
attribute = palette.canvasYellow,
fun = palette.canvasTeal2,
statement = palette.canvasViolet,
keyword = palette.canvasPink,
operator = palette.canvasRed,
preproc = palette.canvasRed,
type = palette.canvasAqua,
regex = palette.canvasRed,
deprecated = palette.canvasGray2,
punct = palette.canvasGray3,
comment = palette.canvasGray3,
special1 = palette.canvasTeal2,
special2 = palette.canvasRed,
special3 = palette.canvasBlue5,
},
vcs = {
added = palette.lotusGreen2,
added = palette.canvasGreen2,
addedDark = palette.autumnGreen,
removed = palette.lotusRed2,
removed = palette.canvasRed2,
removedDark = palette.autumnRed,
changed = palette.lotusYellow3,
changed = palette.canvasYellow2,
changedDark = palette.autumnYellow,
},
diff = {
add = palette.lotusGreen3,
add = palette.canvasGreen3,
addDark = palette.autumnGreen,
delete = palette.lotusRed4,
delete = palette.canvasRed4,
deleteDark = palette.autumnRed,
change = palette.lotusCyan,
change = palette.canvasYellow2,
changeDark = palette.autumnYellow,
text = palette.lotusYellow4,
textDark = palette.waveAqua1,
text = palette.canvasTeal1,
textDark = palette.canvasTeal3,
},
diag = {
error = palette.lotusRed3,
ok = palette.lotusGreen,
warning = palette.lotusOrange2,
info = palette.lotusTeal3,
hint = palette.lotusAqua2,
error = palette.canvasRed3,
ok = palette.canvasGreen,
warning = palette.canvasOrange2,
info = palette.canvasTeal3,
hint = palette.canvasAqua2,
},
term = {
palette.lotusInk0, -- black
palette.lotusRed, -- red
palette.lotusGreen, -- green
palette.lotusYellow, -- yellow
palette.lotusBlue4, -- blue
palette.lotusPink, -- magenta
palette.lotusAqua, -- cyan
palette.lotusInk1, -- white
palette.lotusGray3, -- bright black
palette.lotusRed2, -- bright red
palette.lotusGreen2, -- bright green
palette.lotusYellow2, -- bright yellow
palette.lotusTeal2, -- bright blue
palette.lotusViolet4, -- bright magenta
palette.lotusAqua2, -- bright cyan
palette.lotusInk2, -- bright white
palette.lotusOrange2, -- extended color 1
palette.lotusRed3, -- extended color 2
palette.canvasInk0, -- black
palette.canvasRed, -- red
palette.canvasGreen, -- green
palette.canvasYellow, -- yellow
palette.canvasBlue4, -- blue
palette.canvasPink, -- magenta
palette.canvasAqua, -- cyan
palette.canvasInk1, -- white
palette.canvasGray3, -- bright black
palette.canvasRed2, -- bright red
palette.canvasGreen2, -- bright green
palette.canvasYellow2, -- bright yellow
palette.canvasTeal2, -- bright blue
palette.canvasViolet4, -- bright magenta
palette.canvasAqua2, -- bright cyan
palette.canvasInk2, -- bright white
palette.canvasOrange2, -- extended color 1
palette.canvasRed3, -- extended color 2
},
}
end
Expand Down
Loading

0 comments on commit 524683a

Please # to comment.