Fix italic.

This commit is contained in:
2021-04-21 03:31:13 -03:00
parent 42947d34ac
commit 63344848c5

View File

@@ -1,11 +1,12 @@
local M = {} local M = {}
local p = require 'tokyo.palette' local p = require 'tokyo.palette'
local utils = require 'tokyo.utils' local utils = require 'tokyo.utils'
local function opt_italic(lhs, rhs) vim.tbl_extend('force', lhs, {italic = rhs}) end
local hl = {} local hl = {}
local config = {bg_transparent = true} local cfg = {bg_transparent = false, italic_enabled = true}
hl.predefined = { hl.predef = {
Fg = {fg = p.fg}, Fg = {fg = p.fg},
Gray = {fg = p.gray}, Gray = {fg = p.gray},
Red = {fg = p.red}, Red = {fg = p.red},
@@ -20,12 +21,12 @@ hl.predefined = {
} }
hl.common = { hl.common = {
Normal = {fg = p.fg, bg = p.bg0}, Normal = {fg = p.fg, bg = not cfg.bg_transparent and p.bg0},
Terminal = {fg = p.fg, bg = p.bg0}, Terminal = {fg = p.fg, bg = not cfg.bg_transparent and p.bg0},
EndOfBuffer = {fg = p.fg, bg = p.bg0}, EndOfBuffer = {fg = p.bg2, bg = not cfg.bg_transparent and p.bg0},
FoldColumn = {fg = p.fg, bg = p.bg1}, FoldColumn = {fg = p.fg, bg = not cfg.bg_transparent and p.bg1},
Folded = {fg = p.fg, bg = p.bg1}, Folded = {fg = p.fg, bg = not cfg.bg_transparent and p.bg1},
SignColumn = {fg = p.fg, bg = p.bg1}, SignColumn = {fg = p.fg, bg = not cfg.bg_transparent and p.bg0},
ToolbarLine = {fg = p.fg}, ToolbarLine = {fg = p.fg},
Cursor = {reverse = true}, Cursor = {reverse = true},
vCursor = {reverse = true}, vCursor = {reverse = true},
@@ -53,15 +54,38 @@ hl.common = {
Whitespace = {fg = p.bg4}, Whitespace = {fg = p.bg4},
SpecialKey = {fg = p.bg4}, SpecialKey = {fg = p.bg4},
Pmenu = {fg = p.fg, bg = p.bg2}, Pmenu = {fg = p.fg, bg = p.bg2},
PmenuSbar = {fg = p.none, 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 = { hl.syntax = {
Type = {fg = p.blue}, Type = {fg = p.blue, italic = cfg.italic_enabled},
Structure = {fg = p.blue}, Structure = {fg = p.blue, italic = cfg.italic_enabled},
StorageClass = {fg = p.blue}, StorageClass = {fg = p.blue, italic = cfg.italic_enabled},
Identifier = {fg = p.orange}, Identifier = {fg = p.orange, italic = cfg.italic_enabled},
Constant = {fg = p.orange}, Constant = {fg = p.orange, italic = cfg.italic_enabled},
PreProc = {fg = p.red}, PreProc = {fg = p.red},
PreCondit = {fg = p.red}, PreCondit = {fg = p.red},
Include = {fg = p.red}, Include = {fg = p.red},
@@ -93,183 +117,184 @@ hl.syntax = {
} }
hl.lua = { hl.lua = {
luaFunc = hl.predefined.Green, luaFunc = hl.predef.Green,
luaFunction = hl.predefined.Red, luaFunction = hl.predef.Red,
luaTable = hl.predefined.Fg, luaTable = hl.predef.Fg,
luaIn = hl.predefined.Red, luaIn = hl.predef.Red,
luaFuncCall = hl.predefined.Green, luaFuncCall = hl.predef.Green,
luaLocalRed = hl.predefined.Red, luaLocalRed = hl.predef.Red,
luaSpecialValue = hl.predefined.Green, luaSpecialValue = hl.predef.Green,
luaBraces = hl.predefined.Fg, luaBraces = hl.predef.Fg,
luaBuiltIn = hl.predefined.Blue, luaBuiltIn = opt_italic(hl.predef.Blue, cfg.italic_enabled),
luaNoise = hl.predefined.Grey, luaNoise = hl.predef.Grey,
luaFuncTable = hl.predefined.Blue, luaLabel = hl.predef.Purple,
luaFuncArgName = hl.predefined.Fg, luaFuncTable = opt_italic(hl.predef.Blue, cfg.italic_enabled),
luaEllipsis = hl.predefined.Red, luaFuncArgName = hl.predef.Fg,
luaDocTag = hl.predefined.Green luaEllipsis = hl.predef.Red,
luaDocTag = hl.predef.Green
} }
hl.python = { hl.python = {
pythonBuiltin = hl.predefined.BlueItalic, pythonBuiltin = opt_italic(hl.predef.Blue, {italic = cfg.italic_enabled}),
pythonExceptio = hl.predefined.Red, pythonExceptio = hl.predef.Red,
pythonDecoratorName = hl.predefined.OrangeItalic, pythonDecoratorName = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonExClass = hl.predefined.BlueItalic, pythonExClass = opt_italic(hl.predef.Blue, cfg.italic_enabled),
pythonBuiltinType = hl.predefined.BlueItalic, pythonBuiltinType = opt_italic(hl.predef.Blue, cfg.italic_enabled),
pythonBuiltinObj = hl.predefined.OrangeItalic, pythonBuiltinObj = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonDottedName = hl.predefined.OrangeItalic, pythonDottedName = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonBuiltinFunc = hl.predefined.Green, pythonBuiltinFunc = hl.predef.Green,
pythonFunction = hl.predefined.Green, pythonFunction = hl.predef.Green,
pythonDecorator = hl.predefined.OrangeItalic, pythonDecorator = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonInclude = hl.predefined.Include, pythonInclude = hl.syntax.Include,
pythonImport = hl.predefined.PreProc, pythonImport = hl.syntax.PreProc,
pythonOperator = hl.predefined.Red, pythonOperator = hl.predef.Red,
pythonConditional = hl.predefined.Red, pythonConditional = hl.predef.Red,
pythonRepeat = hl.predefined.Red, pythonRepeat = hl.predef.Red,
pythonException = hl.predefined.Red, pythonException = hl.predef.Red,
pythonNone = hl.predefined.OrangeItalic, pythonNone = opt_italic(hl.predef.Orange, cfg.italic_enabled),
pythonCoding = hl.predefined.Grey, pythonCoding = hl.predef.Grey,
pythonDot = hl.predefined.Grey pythonDot = hl.predef.Grey
} }
hl.lsp = { hl.lsp = {
LspCxxHlSkippedRegion = hl.predefined.Gray, LspCxxHlSkippedRegion = hl.predef.Gray,
LspCxxHlSkippedRegionBeginEnd = hl.predefined.Red, LspCxxHlSkippedRegionBeginEnd = hl.predef.Red,
LspCxxHlGroupEnumConstant = hl.predefined.Orange, LspCxxHlGroupEnumConstant = hl.predef.Orange,
LspCxxHlGroupNamespace = hl.predefined.Blue, LspCxxHlGroupNamespace = hl.predef.Blue,
LspCxxHlGroupMemberVariable = hl.predefined.Orange LspCxxHlGroupMemberVariable = hl.predef.Orange
} }
hl.json = { hl.json = {
jsonKeyword = hl.predefined.Red, jsonKeyword = hl.predef.Red,
jsonString = hl.predefined.Green, jsonString = hl.predef.Green,
jsonBoolean = hl.predefined.Blue, jsonBoolean = hl.predef.Blue,
jsonNoise = hl.predefined.Grey, jsonNoise = hl.predef.Grey,
jsonQuote = hl.predefined.Grey, jsonQuote = hl.predef.Grey,
jsonBraces = hl.predefined.Fg jsonBraces = hl.predef.Fg
} }
hl.yaml = { hl.yaml = {
yamlKey = hl.predefined.Red, yamlKey = hl.predef.Red,
yamlConstant = hl.predefined.BlueItalic, yamlConstant = hl.predef.BlueItalic,
yamlString = hl.predefined.Green yamlString = hl.predef.Green
} }
hl.git_commit = { hl.git_commit = {
gitcommitSummary = hl.predefined.Red, gitcommitSummary = hl.predef.Red,
gitcommitUntracked = hl.predefined.Grey, gitcommitUntracked = hl.predef.Grey,
gitcommitDiscarded = hl.predefined.Grey, gitcommitDiscarded = hl.predef.Grey,
gitcommitSelected = hl.predefined.Grey, gitcommitSelected = hl.predef.Grey,
gitcommitUnmerged = hl.predefined.Grey, gitcommitUnmerged = hl.predef.Grey,
gitcommitOnBranch = hl.predefined.Grey, gitcommitOnBranch = hl.predef.Grey,
gitcommitArrow = hl.predefined.Grey, gitcommitArrow = hl.predef.Grey,
gitcommitFile = hl.predefined.Green gitcommitFile = hl.predef.Green
} }
hl.cmake = { hl.cmake = {
cmakeCommand = hl.predefined.Red, cmakeCommand = hl.predef.Red,
cmakeKWconfigure_package_config_file = hl.predefined.BlueItalic, cmakeKWconfigure_package_config_file = hl.predef.BlueItalic,
cmakeKWwrite_basic_package_version_file = hl.predefined.BlueItalic, cmakeKWwrite_basic_package_version_file = hl.predef.BlueItalic,
cmakeKWExternalProject = hl.predefined.Green, cmakeKWExternalProject = hl.predef.Green,
cmakeKWadd_compile_definitions = hl.predefined.Green, cmakeKWadd_compile_definitions = hl.predef.Green,
cmakeKWadd_compile_options = hl.predefined.Green, cmakeKWadd_compile_options = hl.predef.Green,
cmakeKWadd_custom_command = hl.predefined.Green, cmakeKWadd_custom_command = hl.predef.Green,
cmakeKWadd_custom_target = hl.predefined.Green, cmakeKWadd_custom_target = hl.predef.Green,
cmakeKWadd_definitions = hl.predefined.Green, cmakeKWadd_definitions = hl.predef.Green,
cmakeKWadd_dependencies = hl.predefined.Green, cmakeKWadd_dependencies = hl.predef.Green,
cmakeKWadd_executable = hl.predefined.Green, cmakeKWadd_executable = hl.predef.Green,
cmakeKWadd_library = hl.predefined.Green, cmakeKWadd_library = hl.predef.Green,
cmakeKWadd_link_options = hl.predefined.Green, cmakeKWadd_link_options = hl.predef.Green,
cmakeKWadd_subdirectory = hl.predefined.Green, cmakeKWadd_subdirectory = hl.predef.Green,
cmakeKWadd_test = hl.predefined.Green, cmakeKWadd_test = hl.predef.Green,
cmakeKWbuild_command = hl.predefined.Green, cmakeKWbuild_command = hl.predef.Green,
cmakeKWcmake_host_system_information = hl.predefined.Green, cmakeKWcmake_host_system_information = hl.predef.Green,
cmakeKWcmake_minimum_required = hl.predefined.Green, cmakeKWcmake_minimum_required = hl.predef.Green,
cmakeKWcmake_parse_arguments = hl.predefined.Green, cmakeKWcmake_parse_arguments = hl.predef.Green,
cmakeKWcmake_policy = hl.predefined.Green, cmakeKWcmake_policy = hl.predef.Green,
cmakeKWconfigure_file = hl.predefined.Green, cmakeKWconfigure_file = hl.predef.Green,
cmakeKWcreate_test_sourcelist = hl.predefined.Green, cmakeKWcreate_test_sourcelist = hl.predef.Green,
cmakeKWctest_build = hl.predefined.Green, cmakeKWctest_build = hl.predef.Green,
cmakeKWctest_configure = hl.predefined.Green, cmakeKWctest_configure = hl.predef.Green,
cmakeKWctest_coverage = hl.predefined.Green, cmakeKWctest_coverage = hl.predef.Green,
cmakeKWctest_memcheck = hl.predefined.Green, cmakeKWctest_memcheck = hl.predef.Green,
cmakeKWctest_run_script = hl.predefined.Green, cmakeKWctest_run_script = hl.predef.Green,
cmakeKWctest_start = hl.predefined.Green, cmakeKWctest_start = hl.predef.Green,
cmakeKWctest_submit = hl.predefined.Green, cmakeKWctest_submit = hl.predef.Green,
cmakeKWctest_test = hl.predefined.Green, cmakeKWctest_test = hl.predef.Green,
cmakeKWctest_update = hl.predefined.Green, cmakeKWctest_update = hl.predef.Green,
cmakeKWctest_upload = hl.predefined.Green, cmakeKWctest_upload = hl.predef.Green,
cmakeKWdefine_property = hl.predefined.Green, cmakeKWdefine_property = hl.predef.Green,
cmakeKWdoxygen_add_docs = hl.predefined.Green, cmakeKWdoxygen_add_docs = hl.predef.Green,
cmakeKWenable_language = hl.predefined.Green, cmakeKWenable_language = hl.predef.Green,
cmakeKWenable_testing = hl.predefined.Green, cmakeKWenable_testing = hl.predef.Green,
cmakeKWexec_program = hl.predefined.Green, cmakeKWexec_program = hl.predef.Green,
cmakeKWexecute_process = hl.predefined.Green, cmakeKWexecute_process = hl.predef.Green,
cmakeKWexport = hl.predefined.Green, cmakeKWexport = hl.predef.Green,
cmakeKWexport_library_dependencies = hl.predefined.Green, cmakeKWexport_library_dependencies = hl.predef.Green,
cmakeKWfile = hl.predefined.Green, cmakeKWfile = hl.predef.Green,
cmakeKWfind_file = hl.predefined.Green, cmakeKWfind_file = hl.predef.Green,
cmakeKWfind_library = hl.predefined.Green, cmakeKWfind_library = hl.predef.Green,
cmakeKWfind_package = hl.predefined.Green, cmakeKWfind_package = hl.predef.Green,
cmakeKWfind_path = hl.predefined.Green, cmakeKWfind_path = hl.predef.Green,
cmakeKWfind_program = hl.predefined.Green, cmakeKWfind_program = hl.predef.Green,
cmakeKWfltk_wrap_ui = hl.predefined.Green, cmakeKWfltk_wrap_ui = hl.predef.Green,
cmakeKWforeach = hl.predefined.Green, cmakeKWforeach = hl.predef.Green,
cmakeKWfunction = hl.predefined.Green, cmakeKWfunction = hl.predef.Green,
cmakeKWget_cmake_property = hl.predefined.Green, cmakeKWget_cmake_property = hl.predef.Green,
cmakeKWget_directory_property = hl.predefined.Green, cmakeKWget_directory_property = hl.predef.Green,
cmakeKWget_filename_component = hl.predefined.Green, cmakeKWget_filename_component = hl.predef.Green,
cmakeKWget_property = hl.predefined.Green, cmakeKWget_property = hl.predef.Green,
cmakeKWget_source_file_property = hl.predefined.Green, cmakeKWget_source_file_property = hl.predef.Green,
cmakeKWget_target_property = hl.predefined.Green, cmakeKWget_target_property = hl.predef.Green,
cmakeKWget_test_property = hl.predefined.Green, cmakeKWget_test_property = hl.predef.Green,
cmakeKWif = hl.predefined.Green, cmakeKWif = hl.predef.Green,
cmakeKWinclude = hl.predefined.Green, cmakeKWinclude = hl.predef.Green,
cmakeKWinclude_directories = hl.predefined.Green, cmakeKWinclude_directories = hl.predef.Green,
cmakeKWinclude_external_msproject = hl.predefined.Green, cmakeKWinclude_external_msproject = hl.predef.Green,
cmakeKWinclude_guard = hl.predefined.Green, cmakeKWinclude_guard = hl.predef.Green,
cmakeKWinstall = hl.predefined.Green, cmakeKWinstall = hl.predef.Green,
cmakeKWinstall_files = hl.predefined.Green, cmakeKWinstall_files = hl.predef.Green,
cmakeKWinstall_programs = hl.predefined.Green, cmakeKWinstall_programs = hl.predef.Green,
cmakeKWinstall_targets = hl.predefined.Green, cmakeKWinstall_targets = hl.predef.Green,
cmakeKWlink_directories = hl.predefined.Green, cmakeKWlink_directories = hl.predef.Green,
cmakeKWlist = hl.predefined.Green, cmakeKWlist = hl.predef.Green,
cmakeKWload_cache = hl.predefined.Green, cmakeKWload_cache = hl.predef.Green,
cmakeKWload_command = hl.predefined.Green, cmakeKWload_command = hl.predef.Green,
cmakeKWmacro = hl.predefined.Green, cmakeKWmacro = hl.predef.Green,
cmakeKWmark_as_advanced = hl.predefined.Green, cmakeKWmark_as_advanced = hl.predef.Green,
cmakeKWmath = hl.predefined.Green, cmakeKWmath = hl.predef.Green,
cmakeKWmessage = hl.predefined.Green, cmakeKWmessage = hl.predef.Green,
cmakeKWoption = hl.predefined.Green, cmakeKWoption = hl.predef.Green,
cmakeKWproject = hl.predefined.Green, cmakeKWproject = hl.predef.Green,
cmakeKWqt_wrap_cpp = hl.predefined.Green, cmakeKWqt_wrap_cpp = hl.predef.Green,
cmakeKWqt_wrap_ui = hl.predefined.Green, cmakeKWqt_wrap_ui = hl.predef.Green,
cmakeKWremove = hl.predefined.Green, cmakeKWremove = hl.predef.Green,
cmakeKWseparate_arguments = hl.predefined.Green, cmakeKWseparate_arguments = hl.predef.Green,
cmakeKWset = hl.predefined.Green, cmakeKWset = hl.predef.Green,
cmakeKWset_directory_properties = hl.predefined.Green, cmakeKWset_directory_properties = hl.predef.Green,
cmakeKWset_property = hl.predefined.Green, cmakeKWset_property = hl.predef.Green,
cmakeKWset_source_files_properties = hl.predefined.Green, cmakeKWset_source_files_properties = hl.predef.Green,
cmakeKWset_target_properties = hl.predefined.Green, cmakeKWset_target_properties = hl.predef.Green,
cmakeKWset_tests_properties = hl.predefined.Green, cmakeKWset_tests_properties = hl.predef.Green,
cmakeKWsource_group = hl.predefined.Green, cmakeKWsource_group = hl.predef.Green,
cmakeKWstring = hl.predefined.Green, cmakeKWstring = hl.predef.Green,
cmakeKWsubdirs = hl.predefined.Green, cmakeKWsubdirs = hl.predef.Green,
cmakeKWtarget_compile_definitions = hl.predefined.Green, cmakeKWtarget_compile_definitions = hl.predef.Green,
cmakeKWtarget_compile_features = hl.predefined.Green, cmakeKWtarget_compile_features = hl.predef.Green,
cmakeKWtarget_compile_options = hl.predefined.Green, cmakeKWtarget_compile_options = hl.predef.Green,
cmakeKWtarget_include_directories = hl.predefined.Green, cmakeKWtarget_include_directories = hl.predef.Green,
cmakeKWtarget_link_directories = hl.predefined.Green, cmakeKWtarget_link_directories = hl.predef.Green,
cmakeKWtarget_link_libraries = hl.predefined.Green, cmakeKWtarget_link_libraries = hl.predef.Green,
cmakeKWtarget_link_options = hl.predefined.Green, cmakeKWtarget_link_options = hl.predef.Green,
cmakeKWtarget_precompile_headers = hl.predefined.Green, cmakeKWtarget_precompile_headers = hl.predef.Green,
cmakeKWtarget_sources = hl.predefined.Green, cmakeKWtarget_sources = hl.predef.Green,
cmakeKWtry_compile = hl.predefined.Green, cmakeKWtry_compile = hl.predef.Green,
cmakeKWtry_run = hl.predefined.Green, cmakeKWtry_run = hl.predef.Green,
cmakeKWunset = hl.predefined.Green, cmakeKWunset = hl.predef.Green,
cmakeKWuse_mangled_mesa = hl.predefined.Green, cmakeKWuse_mangled_mesa = hl.predef.Green,
cmakeKWvariable_requires = hl.predefined.Green, cmakeKWvariable_requires = hl.predef.Green,
cmakeKWvariable_watch = hl.predefined.Green, cmakeKWvariable_watch = hl.predef.Green,
cmakeKWwrite_file = hl.predefined.Green cmakeKWwrite_file = hl.predef.Green
} }
local highlight = vim.api.nvim_set_hl local highlight = vim.api.nvim_set_hl