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
)
49 lines
No EOL
1.2 KiB
Markdown
49 lines
No EOL
1.2 KiB
Markdown
## 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) |