Oliver Hamlet
9f6e941955
Add Travis and AppVeyor config
2018-10-05 20:30:50 +01:00
Oliver Hamlet
ce85be1201
Add MIT license
2018-10-05 20:21:14 +01:00
Oliver Hamlet
360058725a
Update readme
2018-10-05 19:54:12 +01:00
Oliver Hamlet
be313c40cb
Support reading file version from Windows executables
2018-10-05 19:52:51 +01:00
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
Oliver Hamlet
dbb1a4987a
Implement parsing for everything down to Function
2018-10-03 17:15:33 +01:00
Oliver Hamlet
b3435122dd
Initial commit of experimental LOOT condition parser
...
Some FilePath functionality is missing, not all tests pass, and parsing
is incorrect for all structs.
2018-10-03 17:15:33 +01:00