diff --git a/extra/bloom/ghostty-flow-cyan.config b/extra/bloom/ghostty-flow-cyan.config deleted file mode 100644 index 207bec5..0000000 --- a/extra/bloom/ghostty-flow-cyan.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #00e1ff -selection-background = #0d0d0d -selection-foreground = #00e1ff diff --git a/extra/bloom/ghostty-flow-green.config b/extra/bloom/ghostty-flow-green.config deleted file mode 100644 index cfec631..0000000 --- a/extra/bloom/ghostty-flow-green.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #15ff00 -selection-background = #0d0d0d -selection-foreground = #15ff00 diff --git a/extra/bloom/ghostty-flow-orange.config b/extra/bloom/ghostty-flow-orange.config deleted file mode 100644 index 846b378..0000000 --- a/extra/bloom/ghostty-flow-orange.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #ff6a00 -selection-background = #0d0d0d -selection-foreground = #ff6a00 diff --git a/extra/bloom/ghostty-flow-pink.config b/extra/bloom/ghostty-flow-pink.config deleted file mode 100644 index 7feaf81..0000000 --- a/extra/bloom/ghostty-flow-pink.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #ff007b -selection-background = #0d0d0d -selection-foreground = #ff007b diff --git a/extra/bloom/ghostty-flow-yellow.config b/extra/bloom/ghostty-flow-yellow.config deleted file mode 100644 index 6f602af..0000000 --- a/extra/bloom/ghostty-flow-yellow.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #fbff00 -selection-background = #0d0d0d -selection-foreground = #fbff00 diff --git a/extra/eclipse/ghostty-flow-cyan.config b/extra/eclipse/ghostty-flow-cyan.config deleted file mode 100644 index 207bec5..0000000 --- a/extra/eclipse/ghostty-flow-cyan.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #00e1ff -selection-background = #0d0d0d -selection-foreground = #00e1ff diff --git a/extra/eclipse/ghostty-flow-green.config b/extra/eclipse/ghostty-flow-green.config deleted file mode 100644 index cfec631..0000000 --- a/extra/eclipse/ghostty-flow-green.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #15ff00 -selection-background = #0d0d0d -selection-foreground = #15ff00 diff --git a/extra/eclipse/ghostty-flow-orange.config b/extra/eclipse/ghostty-flow-orange.config deleted file mode 100644 index 846b378..0000000 --- a/extra/eclipse/ghostty-flow-orange.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #ff6a00 -selection-background = #0d0d0d -selection-foreground = #ff6a00 diff --git a/extra/eclipse/ghostty-flow-pink.config b/extra/eclipse/ghostty-flow-pink.config deleted file mode 100644 index 7feaf81..0000000 --- a/extra/eclipse/ghostty-flow-pink.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #ff007b -selection-background = #0d0d0d -selection-foreground = #ff007b diff --git a/extra/eclipse/ghostty-flow-yellow.config b/extra/eclipse/ghostty-flow-yellow.config deleted file mode 100644 index 6f602af..0000000 --- a/extra/eclipse/ghostty-flow-yellow.config +++ /dev/null @@ -1,33 +0,0 @@ -# Flow colorscheme | Ghostty -# https://github.com/0xstepit/flow.nvim - -background = #1b2228 -foreground = #b3c1cc -# black -palette = 0=#0d0d0d -palette = 8=#0d0d0d -# red -palette = 1=#d98c93 -palette = 9=#d98c93 -# green -palette = 2=#93d98c -palette = 10=#93d98c -# yellow -palette = 3=#d9d28c -palette = 11=#d9d28c -# blue -palette = 4=#8cb9d9 -palette = 12=#8cb9d9 -# purple -palette = 5=#ac8cd9 -palette = 13=#ac8cd9 -# aqua -palette = 6=#8cd9d2 -palette = 14=#8cd9d2 -# white -palette = 7=#f2f2f2 -palette = 15=#f2f2f2 - -cursor-color = #fbff00 -selection-background = #0d0d0d -selection-foreground = #fbff00 diff --git a/lua/barbecue/theme/flow.lua b/lua/barbecue/theme/flow.lua new file mode 100644 index 0000000..1ab1752 --- /dev/null +++ b/lua/barbecue/theme/flow.lua @@ -0,0 +1,44 @@ +local options = require("flow.config").options +local c = require("flow.colors").setup(options) + +local M = { + normal = { bg = c.none, fg = c.grey[4] }, + + ellipsis = { fg = c.fg_gutter }, + separator = { fg = c.fg_gutter }, + modified = { fg = c.yellow }, + + dirname = { fg = c.grey[4] }, + basename = { fg = c.light_blue }, + context = { fg = c.grey[6] }, + + context_object = { fg = c.cyan }, + context_class = { fg = c.cyan }, + context_struct = { fg = c.cyan }, + + context_enum = { fg = c.purple }, + context_interface = { fg = c.purple }, + context_array = { fg = c.purple }, + context_event = { fg = c.yellow }, + context_number = { fg = c.yellow }, + context_boolean = { link = "Number" }, + context_file = { link = "Directory" }, + context_module = { fg = c.yellow }, + context_namespace = { fg = c.yellow }, + context_package = { fg = c.blue }, + context_method = { fg = c.blue }, + context_property = { fg = c.green }, + context_field = { fg = c.green }, + context_constructor = { fg = c.blue }, + context_function = { fg = c.blue }, + context_variable = { fg = c.purple }, + context_constant = { fg = c.purple }, + context_string = { link = "String" }, + context_key = { fg = c.purple }, + context_null = { fg = c.blue }, + context_enum_member = { fg = c.green }, + context_operator = { fg = c.green }, + context_type_parameter = { fg = c.purple }, +} + +return M diff --git a/lua/flow/colors.lua b/lua/flow/colors.lua index f3a3b89..92692e8 100644 --- a/lua/flow/colors.lua +++ b/lua/flow/colors.lua @@ -53,7 +53,7 @@ function M.setup(opts) colors[Key] = default_palette[key] end - colors.comment = default_palette.grey[4] + colors.comment = default_palette.grey[5] -- +----------------------------------------------------------------------------------------+ -- | Sidebar (e.g., NERDTree, Telescope, Quickfix) | <- Sidebar @@ -94,7 +94,7 @@ function M.setup(opts) -- Popups: use for completion menu and all visual components that appears autonomously. colors.fg_popup = default_palette.grey[7] - colors.bg_popup = (is_transparent and default_palette.transparent) or colors.grey[1] + colors.bg_popup = (is_transparent and default_palette.transparent) or colors.bg -- Statusline and tabline colors.fg_statusline = colors.grey[4] @@ -105,8 +105,8 @@ function M.setup(opts) colors.bg_highlight = colors.grey[2] -- Visual - colors.fg_visual = colors.fluo - colors.bg_visual = colors.grey[1] + colors.bg_visual = colors.fluo + colors.fg_visual = colors.grey[2] -- Git colors.git = { diff --git a/lua/flow/config.lua b/lua/flow/config.lua index a997272..e41fca3 100644 --- a/lua/flow/config.lua +++ b/lua/flow/config.lua @@ -31,6 +31,8 @@ M.defaults = { borders = "inverse", ---@boolean aggressive_spell = false, + ---@boolean + aggressive_special_comment = false, }, } diff --git a/lua/flow/extra/template/tmux.lua b/lua/flow/extra/template/tmux.lua index 2bd660c..5a7494a 100644 --- a/lua/flow/extra/template/tmux.lua +++ b/lua/flow/extra/template/tmux.lua @@ -21,8 +21,8 @@ setw -g window-status-separator " " set -g window-status-current-style fg=colour198 set -g window-status-format "(#I) #W" set -g window-status-current-format "(#I) #W" -set -g status-left "#[fg=${black},bg=${light_blue}] #S #[bg=${fg_gutter},fg=${light_blue}] #h #[bg=${bg_statusline}] " -set -g status-right "#[bg=${fg_gutter},fg=${light_blue}] %H:%M #[fg=${black},bg=${light_blue}] %A %d. %b %Y " +set -g status-left "#[fg=${bg_highlight},bg=${light_blue}] #S #[bg=${bg_highlight},fg=${light_blue}] #h #[bg=${bg_statusline}] " +set -g status-right "#[bg=${bg_highlight},fg=${light_blue}] %H:%M #[fg=${bg_highlight},bg=${light_blue}] %A %d. %b %Y " set -g message-command-style fg=${fluo} set -g message-style "fg=${fluo}, bg=${bg_statusline}" # color used in the message popup. diff --git a/lua/flow/highlights/base.lua b/lua/flow/highlights/base.lua index ef108dd..1988d3e 100644 --- a/lua/flow/highlights/base.lua +++ b/lua/flow/highlights/base.lua @@ -22,7 +22,7 @@ function M.get(c, o) -- Highlighted elements CursorLine = { bg = c.bg_highlight }, -- Used with the line set with 'cursorline'. - ColorColumn = { bg = c.bg_highlight, fg = c.fg_highlight }, -- Used for the columns set with 'colorcolumn'. + ColorColumn = { bg = c.bg_highlight }, -- Used for the columns set with 'colorcolumn'. CursorColumn = { link = "ColorColumn" }, -- Used with the column set with 'cursorcolumn'. Folded = { link = "ColorColumn" }, -- Line used for closed folds. CursorLineNr = { fg = c.fluo }, @@ -42,8 +42,8 @@ function M.get(c, o) -- Cursors -- NOTE: these highlights groups are superseeded by the terminal colors used. For example, -- the colors used for the cursor are defined in the Alacritty's config. - Cursor = { fg = c.bg, bg = c.fg }, -- Character under the cursor. - lCursor = { fg = c.bg, bg = c.fg }, -- The character under the cursor when |language-mapping| is used (see 'guicursor'). + Cursor = { fg = c.flow, bg = c.fg }, -- Character under the cursor. + lCursor = { fg = c.flow, bg = c.fg }, -- The character under the cursor when |language-mapping| is used (see 'guicursor'). CursorIM = { fg = c.bg, bg = c.fg }, -- Like Cursor, but used when in IME mode |CursorIM|. -- Text @@ -51,35 +51,36 @@ function M.get(c, o) MatchParen = { fg = c.fluo, bold = true }, -- The character under the cursor if it is a paired bracket, and its match. |pi_paren.txt|. Title = { fg = c.purple, bold = true }, -- Titles for output from ":set all", ":autocmd" etc. FloatTitle = { fg = c.fg_float, bg = c.bg_float, bold = true }, -- Title of floating windows. - Whitespace = { fg = c.bg }, -- "nbsp", "space", "tab" and "trail" in 'listchars'. Set as bg to not show them. + Whitespace = { link = "Comment" }, -- "nbsp", "space", "tab" and "trail" in 'listchars'. Set as bg to not show them. NonText = { fg = c.fg_gutter }, -- '@' 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|. EndOfBuffer = { link = "NonText" }, -- Filler lines (~) after the end of the buffer. Conceal = { fg = c.fg }, -- Placeholder characters substituted for concealed text (see 'conceallevel'). -- Search and substitution - IncSearch = { bg = (not is_dark and c.Fluo.dark) or c.Fluo.light, fg = c.bg_visual }, -- Last search pattern highlighting (see 'hlsearch'). - Search = { bg = c.grey[5], fg = c.bg_visual }, -- Used for 'incsearch' highlighting. - CurSearch = { link = "IncSearch" }, -- Used for highlighting a search pattern under the cursor (see 'hlsearch'). + IncSearch = { bg = c.fluo, fg = c.fg_visual }, + Search = { bg = c.grey[5], fg = c.fg_visual }, + CurSearch = { bg = (not is_dark and c.Fluo.dark) or c.Fluo.light, fg = c.fg_visual }, -- Used for highlighting a search pattern under the cursor (see 'hlsearch'). Substitute = { link = "IncSearch" }, -- |:substitute| replacement text highlighting. - Visual = { bg = c.fg_visual, fg = c.bg_visual }, -- Visual mode selection. + + Visual = { bg = c.bg_visual, fg = c.fg_visual }, -- Visual mode selection. VisualNOS = { bg = c.to_check }, -- visual mode selection when vim is "Not Owning the Selection". -- Messages MsgArea = { link = "Normal" }, -- Area for messages and cmdline. - ModeMsg = { fg = c.fg_visual }, -- 'showmode' message (e.g., "-- INSERT -- "). - MoreMsg = { fg = c.fg_visual }, -- |more-prompt|. + ModeMsg = { fg = c.bg_visual }, -- 'showmode' message (e.g., "-- INSERT -- "). + MoreMsg = { fg = c.bg_visual }, -- |more-prompt|. ErrorMsg = { fg = c.error }, -- Error messages on the command line. WarningMsg = { fg = c.warning }, -- Warning messages. MsgSeparator = { fg = c.to_check }, -- Separator for scrolled messages |msgsep|. -- Popup menu Pmenu = { bg = c.bg_popup, fg = c.fg_popup }, -- Popup menu: normal item triggered for example when listing plugin commands in terminal. - PmenuSbar = { bg = c.bg_popup }, -- Popup menu: scrollbar. PmenuSel = { bg = c.bg_visual, fg = c.fg_visual }, -- Popup menu: selected item. - PmenuThumb = { bg = c.comment, bold = true }, -- Popup menu: Thumb of the scrollbar. + PmenuThumb = { bg = c.grey[4], bold = true }, -- Popup menu: Thumb of the scrollbar. + PmenuSbar = { bg = c.bg_popup }, -- Popup menu: scrollbar. -- Quickfix - QuickFixLine = { bg = c.fg_visual, fg = c.bg_visual }, -- Current |quickfix| item in the quickfix window. + QuickFixLine = { bg = c.bg_visual, fg = c.fg_visual }, -- Current |quickfix| item in the quickfix window. qfLineNr = { link = "LineNr" }, -- Line number in the quickfix. qfFileName = { link = "Directory" }, -- Name of the file in the quickfix. qfSeparator = { link = "qfLineNr" }, -- Separator between quickfix line number and filename. @@ -106,7 +107,7 @@ function M.get(c, o) -- I'm not sure where these groups are set. Define = { fg = c.grey[6] }, -- Preprocessor #define. Used in rust. Include = { fg = c.red }, -- preprocessor #include - Question = { fg = c.fg_visual }, -- |hit-enter| prompt and yes/no questions. + Question = { fg = c.bg_visual }, -- |hit-enter| prompt and yes/no questions. WildMenu = { bg = c.to_check }, -- current match in 'wildmenu' completion WinBar = { bg = c.none }, -- Window bar, WinBarNC = { bg = c.none }, -- Window bar in inactive windows, used by dap-ui. diff --git a/lua/flow/highlights/blink.lua b/lua/flow/highlights/blink.lua new file mode 100644 index 0000000..0d0414e --- /dev/null +++ b/lua/flow/highlights/blink.lua @@ -0,0 +1,61 @@ +local M = {} + +-- Defines the highlight group colors for Blink completion. +--- @param c table: The available colors. +--- @param o FlowConfig: The available options. +--- @return table: Nvim cmp highlights. +function M.get(c, o) + local ret = { + BlinkCmpDoc = { fg = c.fg, bg = c.bg_float }, + BlinkCmpGhostText = { fg = c.red }, + BlinkCmpKindCodeium = { fg = c.to_check }, + BlinkCmpKindCopilot = { fg = c.to_check }, + BlinkCmpKindSupermaven = { fg = c.t_check }, + BlinkCmpKindTabNine = { fg = c.to_check }, + BlinkCmpSignatureHelp = { fg = c.fg, bg = c.bg_float }, + + BlinkCmpLabelDeprecated = { fg = c.red, strikethrough = true }, + BlinkCmpLabelMatch = { fg = c.blue, bold = true }, + + BlinkCmpScrollBarGutter = { fg = c.to_check, bg = c.red }, + + BlinkCmpMenuBorder = { fg = c.fg_border, bg = c.bg_float }, + BlinkCmpDocBorder = { link = "BlinkCmpMenuBorder" }, + BlinkCmpSignatureHelpBorder = { link = "BlinkCmpMenuBorder" }, + + BlinkCmpLabel = { fg = c.fg }, + + -- Kind + BlinkCmpKindDefault = { fg = c.fg_visual }, + BlinkCmpKindKeyword = { link = "Keyword" }, + BlinkCmpKindFunction = { link = "Function" }, + BlinkCmpKindSnippet = { fg = c.light_blue }, + BlinkCmpKindField = { link = "@field" }, + BlinkCmpKindProperty = { fg = c.sky_blue }, + BlinkCmpKindEvent = { link = "Type" }, + BlinkCmpKindText = { fg = c.fg_popup }, + BlinkCmpKindEnum = { link = "Type" }, + BlinkCmpKindConstant = { link = "Constant" }, + BlinkCmpKindConstructor = { link = "Function" }, + BlinkCmpKindReference = { fg = c.cyan }, + BlinkCmpKindStruct = { link = "Structure" }, + BlinkCmpKindClass = { link = "Type" }, + BlinkCmpKindModule = { fg = c.yellow }, + BlinkCmpKindOperator = { link = "Operator" }, + BlinkCmpKindVariable = { fg = c.sky_blue }, + BlinkCmpKindUnit = { link = "Constant" }, + BlinkCmpKindFile = { link = "Directory" }, + BlinkCmpKindFolder = { link = "Directory" }, + BlinkCmpKindMethod = { link = "Function" }, + BlinkCmpKindValue = { link = "Constant" }, + BlinkCmpKindEnumMember = { link = "Type" }, + BlinkCmpKindInterface = { link = "Type" }, + BlinkCmpKindColor = { link = "Constant" }, + BlinkCmpKindTypeParameter = { link = "Type" }, + } + + -- require("tokyonight.groups.kinds").kinds(ret, "BlinkCmpKind%s") + return ret +end + +return M diff --git a/lua/flow/highlights/diagnostic.lua b/lua/flow/highlights/diagnostic.lua index 47d70bf..04011bc 100644 --- a/lua/flow/highlights/diagnostic.lua +++ b/lua/flow/highlights/diagnostic.lua @@ -14,7 +14,7 @@ function M.get(c, o) DiagnosticWarn = { fg = c.warning }, DiagnosticInfo = { fg = c.info }, DiagnosticHint = { fg = c.hint }, - DiagnosticUnnecessary = { fg = c.comment, undercurl = true }, + DiagnosticUnnecessary = { undercurl = false }, DiagnosticVirtualTextError = { fg = c.error, bg = c.Red[background_tone] }, DiagnosticVirtualTextWarn = { fg = c.warning, bg = c.Yellow[background_tone] }, diff --git a/lua/flow/highlights/flash.lua b/lua/flow/highlights/flash.lua index 0b1474c..c102442 100644 --- a/lua/flow/highlights/flash.lua +++ b/lua/flow/highlights/flash.lua @@ -8,8 +8,12 @@ function M.get(c, o) local is_dark = o.theme.style == "dark" local theme = { - FlashBackdrop = { fg = c.comment }, - FlashLabel = { bg = c.fluo, fg = (not is_dark and c.grey[2]) or c.grey[7] }, + -- FlashBackdrop = { fg = c.comment }, + FlashLabel = { + -- bg = (not is_dark and c.Fluo.dark) or c.Fluo.light, + bg = c.blue, + fg = c.grey[2], + }, } return theme diff --git a/lua/flow/highlights/git.lua b/lua/flow/highlights/git.lua index 7d191a5..2177387 100644 --- a/lua/flow/highlights/git.lua +++ b/lua/flow/highlights/git.lua @@ -8,8 +8,9 @@ function M.get(c, _) gitKeyword = { fg = c.blue }, gitIdentityKeyword = { link = "gitKeyword" }, - gitCommitSummary = { fg = c.fg_visual }, - gitDate = { link = "Comment" }, + gitCommitSummary = { fg = c.bg_visual }, + gitDate = { fg = c.light_blue }, + gitDiff = { fg = c.grey[4] }, -- Diff diffAdded = { fg = c.git.add, bg = c.diff.add }, @@ -17,9 +18,9 @@ function M.get(c, _) diffChanged = { fg = c.git.change, bg = c.diff.change }, diffOldFile = { fg = c.git.delete }, diffNewFile = { fg = c.git.add }, - diffFile = { fg = c.cyan }, + diffFile = { fg = c.yellow }, diffLine = { fg = c.comment }, - diffIndexLine = { fg = c.blue }, + diffIndexLine = { fg = c.fg }, DiffAdd = { link = "Added" }, -- Diff mode: Added line |diff.txt|. DiffChange = { link = "Changed" }, -- Diff mode: Changed line |diff.txt|. @@ -28,6 +29,7 @@ function M.get(c, _) -- GitSigns GitSignsAdd = { fg = c.git.add }, -- diff mode: Added line |diff.txt| + GitSignsAddPreview = { bg = c.diff.add }, GitSignsChange = { fg = c.git.change }, -- diff mode: Changed line |diff.txt| GitSignsDelete = { fg = c.git.delete }, -- diff mode: Deleted line |diff.txt| GitSignsCurrentLineBlame = { fg = c.grey[4] }, @@ -41,7 +43,8 @@ function M.get(c, _) fugitiveUnstagedModifier = { link = "fugitiveUnstagedHeading" }, fugitiveStagedHeading = { fg = c.green }, fugitiveStagedModifier = { link = "fugitiveStagedHeading" }, - fugitiveCount = { fg = c.grey[5] }, + fugitiveCount = { fg = c.yellow }, + FugitiveblameTime = { link = "gitDate" }, -- Git-conflict GitConflictCurrentLabel = { bg = c.Light_blue.dark }, diff --git a/lua/flow/highlights/lazy.lua b/lua/flow/highlights/lazy.lua index 954d6e3..ac5e8c6 100644 --- a/lua/flow/highlights/lazy.lua +++ b/lua/flow/highlights/lazy.lua @@ -8,8 +8,8 @@ function M.get(c, _) local theme = { LazyH1 = { bg = c.fluo, fg = c.grey[3] }, - LazyProgressDone = { bold = true, fg = c.fluo }, - LazyProgressTodo = { bold = true, fg = c.light_blue }, + LazyProgressDone = { bold = true, fg = c.purple }, + LazyProgressTodo = { bold = true, fg = c.cyan }, LazyNormal = { fg = c.light_blue }, LazyButton = { bg = c.grey[5], fg = c.grey[3] }, diff --git a/lua/flow/highlights/lsp.lua b/lua/flow/highlights/lsp.lua index 04bd421..39ae044 100644 --- a/lua/flow/highlights/lsp.lua +++ b/lua/flow/highlights/lsp.lua @@ -6,11 +6,11 @@ local M = {} --- @return table: Nvim lsp highlights. function M.get(c, _) local theme = { - LspSignatureActiveParameter = { fg = c.fg_visual, bold = true }, -- Parameter highlighter in signature help. + LspSignatureActiveParameter = { bg = c.Cyan.very_dark, bold = true }, -- Parameter highlighter in signature help. - LspReferenceText = { bg = c.fg_gutter }, -- Used for highlighting "text" references. - LspReferenceRead = { bg = c.fg_gutter }, -- Used for highlighting "read" references. - LspReferenceWrite = { bg = c.fg_gutter }, -- Used for highlighting "write" references. + LspReferenceText = { bg = c.Cyan.very_dark }, -- Used for highlighting "text" references. + LspReferenceRead = { link = "LspReferenceText" }, -- Used for highlighting "read" references. + LspReferenceWrite = { link = "LspReferenceText" }, -- Used for highlighting "write" references. LspCodeLens = { fg = c.comment }, @@ -18,6 +18,8 @@ function M.get(c, _) LspInfoBorder = { fg = c.fg_border, bg = c.bg_float }, LspKindSnippet = { fg = c.to_check }, + + SnippetTabstop = { bg = c.Purple.very_dark }, } return theme diff --git a/lua/flow/highlights/markdown.lua b/lua/flow/highlights/markdown.lua index ce6c6d8..764f195 100644 --- a/lua/flow/highlights/markdown.lua +++ b/lua/flow/highlights/markdown.lua @@ -2,8 +2,11 @@ local M = {} -- Defines the highlight group colors for markdown --- @param c table: The available colors. +--- @param o FlowConfig: The available options. --- @return table: Markdown highlights. -function M.get(c, _) +function M.get(c, o) + local is_transparent = o.theme.transparent + local theme = { htmlH1 = { fg = c.purple, bold = true }, htmlH2 = { fg = c.blue, bold = true }, @@ -56,12 +59,13 @@ function M.get(c, _) ["@label.markdown"] = { link = "Keyword" }, -- Used for the language specified in codeblocks. ["@markup.raw.block"] = { - bg = c.grey[2], + bg = (is_transparent and c.transparent) or c.grey[2], }, -- ["@markup.raw.markdown_inline"] = { fg = c.cyan, bg = c.grey[4], - }, -- + }, + -- Obsidian ObsidianRefText = { fg = c.blue }, } diff --git a/lua/flow/highlights/mini-hipatterns.lua b/lua/flow/highlights/mini-hipatterns.lua index dae4270..b5d4830 100644 --- a/lua/flow/highlights/mini-hipatterns.lua +++ b/lua/flow/highlights/mini-hipatterns.lua @@ -1,15 +1,13 @@ local M = {} ---- @param c table: The available colors. --- @return table: Mini hi plugin highlights. -function M.get(c, _) +function M.get(_, _) local theme = { MiniHipatternsTodo = { link = "Todo" }, MiniHipatternsFixme = { link = "Fixme" }, MiniHipatternsNote = { link = "Note" }, MiniHipatternsHack = { link = "Hack" }, - MiniHipatternsWarn = { link = "Warn" }, - MiniHipatternsContract = { fg = c.fluo, bg = c.comment }, + MiniHipatternsContract = { link = "Fixme" }, } return theme end diff --git a/lua/flow/highlights/syntax.lua b/lua/flow/highlights/syntax.lua index 4fd2e08..a323c16 100644 --- a/lua/flow/highlights/syntax.lua +++ b/lua/flow/highlights/syntax.lua @@ -1,8 +1,9 @@ local M = {} --- @param c table: The available colors. +--- @param o FlowConfig: The available options. --- @return table: Syntax highlights. -function M.get(c, _) +function M.get(c, o) local theme = { Boolean = { link = "Constant" }, -- A boolean constant: TRUE, false. @@ -29,10 +30,10 @@ function M.get(c, _) SpecialComment = { fg = c.to_check }, -- special things inside a comment SpecialKey = { fg = c.fluo }, -- Unprintable characters: text displayed differently from what it really is. Like pressing Ctrl + k in insert mode. Statement = { fg = c.purple }, -- Any statement. - StorageClass = { fg = c.to_check }, -- Static, register, volatile, etc. + StorageClass = { fg = c.red }, -- Static, register, volatile, etc. (rust lifetimes) String = { fg = c.sky_blue }, -- A string constant: "this is a string". Structure = { link = "Type" }, -- A struct, union, enum, etc. - Tag = { fg = c.fg_visual }, -- You can use CTRL-] on this. Like Help tag in fugitive. + Tag = { fg = c.bg_visual }, -- You can use CTRL-] on this. Like Help tag in fugitive. Type = { fg = c.light_blue }, -- Types like int, long, char, etc. Typedef = { link = "Type" }, -- A typedef. Bold = { fg = c.grey[6], bold = true }, @@ -50,6 +51,19 @@ function M.get(c, _) Warn = { fg = c.warning, bg = c.comment }, -- Anything that needs extra attention; mostly the keywords TODO FIXME and XXX. } + -- Special comments + if o.ui.aggressive_special_comment then + theme.Todo = { bg = c.todo, fg = c.comment } + theme.Fixme = { bg = c.fixme, fg = c.comment } + theme.Note = { bg = c.note, fg = c.comment } + theme.Hack = { bg = c.hack, fg = c.comment } + else + theme.Todo = { fg = c.todo, bg = c.comment } + theme.Fixme = { fg = c.fixme, bg = c.comment } + theme.Note = { fg = c.note, bg = c.comment } + theme.Hack = { fg = c.hack, bg = c.comment } + end + return theme end diff --git a/lua/flow/highlights/telescope.lua b/lua/flow/highlights/telescope.lua index d9be8a7..c3d7d09 100644 --- a/lua/flow/highlights/telescope.lua +++ b/lua/flow/highlights/telescope.lua @@ -12,13 +12,13 @@ function M.get(c, _) TelescopeResultsNormal = { link = "TelescopeNormal" }, -- Selection - TelescopeSelectionCaret = { fg = c.fg_visual, bold = true }, - TelescopeSelection = { fg = c.fg_visual, bold = true }, - TelescopeMultiSelection = { fg = c.bg_visual, bg = c.fg_visual, bold = true }, -- Open telescope and press TAB on files. + TelescopeSelectionCaret = { fg = c.bg_visual, bold = true }, + TelescopeSelection = { fg = c.bg_visual, bold = true }, + TelescopeMultiSelection = { fg = c.fg_visual, bg = c.bg_visual, bold = true }, -- Open telescope and press TAB on files. TelescopeMultiIcon = { link = "TelescopeMultiSelection" }, -- Icon of selected items. - TelescopeMatching = { fg = c.comment, bold = true }, + TelescopeMatching = { fg = c.blue, bold = true }, - TelescopePromptPrefix = { bg = c.transparent, fg = c.fg_visual }, + TelescopePromptPrefix = { bg = c.transparent, fg = c.bg_visual }, -- Titles TelescopeResultsTitle = { bg = c.transparent, fg = c.fg_border }, diff --git a/lua/flow/highlights/treesitter.lua b/lua/flow/highlights/treesitter.lua index 6f27c0f..f44556c 100644 --- a/lua/flow/highlights/treesitter.lua +++ b/lua/flow/highlights/treesitter.lua @@ -5,12 +5,13 @@ local M = {} function M.get(c, _) local theme = { - TreesitterContext = { bg = c.grey[3] }, + TreesitterContext = { bg = c.grey[2] }, TreesitterContextLineNumber = { link = "TreesitterContext" }, -- TODO: verify the sp with another terminal. -- sp works only if the terminal support it. - TreesitterContextBottom = { sp = c.fluo, underline = true }, - TreesitterContextLineNumberBottom = { link = "TreesitterContextBottom" }, + -- TreesitterContextBottom = { fg = c.comment, sp = c.fluo, underline = false }, + -- TreesitterContextLineNumberBottom = { link = "TreesitterContextBottom" }, + TreesitterContextSeparator = { fg = c.fg_border }, -- Linked ["@annotation"] = { link = "PreProc" }, @@ -145,12 +146,17 @@ function M.get(c, _) -- Golang ["@module.go"] = { fg = c.cyan }, ["@keyword.function.go"] = { link = "Statement" }, + ["@lsp.type.namespace.go"] = { link = "@module.go" }, -- Rust -- ["@lsp.type.enumMembers.rust"] = { fg = colors.grey[6] }, -- YAML ["@property.yaml"] = { fg = c.yellow }, + + -- Just + ["@function.just"] = { link = "Function" }, + ["@function.call.just"] = { link = "@variable.parameter" }, } return theme diff --git a/lua/flow/highlights/whichkey.lua b/lua/flow/highlights/whichkey.lua index 46dc2d3..ddb92e6 100644 --- a/lua/flow/highlights/whichkey.lua +++ b/lua/flow/highlights/whichkey.lua @@ -4,7 +4,7 @@ local M = {} --- @return table: Whichkey plugin highlights. function M.get(c, _) local theme = { - WhichKey = { fg = c.fg_visual }, + WhichKey = { fg = c.bg_visual }, WhichKeyGroup = { fg = c.light_blue }, WhichKeyDesc = { fg = c.fg_popup }, WhichKeyFloat = { bg = c.bg_popup }, diff --git a/lua/flow/palette.lua b/lua/flow/palette.lua index de44af1..be1fd48 100644 --- a/lua/flow/palette.lua +++ b/lua/flow/palette.lua @@ -21,13 +21,11 @@ function M.get(o) if o.colors.custom.light ~= "" then ---@diagnostic disable-next-line: assign-type-mismatch - --- Options are validated here shade[o.colors.mode].L = tonumber(o.colors.custom.light) end if o.colors.custom.saturation ~= "" then ---@diagnostic disable-next-line: assign-type-mismatch - --- Options are validated here shade[o.colors.mode].S = tonumber(o.colors.custom.saturation) end @@ -64,7 +62,7 @@ function M.get(o) [1] = hsl(203, 20, 10), -- Very dark grey [2] = hsl(203, 20, 13), [3] = hsl(203, 20, 15), - [4] = hsl(203, 20, 30), + [4] = hsl(203, 20, 29), [5] = hsl(203, 20, 35), [6] = hsl(203, 20, 65), [7] = hsl(203, 20, 85), diff --git a/lua/flow/theme.lua b/lua/flow/theme.lua index e3f76ec..6de9f7b 100644 --- a/lua/flow/theme.lua +++ b/lua/flow/theme.lua @@ -7,6 +7,7 @@ local M = {} --- @type string[] M.active_highlights = { "base", + "blink", "syntax", "markdown", "completion", diff --git a/lua/lualine/themes/flow.lua b/lua/lualine/themes/flow.lua index dc2e95a..a575daf 100644 --- a/lua/lualine/themes/flow.lua +++ b/lua/lualine/themes/flow.lua @@ -5,44 +5,44 @@ local flow = {} -- Normal mode colors. a will be used also for x, -- b for y, and c for z to have a symmetrical coloration. flow.normal = { - a = { bg = colors.blue, fg = colors.grey[4] }, - b = { bg = colors.grey[4], fg = colors.blue }, + a = { bg = colors.light_blue, fg = colors.bg_highlight }, + b = { bg = colors.bg_highlight, fg = colors.light_blue }, c = { bg = colors.bg_statusline, fg = colors.fg_statusline }, } -- Insert mode colors. a will be used also for x, -- b for y, and c for z to have a symmetrical coloration. flow.insert = { - a = { bg = colors.cyan, fg = colors.black }, - b = { bg = colors.fg_gutter, fg = colors.cyan }, + a = { bg = colors.cyan, fg = colors.bg_highlight }, + b = { bg = colors.bg_highlight, fg = colors.cyan }, } -- Command mode colors. a will be used also for x, -- b for y, and c for z to have a symmetrical coloration. flow.command = { - a = { bg = colors.yellow, fg = colors.fg_gutter }, - b = { bg = colors.fg_gutter, fg = colors.yellow }, + a = { bg = colors.yellow, fg = colors.bg_highlight }, + b = { bg = colors.bg_highlight, fg = colors.yellow }, } -- Visual mode colors. a will be used also for x, -- b for y, and c for z to have a symmetrical coloration. flow.visual = { - a = { bg = colors.purple, fg = colors.black }, - b = { bg = colors.fg_gutter, fg = colors.purple }, + a = { bg = colors.purple, fg = colors.bg_highlight }, + b = { bg = colors.bg_highlight, fg = colors.purple }, } -- Replace mode colors. a will be used also for x, -- b for y, and c for z to have a symmetrical coloration. flow.replace = { - a = { bg = colors.red, fg = colors.black }, - b = { bg = colors.fg_gutter, fg = colors.red }, + a = { bg = colors.red, fg = colors.bg_highlight }, + b = { bg = colors.bg_highlight, fg = colors.red }, } -- Terminal mode colors. a will be used also for x, -- b for y, and c for z to have a symmetrical coloration. flow.terminal = { - a = { bg = colors.green, fg = colors.black }, - b = { bg = colors.fg_gutter, fg = colors.green }, + a = { bg = colors.green, fg = colors.bg_highlight }, + b = { bg = colors.bg_highlight, fg = colors.green }, } -- Inactive mode colors. Only c seems to be applied here