all repos — dotfiles @ e0d420bc317685f63d129fb25ef02dd44d52259d

my *nix dotfiles

nvim: wip lua colorscheme
Anirudh Oppiliappan x@icyphox.sh
Thu, 30 May 2024 22:31:38 +0300
commit

e0d420bc317685f63d129fb25ef02dd44d52259d

parent

c0e7b833b788738c642687748122d1bfc3d34229

3 files changed, 764 insertions(+), 1 deletions(-)

jump to
A nvim/colors/grey.lua

@@ -0,0 +1,446 @@

+local o = vim.o +local g = vim.g +local api = vim.api + +vim.cmd('hi clear') + +if g.syntax_on == 1 then + vim.cmd('syntax reset') +end + +o.background = 'light' +g.colors_name = 'grey' + +local background = '#f4f4f4' +local grey_bg_light = '#E5E5E5' +local black = '#222222' +local blue = '#008EC4' +local green = '#10A778' +local light_green = '#5FD7A7' +local light_red = '#E32791' +local red = '#C30771' +local grey = '#767676' +local light_grey = '#CCCCCC' +local border = '#999999' +local highlight = '#424242' +local dark_yellow = '#A89C14' +local yellow = '#F3E430' +local light_yellow = '#F1F1F1' +local orange = '#D75F5F' +local purple = '#523C79' +local white = '#FFFFFF' +local cyan = '#20A5BA' + +g.terminal_color_0 = black +g.terminal_color_1 = red +g.terminal_color_2 = green +g.terminal_color_3 = dark_yellow +g.terminal_color_4 = blue +g.terminal_color_5 = purple +g.terminal_color_6 = cyan +g.terminal_color_7 = grey + +g.terminal_color_8 = black +g.terminal_color_9 = red +g.terminal_color_10 = green +g.terminal_color_11 = dark_yellow +g.terminal_color_12 = blue +g.terminal_color_13 = purple +g.terminal_color_14 = cyan +g.terminal_color_15 = grey + +local highlights = { + -- This highlight group can be used when one wants to disable a highlight + -- group using `winhl` + Disabled = {}, + -- These highlight groups can be used for statuslines, for example when + -- displaying ALE warnings and errors. + BlackOnLightYellow = { fg = black, bg = light_yellow }, + LightRedBackground = { bg = light_red }, + WhiteOnBlue = { fg = white, bg = blue }, + WhiteOnOrange = { fg = white, bg = orange }, + WhiteOnRed = { fg = white, bg = red }, + WhiteOnYellow = { fg = white, bg = dark_yellow }, + Yellow = { fg = dark_yellow, bold = true }, + Bold = { fg = black, bold = true }, + Boolean = { link = 'Keyword' }, + Character = { link = 'String' }, + ColorColumn = { bg = highlight }, + Comment = { fg = grey }, + Conceal = {}, + Constant = { fg = black }, + Cursor = { bg = black }, + -- This is to work around https://github.com/neovim/neovim/issues/9800. + CursorLine = { ctermfg = 'black' }, + CursorLineNr = { fg = black, bold = true }, + Directory = { fg = purple }, + EndOfBuffer = { fg = background, bg = background }, + Error = { link = 'ErrorMsg' }, + ErrorMsg = { fg = red, bold = true }, + FoldColumn = { fg = light_grey, bg = background }, + Folded = { link = 'Comment' }, + Identifier = { fg = black }, + Function = { fg = black }, + IncSearch = { link = 'Search' }, + CurSearch = { link = 'Search' }, + Include = { fg = black, bold = true }, + InstanceVariable = { fg = purple }, + Keyword = { fg = black, bold = true }, + Label = { link = 'Keyword' }, + LineNr = { fg = grey }, + Macro = { fg = orange }, + MatchParen = { bold = true }, + MoreMsg = { fg = black }, + ModeMsg = { fg = black, bold = true }, + MsgSeparator = { fg = border }, + NonText = { fg = grey }, + Normal = { fg = black, bg = background }, + NormalFloat = { fg = black }, + FloatTitle = { fg = black, bold = true }, + FloatBorder = { fg = border }, + Number = { fg = blue }, + Operator = { fg = black }, + Pmenu = { fg = black, bg = grey_bg_light }, + PmenuSbar = { bg = grey_bg_light }, + PmenuSel = { bg = light_grey, bold = true }, + PmenuThumb = { bg = light_grey }, + PreCondit = { link = 'Macro' }, + PreProc = { fg = black }, + Question = { fg = black }, + QuickFixLine = { bg = highlight, bold = true }, + Regexp = { fg = orange }, + Search = { bg = light_yellow }, + SignColumn = { link = 'FoldColumn' }, + Special = { fg = black }, + SpecialKey = { link = 'Number' }, + SpellBad = { sp = red, underline = true }, + SpellCap = { sp = dark_yellow, underline = true }, + SpellLocal = { sp = blue, underline = true }, + SpellRare = { sp = purple, underline = true }, + Statement = { link = 'Keyword' }, + StatusLine = { fg = black, bg = background }, + StatusLineNC = { fg = black, bg = grey_bg_light }, + StatusLineTab = { fg = black, bg = background, bold = true }, + WinBar = { fg = black, bold = true }, + WinBarNc = { fg = black, bold = true }, + WinBarFill = { fg = border }, + StorageClass = { link = 'Keyword' }, + String = { fg = green }, + SnippetTabstop = {}, + Symbol = { fg = orange }, + TabLine = { fg = black, bg = light_grey }, + TabLineFill = { fg = black, bg = light_grey }, + TabLineSel = { fg = black, bg = background, bold = true }, + Title = { fg = black, bold = true }, + Todo = { fg = grey, bold = true }, + Type = { link = 'Constant' }, + Underlined = { underline = true }, + VertSplit = { fg = border }, + WinSeparator = { fg = border }, + Visual = { bg = light_grey }, + WarningMsg = { fg = dark_yellow, bold = true }, + Whitespace = { fg = border }, + WildMenu = { link = 'PmenuSel' }, + -- ALE + ALEError = { fg = red, bold = true }, + ALEErrorSign = { fg = red, bold = true }, + ALEWarning = { fg = dark_yellow, bold = true }, + ALEWarningSign = { fg = dark_yellow, bold = true }, + -- ccc.nvim + CccFloatNormal = { link = 'NormalFloat' }, + CccFloatBorder = { link = 'FloatBorder' }, + -- CSS + cssClassName = { link = 'Keyword' }, + cssColor = { link = 'Number' }, + cssIdentifier = { link = 'Keyword' }, + cssImportant = { link = 'Keyword' }, + cssProp = { link = 'Identifier' }, + cssTagName = { link = 'Keyword' }, + -- Diffs + DiffAdd = { bg = light_green }, + DiffChange = { bg = highlight }, + DiffDelete = { fg = red }, + DiffText = { bg = light_yellow }, + diffAdded = { link = 'DiffAdd' }, + diffChanged = { link = 'DiffChange' }, + diffFile = { fg = black, bold = true }, + diffLine = { fg = blue }, + diffRemoved = { link = 'DiffDelete' }, + -- Dot/Graphviz + dotKeyChar = { link = 'Operator' }, + -- diffview.nvim + DiffviewCursorLine = { bg = highlight }, + DiffviewDiffAddAsDelete = { bg = light_red }, + DiffviewDiffDelete = { fg = light_grey }, + DiffviewDiffDeleteDim = { fg = light_grey }, + DiffviewFilePanelFileName = { fg = black }, + DiffviewFilePanelPath = { fg = purple }, + DiffviewFilePanelRootPath = { fg = purple }, + DiffviewFilePanelTitle = { fg = black, bold = true }, + DiffviewFilePanelInsertions = { fg = green }, + DiffviewFilePanelDeletions = { fg = red }, + DiffviewStatusModified = { fg = dark_yellow, bold = true }, + DiffviewStatusAdded = { fg = green, bold = true }, + DiffviewStatusCopied = { fg = green, bold = true }, + DiffviewStatusDeleted = { fg = red, bold = true }, + -- Flash + FlashBackdrop = { link = 'None' }, + FlashLabel = { fg = red, bold = true }, + -- Fugitive + FugitiveblameHash = { fg = purple }, + FugitiveblameTime = { fg = blue }, + gitCommitOverflow = { link = 'ErrorMsg' }, + gitCommitSummary = { link = 'String' }, + -- gitcommit + ['@string.special.url.gitcommit'] = { fg = black }, + ['@markup.link.gitcommit'] = { fg = green, bold = true }, + ['@comment.warning.gitcommit'] = { fg = red, bold = true }, + -- Gitsigns + GitSignsAdd = { fg = green }, + GitSignsDelete = { fg = red }, + GitSignsChange = { fg = grey }, + -- HAML + hamlClass = { fg = black }, + hamlDocType = { link = 'Comment' }, + hamlId = { fg = black }, + hamlTag = { fg = black, bold = true }, + -- hop.nvim + HopNextKey = { fg = red, bold = true }, + HopNextKey1 = { fg = dark_yellow }, + HopNextKey2 = { fg = dark_yellow }, + HopUnmatched = {}, + -- HTML + htmlArg = { link = 'Identifier' }, + htmlLink = { link = 'Directory' }, + htmlScriptTag = { link = 'htmlTag' }, + htmlSpecialTagName = { link = 'htmlTag' }, + htmlTag = { fg = black, bold = true }, + htmlTagName = { link = 'htmlTag' }, + htmlItalic = { italic = true }, + htmlBold = { bold = true }, + -- Inko + inkoCommentBold = { fg = grey, bold = true }, + inkoCommentInlineUrl = { link = 'Number' }, + inkoCommentItalic = { fg = grey, italic = true }, + inkoCommentTitle = { fg = grey, bold = true }, + inkoInstanceVariable = { link = 'InstanceVariable' }, + inkoKeywordArgument = { link = 'Regexp' }, + ['@variable.member.inko'] = { link = 'InstanceVariable' }, + ['@constant.builtin.inko'] = { link = 'Keyword' }, + -- Java + javaAnnotation = { link = 'Directory' }, + javaCommentTitle = { link = 'javaComment' }, + javaDocParam = { link = 'Todo' }, + javaDocTags = { link = 'Todo' }, + javaExternal = { link = 'Keyword' }, + javaStorageClass = { link = 'Keyword' }, + -- Javascript + JavaScriptNumber = { link = 'Number' }, + javaScriptBraces = { link = 'Operator' }, + javaScriptFunction = { link = 'Keyword' }, + javaScriptIdentifier = { link = 'Keyword' }, + javaScriptMember = { link = 'Identifier' }, + -- JSON + jsonKeyword = { link = 'String' }, + -- Lua + luaFunction = { link = 'Keyword' }, + -- LSP + DiagnosticUnderlineError = { underline = true, sp = red }, + DiagnosticUnderlineWarn = { underline = true, sp = dark_yellow }, + LspDiagnosticsUnderlineError = { link = 'DiagnosticUnderlineError' }, + LspDiagnosticsUnderlineWarning = { link = 'DiagnosticUnderlineWarn' }, + DiagnosticFloatingError = { fg = red, bold = true }, + DiagnosticFloatingHint = { fg = black, bold = true }, + DiagnosticFloatingInfo = { fg = blue, bold = true }, + DiagnosticFloatingWarn = { fg = dark_yellow, bold = true }, + DiagnosticError = { fg = red, bold = true }, + DiagnosticHint = { fg = grey, bold = true }, + DiagnosticInfo = { fg = blue, bold = true }, + DiagnosticWarn = { fg = dark_yellow, bold = true }, + -- Make + makeTarget = { link = 'Function' }, + -- Markdown + markdownCode = { link = 'markdownCodeBlock' }, + markdownCodeBlock = { link = 'Comment' }, + markdownListMarker = { link = 'Keyword' }, + markdownOrderedListMarker = { link = 'Keyword' }, + markdownUrl = { fg = blue }, + -- mini.pick + MiniPickBorder = { fg = border }, + MiniPickBorderBusy = { link = 'MiniPickBorder' }, + MiniPickBorderText = { fg = black }, + MiniPickHeader = { fg = black, bold = true }, + MiniPickMatchCurrent = { bg = light_grey, bold = true }, + MiniPickMatchRanges = { fg = dark_yellow, bold = true }, + MiniPickNormal = { fg = black }, + MiniPickPrompt = { fg = black, bold = true }, + -- netrw + netrwClassify = { link = 'Identifier' }, + -- Neogit + NeogitBranch = { fg = green, bold = true }, + NeogitBranchHead = { link = 'NeogitBranch' }, + NeogitCommitViewHeader = { fg = dark_yellow, bold = true }, + NeogitCursorLine = { bg = highlight }, + NeogitDiffAdd = { link = 'DiffAdd' }, + NeogitDiffAddHighlight = { link = 'NeogitDiffAdd' }, + NeogitDiffContext = { link = 'Normal' }, + NeogitDiffContextHighlight = { link = 'Normal' }, + NeogitDiffDelete = { link = 'DiffDelete' }, + NeogitDiffDeleteHighlight = { link = 'NeogitDiffDelete' }, + NeogitDiffHeader = { fg = black, bold = true }, + NeogitDiffHeaderHighlight = { link = 'NeogitDiffHeader' }, + NeogitFilePath = { fg = purple }, + NeogitGraphBlue = { fg = blue }, + NeogitGraphBoldBlue = { fg = blue, bold = true }, + NeogitGraphBoldCyan = { fg = cyan, bold = true }, + NeogitGraphBoldGray = { fg = grey, bold = true }, + NeogitGraphBoldGreen = { fg = green, bold = true }, + NeogitGraphBoldOrange = { fg = orange, bold = true }, + NeogitGraphBoldPurple = { fg = purple, bold = true }, + NeogitGraphBoldRed = { fg = red, bold = true }, + NeogitGraphBoldWhite = { fg = black, bold = true }, + NeogitGraphBoldYellow = { fg = dark_yellow, bold = true }, + NeogitGraphCyan = { fg = cyan }, + NeogitGraphGray = { fg = grey }, + NeogitGraphGreen = { fg = green }, + NeogitGraphOrange = { fg = orange }, + NeogitGraphPurple = { fg = purple }, + NeogitGraphRed = { fg = red }, + NeogitGraphWhite = { fg = black }, + NeogitGraphYellow = { fg = dark_yellow }, + NeogitHunkHeader = { fg = blue }, + NeogitHunkHeaderHighlight = { link = 'NeogitHunkHeader' }, + NeogitPopupActionKey = { link = 'NeogitPopupOptionKey' }, + NeogitPopupBranchName = { link = 'NeogitBranch' }, + NeogitPopupConfigEnabled = { link = 'NeogitPopupOptionEnabled' }, + NeogitPopupConfigKey = { link = 'NeogitPopupOptionKey' }, + NeogitPopupOptionEnabled = { bg = light_green, bold = true }, + NeogitPopupOptionKey = { bold = true }, + NeogitPopupSectionTitle = { link = 'Title' }, + NeogitPopupSwitchEnabled = { link = 'NeogitPopupOptionEnabled' }, + NeogitPopupSwitchKey = { link = 'NeogitPopupOptionKey' }, + NeogitRemote = { link = 'NeogitBranch' }, + -- Perl + perlPackageDecl = { link = 'Identifier' }, + perlStatementInclude = { link = 'Statement' }, + perlStatementPackage = { link = 'Statement' }, + podCmdText = { link = 'Todo' }, + podCommand = { link = 'Comment' }, + podVerbatimLine = { link = 'Todo' }, + -- Ruby + rubyAttribute = { link = 'Identifier' }, + rubyClass = { link = 'Keyword' }, + rubyClassVariable = { link = 'rubyInstancevariable' }, + rubyConstant = { link = 'Constant' }, + rubyDefine = { link = 'Keyword' }, + rubyFunction = { link = 'Function' }, + rubyInstanceVariable = { link = 'InstanceVariable' }, + rubyMacro = { link = 'Identifier' }, + rubyModule = { link = 'rubyClass' }, + rubyRegexp = { link = 'Regexp' }, + rubyRegexpCharClass = { link = 'Regexp' }, + rubyRegexpDelimiter = { link = 'Regexp' }, + rubyRegexpQuantifier = { link = 'Regexp' }, + rubyRegexpSpecial = { link = 'Regexp' }, + rubyStringDelimiter = { link = 'String' }, + rubySymbol = { link = 'Symbol' }, + -- Rust + rustCommentBlockDoc = { link = 'Comment' }, + rustCommentLineDoc = { link = 'Comment' }, + rustFuncCall = { link = 'Identifier' }, + rustModPath = { link = 'Identifier' }, + ['@function.macro.rust'] = { link = 'Macro' }, + ['@attribute.rust'] = { link = 'Identifier' }, + -- pounce.nvim + PounceAccept = { fg = black, bg = yellow, bold = true }, + PounceAcceptBest = { link = 'PounceAccept' }, + PounceMatch = { bg = light_yellow }, + PounceUnmatched = {}, + PounceGap = { link = 'None' }, + -- Python + pythonOperator = { link = 'Keyword' }, + -- SASS + sassClass = { link = 'cssClassName' }, + sassId = { link = 'cssIdentifier' }, + -- Shell + shFunctionKey = { link = 'Keyword' }, + -- Snippy + SnippyPlaceholder = { link = 'SnippetTabstop' }, + -- SQL + sqlKeyword = { link = 'Keyword' }, + -- Typescript + typescriptBraces = { link = 'Operator' }, + typescriptEndColons = { link = 'Operator' }, + typescriptExceptions = { link = 'Keyword' }, + typescriptFuncKeyword = { link = 'Keyword' }, + typescriptFunction = { link = 'Function' }, + typescriptIdentifier = { link = 'Identifier' }, + typescriptLogicSymbols = { link = 'Operator' }, + -- Telescope + TelescopeBorder = { fg = border }, + TelescopeMatching = { fg = dark_yellow, bold = true }, + TelescopePromptNormal = { fg = black }, + TelescopePromptBorder = { fg = border }, + TelescopePromptPrefix = { fg = black, bold = true }, + TelescopeSelection = { bg = light_grey, bold = true }, + TelescopeTitle = { fg = black, bold = true }, + TelescopeNormal = { fg = black }, + -- Treesitter + TSEmphasis = { italic = true }, + TSField = {}, + TSStringEscape = { fg = green, bold = true }, + TSStrong = { bold = true }, + TSURI = { fg = blue, underline = true }, + TSUnderline = { underline = true }, + TSConstMacro = { link = 'Macro' }, + TSDanger = { link = 'Todo' }, + TSKeywordOperator = { link = 'Keyword' }, + TSNamespace = { link = 'Constant' }, + TSNote = { link = 'Todo' }, + TSProperty = { link = 'TSField' }, + TSStringRegex = { link = 'Regexp' }, + TSSymbol = { link = 'Symbol' }, + TSTypeBuiltin = { link = 'Keyword' }, + TSWarning = { link = 'Todo' }, + ['@markup.link'] = { fg = blue }, + ['@property.json'] = { bold = true }, + ['@text.emphasis'] = { italic = true }, + ['@text.reference'] = { fg = purple }, + ['@text.strong'] = { bold = true }, + ['@text.uri'] = { fg = blue }, + ['@variable.builtin'] = { bold = true }, + + -- Custom Tree-sitter captures added by this theme. + ['@variable.parameter.reference'] = { fg = orange }, + + -- Ruby uses "TSLabel" for instance variables, for some reason. See + -- https://github.com/tree-sitter/tree-sitter-ruby/issues/184 for more + -- details. + rubyTSLabel = { link = 'InstanceVariable' }, + -- TOML + -- + -- tomlTSTypeBuiltin is used for section titles (e.g. `[dependencies]`), while + -- tomlTSProperty is used for key-value pairs. These rules ensure the syntax + -- is consistent with https://github.com/cespare/vim-toml. + tomlTSProperty = { fg = black }, + tomlTSTypeBuiltin = { fg = black, bold = true }, + -- Vimscript + VimCommentTitle = { link = 'Todo' }, + VimIsCommand = { link = 'Constant' }, + vimGroup = { link = 'Constant' }, + vimHiGroup = { link = 'Constant' }, + -- XML + xmlAttrib = { link = 'Identifier' }, + xmlTag = { link = 'Identifier' }, + xmlTagName = { link = 'Identifier' }, + -- YAML + yamlPlainScalar = { link = 'String' }, + -- YARD + yardComment = { link = 'Comment' }, + yardType = { link = 'Todo' }, + yardTypeList = { link = 'Todo' }, +} + +for group, opts in pairs(highlights) do + api.nvim_set_hl(0, group, opts) +end
A nvim/colors/plain2.lua

@@ -0,0 +1,317 @@

+vim.cmd('hi clear') + +if vim.fn.exists('syntax on') == 1 then + vim.cmd('syntax reset') +end + +vim.g.colors_name = 'plain2' + +local colors = { + black = { gui = "#222222", cterm = "0" }, + medium_gray = { gui = "#767676", cterm = "8" }, + white = { gui = "#F1F1F1", cterm = "7" }, + actual_white = { gui = "#FFFFFF", cterm = "15" }, + light_black = { gui = "#424242", cterm = "11" }, + lighter_black = { gui = "#545454", cterm = "12" }, + subtle_black = { gui = "#303030", cterm = "11" }, + light_gray = { gui = "#999999", cterm = "12" }, + lighter_gray = { gui = "#CCCCCC", cterm = "7" }, + lightest_gray = { gui = "#E5E5E5", cterm = "13" }, + pink = { gui = "#FB007A", cterm = "5" }, + dark_red = { gui = "#C30771", cterm = "1" }, + light_red = { gui = "#E32791", cterm = "1" }, + orange = { gui = "#D75F5F", cterm = "9" }, + darker_blue = { gui = "#005F87", cterm = "4" }, + dark_blue = { gui = "#008EC4", cterm = "4" }, + blue = { gui = "#20BBFC", cterm = "4" }, + light_blue = { gui = "#B6D6FD", cterm = "4" }, + dark_cyan = { gui = "#20A5BA", cterm = "6" }, + light_cyan = { gui = "#4FB8CC", cterm = "6" }, + dark_green = { gui = "#10A778", cterm = "6" }, + light_green = { gui = "#5FD7A7", cterm = "6" }, + dark_purple = { gui = "#523C79", cterm = "5" }, + light_purple = { gui = "#6855DE", cterm = "5" }, + light_yellow = { gui = "#F3E430", cterm = "3" }, + dark_yellow = { gui = "#A89C14", cterm = "3" }, +} + +local bg, bg_subtle, bg_very_subtle, norm, norm_subtle, purple, cyan, green, red, yellow, visual, cursor_line, status_line, status_line_nc, constant, comment, selection, warning + +if vim.o.background == "dark" then + bg = colors.white + bg_subtle = colors.lighter_gray + bg_very_subtle = colors.light_gray + norm = colors.light_black + norm_subtle = colors.lighter_black + purple = colors.dark_purple + cyan = colors.dark_cyan + green = colors.dark_green + red = colors.dark_red + yellow = colors.dark_yellow + visual = colors.light_blue + cursor_line = colors.medium_gray + status_line = colors.lighter_gray + status_line_nc = colors.lighter_black + constant = colors.dark_blue + comment = colors.light_gray + selection = colors.light_yellow + warning = colors.yellow +else + bg = colors.black + bg_subtle = colors.light_black + bg_very_subtle = colors.subtle_black + norm = colors.lighter_gray + norm_subtle = colors.light_gray + purple = colors.light_purple + cyan = colors.light_cyan + green = colors.light_green + red = colors.light_red + yellow = colors.light_yellow + visual = colors.subtle_black + cursor_line = colors.subtle_black + status_line = colors.lighter_black + status_line_nc = colors.subtle_black + constant = colors.light_green + comment = colors.lighter_black + selection = colors.light_purple + warning = colors.yellow +end + +local highlights = { + firstAccent = { fg = cyan }, + secondAccent = { fg = purple }, + Normal = { fg = norm }, + Noise = { fg = norm_subtle }, + Cursor = { bg = green, fg = norm }, + Comment = { fg = comment, cterm = "italic" }, + Function = { fg = norm, cterm = "bold" }, + FloatWin = { fg = norm, bg = colors.black }, + Constant = { link = "firstAccent" }, + Character = { link = "Constant" }, + Number = { link = "Constant" }, + Boolean = { link = "Constant" }, + Float = { link = "Constant" }, + String = { link = "Constant" }, + Identifier = { link = "Normal" }, + Statement = { link = "Normal" }, + Conditonal = { link = "Statement" }, + Repeat = { link = "Statement" }, + Label = { link = "Statement" }, + Operator = { link = "Noise" }, + Keyword = { link = "Statement" }, + Exception = { link = "Statement" }, + PreProc = { link = "Normal" }, + Include = { link = "Statement" }, + Define = { link = "PreProc" }, + Macro = { link = "PreProc" }, + PreCondit = { link = "PreProc" }, + Type = { link = "secondAccent" }, + StorageClass = { link = "Type" }, + Structure = { link = "Noise" }, + Typedef = { link = "Noise" }, + Special = { link = "StatusLine" }, + SpecialChar = { link = "Special" }, + Tag = { link = "Special" }, + Delimiter = { link = "Special" }, + SpecialComment = { link = "Special" }, + Debug = { link = "Special" }, + Conceal = { link = "NonText" }, + Underlined = { fg = norm, gui = "underline", cterm = "underline" }, + Ignore = { fg = bg }, + Error = { fg = red, cterm = "bold" }, + Todo = { fg = colors.actual_white, bg = colors.black, gui = "bold", cterm = "bold" }, + SpecialKey = { fg = colors.subtle_black }, + NonText = { fg = bg_very_subtle }, + Directory = { fg = green }, + ErrorMsg = { fg = colors.pink }, + IncSearch = { bg = selection, fg = colors.black }, + Search = { bg = selection, fg = colors.black }, + MoreMsg = { fg = colors.medium_gray, cterm = "bold", gui = "bold" }, + ModeMsg = { link = "MoreMsg" }, + LineNr = { fg = colors.medium_gray }, + CursorLineNr = { fg = green, bg = bg_very_subtle }, + Question = { fg = red }, + VertSplit = { bg = bg, fg = bg_very_subtle }, + Title = { fg = green }, + Visual = { bg = visual }, + VisualNOS = { bg = bg_subtle }, + WarningMsg = { fg = warning }, + WildMenu = { fg = colors.white, bg = bg }, + Folded = { fg = colors.medium_gray }, + FoldColumn = { fg = bg_subtle }, + DiffAdd = { fg = green }, + DiffDelete = { fg = red }, + DiffChange = { fg = yellow }, + DiffText = { fg = green }, + SignColumn = { fg = colors.medium_gray }, + SpellBad = { gui = "underline", sp = red }, + SpellCap = { gui = "underline", sp = light_green }, + SpellRare = { gui = "underline", sp = colors.pink }, + SpellLocal = { gui = "underline", sp = green }, + StatusLine = { fg = status_line }, + StatusLineNC = { fg = status_line_nc }, + StatusLineOk = { gui = "underline", bg = bg, fg = green }, + StatusLineError = { gui = "underline", bg = bg, fg = colors.pink }, + StatusLineWarning = { gui = "underline", bg = bg, fg = warning }, + Pmenu = { fg = norm, bg = bg_subtle }, + PmenuSel = { fg = green, bg = bg_very_subtle, gui = "bold" }, + PmenuSbar = { fg = norm, bg = bg_subtle }, + PmenuThumb = { fg = norm, bg = bg_subtle }, + TabLine = { fg = norm_subtle, bg = bg }, + TabLineSel = { fg = norm, bg = bg, gui = "bold", cterm = "bold" }, + TabLineFill = { fg = norm_subtle, bg = bg }, + CursorColumn = { bg = bg_very_subtle }, + CursorLine = { bg = cursor_line }, + ColorColumn = { bg = bg_subtle }, + MatchParen = { bg = bg_very_subtle, fg = norm, cterm = "bold" }, + qfLineNr = { link = "secondAccent" }, + qfFileName = { link = "firstAccent" }, + htmlH1 = { fg = norm }, + htmlH2 = { fg = norm }, + htmlH3 = { fg = norm }, + htmlH4 = { fg = norm }, + htmlH5 = { fg = norm }, + htmlH6 = { fg = norm }, + htmlBold = { fg = norm }, + htmlItalic = { fg = norm }, + htmlEndTag = { fg = norm }, + htmlTag = { fg = norm }, + htmlTagName = { fg = norm }, + htmlArg = { fg = norm }, + htmlError = { fg = red }, + javaScript = { bg = bg, fg = norm }, + javaScriptBraces = { bg = bg, fg = norm }, + javaScriptNumber = { bg = bg, fg = green }, + diffRemoved = { link = "DiffDelete" }, + diffAdded = { link = "DiffAdd" }, + TSAnnotation = { link = "secondAccent" }, + TSAttribute = { link = "secondAccent" }, + TSBoolean = { link = "Constant" }, + TSCharacter = { link = "Constant" }, + TSComment = { link = "Comment" }, + TSConstructor = { link = "Normal" }, + TSConditional = { link = "Statement" }, + TSConstant = { link = "Constant" }, + TSConstBuiltin = { link = "secondAccent" }, + TSConstMacro = { link = "secondAccent" }, + TSError = { link = "Error" }, + TSException = { link = "Error" }, + TSField = { link = "Normal" }, + TSFloat = { link = "Constant" }, + TSFunction = { link = "Normal" }, + TSFuncBuiltin = { link = "secondAccent" }, + TSFuncMacro = { link = "secondAccent" }, + TSInclude = { link = "Noise" }, + TSKeyword = { link = "Statement" }, + TSKeywordFunction = { link = "Statement" }, + TSLabel = { link = "Noise" }, + TSMethod = { link = "Normal" }, + TSNamespace = { link = "Noise" }, + TSNone = { link = "Noise" }, + TSNumber = { link = "Constant" }, + TSOperator = { link = "Normal" }, + TSParameter = { link = "Noise" }, + TSParameterReference = { link = "Statement" }, + TSProperty = { link = "TSField" }, + TSPunctDelimiter = { link = "Noise" }, + TSPunctBracket = { link = "Noise" }, + TSPunctSpecial = { link = "Noise" }, + TSRepeat = { link = "Normal" }, + TSString = { link = "Constant" }, + TSStringRegex = { link = "secondAccent" }, + TSStringEscape = { link = "secondAccent" }, + TSTag = { link = "Statement" }, + TSTagDelimiter = { link = "Noise" }, + TSText = { link = "Normal" }, + TSEmphasis = { link = "Comment" }, + TSUnderline = { link = "Underlined" }, + TSStrike = { link = "Underlined" }, + TSTitle = { link = "Statement" }, + TSLiteral = { link = "Noise" }, + TSURI = { link = "Constant" }, + TSType = { link = "Noise" }, + TSTypeBuiltin = { link = "secondAccent" }, + TSVariable = { link = "Normal" }, + TSVariableBuiltin = { link = "Normal" }, + TSRepeat = { link = "Statement" }, + LspDiagnosticsDefaultError = { link = "Error" }, + LspDiagnosticsDefaultWarning = { link = "WarningMsg" }, + LspDiagnosticsDefaultInformation = { link = "Noise" }, + LspDiagnosticsDefaultHint = { link = "Constant" }, + SignifySignAdd = { link = "LineNr" }, + SignifySignDelete = { link = "LineNr" }, + SignifySignChange = { link = "LineNr" }, + GitGutterAdd = { link = "LineNr" }, + GitGutterDelete = { link = "LineNr" }, + GitGutterChange = { link = "LineNr" }, + GitGutterChangeDelete = { link = "LineNr" }, + jsFlowTypeKeyword = { link = "Statement" }, + jsFlowImportType = { link = "Statement" }, + jsFunction = { link = "Function" }, + jsGlobalObjects = { link = "Noise" }, + jsGlobalNodeObjects = { link = "Normal" }, + jsSwitchCase = { link = "Constant" }, + jsSpreadOperator = { bg = bg, fg = selection }, + jsReturn = { link = "jsSpreadOperator" }, + jsExport = { link = "jsSpreadOperator" }, + rustModPath = { fg = colors.lightest_gray }, + rustMacro = { link = "secondAccent" }, + rustKeyword = { link = "Noise" }, + rustDerive = { link = "secondAccent" }, + rustDeriveTrait = { link = "secondAccent" }, + rustAttribute = { link = "secondAccent" }, + rustLifetime = { link = "secondAccent" }, + schemeSyntax = { link = "Normal" }, + schemeParentheses = { link = "Noise" }, + schemeIdentifier = { link = "Noise" }, + lispParen = { link = "Noise" }, + lispSymbol = { link = "Noise" }, + shCommandSub = { link = "secondAccent" }, + cFormat = { link = "secondAccent" }, + nixBuiltin = { link = "secondAccent" }, + nixNamespacedBuiltin = { link = "secondAccent" }, + sqlSpecial = { link = "firstAccent" }, + sqlKeyword = { link = "secondAccent" }, + helpExample = { link = "Noise" }, + helpCommand = { link = "secondAccent" }, + helpBacktick = { link = "secondAccent" }, + helpSpecial = { link = "Noise" }, + StorageClass = { link = "Statement" }, + elmType = { link = "Type" }, + xmlTag = { link = "Constant" }, + xmlTagName = { link = "xmlTag" }, + xmlEndTag = { link = "xmlTag" }, + xmlAttrib = { link = "xmlTag" }, + markdownH1 = { link = "Statement" }, + markdownH2 = { link = "Statement" }, + markdownH3 = { link = "Statement" }, + markdownH4 = { link = "Statement" }, + markdownH5 = { link = "Statement" }, + markdownH6 = { link = "Statement" }, + markdownListMarker = { link = "Constant" }, + markdownCode = { link = "Constant" }, + markdownCodeBlock = { link = "Constant" }, + markdownCodeDelimiter = { link = "Constant" }, + markdownHeadingDelimiter = { link = "Constant" }, + cssBraces = { bg = bg, fg = selection }, + cssTextProp = { link = "Noise" }, + cssTagName = { link = "Normal" }, + NormalFloat = { link = "FloatWin" }, + CmpItemKind = { link = "firstAccent" }, + CmpItemAbbrMatch = { link = "secondAccent" }, +} + +if vim.fn.has("gui_running") == 0 then + highlights.SpellBad = { cterm = "underline", fg = red } + highlights.SpellCap = { cterm = "underline", fg = light_green } + highlights.SpellRare = { cterm = "underline", fg = colors.pink } + highlights.SpellLocal = { cterm = "underline", fg = green } +end + +for group, opts in pairs(highlights) do + if opts.link then + vim.api.nvim_set_hl(0, group, { link = opts.link }) + else + vim.api.nvim_set_hl(0, group, opts) + end +end
M nvim/lua/settings.luanvim/lua/settings.lua

@@ -43,7 +43,7 @@ *.swp,.lock,.DS_Store,._*

]] cmd('syntax on') -cmd('colorscheme plain') +cmd('colorscheme grey') autocmd('TextYankPost', { pattern = '*', callback = function()