hyprland-wiki/pages/Contributing and Debugging/PR-Guidelines.md

33 lines
823 B
Markdown
Raw Normal View History

---
title: PR Guidelines
---
## PR Requirements
2022-09-04 13:13:24 +02:00
- Clean, not hacky code
- Described changes and _why_ they were there
2022-09-04 13:13:24 +02:00
- Following the style (see below)
### Code Style
2022-09-04 13:13:24 +02:00
2022-12-16 18:22:44 +01:00
Hyprland's code style is governed by the `.clang-format` file.
2022-12-16 18:22:44 +01:00
Make sure to format accordingly whenever you make a PR.
2022-09-04 13:13:24 +02:00
### Some code FAQ
2022-09-04 13:13:24 +02:00
> Why is the config variable getting so weird?
Every variable from the config needs to be found in a hashmap. To limit the
amount of hashmap searches, getting a config option looks like this:
2022-09-04 13:13:24 +02:00
```cpp
2024-10-03 20:20:43 +02:00
static const auto PVARIABLE = CConfigValue<TYPE>("name");
// e.g.
static const auto PBORDERSIZE = CConfigValue<Hyprlang::INT>("general:border_size");
2022-09-04 13:13:24 +02:00
```
Since the hashmap _cannot_ be mutated during runtime, this pointer will always
be valid, and will not require hashmap lookups every single time it's read.