**README Improvements:**
- Add badges (Neovim version, License)
- Add tagline and cleaner header
- Include visual color palette with color swatches
- Reorganize sections for better flow
- Add collapsible plugin list
- Enhance customization examples
- Add Tips section
- Add Contributing section
- Improve Quick Fixes formatting
- Add footer with centered "Made with ❤️ for Neovim"
**Structure Changes:**
- Move preview screenshot higher (after features)
- Group related sections together
- Use details/summary for long plugin list
- Better code block formatting
- Add more emojis for visual hierarchy
**Branding Updates:**
- Rename logo: darcula-solid-logo.png → darcula-logo.png
- Rename example: darcula-solid-example.png → darcula-example.png
- Update all image references in README
- Cleaner, more professional presentation
- Focus on "Darcula.nvim" as simple, iconic name
**Content Additions:**
- Language-specific features section
- Tips for optimal setup
- Better requirements section
- Contributing guidelines
- Clearer license information
7 KiB
7 KiB
Darcula.nvim
A pixel-perfect Neovim port of the iconic JetBrains Darcula theme
High-fidelity color scheme that matches the official JetBrains Darcula theme. Built with Lush for extensibility and comprehensive plugin support.
✨ Features
- 🎨 Pixel-perfect colors - Official JetBrains Darcula palette from IntelliJ IDEA
- 🌳 Full Tree-sitter support - Complete coverage of modern capture groups
- 🔍 LSP Semantic Tokens - Rich highlighting with italic/bold modifiers
- 🔌 20+ plugin integrations - Popular plugins themed out of the box
- 🎯 True color - Full 24-bit color support
- ⚡ Fast - Optimized for performance
- 🛠️ Customizable - Easy to extend with Lush
📸 Preview
🎨 Color Palette
| Element | Color | Preview |
|---|---|---|
| Background | #2B2B2B |
![]() |
| Foreground | #A9B7C6 |
![]() |
| Keywords | #CC7832 |
![]() |
| Strings | #6A8759 |
![]() |
| Numbers | #6897BB |
![]() |
| Comments | #808080 |
![]() |
| Functions | #FFC66D |
![]() |
| Types | #769AA5 |
![]() |
| Constants | #9876AA |
![]() |
| Annotations | #BBB529 |
![]() |
📦 Installation
lazy.nvim (Recommended)
{
"briones-gabriel/darcula-solid.nvim",
dependencies = { "rktjmp/lush.nvim" },
priority = 1000,
config = function()
vim.cmd("colorscheme darcula")
end,
}
packer.nvim
use {
"briones-gabriel/darcula-solid.nvim",
requires = "rktjmp/lush.nvim",
config = function()
vim.cmd("colorscheme darcula")
end,
}
vim-plug
Plug 'rktjmp/lush.nvim'
Plug 'briones-gabriel/darcula-solid.nvim'
Then in your init.vim:
set termguicolors
colorscheme darcula
🚀 Quick Start
-- Minimal setup (init.lua)
vim.opt.termguicolors = true
vim.cmd("colorscheme darcula")
🔌 Supported Plugins
Expand to see all supported plugins
Completion
File Explorers
Fuzzy Finders
Git Integration
UI Enhancements
Development Tools
Navigation
Other
🛠️ Customization
Darcula.nvim is built with Lush, making customization straightforward:
-- ~/.config/nvim/colors/my-darcula.lua
vim.opt.background = 'dark'
vim.g.colors_name = 'my-darcula'
local lush = require('lush')
local darcula = require('lush_theme.darcula')
local spec = lush.extends({darcula}).with(function()
return {
-- Customize any highlight group
Comment { fg = "#888888", gui = "italic" },
Function { fg = "#FFD700" },
-- Add your customizations...
}
end)
lush(spec)
Then apply it:
vim.cmd("colorscheme my-darcula")
🌟 Highlights
Tree-sitter Support
Complete support for modern nvim-treesitter:
- ✅ All
@keyword.*variants - ✅ Full
@markup.*groups for Markdown - ✅
@diff.*groups for version control - ✅ LSP semantic tokens with modifiers
JetBrains Conventions
Authentic IDE-like styling:
- Bold keywords for visibility
- Italic static members, abstract classes, readonly properties
- Italic documentation comments
Strikethroughdeprecated items
Language-Specific Features
- TypeScript/JavaScript: Distinct
thiskeyword (orange vs purple member variables) - Angular: Custom component highlighting in templates
- React/TSX/JSX: Component name highlighting
- HTML: Web components and custom elements support
🐛 Troubleshooting
Having issues? See the Debugging Guide for detailed troubleshooting.
Quick Fixes
" Reload everything
:colorscheme darcula
:LspRestart
:write | edit
Check what's highlighting an element:
:Inspect
Ensure parsers are installed:
:TSInstall typescript javascript html tsx jsx
💡 Tips
- LSP Semantic Tokens: Enable for best results (most LSPs enable by default)
- True Colors: Ensure your terminal supports 24-bit color
- Font Ligatures: Use a font with ligatures (JetBrains Mono, Fira Code, etc.)
📚 Requirements
- Neovim ≥ 0.8 (0.9+ recommended)
termguicolorsenabled- nvim-treesitter (recommended)
- LSP server (recommended)
🤝 Contributing
Contributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
- Improve documentation
📄 License
MIT License - see LICENSE for details
🙏 Credits
- Original Theme: JetBrains Darcula (official implementation)
- Framework: Lush by @rktjmp
- Inspiration: @rorystephenson
Made with ❤️ for Neovim









