Commit Graph
19 Commits
Author SHA1 Message Date
Oliver Hamlet 85e92873bd Update versions and changelog for v2.3.0 2022-02-27 08:26:49 +00:00
Oliver Hamlet 548793ba34 Add readable(path) condition function
It returns true if the path is a directory that can be read, or if
it is not a directory and can be opened as a file in read-only mode.

This is being added to allow conditions to guard against trying to
read the version of an executable that exists but is unreadable,
e.g. any of the official game executables for games installed
through the Microsoft Store or Xbox app.

The Windows test for evaling with an unreadable file doesn't use a
file that's unreadable for the same reason as what's motivating this
new function, but the error that is handled when checking the file
is the same kind (permission denied).
2022-02-27 08:24:22 +00:00
Oliver Hamlet a17542c0e9 Update versions and changelog for v2.2.2 2022-02-04 16:52:51 +00:00
Oliver Hamlet d874dfcdbc Fix comparisons of versions with and without a pre-release ID
Semver says that 1.0.0-alpha < 1.0.0 but the comparison didn't account
for this case.
2022-02-04 16:22:55 +00:00
Oliver Hamlet 6127a7973a Add bcrypt library to fix C/C++ linking on Windows 2022-01-23 22:18:03 +00:00
Oliver Hamlet aa3dabab8d Apply changes suggested by clippy lints 2022-01-23 22:17:35 +00:00
Oliver HamletandGitHub 1ca8bb1e49 Merge pull request #14 from loot/dependabot/cargo/nom-7.0.0
Update nom requirement from 6.0.0 to 7.0.0
2021-08-23 08:21:57 +01:00
Oliver HamletandGitHub b14eae8ba1 Merge pull request #13 from loot/dependabot/cargo/cbindgen-0.20
Update cbindgen requirement from 0.19 to 0.20
2021-08-05 19:59:51 +01:00
Oliver Hamlet c6eb338839 Update tarpaulin to 0.18.0 2021-08-05 19:44:38 +01:00
Oliver Hamlet eae8f542ea Update versions and changelogs for v2.2.1 2021-04-25 20:02:12 +01:00
Oliver Hamlet d3fec5ee6a Improve the correctness of version comparison
This makes the comparison between a numeric and a non-numeric release ID
more granular, by trying to parse leading digits in a non-numeric
release ID as a number and comparing it against the numeric ID. If the
two differ, their ordering is used as the ID ordering. If they're equal,
the non-numeric ID is considered greater so long as it has a non-zero
length suffix after the numeric leading digits. This means that
the version
0.78b is correctly considered to be less than the version 0.86, which
was not previously the case.

Pre-release IDs are not affected to avoid not conforming to the Semver
spec, which states that numeric pre-release IDs are always less than
non-numeric pre-release IDs. As non-numeric release IDs are not allowed
in semver, this commit's changes don't change the behaviour for semver
version comparisons.
2021-04-25 18:07:16 +01:00
Oliver Hamlet 169d4652d9 Update versions and changelogs for v2.2.0 2021-04-17 15:33:10 +01:00
Oliver Hamlet f71a2abed1 Update my email address 2021-04-17 11:04:16 +01:00
Oliver HamletandGitHub d74d486b1d Merge pull request #11 from loot/dependabot/cargo/cbindgen-0.19
Update cbindgen requirement from 0.18 to 0.19
2021-04-10 10:28:32 +01:00
Oliver Hamlet a8aaf3c9e5 Trim .ghost extension from ghosted plugin before regex matching
If an installed plugin has a .ghost extension, remove it before trying
to match the filename against the given regex. This makes functions that
take paths and functions that take regexes behave the same way for
ghosted plugins.
2021-04-08 21:03:27 +01:00
Oliver Hamlet d2db8ed642 Fix ghosted plugin handling
- Don't recursively check .ghost file extensions: plugin.esp.ghost.ghost
  is not a valid plugin filename.
- Only add a .ghost file extension if the path that does not exist has
  an unghosted plugin file extension.
2021-04-08 20:13:51 +01:00
Oliver Hamlet 384b374d7d Move version module
It's only used inside the function module, so move it there.
2021-04-07 22:14:33 +01:00
Oliver Hamlet 5d541f3807 Remove unnecessary no_mangle attributes 2021-03-11 19:54:29 +00:00
Oliver Hamlet 2c8da78912 Merge branch 'not-expressions' 2021-03-09 21:55:12 +00:00