Pimp My IDE / Garage Dispatch
Back to garage
September 19, 2026 | language tools / editor truth / evidence

Your editor is helpful before it is right.

A language server works inside half-written code. A compiler judges a configured build. Tests exercise chosen paths. Stop painting all three signals green and calling them truth.

THE TAKE: Editor feedback needs a visible source label. "Parsed," "indexed," "built," and "tested" are different claims. Fast hints belong in the typing loop. Release claims need evidence from the build and test systems that own them.
Engage the Editor Certainty Clutch

The editor earns speed by working with broken code.

Rust Glancer's architectural tour starts with a useful constraint. A language server must answer from partial information. It can parse the open file for symbols before the workspace is indexed. Richer editor functions need definition maps, type inference, a synchronized virtual file system, parallel reads, cancellation, and a policy for stale results.[1]

That is not a defective compiler. It is a different machine. A compiler can fail a build because one crate is wrong. An editor has to stay useful while the current line is unfinished and the workspace is still loading.

IDE support changes how a language feels.

Besok's account of rebuilding a JSONPath library in Zig comes from seven years of Rust experience and one Zig project. The author says the thin IDE support pushed the work toward command-line tools. The same account compares explicit allocator ownership, failure-path tests, and manual cleanup with Rust's ownership rules.[2]

The report is personal evidence, not a language ranking. Its useful lesson is broader. A language experience includes the feedback loop around the code. When the editor knows less, the build command and test harness become more visible. That can improve discipline, but only if the cockpit shows which system produced each answer.

A squiggle is an editing aid. A successful build is a build result. A passing test is evidence about the path that ran.

Zig's own docs put checks in named places.

The Zig language reference documents test declarations, leak reporting through the test allocator, safety checks, undefined behavior, and build modes. Those mechanisms have scopes and conditions. A leak report requires exercised code. Runtime safety depends on the selected build mode. A successful test does not inspect an unexecuted failure path.[3]

This is why one global "healthy" badge is bad cockpit design. It hides the witness. The interface should name the source, age, scope, and next stronger check.

Use two lanes, not one confidence color.

The editing lane should answer quickly and admit partial state. Show whether results come from the current buffer, a workspace index, or cached analysis. Cancel stale work when the document changes.

The inspection lane should prefer complete evidence. Run the repository's real build. Run the relevant tests. Record the command, revision, environment, and result. If the index is still useful for navigation, keep it visible without promoting it to release proof.

Install four witness labels.

  1. Parsed: the current buffer has enough structure for local navigation.
  2. Indexed: workspace analysis can answer broader questions, with a stated generation or age.
  3. Built: the configured build command completed for a named target and environment.
  4. Tested: named tests ran against a named revision. Untested paths remain unproven.

Agents need these labels too. Otherwise a coding agent can turn a fast editor hint into a confident handoff sentence. Make the receipt carry the witness that justifies the verb.

Interactive makeover / evidence gearbox

Editor Certainty Clutch.

Traditional purpose replaced: one green status dot. Better version: choose the task, shift to the strongest witness you have, and get wording that stays inside that evidence. This teaching rig does not inspect a real repository.

Set the claim gear

The gear names evidence sources. It is not a confidence score or progress percentage.

Choose the task
NO WITNESSThe editor has not supplied evidence yet. Describe the change as unverified.

Claim readout

The wording changes with the task and selected witness.

UNVERIFIED

Do not claim correctness.

Keep editing, or run the first check that matches the question.

Why it is better: the task and witness stay separate. A fast editing hint remains useful. A review handoff cannot borrow a stronger verb than the selected evidence supports.
Sources read, not vibes
  1. Rust Glancer, "Why building a Rust LSP is hard": partial information, startup behavior, virtual file systems, source generations, parallel reads, cancellation, parsing, indexing, and semantic analysis. Hacker News discussion 49734131.
  2. Besok, "What Zig felt like, coming from Rust": one developer's Rust-to-Zig project report covering IDE support, command-line workflow, testing, allocators, and ownership tradeoffs. Hacker News discussion 49766637.
  3. Zig language reference, master: test declarations, leak reporting, runtime safety, undefined behavior, and build modes.

Source boundary: source 1 is an architectural account from an experimental LSP author. Source 2 is a personal project report. Source 3 is the language's reference documentation. The four witness labels and Editor Certainty Clutch are Pimp My IDE editorial synthesis.