Records the parser design facts a future agent needs before touching Jai.bnf: the token-factory requirement, what lives in JaiParserUtil and why, the PSI element that truncates an enclosing expression, longest-first operator ordering, and directive-flag adjacency. Adds the stale-output symptoms and the sticky --tests filter to the environment gotchas, and writes down the grammar iteration loop. Phase 3 is marked done; the remaining 58 corpus files are listed as the pick-up point with the three known gaps named.
Jai plugin for IntelliJ IDEA
Support for the Jai programming language.
Everything here is derived from the local Jai distribution at ~/.local/jai,
never from online material (see AGENTS.md).
What works today
.jaifile type with its own icon- Syntax highlighting: keywords, built-in type names, compiler directives
(
#import,#run, …), notes (@Cleanup), numbers (hex / binary / hexfloat /_separators), strings, here-strings (#string DONE … DONE), nesting block comments, operators,---,$/$$,it/it_index - Colour settings page (Settings → Editor → Color Scheme → Jai)
- Comment / uncomment (
//and nesting/* */) - Brace matching, including the Jai-only
.{struct-literal and.[array-literal openers
Not yet: parser and PSI, so no structure view, go-to-definition, completion,
formatting, or inspections. See docs/BUILD_PLAN.md for the phase plan.
Install it locally
./jaigradle buildPlugin
# -> build/distributions/intellijai-1.0.0-SNAPSHOT.zip
In the IDE: Settings → Plugins → ⚙ → Install Plugin from Disk…, pick that ZIP, restart when prompted. Requires build 253 (2025.3) or newer; verified compatible with IU-253, IU-261 and IU-262 by the JetBrains Plugin Verifier.
To try it, open any file from ~/.local/jai/how_to/.
Uninstall or update the same way — installing a new ZIP over the old one replaces it.
Develop
./jaigradle test # or ./jaitest, which reports the JUnit XML
./jaigradle check # full verification
Never call ./gradlew directly: there is no JDK on PATH, and ./jaigradle
resolves one via mise first. Read AGENTS.md before changing anything.
Key docs:
| File | What it is |
|---|---|
AGENTS.md |
how to work in this repo; current state |
docs/JAI_LANGUAGE_REFERENCE.md |
the language, transcribed from the compiler |
docs/BUILD_PLAN.md |
phased plan and testing strategy |
Local IntelliJ references are available in ~/programming/thirdparty:
fortran-plugin— a simple language plugin to use as reference.intellij-elixir— a more complex plugin to use as reference.intellij-sdk-docs— local versions of the IntelliJ SDK documentation.