mirror of
https://github.com/timmypidashev/darkbox.nvim.git
synced 2026-06-03 22:24:37 +00:00
Compare commits
6 Commits
40960993dc
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 98aaef0cdc | |||
|
822ee3ad68
|
|||
|
01dd5703fa
|
|||
|
c9851bc173
|
|||
| d69165b433 | |||
|
999748927d
|
@@ -22,25 +22,48 @@ A pure-black refresh of the retro-groove aesthetic for modern displays. Darkbox
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Using [lazy.nvim](https://github.com/folke/lazy.nvim)
|
||||
### Using vim.pack (Neovim 0.12+)
|
||||
|
||||
Add the following to your Neovim configuration:
|
||||
The built-in package manager. Recommended.
|
||||
|
||||
```lua
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/timmypidashev/darkbox.nvim" },
|
||||
})
|
||||
|
||||
require("darkbox").setup({
|
||||
contrast = "retro",
|
||||
})
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
```
|
||||
|
||||
### Using [lazy.nvim](https://github.com/folke/lazy.nvim)
|
||||
|
||||
```lua
|
||||
return {
|
||||
"timmypidashev/darkbox.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("darkbox").load()
|
||||
end
|
||||
require("darkbox").setup({
|
||||
contrast = "retro",
|
||||
})
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
end,
|
||||
}
|
||||
```
|
||||
|
||||
> The examples below use the `vim.pack` pattern. If you use lazy.nvim, place the `setup()` and `colorscheme` calls inside the `config` function instead.
|
||||
|
||||
## ✏️ Configuration
|
||||
|
||||
Additional settings for darkbox are available:
|
||||
All available options with their defaults:
|
||||
|
||||
```lua
|
||||
-- Default options:
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/timmypidashev/darkbox.nvim" },
|
||||
})
|
||||
|
||||
require("darkbox").setup({
|
||||
terminal_colors = true, -- add neovim terminal colors
|
||||
undercurl = true,
|
||||
@@ -65,24 +88,28 @@ require("darkbox").setup({
|
||||
dim_inactive = false,
|
||||
transparent_mode = false,
|
||||
})
|
||||
vim.cmd("colorscheme darkbox")
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
```
|
||||
|
||||
**VERY IMPORTANT**: Make sure to call setup() **BEFORE** calling the colorscheme command, to use your custom configs
|
||||
**VERY IMPORTANT**: Call `setup()` **BEFORE** the colorscheme command to apply custom configs.
|
||||
|
||||
## 🔧 Overrides
|
||||
|
||||
### Palette
|
||||
|
||||
You can specify your own palette colors. For example:
|
||||
Specify your own palette colors:
|
||||
|
||||
```lua
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/timmypidashev/darkbox.nvim" },
|
||||
})
|
||||
|
||||
require("darkbox").setup({
|
||||
palette_overrides = {
|
||||
base_red = "#991900",
|
||||
}
|
||||
},
|
||||
})
|
||||
vim.cmd("colorscheme darkbox")
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
```
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
+42
-13
@@ -1,4 +1,5 @@
|
||||
*darkbox.nvim.txt* For Neovim >= 0.8.0 Last change: 2025 March 25
|
||||
*darkbox.nvim.txt*
|
||||
For Neovim >= 0.8.0 Last change: 2026 April 16
|
||||
|
||||
==============================================================================
|
||||
Table of Contents *darkbox.nvim-table-of-contents*
|
||||
@@ -40,27 +41,51 @@ DIM ~
|
||||
INSTALLATION *darkbox.nvim-installation*
|
||||
|
||||
|
||||
USING LAZY.NVIM ~
|
||||
USING VIM.PACK (NEOVIM 0.12+) ~
|
||||
|
||||
Add the following to your Neovim configuration:
|
||||
The built-in package manager. Recommended.
|
||||
|
||||
>lua
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/timmypidashev/darkbox.nvim" },
|
||||
})
|
||||
|
||||
require("darkbox").setup({
|
||||
contrast = "retro",
|
||||
})
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
<
|
||||
|
||||
|
||||
USING LAZY.NVIM ~
|
||||
|
||||
>lua
|
||||
return {
|
||||
"timmypidashev/darkbox.nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
config = function()
|
||||
require("darkbox").load()
|
||||
end
|
||||
require("darkbox").setup({
|
||||
contrast = "retro",
|
||||
})
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
end,
|
||||
}
|
||||
<
|
||||
|
||||
|
||||
The examples below use the `vim.pack` pattern. If you use lazy.nvim, place the
|
||||
`setup()` and `colorscheme` calls inside the `config` function instead.
|
||||
|
||||
CONFIGURATION *darkbox.nvim-configuration*
|
||||
|
||||
Additional settings for darkbox are available:
|
||||
All available options with their defaults:
|
||||
|
||||
>lua
|
||||
-- Default options:
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/timmypidashev/darkbox.nvim" },
|
||||
})
|
||||
|
||||
require("darkbox").setup({
|
||||
terminal_colors = true, -- add neovim terminal colors
|
||||
undercurl = true,
|
||||
@@ -85,11 +110,11 @@ Additional settings for darkbox are available:
|
||||
dim_inactive = false,
|
||||
transparent_mode = false,
|
||||
})
|
||||
vim.cmd("colorscheme darkbox")
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
<
|
||||
|
||||
**VERY IMPORTANT**Make sure to call setup() **BEFORE** calling the colorscheme
|
||||
command, to use your custom configs
|
||||
**VERY IMPORTANT**: Call `setup()` **BEFORE** the colorscheme command to apply
|
||||
custom configs.
|
||||
|
||||
|
||||
OVERRIDES *darkbox.nvim-overrides*
|
||||
@@ -97,15 +122,19 @@ OVERRIDES *darkbox.nvim-overrides*
|
||||
|
||||
PALETTE ~
|
||||
|
||||
You can specify your own palette colors. For example:
|
||||
Specify your own palette colors:
|
||||
|
||||
>lua
|
||||
vim.pack.add({
|
||||
{ src = "https://github.com/timmypidashev/darkbox.nvim" },
|
||||
})
|
||||
|
||||
require("darkbox").setup({
|
||||
palette_overrides = {
|
||||
base_red = "#991900",
|
||||
}
|
||||
},
|
||||
})
|
||||
vim.cmd("colorscheme darkbox")
|
||||
vim.cmd.colorscheme("darkbox")
|
||||
<
|
||||
|
||||
|
||||
|
||||
+105
-28
@@ -201,20 +201,15 @@ local function get_groups()
|
||||
DarkboxAquaBold = { fg = colors.aqua, bold = config.bold },
|
||||
DarkboxOrange = { fg = colors.orange },
|
||||
DarkboxOrangeBold = { fg = colors.orange, bold = config.bold },
|
||||
DarkboxRedSign = config.transparent_mode and { fg = colors.red, reverse = config.invert_signs }
|
||||
or { fg = colors.red, bg = colors.background_1, reverse = config.invert_signs },
|
||||
DarkboxGreenSign = config.transparent_mode and { fg = colors.green, reverse = config.invert_signs }
|
||||
or { fg = colors.green, bg = colors.background_1, reverse = config.invert_signs },
|
||||
DarkboxYellowSign = config.transparent_mode and { fg = colors.yellow, reverse = config.invert_signs }
|
||||
or { fg = colors.yellow, bg = colors.background_1, reverse = config.invert_signs },
|
||||
DarkboxBlueSign = config.transparent_mode and { fg = colors.blue, reverse = config.invert_signs }
|
||||
or { fg = colors.blue, bg = colors.background_1, reverse = config.invert_signs },
|
||||
DarkboxPurpleSign = config.transparent_mode and { fg = colors.purple, reverse = config.invert_signs }
|
||||
or { fg = colors.purple, bg = colors.background_1, reverse = config.invert_signs },
|
||||
DarkboxAquaSign = config.transparent_mode and { fg = colors.aqua, reverse = config.invert_signs }
|
||||
or { fg = colors.aqua, bg = colors.background_1, reverse = config.invert_signs },
|
||||
DarkboxOrangeSign = config.transparent_mode and { fg = colors.orange, reverse = config.invert_signs }
|
||||
or { fg = colors.orange, bg = colors.background_1, reverse = config.invert_signs },
|
||||
-- Sign groups inherit the editor background; adding a gray block contradicts
|
||||
-- the pure-black `background` and creates disjoint gutter chrome.
|
||||
DarkboxRedSign = { fg = colors.red, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxGreenSign = { fg = colors.green, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxYellowSign = { fg = colors.yellow, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxBlueSign = { fg = colors.blue, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxPurpleSign = { fg = colors.purple, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxAquaSign = { fg = colors.aqua, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxOrangeSign = { fg = colors.orange, bg = colors.background, reverse = config.invert_signs },
|
||||
DarkboxRedUnderline = { undercurl = config.undercurl, sp = colors.red },
|
||||
DarkboxGreenUnderline = { undercurl = config.undercurl, sp = colors.green },
|
||||
DarkboxYellowUnderline = { undercurl = config.undercurl, sp = colors.yellow },
|
||||
@@ -229,8 +224,8 @@ local function get_groups()
|
||||
NormalNC = config.dim_inactive and { fg = colors.foreground_1, bg = colors.background_1 } or { link = "Normal" },
|
||||
CursorLine = { bg = colors.background_1 },
|
||||
CursorColumn = { link = "CursorLine" },
|
||||
TabLineFill = { fg = colors.background_4, bg = colors.background_1, reverse = config.invert_tabline },
|
||||
TabLineSel = { fg = colors.green, bg = colors.background_1, reverse = config.invert_tabline },
|
||||
TabLineFill = { fg = colors.background_4, bg = colors.background, reverse = config.invert_tabline },
|
||||
TabLineSel = { fg = colors.green, bg = colors.background, reverse = config.invert_tabline },
|
||||
TabLine = { link = "TabLineFill" },
|
||||
MatchParen = { bg = colors.background_3, bold = config.bold },
|
||||
ColorColumn = { bg = colors.background_1 },
|
||||
@@ -245,12 +240,12 @@ local function get_groups()
|
||||
CurSearch = { link = "IncSearch" },
|
||||
QuickFixLine = { link = "DarkboxPurple" },
|
||||
Underlined = { fg = colors.blue, underline = config.underline },
|
||||
StatusLine = { fg = colors.background_2, bg = colors.foreground_1, reverse = config.inverse },
|
||||
StatusLineNC = { fg = colors.background_1, bg = colors.foreground_4, reverse = config.inverse },
|
||||
StatusLine = { fg = colors.foreground, bg = colors.background },
|
||||
StatusLineNC = { fg = colors.foreground_4, bg = colors.background },
|
||||
WinBar = { fg = colors.foreground_4, bg = colors.background },
|
||||
WinBarNC = { fg = colors.foreground_3, bg = colors.background_1 },
|
||||
WinSeparator = config.transparent_mode and { fg = colors.background_3, bg = nil }
|
||||
or { fg = colors.background_3, bg = colors.background },
|
||||
WinSeparator = config.transparent_mode and { fg = colors.background_2, bg = nil }
|
||||
or { fg = colors.background_2, bg = colors.background },
|
||||
WildMenu = { fg = colors.blue, bg = colors.background_2, bold = config.bold },
|
||||
Directory = { link = "DarkboxGreenBold" },
|
||||
Title = { link = "DarkboxGreenBold" },
|
||||
@@ -260,7 +255,7 @@ local function get_groups()
|
||||
Question = { link = "DarkboxOrangeBold" },
|
||||
WarningMsg = { link = "DarkboxRedBold" },
|
||||
LineNr = { fg = colors.background_4 },
|
||||
SignColumn = config.transparent_mode and { bg = nil } or { bg = colors.background_1 },
|
||||
SignColumn = { bg = nil },
|
||||
Folded = { fg = colors.gray, bg = colors.background_1, italic = config.italic.folds },
|
||||
FoldColumn = config.transparent_mode and { fg = colors.gray, bg = nil }
|
||||
or { fg = colors.gray, bg = colors.background_1 },
|
||||
@@ -297,10 +292,12 @@ local function get_groups()
|
||||
StorageClass = { link = "DarkboxOrange" },
|
||||
Structure = { link = "DarkboxAqua" },
|
||||
Typedef = { link = "DarkboxYellow" },
|
||||
Pmenu = { fg = colors.foreground_1, bg = colors.background_2 },
|
||||
PmenuSel = { fg = colors.background_2, bg = colors.blue, bold = config.bold },
|
||||
PmenuSbar = { bg = colors.background_2 },
|
||||
PmenuThumb = { bg = colors.background_4 },
|
||||
Pmenu = { fg = colors.foreground, bg = colors.background },
|
||||
PmenuSel = { fg = colors.background, bg = colors.blue, bold = config.bold },
|
||||
PmenuSbar = { bg = colors.background },
|
||||
PmenuThumb = { bg = colors.background_2 },
|
||||
FloatBorder = { fg = colors.background_2, bg = colors.background },
|
||||
FloatTitle = { fg = colors.foreground, bg = colors.background, bold = config.bold },
|
||||
DiffDelete = { bg = colors.dark_red },
|
||||
DiffAdd = { bg = colors.dark_green },
|
||||
DiffChange = { bg = colors.dark_aqua },
|
||||
@@ -340,9 +337,46 @@ local function get_groups()
|
||||
LspSignatureActiveParameter = { link = "Search" },
|
||||
gitcommitSelectedFile = { link = "DarkboxGreen" },
|
||||
gitcommitDiscardedFile = { link = "DarkboxRed" },
|
||||
GitSignsAdd = { link = "DarkboxGreen" },
|
||||
GitSignsChange = { link = "DarkboxOrange" },
|
||||
GitSignsDelete = { link = "DarkboxRed" },
|
||||
GitSignsAdd = { fg = colors.green },
|
||||
GitSignsChange = { fg = colors.orange },
|
||||
GitSignsDelete = { fg = colors.red },
|
||||
|
||||
-- barbar.nvim
|
||||
BufferCurrent = { fg = colors.foreground, bg = colors.background, bold = true },
|
||||
BufferCurrentIndex = { fg = colors.foreground, bg = colors.background, bold = true },
|
||||
BufferCurrentMod = { fg = colors.orange, bg = colors.background },
|
||||
BufferCurrentSign = { fg = colors.yellow, bg = colors.background },
|
||||
BufferCurrentIcon = { link = "BufferCurrent" },
|
||||
BufferCurrentTarget = { fg = colors.red, bg = colors.background, bold = true },
|
||||
BufferCurrentADDED = { fg = colors.green, bg = colors.background },
|
||||
BufferCurrentCHANGED = { fg = colors.orange, bg = colors.background },
|
||||
BufferCurrentDELETED = { fg = colors.red, bg = colors.background },
|
||||
|
||||
BufferVisible = { fg = colors.foreground_2, bg = colors.background },
|
||||
BufferVisibleIndex = { fg = colors.foreground_3, bg = colors.background },
|
||||
BufferVisibleMod = { fg = colors.orange, bg = colors.background },
|
||||
BufferVisibleSign = { fg = colors.foreground_3, bg = colors.background },
|
||||
BufferVisibleIcon = { fg = colors.foreground_2, bg = colors.background },
|
||||
BufferVisibleTarget = { fg = colors.red, bg = colors.background, bold = true },
|
||||
|
||||
BufferInactive = { fg = colors.foreground_4, bg = colors.background },
|
||||
BufferInactiveIndex = { fg = colors.foreground_4, bg = colors.background },
|
||||
BufferInactiveMod = { fg = colors.orange, bg = colors.background },
|
||||
BufferInactiveSign = { fg = colors.foreground_4, bg = colors.background },
|
||||
BufferInactiveIcon = { fg = colors.foreground_4, bg = colors.background },
|
||||
BufferInactiveTarget = { fg = colors.red, bg = colors.background, bold = true },
|
||||
BufferInactiveADDED = { fg = colors.green, bg = colors.background },
|
||||
BufferInactiveCHANGED = { fg = colors.orange, bg = colors.background },
|
||||
BufferInactiveDELETED = { fg = colors.red, bg = colors.background },
|
||||
|
||||
BufferTabpages = { fg = colors.yellow, bg = colors.background, bold = true },
|
||||
BufferTabpageFill = { fg = colors.foreground_4, bg = colors.background },
|
||||
BufferOffset = { fg = colors.foreground, bg = colors.background, bold = true },
|
||||
BufferAlternate = { fg = colors.foreground_2, bg = colors.background },
|
||||
BufferAlternateSign = { fg = colors.foreground_3, bg = colors.background },
|
||||
BufferAlternateIndex = { fg = colors.foreground_3, bg = colors.background },
|
||||
BufferAlternateIcon = { fg = colors.foreground_2, bg = colors.background },
|
||||
BufferAlternateMod = { fg = colors.orange, bg = colors.background },
|
||||
NvimTreeSymlink = { fg = colors.neutral_aqua },
|
||||
NvimTreeRootFolder = { fg = colors.neutral_purple, bold = true },
|
||||
NvimTreeFolderIcon = { fg = colors.neutral_blue, bold = true },
|
||||
@@ -455,6 +489,49 @@ local function get_groups()
|
||||
CmpItemKindConstant = { link = "DarkboxOrange" },
|
||||
CmpItemKindStruct = { link = "DarkboxYellow" },
|
||||
CmpItemKindTypeParameter = { link = "DarkboxYellow" },
|
||||
|
||||
-- blink.cmp: mirror the nvim-cmp conventions so the completion UI is
|
||||
-- themed without any plugin-side wiring.
|
||||
BlinkCmpMenu = { link = "NormalFloat" },
|
||||
BlinkCmpMenuBorder = { link = "FloatBorder" },
|
||||
BlinkCmpMenuSelection = { link = "PmenuSel" },
|
||||
BlinkCmpDoc = { link = "NormalFloat" },
|
||||
BlinkCmpDocBorder = { link = "FloatBorder" },
|
||||
BlinkCmpSignatureHelp = { link = "NormalFloat" },
|
||||
BlinkCmpSignatureHelpBorder = { link = "FloatBorder" },
|
||||
BlinkCmpLabel = { link = "NormalFloat" },
|
||||
BlinkCmpLabelMatch = { link = "DarkboxGreenBold" },
|
||||
BlinkCmpLabelDetail = { link = "Comment" },
|
||||
BlinkCmpLabelDescription = { link = "Comment" },
|
||||
BlinkCmpLabelDeprecated = { fg = colors.foreground_4, strikethrough = true },
|
||||
BlinkCmpGhostText = { link = "Comment" },
|
||||
BlinkCmpKind = { link = "CmpItemKind" },
|
||||
BlinkCmpKindText = { link = "CmpItemKindText" },
|
||||
BlinkCmpKindMethod = { link = "CmpItemKindMethod" },
|
||||
BlinkCmpKindFunction = { link = "CmpItemKindFunction" },
|
||||
BlinkCmpKindConstructor = { link = "CmpItemKindConstructor" },
|
||||
BlinkCmpKindField = { link = "CmpItemKindField" },
|
||||
BlinkCmpKindVariable = { link = "CmpItemKindVariable" },
|
||||
BlinkCmpKindClass = { link = "CmpItemKindClass" },
|
||||
BlinkCmpKindInterface = { link = "CmpItemKindInterface" },
|
||||
BlinkCmpKindModule = { link = "CmpItemKindModule" },
|
||||
BlinkCmpKindProperty = { link = "CmpItemKindProperty" },
|
||||
BlinkCmpKindUnit = { link = "CmpItemKindUnit" },
|
||||
BlinkCmpKindValue = { link = "CmpItemKindValue" },
|
||||
BlinkCmpKindEnum = { link = "CmpItemKindEnum" },
|
||||
BlinkCmpKindKeyword = { link = "CmpItemKindKeyword" },
|
||||
BlinkCmpKindSnippet = { link = "CmpItemKindSnippet" },
|
||||
BlinkCmpKindColor = { link = "CmpItemKindColor" },
|
||||
BlinkCmpKindFile = { link = "CmpItemKindFile" },
|
||||
BlinkCmpKindReference = { link = "CmpItemKindReference" },
|
||||
BlinkCmpKindFolder = { link = "CmpItemKindFolder" },
|
||||
BlinkCmpKindEnumMember = { link = "CmpItemKindEnumMember" },
|
||||
BlinkCmpKindConstant = { link = "CmpItemKindConstant" },
|
||||
BlinkCmpKindStruct = { link = "CmpItemKindStruct" },
|
||||
BlinkCmpKindEvent = { link = "CmpItemKindEvent" },
|
||||
BlinkCmpKindOperator = { link = "CmpItemKindOperator" },
|
||||
BlinkCmpKindTypeParameter = { link = "CmpItemKindTypeParameter" },
|
||||
|
||||
diffAdded = { link = "DiffAdd" },
|
||||
diffRemoved = { link = "DiffDelete" },
|
||||
diffChanged = { link = "DiffChange" },
|
||||
|
||||
Reference in New Issue
Block a user