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
2.7 KiB
Debugging Darcula Solid Highlighting
If certain elements aren't highlighting correctly, use these debugging techniques:
1. Check What Highlight Group Is Applied
Place your cursor on the element that's not highlighting correctly and run:
:Inspect
This will show you the exact highlight groups being applied, from tree-sitter, LSP semantic tokens, and syntax.
2. Common Issues
this Keyword Not Highlighting
The this keyword should appear in orange (#CC7832), not purple like member variables.
Possible causes:
- LSP not running or not providing semantic tokens
- Tree-sitter parser not installed for TypeScript/JavaScript
- Theme not reloaded after updates
Solutions:
- Reload the theme:
:colorscheme darcula-solid - Restart LSP:
:LspRestart(if using nvim-lspconfig) or:lua vim.lsp.stop_client(vim.lsp.get_clients()) - Ensure tree-sitter parsers are installed:
:TSInstall typescript javascript tsx jsx - Check if LSP semantic tokens are enabled (most LSPs enable this by default)
Angular Components Appearing White/Blue
Custom Angular components (like <app-header>, <my-component>) should appear in yellow (#FFC66D), same as standard HTML tags.
Possible causes:
- HTML tree-sitter parser not installed
- Angular Language Server not recognizing custom components
- File type not set to HTML
Solutions:
- Install HTML parser:
:TSInstall html - Reload theme:
:colorscheme darcula-solid - Check file type:
:set filetype?(should behtmlorhtmlangular) - If using Angular templates, ensure your LSP is configured for Angular
3. Verify Tree-sitter Parsers
Run: :TSInstallInfo
Ensure these parsers are installed:
html- for HTML templatestypescript- for TypeScript filestsx- for TypeScript Reactjavascript- for JavaScript filesjsx- for JavaScript React
4. Verify LSP is Running
Run: :LspInfo
This shows which LSP servers are attached to the current buffer.
For Angular projects, you should see:
angularls(Angular Language Server) for HTML templatests_lsortsserverfor TypeScript files
5. Check Semantic Token Support
LSP semantic tokens provide rich semantic highlighting. To check if they're working:
:lua print(vim.inspect(vim.lsp.semantic_tokens.get_at_pos()))
6. Force Reload Everything
If nothing else works:
- Reload theme:
:colorscheme darcula-solid - Reload tree-sitter:
:write | edit - Restart LSP:
:LspRestart - Or just restart Neovim
7. Report Issues
If you're still having issues, please create a GitHub issue with:
- Output of
:Inspecton the problematic element - Output of
:LspInfo - Output of
:TSInstallInfo - Your Neovim configuration (especially LSP and tree-sitter setup)