058fcf84c9
API: add a templated config value wrapper
...
This is basically a copy of the Hyprland config wrapper. It's much more straightforward to use, and much harder to fuck up.
2024-12-13 20:48:06 +00:00
Eduard Tykhoniuk
5b175c9704
config: Return an error on invalid hex values. ( #54 )
...
* config.cpp: fix parsing invalid hex
Instead of crashing on an invalid hex, return an error.
* config: return an error on an invalid hex value
* cleanup
* style: add references for catching exceptions
* style: ignore `std::out_of_range`
2024-09-02 00:45:17 +02:00
Eduard Tykhoniuk
c12ab785ce
config: fix parsing invalid hex ( #53 )
...
Instead of crashing on an invalid hex, return an error.
2024-09-01 12:57:32 +02:00
16e5c9465f
core: don't populate linesContainingVar on dynamic requests
2024-08-20 19:16:02 +02:00
5df0174fd0
core: properly handle unscoped keywords
...
for users: prefix your keyword with : to make it only global scope
2024-07-07 21:42:53 +02:00
Aurélien Brabant
095f54b910
core: handle scoped keywords if flags are not allowed ( #49 )
...
* core: handle scoped keywords if flags are not allowed
* chore: formatting
* test: add test cases for unintended categoryKeyword config options
* fix: use at() instead of []
2024-07-07 18:05:23 +02:00
Vaxry
ec6938c662
core: Move to hyprutils for util functions ( #48 )
...
* move to hyprutils
* Nix: add hyprutils dep
---------
Co-authored-by: Mihai Fufezan <mihai@fufexan.net>
2024-06-08 23:24:12 +02:00
969cb076e5
dynamic: fix dynamic variables being blocked by flag keywords
...
fixes #45
2024-05-15 17:45:27 +01:00
748fb531ca
lib: add escaping errors
...
fixes #39
2024-04-14 16:29:27 +01:00
Micovec
c140261214
lib: Allow comment escaping with multiple #
if it's the first char ( #38 )
...
* parse line - ignore leading spaces, tabs
* removed unnecessary substr functions
* parse line - discard empty lines sooner
2024-03-29 00:24:51 +00:00
95471ec86f
core: allow specifying special keys with []
...
fixes #35
2024-03-28 16:44:44 +00:00
Sergey Fedorov
b3e430f81f
config.cpp: fix environ for Apple ( #34 )
2024-03-24 03:20:55 +00:00
a2f3942114
core: fix recursive variables in RHS of variable assignment
...
fixes #33
2024-03-20 18:48:46 +00:00
2e2a1992c8
core: make option structs forward-ABI compatible
2024-03-08 15:47:21 +00:00
66c099e097
API: add pathIsStream to SConfigOptions
2024-03-07 18:14:02 +00:00
221714841a
core: fix value name in configSetValueSafe
...
fixes #29
2024-03-05 14:16:22 +00:00
bbf5c30b0c
core: throw custom value errors from handler
2024-02-19 14:22:12 +00:00
bf5c561905
core: fix dynamic variable updates with special categories
2024-02-19 14:19:01 +00:00
378c3e273b
API: add anonymous special categories
2024-02-17 22:38:10 +00:00
65a7f870a6
internal: fix bugs on non-existent dynamic special requests
2024-02-17 19:11:22 +00:00
7b7e7cdd07
api: add listKeysForSpecialCategory
2024-02-17 19:01:35 +00:00
bb85de0919
internal: fix preload of dynamic special categories
...
oops
2024-02-15 02:44:11 +00:00
4a464738e2
internal: create special vars instantly at addSpecialConfigValue
2024-02-13 16:42:52 +00:00
ebffe8f61d
API: make addSpecialConfigValue take a ref to val
...
woo breaking API and ABI
2024-02-13 16:26:06 +00:00
Zach DeCook
573cf83c51
core: Fix compilation and tests on 32bit architectures ( #20 )
...
* Fix compilation on 32-bit architectures
The 1234L suffix creates a 'long', which is not 64-bit on 32-bit architectures.
* Use stoll instead of stol to fix colors on 32-bit systems
on 32 bit systems, 'long' is 32 bits and 'long long' is 64 bits,
so the 'long long' functions need to be used.
* Fix rgba and rgb values on 32-bit
* Use a cast to Hyprlang::INT
2024-02-12 18:03:04 +00:00
689b405d9d
internal: fixes to config path handling
2024-02-12 15:13:27 +00:00
dbe5835573
internal: make int errors throw
2024-02-11 16:15:03 +00:00
7c5f672b2f
internal: various stability improvements
2024-02-11 15:38:51 +00:00
c1f5b0ab48
internal: fix handling of escaped #
2024-02-10 01:50:22 +00:00
f5056f78d5
api: add some qol stuff needed by hyprland
2024-02-09 16:31:08 +00:00
ab007915f7
config: make special own its subcategories if not set
2024-02-09 04:35:16 +00:00
ff30ccf3cb
API: add a few convenience funcs needed by hyprland
2024-02-09 03:28:34 +00:00
26d2638f74
API: fix usage of stl in parseFile
2024-02-09 03:28:07 +00:00
Vaxry
1db2a12767
CI: add fuzzing and sanitizing ( #5 )
2023-12-31 16:51:50 +01:00
5150f64f15
configvalue: add getDataStaticPtr()
2023-12-31 14:15:03 +01:00
1210de188c
configOptions: add allowMissingConfig
2023-12-31 01:59:37 +01:00
70145fd8da
core: add options for config parser
2023-12-30 13:32:29 +01:00
a081d90b19
core: add custom data types
2023-12-29 19:35:23 +01:00
8d538588ff
internal: move public stuff to include/hyprlang.hpp
2023-12-29 18:01:07 +01:00
Vaxry
d6bb511810
CI: Add arch cross-compile and test ( #1 )
2023-12-29 17:52:44 +01:00
710bf1276a
core: add parseFile
2023-12-29 13:43:36 +01:00
cc05e782b3
core: add special categories
2023-12-29 13:26:21 +01:00
c5d9b60170
core: add env
2023-12-29 12:01:01 +01:00
582d35fee8
core: make dynamic variable changes affect lines where it is used
2023-12-29 11:48:55 +01:00
158c66c5db
core: add variables
2023-12-29 11:40:08 +01:00
090dcb22ea
core: add dynamic handlers
2023-12-29 11:22:24 +01:00
19479c3216
core: add support for handlers
2023-12-28 23:25:57 +01:00
1c46cc857b
add comma-separated rgb and rgba
2023-12-28 21:23:10 +01:00
750d011806
add support for vec2
2023-12-28 21:04:51 +01:00
e15526ee91
initial commit
...
parses variables. Progress, I guess.
2023-12-28 20:38:01 +01:00