Files
tokyodark/lua/tokyo/theme.lua
2021-04-21 20:27:59 -03:00

296 lines
11 KiB
Lua

local p = require 'tokyo.palette'
local function opt_italic(lhs, rhs) vim.tbl_extend('force', lhs, {italic = rhs}) end
local cfg = require('tokyo.config')
local hl = {}
hl.predef = {
Fg = {fg = p.fg},
Gray = {fg = p.gray},
Red = {fg = p.red},
Orange = {fg = p.orange},
Yellow = {fg = p.yellow},
Green = {fg = p.green},
Blue = {fg = p.blue},
Purple = {fg = p.purple},
}
hl.common = {
Normal = {fg = p.fg, bg = cfg.bg_transparent and p.none or p.bg0},
Terminal = {fg = p.fg, bg = cfg.bg_transparent and p.none or p.bg0},
EndOfBuffer = {fg = p.bg2, bg = cfg.bg_transparent and p.none or p.bg0},
FoldColumn = {fg = p.fg, bg = cfg.bg_transparent and p.none or p.bg1},
Folded = {fg = p.fg, bg = cfg.bg_transparent and p.none or p.bg1},
SignColumn = {fg = p.fg, bg = cfg.bg_transparent and p.none or p.bg0},
ToolbarLine = {fg = p.fg},
Cursor = {reverse = true},
vCursor = {reverse = true},
iCursor = {reverse = true},
lCursor = {reverse = true},
CursorIM = {reverse = true},
CursorColumn = {bg = p.bg1},
CursorLine = {bg = p.bg1},
ColorColumn = {bg = p.bg1},
CursorLineNr = {fg = p.fg},
Conceal = {fg = p.grey, bg = p.bg1},
DiffAdd = {fg = p.none, bg = p.diff_green},
DiffChange = {fg = p.none, bg = p.diff_blue},
DiffDelete = {fg = p.none, bg = p.diff_red},
DiffText = {fg = p.none, reverse = true},
Directory = {fg = p.green},
ErrorMsg = {fg = p.red, bold = true, underline = true},
WarningMsg = {fg = p.yellow, bg = p.none, bold = true},
ModeMsg = {fg = p.fg, bg = p.none, bold = true},
MoreMsg = {fg = p.blue, bg = p.none, bold = true},
IncSearch = {fg = p.bg0, bg = p.bg_red},
Search = {fg = p.bg0, bg = p.bg_green},
MatchParen = {fg = p.none, bg = p.bg4},
NonText = {fg = p.bg4},
Whitespace = {fg = p.bg4},
SpecialKey = {fg = p.bg4},
Pmenu = {fg = p.fg, bg = p.bg2},
PmenuSbar = {fg = p.none, bg = p.bg2},
PmenuSel = {fg = p.bg0, bg = p.blue},
WildMenu = {fg = p.bg0, bg = p.blue},
PmenuThumb = {fg = p.none, bg = p.grey},
Question = {fg = p.yellow, bg = p.none},
SpellBad = {fg = p.red, bg = p.none, underline = true, sp = p.red},
SpellCap = {fg = p.yellow, bg = p.none, underline = true, sp = p.yellow},
SpellLocal = {fg = p.blue, bg = p.none, underline = true, sp = p.blue},
SpellRare = {fg = p.purple, bg = p.none, underline = true, sp = p.purple},
StatusLine = {fg = p.fg, bg = p.bg3},
StatusLineTerm = {fg = p.fg, bg = p.bg3},
StatusLineNC = {fg = p.grey, bg = p.bg1},
StatusLineTermNC = {fg = p.grey, bg = p.bg1},
TabLine = {fg = p.fg, bg = p.bg4},
TabLineFill = {fg = p.grey, bg = p.bg1},
TabLineSel = {fg = p.bg0, bg = p.bg_red},
VertSplit = {fg = p.black, bg = p.none},
Visual = {fg = p.none, bg = p.bg3},
VisualNOS = {fg = p.none, bg = p.bg3, underline = true},
QuickFixLine = {fg = p.blue, bg = p.none, underline = true},
Debug = {fg = p.yellow, bg = p.none},
debugPC = {fg = p.bg0, bg = p.green},
debugBreakpoint = {fg = p.bg0, bg = p.red},
ToolbarButton = {fg = p.bg0, bg = p.bg_blue}
}
hl.syntax = {
Type = {fg = p.blue, italic = cfg.italic_enabled},
Structure = {fg = p.blue, italic = cfg.italic_enabled},
StorageClass = {fg = p.blue, italic = cfg.italic_enabled},
Identifier = {fg = p.orange, italic = cfg.italic_enabled},
Constant = {fg = p.orange, italic = cfg.italic_enabled},
PreProc = {fg = p.red},
PreCondit = {fg = p.red},
Include = {fg = p.red},
Keyword = {fg = p.red},
Define = {fg = p.red},
Typedef = {fg = p.red},
Exception = {fg = p.red},
Conditional = {fg = p.red},
Repeat = {fg = p.red},
Statement = {fg = p.red},
Macro = {fg = p.purple},
Error = {fg = p.red},
Label = {fg = p.purple},
Special = {fg = p.purple},
SpecialChar = {fg = p.purple},
Boolean = {fg = p.purple},
String = {fg = p.yellow},
Character = {fg = p.yellow},
Number = {fg = p.purple},
Float = {fg = p.purple},
Function = {fg = p.green},
Operator = {fg = p.red},
Title = {fg = p.red},
Tag = {fg = p.orange},
Delimiter = {fg = p.fg},
Comment = {fg = p.gray, italic = true},
SpecialComment = {fg = p.grey},
Todo = {fg = p.blue}
}
hl.lua = {
luaFunc = hl.predef.Green,
luaFunction = hl.predef.Red,
luaTable = hl.predef.Fg,
luaIn = hl.predef.Red,
luaFuncCall = hl.predef.Green,
luaLocalRed = hl.predef.Red,
luaSpecialValue = hl.predef.Green,
luaBraces = hl.predef.Fg,
luaBuiltIn = opt_italic(hl.predef.Blue, cfg.italic_enabled),
luaNoise = hl.predef.Grey,
luaLabel = hl.predef.Purple,
luaFuncTable = opt_italic(hl.predef.Blue, cfg.italic_enabled),
luaFuncArgName = hl.predef.Fg,
luaEllipsis = hl.predef.Red,
luaDocTag = hl.predef.Green
}
hl.python = {
pythonBuiltin = opt_italic(hl.predef.Blue, {italic = cfg.italic_enabled}),
pythonExceptio = hl.predef.Red,
pythonDecoratorName = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonExClass = opt_italic(hl.predef.Blue, cfg.italic_enabled),
pythonBuiltinType = opt_italic(hl.predef.Blue, cfg.italic_enabled),
pythonBuiltinObj = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonDottedName = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonBuiltinFunc = hl.predef.Green,
pythonFunction = hl.predef.Green,
pythonDecorator = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonInclude = hl.syntax.Include,
pythonImport = hl.syntax.PreProc,
pythonOperator = hl.predef.Red,
pythonConditional = hl.predef.Red,
pythonRepeat = hl.predef.Red,
pythonException = hl.predef.Red,
pythonNone = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonCoding = hl.predef.Grey,
pythonDot = hl.predef.Grey
}
hl.lsp = {
LspCxxHlSkippedRegion = hl.predef.Gray,
LspCxxHlSkippedRegionBeginEnd = hl.predef.Red,
LspCxxHlGroupEnumConstant = hl.predef.Orange,
LspCxxHlGroupNamespace = hl.predef.Blue,
LspCxxHlGroupMemberVariable = hl.predef.Orange
}
hl.json = {
jsonKeyword = hl.predef.Red,
jsonString = hl.predef.Green,
jsonBoolean = hl.predef.Blue,
jsonNoise = hl.predef.Grey,
jsonQuote = hl.predef.Grey,
jsonBraces = hl.predef.Fg
}
hl.yaml = {
yamlKey = hl.predef.Red,
yamlConstant = hl.predef.BlueItalic,
yamlString = hl.predef.Green
}
hl.git_commit = {
gitcommitSummary = hl.predef.Red,
gitcommitUntracked = hl.predef.Grey,
gitcommitDiscarded = hl.predef.Grey,
gitcommitSelected = hl.predef.Grey,
gitcommitUnmerged = hl.predef.Grey,
gitcommitOnBranch = hl.predef.Grey,
gitcommitArrow = hl.predef.Grey,
gitcommitFile = hl.predef.Green
}
hl.cmake = {
cmakeCommand = hl.predef.Red,
cmakeKWconfigure_package_config_file = hl.predef.BlueItalic,
cmakeKWwrite_basic_package_version_file = hl.predef.BlueItalic,
cmakeKWExternalProject = hl.predef.Green,
cmakeKWadd_compile_definitions = hl.predef.Green,
cmakeKWadd_compile_options = hl.predef.Green,
cmakeKWadd_custom_command = hl.predef.Green,
cmakeKWadd_custom_target = hl.predef.Green,
cmakeKWadd_definitions = hl.predef.Green,
cmakeKWadd_dependencies = hl.predef.Green,
cmakeKWadd_executable = hl.predef.Green,
cmakeKWadd_library = hl.predef.Green,
cmakeKWadd_link_options = hl.predef.Green,
cmakeKWadd_subdirectory = hl.predef.Green,
cmakeKWadd_test = hl.predef.Green,
cmakeKWbuild_command = hl.predef.Green,
cmakeKWcmake_host_system_information = hl.predef.Green,
cmakeKWcmake_minimum_required = hl.predef.Green,
cmakeKWcmake_parse_arguments = hl.predef.Green,
cmakeKWcmake_policy = hl.predef.Green,
cmakeKWconfigure_file = hl.predef.Green,
cmakeKWcreate_test_sourcelist = hl.predef.Green,
cmakeKWctest_build = hl.predef.Green,
cmakeKWctest_configure = hl.predef.Green,
cmakeKWctest_coverage = hl.predef.Green,
cmakeKWctest_memcheck = hl.predef.Green,
cmakeKWctest_run_script = hl.predef.Green,
cmakeKWctest_start = hl.predef.Green,
cmakeKWctest_submit = hl.predef.Green,
cmakeKWctest_test = hl.predef.Green,
cmakeKWctest_update = hl.predef.Green,
cmakeKWctest_upload = hl.predef.Green,
cmakeKWdefine_property = hl.predef.Green,
cmakeKWdoxygen_add_docs = hl.predef.Green,
cmakeKWenable_language = hl.predef.Green,
cmakeKWenable_testing = hl.predef.Green,
cmakeKWexec_program = hl.predef.Green,
cmakeKWexecute_process = hl.predef.Green,
cmakeKWexport = hl.predef.Green,
cmakeKWexport_library_dependencies = hl.predef.Green,
cmakeKWfile = hl.predef.Green,
cmakeKWfind_file = hl.predef.Green,
cmakeKWfind_library = hl.predef.Green,
cmakeKWfind_package = hl.predef.Green,
cmakeKWfind_path = hl.predef.Green,
cmakeKWfind_program = hl.predef.Green,
cmakeKWfltk_wrap_ui = hl.predef.Green,
cmakeKWforeach = hl.predef.Green,
cmakeKWfunction = hl.predef.Green,
cmakeKWget_cmake_property = hl.predef.Green,
cmakeKWget_directory_property = hl.predef.Green,
cmakeKWget_filename_component = hl.predef.Green,
cmakeKWget_property = hl.predef.Green,
cmakeKWget_source_file_property = hl.predef.Green,
cmakeKWget_target_property = hl.predef.Green,
cmakeKWget_test_property = hl.predef.Green,
cmakeKWif = hl.predef.Green,
cmakeKWinclude = hl.predef.Green,
cmakeKWinclude_directories = hl.predef.Green,
cmakeKWinclude_external_msproject = hl.predef.Green,
cmakeKWinclude_guard = hl.predef.Green,
cmakeKWinstall = hl.predef.Green,
cmakeKWinstall_files = hl.predef.Green,
cmakeKWinstall_programs = hl.predef.Green,
cmakeKWinstall_targets = hl.predef.Green,
cmakeKWlink_directories = hl.predef.Green,
cmakeKWlist = hl.predef.Green,
cmakeKWload_cache = hl.predef.Green,
cmakeKWload_command = hl.predef.Green,
cmakeKWmacro = hl.predef.Green,
cmakeKWmark_as_advanced = hl.predef.Green,
cmakeKWmath = hl.predef.Green,
cmakeKWmessage = hl.predef.Green,
cmakeKWoption = hl.predef.Green,
cmakeKWproject = hl.predef.Green,
cmakeKWqt_wrap_cpp = hl.predef.Green,
cmakeKWqt_wrap_ui = hl.predef.Green,
cmakeKWremove = hl.predef.Green,
cmakeKWseparate_arguments = hl.predef.Green,
cmakeKWset = hl.predef.Green,
cmakeKWset_directory_properties = hl.predef.Green,
cmakeKWset_property = hl.predef.Green,
cmakeKWset_source_files_properties = hl.predef.Green,
cmakeKWset_target_properties = hl.predef.Green,
cmakeKWset_tests_properties = hl.predef.Green,
cmakeKWsource_group = hl.predef.Green,
cmakeKWstring = hl.predef.Green,
cmakeKWsubdirs = hl.predef.Green,
cmakeKWtarget_compile_definitions = hl.predef.Green,
cmakeKWtarget_compile_features = hl.predef.Green,
cmakeKWtarget_compile_options = hl.predef.Green,
cmakeKWtarget_include_directories = hl.predef.Green,
cmakeKWtarget_link_directories = hl.predef.Green,
cmakeKWtarget_link_libraries = hl.predef.Green,
cmakeKWtarget_link_options = hl.predef.Green,
cmakeKWtarget_precompile_headers = hl.predef.Green,
cmakeKWtarget_sources = hl.predef.Green,
cmakeKWtry_compile = hl.predef.Green,
cmakeKWtry_run = hl.predef.Green,
cmakeKWunset = hl.predef.Green,
cmakeKWuse_mangled_mesa = hl.predef.Green,
cmakeKWvariable_requires = hl.predef.Green,
cmakeKWvariable_watch = hl.predef.Green,
cmakeKWwrite_file = hl.predef.Green
}
return hl