BREAKING CHANGE: This is a full rename from "darcula-solid" to "darcula"
**Files renamed:**
- colors/darcula-solid.vim → colors/darcula.vim
- lua/lush_theme/darcula-solid.lua → lua/lush_theme/darcula.lua
**Updated references:**
- All colorscheme commands: :colorscheme darcula-solid → :colorscheme darcula
- All require statements: require('lush_theme.darcula-solid') → require('lush_theme.darcula')
- Updated documentation in README.md and DEBUGGING.md
- Updated customization examples
**Migration guide for users:**
Users need to update their Neovim configuration:
Before:
```lua
vim.cmd("colorscheme darcula-solid")
```
After:
```lua
vim.cmd("colorscheme darcula")
```
For custom themes extending this theme:
```lua
-- Before
local darcula_solid = require('lush_theme.darcula-solid')
-- After
local darcula = require('lush_theme.darcula')
```
**Note:** GitHub repository URLs in documentation remain unchanged
(briones-gabriel/darcula-solid.nvim) until repository is renamed separately.
This commit significantly improves highlighting coverage for two problematic areas:
**'this' Keyword Highlighting:**
- Add multiple tree-sitter capture fallbacks: @keyword.this, @variable.language, @variable.language.this
- Add LSP semantic token support for @lsp.type.selfParameter
- Ensures 'this' appears in orange (#CC7832) instead of purple like member variables
**Angular Component Highlighting:**
- Add @tag.component and @tag.custom for web components/custom elements
- Add @lsp.type.customElement for LSP-based component detection
- Ensures custom Angular components (e.g., <app-header>) appear in yellow (#FFC66D)
**Documentation:**
- Add comprehensive DEBUGGING.md guide with troubleshooting steps
- Add Troubleshooting section to README with quick fixes
- Include instructions for using :Inspect to debug highlight groups
**Note:** After updating, users should:
1. Reload theme: :colorscheme darcula-solid
2. Restart LSP: :LspRestart
3. Ensure tree-sitter parsers installed: :TSInstall typescript javascript html
- Add distinct highlighting for 'this' keyword using keyword color (orange)
instead of member variable color (purple) to match JetBrains behavior
- Add Angular component support in HTML templates via @constructor.html
and @type.html tree-sitter captures
- Add LSP semantic token support for 'this' keyword (@lsp.type.selfKeyword)
and components (@lsp.type.component)
Fixes issues where:
- Angular components appeared white (default foreground) in HTML files
- The 'this' keyword had the same color as class member variables
This update brings darcula-solid.nvim to feature parity with modern Neovim
plugin ecosystems and enhances LSP integration for a perfect JetBrains
Darcula experience.
Plugin Support Added (20+ plugins):
- Completion: blink.cmp, nvim-cmp with full LSP kind icons
- Bufferline: Complete tab/buffer line theming with diagnostics
- Telescope: Enhanced with all borders, titles, and preview
- Noice: Command line UI with popups and borders
- Lazy: Plugin manager UI with progress and commit highlights
- Which-Key: Keybinding popup with groups and descriptions
- Neo-tree: Alternative file explorer with git integration
- Trouble: Diagnostics panel with signs and counts
- Mason: LSP installer UI with headers and highlights
- Indent-blankline: Both old and new (ibl) versions
- Alpha/Dashboard: Start screen theming
- Hop/Leap: Jump navigation with primary/secondary labels
- Notify: Notification system with all severity levels
LSP Semantic Token Improvements:
- Added @lsp.mod.abstract (italic) for abstract classes/methods
- Added @lsp.mod.async for async functions
- Added @lsp.mod.defaultLibrary (italic) for standard library
- Added @lsp.mod.declaration, @lsp.mod.definition distinctions
- Added @lsp.mod.modification, @lsp.mod.documentation
- All modifiers follow JetBrains Darcula conventions
README Enhancements:
- Updated to reflect "pixel-perfect JetBrains Darcula match"
- Added comprehensive plugin support list
- Added official color palette table
- Updated installation instructions for lazy.nvim
- Added LSP semantic highlighting setup guide
- Added highlights section for Tree-sitter and italic/bold usage
- Improved customization examples
- Added credits section
The theme now provides the most comprehensive JetBrains Darcula
experience available for Neovim with full plugin ecosystem support.
Added comprehensive Tree-sitter capture group support to ensure full
compatibility with the latest nvim-treesitter standards. This includes
all modern capture groups and maintains backward compatibility with
legacy groups.
New capture groups added:
- Extended @keyword.* groups (coroutine, import, type, modifier, debug,
conditional.ternary, directive, directive.define)
- @comment.note for note-style comments
- Extended @string.* groups (regexp, special.symbol, special.url, special.path)
- @character.special for special characters
- @number.float as modern alias for @float
- @function.method and @function.method.call for explicit method highlighting
- @variable.parameter.builtin for special built-in parameters
- @attribute.builtin for built-in attributes
- @punctuation.special for string interpolation and special symbols
- @module.builtin for built-in modules
- Full @markup.* group set (strong, italic, strikethrough, underline,
heading.1-6, quote, math, link.*, raw.*, list.*)
- @diff.* groups (plus, minus, delta) for version control
- Special captures: @none, @conceal, @spell, @nospell
Legacy groups retained for backward compatibility with older Tree-sitter
versions. All new groups follow the official nvim-treesitter standard
as documented in the CONTRIBUTING.md highlights specification.
Updated type-related highlight groups to use the official Darcula
teal-blue color (#769AA5) for classes, interfaces, enums, and namespaces.
This brings the theme into full compliance with the official JetBrains
Darcula color scheme.
Changes:
- Added type_name color (#769AA5) to palette
- Updated Type legacy syntax group
- Updated @type, @type.definition, @namespace, @module treesitter groups
- Updated LSP semantic tokens for class, struct, enum, interface, typeParameter, and namespace