├── LICENSE ├── README.md ├── colors └── fleet.lua └── lua └── fleet-theme ├── groups.lua ├── init.lua └── palette.lua /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2023 Felipe A. Costa 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Fleet theme for Neovim 2 | 3 | A port of the default theme from Jetbrains' Fleet IDE for Neovim with Treesitter support. 4 | 5 | ![Screenshot](https://user-images.githubusercontent.com/17355488/235284483-77920361-b1b7-4c12-8b1a-d81952aeb947.png) 6 | 7 | Includes support for: 8 | - Tree-sitter 9 | - LSP semantic highlighting 10 | - [HiPhish/nvim-ts-rainbow2](https://github.com/HiPhish/nvim-ts-rainbow2) 11 | - [lukas-reineke/indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) 12 | 13 | ## Installation 14 | 15 | Using [lazy.nvim](https://github.com/folke/lazy.nvim): 16 | 17 | ```lua 18 | { 19 | "felipeagc/fleet-theme-nvim", 20 | config = function() vim.cmd("colorscheme fleet") end 21 | } 22 | ``` 23 | 24 | ## Credits 25 | 26 | Colors were initially taken from the [Helix editor](https://github.com/helix-editor/helix)'s builtin [fleet dark theme](https://github.com/helix-editor/helix/blob/b0ceac608ebc117399af89b81fbd0837d370161d/runtime/themes/fleet_dark.toml). 27 | 28 | ## License 29 | [MIT](./LICENSE) 30 | -------------------------------------------------------------------------------- /colors/fleet.lua: -------------------------------------------------------------------------------- 1 | require("fleet-theme").load() 2 | -------------------------------------------------------------------------------- /lua/fleet-theme/groups.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | function M.setup() 4 | local config = require("fleet-theme").config 5 | local palette = require("fleet-theme.palette").palette 6 | 7 | local groups = { 8 | Normal = { bg = palette.background, fg = palette.light }, -- normal text 9 | Comment = { fg = palette.light_gray }, -- any comment 10 | -- ColorColumn = { }, -- used for the columns set with 'colorcolumn' 11 | -- Conceal = { }, -- placeholder characters substituted for concealed text (see 'conceallevel') 12 | Cursor = { bg = palette.light, fg = palette.dark_gray }, -- character under the cursor 13 | -- lCursor = { }, -- the character under the cursor when |language-mapping| is used (see 'guicursor') 14 | -- CursorIM = { }, -- like Cursor, but used when in IME mode |CursorIM| 15 | -- CursorColumn = { }, -- Screen-column at the cursor, when 'cursorcolumn' is set. 16 | CursorLine = { bg = palette.darker }, -- Screen-line at the cursor, when 'cursorline' is set. Low-priority if foreground (ctermfg OR guifg) is not set. 17 | Directory = { fg = palette.cyan }, -- directory names (and other special names in listings) 18 | DiffAdd = { fg = palette.diff_plus }, -- diff mode: Added line |diff.txt| 19 | DiffChange = { fg = palette.blue_accent }, -- diff mode: Changed line |diff.txt| 20 | DiffDelete = { fg = palette.red_accent }, -- diff mode: Deleted line |diff.txt| 21 | -- DiffText = { }, -- diff mode: Changed text within a changed line |diff.txt| 22 | diffAdded = { link = "DiffAdd" }, 23 | diffRemoved = { link = "DiffDelete" }, 24 | diffChanged = { link = "DiffChange" }, 25 | EndOfBuffer = { fg = palette.background, bold = true }, -- filler lines (~) after the end of the buffer. By default, this is highlighted like |hl-NonText|. 26 | -- TermCursor = { }, -- cursor in a focused terminal 27 | -- TermCursorNC = { }, -- cursor in an unfocused terminal 28 | ErrorMsg = { fg = palette.red_error, underline = true }, -- error messages on the command line 29 | VertSplit = { bg = palette.background, fg = palette.darker }, -- the column separating vertically split windows 30 | WinSeparator = { bg = palette.background, fg = palette.darker }, -- highlights window separators 31 | Folded = { bg = palette.darker, fg = palette.light_gray }, -- line used for closed folds 32 | -- FoldColumn = { }, -- 'foldcolumn' 33 | SignColumn = { bg = palette.background, fg = palette.dark_gray }, -- column where |signs| are displayed 34 | -- IncSearch = { }, -- 'incsearch' highlighting; also used for the text replaced with ":s///c" 35 | -- Substitute = { }, -- |:substitute| replacement text highlighting 36 | LineNr = { fg = palette.dark_gray }, -- Line number for ":number" and ":#" commands, and when 'number' or 'relativenumber' option is set. 37 | CursorLineNr = { bg = palette.darker, fg = palette.light, bold = true}, -- Like LineNr when 'cursorline' or 'relativenumber' is set for the cursor line. 38 | MatchParen = { bg = palette.darker }, -- The character under the cursor or just before it, if it is a paired bracket, and its match. |pi_paren.txt| 39 | -- ModeMsg = { }, -- 'showmode' message (e.g., "-- INSERT -- ") 40 | -- MsgArea = { }, -- Area for messages and cmdline 41 | -- MsgSeparator = { }, -- Separator for scrolled messages, `msgsep` flag of 'display' 42 | -- MoreMsg = { }, -- |more-prompt| 43 | NonText = { link = "Comment" }, -- '@' 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|. 44 | -- NormalFloat = { }, -- Normal text in floating windows. 45 | -- NormalNC = { }, -- normal text in non-current windows 46 | Pmenu = { bg = palette.darker, fg = palette.light }, -- Popup menu: normal item. 47 | PmenuSel = { bg = palette.selection, fg = palette.light, bold = true }, -- Popup menu: selected item. 48 | PmenuSbar = { bg = palette.darker, fg = palette.light, bold = true }, -- Popup menu: scrollbar. 49 | PmenuThumb = { bg = palette.light_gray, fg = palette.light, bold = true }, -- Popup menu: Thumb of the scrollbar. 50 | -- Question = { }, -- |hit-enter| prompt and yes/no questions 51 | Search = { fg = palette.light, bg = palette.selection, bold = true }, -- Last search pattern highlighting (see 'hlsearch'). Also used for similar items that need to stand out. 52 | QuickFixLine = { fg = palette.yellow }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there. 53 | -- QuickFixLine = { bg = Normal.bg.mix(Search.bg, 40) }, -- Current |quickfix| item in the quickfix window. Combined with |hl-CursorLine| when the cursor is there. 54 | SpecialKey = { link = "Directory" }, -- Unprintable characters: text displayed differently from what it really is. But not 'listchars' whitespace. |hl-Whitespace| 55 | -- SpellBad = { }, -- Word that is not recognized by the spellchecker. |spell| Combined with the highlighting used otherwise. 56 | -- SpellCap = { }, -- Word that should start with a capital. |spell| Combined with the highlighting used otherwise. 57 | -- SpellLocal = { }, -- Word that is recognized by the spellchecker as one that is used in another region. |spell| Combined with the highlighting used otherwise. 58 | -- SpellRare = { }, -- Word that is recognized by the spellchecker as one that is hardly ever used. |spell| Combined with the highlighting used otherwise. 59 | StatusLine = { bg = palette.darker, fg = palette.light }, -- status line of current window 60 | StatusLineNC = { bg = palette.darker, fg = palette.dark }, -- status lines of not-current windows Note: if this is equal to "StatusLine" Vim will use "^^^" in the status line of the current window. 61 | 62 | TabLine = { bg = palette.darker, fg = palette.dark }, -- tab pages line, not active tab page label 63 | TabLineFill = { link = "TabLine" }, -- tab pages line, where there are no labels 64 | TabLineSel = { bg = palette.dark_gray, fg = palette.lightest }, -- tab pages line, active tab page label 65 | 66 | Title = { fg = palette.green, bold = true }, -- titles for output from ":set all", ":autocmd" etc. 67 | Visual = { bg = palette.selection }, -- Visual mode selection 68 | -- VisualNOS = { }, -- Visual mode selection when vim is "Not Owning the Selection". 69 | WarningMsg = { fg = palette.yellow_accent }, -- warning messages 70 | Whitespace = { link = "Comment" }, -- "nbsp", "space", "tab" and "trail" in 'listchars' 71 | WildMenu = { bg = palette.darker }, -- current match in 'wildmenu' completion 72 | 73 | -- These groups are not listed as default vim groups, 74 | -- but they are defacto standard group names for syntax highlighting. 75 | -- commented out groups should chain up to their "preferred" group by 76 | -- default, 77 | -- Uncomment and edit if you want more specific syntax highlighting. 78 | 79 | Constant = { fg = palette.purple }, -- (preferred) any constant 80 | String = { fg = palette.pink }, -- a string constant: "this is a string" 81 | Character = { fg = palette.yellow }, -- a character constant: 'c', '\n' 82 | Number = { fg = palette.yellow }, -- a number constant: 234, 0xff 83 | Boolean = { fg = palette.yellow }, -- a boolean constant: TRUE, false 84 | Float = { fg = palette.yellow }, -- a floating point constant: 2.3e10 85 | 86 | Identifier = { fg = palette.light }, -- (preferred) any variable name 87 | Function = { fg = palette.yellow }, -- function name (also: methods for classes) 88 | 89 | Keyword = { fg = palette.cyan }, -- any other keyword 90 | Statement = { link = "Keyword" }, -- (preferred) any statement 91 | Conditional = { link = "Keyword" }, -- if, then, else, endif, switch, etc. 92 | Repeat = { link = "Keyword" }, -- for, do, while, etc. 93 | Label = { link = "Keyword" }, -- case, default, etc. 94 | Operator = { fg = palette.light }, -- "sizeof", "+", "*", etc. 95 | Exception = { link = "Keyword" }, -- try, catch, throw 96 | 97 | PreProc = { link = "Keyword" }, -- (preferred) generic Preprocessor 98 | Include = { link = "Keyword" }, -- preprocessor #include 99 | Define = { link = "Keyword" }, -- preprocessor #define 100 | Macro = { fg = palette.green, bold = true }, -- same as Define 101 | PreCondit = { link = "Keyword" }, -- preprocessor #if, #else, #endif, etc. 102 | 103 | Type = { fg = palette.light_blue }, -- (preferred) int, long, char, etc. 104 | -- StorageClass = { fg = "#A1B56C" }, -- static, register, volatile, etc. 105 | Structure = { link = "Type" }, -- struct, union, enum, etc. 106 | Typedef = { link = "Type" }, -- A typedef 107 | 108 | Special = { fg = palette.light }, -- (preferred) any special symbol 109 | SpecialChar = { fg = palette.yellow }, -- special character in a constant 110 | -- Tag = { }, -- you can use CTRL-] on this 111 | Delimiter = { fg = palette.light }, -- character that needs attention 112 | -- SpecialComment = { }, -- special things inside a comment 113 | -- Debug = { }, -- debugging statements 114 | 115 | Underlined = { fg = palette.yellow, underline = true }, -- (preferred) text that stands out, HTML links 116 | -- Bold = { bold = true }, 117 | -- Italic = { italic = true }, 118 | 119 | -- ("Ignore", below, may be invisible...) 120 | -- Ignore = { }, -- (preferred) left blank, hidden |hl-Ignore| 121 | 122 | Error = { bg = palette.red_error, fg = palette.darker }, -- (preferred) any erroneous construct 123 | 124 | Todo = { bg = palette.focus, fg = palette.light, bold = true }, -- (preferred) anything that needs extra attention; mostly the keywords TODO FIXME and XXX 125 | 126 | DiagnosticError = { bg = palette.error_bg, fg = palette.red_error }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) 127 | DiagnosticWarn = { bg = palette.warning_bg, fg = palette.orange_accent }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) 128 | DiagnosticInfo = { bg = palette.info_bg, fg = palette.light }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) 129 | DiagnosticHint = { bg = palette.hint_bg, fg = palette.blue }, -- Used as the base highlight group. Other Diagnostic highlights link to this by default (except Underline) 130 | -- DiagnosticVirtualTextError = { }, -- Used for "Error" diagnostic virtual text. 131 | -- DiagnosticVirtualTextWarn = { }, -- Used for "Warn" diagnostic virtual text. 132 | -- DiagnosticVirtualTextInfo = { }, -- Used for "Info" diagnostic virtual text. 133 | -- DiagnosticVirtualTextHint = { }, -- Used for "Hint" diagnostic virtual text. 134 | DiagnosticUnderlineError = { sp = palette.red_error, undercurl = true }, -- Used to underline "Error" diagnostics. 135 | DiagnosticUnderlineWarn = { sp = palette.orange_accent, undercurl = true }, -- Used to underline "Warn" diagnostics. 136 | DiagnosticUnderlineInfo = { sp = palette.light, undercurl = true }, -- Used to underline "Info" diagnostics. 137 | DiagnosticUnderlineHint = { sp = palette.blue, undercurl = true }, -- Used to underline "Hint" diagnostics. 138 | -- DiagnosticFloatingError = { }, -- Used to color "Error" diagnostic messages in diagnostics float. See |vim.diagnostic.open_float()| 139 | -- DiagnosticFloatingWarn = { }, -- Used to color "Warn" diagnostic messages in diagnostics float. 140 | -- DiagnosticFloatingInfo = { }, -- Used to color "Info" diagnostic messages in diagnostics float. 141 | -- DiagnosticFloatingHint = { }, -- Used to color "Hint" diagnostic messages in diagnostics float. 142 | -- DiagnosticSignError = { }, -- Used for "Error" signs in sign column. 143 | -- DiagnosticSignWarn = { }, -- Used for "Warn" signs in sign column. 144 | -- DiagnosticSignInfo = { }, -- Used for "Info" signs in sign column. 145 | -- DiagnosticSignHint = { }, -- Used for "Hint" signs in sign column. 146 | 147 | -- These groups are for tree-sitter: 148 | 149 | ["@attribute"] = { fg = palette.green }, -- Annotations that can be attached to the code to denote some kind of meta information. e.g. C++/Dart attributes. 150 | -- ["@boolean"] = { }, -- Boolean literals: `True` and `False` in Python. 151 | -- ["@character"] = { }, -- Character literals: `'a'` in C. 152 | -- ["@comment"] = { }, -- Line comments and block comments. 153 | -- ["@conditional"] = { }, -- Keywords related to conditionals: `if`, `when`, `cond`, etc. 154 | -- ["@constant"] = { }, -- Constants identifiers. These might not be semantically constant. E.g. uppercase variables in Python. 155 | ["@constant.builtin"] = { link = "Type" }, -- Built-in constant values: `nil` in Lua. 156 | -- ["@constant.macro"] = { }, -- Constants defined by macros: `NULL` in C. 157 | ["@constructor"] = { fg = palette.yellow }, -- Constructor calls and definitions: `= {}` in Lua, and Java constructors. 158 | -- ["@error"] = { }, -- Syntax/parser errors. This might highlight large sections of code while the user is typing still incomplete code, use a sensible highlight. 159 | ["@exception"] = { fg = palette.purple }, -- Exception related keywords: `try`, `except`, `finally` in Python. 160 | -- ["@field"] = { }, -- Object and struct fields. 161 | -- ["@float"] = { }, -- Floating-point number literals. 162 | ["@function"] = { link = "Function" }, -- Function calls and definitions. 163 | ["@function.builtin"] = { fg = palette.green }, -- Built-in functions: `print` in Lua. 164 | ["@function.macro"] = { fg = palette.green }, -- Macro defined functions (calls and definitions): each `macro_rules` in Rust. 165 | -- ["@include"] = { }, -- File or module inclusion keywords: `#include` in C, `use` or `extern crate` in Rust. 166 | ["@keyword"] = { fg = palette.cyan }, -- Keywords that don't fit into other categories. 167 | -- ["@keyword.function"] = { }, -- Keywords used to define a function: `function` in Lua, `def` and `lambda` in Python. 168 | -- ["@keyword.operator"] = { }, -- Unary and binary operators that are English words: `and`, `or` in Python; `sizeof` in C. 169 | -- ["@keyword.return"] = { }, -- Keywords like `return` and `yield`. 170 | ["@label"] = { fg = palette.yellow }, -- GOTO labels: `label:` in C, and `::label::` in Lua. 171 | -- ["@method"] = { }, -- Method calls and definitions. 172 | ["@namespace"] = { fg = palette.green }, -- Identifiers referring to modules and namespaces. 173 | -- ["@none"] = { }, -- No highlighting (sets all highlight arguments to `NONE`). this group is used to clear certain ranges, for example, string interpolations. Don't change the values of this highlight group. 174 | -- ["@number"] = { }, -- Numeric literals that don't fit into other categories. 175 | -- ["@operator"] = { }, -- Binary or unary operators: `+`, and also `->` and `*` in C. 176 | -- ["@parameter"] = { }, -- Parameters of a function. 177 | -- ["@parameter.reference"] = { }, -- References to parameters of a function. 178 | -- ["@property"] = { }, -- Same as `["@field"]`. 179 | ["@punctuation.delimiter"] = { fg = palette.light }, -- Punctuation delimiters: Periods, commas, semicolons, etc. 180 | ["@punctuation.bracket"] = { fg = palette.light }, -- Brackets, braces, parentheses, etc. 181 | ["@punctuation.special"] = { fg = palette.light }, -- Special punctuation that doesn't fit into the previous categories. 182 | -- ["@repeat"] = { }, -- Keywords related to loops: `for`, `while`, etc. 183 | ["@string"] = { fg = palette.pink }, -- String literals. 184 | -- ["@string.regex"] = { }, -- Regular expression literals. 185 | -- ["@string.escape"] = { }, -- Escape characters within a string: `\n`, `\t`, etc. 186 | ["@string.special"] = { fg = palette.cyan }, -- Strings with special meaning that don't fit into the previous categories. 187 | -- ["@symbol"] = { }, -- Identifiers referring to symbols or atoms. 188 | ["@tag"] = { fg = palette.light_blue }, -- Tags like HTML tag names. 189 | ["@tag.attribute"] = { fg = palette.purple }, -- HTML tag attributes. 190 | ["@tag.delimiter"] = { fg = palette.light_gray }, -- Tag delimiters like `<` `>` `/`. 191 | -- ["@text"] = { }, -- Non-structured text. Like text in a markup language. 192 | -- ["@strong"] = { }, -- Text to be represented in bold. 193 | -- ["@emphasis"] = { }, -- Text to be represented with emphasis. 194 | -- ["@underline"] = { }, -- Text to be represented with an underline. 195 | -- ["@strike"] = { }, -- Strikethrough text. 196 | -- ["@title"] = { }, -- Text that is part of a title. 197 | -- ["@literal"] = { }, -- Literal or verbatim text. 198 | -- ["@uri"] = { }, -- URIs like hyperlinks or email addresses. 199 | -- ["@math"] = { }, -- Math environments like LaTeX's `$ ... $` 200 | -- ["@text.reference"] = { }, -- Footnotes, text references, citations, etc. 201 | -- ["@environment"] = { }, -- Text environments of markup languages. 202 | -- ["@environment.name"] = { }, -- Text/string indicating the type of text environment. Like the name of a `\begin` block in LaTeX. 203 | -- ["@note"] = { }, -- Text representation of an informational note. 204 | -- ["@warning"] = { }, -- Text representation of a warning note. 205 | ["@danger"] = { fg = palette.red_error }, -- Text representation of a danger note. 206 | ["@type"] = { fg = palette.light_blue }, -- Type (and class) definitions and annotations. 207 | ["@type.builtin"] = { fg = palette.cyan }, -- Built-in types: `i32` in Rust. 208 | ["@variable"] = { fg = palette.light }, -- Variable names that don't fit into other categories. 209 | -- ["@variable.builtin"] = { Identifier }, -- Variable names defined by the language: `this` or `self` in Javascript. 210 | 211 | -- These groups are for the native LSP client and diagnostic system. Some 212 | -- other LSP clients may use these groups, or use their own. Consult your 213 | -- LSP client's documentation. 214 | 215 | ["@lsp.type.class"] = { link = "@constructor" }, 216 | ["@lsp.type.comment"] = {}, -- do not overwrite comments 217 | ["@lsp.type.decorator"] = { link = "@parameter" }, 218 | ["@lsp.type.enum"] = { link = "@type" }, 219 | ["@lsp.type.enumMember"] = { link = "@constant" }, 220 | ["@lsp.type.function"] = { link = "@function" }, 221 | ["@lsp.type.interface"] = { link = "@keyword" }, 222 | ["@lsp.type.macro"] = { link = "@macro" }, 223 | ["@lsp.type.method"] = { link = "@method" }, 224 | ["@lsp.type.namespace"] = { link = "@namespace" }, 225 | ["@lsp.type.parameter"] = { link = "@parameter" }, 226 | ["@lsp.type.property"] = { link = "@property" }, 227 | ["@lsp.type.struct"] = { link = "@constructor" }, 228 | ["@lsp.type.type"] = { link = "@type" }, 229 | ["@lsp.type.typeParameter"] = { link = "@type.definition" }, 230 | ["@lsp.type.variable"] = { link = "@variable" }, 231 | 232 | IndentBlanklineChar = { fg = palette.darker }, 233 | 234 | TSRainbowRed = { fg = palette.red }, 235 | TSRainbowYellow = { fg = palette.yellow }, 236 | TSRainbowBlue = { fg = palette.blue }, 237 | TSRainbowOrange = { fg = palette.orange }, 238 | TSRainbowGreen = { fg = palette.green }, 239 | TSRainbowViolet = { fg = palette.purple }, 240 | TSRainbowCyan = { fg = palette.cyan }, 241 | } 242 | 243 | for group, hl in pairs(config.overrides) do 244 | if groups[group] then 245 | -- "link" should not mix with other configs (:h hi-link) 246 | groups[group].link = nil 247 | end 248 | 249 | groups[group] = vim.tbl_extend("force", groups[group] or {}, hl) 250 | end 251 | 252 | return groups 253 | end 254 | 255 | return M 256 | -------------------------------------------------------------------------------- /lua/fleet-theme/init.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | M.config = { 4 | overrides = {}, 5 | } 6 | 7 | function M.setup(config) 8 | M.config = vim.tbl_deep_extend("force", M.config, config or {}) 9 | end 10 | 11 | function M.load() 12 | if vim.version().minor < 8 then 13 | vim.notify_once("fleet-theme.nvim: you must use neovim 0.8 or higher") 14 | return 15 | end 16 | 17 | -- reset colors 18 | if vim.g.colors_name then 19 | vim.cmd.hi("clear") 20 | end 21 | 22 | vim.g.colors_name = "fleet" 23 | vim.o.termguicolors = true 24 | 25 | local groups = require("fleet-theme.groups").setup() 26 | 27 | -- add highlights 28 | for group, settings in pairs(groups) do 29 | vim.api.nvim_set_hl(0, group, settings) 30 | end 31 | end 32 | 33 | return M 34 | -------------------------------------------------------------------------------- /lua/fleet-theme/palette.lua: -------------------------------------------------------------------------------- 1 | local M = {} 2 | 3 | M.palette = { 4 | background = "#181818", 5 | darkest = "#1e1e1e", 6 | darker = "#292929", 7 | dark = "#898989", 8 | 9 | light = "#d6d6dd", 10 | lightest = "#ffffff", 11 | 12 | dark_gray = "#535353", 13 | light_gray = "#6d6d6d", 14 | purple = "#a390f0", 15 | light_blue = "#7dbeff", 16 | blue = "#52a7f6", 17 | pink = "#d898d8", 18 | green = "#afcb85", 19 | cyan = "#78d0bd", 20 | orange = "#efb080", 21 | yellow = "#e5c995", 22 | red = "#CC7C8A", 23 | 24 | blue_accent = "#2197F3", 25 | pink_accent = "#E44C7A", 26 | green_accent = "#00AF99", 27 | orange_accent = "#EE7F25", 28 | yellow_accent = "#DEA407", 29 | red_accent = "#F44747", 30 | 31 | red_error = "#EB5F6A", 32 | selection = "#1F3661", 33 | diff_plus = "#5A9F81", 34 | focus = "#204474", 35 | 36 | error_bg = "#4d2a2c", 37 | warning_bg = "#4e321b", 38 | info_bg = "#484849", 39 | hint_bg = "#263c50", 40 | } 41 | 42 | return M 43 | --------------------------------------------------------------------------------