Skip to content

Scripting terminal: error tooltip, scrollbar and JEI polish - #98

Merged
rubensworks merged 6 commits into
master-1.21-ltsfrom
terminal-ux-clean/12-editor-polish
Oct 20, 2026
Merged

rubensworks merged 6 commits into
master-1.21-ltsfrom
terminal-ux-clean/12-editor-polish

Conversation

@rubensworks

@rubensworks rubensworks commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Stacked on #96. There are five standalone commits:

  1. Show syntax error tooltips below their line, pointing at the error. The tooltip used to be placed at the mouse, often right over the line it describes. Like in IntelliJ, it now goes below all rows of the error line, including wrapped rows, or above them when there's no room. A small arrow in the vanilla tooltip style points at the column of the error.
  2. Make the script editor scrollbar narrower. It went from 14px to 7px wide. The editor draws its own slim handle in the vanilla bevel style instead of the 12px creative scroller sprite. The handle height stays 15px, which the scrollbar's drag handling in CyclopsCore relies on.
  3. Show syntax errors when hovering their scrollbar mark. The red mark used to be drawn over the scrollbar handle. It's now drawn below it, and the handle only covers it when the error is roughly in view. Hovering the mark shows the error message.
  4. Hide JEI in focus mode. A @JeiPlugin registers a container handler that claims the whole screen as an extra area while focus mode is on, so JEI hides its item list. It's only loaded when JEI is installed, and the JEI API is a compile-only dependency (jei_version=19.16.0.152, the newest that runs on our NeoForge 21.1.2).
  5. Keep JEI's buttons clear of the focus mode editor. JEI keeps its bookmark and config buttons in the bottom corners even with the overlay hidden. Focus mode uses a 28px margin instead of 20px when JEI is installed.

Validation:

  • In-game, with JEI temporarily added to the dev run:
    • the tooltip with its arrow sits below a wrapped error line
    • the mark is hidden under the handle while the error is in view, and visible and hoverable after scrolling away
    • focus mode shows no JEI list, and no buttons overlap the editor
  • Every commit builds. runGameTestServer passes 25/25 on the tip.

🤖 Generated with Claude Code

https://claude.ai/code/session_018MRyTdV3fSV5Q5NPGep4q9

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Coverage Report for CI Build 39290546111

Coverage decreased (-0.6%) to 44.113%

Details

  • Coverage decreased (-0.6%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 575 coverage regressions across 4 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

575 previously-covered lines in 4 files lost coverage.

File Lines Losing Coverage Coverage
org/cyclops/integratedscripting/client/gui/component/input/WidgetTextArea.java 337 0.0%
org/cyclops/integratedscripting/client/gui/container/ContainerScreenTerminalScripting.java 234 0.0%
org/cyclops/integratedscripting/inventory/container/ContainerTerminalScripting.java 3 38.53%
org/cyclops/integratedscripting/core/network/ScriptingData.java 1 82.75%

Coverage Stats

Coverage Status
Relevant Lines: 4087
Covered Lines: 1934
Line Coverage: 47.32%
Relevant Branches: 1918
Covered Branches: 715
Branch Coverage: 37.28%
Branches in Coverage %: Yes
Coverage Strength: 23.55 hits per line

💛 - Coveralls

The tooltip of a syntax error was placed at the mouse, often covering the
line it describes. Like in other editors, it is now placed below all rows
of the line, or above them if there is no room, with an arrow pointing at
the column of the error.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MRyTdV3fSV5Q5NPGep4q9
The scrollbar took as much width as an inventory scrollbar, leaving less
room for text in the small editor. It is now about half as wide.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MRyTdV3fSV5Q5NPGep4q9
The red mark of a syntax error on the scrollbar was drawn over the
scrollbar handle, and gave no information when hovered. It is now drawn
below the handle, and hovering it shows the error message.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MRyTdV3fSV5Q5NPGep4q9
JEI drew its item list over the enlarged script editor. When JEI is
installed, the focus mode now claims the whole screen, so JEI hides it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MRyTdV3fSV5Q5NPGep4q9
JEI keeps its bookmark and config buttons in the bottom corners of the
screen, which overlapped the enlarged script editor. The focus mode now
leaves a larger margin when JEI is installed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018MRyTdV3fSV5Q5NPGep4q9
@rubensworks
rubensworks force-pushed the terminal-ux-clean/12-editor-polish branch from ebf341f to 0a2a0f2 Compare October 19, 2026 17:01
…/12-editor-polish

# Conflicts:
#	src/main/java/org/cyclops/integratedscripting/client/gui/component/input/WidgetTextArea.java
Base automatically changed from terminal-ux-clean/11-completion to master-1.21-lts October 20, 2026 17:47
@rubensworks
rubensworks merged commit bddb856 into master-1.21-lts Oct 20, 2026
22 checks passed
@rubensworks
rubensworks deleted the terminal-ux-clean/12-editor-polish branch October 20, 2026 17:49
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