Initial commit
This commit is contained in:
301
lua/tokyo/theme.lua
Normal file
301
lua/tokyo/theme.lua
Normal file
@@ -0,0 +1,301 @@
|
||||
local M = {}
|
||||
local p = require 'lua.tokyo.palette'
|
||||
local utils = require 'lua.tokyo.utils'
|
||||
local hl = {}
|
||||
|
||||
local config = {bg_transparent = true}
|
||||
|
||||
hl.predefined = {
|
||||
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},
|
||||
BlueItalic = {fg = p.blue, italic = true},
|
||||
GreenItalic = {fg = p.green, italic = true},
|
||||
RedItalic = {fg = p.red, italic = true}
|
||||
}
|
||||
|
||||
hl.common = {
|
||||
Normal = {fg = p.fg, bg = p.bg0},
|
||||
Terminal = {fg = p.fg, bg = p.bg0},
|
||||
EndOfBuffer = {fg = p.fg, bg = p.bg0},
|
||||
FoldColumn = {fg = p.fg, bg = p.bg1},
|
||||
Folded = {fg = p.fg, bg = p.bg1},
|
||||
SignColumn = {fg = p.fg, bg = p.bg1},
|
||||
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}
|
||||
}
|
||||
|
||||
hl.syntax = {
|
||||
Type = {fg = p.blue},
|
||||
Structure = {fg = p.blue},
|
||||
StorageClass = {fg = p.blue},
|
||||
Identifier = {fg = p.orange},
|
||||
Constant = {fg = p.orange},
|
||||
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.predefined.Green,
|
||||
luaFunction = hl.predefined.Red,
|
||||
luaTable = hl.predefined.Fg,
|
||||
luaIn = hl.predefined.Red,
|
||||
luaFuncCall = hl.predefined.Green,
|
||||
luaLocalRed = hl.predefined.Red,
|
||||
luaSpecialValue = hl.predefined.Green,
|
||||
luaBraces = hl.predefined.Fg,
|
||||
luaBuiltIn = hl.predefined.Blue,
|
||||
luaNoise = hl.predefined.Grey,
|
||||
luaFuncTable = hl.predefined.Blue,
|
||||
luaFuncArgName = hl.predefined.Fg,
|
||||
luaEllipsis = hl.predefined.Red,
|
||||
luaDocTag = hl.predefined.Green
|
||||
}
|
||||
|
||||
hl.python = {
|
||||
pythonBuiltin = hl.predefined.BlueItalic,
|
||||
pythonExceptio = hl.predefined.Red,
|
||||
pythonDecoratorName = hl.predefined.OrangeItalic,
|
||||
pythonExClass = hl.predefined.BlueItalic,
|
||||
pythonBuiltinType = hl.predefined.BlueItalic,
|
||||
pythonBuiltinObj = hl.predefined.OrangeItalic,
|
||||
pythonDottedName = hl.predefined.OrangeItalic,
|
||||
pythonBuiltinFunc = hl.predefined.Green,
|
||||
pythonFunction = hl.predefined.Green,
|
||||
pythonDecorator = hl.predefined.OrangeItalic,
|
||||
pythonInclude = hl.predefined.Include,
|
||||
pythonImport = hl.predefined.PreProc,
|
||||
pythonOperator = hl.predefined.Red,
|
||||
pythonConditional = hl.predefined.Red,
|
||||
pythonRepeat = hl.predefined.Red,
|
||||
pythonException = hl.predefined.Red,
|
||||
pythonNone = hl.predefined.OrangeItalic,
|
||||
pythonCoding = hl.predefined.Grey,
|
||||
pythonDot = hl.predefined.Grey
|
||||
}
|
||||
|
||||
hl.lsp = {
|
||||
LspCxxHlSkippedRegion = hl.predefined.Gray,
|
||||
LspCxxHlSkippedRegionBeginEnd = hl.predefined.Red,
|
||||
LspCxxHlGroupEnumConstant = hl.predefined.Orange,
|
||||
LspCxxHlGroupNamespace = hl.predefined.Blue,
|
||||
LspCxxHlGroupMemberVariable = hl.predefined.Orange
|
||||
}
|
||||
|
||||
hl.json = {
|
||||
jsonKeyword = hl.predefined.Red,
|
||||
jsonString = hl.predefined.Green,
|
||||
jsonBoolean = hl.predefined.Blue,
|
||||
jsonNoise = hl.predefined.Grey,
|
||||
jsonQuote = hl.predefined.Grey,
|
||||
jsonBraces = hl.predefined.Fg
|
||||
}
|
||||
|
||||
hl.yaml = {
|
||||
yamlKey = hl.predefined.Red,
|
||||
yamlConstant = hl.predefined.BlueItalic,
|
||||
yamlString = hl.predefined.Green
|
||||
}
|
||||
|
||||
hl.git_commit = {
|
||||
gitcommitSummary = hl.predefined.Red,
|
||||
gitcommitUntracked = hl.predefined.Grey,
|
||||
gitcommitDiscarded = hl.predefined.Grey,
|
||||
gitcommitSelected = hl.predefined.Grey,
|
||||
gitcommitUnmerged = hl.predefined.Grey,
|
||||
gitcommitOnBranch = hl.predefined.Grey,
|
||||
gitcommitArrow = hl.predefined.Grey,
|
||||
gitcommitFile = hl.predefined.Green
|
||||
}
|
||||
|
||||
hl.cmake = {
|
||||
cmakeCommand = hl.predefined.Red,
|
||||
cmakeKWconfigure_package_config_file = hl.predefined.BlueItalic,
|
||||
cmakeKWwrite_basic_package_version_file = hl.predefined.BlueItalic,
|
||||
cmakeKWExternalProject = hl.predefined.Green,
|
||||
cmakeKWadd_compile_definitions = hl.predefined.Green,
|
||||
cmakeKWadd_compile_options = hl.predefined.Green,
|
||||
cmakeKWadd_custom_command = hl.predefined.Green,
|
||||
cmakeKWadd_custom_target = hl.predefined.Green,
|
||||
cmakeKWadd_definitions = hl.predefined.Green,
|
||||
cmakeKWadd_dependencies = hl.predefined.Green,
|
||||
cmakeKWadd_executable = hl.predefined.Green,
|
||||
cmakeKWadd_library = hl.predefined.Green,
|
||||
cmakeKWadd_link_options = hl.predefined.Green,
|
||||
cmakeKWadd_subdirectory = hl.predefined.Green,
|
||||
cmakeKWadd_test = hl.predefined.Green,
|
||||
cmakeKWbuild_command = hl.predefined.Green,
|
||||
cmakeKWcmake_host_system_information = hl.predefined.Green,
|
||||
cmakeKWcmake_minimum_required = hl.predefined.Green,
|
||||
cmakeKWcmake_parse_arguments = hl.predefined.Green,
|
||||
cmakeKWcmake_policy = hl.predefined.Green,
|
||||
cmakeKWconfigure_file = hl.predefined.Green,
|
||||
cmakeKWcreate_test_sourcelist = hl.predefined.Green,
|
||||
cmakeKWctest_build = hl.predefined.Green,
|
||||
cmakeKWctest_configure = hl.predefined.Green,
|
||||
cmakeKWctest_coverage = hl.predefined.Green,
|
||||
cmakeKWctest_memcheck = hl.predefined.Green,
|
||||
cmakeKWctest_run_script = hl.predefined.Green,
|
||||
cmakeKWctest_start = hl.predefined.Green,
|
||||
cmakeKWctest_submit = hl.predefined.Green,
|
||||
cmakeKWctest_test = hl.predefined.Green,
|
||||
cmakeKWctest_update = hl.predefined.Green,
|
||||
cmakeKWctest_upload = hl.predefined.Green,
|
||||
cmakeKWdefine_property = hl.predefined.Green,
|
||||
cmakeKWdoxygen_add_docs = hl.predefined.Green,
|
||||
cmakeKWenable_language = hl.predefined.Green,
|
||||
cmakeKWenable_testing = hl.predefined.Green,
|
||||
cmakeKWexec_program = hl.predefined.Green,
|
||||
cmakeKWexecute_process = hl.predefined.Green,
|
||||
cmakeKWexport = hl.predefined.Green,
|
||||
cmakeKWexport_library_dependencies = hl.predefined.Green,
|
||||
cmakeKWfile = hl.predefined.Green,
|
||||
cmakeKWfind_file = hl.predefined.Green,
|
||||
cmakeKWfind_library = hl.predefined.Green,
|
||||
cmakeKWfind_package = hl.predefined.Green,
|
||||
cmakeKWfind_path = hl.predefined.Green,
|
||||
cmakeKWfind_program = hl.predefined.Green,
|
||||
cmakeKWfltk_wrap_ui = hl.predefined.Green,
|
||||
cmakeKWforeach = hl.predefined.Green,
|
||||
cmakeKWfunction = hl.predefined.Green,
|
||||
cmakeKWget_cmake_property = hl.predefined.Green,
|
||||
cmakeKWget_directory_property = hl.predefined.Green,
|
||||
cmakeKWget_filename_component = hl.predefined.Green,
|
||||
cmakeKWget_property = hl.predefined.Green,
|
||||
cmakeKWget_source_file_property = hl.predefined.Green,
|
||||
cmakeKWget_target_property = hl.predefined.Green,
|
||||
cmakeKWget_test_property = hl.predefined.Green,
|
||||
cmakeKWif = hl.predefined.Green,
|
||||
cmakeKWinclude = hl.predefined.Green,
|
||||
cmakeKWinclude_directories = hl.predefined.Green,
|
||||
cmakeKWinclude_external_msproject = hl.predefined.Green,
|
||||
cmakeKWinclude_guard = hl.predefined.Green,
|
||||
cmakeKWinstall = hl.predefined.Green,
|
||||
cmakeKWinstall_files = hl.predefined.Green,
|
||||
cmakeKWinstall_programs = hl.predefined.Green,
|
||||
cmakeKWinstall_targets = hl.predefined.Green,
|
||||
cmakeKWlink_directories = hl.predefined.Green,
|
||||
cmakeKWlist = hl.predefined.Green,
|
||||
cmakeKWload_cache = hl.predefined.Green,
|
||||
cmakeKWload_command = hl.predefined.Green,
|
||||
cmakeKWmacro = hl.predefined.Green,
|
||||
cmakeKWmark_as_advanced = hl.predefined.Green,
|
||||
cmakeKWmath = hl.predefined.Green,
|
||||
cmakeKWmessage = hl.predefined.Green,
|
||||
cmakeKWoption = hl.predefined.Green,
|
||||
cmakeKWproject = hl.predefined.Green,
|
||||
cmakeKWqt_wrap_cpp = hl.predefined.Green,
|
||||
cmakeKWqt_wrap_ui = hl.predefined.Green,
|
||||
cmakeKWremove = hl.predefined.Green,
|
||||
cmakeKWseparate_arguments = hl.predefined.Green,
|
||||
cmakeKWset = hl.predefined.Green,
|
||||
cmakeKWset_directory_properties = hl.predefined.Green,
|
||||
cmakeKWset_property = hl.predefined.Green,
|
||||
cmakeKWset_source_files_properties = hl.predefined.Green,
|
||||
cmakeKWset_target_properties = hl.predefined.Green,
|
||||
cmakeKWset_tests_properties = hl.predefined.Green,
|
||||
cmakeKWsource_group = hl.predefined.Green,
|
||||
cmakeKWstring = hl.predefined.Green,
|
||||
cmakeKWsubdirs = hl.predefined.Green,
|
||||
cmakeKWtarget_compile_definitions = hl.predefined.Green,
|
||||
cmakeKWtarget_compile_features = hl.predefined.Green,
|
||||
cmakeKWtarget_compile_options = hl.predefined.Green,
|
||||
cmakeKWtarget_include_directories = hl.predefined.Green,
|
||||
cmakeKWtarget_link_directories = hl.predefined.Green,
|
||||
cmakeKWtarget_link_libraries = hl.predefined.Green,
|
||||
cmakeKWtarget_link_options = hl.predefined.Green,
|
||||
cmakeKWtarget_precompile_headers = hl.predefined.Green,
|
||||
cmakeKWtarget_sources = hl.predefined.Green,
|
||||
cmakeKWtry_compile = hl.predefined.Green,
|
||||
cmakeKWtry_run = hl.predefined.Green,
|
||||
cmakeKWunset = hl.predefined.Green,
|
||||
cmakeKWuse_mangled_mesa = hl.predefined.Green,
|
||||
cmakeKWvariable_requires = hl.predefined.Green,
|
||||
cmakeKWvariable_watch = hl.predefined.Green,
|
||||
cmakeKWwrite_file = hl.predefined.Green
|
||||
}
|
||||
|
||||
local highlight = vim.api.nvim_set_hl
|
||||
local set_hl_ns = vim.api.nvim__set_hl_ns
|
||||
local create_namespace = vim.api.nvim_create_namespace
|
||||
|
||||
function M.set_hl()
|
||||
vim.cmd("hi clear")
|
||||
if vim.fn.exists("syntax_on") then vim.cmd("syntax reset") end
|
||||
vim.o.background = "dark"
|
||||
vim.o.termguicolors = true
|
||||
vim.g.colors_name = "tokyo"
|
||||
local ns = create_namespace("tokyo")
|
||||
for _, group in pairs(hl) do
|
||||
for group_name, group_settings in pairs(group) do
|
||||
if group_settings.link ~= nil then
|
||||
print(group_settings.link)
|
||||
end
|
||||
highlight(ns, group_name, group_settings)
|
||||
-- print(group_name)
|
||||
end
|
||||
end
|
||||
set_hl_ns(ns)
|
||||
|
||||
end
|
||||
|
||||
return M
|
||||
-- utils.tprint(hl)
|
||||
|
||||
Reference in New Issue
Block a user