diff --git a/lua/tokyodark/config.lua b/lua/tokyodark/config.lua index 0f837d8..3811c53 100644 --- a/lua/tokyodark/config.lua +++ b/lua/tokyodark/config.lua @@ -1,6 +1,8 @@ local function get(setting, default) local key = "tokyodark_" .. setting - if vim.g[key] == nil then return default end + if vim.g[key] == nil then + return default + end return vim.g[key] end @@ -8,7 +10,7 @@ local config = { bg = get("transparent_background", false), italic = get("enable_italic", true), italic_comment = get("enable_italic_comment", true), - gamma = get("color_gamma", "1.0") + gamma = get("color_gamma", "1.0"), } return config diff --git a/lua/tokyodark/highlights.lua b/lua/tokyodark/highlights.lua index 415768b..641e734 100644 --- a/lua/tokyodark/highlights.lua +++ b/lua/tokyodark/highlights.lua @@ -1,9 +1,9 @@ -local p = require('tokyodark.palette') -local cfg = require('tokyodark.config') -local u = require('tokyodark.utils') +local p = require("tokyodark.palette") +local cfg = require("tokyodark.config") +local u = require("tokyodark.utils") local M = {} -local hl = {langs = {}, plugins = {}} +local hl = { langs = {}, plugins = {} } local highlight = vim.api.nvim_set_hl local set_hl_ns = vim.api.nvim__set_hl_ns or vim.api.nvim_set_hl_ns @@ -16,79 +16,79 @@ local function load_highlights(highlights) end hl.predef = { - Fg = {fg = p.fg}, - Grey = {fg = p.grey}, - 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 = cfg.italic}, - GreenItalic = {fg = p.green, italic = cfg.italic}, - OrangeItalic = {fg = p.orange, italic = cfg.italic}, - RedItalic = {fg = p.red, italic = cfg.italic}, - YellowItalic = {fg = p.yellow, italic = cfg.italic} + Fg = { fg = p.fg }, + Grey = { fg = p.grey }, + 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 = cfg.italic }, + GreenItalic = { fg = p.green, italic = cfg.italic }, + OrangeItalic = { fg = p.orange, italic = cfg.italic }, + RedItalic = { fg = p.red, italic = cfg.italic }, + YellowItalic = { fg = p.yellow, italic = cfg.italic }, } hl.common = { - Normal = {fg = p.fg, bg = cfg.bg and p.none or p.bg0}, - Terminal = {fg = p.fg, bg = cfg.bg and p.none or p.bg0}, - EndOfBuffer = {fg = p.bg2, bg = cfg.bg and p.none or p.bg0}, - FoldColumn = {fg = p.fg, bg = cfg.bg and p.none or p.bg1}, - Folded = {fg = p.fg, bg = cfg.bg and p.none or p.bg1}, - SignColumn = {fg = p.fg, bg = cfg.bg 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}, - LineNr = {fg = p.bg4}, - Conceal = {fg = p.grey, bg = p.bg1}, - DiffAdd = {fg = p.none, bg = p.diff_add}, - DiffChange = {fg = p.none, bg = p.diff_change}, - DiffDelete = {fg = p.none, bg = p.diff_delete}, - DiffText = {fg = p.none, reverse = true}, - Directory = {fg = p.green}, - ErrorMsg = {fg = p.red, bold = true, underline = true}, - WarningMsg = {fg = p.yellow, bold = true}, - MoreMsg = {fg = p.blue, 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.bg_green}, - WildMenu = {fg = p.bg0, bg = p.blue}, - PmenuThumb = {fg = p.none, bg = p.grey}, - Question = {fg = p.yellow}, - SpellBad = {fg = p.red, underline = true, sp = p.red}, - SpellCap = {fg = p.yellow, underline = true, sp = p.yellow}, - SpellLocal = {fg = p.blue, underline = true, sp = p.blue}, - SpellRare = {fg = p.purple, underline = true, sp = p.purple}, - StatusLine = {fg = p.fg, bg = p.bg2}, - StatusLineTerm = {fg = p.fg, bg = p.bg2}, - 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.bg5}, - Visual = {bg = p.bg1}, - VisualNOS = {fg = p.none, bg = p.bg2, underline = true}, - QuickFixLine = {fg = p.blue, underline = true}, - Debug = {fg = p.yellow}, - debugPC = {fg = p.bg0, bg = p.green}, - debugBreakpoint = {fg = p.bg0, bg = p.red}, - ToolbarButton = {fg = p.bg0, bg = p.bg_blue} + Normal = { fg = p.fg, bg = cfg.bg and p.none or p.bg0 }, + Terminal = { fg = p.fg, bg = cfg.bg and p.none or p.bg0 }, + EndOfBuffer = { fg = p.bg2, bg = cfg.bg and p.none or p.bg0 }, + FoldColumn = { fg = p.fg, bg = cfg.bg and p.none or p.bg1 }, + Folded = { fg = p.fg, bg = cfg.bg and p.none or p.bg1 }, + SignColumn = { fg = p.fg, bg = cfg.bg 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 }, + LineNr = { fg = p.bg4 }, + Conceal = { fg = p.grey, bg = p.bg1 }, + DiffAdd = { fg = p.none, bg = p.diff_add }, + DiffChange = { fg = p.none, bg = p.diff_change }, + DiffDelete = { fg = p.none, bg = p.diff_delete }, + DiffText = { fg = p.none, reverse = true }, + Directory = { fg = p.green }, + ErrorMsg = { fg = p.red, bold = true, underline = true }, + WarningMsg = { fg = p.yellow, bold = true }, + MoreMsg = { fg = p.blue, 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.bg_green }, + WildMenu = { fg = p.bg0, bg = p.blue }, + PmenuThumb = { fg = p.none, bg = p.grey }, + Question = { fg = p.yellow }, + SpellBad = { fg = p.red, underline = true, sp = p.red }, + SpellCap = { fg = p.yellow, underline = true, sp = p.yellow }, + SpellLocal = { fg = p.blue, underline = true, sp = p.blue }, + SpellRare = { fg = p.purple, underline = true, sp = p.purple }, + StatusLine = { fg = p.fg, bg = p.bg2 }, + StatusLineTerm = { fg = p.fg, bg = p.bg2 }, + 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.bg5 }, + Visual = { bg = p.bg1 }, + VisualNOS = { fg = p.none, bg = p.bg2, underline = true }, + QuickFixLine = { fg = p.blue, underline = true }, + Debug = { fg = p.yellow }, + debugPC = { fg = p.bg0, bg = p.green }, + debugBreakpoint = { fg = p.bg0, bg = p.red }, + ToolbarButton = { fg = p.bg0, bg = p.bg_blue }, } hl.syntax = { @@ -122,9 +122,9 @@ hl.syntax = { Title = hl.predef.Yellow, Tag = hl.predef.Orange, Delimiter = hl.predef.Fg, - Comment = {fg = p.bg4, italic = cfg.italic_comment}, - SpecialComment = {fg = p.bg4, italic = cfg.italic_comment}, - Todo = {fg = p.blue, italic = cfg.italic_comment} + Comment = { fg = p.bg4, italic = cfg.italic_comment }, + SpecialComment = { fg = p.bg4, italic = cfg.italic_comment }, + Todo = { fg = p.blue, italic = cfg.italic_comment }, } hl.plugins.lsp = { @@ -133,32 +133,32 @@ hl.plugins.lsp = { LspCxxHlGroupNamespace = hl.predef.Blue, LspCxxHlSkippedRegion = hl.predef.Grey, LspCxxHlSkippedRegionBeginEnd = hl.predef.Red, - LspDiagnosticsDefaultError = {fg = u.color_gamma(p.red, 0.5)}, - LspDiagnosticsDefaultHint = {fg = u.color_gamma(p.purple, 0.5)}, - LspDiagnosticsDefaultInformation = {fg = u.color_gamma(p.blue, 0.5)}, - LspDiagnosticsDefaultWarning = {fg = u.color_gamma(p.yellow, 0.5)}, - LspDiagnosticsUnderlineError = {underline = true, sp = u.color_gamma(p.red, 0.5)}, - LspDiagnosticsUnderlineHint = {underline = true, sp = u.color_gamma(p.purple, 0.5)}, - LspDiagnosticsUnderlineInformation = {underline = true, sp = u.color_gamma(p.blue, 0.5)}, - LspDiagnosticsUnderlineWarning = {underline = true, sp = u.color_gamma(p.yellow, 0.5)} + LspDiagnosticsDefaultError = { fg = u.color_gamma(p.red, 0.5) }, + LspDiagnosticsDefaultHint = { fg = u.color_gamma(p.purple, 0.5) }, + LspDiagnosticsDefaultInformation = { fg = u.color_gamma(p.blue, 0.5) }, + LspDiagnosticsDefaultWarning = { fg = u.color_gamma(p.yellow, 0.5) }, + LspDiagnosticsUnderlineError = { underline = true, sp = u.color_gamma(p.red, 0.5) }, + LspDiagnosticsUnderlineHint = { underline = true, sp = u.color_gamma(p.purple, 0.5) }, + LspDiagnosticsUnderlineInformation = { underline = true, sp = u.color_gamma(p.blue, 0.5) }, + LspDiagnosticsUnderlineWarning = { underline = true, sp = u.color_gamma(p.yellow, 0.5) }, } hl.plugins.whichkey = { WhichKey = hl.predef.Red, WhichKeyDesc = hl.predef.Blue, WhichKeyGroup = hl.predef.Orange, - WhichKeySeperator = hl.predef.Green + WhichKeySeperator = hl.predef.Green, } hl.plugins.gitgutter = { - GitGutterAdd = {fg = p.diff_green}, - GitGutterChange = {fg = p.diff_blue}, - GitGutterDelete = {fg = p.diff_red} + GitGutterAdd = { fg = p.diff_green }, + GitGutterChange = { fg = p.diff_blue }, + GitGutterDelete = { fg = p.diff_red }, } hl.plugins.diffview = { - DiffviewFilePanelTitle = {fg = p.blue, bold = true}, - DiffviewFilePanelCounter = {fg = p.purple, bold = true}, + DiffviewFilePanelTitle = { fg = p.blue, bold = true }, + DiffviewFilePanelCounter = { fg = p.purple, bold = true }, DiffviewFilePanelFileName = hl.predef.Fg, DiffviewNormal = hl.common.Normal, DiffviewCursorLine = hl.common.CursorLine, @@ -180,13 +180,13 @@ hl.plugins.diffview = { DiffviewStatusUnmerged = hl.predef.Blue, DiffviewStatusUnknown = hl.predef.Red, DiffviewStatusDeleted = hl.predef.Red, - DiffviewStatusBroken = hl.predef.Red + DiffviewStatusBroken = hl.predef.Red, } hl.plugins.treesitter = { commentTSDanger = hl.predef.RedItalic, commentTSNote = hl.predef.BlueItalic, - commentTSWarning = hl.predef.YellowItalic + commentTSWarning = hl.predef.YellowItalic, } hl.plugins.gitsigns = { @@ -198,37 +198,37 @@ hl.plugins.gitsigns = { GitSignsChangeNr = hl.predef.Blue, GitSignsDelete = hl.predef.Red, GitSignsDeleteLn = hl.predef.Red, - GitSignsDeleteNr = hl.predef.Red + GitSignsDeleteNr = hl.predef.Red, } hl.langs.markdown = { markdownBlockquote = hl.predef.Grey, - markdownBold = {fg = p.none, bold = true}, + markdownBold = { fg = p.none, bold = true }, markdownBoldDelimiter = hl.predef.Grey, markdownCode = hl.predef.Yellow, markdownCodeBlock = hl.predef.Yellow, markdownCodeDelimiter = hl.predef.Green, - markdownH1 = {fg = p.red, bold = true}, - markdownH2 = {fg = p.red, bold = true}, - markdownH3 = {fg = p.red, bold = true}, - markdownH4 = {fg = p.red, bold = true}, - markdownH5 = {fg = p.red, bold = true}, - markdownH6 = {fg = p.red, bold = true}, + markdownH1 = { fg = p.red, bold = true }, + markdownH2 = { fg = p.red, bold = true }, + markdownH3 = { fg = p.red, bold = true }, + markdownH4 = { fg = p.red, bold = true }, + markdownH5 = { fg = p.red, bold = true }, + markdownH6 = { fg = p.red, bold = true }, markdownHeadingDelimiter = hl.predef.Grey, markdownHeadingRule = hl.predef.Grey, markdownId = hl.predef.Yellow, markdownIdDeclaration = hl.predef.Red, - markdownItalic = {fg = p.none, italic = true}, - markdownItalicDelimiter = {fg = p.grey, italic = true}, + markdownItalic = { fg = p.none, italic = true }, + markdownItalicDelimiter = { fg = p.grey, italic = true }, markdownLinkDelimiter = hl.predef.Grey, markdownLinkText = hl.predef.Red, markdownLinkTextDelimiter = hl.predef.Grey, markdownListMarker = hl.predef.Red, markdownOrderedListMarker = hl.predef.Red, markdownRule = hl.predef.Purple, - markdownUrl = {fg = p.blue, underline = true}, + markdownUrl = { fg = p.blue, underline = true }, markdownUrlDelimiter = hl.predef.Grey, - markdownUrlTitleDelimiter = hl.predef.Green + markdownUrlTitleDelimiter = hl.predef.Green, } hl.langs.scala = { @@ -237,7 +237,7 @@ hl.langs.scala = { scalaInterpolation = hl.predef.Purple, scalaTypeOperator = hl.predef.Red, scalaOperator = hl.predef.Red, - scalaKeywordModifier = hl.predef.Red + scalaKeywordModifier = hl.predef.Red, } function M.clear_namespace() @@ -249,15 +249,23 @@ local function load_sync() load_highlights(hl.predef) load_highlights(hl.common) load_highlights(hl.syntax) - for _, group in pairs(hl.langs) do load_highlights(group) end - for _, group in pairs(hl.plugins) do load_highlights(group) end + for _, group in pairs(hl.langs) do + load_highlights(group) + end + for _, group in pairs(hl.plugins) do + load_highlights(group) + end set_hl_ns(ns) end local load_async load_async = vim.loop.new_async(vim.schedule_wrap(function() - for _, group in pairs(hl.langs) do load_highlights(group) end - for _, group in pairs(hl.plugins) do load_highlights(group) end + for _, group in pairs(hl.langs) do + load_highlights(group) + end + for _, group in pairs(hl.plugins) do + load_highlights(group) + end set_hl_ns(ns) load_async:close() end)) @@ -268,4 +276,3 @@ function M.setup() end return M - diff --git a/lua/tokyodark/init.lua b/lua/tokyodark/init.lua index 625f33c..d5fdcb2 100644 --- a/lua/tokyodark/init.lua +++ b/lua/tokyodark/init.lua @@ -1,18 +1,20 @@ -local highlights = require('tokyodark.highlights') -local terminal = require('tokyodark.terminal') +local highlights = require("tokyodark.highlights") +local terminal = require("tokyodark.terminal") local M = {} function M.colorscheme() vim.cmd("hi clear") - if vim.fn.exists("syntax_on") then vim.cmd("syntax reset") end + if vim.fn.exists("syntax_on") then + vim.cmd("syntax reset") + end vim.o.background = "dark" vim.o.termguicolors = true vim.g.colors_name = "tokyodark" highlights.setup() terminal.setup() - vim.cmd [[au ColorSchemePre * lua require("tokyodark.highlights").clear_namespace()]] + vim.cmd([[au ColorSchemePre * lua require("tokyodark.highlights").clear_namespace()]]) end return M diff --git a/lua/tokyodark/palette.lua b/lua/tokyodark/palette.lua index a1242ce..59e3a75 100644 --- a/lua/tokyodark/palette.lua +++ b/lua/tokyodark/palette.lua @@ -1,37 +1,39 @@ -local color_gamma = require('tokyodark.utils').color_gamma -local gamma = require('tokyodark.config').gamma +local color_gamma = require("tokyodark.utils").color_gamma +local gamma = require("tokyodark.config").gamma local colors = { - black = '#06080A', - bg0 = '#11121D', - bg1 = '#1A1B2A', - bg2 = '#212234', - bg3 = '#392B41', - bg4 = '#4A5057', - bg5 = '#282c34', - bg_red = '#FE6D85', - bg_green = '#98C379', - bg_blue = '#9FBBF3', - diff_red = '#773440', - diff_green = '#587738', - diff_blue = '#354A77', - diff_add = '#1E2326', - diff_change = '#262b3d', - diff_delete = '#281B27', - fg = '#A0A8CD', - red = '#EE6D85', - orange = '#F6955B', - yellow = '#D7A65F', - green = '#95C561', - blue = '#7199EE', - cyan = '#38A89D', - purple = '#A485DD', - grey = '#4A5057', - none = 'NONE' + black = "#06080A", + bg0 = "#11121D", + bg1 = "#1A1B2A", + bg2 = "#212234", + bg3 = "#392B41", + bg4 = "#4A5057", + bg5 = "#282c34", + bg_red = "#FE6D85", + bg_green = "#98C379", + bg_blue = "#9FBBF3", + diff_red = "#773440", + diff_green = "#587738", + diff_blue = "#354A77", + diff_add = "#1E2326", + diff_change = "#262b3d", + diff_delete = "#281B27", + fg = "#A0A8CD", + red = "#EE6D85", + orange = "#F6955B", + yellow = "#D7A65F", + green = "#95C561", + blue = "#7199EE", + cyan = "#38A89D", + purple = "#A485DD", + grey = "#4A5057", + none = "NONE", } local function gamma_correction(colors) local colors_corrected = {} - for k, v in pairs(colors) do colors_corrected[k] = color_gamma(v, gamma) end + for k, v in pairs(colors) do + colors_corrected[k] = color_gamma(v, gamma) + end return colors_corrected end diff --git a/lua/tokyodark/utils.lua b/lua/tokyodark/utils.lua index d7d5925..c2a0e4f 100644 --- a/lua/tokyodark/utils.lua +++ b/lua/tokyodark/utils.lua @@ -1,13 +1,15 @@ local U = {} function U.tprint(tbl, indent) - if not indent then indent = 0 end + if not indent then + indent = 0 + end for k, v in pairs(tbl) do local formatting = string.rep(" ", indent) .. k .. ": " if type(v) == "table" then print(formatting) U.tprint(v, indent + 1) - elseif type(v) == 'boolean' then + elseif type(v) == "boolean" then print(formatting .. tostring(v)) else print(formatting .. v) @@ -17,8 +19,7 @@ end function U.hex2rgb(hex) hex = hex:gsub("#", "") - return tonumber("0x" .. hex:sub(1, 2)), tonumber("0x" .. hex:sub(3, 4)), - tonumber("0x" .. hex:sub(5, 6)) + return tonumber("0x" .. hex:sub(1, 2)), tonumber("0x" .. hex:sub(3, 4)), tonumber("0x" .. hex:sub(5, 6)) end function U.gamma_corrector(value, gamma) @@ -27,7 +28,7 @@ function U.gamma_corrector(value, gamma) end function U.color_gamma(hex, gamma) - if hex:find('#') == nil then + if hex:find("#") == nil then return hex end local r, g, b = U.hex2rgb(hex)