Phase 5: add rename and find usages

This commit is contained in:
hgranthorner
2026-08-04 15:54:31 -04:00
parent 4758bf12e2
commit 460fc969db
17 changed files with 293 additions and 25 deletions

View File

@@ -169,7 +169,7 @@ Each phase has a machine-checkable gate. Do not advance without a green gate.
| **2** | `SyntaxHighlighter`, color settings page, commenter, brace matcher | Tier 1 golden dumps; highlighter maps every token type |
| **3** | `.bnf` grammar, generated parser + PSI, `ParserDefinition` | Tier 2 golden trees; Tier 3 corpus parse ≥ target — **done, 100.0% (714/714)** |
| **4** | Structure view, folding, `#import`/`#load` reference resolution + go-to-definition | Tier 4 fixture tests — **done** |
| **5** | Completion (keywords, directives, module names), rename, find-usages | Tier 4 fixture tests |
| **5** | Completion (keywords, directives, module names), rename, find-usages | Tier 4 fixture tests**done** (70-test suite) |
| **6** | Formatter, code style settings | Formatter round-trip: formatting the corpus is idempotent |
| **7** | Inspections (e.g. `#must` misuse), quick fixes, live templates | Tier 4 + `verifyPlugin` |
| **8** | Optional: run-configuration to invoke the `jai` compiler, parse its error output | Integration test against `~/.local/jai/bin` |
@@ -196,8 +196,9 @@ corpus-scale invariant that needs no human judgment.
## 6. Open questions for you
1. **Scope/ambition** — stop at solid syntax highlighting + navigation (Phases
04), or go all the way to formatter and inspections (07)?
1. **Scope/ambition** — stop at the current syntax, navigation, and basic
refactoring support (Phases 05), or go all the way to formatter and
inspections (07)?
2. **Compiler integration** (Phase 8) — worth it? It's the only phase needing
the actual `jai` binary, and it's the least testable.
3. **Target IDE** — IntelliJ IDEA only (current setting), or all JetBrains IDEs?
@@ -206,5 +207,6 @@ corpus-scale invariant that needs no human judgment.
setup, works today), or install a system JDK via Homebrew? I'd default to the
wrapper.
My recommendation: approve Phases 04 now, decide on 58 once the parser gate is
green and we can see how the grammar behaved against real code.
Phases 05 are now implemented and verified headlessly. The remaining decision
is whether to continue with the optional formatter, inspections, and compiler
integration work in Phases 68.