32 lines
1.4 KiB
Markdown
32 lines
1.4 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`).
|
|
|
|
### 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.
|