ZigBrains/MODULE_TREE.md
FalsePattern 96163ae81e
backport: 12.0.0
ci: 12.0.0

(cherry picked from commit 2f80528cb46ee5a13dd5cb960d361c41d62c7e28)
(cherry picked from commit 87d7db94410dd30be154e585138498c67c262db8)

chore: Isolate C++ toolchain into separate package to fix verifier error

(cherry picked from commit c393120bf24c40d5fc5e8ce41dacc560bcb29ae8)

chore: Forgot to bump gradle version in properties

(cherry picked from commit b8639b0e8dc7d4e8177339d5466d98af9b87c900)

fix(zig): Make go to references non-blocking

(cherry picked from commit a1cee2b1ea399776f5d4bbf33c2403a9c4bf9b03)

feat(zig)!: Go to declaration/usages and go to definition are now separate actions

(cherry picked from commit 18e130cc52e78b69dfdd08e5f160e82d3215deb2)

fix(zig): Refresh syntax highlighting after running code edits

(cherry picked from commit 64eba369d61073f1dd57c999449e9ee7b914bd49)

chore: Cleanup dependencies

(cherry picked from commit baabbb030dc8ad729f5a1f82c523c1d6da27489b)

docs: Extra information about module tree

(cherry picked from commit 12ad175f510124353fd9cc6b8994355e44965161)

feat(zig)!: Autogenerate zls config if not specified, based on project toolchain

(cherry picked from commit 59a56b67646b0253734130a84d8d9d825effe114)

feat(debugger): Library frame filter

(cherry picked from commit 4e3336add808801097acc792fa3e899b26cbdaee)

docs: update changelog

(cherry picked from commit 7db1c621288ba1cac25e85b682d981fd8cc2d4b8)

feat!: Reimplemented go to declaration/usages to replace the built-in action

Also removed mouse handling, no longer needed

(cherry picked from commit 6f481ac844f80701f22d9383a3ff228ea3ee440d)

feat(debugger): Detect C++ debugger toolchains

(cherry picked from commit 6df7cb6dc059c622a0e06ace38558c8b495bd91e)

fix(zig): Add proper lang key for notification group

(cherry picked from commit b8f64ac0062847279b6c85b00083711900e8f7cf)

chore(buildscript): Update gradle and gradle plugins

(cherry picked from commit 45ab2d9bb7834be9bc2914f962d3a21bef494fbd)

fix(lsp): Force always creating a new DocumentEventManager

34b29ee729
(cherry picked from commit 59c1f4612d353de3230419d005206dada4900a7f)

fix(lsp): unregisterManager method's cleanup

bc9c5ea31c
(cherry picked from commit 14a1a9d79f09573d3d7c8cfb27bb008cb63ca38b)

chore(lsp): Extract shared logic

75a5fd8919
(cherry picked from commit 857a0224897e27968fa03f93b0f9a02bc109f0b0)

fix(lsp): Remove duplicated changedConfiguration calls

9b2b0557c9
(cherry picked from commit ceb347d8723130c8ee4097a78fed5f14615805ee)

chore(lsp): Small code cleanup

8c1e6736df
(cherry picked from commit 1e1b4aaaeafabfe76abad22cc18aa51629098012)

fix(lsp): Code action annotations lose range

00bbd6ff45
(cherry picked from commit d920fa37f32549d7d7419fa07e478b94cc8ae8ba)

fix(lsp): Request code actions immediately after diagnostics arrive

0fe2cf98fe
(cherry picked from commit 36138213ba878eaf97e9c7f0642b9927672d2e59)
2024-02-29 20:42:34 +01:00

44 lines
No EOL
1.1 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 (IC)
- LSP4J (EXT)
- Flexmark (EXT)
- Apache Commons Lang 3 (EXT)
### Zig (IC)
- Grammarkit (EXT)
- Common (IC)
- LSP (IC)
### Project (IC)
- Common (IC)
- Zig (IC)
### Zon (IC)
- Grammarkit (EXT)
- Common (IC)
### Debugger (CL)
- Zig (IC)
- Project (IC)