diff --git a/lua/base16.lua b/lua/base16.lua index 25fc342..c99f5ff 100644 --- a/lua/base16.lua +++ b/lua/base16.lua @@ -1,287 +1,292 @@ local function highlight(group, guifg, guibg, attr, guisp) - local parts = {group} - if guifg then table.insert(parts, "guifg=#"..guifg) end - if guibg then table.insert(parts, "guibg=#"..guibg) end - if attr then - table.insert(parts, "gui="..attr) - end - if guisp then table.insert(parts, "guisp=#"..guisp) end + local parts = { group } + if guifg then + table.insert(parts, "guifg=#" .. guifg) + end + if guibg then + table.insert(parts, "guibg=#" .. guibg) + end + if attr then + table.insert(parts, "gui=" .. attr) + end + if guisp then + table.insert(parts, "guisp=#" .. guisp) + end - -- nvim.ex.highlight(parts) - vim.api.nvim_command('highlight '..table.concat(parts, ' ')) + -- nvim.ex.highlight(parts) + vim.api.nvim_command("highlight " .. table.concat(parts, " ")) end -- Modified from https://github.com/chriskempson/base16-vim local function apply_base16_theme(theme) + -- Neovim terminal colours + if vim.fn.has "nvim" then + vim.g.terminal_color_0 = "#" .. theme.base00 + vim.g.terminal_color_1 = "#" .. theme.base08 + vim.g.terminal_color_2 = "#" .. theme.base0B + vim.g.terminal_color_3 = "#" .. theme.base0A + vim.g.terminal_color_4 = "#" .. theme.base0D + vim.g.terminal_color_5 = "#" .. theme.base0E + vim.g.terminal_color_6 = "#" .. theme.base0C + vim.g.terminal_color_7 = "#" .. theme.base05 + vim.g.terminal_color_8 = "#" .. theme.base03 + vim.g.terminal_color_9 = "#" .. theme.base08 + vim.g.terminal_color_10 = "#" .. theme.base0B + vim.g.terminal_color_11 = "#" .. theme.base0A + vim.g.terminal_color_12 = "#" .. theme.base0D + vim.g.terminal_color_13 = "#" .. theme.base0E + vim.g.terminal_color_14 = "#" .. theme.base0C + vim.g.terminal_color_15 = "#" .. theme.base07 + if vim.o.background == "light" then + vim.g.terminal_color_background = "#" .. theme.base05 + vim.g.terminal_color_foreground = "#" .. theme.base0B + else + vim.g.terminal_color_background = "#" .. theme.base00 + vim.g.terminal_color_foreground = "#" .. theme.base0E + end + end - -- Neovim terminal colours - if vim.fn.has("nvim") then - vim.g.terminal_color_0 = "#"..theme.base00 - vim.g.terminal_color_1 = "#"..theme.base08 - vim.g.terminal_color_2 = "#"..theme.base0B - vim.g.terminal_color_3 = "#"..theme.base0A - vim.g.terminal_color_4 = "#"..theme.base0D - vim.g.terminal_color_5 = "#"..theme.base0E - vim.g.terminal_color_6 = "#"..theme.base0C - vim.g.terminal_color_7 = "#"..theme.base05 - vim.g.terminal_color_8 = "#"..theme.base03 - vim.g.terminal_color_9 = "#"..theme.base08 - vim.g.terminal_color_10 = "#"..theme.base0B - vim.g.terminal_color_11 = "#"..theme.base0A - vim.g.terminal_color_12 = "#"..theme.base0D - vim.g.terminal_color_13 = "#"..theme.base0E - vim.g.terminal_color_14 = "#"..theme.base0C - vim.g.terminal_color_15 = "#"..theme.base07 - if vim.o.background == "light" then - vim.g.terminal_color_background = "#"..theme.base05 - vim.g.terminal_color_foreground = "#"..theme.base0B - else - vim.g.terminal_color_background = "#"..theme.base00 - vim.g.terminal_color_foreground = "#"..theme.base0E - end - end + -- TODO + -- nvim.command "hi clear" + -- nvim.command "syntax reset" - -- TODO - -- nvim.command "hi clear" - -- nvim.command "syntax reset" + -- Vim editor colors + highlight("Normal", theme.base05, theme.base00, nil, nil) + highlight("Bold", nil, nil, "bold", nil) + highlight("Debug", theme.base08, nil, nil, nil) + highlight("Directory", theme.base0D, nil, nil, nil) + highlight("Error", theme.base00, theme.base08, nil, nil) + highlight("ErrorMsg", theme.base08, theme.base00, nil, nil) + highlight("Exception", theme.base08, nil, nil, nil) + highlight("FoldColumn", theme.base0C, theme.base01, nil, nil) + highlight("Folded", theme.base03, theme.base01, nil, nil) + highlight("IncSearch", theme.base01, theme.base09, "none", nil) + highlight("Italic", nil, nil, "none", nil) + highlight("Macro", theme.base08, nil, nil, nil) + highlight("MatchParen", nil, theme.base03, nil, nil) + highlight("ModeMsg", theme.base0B, nil, nil, nil) + highlight("MoreMsg", theme.base0B, nil, nil, nil) + highlight("Question", theme.base0D, nil, nil, nil) + highlight("Search", theme.base01, theme.base0A, nil, nil) + highlight("Substitute", theme.base01, theme.base0A, "none", nil) + highlight("SpecialKey", theme.base03, nil, nil, nil) + highlight("TooLong", theme.base08, nil, nil, nil) + highlight("Underlined", theme.base08, nil, nil, nil) + highlight("Visual", nil, theme.base02, nil, nil) + highlight("VisualNOS", theme.base08, nil, nil, nil) + highlight("WarningMsg", theme.base08, nil, nil, nil) + highlight("WildMenu", theme.base08, theme.base0A, nil, nil) + highlight("Title", theme.base0D, nil, "none", nil) + highlight("Conceal", theme.base0D, theme.base00, nil, nil) + highlight("Cursor", theme.base00, theme.base05, nil, nil) + highlight("NonText", theme.base03, nil, nil, nil) + highlight("LineNr", theme.base03, "NONE", nil, nil) + highlight("SignColumn", theme.base03, "NONE", nil, nil) + highlight("StatusLine", theme.base04, "NONE", "none", nil) + highlight("StatusLineNC", theme.base03, "NONE", "none", nil) + highlight("VertSplit", theme.base02, "NONE", "none", nil) + highlight("ColorColumn", nil, theme.base01, "none", nil) + highlight("CursorColumn", nil, theme.base01, "none", nil) + highlight("CursorLine", nil, theme.base01, "none", nil) + highlight("CursorLineNr", theme.base04, "NONE", nil, nil) + highlight("QuickFixLine", nil, theme.base01, "none", nil) + highlight("PMenu", theme.base05, theme.base01, "none", nil) + highlight("PMenuSel", theme.base01, theme.base05, nil, nil) + highlight("TabLine", theme.base03, theme.base01, "none", nil) + highlight("TabLineFill", theme.base03, theme.base01, "none", nil) + highlight("TabLineSel", theme.base0B, theme.base01, "none", nil) - -- Vim editor colors - highlight("Normal", theme.base05, theme.base00, nil, nil) - highlight("Bold", nil, nil, "bold", nil) - highlight("Debug", theme.base08, nil, nil, nil) - highlight("Directory", theme.base0D, nil, nil, nil) - highlight("Error", theme.base00, theme.base08, nil, nil) - highlight("ErrorMsg", theme.base08, theme.base00, nil, nil) - highlight("Exception", theme.base08, nil, nil, nil) - highlight("FoldColumn", theme.base0C, theme.base01, nil, nil) - highlight("Folded", theme.base03, theme.base01, nil, nil) - highlight("IncSearch", theme.base01, theme.base09, "none", nil) - highlight("Italic", nil, nil, "none", nil) - highlight("Macro", theme.base08, nil, nil, nil) - highlight("MatchParen", nil, theme.base03, nil, nil) - highlight("ModeMsg", theme.base0B, nil, nil, nil) - highlight("MoreMsg", theme.base0B, nil, nil, nil) - highlight("Question", theme.base0D, nil, nil, nil) - highlight("Search", theme.base01, theme.base0A, nil, nil) - highlight("Substitute", theme.base01, theme.base0A, "none", nil) - highlight("SpecialKey", theme.base03, nil, nil, nil) - highlight("TooLong", theme.base08, nil, nil, nil) - highlight("Underlined", theme.base08, nil, nil, nil) - highlight("Visual", nil, theme.base02, nil, nil) - highlight("VisualNOS", theme.base08, nil, nil, nil) - highlight("WarningMsg", theme.base08, nil, nil, nil) - highlight("WildMenu", theme.base08, theme.base0A, nil, nil) - highlight("Title", theme.base0D, nil, "none", nil) - highlight("Conceal", theme.base0D, theme.base00, nil, nil) - highlight("Cursor", theme.base00, theme.base05, nil, nil) - highlight("NonText", theme.base03, nil,nil, nil) - highlight("LineNr", theme.base03, "NONE", nil, nil) - highlight("SignColumn", theme.base03, "NONE", nil, nil) - highlight("StatusLine", theme.base04, "NONE", "none", nil) - highlight("StatusLineNC", theme.base03, "NONE", "none", nil) - highlight("VertSplit", theme.base02, "NONE", "none", nil) - highlight("ColorColumn", nil, theme.base01, "none", nil) - highlight("CursorColumn", nil, theme.base01, "none", nil) - highlight("CursorLine", nil, theme.base01, "none", nil) - highlight("CursorLineNr", theme.base04, "NONE", nil, nil) - highlight("QuickFixLine", nil, theme.base01, "none", nil) - highlight("PMenu", theme.base05, theme.base01, "none", nil) - highlight("PMenuSel", theme.base01, theme.base05, nil, nil) - highlight("TabLine", theme.base03, theme.base01, "none", nil) - highlight("TabLineFill", theme.base03, theme.base01, "none", nil) - highlight("TabLineSel", theme.base0B, theme.base01, "none", nil) + -- Standard syntax highlighting + highlight("Boolean", theme.base09, nil, nil, nil) + highlight("Character", theme.base08, nil, nil, nil) + highlight("Comment", theme.base03, nil, nil, nil) + highlight("Conditional", theme.base0E, nil, nil, nil) + highlight("Constant", theme.base09, nil, nil, nil) + highlight("Define", theme.base0E, nil, "none", nil) + highlight("Delimiter", theme.base0F, nil, nil, nil) + highlight("Float", theme.base09, nil, nil, nil) + highlight("Function", theme.base0D, nil, nil, nil) + highlight("Identifier", theme.base08, nil, "none", nil) + highlight("Include", theme.base0D, nil, nil, nil) + highlight("Keyword", theme.base0E, nil, nil, nil) + highlight("Label", theme.base0A, nil, nil, nil) + highlight("Number", theme.base09, nil, nil, nil) + highlight("Operator", theme.base05, nil, "none", nil) + highlight("PreProc", theme.base0A, nil, nil, nil) + highlight("Repeat", theme.base0A, nil, nil, nil) + highlight("Special", theme.base0C, nil, nil, nil) + highlight("SpecialChar", theme.base0F, nil, nil, nil) + highlight("Statement", theme.base08, nil, nil, nil) + highlight("StorageClass", theme.base0A, nil, nil, nil) + highlight("String", theme.base0B, nil, nil, nil) + highlight("Structure", theme.base0E, nil, nil, nil) + highlight("Tag", theme.base0A, nil, nil, nil) + highlight("Todo", theme.base0A, theme.base01, nil, nil) + highlight("Type", theme.base0A, nil, "none", nil) + highlight("Typedef", theme.base0A, nil, nil, nil) - -- Standard syntax highlighting - highlight("Boolean", theme.base09, nil, nil, nil) - highlight("Character", theme.base08, nil, nil, nil) - highlight("Comment", theme.base03, nil, nil, nil) - highlight("Conditional", theme.base0E, nil, nil, nil) - highlight("Constant", theme.base09, nil, nil, nil) - highlight("Define", theme.base0E, nil, "none", nil) - highlight("Delimiter", theme.base0F, nil, nil, nil) - highlight("Float", theme.base09, nil, nil, nil) - highlight("Function", theme.base0D, nil, nil, nil) - highlight("Identifier", theme.base08, nil, "none", nil) - highlight("Include", theme.base0D, nil, nil, nil) - highlight("Keyword", theme.base0E, nil, nil, nil) - highlight("Label", theme.base0A, nil, nil, nil) - highlight("Number", theme.base09, nil, nil, nil) - highlight("Operator", theme.base05, nil, "none", nil) - highlight("PreProc", theme.base0A, nil, nil, nil) - highlight("Repeat", theme.base0A, nil, nil, nil) - highlight("Special", theme.base0C, nil, nil, nil) - highlight("SpecialChar", theme.base0F, nil, nil, nil) - highlight("Statement", theme.base08, nil, nil, nil) - highlight("StorageClass", theme.base0A, nil, nil, nil) - highlight("String", theme.base0B, nil, nil, nil) - highlight("Structure", theme.base0E, nil, nil, nil) - highlight("Tag", theme.base0A, nil, nil, nil) - highlight("Todo", theme.base0A, theme.base01, nil, nil) - highlight("Type", theme.base0A, nil, "none", nil) - highlight("Typedef", theme.base0A, nil, nil, nil) + --- + -- Extra definitions + --- - --- - -- Extra definitions - --- + -- C highlighting + highlight("cOperator", theme.base0C, nil, nil, nil) + highlight("cPreCondit", theme.base0E, nil, nil, nil) - -- C highlighting - highlight("cOperator", theme.base0C, nil, nil, nil) - highlight("cPreCondit", theme.base0E, nil, nil, nil) + -- C# highlighting + highlight("csClass", theme.base0A, nil, nil, nil) + highlight("csAttribute", theme.base0A, nil, nil, nil) + highlight("csModifier", theme.base0E, nil, nil, nil) + highlight("csType", theme.base08, nil, nil, nil) + highlight("csUnspecifiedStatement", theme.base0D, nil, nil, nil) + highlight("csContextualStatement", theme.base0E, nil, nil, nil) + highlight("csNewDecleration", theme.base08, nil, nil, nil) - -- C# highlighting - highlight("csClass", theme.base0A, nil, nil, nil) - highlight("csAttribute", theme.base0A, nil, nil, nil) - highlight("csModifier", theme.base0E, nil, nil, nil) - highlight("csType", theme.base08, nil, nil, nil) - highlight("csUnspecifiedStatement", theme.base0D, nil, nil, nil) - highlight("csContextualStatement", theme.base0E, nil, nil, nil) - highlight("csNewDecleration", theme.base08, nil, nil, nil) + -- CSS highlighting + highlight("cssBraces", theme.base05, nil, nil, nil) + highlight("cssClassName", theme.base0E, nil, nil, nil) + highlight("cssColor", theme.base0C, nil, nil, nil) - -- CSS highlighting - highlight("cssBraces", theme.base05, nil, nil, nil) - highlight("cssClassName", theme.base0E, nil, nil, nil) - highlight("cssColor", theme.base0C, nil, nil, nil) + -- Diff highlighting + highlight("DiffAdd", theme.base0B, theme.base01, nil, nil) + highlight("DiffChange", theme.base03, theme.base01, nil, nil) + highlight("DiffDelete", theme.base08, theme.base01, nil, nil) + highlight("DiffText", theme.base0D, theme.base01, nil, nil) + highlight("DiffAdded", theme.base0B, theme.base00, nil, nil) + highlight("DiffFile", theme.base08, theme.base00, nil, nil) + highlight("DiffNewFile", theme.base0B, theme.base00, nil, nil) + highlight("DiffLine", theme.base0D, theme.base00, nil, nil) + highlight("DiffRemoved", theme.base08, theme.base00, nil, nil) - -- Diff highlighting - highlight("DiffAdd", theme.base0B, theme.base01, nil, nil) - highlight("DiffChange", theme.base03, theme.base01, nil, nil) - highlight("DiffDelete", theme.base08, theme.base01, nil, nil) - highlight("DiffText", theme.base0D, theme.base01, nil, nil) - highlight("DiffAdded", theme.base0B, theme.base00, nil, nil) - highlight("DiffFile", theme.base08, theme.base00, nil, nil) - highlight("DiffNewFile", theme.base0B, theme.base00, nil, nil) - highlight("DiffLine", theme.base0D, theme.base00, nil, nil) - highlight("DiffRemoved", theme.base08, theme.base00, nil, nil) + -- Git highlighting + highlight("gitcommitOverflow", theme.base08, nil, nil, nil) + highlight("gitcommitSummary", theme.base0B, nil, nil, nil) + highlight("gitcommitComment", theme.base03, nil, nil, nil) + highlight("gitcommitUntracked", theme.base03, nil, nil, nil) + highlight("gitcommitDiscarded", theme.base03, nil, nil, nil) + highlight("gitcommitSelected", theme.base03, nil, nil, nil) + highlight("gitcommitHeader", theme.base0E, nil, nil, nil) + highlight("gitcommitSelectedType", theme.base0D, nil, nil, nil) + highlight("gitcommitUnmergedType", theme.base0D, nil, nil, nil) + highlight("gitcommitDiscardedType", theme.base0D, nil, nil, nil) + highlight("gitcommitBranch", theme.base09, nil, "bold", nil) + highlight("gitcommitUntrackedFile", theme.base0A, nil, nil, nil) + highlight("gitcommitUnmergedFile", theme.base08, nil, "bold", nil) + highlight("gitcommitDiscardedFile", theme.base08, nil, "bold", nil) + highlight("gitcommitSelectedFile", theme.base0B, nil, "bold", nil) - -- Git highlighting - highlight("gitcommitOverflow", theme.base08, nil, nil, nil) - highlight("gitcommitSummary", theme.base0B, nil, nil, nil) - highlight("gitcommitComment", theme.base03, nil, nil, nil) - highlight("gitcommitUntracked", theme.base03, nil, nil, nil) - highlight("gitcommitDiscarded", theme.base03, nil, nil, nil) - highlight("gitcommitSelected", theme.base03, nil, nil, nil) - highlight("gitcommitHeader", theme.base0E, nil, nil, nil) - highlight("gitcommitSelectedType", theme.base0D, nil, nil, nil) - highlight("gitcommitUnmergedType", theme.base0D, nil, nil, nil) - highlight("gitcommitDiscardedType", theme.base0D, nil, nil, nil) - highlight("gitcommitBranch", theme.base09, nil, "bold", nil) - highlight("gitcommitUntrackedFile", theme.base0A, nil, nil, nil) - highlight("gitcommitUnmergedFile", theme.base08, nil, "bold", nil) - highlight("gitcommitDiscardedFile", theme.base08, nil, "bold", nil) - highlight("gitcommitSelectedFile", theme.base0B, nil, "bold", nil) + -- HTML highlighting + highlight("htmlBold", theme.base0A, nil, nil, nil) + highlight("htmlItalic", theme.base0E, nil, nil, nil) + highlight("htmlEndTag", theme.base05, nil, nil, nil) + highlight("htmlTag", theme.base05, nil, nil, nil) - -- HTML highlighting - highlight("htmlBold", theme.base0A, nil, nil, nil) - highlight("htmlItalic", theme.base0E, nil, nil, nil) - highlight("htmlEndTag", theme.base05, nil, nil, nil) - highlight("htmlTag", theme.base05, nil, nil, nil) + -- JavaScript highlighting + highlight("javaScript", theme.base05, nil, nil, nil) + highlight("javaScriptBraces", theme.base05, nil, nil, nil) + highlight("javaScriptNumber", theme.base09, nil, nil, nil) + -- pangloss/vim-javascript highlighting + highlight("jsOperator", theme.base0D, nil, nil, nil) + highlight("jsStatement", theme.base0E, nil, nil, nil) + highlight("jsReturn", theme.base0E, nil, nil, nil) + highlight("jsThis", theme.base08, nil, nil, nil) + highlight("jsClassDefinition", theme.base0A, nil, nil, nil) + highlight("jsFunction", theme.base0E, nil, nil, nil) + highlight("jsFuncName", theme.base0D, nil, nil, nil) + highlight("jsFuncCall", theme.base0D, nil, nil, nil) + highlight("jsClassFuncName", theme.base0D, nil, nil, nil) + highlight("jsClassMethodType", theme.base0E, nil, nil, nil) + highlight("jsRegexpString", theme.base0C, nil, nil, nil) + highlight("jsGlobalObjects", theme.base0A, nil, nil, nil) + highlight("jsGlobalNodeObjects", theme.base0A, nil, nil, nil) + highlight("jsExceptions", theme.base0A, nil, nil, nil) + highlight("jsBuiltins", theme.base0A, nil, nil, nil) - -- JavaScript highlighting - highlight("javaScript", theme.base05, nil, nil, nil) - highlight("javaScriptBraces", theme.base05, nil, nil, nil) - highlight("javaScriptNumber", theme.base09, nil, nil, nil) - -- pangloss/vim-javascript highlighting - highlight("jsOperator", theme.base0D, nil, nil, nil) - highlight("jsStatement", theme.base0E, nil, nil, nil) - highlight("jsReturn", theme.base0E, nil, nil, nil) - highlight("jsThis", theme.base08, nil, nil, nil) - highlight("jsClassDefinition", theme.base0A, nil, nil, nil) - highlight("jsFunction", theme.base0E, nil, nil, nil) - highlight("jsFuncName", theme.base0D, nil, nil, nil) - highlight("jsFuncCall", theme.base0D, nil, nil, nil) - highlight("jsClassFuncName", theme.base0D, nil, nil, nil) - highlight("jsClassMethodType", theme.base0E, nil, nil, nil) - highlight("jsRegexpString", theme.base0C, nil, nil, nil) - highlight("jsGlobalObjects", theme.base0A, nil, nil, nil) - highlight("jsGlobalNodeObjects", theme.base0A, nil, nil, nil) - highlight("jsExceptions", theme.base0A, nil, nil, nil) - highlight("jsBuiltins", theme.base0A, nil, nil, nil) + -- Mail highlighting + highlight("mailQuoted1", theme.base0A, nil, nil, nil) + highlight("mailQuoted2", theme.base0B, nil, nil, nil) + highlight("mailQuoted3", theme.base0E, nil, nil, nil) + highlight("mailQuoted4", theme.base0C, nil, nil, nil) + highlight("mailQuoted5", theme.base0D, nil, nil, nil) + highlight("mailQuoted6", theme.base0A, nil, nil, nil) + highlight("mailURL", theme.base0D, nil, nil, nil) + highlight("mailEmail", theme.base0D, nil, nil, nil) - -- Mail highlighting - highlight("mailQuoted1", theme.base0A, nil, nil, nil) - highlight("mailQuoted2", theme.base0B, nil, nil, nil) - highlight("mailQuoted3", theme.base0E, nil, nil, nil) - highlight("mailQuoted4", theme.base0C, nil, nil, nil) - highlight("mailQuoted5", theme.base0D, nil, nil, nil) - highlight("mailQuoted6", theme.base0A, nil, nil, nil) - highlight("mailURL", theme.base0D, nil, nil, nil) - highlight("mailEmail", theme.base0D, nil, nil, nil) + -- Markdown highlighting + highlight("markdownCode", theme.base0B, nil, nil, nil) + highlight("markdownError", theme.base05, theme.base00, nil, nil) + highlight("markdownCodeBlock", theme.base0B, nil, nil, nil) + highlight("markdownHeadingDelimiter", theme.base0D, nil, nil, nil) - -- Markdown highlighting - highlight("markdownCode", theme.base0B, nil, nil, nil) - highlight("markdownError", theme.base05, theme.base00, nil, nil) - highlight("markdownCodeBlock", theme.base0B, nil, nil, nil) - highlight("markdownHeadingDelimiter", theme.base0D, nil, nil, nil) + -- PHP highlighting + highlight("phpMemberSelector", theme.base05, nil, nil, nil) + highlight("phpComparison", theme.base05, nil, nil, nil) + highlight("phpParent", theme.base05, nil, nil, nil) + highlight("phpMethodsVar", theme.base0C, nil, nil, nil) - -- PHP highlighting - highlight("phpMemberSelector", theme.base05, nil, nil, nil) - highlight("phpComparison", theme.base05, nil, nil, nil) - highlight("phpParent", theme.base05, nil, nil, nil) - highlight("phpMethodsVar", theme.base0C, nil, nil, nil) + -- Python highlighting + highlight("pythonOperator", theme.base0E, nil, nil, nil) + highlight("pythonRepeat", theme.base0E, nil, nil, nil) + highlight("pythonInclude", theme.base0E, nil, nil, nil) + highlight("pythonStatement", theme.base0E, nil, nil, nil) - -- Python highlighting - highlight("pythonOperator", theme.base0E, nil, nil, nil) - highlight("pythonRepeat", theme.base0E, nil, nil, nil) - highlight("pythonInclude", theme.base0E, nil, nil, nil) - highlight("pythonStatement", theme.base0E, nil, nil, nil) + -- Ruby highlighting + highlight("rubyAttribute", theme.base0D, nil, nil, nil) + highlight("rubyConstant", theme.base0A, nil, nil, nil) + highlight("rubyInterpolationDelimiter", theme.base0F, nil, nil, nil) + highlight("rubyRegexp", theme.base0C, nil, nil, nil) + highlight("rubySymbol", theme.base0B, nil, nil, nil) + highlight("rubyStringDelimiter", theme.base0B, nil, nil, nil) - -- Ruby highlighting - highlight("rubyAttribute", theme.base0D, nil, nil, nil) - highlight("rubyConstant", theme.base0A, nil, nil, nil) - highlight("rubyInterpolationDelimiter", theme.base0F, nil, nil, nil) - highlight("rubyRegexp", theme.base0C, nil, nil, nil) - highlight("rubySymbol", theme.base0B, nil, nil, nil) - highlight("rubyStringDelimiter", theme.base0B, nil, nil, nil) + -- SASS highlighting + highlight("sassidChar", theme.base08, nil, nil, nil) + highlight("sassClassChar", theme.base09, nil, nil, nil) + highlight("sassInclude", theme.base0E, nil, nil, nil) + highlight("sassMixing", theme.base0E, nil, nil, nil) + highlight("sassMixinName", theme.base0D, nil, nil, nil) - -- SASS highlighting - highlight("sassidChar", theme.base08, nil, nil, nil) - highlight("sassClassChar", theme.base09, nil, nil, nil) - highlight("sassInclude", theme.base0E, nil, nil, nil) - highlight("sassMixing", theme.base0E, nil, nil, nil) - highlight("sassMixinName", theme.base0D, nil, nil, nil) + -- Spelling highlighting + highlight("SpellBad", nil, nil, "undercurl", theme.base08) + highlight("SpellLocal", nil, nil, "undercurl", theme.base0C) + highlight("SpellCap", nil, nil, "undercurl", theme.base0D) + highlight("SpellRare", nil, nil, "undercurl", theme.base0E) - -- Spelling highlighting - highlight("SpellBad", nil, nil, "undercurl", theme.base08) - highlight("SpellLocal", nil, nil, "undercurl", theme.base0C) - highlight("SpellCap", nil, nil, "undercurl", theme.base0D) - highlight("SpellRare", nil, nil, "undercurl", theme.base0E) + -- Java highlighting + highlight("javaOperator", theme.base0D, nil, nil, nil) - -- Java highlighting - highlight("javaOperator", theme.base0D, nil, nil, nil) + -- LspDiagnostic base highlight group + highlight("LspDiagnosticsDefaultError", theme.base08, nil, nil, nil) + highlight("LspDiagnosticsDefaultWarning", theme.base0A, nil, nil, nil) + highlight("LspDiagnosticsDefaultInformation", theme.base0D, nil, nil, nil) + highlight("LspDiagnosticsDefaultHint", theme.base0C, nil, nil, nil) - -- LspDiagnostic base highlight group - highlight("LspDiagnosticsDefaultError", theme.base08, nil, nil, nil) - highlight("LspDiagnosticsDefaultWarning", theme.base0A, nil, nil, nil) - highlight("LspDiagnosticsDefaultInformation", theme.base0D, nil, nil, nil) - highlight("LspDiagnosticsDefaultHint", theme.base0C, nil, nil, nil) - - -- TODO - -- nvim.command 'syntax on' + -- TODO + -- nvim.command 'syntax on' end return setmetatable({ - themes = function(name) - name = "themes/" .. name .. "-base16" - local present, theme_array = pcall(require, name) - if present then - return theme_array - else - error("No such base16 theme: " .. name) - end - end, - apply_theme = apply_base16_theme, - theme_from_array = function(array) - assert(#array == 16, "base16.theme_from_array: The array length must be 16") - local result = {} - for i, value in ipairs(array) do - assert(#value == 6, "base16.theme_from_array: array values must be in 6 digit hex format, e.g. 'ffffff'") - local key = ("base%02X"):format(i - 1) - result[key] = value - end - return result - end + themes = function(name) + name = "themes/" .. name .. "-base16" + local present, theme_array = pcall(require, name) + if present then + return theme_array + else + error("No such base16 theme: " .. name) + end + end, + apply_theme = apply_base16_theme, + theme_from_array = function(array) + assert(#array == 16, "base16.theme_from_array: The array length must be 16") + local result = {} + for i, value in ipairs(array) do + assert(#value == 6, "base16.theme_from_array: array values must be in 6 digit hex format, e.g. 'ffffff'") + local key = ("base%02X"):format(i - 1) + result[key] = value + end + return result + end, }, { - __call = function (_, ...) - apply_base16_theme(...) - end, + __call = function(_, ...) + apply_base16_theme(...) + end, })