Merge pull request #3 from brianpooe/claude/match-jetbrains-darcula-theme-01DqS4D8akyP5Y8wUkaq3Xbm
feat: add comprehensive plugin support and improve LSP semantic highl…
This commit is contained in:
commit
110867de7d
2 changed files with 385 additions and 31 deletions
142
README.md
142
README.md
|
|
@ -1,48 +1,107 @@
|
|||

|
||||
# Darcula-solid.nvim
|
||||
A color-scheme that was heavily inspired by the JetBrains IntelliJ IDEA default theme, but was carefully refined to bring a more pleasant, aesthetic, and contrasting experience to our beloved Neovim.
|
||||
A high-fidelity Neovim color scheme that perfectly matches the official JetBrains Darcula theme. Built with [Lush](https://github.com/rktjmp/lush.nvim) for easy customization and comprehensive plugin support.
|
||||
|
||||
## ✨ Features
|
||||
* [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) support
|
||||
* [NvimTree](https://github.com/kyazdani42/nvim-tree.lua) support
|
||||
* 256 colors
|
||||
* Beautiful contrasting (IntelliJ like) colors
|
||||
* **Pixel-perfect JetBrains Darcula colors** - Official color palette from IntelliJ IDEA
|
||||
* **Full nvim-treesitter compatibility** - Complete support for all modern Tree-sitter capture groups
|
||||
* **LSP Semantic Tokens** - Enhanced highlighting with italic/bold modifiers for static, abstract, and readonly
|
||||
* **Extensive plugin support** - 20+ popular plugins themed out of the box
|
||||
* **256 colors** - Full true color support
|
||||
* **Backward compatible** - Legacy Tree-sitter groups maintained for older versions
|
||||
|
||||
## 🎨 Supported Plugins
|
||||
* **Completion**: [blink.cmp](https://github.com/Saghen/blink.cmp), [nvim-cmp](https://github.com/hrsh7th/nvim-cmp)
|
||||
* **File Explorers**: [nvim-tree](https://github.com/nvim-tree/nvim-tree.lua), [neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim)
|
||||
* **Fuzzy Finder**: [Telescope](https://github.com/nvim-telescope/telescope.nvim)
|
||||
* **Git**: [GitSigns](https://github.com/lewis6991/gitsigns.nvim), [Neogit](https://github.com/TimUntersberger/neogit)
|
||||
* **UI**: [Noice](https://github.com/folke/noice.nvim), [Bufferline](https://github.com/akinsho/bufferline.nvim), [Which-Key](https://github.com/folke/which-key.nvim)
|
||||
* **Utilities**: [Lazy](https://github.com/folke/lazy.nvim), [Mason](https://github.com/williamboman/mason.nvim), [Trouble](https://github.com/folke/trouble.nvim)
|
||||
* **Navigation**: [Hop](https://github.com/phaazon/hop.nvim), [Leap](https://github.com/ggandor/leap.nvim)
|
||||
* **Notifications**: [nvim-notify](https://github.com/rcarriga/nvim-notify)
|
||||
* **Indentation**: [indent-blankline](https://github.com/lukas-reineke/indent-blankline.nvim)
|
||||
* **Dashboard**: [alpha-nvim](https://github.com/goolord/alpha-nvim)
|
||||
|
||||
## ⚡ Requirements
|
||||
* Neovim 0.8+ (recommended 0.9+)
|
||||
* `termguicolors` enabled for true color support
|
||||
* (recommended) [Neovim 0.5](https://github.com/neovim/neovim/releases)
|
||||
* (recommended) [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter)
|
||||
* (recommended) [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) for enhanced syntax highlighting
|
||||
* (recommended) LSP server for semantic token highlighting
|
||||
|
||||
## 📦 Instalation
|
||||
With [Packer](https://github.com/wbthomason/packer.nvim)
|
||||
## 📦 Installation
|
||||
|
||||
### [lazy.nvim](https://github.com/folke/lazy.nvim) (Recommended)
|
||||
```lua
|
||||
use { "briones-gabriel/darcula-solid.nvim", requires = "rktjmp/lush.nvim" }
|
||||
{
|
||||
"briones-gabriel/darcula-solid.nvim",
|
||||
dependencies = { "rktjmp/lush.nvim" },
|
||||
priority = 1000, -- Load before other plugins
|
||||
config = function()
|
||||
vim.cmd("colorscheme darcula-solid")
|
||||
end,
|
||||
}
|
||||
```
|
||||
With [Plug](https://github.com/junegunn/vim-plug)
|
||||
|
||||
### [Packer](https://github.com/wbthomason/packer.nvim)
|
||||
```lua
|
||||
Plug 'briones-gabriel/darcula-solid.nvim'
|
||||
use {
|
||||
"briones-gabriel/darcula-solid.nvim",
|
||||
requires = "rktjmp/lush.nvim"
|
||||
}
|
||||
```
|
||||
|
||||
### [vim-plug](https://github.com/junegunn/vim-plug)
|
||||
```vim
|
||||
Plug 'rktjmp/lush.nvim'
|
||||
Plug 'briones-gabriel/darcula-solid.nvim'
|
||||
```
|
||||
Or you can use your favorite plugin manager.
|
||||
|
||||
## 🔧 Configuration
|
||||
In your `init.vim`:
|
||||
```vim
|
||||
colorscheme darcula-solid
|
||||
set termguicolors
|
||||
```
|
||||
|
||||
Or in `init.lua`:
|
||||
### Basic Setup
|
||||
```lua
|
||||
vim.cmd 'colorscheme darcula-solid'
|
||||
vim.cmd 'set termguicolors'
|
||||
-- init.lua
|
||||
vim.opt.termguicolors = true
|
||||
vim.cmd("colorscheme darcula-solid")
|
||||
```
|
||||
And because the plugin is build with [Lush](https://github.com/rktjmp/lush.nvim), you can freely copy and edit the color-scheme to fit your needs.
|
||||
|
||||
## How to customize
|
||||
1. Create a `colors` directory if it doesn't exist at `~/.config/nvim/colors`.
|
||||
2. Create a file for the modified theme: e.g `~/.config/nvim/colors/darcula-solid-custom`.
|
||||
3. Set your modifications:
|
||||
Or in Vimscript:
|
||||
```vim
|
||||
" init.vim
|
||||
set termguicolors
|
||||
colorscheme darcula-solid
|
||||
```
|
||||
|
||||
### LSP Semantic Highlighting
|
||||
For the best experience with semantic tokens (italic static/abstract members, etc.):
|
||||
```lua
|
||||
-- Ensure your LSP is configured to enable semantic tokens
|
||||
-- Most LSP servers enable this by default
|
||||
```
|
||||
|
||||
## 🎨 Color Palette
|
||||
The theme uses the official JetBrains Darcula colors:
|
||||
|
||||
| Element | Color | Hex |
|
||||
|---------|-------|-----|
|
||||
| Background | Dark Gray | `#2B2B2B` |
|
||||
| Foreground | Light Gray-Blue | `#A9B7C6` |
|
||||
| Keywords | Orange | `#CC7832` |
|
||||
| Strings | Green | `#6A8759` |
|
||||
| Numbers | Blue | `#6897BB` |
|
||||
| Comments | Gray | `#808080` |
|
||||
| Functions | Yellow | `#FFC66D` |
|
||||
| Types/Classes | Teal-Blue | `#769AA5` |
|
||||
| Constants | Purple | `#9876AA` |
|
||||
| Annotations | Olive-Yellow | `#BBB529` |
|
||||
|
||||
## 🛠️ Customization
|
||||
Because the theme is built with [Lush](https://github.com/rktjmp/lush.nvim), you can easily customize it to your preferences:
|
||||
|
||||
1. Create a `colors` directory: `~/.config/nvim/colors`
|
||||
2. Create a custom theme file: `~/.config/nvim/colors/darcula-solid-custom.lua`
|
||||
3. Extend the base theme:
|
||||
|
||||
```lua
|
||||
vim.opt.background = 'dark'
|
||||
vim.g.colors_name = 'darcula-solid-custom'
|
||||
|
|
@ -50,24 +109,45 @@ vim.g.colors_name = 'darcula-solid-custom'
|
|||
local lush = require('lush')
|
||||
local darcula_solid = require('lush_theme.darcula-solid')
|
||||
local spec = lush.extends({darcula_solid}).with(function()
|
||||
-- Your modifications go here...
|
||||
-- Pallete copied from https://github.com/briones-gabriel/darcula-solid.nvim/blob/main/lua/lush_theme/darcula-solid.lua
|
||||
local yellow = lush.hsl(37, 100, 71)
|
||||
-- Your modifications go here
|
||||
local yellow = lush.hsl(37, 100, 71)
|
||||
|
||||
return {
|
||||
-- Override specific highlight groups
|
||||
Type { fg = yellow },
|
||||
Function { fg = darcula_solid.Normal.fg },
|
||||
-- Add more customizations...
|
||||
}
|
||||
end)
|
||||
|
||||
lush(spec)
|
||||
```
|
||||
4. In your config file (e.g. ~/.config/nvim/init.lua) set the theme to your custom one as follows:
|
||||
|
||||
4. Apply your custom theme:
|
||||
```lua
|
||||
vim.cmd("colorscheme darcula-solid-custom")
|
||||
```
|
||||
|
||||
A big thanks to [@rorystephenson](https://github.com/rorystephenson) for suggesting this amazing idea! ♥️
|
||||
## 🌟 Highlights
|
||||
|
||||
### Tree-sitter Support
|
||||
Full support for all modern nvim-treesitter capture groups including:
|
||||
- All `@keyword.*` variants (coroutine, import, type, modifier, etc.)
|
||||
- Complete `@markup.*` groups for Markdown and other markup languages
|
||||
- `@diff.*` groups for version control
|
||||
- LSP semantic tokens with modifiers (static, abstract, readonly, deprecated)
|
||||
|
||||
### Italic & Bold Refinements
|
||||
Following JetBrains conventions:
|
||||
- **Bold** keywords for better visibility
|
||||
- **Italic** for static members, abstract classes, and readonly properties
|
||||
- **Italic** documentation comments
|
||||
- **Strikethrough** for deprecated items
|
||||
|
||||
## 🙏 Credits
|
||||
- Original theme inspired by the official JetBrains Darcula theme
|
||||
- Thanks to [@rorystephenson](https://github.com/rorystephenson) for the customization idea
|
||||
- Built with [Lush](https://github.com/rktjmp/lush.nvim) by [@rktjmp](https://github.com/rktjmp)
|
||||
|
||||
## Preview
|
||||

|
||||
|
|
|
|||
|
|
@ -429,6 +429,13 @@ return lush(function()
|
|||
["@lsp.mod.deprecated"] = { gui = "strikethrough" },
|
||||
["@lsp.mod.readonly"] = { gui = "italic" },
|
||||
["@lsp.mod.static"] = { gui = "italic" },
|
||||
["@lsp.mod.abstract"] = { gui = "italic" },
|
||||
["@lsp.mod.async"] = {},
|
||||
["@lsp.mod.declaration"] = {},
|
||||
["@lsp.mod.defaultLibrary"] = { gui = "italic" },
|
||||
["@lsp.mod.definition"] = {},
|
||||
["@lsp.mod.modification"] = {},
|
||||
["@lsp.mod.documentation"] = {},
|
||||
|
||||
-- == LSP Diagnostics == --
|
||||
DiagnosticError({ fg = p.error }),
|
||||
|
|
@ -485,11 +492,20 @@ return lush(function()
|
|||
TelescopeNormal({ bg = p.bg_light, fg = p.fg }),
|
||||
TelescopeBorder({ fg = p.border, bg = p.bg_light }),
|
||||
TelescopePromptBorder({ fg = p.border, bg = p.bg_light }),
|
||||
TelescopeResultsBorder({ fg = p.border, bg = p.bg_light }),
|
||||
TelescopePreviewBorder({ fg = p.border, bg = p.bg_light }),
|
||||
TelescopePromptTitle({ fg = p.keyword, bg = p.bg_light, gui = "bold" }),
|
||||
TelescopeResultsTitle({ fg = p.function_call, bg = p.bg_light, gui = "bold" }),
|
||||
TelescopePreviewTitle({ fg = p.number, bg = p.bg_light, gui = "bold" }),
|
||||
TelescopePromptPrefix({ fg = p.keyword }),
|
||||
TelescopePromptCounter({ fg = p.fg_dark }),
|
||||
TelescopeSelection({ bg = p.bg_visual, fg = p.fg }),
|
||||
TelescopeSelectionCaret({ fg = p.keyword, bg = p.bg_visual }),
|
||||
TelescopeMultiSelection({ bg = p.bg_darker, fg = p.fg }),
|
||||
TelescopeMultiIcon({ fg = p.keyword }),
|
||||
TelescopeMatching({ fg = p.function_call, gui = "bold" }),
|
||||
TelescopePreviewLine({ bg = p.bg_visual }),
|
||||
TelescopePreviewMatch({ fg = p.function_call, gui = "bold" }),
|
||||
|
||||
-- GitSigns
|
||||
GitSignsAdd({ fg = p.hint }),
|
||||
|
|
@ -500,6 +516,264 @@ return lush(function()
|
|||
GitSignsDeleteLn({ bg = p.diff_delete }),
|
||||
GitSignsCurrentLineBlame({ fg = p.fg_comment }),
|
||||
|
||||
-- Blink.cmp (Completion Menu)
|
||||
BlinkCmpMenu({ bg = p.bg_light, fg = p.fg }),
|
||||
BlinkCmpMenuBorder({ fg = p.border, bg = p.bg_light }),
|
||||
BlinkCmpMenuSelection({ bg = p.bg_visual, fg = p.fg }),
|
||||
BlinkCmpLabel({ fg = p.fg }),
|
||||
BlinkCmpLabelDeprecated({ fg = p.fg_dark, gui = "strikethrough" }),
|
||||
BlinkCmpLabelMatch({ fg = p.function_call, gui = "bold" }),
|
||||
BlinkCmpLabelDetail({ fg = p.fg_comment }),
|
||||
BlinkCmpLabelDescription({ fg = p.fg_comment }),
|
||||
BlinkCmpKind({ fg = p.type_name }),
|
||||
BlinkCmpKindText({ fg = p.fg }),
|
||||
BlinkCmpKindMethod({ fg = p.function_call }),
|
||||
BlinkCmpKindFunction({ fg = p.function_call }),
|
||||
BlinkCmpKindConstructor({ fg = p.function_call }),
|
||||
BlinkCmpKindField({ fg = p.member_variable }),
|
||||
BlinkCmpKindVariable({ fg = p.fg }),
|
||||
BlinkCmpKindClass({ fg = p.type_name }),
|
||||
BlinkCmpKindInterface({ fg = p.type_name }),
|
||||
BlinkCmpKindModule({ fg = p.type_name }),
|
||||
BlinkCmpKindProperty({ fg = p.member_variable }),
|
||||
BlinkCmpKindUnit({ fg = p.number }),
|
||||
BlinkCmpKindValue({ fg = p.constant }),
|
||||
BlinkCmpKindEnum({ fg = p.type_name }),
|
||||
BlinkCmpKindKeyword({ fg = p.keyword }),
|
||||
BlinkCmpKindSnippet({ fg = p.string }),
|
||||
BlinkCmpKindColor({ fg = p.number }),
|
||||
BlinkCmpKindFile({ fg = p.fg }),
|
||||
BlinkCmpKindReference({ fg = p.number }),
|
||||
BlinkCmpKindFolder({ fg = p.number }),
|
||||
BlinkCmpKindEnumMember({ fg = p.constant }),
|
||||
BlinkCmpKindConstant({ fg = p.constant }),
|
||||
BlinkCmpKindStruct({ fg = p.type_name }),
|
||||
BlinkCmpKindEvent({ fg = p.keyword }),
|
||||
BlinkCmpKindOperator({ fg = p.fg }),
|
||||
BlinkCmpKindTypeParameter({ fg = p.type_name }),
|
||||
BlinkCmpDoc({ bg = p.bg_light, fg = p.fg }),
|
||||
BlinkCmpDocBorder({ fg = p.border, bg = p.bg_light }),
|
||||
BlinkCmpDocCursorLine({ bg = p.bg_current_line }),
|
||||
BlinkCmpSignatureHelp({ bg = p.bg_light, fg = p.fg }),
|
||||
BlinkCmpSignatureHelpBorder({ fg = p.border, bg = p.bg_light }),
|
||||
BlinkCmpSignatureHelpActiveParameter({ fg = p.function_call, gui = "bold" }),
|
||||
|
||||
-- nvim-cmp (Alternative Completion)
|
||||
CmpItemAbbr({ fg = p.fg }),
|
||||
CmpItemAbbrDeprecated({ fg = p.fg_dark, gui = "strikethrough" }),
|
||||
CmpItemAbbrMatch({ fg = p.function_call, gui = "bold" }),
|
||||
CmpItemAbbrMatchFuzzy({ fg = p.function_call }),
|
||||
CmpItemKind({ fg = p.type_name }),
|
||||
CmpItemKindText({ fg = p.fg }),
|
||||
CmpItemKindMethod({ fg = p.function_call }),
|
||||
CmpItemKindFunction({ fg = p.function_call }),
|
||||
CmpItemKindConstructor({ fg = p.function_call }),
|
||||
CmpItemKindField({ fg = p.member_variable }),
|
||||
CmpItemKindVariable({ fg = p.fg }),
|
||||
CmpItemKindClass({ fg = p.type_name }),
|
||||
CmpItemKindInterface({ fg = p.type_name }),
|
||||
CmpItemKindModule({ fg = p.type_name }),
|
||||
CmpItemKindProperty({ fg = p.member_variable }),
|
||||
CmpItemKindUnit({ fg = p.number }),
|
||||
CmpItemKindValue({ fg = p.constant }),
|
||||
CmpItemKindEnum({ fg = p.type_name }),
|
||||
CmpItemKindKeyword({ fg = p.keyword }),
|
||||
CmpItemKindSnippet({ fg = p.string }),
|
||||
CmpItemKindColor({ fg = p.number }),
|
||||
CmpItemKindFile({ fg = p.fg }),
|
||||
CmpItemKindReference({ fg = p.number }),
|
||||
CmpItemKindFolder({ fg = p.number }),
|
||||
CmpItemKindEnumMember({ fg = p.constant }),
|
||||
CmpItemKindConstant({ fg = p.constant }),
|
||||
CmpItemKindStruct({ fg = p.type_name }),
|
||||
CmpItemKindEvent({ fg = p.keyword }),
|
||||
CmpItemKindOperator({ fg = p.fg }),
|
||||
CmpItemKindTypeParameter({ fg = p.type_name }),
|
||||
CmpItemMenu({ fg = p.fg_comment }),
|
||||
|
||||
-- Bufferline
|
||||
BufferLineFill({ bg = p.bg_gutter }),
|
||||
BufferLineBackground({ bg = p.bg_gutter, fg = p.fg_dark }),
|
||||
BufferLineBufferVisible({ bg = p.bg_gutter, fg = p.fg }),
|
||||
BufferLineBufferSelected({ bg = p.bg, fg = p.fg, gui = "bold" }),
|
||||
BufferLineTab({ bg = p.bg_gutter, fg = p.fg_dark }),
|
||||
BufferLineTabSelected({ bg = p.bg, fg = p.keyword, gui = "bold" }),
|
||||
BufferLineTabSeparator({ fg = p.bg_gutter, bg = p.bg_gutter }),
|
||||
BufferLineTabSeparatorSelected({ fg = p.bg, bg = p.bg }),
|
||||
BufferLineIndicatorSelected({ fg = p.keyword, bg = p.bg }),
|
||||
BufferLineCloseButton({ bg = p.bg_gutter, fg = p.fg_dark }),
|
||||
BufferLineCloseButtonVisible({ bg = p.bg_gutter, fg = p.fg }),
|
||||
BufferLineCloseButtonSelected({ bg = p.bg, fg = p.error }),
|
||||
BufferLineModified({ bg = p.bg_gutter, fg = p.warning }),
|
||||
BufferLineModifiedVisible({ bg = p.bg_gutter, fg = p.warning }),
|
||||
BufferLineModifiedSelected({ bg = p.bg, fg = p.warning }),
|
||||
BufferLineDuplicate({ bg = p.bg_gutter, fg = p.fg_dark, gui = "italic" }),
|
||||
BufferLineDuplicateVisible({ bg = p.bg_gutter, fg = p.fg, gui = "italic" }),
|
||||
BufferLineDuplicateSelected({ bg = p.bg, fg = p.fg, gui = "bold,italic" }),
|
||||
BufferLineSeparator({ fg = p.bg_gutter, bg = p.bg_gutter }),
|
||||
BufferLineSeparatorVisible({ fg = p.bg_gutter, bg = p.bg_gutter }),
|
||||
BufferLineSeparatorSelected({ fg = p.bg, bg = p.bg }),
|
||||
BufferLineError({ bg = p.bg_gutter, fg = p.error }),
|
||||
BufferLineErrorDiagnostic({ bg = p.bg_gutter, fg = p.error }),
|
||||
BufferLineWarning({ bg = p.bg_gutter, fg = p.warning }),
|
||||
BufferLineWarningDiagnostic({ bg = p.bg_gutter, fg = p.warning }),
|
||||
BufferLineInfo({ bg = p.bg_gutter, fg = p.info }),
|
||||
BufferLineInfoDiagnostic({ bg = p.bg_gutter, fg = p.info }),
|
||||
BufferLineHint({ bg = p.bg_gutter, fg = p.hint }),
|
||||
BufferLineHintDiagnostic({ bg = p.bg_gutter, fg = p.hint }),
|
||||
|
||||
-- Noice (Command Line UI)
|
||||
NoicePopup({ bg = p.bg_light, fg = p.fg }),
|
||||
NoicePopupBorder({ fg = p.border, bg = p.bg_light }),
|
||||
NoiceCmdline({ bg = p.bg_light, fg = p.fg }),
|
||||
NoiceCmdlinePopup({ bg = p.bg_light, fg = p.fg }),
|
||||
NoiceCmdlinePopupBorder({ fg = p.border, bg = p.bg_light }),
|
||||
NoiceCmdlinePopupTitle({ fg = p.keyword, bg = p.bg_light, gui = "bold" }),
|
||||
NoiceCmdlineIcon({ fg = p.keyword }),
|
||||
NoiceCmdlineIconSearch({ fg = p.function_call }),
|
||||
NoiceConfirm({ bg = p.bg_light, fg = p.fg }),
|
||||
NoiceConfirmBorder({ fg = p.border, bg = p.bg_light }),
|
||||
NoiceSplit({ bg = p.bg_light, fg = p.fg }),
|
||||
NoiceSplitBorder({ fg = p.border, bg = p.bg_light }),
|
||||
|
||||
-- Lazy (Plugin Manager)
|
||||
LazyNormal({ bg = p.bg_light, fg = p.fg }),
|
||||
LazyButton({ bg = p.bg_darker, fg = p.fg }),
|
||||
LazyButtonActive({ bg = p.bg_visual, fg = p.fg, gui = "bold" }),
|
||||
LazyH1({ fg = p.keyword, gui = "bold" }),
|
||||
LazyH2({ fg = p.function_call }),
|
||||
LazyComment({ fg = p.fg_comment, gui = "italic" }),
|
||||
LazyCommit({ fg = p.number }),
|
||||
LazyCommitType({ fg = p.keyword }),
|
||||
LazyDimmed({ fg = p.fg_dark }),
|
||||
LazyProp({ fg = p.member_variable }),
|
||||
LazyValue({ fg = p.string }),
|
||||
LazyDir({ fg = p.number }),
|
||||
LazyUrl({ fg = p.blue, gui = "underline" }),
|
||||
LazySpecial({ fg = p.function_call }),
|
||||
LazyReasonPlugin({ fg = p.keyword }),
|
||||
LazyReasonRuntime({ fg = p.type_name }),
|
||||
LazyReasonCmd({ fg = p.function_call }),
|
||||
LazyReasonSource({ fg = p.number }),
|
||||
LazyReasonFt({ fg = p.string }),
|
||||
LazyReasonKeys({ fg = p.constant }),
|
||||
LazyReasonEvent({ fg = p.warning }),
|
||||
LazyReasonStart({ fg = p.hint }),
|
||||
LazyProgressDone({ fg = p.hint, gui = "bold" }),
|
||||
LazyProgressTodo({ fg = p.fg_dark }),
|
||||
|
||||
-- Which-Key
|
||||
WhichKey({ fg = p.keyword, gui = "bold" }),
|
||||
WhichKeyGroup({ fg = p.function_call }),
|
||||
WhichKeyDesc({ fg = p.fg }),
|
||||
WhichKeySeparator({ fg = p.fg_dark }),
|
||||
WhichKeyFloat({ bg = p.bg_light }),
|
||||
WhichKeyBorder({ fg = p.border, bg = p.bg_light }),
|
||||
WhichKeyValue({ fg = p.string }),
|
||||
|
||||
-- Indent Blankline
|
||||
IndentBlanklineChar({ fg = p.bg_darker }),
|
||||
IndentBlanklineContextChar({ fg = p.fg_dark }),
|
||||
IndentBlanklineContextStart({ gui = "underline", sp = p.fg_dark }),
|
||||
IndentBlanklineSpaceChar({ fg = p.bg_darker }),
|
||||
IndentBlanklineSpaceCharBlankline({ fg = p.bg_darker }),
|
||||
IblIndent({ fg = p.bg_darker }),
|
||||
IblScope({ fg = p.fg_dark }),
|
||||
IblWhitespace({ fg = p.bg_darker }),
|
||||
|
||||
-- Neo-tree
|
||||
NeoTreeNormal({ bg = p.bg, fg = p.fg }),
|
||||
NeoTreeNormalNC({ bg = p.bg, fg = p.fg }),
|
||||
NeoTreeDirectoryIcon({ fg = p.number }),
|
||||
NeoTreeDirectoryName({ fg = p.fg }),
|
||||
NeoTreeFileName({ fg = p.fg }),
|
||||
NeoTreeFileNameOpened({ fg = p.number, gui = "bold" }),
|
||||
NeoTreeFloatBorder({ fg = p.border, bg = p.bg_light }),
|
||||
NeoTreeFloatTitle({ fg = p.keyword, bg = p.bg_light, gui = "bold" }),
|
||||
NeoTreeGitAdded({ fg = p.hint }),
|
||||
NeoTreeGitConflict({ fg = p.error }),
|
||||
NeoTreeGitDeleted({ fg = p.error }),
|
||||
NeoTreeGitIgnored({ fg = p.fg_dark }),
|
||||
NeoTreeGitModified({ fg = p.warning }),
|
||||
NeoTreeGitUnstaged({ fg = p.warning }),
|
||||
NeoTreeGitUntracked({ fg = p.hint }),
|
||||
NeoTreeGitStaged({ fg = p.hint }),
|
||||
NeoTreeIndentMarker({ fg = p.bg_darker }),
|
||||
NeoTreeRootName({ fg = p.keyword, gui = "bold" }),
|
||||
NeoTreeSymbolicLinkTarget({ fg = p.blue }),
|
||||
NeoTreeTitleBar({ fg = p.keyword, bg = p.bg_light, gui = "bold" }),
|
||||
NeoTreeWindowsHidden({ fg = p.fg_dark }),
|
||||
|
||||
-- Trouble
|
||||
TroubleNormal({ bg = p.bg_light, fg = p.fg }),
|
||||
TroubleText({ fg = p.fg }),
|
||||
TroubleCount({ fg = p.constant, gui = "bold" }),
|
||||
TroubleCode({ fg = p.fg_comment }),
|
||||
TroubleFile({ fg = p.number }),
|
||||
TroubleDirectory({ fg = p.type_name }),
|
||||
TroubleSource({ fg = p.fg_comment }),
|
||||
TroubleLocation({ fg = p.fg_dark }),
|
||||
TroubleIndent({ fg = p.bg_darker }),
|
||||
TroubleFoldIcon({ fg = p.fg_dark }),
|
||||
TroubleSignError({ fg = p.error }),
|
||||
TroubleSignWarning({ fg = p.warning }),
|
||||
TroubleSignInformation({ fg = p.info }),
|
||||
TroubleSignHint({ fg = p.hint }),
|
||||
TroubleError({ fg = p.error }),
|
||||
TroubleWarning({ fg = p.warning }),
|
||||
TroubleInformation({ fg = p.info }),
|
||||
TroubleHint({ fg = p.hint }),
|
||||
|
||||
-- Mason
|
||||
MasonNormal({ bg = p.bg_light, fg = p.fg }),
|
||||
MasonHeader({ fg = p.keyword, bg = p.bg_darker, gui = "bold" }),
|
||||
MasonHeaderSecondary({ fg = p.function_call, bg = p.bg_darker, gui = "bold" }),
|
||||
MasonHighlight({ fg = p.function_call }),
|
||||
MasonHighlightBlock({ fg = p.bg, bg = p.function_call }),
|
||||
MasonHighlightBlockBold({ fg = p.bg, bg = p.function_call, gui = "bold" }),
|
||||
MasonHighlightSecondary({ fg = p.number }),
|
||||
MasonHighlightBlockSecondary({ fg = p.bg, bg = p.number }),
|
||||
MasonHighlightBlockBoldSecondary({ fg = p.bg, bg = p.number, gui = "bold" }),
|
||||
MasonMuted({ fg = p.fg_dark }),
|
||||
MasonMutedBlock({ fg = p.bg, bg = p.fg_dark }),
|
||||
MasonMutedBlockBold({ fg = p.bg, bg = p.fg_dark, gui = "bold" }),
|
||||
MasonError({ fg = p.error }),
|
||||
MasonWarning({ fg = p.warning }),
|
||||
MasonHeading({ fg = p.keyword, gui = "bold" }),
|
||||
|
||||
-- Alpha/Dashboard
|
||||
AlphaHeader({ fg = p.function_call, gui = "bold" }),
|
||||
AlphaButtons({ fg = p.keyword }),
|
||||
AlphaShortcut({ fg = p.number, gui = "bold" }),
|
||||
AlphaFooter({ fg = p.fg_comment, gui = "italic" }),
|
||||
|
||||
-- Hop/Leap (Jump Navigation)
|
||||
HopNextKey({ fg = p.error, gui = "bold" }),
|
||||
HopNextKey1({ fg = p.function_call, gui = "bold" }),
|
||||
HopNextKey2({ fg = p.number }),
|
||||
HopUnmatched({ fg = p.fg_dark }),
|
||||
LeapMatch({ fg = p.error, gui = "bold,underline" }),
|
||||
LeapLabelPrimary({ fg = p.error, gui = "bold" }),
|
||||
LeapLabelSecondary({ fg = p.function_call, gui = "bold" }),
|
||||
LeapBackdrop({ fg = p.fg_dark }),
|
||||
|
||||
-- Notify
|
||||
NotifyERRORBorder({ fg = p.error }),
|
||||
NotifyWARNBorder({ fg = p.warning }),
|
||||
NotifyINFOBorder({ fg = p.info }),
|
||||
NotifyDEBUGBorder({ fg = p.fg_dark }),
|
||||
NotifyTRACEBorder({ fg = p.constant }),
|
||||
NotifyERRORIcon({ fg = p.error }),
|
||||
NotifyWARNIcon({ fg = p.warning }),
|
||||
NotifyINFOIcon({ fg = p.info }),
|
||||
NotifyDEBUGIcon({ fg = p.fg_dark }),
|
||||
NotifyTRACEIcon({ fg = p.constant }),
|
||||
NotifyERRORTitle({ fg = p.error, gui = "bold" }),
|
||||
NotifyWARNTitle({ fg = p.warning, gui = "bold" }),
|
||||
NotifyINFOTitle({ fg = p.info, gui = "bold" }),
|
||||
NotifyDEBUGTitle({ fg = p.fg_dark, gui = "bold" }),
|
||||
NotifyTRACETitle({ fg = p.constant, gui = "bold" }),
|
||||
|
||||
-- Diff
|
||||
DiffAdd({ bg = p.diff_add }),
|
||||
DiffChange({ bg = p.diff_modified }),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue