Syntax highlighting is a waste of an information channel (2020)
Rainbow parentheses and accessibility
- Many commenters like rainbow parentheses for quickly matching scopes and spotting bracket errors; several editors (VS Code, calculators, spreadsheets) already support them or variants.
- Others find them noisy “color soup,” especially in complex expressions, and prefer structural aids like indentation, vertical guides, or on-cursor matching only.
- Color-blind users report mixed experiences: some find alternation in brightness helps; others say any multicolor text is fatiguing and distracting.
- Consensus: if used, colors must be configurable, with color‑blind‑friendly palettes and the ability to turn the feature off.
Existing capabilities vs. “wasted channel”
- Many argue the premise is dated: modern IDEs already use color and decorations for:
- Errors, dead code, unreachable code, and unused variables (often grayed).
- Symbol usages, imports vs local identifiers, mutable vs immutable, test failures, debugger state.
- Semantic highlighting via parsers/tree-sitter or language servers.
- Some say the article’s examples resemble existing features in JetBrains tools, VS Code, Emacs, etc., often implemented with ASTs or tree-sitter.
Beyond basic syntax highlighting
- Commenters propose richer or alternative visual channels:
- Color layers/modes you can toggle for tasks (flow, scope, imports, arguments, test coverage).
- Highlighting business logic vs error handling vs I/O, or dataflow from a selected variable (e.g., Flowistry for Rust).
- Structural cues via font size, weight, families, background shading, and zebra coloring of blocks.
- There’s interest in context-dependent highlighting triggered by selection or cursor position rather than always-on color noise.
Readability, redundancy, and code quality
- Some see extra color as essential redundancy that aids pattern recognition and error detection; syntax coloring reassures them the parser agrees with their mental model.
- Others dislike heavy coloring entirely, preferring minimal schemes and good formatting; they worry rich visual aids encourage terser, less readable code that’s harder to work with outside a tuned IDE.
- Several stress that color should complement, not replace, information encoded in naming, structure, and text itself.
Structured representations and future directions
- Discussion touches on structured code representations (tree-sitter, CSTML/BABLR, JetBrains semi‑ASTs, Source Insight) as foundations for semantic highlighting and complex visualizations.
- Some are exploring AI-powered “semantic highlighting” to surface context like reachability or business logic, though others doubt current AI can offer formally reliable analyses.