1.9 KiB
1.9 KiB
Jai Plugin Changelog
[Unreleased]
Added
.jaifile 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;JaiCorpusParserTestis 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
#importand#load, including project-relative files and the local Jai module layout (Name.jaiorName/module.jai). - Basic completion for Jai keywords, compiler directives, and module/file paths.
- 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
#asmbodies are parsed as opaque blocks, so their assembly instructions do not have inner PSI.#asmbodies remain intentionally opaque; assembly instructions do not have inner PSI or structure entries.- Symbol-aware completion for declarations and imported symbols is not yet implemented.
- Module-qualified members, procedure parameters, and struct fields do not yet have symbol resolution or completion.