mirror of
https://github.com/craftzdog/solarized-osaka.nvim.git
synced 2026-09-10 07:16:21 -04:00
Merge pull request #51 from killitar/refactor
refactoring: split `theme.lua` into separate groups.
This commit is contained in:
commit
ca970474f5
|
|
@ -30,9 +30,25 @@ solarized_osaka.terminal = {
|
|||
}
|
||||
|
||||
solarized_osaka.inactive = {
|
||||
a = { bg = colors.bg_statusline, fg = colors.blue },
|
||||
b = { bg = colors.bg_statusline, fg = colors.fg, gui = "bold" },
|
||||
c = { bg = colors.bg_statusline, fg = colors.fg },
|
||||
a = {
|
||||
bg = config.hide_inactive_statusline and colors.none or colors.bg_statusline,
|
||||
fg = config.hide_inactive_statusline and colors.bg or colors.blue,
|
||||
sp = config.hide_inactive_statusline and colors.border or colors.none,
|
||||
underline = config.hide_inactive_statusline,
|
||||
},
|
||||
b = {
|
||||
bg = config.hide_inactive_statusline and colors.none or colors.bg_statusline,
|
||||
fg = config.hide_inactive_statusline and colors.bg or colors.fg,
|
||||
sp = config.hide_inactive_statusline and colors.border or colors.none,
|
||||
underline = config.hide_inactive_statusline,
|
||||
gui = "bold",
|
||||
},
|
||||
c = {
|
||||
bg = config.hide_inactive_statusline and colors.none or colors.bg_statusline,
|
||||
fg = config.hide_inactive_statusline and colors.bg or colors.fg,
|
||||
sp = config.hide_inactive_statusline and colors.border or colors.none,
|
||||
underline = config.hide_inactive_statusline,
|
||||
},
|
||||
}
|
||||
|
||||
if config.lualine_bold then
|
||||
|
|
|
|||
|
|
@ -36,6 +36,19 @@ local defaults = {
|
|||
---@param colors ColorScheme
|
||||
on_highlights = function(highlights, colors) end,
|
||||
use_background = true, -- can be light/dark/auto. When auto, background will be set to vim.o.background
|
||||
---@type table<string, boolean|{enabled:boolean}>
|
||||
plugins = {
|
||||
-- enable all plugins when not using lazy.nvim
|
||||
-- set to false to manually enable/disable plugins
|
||||
all = package.loaded.lazy == nil,
|
||||
-- uses your plugin manager to automatically enable needed plugins
|
||||
-- currently only lazy.nvim is supported
|
||||
auto = true,
|
||||
-- add any plugins here that you want to enable
|
||||
-- for all possible plugins, see:
|
||||
-- * https://github.com/craftzdog/solarized-osaka.nvim/tree/main/lua/solarized-osaka/groups
|
||||
-- flash = true,
|
||||
},
|
||||
}
|
||||
|
||||
---@type Config
|
||||
|
|
|
|||
14
lua/solarized-osaka/groups/alpha.lua
Normal file
14
lua/solarized-osaka/groups/alpha.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
AlphaShortcut = { fg = c.orange },
|
||||
AlphaHeader = { fg = c.blue },
|
||||
AlphaHeaderLabel = { fg = c.orange },
|
||||
AlphaFooter = { fg = c.cyan },
|
||||
AlphaButtons = { fg = c.cyan },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
50
lua/solarized-osaka/groups/barbar.lua
Normal file
50
lua/solarized-osaka/groups/barbar.lua
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
local Util = require("solarized-osaka.util")
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
--stylua: ignore
|
||||
return {
|
||||
BufferCurrent = { bg = c.bg, fg = c.fg },
|
||||
BufferCurrentERROR = { bg = c.bg, fg = c.error },
|
||||
BufferCurrentHINT = { bg = c.bg, fg = c.hint },
|
||||
BufferCurrentINFO = { bg = c.bg, fg = c.info },
|
||||
BufferCurrentWARN = { bg = c.bg, fg = c.warning },
|
||||
BufferCurrentIndex = { bg = c.bg, fg = c.info },
|
||||
BufferCurrentMod = { bg = c.bg, fg = c.warning },
|
||||
BufferCurrentSign = { bg = c.bg, fg = c.bg },
|
||||
BufferCurrentTarget = { bg = c.bg, fg = c.red },
|
||||
BufferAlternate = { bg = c.base01, fg = c.fg },
|
||||
BufferAlternateERROR = { bg = c.base01, fg = c.error },
|
||||
BufferAlternateHINT = { bg = c.base01, fg = c.hint },
|
||||
BufferAlternateIndex = { bg = c.base01, fg = c.info },
|
||||
BufferAlternateINFO = { bg = c.base01, fg = c.info },
|
||||
BufferAlternateMod = { bg = c.base01, fg = c.warning },
|
||||
BufferAlternateSign = { bg = c.base01, fg = c.info },
|
||||
BufferAlternateTarget = { bg = c.base01, fg = c.red },
|
||||
BufferAlternateWARN = { bg = c.base01, fg = c.warning },
|
||||
BufferVisible = { bg = c.bg_statusline, fg = c.fg },
|
||||
BufferVisibleERROR = { bg = c.bg_statusline, fg = c.error },
|
||||
BufferVisibleHINT = { bg = c.bg_statusline, fg = c.hint },
|
||||
BufferVisibleINFO = { bg = c.bg_statusline, fg = c.info },
|
||||
BufferVisibleWARN = { bg = c.bg_statusline, fg = c.warning },
|
||||
BufferVisibleIndex = { bg = c.bg_statusline, fg = c.info },
|
||||
BufferVisibleMod = { bg = c.bg_statusline, fg = c.warning },
|
||||
BufferVisibleSign = { bg = c.bg_statusline, fg = c.info },
|
||||
BufferVisibleTarget = { bg = c.bg_statusline, fg = c.red },
|
||||
BufferInactive = { bg = Util.darken(c.bg_highlight, 0.4), fg = Util.darken(c.violet500, 0.8) },
|
||||
BufferInactiveERROR = { bg = Util.darken(c.bg_highlight, 0.4), fg = Util.darken(c.error, 0.8) },
|
||||
BufferInactiveHINT = { bg = Util.darken(c.bg_highlight, 0.4), fg = Util.darken(c.hint, 0.8) },
|
||||
BufferInactiveINFO = { bg = Util.darken(c.bg_highlight, 0.4), fg = Util.darken(c.info, 0.8) },
|
||||
BufferInactiveWARN = { bg = Util.darken(c.bg_highlight, 0.4), fg = Util.darken(c.warning, 0.8) },
|
||||
BufferInactiveIndex = { bg = Util.darken(c.bg_highlight, 0.4), fg = c.violet500 },
|
||||
BufferInactiveMod = { bg = Util.darken(c.bg_highlight, 0.4), fg = Util.darken(c.warning, 0.8) },
|
||||
BufferInactiveSign = { bg = Util.darken(c.bg_highlight, 0.4), fg = c.bg },
|
||||
BufferInactiveTarget = { bg = Util.darken(c.bg_highlight, 0.4), fg = c.red },
|
||||
BufferOffset = { bg = c.bg_statusline, fg = c.violet500 },
|
||||
BufferTabpageFill = { bg = Util.darken(c.bg_highlight, 0.8), fg = c.violet500 },
|
||||
BufferTabpages = { bg = c.bg_statusline, fg = c.none },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
50
lua/solarized-osaka/groups/blink.lua
Normal file
50
lua/solarized-osaka/groups/blink.lua
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
--stylua: ignore
|
||||
return {
|
||||
BlinkCmpLabel = { fg = c.fg, bg = c.none },
|
||||
BlinkCmpLabelDeprecated = { fg = c.base01, bg = c.none, strikethrough = true },
|
||||
--INFO: unused at the moment but passed still for future use
|
||||
BlinkCmpLabelMatch = { fg = c.violet500, bg = c.none },
|
||||
-- Documentation windows
|
||||
BlinkCmpDoc = { fg = c.fg, bg = c.bg_float },
|
||||
BlinkCmpDocBorder = { fg = c.base02, bg = c.bg_float },
|
||||
BlinkCmpGhostText = { fg = c.base01 },
|
||||
-- Signature help
|
||||
BlinkCmpSignatureHelp = { fg = c.violet500, bg = c.none },
|
||||
BlinkCmpSignatureHelpBorder = { fg = c.base02, bg = c.none },
|
||||
BlinkCmpSignatureHelpActiveParameter = { fg = c.orange, bg = c.none },
|
||||
-- ISSUE: passing c.none causes menu to be invisible
|
||||
-- BlinkCmpMenu = { fg = c.base01, bg = c.none },
|
||||
BlinkCmpMenu = { fg = c.base01, bg = c.base02 },
|
||||
BlinkCmpKindDefault = { fg = c.base01, bg = c.none }, -- Default fallback
|
||||
BlinkCmpKindCodeium = { fg = c.cyan500, bg = c.none },
|
||||
BlinkCmpKindCopilot = { fg = c.cyan500, bg = c.none },
|
||||
BlinkCmpKindTabNine = { fg = c.cyan500, bg = c.none },
|
||||
BlinkCmpKindSupermaven = { fg = c.cyan500, bg = c.none },
|
||||
BlinkCmpKindKeyword = { fg = c.cyan, bg = c.none },
|
||||
BlinkCmpKindVariable = { fg = c.magenta, bg = c.none },
|
||||
BlinkCmpKindConstant = { fg = c.magenta, bg = c.none },
|
||||
BlinkCmpKindReference = { fg = c.magenta, bg = c.none },
|
||||
BlinkCmpKindValue = { fg = c.magenta, bg = c.none },
|
||||
BlinkCmpKindFunction = { fg = c.blue, bg = c.none },
|
||||
BlinkCmpKindMethod = { fg = c.blue, bg = c.none },
|
||||
BlinkCmpKindConstructor = { fg = c.blue, bg = c.none },
|
||||
BlinkCmpKindClass = { fg = c.orange, bg = c.none },
|
||||
BlinkCmpKindInterface = { fg = c.orange, bg = c.none },
|
||||
BlinkCmpKindStruct = { fg = c.orange, bg = c.none },
|
||||
BlinkCmpKindEvent = { fg = c.orange, bg = c.none },
|
||||
BlinkCmpKindEnum = { fg = c.orange, bg = c.none },
|
||||
BlinkCmpKindUnit = { fg = c.orange, bg = c.none },
|
||||
BlinkCmpKindModule = { fg = c.yellow, bg = c.none },
|
||||
BlinkCmpKindProperty = { fg = c.cyan, bg = c.none },
|
||||
BlinkCmpKindField = { fg = c.cyan, bg = c.none },
|
||||
BlinkCmpKindTypeParameter = { fg = c.cyan, bg = c.none },
|
||||
BlinkCmpKindEnumMember = { fg = c.cyan, bg = c.none },
|
||||
BlinkCmpKindOperator = { fg = c.cyan, bg = c.none },
|
||||
BlinkCmpKindSnippet = { fg = c.violet500, bg = c.none },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/bufferline.lua
Normal file
10
lua/solarized-osaka/groups/bufferline.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
--stylua: ignore
|
||||
return {
|
||||
BufferLineIndicatorSelected = { fg = c.yellow500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
51
lua/solarized-osaka/groups/cmp.lua
Normal file
51
lua/solarized-osaka/groups/cmp.lua
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
--stylua: ignore
|
||||
return {
|
||||
CmpDocumentation = { fg = c.fg, bg = c.bg_float },
|
||||
CmpDocumentationBorder = { fg = c.base02, bg = c.bg_float },
|
||||
CmpGhostText = { fg = c.base01 },
|
||||
|
||||
CmpItemAbbr = { fg = c.fg, bg = c.none },
|
||||
CmpItemAbbrDeprecated = { fg = c.base01, bg = c.none, strikethrough = true },
|
||||
CmpItemAbbrMatch = { fg = c.violet500, bg = c.none },
|
||||
CmpItemAbbrMatchFuzzy = { fg = c.violet500, bg = c.none },
|
||||
|
||||
CmpItemMenu = { fg = c.base01, bg = c.none },
|
||||
|
||||
CmpItemKindDefault = { fg = c.base01, bg = c.none },
|
||||
|
||||
CmpItemKindCodeium = { fg = c.cyan500, bg = c.none },
|
||||
CmpItemKindCopilot = { fg = c.cyan500, bg = c.none },
|
||||
CmpItemKindTabNine = { fg = c.cyan500, bg = c.none },
|
||||
|
||||
CmpItemKindKeyword = { fg = c.cyan, bg = c.none },
|
||||
CmpItemKindVariable = { fg = c.magenta, bg = c.none },
|
||||
CmpItemKindConstant = { fg = c.magenta, bg = c.none },
|
||||
CmpItemKindReference = { fg = c.magenta, bg = c.none },
|
||||
CmpItemKindValue = { fg = c.magenta, bg = c.none },
|
||||
|
||||
CmpItemKindFunction = { fg = c.blue, bg = c.none },
|
||||
CmpItemKindMethod = { fg = c.blue, bg = c.none },
|
||||
CmpItemKindConstructor = { fg = c.blue, bg = c.none },
|
||||
|
||||
CmpItemKindClass = { fg = c.orange, bg = c.none },
|
||||
CmpItemKindInterface = { fg = c.orange, bg = c.none },
|
||||
CmpItemKindStruct = { fg = c.orange, bg = c.none },
|
||||
CmpItemKindEvent = { fg = c.orange, bg = c.none },
|
||||
CmpItemKindEnum = { fg = c.orange, bg = c.none },
|
||||
CmpItemKindUnit = { fg = c.orange, bg = c.none },
|
||||
|
||||
CmpItemKindModule = { fg = c.yellow, bg = c.none },
|
||||
|
||||
CmpItemKindProperty = { fg = c.cyan, bg = c.none },
|
||||
CmpItemKindField = { fg = c.cyan, bg = c.none },
|
||||
CmpItemKindTypeParameter = { fg = c.cyan, bg = c.none },
|
||||
CmpItemKindEnumMember = { fg = c.cyan, bg = c.none },
|
||||
CmpItemKindOperator = { fg = c.cyan, bg = c.none },
|
||||
CmpItemKindSnippet = { fg = c.violet500, bg = c.none },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/dashboard.lua
Normal file
16
lua/solarized-osaka/groups/dashboard.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
DashboardShortCut = { fg = c.cyan },
|
||||
DashboardHeader = { fg = c.blue },
|
||||
DashboardCenter = { fg = c.magenta },
|
||||
DashboardFooter = { fg = c.yellow, italic = true },
|
||||
DashboardKey = { fg = c.orange500 },
|
||||
DashboardDesc = { fg = c.cyan500 },
|
||||
DashboardIcon = { fg = c.cyan500, bold = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
113
lua/solarized-osaka/groups/editor.lua
Normal file
113
lua/solarized-osaka/groups/editor.lua
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, options)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
ColorColumn = { bg = c.base02 }, -- used for the columns set with 'colorcolumn'
|
||||
Conceal = { fg = c.blue500 }, -- placeholder characters substituted for concealed text (see 'conceallevel')
|
||||
Cursor = { fg = c.base03, bg = c.base0 }, -- character under the cursor
|
||||
lCursor = { fg = c.base03, bg = c.base00 }, -- the character under the cursor when |language-mapping| is used (see 'guicursor')
|
||||
CursorIM = { fg = c.base03, bg = c.base0 }, -- like Cursor, but used when in IME mode |CursorIM|
|
||||
CursorColumn = { bg = c.base02 }, -- Screen-column at the cursor, when 'cursorcolumn' is set.
|
||||
CursorLine = { bg = c.base03, sp = c.base1 }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set.
|
||||
Directory = { fg = c.blue500 }, -- directory names (and other special names in listings)
|
||||
DiffAdd = { fg = c.green500, bg = c.base02, bold = true }, -- diff mode: Added line |diff.txt|
|
||||
DiffChange = { fg = c.yellow500, bg = c.base02, bold = true }, -- diff mode: Changed line |diff.txt|
|
||||
DiffDelete = { fg = c.red500, bg = c.base02, bold = true }, -- diff mode: Deleted line |diff.txt|
|
||||
DiffText = { fg = c.blue500, bg = c.base02, bold = true }, -- diff mode: Changed text within a changed line |diff.txt|
|
||||
EndOfBuffer = { fg = c.base01 }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|.
|
||||
-- TermCursor = { }, -- cursor in a focused terminal
|
||||
-- TermCursorNC= { }, -- cursor in an unfocused terminal
|
||||
ErrorMsg = { fg = c.red500, reverse = true }, -- error messages on the command line
|
||||
VertSplit = { fg = c.base00 }, -- the column separating vertically split windows
|
||||
WinSeparator = { fg = c.base02, bold = true }, -- the column separating vertically split windows
|
||||
Folded = { fg = c.base0, bg = c.base02, bold = true }, -- line used for closed folds
|
||||
FoldColumn = { fg = c.base0 }, -- 'foldcolumn'
|
||||
SignColumn = { fg = c.base0 }, -- column where |signs| are displayed
|
||||
SignColumnSB = { fg = c.base0 }, -- column where |signs| are displayed
|
||||
Substitute = { fg = c.base04, bg = c.red500 }, -- |:substitute| replacement text highlighting
|
||||
LineNr = { fg = c.yellow700, bg = options.transparent and c.none or c.bg }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set.
|
||||
CursorLineNr = { fg = c.orange500, sp = c.base1 }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line.
|
||||
MatchParen = { fg = c.red100, bg = c.red500, bold = true }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt|
|
||||
ModeMsg = { fg = c.blue500 }, -- 'showmode' message (e.g., "-- INSERT -- ")
|
||||
MsgArea = { fg = c.base01 }, -- Area for messages and cmdline
|
||||
-- MsgSeparator= { }, -- Separator for scrolled messages, `msgsep` flag of 'display'
|
||||
MoreMsg = { fg = c.blue500 }, -- |more-prompt|
|
||||
NonText = { fg = c.base00, bold = true }, -- '@' at the end of the window, characters from 'showbreak' and other characters that do not really exist in the text (e.g., ">" displayed when a double-wide character doesn't fit at the end of the line). See also |hl-EndOfBuffer|.
|
||||
Normal = { fg = c.base0, bg = options.transparent and c.none or c.bg }, -- normal text
|
||||
NormalNC = { fg = c.base00, bg = options.transparent and c.none or options.dim_inactive and c.base04 or c.bg }, -- normal text in non-current windows
|
||||
NormalSB = { fg = c.base01, bg = c.bg_sidebar }, -- normal text in sidebar
|
||||
NormalFloat = { fg = c.base0, bg = c.bg_float }, -- Normal text in floating windows.
|
||||
FloatBorder = { fg = c.yellow700, bg = c.bg_float },
|
||||
FloatTitle = { fg = c.base2, bg = c.bg_float },
|
||||
Pmenu = { fg = c.base0, bg = c.base02 }, -- Popup menu: normal item.
|
||||
PmenuSel = { fg = c.base01, bg = c.base2, reverse = true }, -- Popup menu: selected item.
|
||||
PmenuSbar = { fg = c.base02, reverse = true }, -- Popup menu: scrollbar.
|
||||
PmenuThumb = { fg = c.base0, reverse = true }, -- Popup menu: Thumb of the scrollbar.
|
||||
Question = { fg = c.cyan500, bold = true }, -- |hit-enter| prompt and yes/no questions
|
||||
QuickFixLine = { bg = c.blue700, bold = true }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there.
|
||||
Search = { fg = c.yellow500, reverse = true }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out.
|
||||
IncSearch = { fg = c.base2, bg = c.orange500 }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c"
|
||||
CurSearch = "IncSearch",
|
||||
SpecialKey = { fg = c.base00 }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace|
|
||||
SpellBad = { sp = c.red500, undercurl = true }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise.
|
||||
SpellCap = { sp = c.violet500, undercurl = true }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise.
|
||||
SpellLocal = { sp = c.cyan500, undercurl = true }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise.
|
||||
SpellRare = { sp = c.yellow500, undercurl = true }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise.
|
||||
StatusLine = { fg = c.base1, bg = c.base03 }, -- status line of current window
|
||||
StatusLineNC = { fg = options.hide_inactive_statusline and c.bg or c.base0, bg = options.hide_inactive_statusline and c.none or c.base04, sp = options.hide_inactive_statusline and c.border or c.none, underline = options.hide_inactive_statusline and true or false }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window.
|
||||
TabLine = { fg = c.base0, bg = c.base02, sp = c.base0 }, -- tab pages line, not active tab page label
|
||||
TabLineFill = { fg = c.base0, bg = c.base02 }, -- tab pages line, where there are no labels
|
||||
TabLineSel = { fg = c.yellow500, bg = c.bg }, -- tab pages line, active tab page label
|
||||
Title = { fg = c.orange500, bold = true }, -- titles for output from ":set all", ":autocmd" etc.
|
||||
Visual = { bg = c.base02 }, -- Visual mode selection
|
||||
VisualNOS = { bg = c.base03, reverse = true }, -- Visual mode selection when vim is "Not Owning the Selection".
|
||||
WarningMsg = { fg = c.orange500, bold = true }, -- warning messages
|
||||
Whitespace = { fg = c.base01 }, -- "nbsp", "space", "tab" and "trail" in 'listchars'
|
||||
WildMenu = { fg = c.base2, bg = c.base02, reverse = true }, -- current match in 'wildmenu' completion
|
||||
WinBar = "StatusLine", -- window bar
|
||||
WinBarNC = "StatusLineNC", -- window bar in inactive windows
|
||||
|
||||
-- These groups are for the native LSP client. Some other LSP clients may
|
||||
-- use these groups, or use their own. Consult your LSP client's
|
||||
-- documentation.
|
||||
LspReferenceText = { bg = c.magenta900 }, -- used for highlighting "text" references
|
||||
LspReferenceRead = { bg = c.magenta900 }, -- used for highlighting "read" references
|
||||
LspReferenceWrite = { bg = c.magenta900 }, -- used for highlighting "write" references
|
||||
LspSignatureActiveParameter = { bg = c.base03, bold = true },
|
||||
LspCodeLens = { fg = c.base01 },
|
||||
LspInlayHint = { bg = c.violet900, fg = c.violet500 },
|
||||
LspInfoBorder = { fg = c.base02, bg = c.bg_float },
|
||||
|
||||
DiagnosticError = { fg = c.error }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
|
||||
DiagnosticWarn = { fg = c.warning }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
|
||||
DiagnosticInfo = { fg = c.info }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
|
||||
DiagnosticHint = { fg = c.hint }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
|
||||
DiagnosticUnnecessary = { fg = c.base00 }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default
|
||||
|
||||
DiagnosticVirtualTextError = { bg = c.red900, fg = c.red500 }, -- Used for "Error" diagnostic virtual text
|
||||
DiagnosticVirtualTextWarn = { bg = c.yellow900, fg = c.yellow500 }, -- Used for "Warning" diagnostic virtual text
|
||||
DiagnosticVirtualTextInfo = { bg = c.blue900, fg = c.blue500 }, -- Used for "Information" diagnostic virtual text
|
||||
DiagnosticVirtualTextHint = { bg = c.cyan900, fg = c.cyan500 }, -- Used for "Hint" diagnostic virtual text
|
||||
|
||||
DiagnosticUnderlineError = { undercurl = true, sp = c.error }, -- Used to underline "Error" diagnostics
|
||||
DiagnosticUnderlineWarn = { undercurl = true, sp = c.warning }, -- Used to underline "Warning" diagnostics
|
||||
DiagnosticUnderlineInfo = { undercurl = true, sp = c.info }, -- Used to underline "Information" diagnostics
|
||||
DiagnosticUnderlineHint = { undercurl = true, sp = c.hint }, -- Used to underline "Hint" diagnostics
|
||||
|
||||
healthError = { fg = c.error },
|
||||
healthSuccess = { fg = c.cyan },
|
||||
healthWarning = { fg = c.warning },
|
||||
|
||||
diffAdded = { fg = c.green500 },
|
||||
diffRemoved = { fg = c.red500 },
|
||||
diffChanged = { fg = c.yellow500 },
|
||||
diffOldFile = { fg = c.violet500 },
|
||||
diffNewFile = { fg = c.orange500 },
|
||||
diffFile = { fg = c.blue500 },
|
||||
diffLine = { fg = c.base01 },
|
||||
diffIndexLine = { fg = c.magenta500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/fern.lua
Normal file
10
lua/solarized-osaka/groups/fern.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
FernBranchText = { fg = c.blue },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/flash.lua
Normal file
11
lua/solarized-osaka/groups/flash.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
FlashBackdrop = { fg = c.base01 },
|
||||
FlashLabel = { bg = c.magenta500, bold = true, fg = c.bg },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
18
lua/solarized-osaka/groups/fzf.lua
Normal file
18
lua/solarized-osaka/groups/fzf.lua
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
--stylua: ignore
|
||||
return {
|
||||
FzfLuaNormal = { fg = c.base0, bg = c.bg_float },
|
||||
FzfLuaBorder = { fg = c.base02, bg = c.bg_float },
|
||||
FzfLuaCursor = "IncSearch",
|
||||
FzfLuaFzfCursorLine = "CursorLine",
|
||||
FzfLuaPath = "Directory",
|
||||
FzfLuaHeaderText = "Title",
|
||||
FzfLuaHeaderBind = { fg = c.yellow, bg = c.bg_float },
|
||||
FzfLuaPreviewTitle = { fg = c.blue, bg = c.bg_float },
|
||||
FzfLuaTitle = { fg = c.orange, bg = c.bg_float },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
15
lua/solarized-osaka/groups/gitgutter.lua
Normal file
15
lua/solarized-osaka/groups/gitgutter.lua
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
GitGutterAdd = { fg = c.green500 }, -- diff mode: Added line |diff.txt|
|
||||
GitGutterChange = { fg = c.yellow500 }, -- diff mode: Changed line |diff.txt|
|
||||
GitGutterDelete = { fg = c.red500 }, -- diff mode: Deleted line |diff.txt|
|
||||
GitGutterAddLineNr = { fg = c.green500 },
|
||||
GitGutterChangeLineNr = { fg = c.yellow500 },
|
||||
GitGutterDeleteLineNr = { fg = c.red500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
12
lua/solarized-osaka/groups/gitsigns.lua
Normal file
12
lua/solarized-osaka/groups/gitsigns.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
GitSignsAdd = { fg = c.green500 }, -- diff mode: Added line |diff.txt|
|
||||
GitSignsChange = { fg = c.yellow500 }, -- diff mode: Changed line |diff.txt|
|
||||
GitSignsDelete = { fg = c.red500 }, -- diff mode: Deleted line |diff.txt|
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/glyph-palette.lua
Normal file
16
lua/solarized-osaka/groups/glyph-palette.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
GlyphPalette1 = { fg = c.red500 },
|
||||
GlyphPalette2 = { fg = c.green },
|
||||
GlyphPalette3 = { fg = c.yellow },
|
||||
GlyphPalette4 = { fg = c.blue },
|
||||
GlyphPalette6 = { fg = c.cyan },
|
||||
GlyphPalette7 = { fg = c.fg },
|
||||
GlyphPalette9 = { fg = c.red },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
13
lua/solarized-osaka/groups/hop.lua
Normal file
13
lua/solarized-osaka/groups/hop.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
HopNextKey = { fg = c.magenta500, bold = true },
|
||||
HopNextKey1 = { fg = c.violet500, bold = true },
|
||||
HopNextKey2 = { fg = c.violet700 },
|
||||
HopUnmatched = { fg = c.base01 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
14
lua/solarized-osaka/groups/illuminate.lua
Normal file
14
lua/solarized-osaka/groups/illuminate.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
illuminatedWord = { bg = c.violet900 },
|
||||
illuminatedCurWord = { bg = c.violet900 },
|
||||
IlluminatedWordText = { bg = c.violet900 },
|
||||
IlluminatedWordRead = { bg = c.magenta900 },
|
||||
IlluminatedWordWrite = { bg = c.magenta900 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
12
lua/solarized-osaka/groups/indent-blankline.lua
Normal file
12
lua/solarized-osaka/groups/indent-blankline.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
IblIndent = { fg = c.base03, nocombine = true },
|
||||
IndentBlanklineChar = { fg = c.base03, nocombine = true },
|
||||
IndentBlanklineContextChar = { fg = c.orange500, nocombine = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
135
lua/solarized-osaka/groups/init.lua
Normal file
135
lua/solarized-osaka/groups/init.lua
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
local Util = require("solarized-osaka.util")
|
||||
|
||||
local M = {}
|
||||
|
||||
-- stylua: ignore
|
||||
M.plugins = {
|
||||
["alpha-nvim"] = "alpha",
|
||||
["barbar.nvim"] = "barbar",
|
||||
["bufferline.nvim"] = "bufferline",
|
||||
["blink.cmp"] = "blink",
|
||||
["dashboard-nvim"] = "dashboard",
|
||||
["flash.nvim"] = "flash",
|
||||
["fzf-lua"] = "fzf",
|
||||
["vim-fern"] = "fern",
|
||||
["gitsigns.nvim"] = "gitsigns",
|
||||
["hop.nvim"] = "hop",
|
||||
["indent-blankline.nvim"] = "indent-blankline",
|
||||
["leap.nvim"] = "leap",
|
||||
["lspsaga.nvim"] = "lspsaga",
|
||||
["lightspeed"] = "lightspeed",
|
||||
["mini.animate"] = "mini_animate",
|
||||
["mini.clue"] = "mini_clue",
|
||||
["mini.completion"] = "mini_completion",
|
||||
["mini.cursorword"] = "mini_cursorword",
|
||||
["mini.deps"] = "mini_deps",
|
||||
["mini.diff"] = "mini_diff",
|
||||
["mini.files"] = "mini_files",
|
||||
["mini.hipatterns"] = "mini_hipatterns",
|
||||
["mini.icons"] = "mini_icons",
|
||||
["mini.indentscope"] = "mini_indentscope",
|
||||
["mini.jump"] = "mini_jump",
|
||||
["mini.map"] = "mini_map",
|
||||
["mini.notify"] = "mini_notify",
|
||||
["mini.operators"] = "mini_operators",
|
||||
["mini.pick"] = "mini_pick",
|
||||
["mini.starter"] = "mini_starter",
|
||||
["mini.statusline"] = "mini_statusline",
|
||||
["mini.surround"] = "mini_surround",
|
||||
["mini.tabline"] = "mini_tabline",
|
||||
["mini.test"] = "mini_test",
|
||||
["mini.trailspace"] = "mini_trailspace",
|
||||
["neo-tree.nvim"] = "neo-tree",
|
||||
["neogit"] = "neogit",
|
||||
["neotest"] = "neotest",
|
||||
["noice.nvim"] = "noice",
|
||||
["nvim-cmp"] = "cmp",
|
||||
["nvim-navic"] = "navic",
|
||||
["nvim-notify"] = "notify",
|
||||
["nvim-scrollbar"] = "scrollbar",
|
||||
["nvim-tree.lua"] = "nvim-tree",
|
||||
["nvim-treesitter-context"] = "treesitter-context",
|
||||
["nvim-ts-rainbow"] = "nvim-ts-rainbow",
|
||||
["nvim-ts-rainbow2"] = "nvim-ts-rainbow2",
|
||||
["ts-node-action"] = "ts-node-action",
|
||||
["rainbow-delimiters.nvim"] = "rainbow-delimiters",
|
||||
["snacks.nvim"] = "snacks",
|
||||
["telescope.nvim"] = "telescope",
|
||||
["trouble.nvim"] = "trouble",
|
||||
["vim-gitgutter"] = "gitgutter",
|
||||
["vim-glyph-palette"] = "glyph-palette",
|
||||
["vim-illuminate"] = "illuminate",
|
||||
["vim-sneak"] = "sneak",
|
||||
["which-key.nvim"] = "which-key",
|
||||
["yanky.nvim"] = "yanky"
|
||||
}
|
||||
|
||||
function M.get_group(name)
|
||||
return Util.mod("solarized-osaka.groups." .. name)
|
||||
end
|
||||
|
||||
function M.get(name, colors, opts)
|
||||
local mod = M.get_group(name)
|
||||
return mod.get(colors, opts)
|
||||
end
|
||||
|
||||
function M.setup(colors, opts)
|
||||
local groups = {
|
||||
editor = true,
|
||||
syntax = true,
|
||||
semantic_tokens = true,
|
||||
treesitter = true,
|
||||
}
|
||||
if opts.plugins.all then
|
||||
for _, group in pairs(M.plugins) do
|
||||
groups[group] = true
|
||||
end
|
||||
elseif opts.plugins.auto and package.loaded.lazy then
|
||||
local plugins = require("lazy.core.config").plugins
|
||||
for plugin, group in pairs(M.plugins) do
|
||||
if plugins[plugin] then
|
||||
groups[group] = true
|
||||
end
|
||||
end
|
||||
|
||||
-- special case for mini.nvim
|
||||
if plugins["mini.nvim"] then
|
||||
for _, group in pairs(M.plugins) do
|
||||
if group:find("^mini_") then
|
||||
groups[group] = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- manually enable/disable plugins
|
||||
for plugin, group in pairs(M.plugins) do
|
||||
local use = opts.plugins[group]
|
||||
use = use == nil and opts.plugins[plugin] or use
|
||||
if use ~= nil then
|
||||
if type(use) == "table" then
|
||||
use = use.enabled
|
||||
end
|
||||
groups[group] = use or nil
|
||||
end
|
||||
end
|
||||
|
||||
local names = vim.tbl_keys(groups)
|
||||
table.sort(names)
|
||||
|
||||
local ret = {}
|
||||
|
||||
for group in pairs(groups) do
|
||||
for k, v in pairs(M.get(group, colors, opts)) do
|
||||
ret[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
Util.resolve(ret)
|
||||
|
||||
opts.on_highlights(ret, colors)
|
||||
|
||||
return ret, groups
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/lazy.lua
Normal file
11
lua/solarized-osaka/groups/lazy.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
LazyProgressDone = { bold = true, fg = c.magenta500 },
|
||||
LazyProgressTodo = { bold = true, fg = c.base01 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
12
lua/solarized-osaka/groups/leap.lua
Normal file
12
lua/solarized-osaka/groups/leap.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
LeapMatch = { bg = c.magenta500, fg = c.fg, bold = true },
|
||||
LeapLabel = { fg = c.magenta500, bold = true },
|
||||
LeapBackdrop = { fg = c.base01 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
22
lua/solarized-osaka/groups/lightspeed.lua
Normal file
22
lua/solarized-osaka/groups/lightspeed.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
LightspeedGreyWash = { fg = c.base01 },
|
||||
-- LightspeedCursor = { link = "Cursor" },
|
||||
LightspeedLabel = { fg = c.magenta500, bold = true, underline = true },
|
||||
LightspeedLabelDistant = { fg = c.cyan, bold = true, underline = true },
|
||||
LightspeedLabelDistantOverlapped = { fg = c.cyan500, underline = true },
|
||||
LightspeedLabelOverlapped = { fg = c.magenta500, underline = true },
|
||||
LightspeedMaskedChar = { fg = c.orange },
|
||||
LightspeedOneCharMatch = { bg = c.magenta500, fg = c.fg, bold = true },
|
||||
LightspeedPendingOpArea = { bg = c.magenta500, fg = c.fg },
|
||||
LightspeedShortcut = { bg = c.magenta500, fg = c.fg, bold = true, underline = true },
|
||||
-- LightspeedShortcutOverlapped = { link = "LightspeedShortcut" },
|
||||
-- LightspeedUniqueChar = { link = "LightspeedUnlabeledMatch" },
|
||||
LightspeedUnlabeledMatch = { fg = c.violet500, bold = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
27
lua/solarized-osaka/groups/lspsaga.lua
Normal file
27
lua/solarized-osaka/groups/lspsaga.lua
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
DiagnosticWarning = "DiagnosticWarn",
|
||||
DiagnosticInformation = "DiagnosticInfo",
|
||||
LspFloatWinNormal = { bg = c.bg_float },
|
||||
LspFloatWinBorder = { fg = c.base02 },
|
||||
LspSagaBorderTitle = { fg = c.cyan },
|
||||
LspSagaHoverBorder = { fg = c.blue },
|
||||
LspSagaRenameBorder = { fg = c.green },
|
||||
LspSagaDefPreviewBorder = { fg = c.green },
|
||||
LspSagaCodeActionBorder = { fg = c.blue },
|
||||
LspSagaFinderSelection = { fg = c.base03 },
|
||||
LspSagaCodeActionTitle = { fg = c.cyan },
|
||||
LspSagaCodeActionContent = { fg = c.violet500 },
|
||||
LspSagaSignatureHelpBorder = { fg = c.red },
|
||||
ReferencesCount = { fg = c.violet500 },
|
||||
DefinitionCount = { fg = c.violet500 },
|
||||
DefinitionIcon = { fg = c.blue },
|
||||
ReferencesIcon = { fg = c.blue },
|
||||
TargetWord = { fg = c.cyan500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/mini_animate.lua
Normal file
11
lua/solarized-osaka/groups/mini_animate.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniAnimateCursor = { reverse = true, nocombine = true },
|
||||
MiniAnimateNormalFloat = "NormalFloat",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/mini_clue.lua
Normal file
16
lua/solarized-osaka/groups/mini_clue.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniClueBorder = "FloatBorder",
|
||||
MiniClueDescGroup = "DiagnosticFloatingWarn",
|
||||
MiniClueDescSingle = "NormalFloat",
|
||||
MiniClueNextKey = "DiagnosticFloatingHint",
|
||||
MiniClueNextKeyWithPostkeys = "DiagnosticFloatingError",
|
||||
MiniClueSeparator = "DiagnosticFloatingInfo",
|
||||
MiniClueTitle = "FloatTitle",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/mini_completion.lua
Normal file
10
lua/solarized-osaka/groups/mini_completion.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniCompletionActiveParameter = "LspSignatureActiveParameter",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/mini_cursorword.lua
Normal file
11
lua/solarized-osaka/groups/mini_cursorword.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniCursorword = { underline = true },
|
||||
MiniCursorwordCurrent = { underline = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
19
lua/solarized-osaka/groups/mini_deps.lua
Normal file
19
lua/solarized-osaka/groups/mini_deps.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniDepsChangeAdded = "diffAdded",
|
||||
MiniDepsChangeRemoved = "diffRemoved",
|
||||
MiniDepsHint = "DiagnosticHint",
|
||||
MiniDepsInfo = "DiagnosticInfo",
|
||||
MiniDepsMsgBreaking = "DiagnosticWarn",
|
||||
MiniDepsPlaceholder = "Comment",
|
||||
MiniDepsTitle = "Title",
|
||||
MiniDepsTitleError = "DiffDelete",
|
||||
MiniDepsTitleSame = "DiffText",
|
||||
MiniDepsTitleUpdate = "DiffAdd",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/mini_diff.lua
Normal file
16
lua/solarized-osaka/groups/mini_diff.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniDiffOverAdd = "DiffAdd",
|
||||
MiniDiffOverChange = "DiffText",
|
||||
MiniDiffOverContext = "DiffChange",
|
||||
MiniDiffOverDelete = "DiffDelete",
|
||||
MiniDiffSignAdd = { fg = c.green500 },
|
||||
MiniDiffSignChange = { fg = c.yellow500 },
|
||||
MiniDiffSignDelete = { fg = c.red500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
17
lua/solarized-osaka/groups/mini_files.lua
Normal file
17
lua/solarized-osaka/groups/mini_files.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniFilesBorder = "FloatBorder",
|
||||
MiniFilesBorderModified = "DiagnosticFloatingWarn",
|
||||
MiniFilesCursorLine = "CursorLine",
|
||||
MiniFilesDirectory = "Directory",
|
||||
MiniFilesFile = { fg = c.fg },
|
||||
MiniFilesNormal = "NormalFloat",
|
||||
MiniFilesTitle = "FloatTitle",
|
||||
MiniFilesTitleFocused = { fg = c.hint, bg = c.bg_float },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
13
lua/solarized-osaka/groups/mini_hipatterns.lua
Normal file
13
lua/solarized-osaka/groups/mini_hipatterns.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniHipatternsFixme = { fg = c.bg, bg = c.error, bold = true },
|
||||
MiniHipatternsHack = { fg = c.bg, bg = c.warning, bold = true },
|
||||
MiniHipatternsNote = { fg = c.bg, bg = c.info, bold = true },
|
||||
MiniHipatternsTodo = { fg = c.bg, bg = c.hint, bold = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
18
lua/solarized-osaka/groups/mini_icons.lua
Normal file
18
lua/solarized-osaka/groups/mini_icons.lua
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniIconsAzure = { fg = c.blue300 },
|
||||
MiniIconsBlue = { fg = c.blue },
|
||||
MiniIconsCyan = { fg = c.cyan },
|
||||
MiniIconsGreen = { fg = c.green },
|
||||
MiniIconsGrey = { fg = c.base2 },
|
||||
MiniIconsOrange = { fg = c.orange },
|
||||
MiniIconsPurple = { fg = c.violet },
|
||||
MiniIconsRed = { fg = c.red },
|
||||
MiniIconsYellow = { fg = c.yellow },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/mini_indentscope.lua
Normal file
11
lua/solarized-osaka/groups/mini_indentscope.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniIndentscopeSymbol = { fg = c.violet700, nocombine = true },
|
||||
MiniIndentscopeSymbolOff = { fg = c.warning, nocombine = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
14
lua/solarized-osaka/groups/mini_jump.lua
Normal file
14
lua/solarized-osaka/groups/mini_jump.lua
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniJump = { bg = c.magenta500, fg = c.base4 },
|
||||
MiniJump2dDim = { fg = c.base01 },
|
||||
MiniJump2dSpot = { fg = c.magenta500, bold = true, nocombine = true },
|
||||
MiniJump2dSpotAhead = { fg = c.cyan500, bg = c.black, nocombine = true },
|
||||
MiniJump2dSpotUnique = { fg = c.yellow500, bold = true, nocombine = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
13
lua/solarized-osaka/groups/mini_map.lua
Normal file
13
lua/solarized-osaka/groups/mini_map.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniMapNormal = "NormalFloat",
|
||||
MiniMapSymbolCount = "Special",
|
||||
MiniMapSymbolLine = "Title",
|
||||
MiniMapSymbolView = "Delimiter",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
12
lua/solarized-osaka/groups/mini_notify.lua
Normal file
12
lua/solarized-osaka/groups/mini_notify.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniNotifyBorder = "FloatBorder",
|
||||
MiniNotifyNormal = "NormalFloat",
|
||||
MiniNotifyTitle = "FloatTitle",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/mini_operators.lua
Normal file
10
lua/solarized-osaka/groups/mini_operators.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniOperatorsExchangeFrom = "IncSearch",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
22
lua/solarized-osaka/groups/mini_pick.lua
Normal file
22
lua/solarized-osaka/groups/mini_pick.lua
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniPickBorder = "FloatBorder",
|
||||
MiniPickBorderBusy = "DiagnosticFloatingWarn",
|
||||
MiniPickBorderText = "FloatTitle",
|
||||
MiniPickHeader = "DiagnosticFloatingHint",
|
||||
MiniPickIconDirectory = "Directory",
|
||||
MiniPickIconFile = "MiniPickNormal",
|
||||
MiniPickMatchCurrent = "CursorLine",
|
||||
MiniPickMatchMarked = "Visual",
|
||||
MiniPickMatchRanges = "DiagnosticFloatingHint",
|
||||
MiniPickNormal = "NormalFloat",
|
||||
MiniPickPreviewLine = "CursorLine",
|
||||
MiniPickPreviewRegion = "IncSearch",
|
||||
MiniPickPrompt = "DiagnosticFloatingInfo",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
18
lua/solarized-osaka/groups/mini_starter.lua
Normal file
18
lua/solarized-osaka/groups/mini_starter.lua
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniStarterCurrent = { nocombine = true },
|
||||
MiniStarterFooter = { fg = c.yellow, italic = true },
|
||||
MiniStarterHeader = { fg = c.blue },
|
||||
MiniStarterInactive = { fg = c.base01, style = opts.styles.comments },
|
||||
MiniStarterItem = { fg = c.fg, bg = opts.transparent and c.none or c.bg },
|
||||
MiniStarterItemBullet = { fg = c.base01 },
|
||||
MiniStarterItemPrefix = { fg = c.warning },
|
||||
MiniStarterSection = { fg = c.violet500 },
|
||||
MiniStarterQuery = { fg = c.info },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
19
lua/solarized-osaka/groups/mini_statusline.lua
Normal file
19
lua/solarized-osaka/groups/mini_statusline.lua
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniStatuslineDevinfo = { fg = c.base01, bg = c.bg_highlight },
|
||||
MiniStatuslineFileinfo = { fg = c.base01, bg = c.bg_highlight },
|
||||
MiniStatuslineFilename = { fg = c.base01, bg = c.bg_highlight },
|
||||
MiniStatuslineInactive = { fg = opts.hide_inactive_statusline and c.bg or c.blue, bg = opts.hide_inactive_statusline and c.none or c.bg_statusline, sp = opts.hide_inactive_statusline and c.border or c.none, underline = opts.hide_inactive_statusline },
|
||||
MiniStatuslineModeCommand = { fg = c.black, bg = c.yellow, bold = true },
|
||||
MiniStatuslineModeInsert = { fg = c.black, bg = c.green, bold = true },
|
||||
MiniStatuslineModeNormal = { fg = c.black, bg = c.blue, bold = true },
|
||||
MiniStatuslineModeOther = { fg = c.black, bg = c.cyan500, bold = true },
|
||||
MiniStatuslineModeReplace = { fg = c.black, bg = c.red, bold = true },
|
||||
MiniStatuslineModeVisual = { fg = c.black, bg = c.magenta, bold = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/mini_surround.lua
Normal file
10
lua/solarized-osaka/groups/mini_surround.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniSurround = { bg = c.orange, fg = c.black },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
17
lua/solarized-osaka/groups/mini_tabline.lua
Normal file
17
lua/solarized-osaka/groups/mini_tabline.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniTablineCurrent = { fg = c.fg, bg = c.base02, bold = true },
|
||||
MiniTablineFill = { bg = c.black },
|
||||
MiniTablineHidden = { fg = c.violet500, bg = c.bg_statusline },
|
||||
MiniTablineModifiedCurrent = { fg = c.base02, bg = c.fg, bold = true },
|
||||
MiniTablineModifiedHidden = { fg = c.bg_statusline, bg = c.violet500 },
|
||||
MiniTablineModifiedVisible = { fg = c.bg_statusline, bg = c.fg },
|
||||
MiniTablineTabpagesection = { bg = c.bg_statusline, fg = c.none },
|
||||
MiniTablineVisible = { fg = c.fg, bg = c.bg_statusline },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
12
lua/solarized-osaka/groups/mini_test.lua
Normal file
12
lua/solarized-osaka/groups/mini_test.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniTestEmphasis = { bold = true },
|
||||
MiniTestFail = { fg = c.red, bold = true },
|
||||
MiniTestPass = { fg = c.green, bold = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/mini_trailspace.lua
Normal file
10
lua/solarized-osaka/groups/mini_trailspace.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
MiniTrailspace = { bg = c.red },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
38
lua/solarized-osaka/groups/navic.lua
Normal file
38
lua/solarized-osaka/groups/navic.lua
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NavicIconsFile = { fg = c.fg, bg = c.bg_statusline },
|
||||
NavicIconsModule = { fg = c.yellow, bg = c.bg_statusline },
|
||||
NavicIconsNamespace = { fg = c.fg, bg = c.bg_statusline },
|
||||
NavicIconsPackage = { fg = c.fg, bg = c.bg_statusline },
|
||||
NavicIconsClass = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsMethod = { fg = c.blue, bg = c.bg_statusline },
|
||||
NavicIconsProperty = { fg = c.cyan, bg = c.bg_statusline },
|
||||
NavicIconsField = { fg = c.cyan, bg = c.bg_statusline },
|
||||
NavicIconsConstructor = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsEnum = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsInterface = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsFunction = { fg = c.blue, bg = c.bg_statusline },
|
||||
NavicIconsVariable = { fg = c.magenta, bg = c.bg_statusline },
|
||||
NavicIconsConstant = { fg = c.magenta, bg = c.bg_statusline },
|
||||
NavicIconsString = { fg = c.green, bg = c.bg_statusline },
|
||||
NavicIconsNumber = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsBoolean = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsArray = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsObject = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsKey = { fg = c.violet500, bg = c.bg_statusline },
|
||||
NavicIconsKeyword = { fg = c.violet500, bg = c.bg_statusline },
|
||||
NavicIconsNull = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsEnumMember = { fg = c.cyan, bg = c.bg_statusline },
|
||||
NavicIconsStruct = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsEvent = { fg = c.orange, bg = c.bg_statusline },
|
||||
NavicIconsOperator = { fg = c.fg, bg = c.bg_statusline },
|
||||
NavicIconsTypeParameter = { fg = c.cyan, bg = c.bg_statusline },
|
||||
NavicText = { fg = c.fg, bg = c.bg_statusline },
|
||||
NavicSeparator = { fg = c.fg, bg = c.bg_statusline },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
13
lua/solarized-osaka/groups/neo-tree.lua
Normal file
13
lua/solarized-osaka/groups/neo-tree.lua
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NeoTreeNormal = { fg = c.base00, bg = c.bg_sidebar },
|
||||
NeoTreeNormalNC = { fg = c.base00, bg = c.bg_sidebar },
|
||||
NeoTreeDimText = { fg = c.base01 },
|
||||
NeoTreeMessage = { fg = c.base01 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/neogit.lua
Normal file
16
lua/solarized-osaka/groups/neogit.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NeogitBranch = { fg = c.magenta500 },
|
||||
NeogitRemote = { fg = c.violet500 },
|
||||
NeogitHunkHeader = { fg = c.base0, bg = c.base02 },
|
||||
NeogitHunkHeaderHighlight = { fg = c.blue500, bg = c.base02 },
|
||||
NeogitDiffContextHighlight = { fg = c.base00, bg = c.base02 },
|
||||
NeogitDiffDeleteHighlight = { fg = c.red500, bg = c.red900 },
|
||||
NeogitDiffAddHighlight = { fg = c.green500, bg = c.green900 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
26
lua/solarized-osaka/groups/neotest.lua
Normal file
26
lua/solarized-osaka/groups/neotest.lua
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NeotestPassed = { fg = c.green500 },
|
||||
NeotestRunning = { fg = c.yellow500 },
|
||||
NeotestFailed = { fg = c.red500 },
|
||||
NeotestSkipped = { fg = c.blue500 },
|
||||
NeotestTest = { fg = c.base00 },
|
||||
NeotestNamespace = { fg = c.cyan500 },
|
||||
NeotestFocused = { fg = c.yellow500 },
|
||||
NeotestFile = { fg = c.cyan500 },
|
||||
NeotestDir = { fg = c.blue500 },
|
||||
NeotestBorder = { fg = c.blue500 },
|
||||
NeotestIndent = { fg = c.base00 },
|
||||
NeotestExpandMarker = { fg = c.base0 },
|
||||
NeotestAdapterName = { fg = c.violet500, bold = true },
|
||||
NeotestWinSelect = { fg = c.blue500 },
|
||||
NeotestMarked = { fg = c.blue500 },
|
||||
NeotestTarget = { fg = c.blue500 },
|
||||
--[[ NeotestUnknown = {}, ]]
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/noice.lua
Normal file
10
lua/solarized-osaka/groups/noice.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NoiceCompletionItemKindDefault = { fg = c.base01, bg = c.none },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
36
lua/solarized-osaka/groups/notify.lua
Normal file
36
lua/solarized-osaka/groups/notify.lua
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
local Util = require("solarized-osaka.util")
|
||||
|
||||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NotifyBackground = { fg = c.fg, bg = c.bg },
|
||||
--- Border
|
||||
NotifyERRORBorder = { fg = Util.darken(c.error, 0.3), bg = opts.transparent and c.none or c.bg },
|
||||
NotifyWARNBorder = { fg = Util.darken(c.warning, 0.3), bg = opts.transparent and c.none or c.bg },
|
||||
NotifyINFOBorder = { fg = Util.darken(c.info, 0.3), bg = opts.transparent and c.none or c.bg },
|
||||
NotifyDEBUGBorder = { fg = Util.darken(c.base01, 0.3), bg = opts.transparent and c.none or c.bg },
|
||||
NotifyTRACEBorder = { fg = Util.darken(c.violet500, 0.3), bg = opts.transparent and c.none or c.bg },
|
||||
--- Icons
|
||||
NotifyERRORIcon = { fg = c.error },
|
||||
NotifyWARNIcon = { fg = c.warning },
|
||||
NotifyINFOIcon = { fg = c.info },
|
||||
NotifyDEBUGIcon = { fg = c.base01 },
|
||||
NotifyTRACEIcon = { fg = c.violet500 },
|
||||
--- Title
|
||||
NotifyERRORTitle = { fg = c.error },
|
||||
NotifyWARNTitle = { fg = c.warning },
|
||||
NotifyINFOTitle = { fg = c.info },
|
||||
NotifyDEBUGTitle = { fg = c.base01 },
|
||||
NotifyTRACETitle = { fg = c.violet500 },
|
||||
--- Body
|
||||
NotifyERRORBody = { fg = c.fg, bg = opts.transparent and c.none or c.bg },
|
||||
NotifyWARNBody = { fg = c.fg, bg = opts.transparent and c.none or c.bg },
|
||||
NotifyINFOBody = { fg = c.fg, bg = opts.transparent and c.none or c.bg },
|
||||
NotifyDEBUGBody = { fg = c.fg, bg = opts.transparent and c.none or c.bg },
|
||||
NotifyTRACEBody = { fg = c.fg, bg = opts.transparent and c.none or c.bg },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
23
lua/solarized-osaka/groups/nvim-tree.lua
Normal file
23
lua/solarized-osaka/groups/nvim-tree.lua
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
NvimTreeNormal = { fg = c.base00, bg = c.bg_sidebar },
|
||||
NvimTreeWinSeparator = { fg = opts.styles.sidebars == "transparent" and c.border or c.bg_sidebar, bg = c.bg_sidebar },
|
||||
NvimTreeNormalNC = { fg = c.base00, bg = c.bg_sidebar },
|
||||
NvimTreeRootFolder = { fg = c.blue, bold = true },
|
||||
NvimTreeGitDirty = { fg = c.yellow500 },
|
||||
NvimTreeGitNew = { fg = c.green500 },
|
||||
NvimTreeGitDeleted = { fg = c.red500 },
|
||||
NvimTreeOpenedFile = { bg = c.bg_highlight },
|
||||
NvimTreeSpecialFile = { fg = c.violet500, underline = true },
|
||||
NvimTreeIndentMarker = { fg = c.base02 },
|
||||
NvimTreeImageFile = { fg = c.base00 },
|
||||
NvimTreeSymlink = { fg = c.blue },
|
||||
NvimTreeFolderIcon = { bg = c.none, fg = c.blue },
|
||||
-- NvimTreeFolderName= { fg = c.fg_float },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/nvim-ts-rainbow.lua
Normal file
16
lua/solarized-osaka/groups/nvim-ts-rainbow.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
rainbowcol1 = { fg = c.red500 },
|
||||
rainbowcol2 = { fg = c.orange500 },
|
||||
rainbowcol3 = { fg = c.yellow500 },
|
||||
rainbowcol4 = { fg = c.green500 },
|
||||
rainbowcol5 = { fg = c.cyan500 },
|
||||
rainbowcol6 = { fg = c.blue500 },
|
||||
rainbowcol7 = { fg = c.magenta500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/nvim-ts-rainbow2.lua
Normal file
16
lua/solarized-osaka/groups/nvim-ts-rainbow2.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
TSRainbowRed = { fg = c.red },
|
||||
TSRainbowOrange = { fg = c.orange },
|
||||
TSRainbowYellow = { fg = c.yellow },
|
||||
TSRainbowGreen = { fg = c.green },
|
||||
TSRainbowBlue = { fg = c.blue },
|
||||
TSRainbowViolet = { fg = c.violet500 },
|
||||
TSRainbowCyan = { fg = c.cyan },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/rainbow-delimiters.lua
Normal file
16
lua/solarized-osaka/groups/rainbow-delimiters.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
RainbowDelimiterRed = { fg = c.red },
|
||||
RainbowDelimiterOrange = { fg = c.orange },
|
||||
RainbowDelimiterYellow = { fg = c.yellow },
|
||||
RainbowDelimiterGreen = { fg = c.green },
|
||||
RainbowDelimiterBlue = { fg = c.blue },
|
||||
RainbowDelimiterViolet = { fg = c.violet },
|
||||
RainbowDelimiterCyan = { fg = c.cyan },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
28
lua/solarized-osaka/groups/scrollbar.lua
Normal file
28
lua/solarized-osaka/groups/scrollbar.lua
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
ScrollbarHandle = { fg = c.none, bg = c.bg_highlight },
|
||||
|
||||
ScrollbarSearchHandle = { fg = c.orange, bg = c.bg_highlight },
|
||||
ScrollbarSearch = { fg = c.orange, bg = c.none },
|
||||
|
||||
ScrollbarErrorHandle = { fg = c.error, bg = c.bg_highlight },
|
||||
ScrollbarError = { fg = c.error, bg = c.none },
|
||||
|
||||
ScrollbarWarnHandle = { fg = c.warning, bg = c.bg_highlight },
|
||||
ScrollbarWarn = { fg = c.warning, bg = c.none },
|
||||
|
||||
ScrollbarInfoHandle = { fg = c.info, bg = c.bg_highlight },
|
||||
ScrollbarInfo = { fg = c.info, bg = c.none },
|
||||
|
||||
ScrollbarHintHandle = { fg = c.hint, bg = c.bg_highlight },
|
||||
ScrollbarHint = { fg = c.hint, bg = c.none },
|
||||
|
||||
ScrollbarMiscHandle = { fg = c.violet500, bg = c.bg_highlight },
|
||||
ScrollbarMisc = { fg = c.violet500, bg = c.none },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
52
lua/solarized-osaka/groups/semantic_tokens.lua
Normal file
52
lua/solarized-osaka/groups/semantic_tokens.lua
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
["@lsp.type.boolean"] = "@boolean",
|
||||
["@lsp.type.builtinType"] = "@type.builtin",
|
||||
["@lsp.type.comment"] = "@comment",
|
||||
["@lsp.type.decorator"] = "@attribute",
|
||||
["@lsp.type.deriveHelper"] = "@attribute",
|
||||
["@lsp.type.enum"] = "@type",
|
||||
["@lsp.type.enumMember"] = "@constant",
|
||||
["@lsp.type.escapeSequence"] = "@string.escape",
|
||||
["@lsp.type.formatSpecifier"] = "@markup.list",
|
||||
["@lsp.type.generic"] = "@variable",
|
||||
["@lsp.type.interface"] = { fg = c.blue500 },
|
||||
["@lsp.type.keyword"] = "@keyword",
|
||||
["@lsp.type.lifetime"] = "@keyword.storage",
|
||||
["@lsp.type.namespace"] = "@module",
|
||||
["@lsp.type.number"] = "@number",
|
||||
["@lsp.type.operator"] = "@operator",
|
||||
["@lsp.type.parameter"] = "@variable.parameter",
|
||||
["@lsp.type.property"] = "@property",
|
||||
["@lsp.type.selfKeyword"] = "@variable.builtin",
|
||||
["@lsp.type.selfTypeKeyword"] = "@variable.builtin",
|
||||
["@lsp.type.string"] = "@string",
|
||||
["@lsp.type.typeAlias"] = "@type.definition",
|
||||
["@lsp.type.unresolvedReference"] = { undercurl = true, sp = c.error },
|
||||
["@lsp.type.variable"] = {}, -- use treesitter styles for regular variables
|
||||
["@lsp.typemod.class.defaultLibrary"] = "@type.builtin",
|
||||
["@lsp.typemod.enum.defaultLibrary"] = "@type.builtin",
|
||||
["@lsp.typemod.enumMember.defaultLibrary"] = "@constant.builtin",
|
||||
["@lsp.typemod.function.defaultLibrary"] = "@function.builtin",
|
||||
["@lsp.typemod.keyword.async"] = "@keyword.coroutine",
|
||||
["@lsp.typemod.keyword.injected"] = "@keyword",
|
||||
["@lsp.typemod.macro.defaultLibrary"] = "@function.builtin",
|
||||
["@lsp.typemod.method.defaultLibrary"] = "@function.builtin",
|
||||
["@lsp.typemod.operator.injected"] = "@operator",
|
||||
["@lsp.typemod.string.injected"] = "@string",
|
||||
["@lsp.typemod.struct.defaultLibrary"] = "@type.builtin",
|
||||
["@lsp.typemod.type.defaultLibrary"] = { fg = c.blue500 },
|
||||
["@lsp.typemod.typeAlias.defaultLibrary"] = { fg = c.blue500 },
|
||||
["@lsp.typemod.variable.callable"] = "@function",
|
||||
["@lsp.typemod.variable.defaultLibrary"] = "@variable.builtin",
|
||||
["@lsp.typemod.variable.injected"] = "@variable",
|
||||
["@lsp.typemod.variable.static"] = "@constant",
|
||||
-- NOTE: maybe add these with distinct highlights?
|
||||
-- ["@lsp.typemod.variable.globalScope"] (global variables)
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
20
lua/solarized-osaka/groups/snacks.lua
Normal file
20
lua/solarized-osaka/groups/snacks.lua
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
SnacksDashboardDesc = { fg = c.cyan500 },
|
||||
SnacksDashboardKey = { fg = c.orange500 },
|
||||
SnacksDashboardFooter = { fg = c.yellow, italic = true },
|
||||
SnacksDashboardSpecial = { fg = c.yellow500 },
|
||||
SnacksDashboardHeader = { fg = c.blue },
|
||||
SnacksDashboardIcon = { fg = c.cyan500, bold = true },
|
||||
SnacksNotifierBorderTrace = { fg = c.magenta500 },
|
||||
SnacksNotifierIconTrace = { fg = c.magenta500 },
|
||||
SnacksNotifierTitleTrace = { fg = c.magenta500 },
|
||||
SnacksIndentScope = { fg = c.violet700, nocombine = true },
|
||||
SnacksIndent = { fg = c.base03, nocombine = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/sneak.lua
Normal file
11
lua/solarized-osaka/groups/sneak.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
Sneak = { fg = c.bg_highlight, bg = c.magenta },
|
||||
SneakScope = { bg = c.base03 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
61
lua/solarized-osaka/groups/syntax.lua
Normal file
61
lua/solarized-osaka/groups/syntax.lua
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
Comment = { fg = c.base01, style = opts.styles.comments }, -- any comment
|
||||
Constant = { fg = c.cyan500 }, -- (preferred) any constant
|
||||
String = { fg = c.cyan500 }, -- a string constant: "this is a string"
|
||||
Character = "Constant", -- a character constant: 'c', '\n'
|
||||
-- Number = { }, -- a number constant: 234, 0xff
|
||||
-- Boolean = { }, -- a boolean constant: TRUE, false
|
||||
-- Float = { }, -- a floating point constant: 2.3e10
|
||||
|
||||
Identifier = { fg = c.blue500, style = opts.styles.variables }, -- (preferred) any variable name
|
||||
Function = { fg = c.blue500, style = opts.styles.functions }, -- function name (also: methods for classes)
|
||||
|
||||
Statement = { fg = c.green500 }, -- (preferred) any statement
|
||||
-- Conditional = { }, -- if, then, else, endif, switch, etc.
|
||||
-- Repeat = { }, -- for, do, while, etc.
|
||||
-- Label = { }, -- case, default, etc.
|
||||
Operator = { fg = c.green500 }, -- "sizeof", "+", "*", etc.
|
||||
Keyword = { fg = c.green500, style = opts.styles.keywords }, -- any other keyword
|
||||
-- Exception = { }, -- try, catch, throw
|
||||
|
||||
PreProc = { fg = c.red500 }, -- (preferred) generic Preprocessor
|
||||
-- Include = { }, -- preprocessor #include
|
||||
-- Define = { }, -- preprocessor #define
|
||||
-- Macro = { }, -- same as Define
|
||||
-- PreCondit = { }, -- preprocessor #if, #else, #endif, etc.
|
||||
|
||||
Type = { fg = c.yellow500 }, -- (preferred) int, long, char, etc.
|
||||
-- StorageClass = { }, -- static, register, volatile, etc.
|
||||
-- Structure = { }, -- struct, union, enum, etc.
|
||||
-- Typedef = { }, -- A typedef
|
||||
|
||||
Special = { fg = c.orange500 }, -- (preferred) any special symbol
|
||||
-- SpecialChar = { }, -- special character in a constant
|
||||
-- Tag = { }, -- you can use CTRL-] on this
|
||||
-- Delimiter = { }, -- character that needs attention
|
||||
-- SpecialComment= { }, -- special things inside a comment
|
||||
Debug = { fg = c.orange500 }, -- debugging statements
|
||||
htmlH1 = { fg = c.magenta500, bold = true },
|
||||
htmlH2 = { fg = c.blue500, bold = true },
|
||||
|
||||
-- mkdHeading = { fg = c.orange, bold = true },
|
||||
mkdCode = { bg = c.green900 },
|
||||
mkdCodeDelimiter = { fg = c.base0, bg = c.green700 },
|
||||
mkdCodeStart = { fg = c.orange500, bold = true },
|
||||
mkdCodeEnd = { fg = c.orange500, bold = true },
|
||||
-- mkdLink = { fg = c.blue, underline = true },
|
||||
|
||||
markdownHeadingDelimiter = { fg = c.orange500, bold = true },
|
||||
markdownCode = { fg = c.yellow500, bg = c.green900 },
|
||||
markdownCodeBlock = { fg = c.yellow500, bg = c.green900 },
|
||||
markdownH1 = { fg = c.magenta500, bold = true },
|
||||
markdownH2 = { fg = c.violet500, bold = true },
|
||||
markdownLinkText = { fg = c.blue500, underline = true },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/telescope.lua
Normal file
11
lua/solarized-osaka/groups/telescope.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
TelescopeBorder = { fg = c.base02, bg = c.bg_float },
|
||||
TelescopeNormal = { fg = c.base0, bg = c.bg_float },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
10
lua/solarized-osaka/groups/treesitter-context.lua
Normal file
10
lua/solarized-osaka/groups/treesitter-context.lua
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
TreesitterContext = { bg = c.violet900 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
141
lua/solarized-osaka/groups/treesitter.lua
Normal file
141
lua/solarized-osaka/groups/treesitter.lua
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
["@annotation"] = "PreProc",
|
||||
["@attribute"] = "PreProc",
|
||||
["@boolean"] = "Boolean",
|
||||
["@character"] = "Character",
|
||||
["@character.special"] = "SpecialChar",
|
||||
["@comment"] = "Comment",
|
||||
["@keyword.conditional"] = "Conditional",
|
||||
["@constant"] = "Constant",
|
||||
["@constant.builtin"] = "Special",
|
||||
["@constant.macro"] = "Define",
|
||||
["@keyword.debug"] = "Debug",
|
||||
["@keyword.directive.define"] = "Define",
|
||||
["@keyword.exception"] = "Exception",
|
||||
["@number.float"] = "Float",
|
||||
["@function"] = "Function",
|
||||
["@function.builtin"] = "Special",
|
||||
["@function.call"] = "@function",
|
||||
["@function.macro"] = "Macro",
|
||||
["@keyword.import"] = "Include",
|
||||
["@keyword.coroutine"] = "@keyword",
|
||||
["@keyword.operator"] = "@operator",
|
||||
["@keyword.return"] = "@keyword",
|
||||
["@function.method"] = "Function",
|
||||
["@function.method.call"] = "@function.method",
|
||||
["@namespace.builtin"] = "@variable.builtin",
|
||||
["@none"] = {},
|
||||
["@number"] = "Number",
|
||||
["@keyword.directive"] = "PreProc",
|
||||
["@keyword.repeat"] = "Repeat",
|
||||
["@keyword.storage"] = "StorageClass",
|
||||
["@string"] = "String",
|
||||
["@markup.link.label"] = "SpecialChar",
|
||||
["@markup.link.label.symbol"] = "Identifier",
|
||||
["@tag"] = "Label",
|
||||
["@tag.attribute"] = "@property",
|
||||
["@tag.delimiter"] = "Delimiter",
|
||||
["@markup"] = "@none",
|
||||
["@markup.environment"] = "Macro",
|
||||
["@markup.environment.name"] = "Type",
|
||||
["@markup.raw"] = "String",
|
||||
["@markup.math"] = "Special",
|
||||
["@markup.strong"] = { bold = true },
|
||||
["@markup.italic"] = { italic = true },
|
||||
["@markup.strikethrough"] = { strikethrough = true },
|
||||
["@markup.underline"] = { underline = true },
|
||||
["@markup.heading"] = "Title",
|
||||
["@comment.note"] = { fg = c.hint },
|
||||
["@comment.error"] = { fg = c.error },
|
||||
["@comment.hint"] = { fg = c.hint },
|
||||
["@comment.info"] = { fg = c.info },
|
||||
["@comment.warning"] = { fg = c.warning },
|
||||
["@comment.todo"] = { fg = c.todo },
|
||||
["@markup.link.url"] = "Underlined",
|
||||
["@type"] = "Type",
|
||||
["@type.definition"] = "Typedef",
|
||||
["@type.qualifier"] = "@keyword",
|
||||
|
||||
-- Misc
|
||||
-- TODO:
|
||||
-- ["@comment.documentation"] = { },
|
||||
-- ["@operator"] = { fg = c.green500 }, -- For any operator: `+`, but also `->` and `*` in C.
|
||||
|
||||
-- Punctuation
|
||||
["@punctuation.delimiter"] = { fg = c.green500 }, -- For delimiters ie: `.`
|
||||
["@punctuation.bracket"] = { fg = c.orange500 }, -- For brackets and parens.
|
||||
["@punctuation.special"] = { fg = c.orange500 }, -- For special punctutation that does not fall in the catagories before.
|
||||
["@punctuation.special.markdown"] = { fg = c.orange500, bold = true },
|
||||
["@markup.list"] = { fg = c.blue500 }, -- For special punctutation that does not fall in the catagories before.
|
||||
["@markup.list.markdown"] = { fg = c.orange500, bold = true },
|
||||
|
||||
-- Literals
|
||||
["@string.documentation"] = { fg = c.cyan500 },
|
||||
["@string.regexp"] = { fg = c.cyan300 }, -- For regexes.
|
||||
["@string.escape"] = { fg = c.orange700 }, -- For escape characters within a string.
|
||||
|
||||
-- Functions
|
||||
["@constructor"] = { fg = c.orange500 }, -- For constructor calls and definitions: `= { }` in Lua, and Java constructors.
|
||||
["@variable.parameter"] = { fg = c.orange500 }, -- For parameters of a function.
|
||||
["@variable.parameter.builtin"] = { fg = c.yellow300 }, -- For builtin parameters of a function, e.g. "..." or Smali's p[1-99]
|
||||
|
||||
-- Keywords
|
||||
["@keyword"] = { fg = c.green500, style = opts.styles.keywords }, -- For keywords that don't fall in previous categories.
|
||||
["@keyword.function"] = { fg = c.green500, style = opts.styles.functions }, -- For keywords used to define a fuction.
|
||||
|
||||
["@label"] = { fg = c.green500 }, -- For labels: `label:` in C and `:label:` in Lua.
|
||||
|
||||
-- Types
|
||||
["@type.builtin"] = "Type",
|
||||
["@variable.member"] = { fg = c.cyan500 }, -- For fields.
|
||||
["@property"] = "Identifier",
|
||||
|
||||
-- Identifiers
|
||||
["@variable"] = { fg = c.base0, style = opts.styles.variables }, -- Any variable name that does not have another highlight.
|
||||
["@variable.builtin"] = { fg = c.orange500 }, -- Variable names that are defined by the languages, like `this` or `self`.
|
||||
["@module.builtin"] = { fg = c.orange500 }, -- Variable names that are defined by the languages, like `this` or `self`.
|
||||
|
||||
-- Text
|
||||
["@markup.raw.markdown"] = { fg = c.blue },
|
||||
["@markup.raw.markdown_inline"] = { fg = c.yellow500, bg = c.green900 },
|
||||
["@markup.link"] = { fg = c.blue500, underline = true },
|
||||
|
||||
["@markup.list.unchecked"] = { fg = c.yellow500 }, -- For brackets and parens.
|
||||
["@markup.list.checked"] = { fg = c.green500 }, -- For brackets and parens.
|
||||
|
||||
["@diff.plus"] = "DiffAdd",
|
||||
["@diff.minus"] = "DiffDelete",
|
||||
["@diff.delta"] = "DiffChange",
|
||||
|
||||
["@module"] = "Include",
|
||||
|
||||
-- tsx
|
||||
["@constructor.tsx"] = { fg = c.blue500 },
|
||||
["@tag.delimiter.tsx"] = { fg = c.orange500 },
|
||||
["@tag.tsx"] = { fg = c.yellow500 },
|
||||
["@keyword.return.tsx"] = { fg = c.green500, italic = true },
|
||||
["@keyword.tsx"] = { fg = c.green500, italic = true },
|
||||
|
||||
-- typescript
|
||||
["@variable.typescript"] = { fg = c.yellow500 },
|
||||
|
||||
-- Vue
|
||||
["@tag.delimiter.vue"] = { fg = c.orange500 },
|
||||
|
||||
-- html
|
||||
["@tag.delimiter.html"] = { fg = c.orange500 },
|
||||
|
||||
-- javascriptreact
|
||||
["@keyword.javascript"] = { fg = c.green500, italic = true },
|
||||
["@keyword.return.javascript"] = { fg = c.green500, italic = true },
|
||||
["@tag.delimiter.javascript"] = { fg = c.orange500 },
|
||||
["@tag.javascript"] = { fg = c.yellow500 },
|
||||
["@variable.javascript"] = { fg = c.yellow500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
12
lua/solarized-osaka/groups/trouble.lua
Normal file
12
lua/solarized-osaka/groups/trouble.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
TroubleText = { fg = c.base0 },
|
||||
TroubleCount = { fg = c.magenta500 },
|
||||
TroubleNormal = { fg = c.base0 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/ts-node-action.lua
Normal file
11
lua/solarized-osaka/groups/ts-node-action.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
TSNodeKey = { fg = c.magenta500, bold = true },
|
||||
TSNodeUnmatched = { fg = c.base01 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
16
lua/solarized-osaka/groups/which-key.lua
Normal file
16
lua/solarized-osaka/groups/which-key.lua
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
WhichKey = { fg = c.cyan },
|
||||
WhichKeyGroup = { fg = c.blue },
|
||||
WhichKeyDesc = { fg = c.magenta },
|
||||
WhichKeySeperator = { fg = c.base01 },
|
||||
WhichKeySeparator = { fg = c.base01 },
|
||||
WhichKeyBorder = { fg = c.base02, bg = c.bg_float },
|
||||
WhichKeyValue = { fg = c.violet500 },
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
11
lua/solarized-osaka/groups/yanky.lua
Normal file
11
lua/solarized-osaka/groups/yanky.lua
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
local M = {}
|
||||
|
||||
function M.get(c, opts)
|
||||
-- stylua: ignore
|
||||
return {
|
||||
YankyPut = "IncSearch",
|
||||
YankyYanked = "IncSearch",
|
||||
}
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
@ -1,4 +1,3 @@
|
|||
local util = require("solarized-osaka.util")
|
||||
local theme = require("solarized-osaka.theme")
|
||||
local config = require("solarized-osaka.config")
|
||||
|
||||
|
|
@ -20,7 +19,7 @@ function M.load(opts)
|
|||
if opts then
|
||||
require("solarized-osaka.config").extend(opts)
|
||||
end
|
||||
util.load(theme.setup())
|
||||
theme.setup()
|
||||
end
|
||||
|
||||
M.setup = config.setup
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -69,39 +69,6 @@ function M.highlight(group, hl)
|
|||
vim.api.nvim_set_hl(0, group, hl)
|
||||
end
|
||||
|
||||
---@param config Config
|
||||
function M.autocmds(config)
|
||||
local group = vim.api.nvim_create_augroup("solarized-osaka", { clear = true })
|
||||
|
||||
vim.api.nvim_create_autocmd("ColorSchemePre", {
|
||||
group = group,
|
||||
callback = function()
|
||||
vim.api.nvim_del_augroup_by_id(group)
|
||||
end,
|
||||
})
|
||||
local function set_whl()
|
||||
local win = vim.api.nvim_get_current_win()
|
||||
local whl = vim.split(vim.wo[win].winhighlight, ",")
|
||||
vim.list_extend(whl, { "Normal:NormalSB", "SignColumn:SignColumnSB" })
|
||||
whl = vim.tbl_filter(function(hl)
|
||||
return hl ~= ""
|
||||
end, whl)
|
||||
vim.opt_local.winhighlight = table.concat(whl, ",")
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
group = group,
|
||||
pattern = table.concat(config.sidebars, ","),
|
||||
callback = set_whl,
|
||||
})
|
||||
if vim.tbl_contains(config.sidebars, "terminal") then
|
||||
vim.api.nvim_create_autocmd("TermOpen", {
|
||||
group = group,
|
||||
callback = set_whl,
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
-- Simple string interpolation.
|
||||
--
|
||||
-- Example template: "${name} is ${value}"
|
||||
|
|
@ -122,36 +89,6 @@ function M.syntax(syntax)
|
|||
end
|
||||
end
|
||||
|
||||
---@param colors ColorScheme
|
||||
function M.terminal(colors)
|
||||
-- dark
|
||||
vim.g.terminal_color_0 = colors.black
|
||||
vim.g.terminal_color_8 = colors.terminal_black
|
||||
|
||||
-- light
|
||||
vim.g.terminal_color_7 = colors.fg_dark
|
||||
vim.g.terminal_color_15 = colors.fg
|
||||
|
||||
-- colors
|
||||
vim.g.terminal_color_1 = colors.red
|
||||
vim.g.terminal_color_9 = colors.red
|
||||
|
||||
vim.g.terminal_color_2 = colors.green
|
||||
vim.g.terminal_color_10 = colors.green
|
||||
|
||||
vim.g.terminal_color_3 = colors.yellow
|
||||
vim.g.terminal_color_11 = colors.yellow
|
||||
|
||||
vim.g.terminal_color_4 = colors.blue
|
||||
vim.g.terminal_color_12 = colors.blue
|
||||
|
||||
vim.g.terminal_color_5 = colors.magenta
|
||||
vim.g.terminal_color_13 = colors.magenta
|
||||
|
||||
vim.g.terminal_color_6 = colors.cyan
|
||||
vim.g.terminal_color_14 = colors.cyan
|
||||
end
|
||||
|
||||
---@param colors ColorScheme
|
||||
function M.invert_colors(colors)
|
||||
if type(colors) == "string" then
|
||||
|
|
@ -179,36 +116,28 @@ function M.invert_highlights(hls)
|
|||
end
|
||||
end
|
||||
|
||||
---@param theme Theme
|
||||
function M.load(theme)
|
||||
-- only needed to clear when not the default colorscheme
|
||||
if vim.g.colors_name then
|
||||
vim.cmd("hi clear")
|
||||
local me = debug.getinfo(1, "S").source:sub(2)
|
||||
me = vim.fn.fnamemodify(me, ":h:h")
|
||||
|
||||
function M.mod(modname)
|
||||
if package.loaded[modname] then
|
||||
return package.loaded[modname]
|
||||
end
|
||||
local ret = loadfile(me .. "/" .. modname:gsub("%.", "/") .. ".lua")()
|
||||
package.loaded[modname] = ret
|
||||
return ret
|
||||
end
|
||||
|
||||
vim.o.termguicolors = true
|
||||
vim.g.colors_name = "solarized-osaka"
|
||||
|
||||
if ts.new_style() then
|
||||
for group, colors in pairs(ts.defaults) do
|
||||
if not theme.highlights[group] then
|
||||
M.highlight(group, colors)
|
||||
function M.resolve(groups)
|
||||
for _, hl in pairs(groups) do
|
||||
if type(hl.style) == "table" then
|
||||
for k, v in pairs(hl.style) do
|
||||
hl[k] = v
|
||||
end
|
||||
hl.style = nil
|
||||
end
|
||||
end
|
||||
|
||||
M.syntax(theme.highlights)
|
||||
|
||||
-- vim.api.nvim_set_hl_ns(M.ns)
|
||||
if theme.config.terminal_colors then
|
||||
M.terminal(theme.colors)
|
||||
end
|
||||
|
||||
M.autocmds(theme.config)
|
||||
|
||||
vim.defer_fn(function()
|
||||
M.syntax(theme.defer)
|
||||
end, 100)
|
||||
return groups
|
||||
end
|
||||
|
||||
return M
|
||||
|
|
|
|||
Loading…
Reference in a new issue