ZigBrains/CONTRIBUTING.md

19 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2023-07-31 15:02:24 +02:00
For now this project is still pretty small, but here are some general guidelines on how to contribute to this repository
- This project ships with a code style config in .idea, your IDE should automatically apply it when you pull the repo.
When making pull requests, please try to keep to this style as much as possible.
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 https://github.com/ballerina-platform/lsp4intellij/commit/34b29ee729c85d59b972313f5480c305785228d8 (cherry picked from commit 59c1f4612d353de3230419d005206dada4900a7f) fix(lsp): unregisterManager method's cleanup https://github.com/ballerina-platform/lsp4intellij/commit/bc9c5ea31c2b0735f3a3620d64b72e58198d24a5 (cherry picked from commit 14a1a9d79f09573d3d7c8cfb27bb008cb63ca38b) chore(lsp): Extract shared logic https://github.com/ballerina-platform/lsp4intellij/commit/75a5fd8919fd253c6bd0a69d7c9b183348b43814 (cherry picked from commit 857a0224897e27968fa03f93b0f9a02bc109f0b0) fix(lsp): Remove duplicated changedConfiguration calls https://github.com/ballerina-platform/lsp4intellij/commit/9b2b0557c93dbdb8cbe2b7a6b09925286a44d663 (cherry picked from commit ceb347d8723130c8ee4097a78fed5f14615805ee) chore(lsp): Small code cleanup https://github.com/ballerina-platform/lsp4intellij/commit/8c1e6736df760f29b3fdd8e372d2e949fd7ba330 (cherry picked from commit 1e1b4aaaeafabfe76abad22cc18aa51629098012) fix(lsp): Code action annotations lose range https://github.com/ballerina-platform/lsp4intellij/commit/00bbd6ff455e5f061acab6ff51b1a755507f2cd1 (cherry picked from commit d920fa37f32549d7d7419fa07e478b94cc8ae8ba) fix(lsp): Request code actions immediately after diagnostics arrive https://github.com/ballerina-platform/lsp4intellij/commit/0fe2cf98fe030a4c268259d5b0b3d372dd10f0c2 (cherry picked from commit 36138213ba878eaf97e9c7f0642b9927672d2e59)
2024-02-29 20:41:56 +01:00
2023-07-31 15:02:24 +02:00
- Use [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/), and scope as much as you can.
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 https://github.com/ballerina-platform/lsp4intellij/commit/34b29ee729c85d59b972313f5480c305785228d8 (cherry picked from commit 59c1f4612d353de3230419d005206dada4900a7f) fix(lsp): unregisterManager method's cleanup https://github.com/ballerina-platform/lsp4intellij/commit/bc9c5ea31c2b0735f3a3620d64b72e58198d24a5 (cherry picked from commit 14a1a9d79f09573d3d7c8cfb27bb008cb63ca38b) chore(lsp): Extract shared logic https://github.com/ballerina-platform/lsp4intellij/commit/75a5fd8919fd253c6bd0a69d7c9b183348b43814 (cherry picked from commit 857a0224897e27968fa03f93b0f9a02bc109f0b0) fix(lsp): Remove duplicated changedConfiguration calls https://github.com/ballerina-platform/lsp4intellij/commit/9b2b0557c93dbdb8cbe2b7a6b09925286a44d663 (cherry picked from commit ceb347d8723130c8ee4097a78fed5f14615805ee) chore(lsp): Small code cleanup https://github.com/ballerina-platform/lsp4intellij/commit/8c1e6736df760f29b3fdd8e372d2e949fd7ba330 (cherry picked from commit 1e1b4aaaeafabfe76abad22cc18aa51629098012) fix(lsp): Code action annotations lose range https://github.com/ballerina-platform/lsp4intellij/commit/00bbd6ff455e5f061acab6ff51b1a755507f2cd1 (cherry picked from commit d920fa37f32549d7d7419fa07e478b94cc8ae8ba) fix(lsp): Request code actions immediately after diagnostics arrive https://github.com/ballerina-platform/lsp4intellij/commit/0fe2cf98fe030a4c268259d5b0b3d372dd10f0c2 (cherry picked from commit 36138213ba878eaf97e9c7f0642b9927672d2e59)
2024-02-29 20:41:56 +01:00
- Do not edit the relationship tree between modules without unanimous agreement from the project lead.
If you want an "upstream" module (for instance, the LSP) receive data from a "downstream" module
(for instance, the project module), you should use service providers, dependency injections, or other ways to implement
the dataflow in a way where the upstream module is not directly aware of downstream modules.
The main purpose of this is to avoid any circular dependencies, which could cause proprietary IDE-only features
(for instance, the CLion debugger module) to be depended on by FOSS modules. This restriction is non-negotiable.
- Any complex language inspection, syntax action, or similar, should be done by ZLS, and ZigBrains will just act as an
adapter for these features. This notion of "complexity" is determined by the project maintainer. Open an issue
that explains the feature before you start implementing anything!