fix: Local variables now show up in the debugger properly chore: The flattening chore: Remove unnecessary plugin xmls docs: Update module tree chore: Remove flexmark, replace with builtin intellij apis fix: wrong lsp4j package (used IJ shipped lsp4j instead of ours) (cherry picked from commit49483a9f9c
) ci: fix deps (cherry picked from commit1ff8616d26
) chore: better project path management (cherry picked from commit0ebbe1cc9b
) ci: Slightly better git version management (cherry picked from commit6fbf826574
) chore: Optimize imports (cherry picked from commit92c5e57a03
) chore: Require restart unconditionally (cherry picked from commit9e90502b05
) docs: Update readme (cherry picked from commit95799c627b
) docs: Update changelog (cherry picked from commit45b153f7c4
) feat: Better configurability (cherry picked from commitec5c07c0a1
) fix: Annotator jank breaking diagnostics (cherry picked from commit85bd68393c
) chore: move some misplaced xml entires (cherry picked from commit7b2ad7c324
) feat!: Huge debugging refactor - Debug support for Windows - Debuggable zig build - Debuggable binaries This is a squashed commit so ignore the weird author date (cherry picked from commit3d0dbb8e36
) fix: NPE in go to definition (cherry picked from commitb4539c0aa9
) fix: Builds on windows again (cherry picked from commit733f0b2622
) feat: Improved docs, more reliable file sync (cherry picked from commit23b72086bc
) chore: LanguageServerDefinition remove ancient obsolete logic (cherry picked from commit8a0c862446
) chore: Move lsp connection logic to lsp-common (cherry picked from commit3287051e3d
) chore: Move ApplicationUtil to common (cherry picked from commit845af09e29
) feat!: Colored builds and clickable file path references (cherry picked from commit66aef224b2
)
1.2 KiB
1.2 KiB
What is this?
This document describes the relationships between the different "modules" of ZigBrains.
These relationships are strictly enforced, and modules that do not directly (or indirectly) depend on another module cannot access their classes.
The primary purpose of this strictly enforced module system is to avoid code compatible with open source IDEs (IDEA/PyCharm Community) from depending on code that only works on proprietary IDEs (IDEA Ultimate/CLion/...).
NOTE: These "modules" are in no way related to the module system introduced in Java 9. They're just called the same.
The suffix after the module name signifies which IDE it depends on.
- IC: IDEA Community
- CL: CLion
- EXT: External maven library
IC modules MUST NOT depend on CL modules, as this violates the restrictions set forth above.
Modules
Common (IC)
LSP-Common (IC)
- LSP4J (EXT)
LSP (IC)
- Apache Commons Lang 3 (EXT)
- Common (IC)
- LSP-Common (IC)
Zig (IC)
- Grammarkit (EXT)
- Common (IC)
- LSP (IC)
Project (IC)
- Common (IC)
- Zig (IC)
Zon (IC)
- Grammarkit (EXT)
- Common (IC)
Debugger (IU/CL)
- Common (IC)
- LSP-Common (IC)
- Zig (IC)
- Project (IC)