2018-02-26 23:10:53 +00:00
|
|
|
loot-condition-interpreter
|
|
|
|
|
==========================
|
|
|
|
|
|
|
|
|
|
An experimental library for parsing and evaluating LOOT's metadata condition
|
|
|
|
|
strings. Written in Rust. Very incomplete.
|
|
|
|
|
|
|
|
|
|
Goals:
|
|
|
|
|
|
2018-10-05 19:54:12 +01:00
|
|
|
- [x] Explore parsing conditions into an intermediate representation, then
|
2018-02-26 23:10:53 +00:00
|
|
|
evaluating from that representation. LOOT's current parser evaluates
|
|
|
|
|
conditions while parsing them, tightly coupling the two operations.
|
2018-10-05 19:54:12 +01:00
|
|
|
- [ ] Explore more granular result caching. LOOT's current caching maps each
|
2018-02-26 23:10:53 +00:00
|
|
|
condition string to its result, which can't handle case insensitivity (some
|
|
|
|
|
parts of the condition string are case sensitive) or re-use results in
|
|
|
|
|
compound conditions.
|
2018-10-05 19:54:12 +01:00
|
|
|
- [ ] Explore round trip serialisation from the intermediate representation.
|
|
|
|
|
- [ ] Evaluate the cost/benefit of integrating into LOOT, replacing the existing
|
2018-02-26 23:10:53 +00:00
|
|
|
code.
|
|
|
|
|
|
2018-10-01 20:44:48 +01:00
|
|
|
The tests need the [testing-plugins](https://github.com/WrinklyNinja/testing-plugins)
|
2018-10-05 19:52:51 +01:00
|
|
|
and the [LOOT API v0.13.8](https://github.com/loot/loot-api/releases/tag/0.13.8)
|
|
|
|
|
Windows archives to be extracted and present in the repo root.
|