You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit a4cbd80
Browse filesBrowse the repository at this point in the historyBrowse files
Put the error actions on the title line, collapse hints, and show hints as separate options (#165)
## Description
Replaces #164, which was merged into the #161 branch after #161 had been
merged into main, so it never reached main. The first commit is #164
unchanged; the second separates the hints.
**Error title line (from #164).** **Show in state machine** sits on the
line of the error title, before the View related context and copy icons.
When the side bar is too narrow, the actions wrap below the title,
aligned right. Warnings get the same title line for their copy icon.
**Hints start closed (from #164).** The hints are a `Hint` / `Hints`
section the user can open. Hints the user opens stay open after a new
verification, so editing does not close them.
**Separate hints.** The verifier reports a list of hints, each with a
kind, but the server joined them into one string, so several suggested
call sequences read as if all of them had to be applied.
- **Server:** `hints` is now a list of `{ kind, message }`, from
`LJDiagnostic#getHints()`, replacing the joined `hint` string. The kind
is the verifier's `Hint.Kind` in kebab case, e.g. `call-sequence`.
- **View:** two or more `call-sequence` hints are listed as bullets
under **Any one of these:**. Every other hint, such as the calls
available in the current state, is its own paragraph, separated by a
line. A single call sequence is shown as a plain hint.
## Screenshots
`E_OSS_A1_17_InterruptManager` from the C-stars proposal in
building-examples-liquidjava, where the verifier suggests three call
sequences and lists the available calls.
**Before:** the action below the title, and the three call sequences and
the available calls run together.
<img width="560" alt="Error card before: Show in state machine below the
title"
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/hint-list/before-card.png"
/> <img width="560" alt="Hints before: all suggestions run together"
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/hint-list/before-hints.png"
/>
**After:** the actions on the title line, the hints closed and then
opened.
<img width="560" alt="Error card with the actions on the title line and
the hints closed"
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/hint-list/after-closed.png"
/> <img width="560" alt="Hints opened: Any one of these with three
bullets, then the available calls"
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/hint-list/after-open.png"
/>
**A narrow side bar:** the actions wrap below the title.
<img width="360" alt="Narrow side bar with the actions below the title"
src="https://raw.githubusercontent.com/liquid-java/vscode-liquidjava/pr-screenshots/hint-list/after-narrow.png"
/>
## Tests
- Server `mvn test`: 28 passing. New `DiagnosticConverterTest` test:
each hint keeps its kind and message, in order.
- `npm run lint` and `npm run test:typecheck`: clean.
- `npm run test:unit`: 97 passed. New tests in `script.spec.ts`:
- hints start closed and stay open or closed after a new verification;
- several call sequences are listed as options apart from the other
hints;
- a single call sequence is a plain hint;
- the state machine button is the first action on the title line.
- `npm test` (VS Code): 9 + 1 passing. Local smoke test: passed.
After the full run I only changed the CSS of the option list (bullets
and spacing). Unit tests and lint were re-run after it.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments