Commit Graph
227 Commits
Author SHA1 Message Date
Oliver Hamlet 2def44d3aa Rename release_numbers field to release_ids
It's more accurate as they can be non-numeric.
2018-10-05 17:13:31 +01:00
Oliver Hamlet a3f8d1423c Pad release numbers to equal length when comparing 2018-10-05 17:13:31 +01:00
Oliver Hamlet ab2726d5be Fix a few incorrect test assertions 2018-10-05 17:13:31 +01:00
Oliver Hamlet 3b1f3592b3 Support extended version identifier separators
Space, colon and underscore should separate release and pre-release identifiers.
2018-10-05 17:13:31 +01:00
Oliver Hamlet 45ab848c1f Add tests for non-semver version string comparisons
Almost at parity with pseudosem, only identifier padding and extended
separators to go.
2018-10-05 17:13:30 +01:00
Oliver Hamlet 98291fdc23 Implement semver version string comparison 2018-10-05 17:13:30 +01:00
Oliver Hamlet 8cb69dfa86 Add lexicographical evaluation of version conditions
Versions aren't yet read from executables, and evaluation isn't
pseudosem-compatible.
2018-10-05 17:12:38 +01:00
Oliver Hamlet 3acf2ffea1 Refactor game-specific code and add tests for it 2018-10-04 22:16:30 +01:00
Oliver Hamlet 107f61868c Silence name warnings 2018-10-04 22:16:29 +01:00
Oliver Hamlet 3e1c2084e5 Add evaluation of checksum() conditions 2018-10-03 19:21:45 +01:00
Oliver Hamlet 2e57585787 Add evaluation of active() and many_active() conditions 2018-10-03 18:31:26 +01:00
Oliver Hamlet 8526ca5a83 Create case-insensitive regexes in tests 2018-10-03 18:30:11 +01:00
Oliver Hamlet 1d396911a5 Fix formatting 2018-10-03 18:21:07 +01:00
Oliver Hamlet 1881348db3 Create Regex objects to match case insensitively 2018-10-03 18:17:35 +01:00
Oliver Hamlet 0db0930d31 Add evaluation of many() conditions 2018-10-03 17:15:35 +01:00
Oliver Hamlet 72be3f8172 Add evaulation of file regex conditions 2018-10-03 17:15:35 +01:00
Oliver Hamlet 291d7a7a69 Move check to see if path is in game directory to parsing time 2018-10-03 17:15:35 +01:00
Oliver Hamlet fe7b0514fb Split regex arguments that contain parent paths at parsing time
This will simplify evaluation and catches syntax errors earlier, and
matches the current LOOT implementation's parse-only behaviour more
closely, though that implementation also checks that the parent path is
valid regex, which is pointless.
2018-10-03 17:15:35 +01:00
Oliver Hamlet b9448e2072 Implement file path function evaluation 2018-10-03 17:15:34 +01:00
Oliver Hamlet 11fef635d3 Split function parsing and evaluation code into separate files 2018-10-03 17:15:34 +01:00
Oliver Hamlet 28af316ecc Add more test cases (unimplemented) 2018-10-03 17:15:34 +01:00
Oliver Hamlet f51b06d25c Add parsing of version and checksum conditions 2018-10-03 17:15:34 +01:00
Oliver Hamlet abdc841c15 Add parsing of file regex, active regex, many and many_active functions 2018-10-03 17:15:34 +01:00
Oliver Hamlet dfb41233bd Update nom to v4 and regex to v1 2018-10-03 17:15:33 +01:00
Oliver Hamlet 53c632fd75 Refactoring, add active(file) function parsing 2018-10-03 17:15:33 +01:00