81 lines
3.4 KiB
Lua
81 lines
3.4 KiB
Lua
-- Paper Tonic Modern - LSP Highlight Groups
|
|
-- LSP diagnostics, references, and UI elements
|
|
|
|
local c = require('paper-tonic-modern.colors')
|
|
|
|
return {
|
|
-- ============================================================================
|
|
-- LSP Diagnostics
|
|
-- ============================================================================
|
|
|
|
-- Error diagnostics (red)
|
|
DiagnosticError = { fg = c.alert_strong }, -- Bright red #d70000
|
|
DiagnosticUnderlineError = { sp = c.alert_strong, undercurl = true },
|
|
DiagnosticSignError = { fg = c.alert_strong, bg = c.bg },
|
|
DiagnosticFloatingError = { fg = c.alert_strong },
|
|
DiagnosticVirtualTextError = { fg = c.alert_strong, bg = c.bg_error_weak },
|
|
|
|
-- Warning diagnostics (orange)
|
|
DiagnosticWarn = { fg = c.alert }, -- Orange-red #d75f00
|
|
DiagnosticUnderlineWarn = { sp = c.alert, undercurl = true },
|
|
DiagnosticSignWarn = { fg = c.alert, bg = c.bg },
|
|
DiagnosticFloatingWarn = { fg = c.alert },
|
|
DiagnosticVirtualTextWarn = { fg = c.alert, bg = c.bg_fail },
|
|
|
|
-- Info diagnostics (blue)
|
|
DiagnosticInfo = { fg = c.modified }, -- Blue #8989af
|
|
DiagnosticUnderlineInfo = { sp = c.modified, underline = true },
|
|
DiagnosticSignInfo = { fg = c.modified, bg = c.bg },
|
|
DiagnosticFloatingInfo = { fg = c.modified },
|
|
DiagnosticVirtualTextInfo = { fg = c.modified, bg = c.bg_modified },
|
|
|
|
-- Hint diagnostics (green)
|
|
DiagnosticHint = { fg = c.success }, -- Green #89af89
|
|
DiagnosticUnderlineHint = { sp = c.success, underline = true },
|
|
DiagnosticSignHint = { fg = c.success, bg = c.bg },
|
|
DiagnosticFloatingHint = { fg = c.success },
|
|
DiagnosticVirtualTextHint = { fg = c.success, bg = c.bg_success },
|
|
|
|
-- ============================================================================
|
|
-- LSP References (document highlight)
|
|
-- ============================================================================
|
|
|
|
-- Text under cursor (current symbol)
|
|
LspReferenceText = { bg = c.bg_hl_special_weak }, -- Subtle cyan #e0eaff
|
|
|
|
-- Read references (where symbol is read)
|
|
LspReferenceRead = { bg = c.bg_hl_special }, -- Cyan #d4f0ff
|
|
|
|
-- Write references (where symbol is written/modified)
|
|
LspReferenceWrite = { bg = c.bg_hl_special_strong }, -- Strong cyan #a3e0ff
|
|
|
|
-- ============================================================================
|
|
-- LSP Signature Help
|
|
-- ============================================================================
|
|
|
|
LspSignatureActiveParameter = { fg = c.primary_strong, bold = true },
|
|
|
|
-- ============================================================================
|
|
-- LSP Semantic Tokens (fallback groups)
|
|
-- ============================================================================
|
|
|
|
-- These are fallback groups for LSP semantic tokens
|
|
-- TreeSitter groups take precedence when both are available
|
|
['@lsp.type.class'] = '@type',
|
|
['@lsp.type.decorator'] = '@function',
|
|
['@lsp.type.enum'] = '@type',
|
|
['@lsp.type.enumMember'] = '@constant',
|
|
['@lsp.type.function'] = '@function',
|
|
['@lsp.type.interface'] = '@type',
|
|
['@lsp.type.macro'] = '@macro',
|
|
['@lsp.type.method'] = '@function.method',
|
|
['@lsp.type.namespace'] = '@module',
|
|
['@lsp.type.parameter'] = '@variable.parameter',
|
|
['@lsp.type.property'] = '@property',
|
|
['@lsp.type.struct'] = '@type',
|
|
['@lsp.type.type'] = '@type',
|
|
['@lsp.type.typeParameter'] = '@type',
|
|
['@lsp.type.variable'] = '@variable',
|
|
}
|
|
|