--- Source: http//github.com/moreka/parchment2.nvim --- parchment2 - a Neovim colorscheme inspired by Acme, Leuven, Parchment, and Dookie.nvim --- Maintainer: Mohammad Reza Karimi --- Version: 0.1.0 --- License: This file is placed under an MIT license. See the included LICENSE file for details. vim.cmd.highlight("clear") vim.o.background = "light" vim.g.colors_name = "parchment2" -- from $VIMRUNTIME/colors/vim.lua local hi = function(name, val) val.force = true val.cterm = val.cterm or {} vim.api.nvim_set_hl(0, name, val) end -- stylua: ignore start -- Color palette local black = "#000000" local red = "#880000" local green = "#005500" local brown = "#663311" local blue = "#004488" local magenta = "#770077" local cyan = "#007777" local beige = "#eeeecc" local pale_gray = "#eaeaea" local pale_red = "#ffeaea" local pale_green = "#eaffea" local yellow = "#eeee9e" local pale_blue = "#cceeff" local pale_magenta = "#ffeaff" local pale_cyan = "#eaffff" local pale_yellow = "#ffffea" local shadow = "#808075" local mustard = "#998800" local sline = "#aeeeee" -- from Dookie.nvim local sline_nc = "#eaffff" -- from Dookie.nvim hi("Normal", { fg = black, bg = pale_yellow }) hi("NonText", { fg = cyan, bg = pale_cyan }) hi("Whitespace", { fg = shadow, bg = nil }) hi("Cursor", { fg = pale_yellow, bg = magenta }) hi("lCursor", { fg = pale_yellow, bg = magenta }) hi("TermCursor", { fg = nil, bg = nil, reverse = true }) hi("TermCursorNC", { fg = pale_yellow, bg = cyan }) hi("Search", { fg = nil, bg = pale_blue }) hi("IncSearch", { fg = nil, bg = pale_blue, bold = true }) hi("CurSearch", { fg = pale_yellow, bg = cyan, bold = true }) hi("Substitute", { link = "Search" }) hi("DiffText", { fg = magenta, bg = pale_magenta, bold = true }) hi("DiffAdd", { fg = green, bg = pale_green }) hi("DiffDelete", { fg = red, bg = pale_red }) hi("DiffChange", { fg = magenta, bg = pale_magenta }) hi("DiffTextAdd", { link = "DiffText" }) hi("ErrorMsg", { fg = pale_yellow, bg = red, bold = true }) hi("ModeMsg", { fg = nil, bg = nil, bold = true }) hi("MoreMsg", { fg = nil, bg = nil, bold = true }) hi("WarningMsg", { fg = mustard, bg = nil }) hi("StatusLine", { fg = nil, bg = sline, bold = true }) hi("StatusLineNC", { fg = shadow, bg = sline_nc }) hi("TabLine", { fg = nil, bg = pale_gray }) hi("TabLineSel", { fg = nil, bg = pale_gray, bold = true }) hi("TabLineFill", { fg = nil, bg = pale_gray }) hi("WinBar", { fg = nil, bg = nil, bold = true }) hi("VertSplit", { fg = shadow, bg = nil }) hi("EndOfBuffer", { fg = shadow, bg = nil }) hi("FoldColumn", { fg = nil, bg = nil }) hi("SignColumn", { fg = nil, bg = nil }) hi("ColorColumn", { fg = nil, bg = pale_red }) hi("CursorColumn", { fg = nil, bg = beige }) hi("WinSeparator", { link = "VertSplit" }) hi("WinBarNC", { link = "WinBar" }) hi("WildMenu", { fg = pale_yellow, bg = cyan, bold = true }) hi("Pmenu", { fg = nil, bg = pale_cyan }) hi("PmenuSel", { fg = pale_yellow, bg = cyan, bold = true }) hi("PmenuThumb", { fg = nil, bg = cyan }) hi("PmenuSbar", { fg = nil, bg = pale_cyan }) hi("PmenuKind", { link = "Pmenu" }) hi("PmenuKindSel", { link = "PmenuSel" }) hi("PmenuMatch", { link = "Pmenu" }) hi("PmenuMatchSel", { link = "PmenuSel" }) hi("PmenuExtra", { link = "Pmenu" }) hi("PmenuExtraSel", { link = "PmenuSel" }) hi("ComplHint", { link = "NonText" }) hi("ComplHintMore", { link = "MoreMsg" }) hi("PreInsert", { link = "Added" }) hi("ComplMatchIns", {}) hi("QuickFixLine", { fg = nil, bg = pale_blue }) hi("NormalFloat", { fg = nil, bg = pale_gray }) hi("FloatShadow", { fg = nil, bg = black, blend = 80 }) hi("FloatShadowThrough", { fg = nil, bg = black, blend = 100 }) hi("FloatBorder", { link = "WinSeparator" }) hi("FloatTitle", { link = "Title" }) hi("FloatFooter", { link = "Title" }) hi("MsgSeparator", { link = "StatusLine" }) hi("LineNr", { fg = shadow, bg = nil }) hi("CursorLine", { fg = nil, bg = beige }) hi("CursorLineNr", { fg = nil, bg = beige, bold = true }) hi("LineNrAbove", { link = "LineNr" }) hi("LineNrBelow", { link = "LineNr" }) hi("CursorLineSign", { bg = beige }) hi("CursorLineFold", { bg = beige }) hi("Error", { fg = red, bg = nil }) hi("Todo", { fg = blue, bg = nil, bold = true }) hi("Constant", { fg = nil, bg = nil }) hi("Identifier", { fg = nil, bg = nil }) hi("Ignore", { fg = nil, bg = nil }) hi("Type", { fg = blue, bg = nil }) hi("Statement", { fg = nil, bg = nil }) hi("Keyword", { fg = nil, bg = nil, bold = true }) hi("Function", { fg = nil, bg = nil }) hi("Comment", { fg = brown, bg = nil, italic = true }) hi("String", { fg = green, bg = nil }) hi("Special", { fg = magenta, bg = nil }) hi("SpecialComment", { fg = brown, bg = nil }) hi("PreProc", { fg = nil, bg = nil }) hi("Underlined", { fg = nil, bg = nil, underline = true }) hi("MatchParen", { fg = nil, bg = pale_blue }) hi("Delimiter", { fg = nil, bg = nil }) hi("SpecialKey", { fg = cyan, bg = pale_cyan }) hi("Conceal", { fg = nil, bg = nil }) hi("Question", { fg = nil, bg = nil, bold = true }) hi("Title", { fg = magenta, bg = nil }) hi("Visual", { fg = nil, bg = yellow }) hi("VisualNOS", { fg = nil, bg = nil, bold = true, underline = true }) hi("Directory", { fg = blue, bg = nil, bold = true }) hi("Folded", { fg = nil, bg = pale_gray }) hi("SpellBad", { fg = red, bg = nil, undercurl = true }) hi("SpellCap", { fg = green, bg = nil, undercurl = true }) hi("SpellRare", { fg = green, bg = nil, undercurl = true }) hi("SpellLocal", { fg = green, bg = nil, undercurl = true }) hi("DiagnosticError", { fg = red }) hi("DiagnosticWarn", { fg = mustard }) hi("DiagnosticInfo", { fg = blue }) hi("DiagnosticHint", { fg = shadow }) hi("DiagnosticOk", { fg = green }) hi("DiagnosticUnderlineError", { sp = red, underline = true }) hi("DiagnosticUnderlineWarn", { sp = mustard, underline = true }) hi("DiagnosticUnderlineInfo", { sp = pale_blue, underline = true }) hi("DiagnosticUnderlineHint", { sp = shadow, underline = true }) hi("DiagnosticUnderlineOk", { sp = green, underline = true }) hi("DiagnosticVirtualTextError", { link = "DiagnosticError" }) hi("DiagnosticVirtualTextWarn", { link = "DiagnosticWarn" }) hi("DiagnosticVirtualTextInfo", { link = "DiagnosticInfo" }) hi("DiagnosticVirtualTextHint", { link = "DiagnosticHint" }) hi("DiagnosticVirtualTextOk", { link = "DiagnosticOk" }) hi("DiagnosticFloatingError", { link = "DiagnosticError" }) hi("DiagnosticFloatingWarn", { link = "DiagnosticWarn" }) hi("DiagnosticFloatingInfo", { link = "DiagnosticInfo" }) hi("DiagnosticFloatingHint", { link = "DiagnosticHint" }) hi("DiagnosticFloatingOk", { link = "DiagnosticOk" }) hi("DiagnosticSignError", { link = "DiagnosticError" }) hi("DiagnosticSignWarn", { link = "DiagnosticWarn" }) hi("DiagnosticSignInfo", { link = "DiagnosticInfo" }) hi("DiagnosticSignHint", { link = "DiagnosticHint" }) hi("DiagnosticSignOk", { link = "DiagnosticOk" }) hi("DiagnosticDeprecated", { sp = red, strikethrough = true }) hi("DiagnosticUnnecessary", { link = "Comment" }) hi("LspInlayHint", { link = "NonText" }) hi("SnippetTabstop", { link = "Visual" }) hi("SnippetTabstopActive", { link = "SnippetTabstop" }) -- Text hi("@markup.raw", { link = "Comment" }) hi("@markup.link", { link = "Identifier" }) hi("@markup.heading", { link = "Title" }) hi("@markup.link.url", { link = "Underlined" }) hi("@markup.underline", { link = "Underlined" }) hi("@comment.todo", { link = "Todo" }) -- Miscs hi("@comment", { link = "Comment" }) hi("@punctuation", { link = "Delimiter" }) -- Constants hi("@constant", { link = "Constant" }) hi("@constant.builtin", { link = "Special" }) hi("@constant.macro", { link = "Define" }) hi("@keyword.directive", { link = "Define" }) hi("@string", { link = "String" }) hi("@string.escape", { link = "SpecialChar" }) hi("@string.special", { link = "SpecialChar" }) hi("@character", { link = "Character" }) hi("@character.special", { link = "SpecialChar" }) hi("@number", { link = "Number" }) hi("@boolean", { link = "Boolean" }) hi("@number.float", { link = "Float" }) -- Functions hi("@function", { link = "Function" }) hi("@function.builtin", { link = "Special" }) hi("@function.macro", { link = "Macro" }) hi("@function.method", { link = "Function" }) hi("@variable.parameter", { link = "Identifier" }) hi("@variable.parameter.builtin", { link = "Special" }) hi("@variable.member", { link = "Identifier" }) hi("@property", { link = "Identifier" }) hi("@attribute", { link = "Macro" }) hi("@attribute.builtin", { link = "Special" }) hi("@constructor", { link = "Special" }) -- Keywords hi("@keyword.conditional", { link = "Conditional" }) hi("@keyword.repeat", { link = "Repeat" }) hi("@keyword.type", { link = "Structure" }) hi("@label", { link = "Label" }) hi("@operator", { link = "Operator" }) hi("@keyword", { link = "Keyword" }) hi("@keyword.exception", { link = "Exception" }) hi("@variable", { link = "Identifier" }) hi("@type", { link = "Type" }) hi("@type.definition", { link = "Typedef" }) hi("@module", { link = "Identifier" }) hi("@keyword.import", { link = "Include" }) hi("@keyword.directive", { link = "PreProc" }) hi("@keyword.debug", { link = "Debug" }) hi("@tag", { link = "Tag" }) hi("@tag.builtin", { link = "Special" }) -- LSP semantic tokens hi("@lsp.type.class", { link = "Structure" }) hi("@lsp.type.comment", { link = "Comment" }) hi("@lsp.type.decorator", { link = "Function" }) hi("@lsp.type.enum", { link = "Structure" }) hi("@lsp.type.enumMember", { link = "Constant" }) hi("@lsp.type.function", { link = "Function" }) hi("@lsp.type.interface", { link = "Structure" }) hi("@lsp.type.macro", { link = "Macro" }) hi("@lsp.type.method", { link = "Function" }) hi("@lsp.type.namespace", { link = "Structure" }) hi("@lsp.type.parameter", { link = "Identifier" }) hi("@lsp.type.property", { link = "Identifier" }) hi("@lsp.type.struct", { link = "Structure" }) hi("@lsp.type.type", { link = "Type" }) hi("@lsp.type.typeParameter", { link = "TypeDef" }) hi("@lsp.type.variable", { link = "Identifier" }) -- Vimtex hi("texCmd", { link = "Type" }) -- stylua: ignore end