Repository navigation
Put the error actions on the title line and collapse hints - #164
Merged
CatarinaGamboa merged 1 commit intoOct 26, 2026
Merged
Conversation
Show in state machine sits on the line of the error title with the other actions, and hints start closed. A hint the user opens stays open after a new verification. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CatarinaGamboa
merged commit Oct 26, 2026
d4dd7bb
into
feat/state-error-without-context
3 checks passed
CatarinaGamboa
added a commit
that referenced
this pull request
Oct 26, 2026
…ts 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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Stacked on #161; merge that first.
Hintsection the user can open. A hint the user opens stays open after a new verification, so editing the code does not close it. Hints are matched across verifications by the diagnostic's position, the same key the state errors already use, now shared asgetDiagnosticKey.Screenshots
E_OSS_A1_17_InterruptManagerfrom the C-stars proposal in building-examples-liquidjava.Before
After, with the hint closed and then opened.
A narrow side bar: the actions wrap below the title.
Tests
npm run lintandnpm run test:typecheck: clean.npm run test:unit: 95 passed. Inscript.spec.ts, the state machine button test now checks that it is the first action on the title line, and a new test checks that hints start closed and stay open or closed after a new verification.npm test(VS Code): 9 + 1 passing. Servermvn testand the local smoke test: passed.🤖 Generated with Claude Code