Files
intellijai/CHANGELOG.md
2026-08-04 15:54:31 -04:00

38 lines
1.8 KiB
Markdown

<!-- Keep a Changelog guide -> https://keepachangelog.com -->
# 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`).
- Basic completion for Jai keywords, compiler directives, and module/file paths.
- Go-to-definition for procedure and type symbols in the same file and through
loaded or imported Jai files.
- 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.
- Import resolution uses the project/module roots and the local Jai installation;
custom compiler `-import_dir` arguments are not discovered yet.
- Module-qualified members, procedure parameters, and struct fields do not yet
have symbol resolution.