Merge pull request #7 from brianpooe/claude/match-jetbrains-darcula-theme-01DqS4D8akyP5Y8wUkaq3Xbm

refactor!: rename theme from darcula-solid to darcula
This commit is contained in:
Brian Pooe 2025-11-15 15:11:51 +02:00 committed by GitHub
commit 1b8b1154a3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 24 additions and 24 deletions

View file

@ -1,4 +1,4 @@
# Debugging Darcula Solid Highlighting # Debugging Darcula Highlighting
If certain elements aren't highlighting correctly, use these debugging techniques: If certain elements aren't highlighting correctly, use these debugging techniques:
@ -24,7 +24,7 @@ The `this` keyword should appear in **orange** (#CC7832), not purple like member
- Theme not reloaded after updates - Theme not reloaded after updates
**Solutions:** **Solutions:**
1. Reload the theme: `:colorscheme darcula-solid` 1. Reload the theme: `:colorscheme darcula`
2. Restart LSP: `:LspRestart` (if using nvim-lspconfig) or `:lua vim.lsp.stop_client(vim.lsp.get_clients())` 2. Restart LSP: `:LspRestart` (if using nvim-lspconfig) or `:lua vim.lsp.stop_client(vim.lsp.get_clients())`
3. Ensure tree-sitter parsers are installed: `:TSInstall typescript javascript tsx jsx` 3. Ensure tree-sitter parsers are installed: `:TSInstall typescript javascript tsx jsx`
4. Check if LSP semantic tokens are enabled (most LSPs enable this by default) 4. Check if LSP semantic tokens are enabled (most LSPs enable this by default)
@ -40,7 +40,7 @@ Custom Angular components (like `<app-header>`, `<my-component>`) should appear
**Solutions:** **Solutions:**
1. Install HTML parser: `:TSInstall html` 1. Install HTML parser: `:TSInstall html`
2. Reload theme: `:colorscheme darcula-solid` 2. Reload theme: `:colorscheme darcula`
3. Check file type: `:set filetype?` (should be `html` or `htmlangular`) 3. Check file type: `:set filetype?` (should be `html` or `htmlangular`)
4. If using Angular templates, ensure your LSP is configured for Angular 4. If using Angular templates, ensure your LSP is configured for Angular
@ -76,7 +76,7 @@ LSP semantic tokens provide rich semantic highlighting. To check if they're work
## 6. Force Reload Everything ## 6. Force Reload Everything
If nothing else works: If nothing else works:
1. Reload theme: `:colorscheme darcula-solid` 1. Reload theme: `:colorscheme darcula`
2. Reload tree-sitter: `:write | edit` 2. Reload tree-sitter: `:write | edit`
3. Restart LSP: `:LspRestart` 3. Restart LSP: `:LspRestart`
4. Or just restart Neovim 4. Or just restart Neovim

View file

@ -1,5 +1,5 @@
![Darcula-solid.nvim](https://raw.githubusercontent.com/briones-gabriel/darcula-solid.nvim/main/resources/darcula-solid-logo.png) ![Darcula.nvim](https://raw.githubusercontent.com/briones-gabriel/darcula-solid.nvim/main/resources/darcula-solid-logo.png)
# Darcula-solid.nvim # Darcula.nvim
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. 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 ## ✨ Features
@ -37,7 +37,7 @@ A high-fidelity Neovim color scheme that perfectly matches the official JetBrain
dependencies = { "rktjmp/lush.nvim" }, dependencies = { "rktjmp/lush.nvim" },
priority = 1000, -- Load before other plugins priority = 1000, -- Load before other plugins
config = function() config = function()
vim.cmd("colorscheme darcula-solid") vim.cmd("colorscheme darcula")
end, end,
} }
``` ```
@ -62,14 +62,14 @@ Plug 'briones-gabriel/darcula-solid.nvim'
```lua ```lua
-- init.lua -- init.lua
vim.opt.termguicolors = true vim.opt.termguicolors = true
vim.cmd("colorscheme darcula-solid") vim.cmd("colorscheme darcula")
``` ```
Or in Vimscript: Or in Vimscript:
```vim ```vim
" init.vim " init.vim
set termguicolors set termguicolors
colorscheme darcula-solid colorscheme darcula
``` ```
### LSP Semantic Highlighting ### LSP Semantic Highlighting
@ -99,23 +99,23 @@ The theme uses the official JetBrains Darcula colors:
Because the theme is built with [Lush](https://github.com/rktjmp/lush.nvim), you can easily customize it to your preferences: 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` 1. Create a `colors` directory: `~/.config/nvim/colors`
2. Create a custom theme file: `~/.config/nvim/colors/darcula-solid-custom.lua` 2. Create a custom theme file: `~/.config/nvim/colors/darcula-custom.lua`
3. Extend the base theme: 3. Extend the base theme:
```lua ```lua
vim.opt.background = 'dark' vim.opt.background = 'dark'
vim.g.colors_name = 'darcula-solid-custom' vim.g.colors_name = 'darcula-custom'
local lush = require('lush') local lush = require('lush')
local darcula_solid = require('lush_theme.darcula-solid') local darcula = require('lush_theme.darcula')
local spec = lush.extends({darcula_solid}).with(function() local spec = lush.extends({darcula}).with(function()
-- Your modifications go here -- Your modifications go here
local yellow = lush.hsl(37, 100, 71) local yellow = lush.hsl(37, 100, 71)
return { return {
-- Override specific highlight groups -- Override specific highlight groups
Type { fg = yellow }, Type { fg = yellow },
Function { fg = darcula_solid.Normal.fg }, Function { fg = darcula.Normal.fg },
-- Add more customizations... -- Add more customizations...
} }
end) end)
@ -125,7 +125,7 @@ lush(spec)
4. Apply your custom theme: 4. Apply your custom theme:
```lua ```lua
vim.cmd("colorscheme darcula-solid-custom") vim.cmd("colorscheme darcula-custom")
``` ```
## 🌟 Highlights ## 🌟 Highlights
@ -149,7 +149,7 @@ Following JetBrains conventions:
If certain elements aren't highlighting correctly (e.g., `this` keyword appears purple instead of orange, or Angular components appear white), see [DEBUGGING.md](DEBUGGING.md) for detailed troubleshooting steps. If certain elements aren't highlighting correctly (e.g., `this` keyword appears purple instead of orange, or Angular components appear white), see [DEBUGGING.md](DEBUGGING.md) for detailed troubleshooting steps.
**Quick fixes:** **Quick fixes:**
1. Reload the theme: `:colorscheme darcula-solid` 1. Reload the theme: `:colorscheme darcula`
2. Check what highlight is applied: `:Inspect` (cursor on element) 2. Check what highlight is applied: `:Inspect` (cursor on element)
3. Ensure tree-sitter parsers are installed: `:TSInstall typescript javascript html` 3. Ensure tree-sitter parsers are installed: `:TSInstall typescript javascript html`
4. Restart LSP: `:LspRestart` 4. Restart LSP: `:LspRestart`

View file

@ -1,6 +0,0 @@
set background=dark
let g:colors_name="darcula-solid"
lua package.loaded['lush_theme.darcula-solid'] = nil
lua require('lush')(require('lush_theme.darcula-solid'))

6
colors/darcula.vim Normal file
View file

@ -0,0 +1,6 @@
set background=dark
let g:colors_name="darcula"
lua package.loaded['lush_theme.darcula'] = nil
lua require('lush')(require('lush_theme.darcula'))

View file

@ -1,4 +1,4 @@
-- darcula-solid.nvim -- darcula.nvim
-- A high-fidelity port of the JetBrains Darcula theme for Neovim -- A high-fidelity port of the JetBrains Darcula theme for Neovim
-- Author: brianpooe -- Author: brianpooe
-- License: MIT -- License: MIT
@ -440,7 +440,7 @@ return lush(function()
["@lsp.type.macro"] = { fg = p.annotation }, ["@lsp.type.macro"] = { fg = p.annotation },
["@lsp.type.decorator"] = { fg = p.annotation }, ["@lsp.type.decorator"] = { fg = p.annotation },
-- 'this' keyword handling (multiple semantic token types) -- 'this' keyword handling (multiple semantic token types)
-- NOTE: For changes to take effect, reload with :colorscheme darcula-solid -- NOTE: For changes to take effect, reload with :colorscheme darcula
-- or restart Neovim and ensure LSP is reloaded -- or restart Neovim and ensure LSP is reloaded
["@lsp.type.selfKeyword"] = { fg = p.keyword, gui = "italic" }, -- 'this' in TypeScript/JavaScript ["@lsp.type.selfKeyword"] = { fg = p.keyword, gui = "italic" }, -- 'this' in TypeScript/JavaScript
["@lsp.type.selfParameter"] = { fg = p.keyword, gui = "italic" }, -- 'this' as parameter ["@lsp.type.selfParameter"] = { fg = p.keyword, gui = "italic" }, -- 'this' as parameter