diff --git a/colors/lush_template.lua b/colors/lush_template.lua index b4b5c51..9f8b576 100644 --- a/colors/lush_template.lua +++ b/colors/lush_template.lua @@ -14,8 +14,8 @@ vim.g.colors_name = 'lush_template' -- -- The performance impact of this call can be measured in the hundreds of -- *nanoseconds* and such could be considered "production safe". -package.loaded['lush_theme.lush_template'] = nil +package.loaded['particle.particle'] = nil -- include our theme file and pass it to lush to apply -require('lush')(require('lush_theme.lush_template')) +require('lush')(require('particle.particle')) diff --git a/lua/lush_theme/lush_template.lua b/lua/particle/particle.lua similarity index 73% rename from lua/lush_theme/lush_template.lua rename to lua/particle/particle.lua index 29a23fc..69c29a7 100644 --- a/lua/lush_theme/lush_template.lua +++ b/lua/particle/particle.lua @@ -13,54 +13,12 @@ -- "Y8P" "Y888888P'"Y88P"`Y8P' "YY8P8P88P `Y8 -- --- This is a starter colorscheme for use with Lush, --- for usage guides, see :h lush or :LushRunTutorial - --- --- Note: Because this is a lua file, vim will append it to the runtime, --- which means you can require(...) it in other lua code (this is useful), --- but you should also take care not to conflict with other libraries. --- --- (This is a lua quirk, as it has somewhat poor support for namespacing.) --- --- Basically, name your file, --- --- "super_theme/lua/lush_theme/super_theme_dark.lua", --- --- not, --- --- "super_theme/lua/dark.lua". --- --- With that caveat out of the way... --- - --- Enable lush.ify on this file, run: --- --- `:Lushify` --- --- or --- --- `:lua require('lush').ify()` - local lush = require('lush') local hsl = lush.hsl --- LSP/Linters mistakenly show `undefined global` errors in the spec, they may --- support an annotation like the following. Consult your server documentation. ----@diagnostic disable: undefined-global local theme = lush(function(injected_functions) local sym = injected_functions.sym return { - -- The following are the Neovim (as of 0.8.0-dev+100-g371dfb174) highlight - -- groups, mostly used for styling UI elements. - -- Comment them out and add your own properties to override the defaults. - -- An empty definition `{}` will clear all styling, leaving elements looking - -- like the 'Normal' group. - -- To be able to link to a group, it must already be defined, so you may have - -- to reorder items as you go. - -- - -- See :h highlight-groups - -- -- ColorColumn { }, -- Columns set with 'colorcolumn' -- Conceal { }, -- Placeholder characters substituted for concealed text (see 'conceallevel') -- Cursor { }, -- Character under the cursor @@ -84,7 +42,6 @@ local theme = lush(function(injected_functions) -- SignColumn { }, -- Column where |signs| are displayed -- IncSearch { }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c" -- Substitute { }, -- |:substitute| replacement text highlighting - -- LineNr { }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. -- LineNrAbove { }, -- Line number for when the 'relativenumber' option is set, above the cursor line -- LineNrBelow { }, -- Line number for when the 'relativenumber' option is set, below the cursor line -- CursorLineNr { }, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. @@ -95,8 +52,9 @@ local theme = lush(function(injected_functions) -- MsgArea { }, -- Area for messages and cmdline -- MsgSeparator { }, -- Separator for scrolled messages, `msgsep` flag of 'display' -- MoreMsg { }, -- |more-prompt| - -- NonText { }, -- '@' 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 { }, -- Normal text + Normal { bg = hsl("#151517"), fg = hsl("#ece5ea") }, -- Normal text + LineNr { fg = hsl("#454449") }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. + NonText { fg = Normal.bg.lighten(20) }, -- '@' 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|. -- NormalFloat { }, -- Normal text in floating windows. -- FloatBorder { }, -- Border of floating windows. -- FloatTitle { }, -- Title of floating windows. @@ -123,36 +81,28 @@ local theme = lush(function(injected_functions) -- TabLineFill { }, -- Tab pages line, where there are no labels -- TabLineSel { }, -- Tab pages line, active tab page label -- Title { }, -- Titles for output from ":set all", ":autocmd" etc. - -- Visual { }, -- Visual mode selection + Visual { bg = Normal.bg.lighten(10), fg = Normal.fg.saturate(50).darken(10) }, -- Visual mode selection -- VisualNOS { }, -- Visual mode selection when vim is "Not Owning the Selection". - -- WarningMsg { }, -- Warning messages + WarningMsg { fg = hsl("#f06969") }, -- Warning messages -- Whitespace { }, -- "nbsp", "space", "tab" and "trail" in 'listchars' -- Winseparator { }, -- Separator between window splits. Inherts from |hl-VertSplit| by default, which it will replace eventually. -- WildMenu { }, -- Current match in 'wildmenu' completion -- WinBar { }, -- Window bar of current window -- WinBarNC { }, -- Window bar of not-current windows + + Comment { fg = hsl("#5c5c61") }, -- Any comment - -- Common vim syntax groups used for all kinds of code and markup. - -- Commented-out groups should chain up to their preferred (*) group - -- by default. - -- - -- See :h group-name - -- - -- Uncomment and edit if you want more specific syntax highlighting. - - -- Comment { }, -- Any comment - - -- Constant { }, -- (*) Any constant + Constant { fg = hsl("#d9d564") }, -- (*) Any constant -- String { }, -- A string constant: "this is a string" -- Character { }, -- 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 { }, -- (*) Any variable name + Identifier { fg = hsl("#78b9c4") }, -- (*) Any variable name -- Function { }, -- Function name (also: methods for classes) - -- Statement { }, -- (*) Any statement + Statement { gui = "italic", fg = hsl("#a292e8") }, -- (*) Any statement -- Conditional { }, -- if, then, else, endif, switch, etc. -- Repeat { }, -- for, do, while, etc. -- Label { }, -- case, default, etc. @@ -160,44 +110,29 @@ local theme = lush(function(injected_functions) -- Keyword { }, -- any other keyword -- Exception { }, -- try, catch, throw - -- PreProc { }, -- (*) Generic Preprocessor + PreProc { fg = hsl("#7ee6ae") }, -- (*) Generic Preprocessor -- Include { }, -- Preprocessor #include -- Define { }, -- Preprocessor #define -- Macro { }, -- Same as Define -- PreCondit { }, -- Preprocessor #if, #else, #endif, etc. - -- Type { }, -- (*) int, long, char, etc. + Type { fg = hsl("#91d65c") }, -- (*) int, long, char, etc. -- StorageClass { }, -- static, register, volatile, etc. -- Structure { }, -- struct, union, enum, etc. -- Typedef { }, -- A typedef - -- Special { }, -- (*) Any special symbol + Special { fg = hsl("#e887bb") }, -- (*) 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 (e.g. '\n') -- Debug { }, -- Debugging statements - -- Underlined { gui = "underline" }, -- Text that stands out, HTML links + Underlined { gui = "underline", fg = hsl("#a292e8") }, -- Text that stands out, HTML links -- Ignore { }, -- Left blank, hidden |hl-Ignore| (NOTE: May be invisible here in template) - -- Error { }, -- Any erroneous construct - -- Todo { }, -- Anything that needs extra attention; mostly the keywords TODO FIXME and XXX + Error { fg = hsl("#f06969") }, -- Any erroneous construct + Todo { bg = Normal.bg.lighten(15), fg = hsl("#78b9c4") }, -- Anything that needs extra attention; mostly the keywords TODO FIXME and XXX - -- These groups are for the native LSP client and diagnostic system. Some - -- other LSP clients may use these groups, or use their own. Consult your - -- LSP client's documentation. - - -- See :h lsp-highlight, some groups may not be listed, submit a PR fix to lush-template! - -- - -- LspReferenceText { } , -- Used for highlighting "text" references - -- LspReferenceRead { } , -- Used for highlighting "read" references - -- LspReferenceWrite { } , -- Used for highlighting "write" references - -- LspCodeLens { } , -- Used to color the virtual text of the codelens. See |nvim_buf_set_extmark()|. - -- LspCodeLensSeparator { } , -- Used to color the seperator between two or more code lens. - -- LspSignatureActiveParameter { } , -- Used to highlight the active parameter in the signature help. See |vim.lsp.handlers.signature_help()|. - - -- See :h diagnostic-highlights, some groups may not be listed, submit a PR fix to lush-template! - -- -- DiagnosticError { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) -- DiagnosticWarn { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) -- DiagnosticInfo { } , -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) @@ -224,23 +159,6 @@ local theme = lush(function(injected_functions) -- DiagnosticSignHint { } , -- Used for "Hint" signs in sign column. -- DiagnosticSignOk { } , -- Used for "Ok" signs in sign column. - -- Tree-Sitter syntax groups. - -- - -- See :h treesitter-highlight-groups, some groups may not be listed, - -- submit a PR fix to lush-template! - -- - -- Tree-Sitter groups are defined with an "@" symbol, which must be - -- specially handled to be valid lua code, we do this via the special - -- sym function. The following are all valid ways to call the sym function, - -- for more details see https://www.lua.org/pil/5.html - -- - -- sym("@text.literal") - -- sym('@text.literal') - -- sym"@text.literal" - -- sym'@text.literal' - -- - -- For more information see https://github.com/rktjmp/lush.nvim/issues/109 - -- sym"@text.literal" { }, -- Comment -- sym"@text.reference" { }, -- Identifier -- sym"@text.title" { }, -- Title