[package]
edition = "2024"
name = "ib-shell-item"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A library for operating file system files / Windows Shell items."
readme = "README.md"
keywords = [
"path",
"file",
"shell",
"desktop-environment",
"desktop",
]
categories = [
"gui",
"os",
]
license = "MIT"
repository = "https://github.com/Chaoses-Ib/ib-shell"
[package.metadata.docs.rs]
targets = ["x86_64-pc-windows-msvc"]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
bin = [
"dep:clap",
"dep:ctrlc",
"dep:tracing-subscriber",
]
default = ["prop"]
doc = ["dep:document-features"]
everything = ["dep:everything-ipc"]
hook = [
"ib-hook/inline",
"dep:slim-detours-sys",
]
hook-dll = ["dep:dll-syringe"]
hook-log = [
"dep:tracing-subscriber",
"dep:tracing-appender",
]
prop = [
"windows/Win32_UI_Shell_PropertiesSystem",
"windows/Win32_System_Com_StructuredStorage",
"windows/Win32_System_SystemServices",
"windows/Win32_System_Variant",
"windows/Win32_Storage_EnhancedStorage",
]
[lib]
name = "ib_shell_item"
path = "src/lib.rs"
[[bin]]
name = "inject-hook"
path = "src/bin/inject-hook.rs"
required-features = [
"hook",
"hook-dll",
"bin",
]
[[example]]
name = "hook"
crate-type = ["cdylib"]
path = "examples/hook.rs"
[dependencies.anyhow]
version = "1"
[dependencies.bitflags]
version = "2"
[dependencies.bon]
version = "3"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.ctrlc]
version = "3"
features = ["termination"]
optional = true
[dependencies.derive_more]
version = "2"
features = [
"from",
"try_from",
]
[dependencies.document-features]
version = "0.2"
optional = true
[dependencies.everything-ipc]
version = "0.1.4"
features = ["folder"]
optional = true
[dependencies.ib-hook]
version = "0.2"
features = ["tracing"]
optional = true
[dependencies.num_enum]
version = "0.7"
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.thiserror]
version = "2"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
optional = true
[dependencies.widestring]
version = "1"
[dev-dependencies]
[target.'cfg(target_family = "windows")'.dependencies.dll-syringe]
version = "0.17"
features = [
"payload-utils",
"rpc-core",
]
optional = true
[target.'cfg(target_family = "windows")'.dependencies.slim-detours-sys]
version = "0.4"
optional = true
[target.'cfg(target_family = "windows")'.dependencies.windows]
version = "0.62"
features = [
"Win32_System_Com",
"Win32_UI_Shell_Common",
]
[target.'cfg(target_family = "windows")'.dependencies.windows-link]
version = "0.2"
[target.'cfg(target_family = "windows")'.dependencies.windows-sys]
version = "0.61"
features = [
"Win32_System_Com",
"Win32_UI_Shell_Common",
]