Skip to content

docs: Add LSP UX heuristic evaluation report for clangd#1551

Open
sinelaw wants to merge 1 commit intomasterfrom
claude/setup-dev-tools-xd4AZ
Open

docs: Add LSP UX heuristic evaluation report for clangd#1551
sinelaw wants to merge 1 commit intomasterfrom
claude/setup-dev-tools-xd4AZ

Conversation

@sinelaw
Copy link
Copy Markdown
Owner

@sinelaw sinelaw commented Apr 12, 2026

Summary

This PR adds a comprehensive usability heuristic evaluation and technical audit of Fresh's LSP integration, focusing on the LSP Status Indicator, Notification Bar, and Hover Pop-ups using clangd as the test language server against the fmt C++ codebase.

Key Changes

  • New documentation: docs/internal/LSP_HEURISTIC_EVAL_CLANGD.md — a detailed 160-line evaluation report including:
    • Methodology section documenting the test environment (Fresh v0.2.23, clangd 18.1.3, fmt codebase, tmux 3.4)
    • 15 heuristic violations mapped to Nielsen/Norman usability heuristics with severity ratings (0–4)
    • Technical audit with ANSI color palette analysis, contrast measurements (WCAG AA compliance), and layout integrity checks
    • Remediation plan with 13 actionable recommendations prioritized by impact (P0–P3)
    • Severity roll-up and reproduction instructions

Notable Findings

The evaluation identifies 7 major issues blocking the "LSP should just work" promise:

  • LSP does not auto-start; no visual indication of available-but-dormant servers (H-1)
  • No progress indicator during clangd indexing (~8 s with no UI feedback) (H-2)
  • Dual, inconsistent diagnostic counters in status bar vs. editor (H-3)
  • Hover does not surface diagnostic text; requires separate panel navigation (H-5)
  • Hover under-informative on qualified names and templates (H-6)
  • Hover silently fails on files outside compile_commands.json (H-7)
  • Dirty buffer after --no-restore on never-edited files (H-12)

The report also documents 6 minor issues (H-4, H-8–H-11, H-13) and 1 cosmetic issue (H-14), plus 1 strength (acceptable latency under load).

Purpose

This document serves as a baseline for prioritizing LSP UX improvements and provides reproducible test steps for future regression testing.

https://claude.ai/code/session_01E63E6Ye3h5fiRbfGWFcH1F

NN/g-based evaluation of LSP status indicator, notification bar, and
hover pop-ups using clangd 18 against the fmt codebase. Includes ANSI
audit findings, WCAG contrast checks, and a prioritized remediation
plan for LSP lifecycle visibility and hover/diagnostic fusion.

https://claude.ai/code/session_01E63E6Ye3h5fiRbfGWFcH1F
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants