libloadorder 18.8.1

A cross-platform library for manipulating the load order and active status of plugins for the Elder Scrolls and Fallout games.
Documentation
[package]
name = "libloadorder"
description = "A cross-platform library for manipulating the load order and active status of plugins for the Elder Scrolls and Fallout games."
version.workspace = true
authors.workspace = true
repository.workspace = true
categories.workspace = true
license.workspace = true
edition.workspace = true
rust-version.workspace = true

[dependencies]
dirs = ">= 1.0.0, < 7"
encoding_rs = ">= 0.4.0, < 0.9"
esplugin = "6.1"
unicase = "2.6"
rayon = ">= 0.9.0, < 2"
rust-ini = { version = ">= 0.19.0, < 0.22", features = ["case-insensitive"] }
keyvalues-parser = "0.2"

[target.'cfg(windows)'.dependencies]
windows-sys = { version = ">= 0.59.0, < 0.62", features = ["Win32_Globalization", "Win32_System_Com", "Win32_UI_Shell"] }
windows-result = ">= 0.3.1, < 0.5"

[dev-dependencies]
criterion = ">= 0.3.0, < 0.9"
tempfile = "3"

[lib]
name = "loadorder"

[lints]
workspace = true

[[bench]]
name = "load_order"
harness = false

[workspace]
members = ["ffi"]

[workspace.package]
version = "18.8.1"
authors = ["Oliver Hamlet <oliver@ortham.net>"]
repository = "https://github.com/Ortham/libloadorder.git"
categories = ["games"]
license = "GPL-3.0"
edition = "2021"
rust-version = "1.82"

# Deny some rustc lints that are allow-by-default.
[workspace.lints.rust]
ambiguous_negative_literals = "forbid"
impl_trait_overcaptures = "forbid"
let_underscore_drop = "forbid"
missing_copy_implementations = "forbid"
missing_debug_implementations = "forbid"
non_ascii_idents = "forbid"
redundant_imports = "forbid"
redundant_lifetimes = "forbid"
trivial_casts = "forbid"
trivial_numeric_casts = "forbid"
unit_bindings = "forbid"
unreachable_pub = "forbid"
unsafe_code = "deny"

[workspace.lints.clippy]
pedantic = { level = "deny", priority = -1 }
allow_attributes = "forbid"
as_conversions = "deny"
as_underscore = "forbid"
assertions_on_result_states = "deny"
big_endian_bytes = "forbid"
cfg_not_test = "forbid"
clone_on_ref_ptr = "forbid"
create_dir = "forbid"
dbg_macro = "forbid"
decimal_literal_representation = "forbid"
default_numeric_fallback = "forbid"
doc_include_without_cfg = "forbid"
empty_drop = "forbid"
error_impl_error = "deny"
exit = "forbid"
exhaustive_enums = "forbid"
expect_used = "forbid"
filetype_is_file = "deny"
float_cmp_const = "forbid"
fn_to_numeric_cast_any = "forbid"
get_unwrap = "forbid"
host_endian_bytes = "forbid"
if_then_some_else_none = "forbid"
indexing_slicing = "deny"
infinite_loop = "forbid"
integer_division = "deny"
integer_division_remainder_used = "deny"
iter_over_hash_type = "forbid"
let_underscore_must_use = "forbid"
lossy_float_literal = "forbid"
map_err_ignore = "forbid"
map_with_unused_argument_over_ranges = "forbid"
mem_forget = "forbid"
missing_assert_message = "forbid"
missing_asserts_for_indexing = "forbid"
mixed_read_write_in_expression = "forbid"
multiple_inherent_impl = "forbid"
multiple_unsafe_ops_per_block = "deny"
mutex_atomic = "forbid"
mutex_integer = "forbid"
needless_raw_strings = "forbid"
non_ascii_literal = "forbid"
non_zero_suggestions = "forbid"
panic = "deny"
panic_in_result_fn = "forbid"
partial_pub_fields = "forbid"
pathbuf_init_then_push = "forbid"
precedence_bits = "forbid"
print_stderr = "forbid"
print_stdout = "forbid"
rc_buffer = "forbid"
rc_mutex = "forbid"
redundant_type_annotations = "forbid"
ref_patterns = "forbid"
rest_pat_in_fully_bound_structs = "forbid"
str_to_string = "forbid"
string_lit_chars_any = "forbid"
string_slice = "forbid"
suspicious_xor_used_as_pow = "forbid"
tests_outside_test_module = "forbid"
todo = "forbid"
try_err = "forbid"
undocumented_unsafe_blocks = "deny"
unimplemented = "forbid"
unnecessary_safety_comment = "forbid"
unneeded_field_pattern = "forbid"
unreachable = "forbid"
unused_result_ok = "forbid"
unwrap_in_result = "forbid"
unwrap_used = "deny"
use_debug = "deny"
verbose_file_reads = "forbid"