94 lines
2.9 KiB
Markdown
94 lines
2.9 KiB
Markdown
# LSP Diagnostic Test Files
|
|
|
|
These files are designed to trigger LSP diagnostics of all types to test the Paper Tonic Modern colorscheme's diagnostic virtual text colors.
|
|
|
|
## Test Files
|
|
|
|
### test-diagnostics.lua
|
|
Lua file with intentional errors for lua_ls (Lua Language Server).
|
|
|
|
**Expected diagnostics:**
|
|
- **Errors** (red): Undefined variables/functions, type mismatches, invalid operations, wrong argument counts
|
|
- **Warnings** (orange): Unused variables, shadowing, unreachable code, lowercase globals
|
|
- **Hints** (green): Redundant code, style issues
|
|
|
|
**Note**: lua_ls provides the best mix of diagnostic levels.
|
|
|
|
### test-diagnostics.php
|
|
PHP file with intentional errors for Intelephense (PHP Language Server).
|
|
|
|
**Expected diagnostics:**
|
|
- **Errors** (red): Most issues appear as errors by default in Intelephense
|
|
- Undefined functions/variables
|
|
- Type mismatches
|
|
- Wrong argument counts
|
|
- Invalid method calls
|
|
|
|
**Note**: Intelephense is strict and reports most issues as errors. To see warnings/hints, configure in `.nvim.lua`:
|
|
```lua
|
|
return {
|
|
lsp = {
|
|
intelephense = {
|
|
settings = {
|
|
intelephense = {
|
|
diagnostics = {
|
|
undefinedSymbols = true,
|
|
undefinedVariables = true,
|
|
unusedSymbols = "hint", -- Show unused as hints
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### test-diagnostics.js
|
|
JavaScript file with intentional errors for ts_ls (TypeScript Language Server).
|
|
|
|
**Expected diagnostics:**
|
|
- **Errors** (red): Undefined variables/functions, invalid property access, missing parameters
|
|
- **Warnings** (orange): Unreachable code, type comparison issues, duplicate cases
|
|
- **Hints** (green): const vs let suggestions
|
|
- **Info** (blue): Unnecessary operations
|
|
|
|
## How to Use
|
|
|
|
1. Open any test file in Neovim:
|
|
```bash
|
|
nvim test-diagnostics.lua
|
|
# or
|
|
nvim test-diagnostics.php
|
|
# or
|
|
nvim test-diagnostics.js
|
|
```
|
|
|
|
2. Wait for LSP to attach and analyze the file (1-2 seconds)
|
|
|
|
3. Check the virtual text diagnostics at the end of lines with issues
|
|
|
|
4. Use `:LspInfo` to verify the LSP server is attached
|
|
|
|
## Color Reference
|
|
|
|
The Paper Tonic Modern colorscheme uses these colors for diagnostics:
|
|
|
|
- **DiagnosticError** (virtual text): `#d70000` (bright red) on `#ffefef` background
|
|
- **DiagnosticWarn** (virtual text): `#d75f00` (orange) on `#ece0e0` background
|
|
- **DiagnosticInfo** (virtual text): `#8989af` (blue) on `#e0e0ec` background
|
|
- **DiagnosticHint** (virtual text): `#89af89` (green) on `#e0ece0` background
|
|
|
|
## Testing Checklist
|
|
|
|
- [ ] Errors show in red with red undercurl
|
|
- [ ] Warnings show in orange with orange undercurl
|
|
- [ ] Hints show in green
|
|
- [ ] Info messages show in blue
|
|
- [ ] Virtual text is readable against light background
|
|
- [ ] Sign column icons show correct colors
|
|
- [ ] Diagnostic floating windows display correctly
|
|
|
|
## Debug Command
|
|
|
|
Use the `<leader>hi` keymap to inspect highlight info under cursor and verify diagnostic colors are applied correctly.
|