Files
intellijai/CHANGELOG.md
2026-08-05 16:32:40 -04:00

1.9 KiB

Jai Plugin Changelog

[Unreleased]

Added

  • .jai file type, icon, and language registration
  • Hand-written Jai lexer covering the full token set of the compiler's own lexer, including nesting block comments and here-strings
  • Syntax highlighting and a colour settings page
  • Comment/uncomment support and brace matching, including .{ and .[
  • Grammar-Kit parser and PSI for the whole language: declarations, procedures, structs, enums, unions, control flow including the if x == { case } switch form, and compiler directives. The full 714-file Jai distribution parses with no syntax errors; JaiCorpusParserTest is ratcheted at 100%.
  • Structure view with source-ordered declarations and nested procedure/aggregate members.
  • Folding for blocks, nested comments, and multi-line here-strings.
  • Go-to-definition references for #import and #load, including project-relative files and the local Jai module layout (Name.jai or Name/module.jai).
  • Completion for Jai keywords, compiler directives, module/file paths, visible same-file or imported declarations, procedure parameters, and members of imported module aliases.
  • Project-level Jai module/import root settings with ordered custom roots.
  • Go-to-definition for procedure and type symbols in the same file and through loaded, imported, or configured external Jai files.
  • Indexed external Jai roots so find-usages can cross project/library boundaries.
  • Rename and find-usages support for declaration names and resolved references.

Known gaps

  • #asm bodies are parsed as opaque blocks, so their assembly instructions do not have inner PSI.
  • #asm bodies remain intentionally opaque; assembly instructions do not have inner PSI or structure entries.
  • Struct fields and other type-qualified members do not yet have symbol resolution or completion.