mirror of
https://github.com/fish-shell/fish-shell
synced 2024-11-10 07:04:29 +00:00
7002571cf8
This adds a crate containing a new implementation of printf, ported from musl. This has some advantages: - locale support is direct instead of being "applied after". - No dependencies on libc printf. No unsafe code at all. - No more WideWrite - just uses std::fmt::Write. - Rounding is handled directly in all cases, instead of relying on Rust and/or libc. - No essential dependency on WString. - Supports %n. - Implementation is more likely to be correct since it's based on a widely used printf, instead of a low-traffic Rust crate. - Significantly faster.
80 lines
1.9 KiB
TOML
80 lines
1.9 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"printf"
|
|
]
|
|
|
|
[workspace.package]
|
|
rust-version = "1.70"
|
|
edition = "2021"
|
|
|
|
[profile.release]
|
|
overflow-checks = true
|
|
lto = true
|
|
|
|
[package]
|
|
name = "fish"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
rust-version.workspace = true
|
|
default-run = "fish"
|
|
|
|
[dependencies]
|
|
pcre2 = { git = "https://github.com/fish-shell/rust-pcre2", branch = "master", default-features = false, features = ["utf32"] }
|
|
fast-float = { git = "https://github.com/fish-shell/fast-float-rust", branch="fish" }
|
|
printf-compat = { git = "https://github.com/fish-shell/printf-compat.git", branch="fish" }
|
|
|
|
bitflags = "2.4.0"
|
|
errno = "0.2.8"
|
|
lazy_static = "1.4.0"
|
|
libc = "= 0.2.151"
|
|
# lru pulls in hashbrown by default, which uses a faster (though less DoS resistant) hashing algo.
|
|
# disabling default features uses the stdlib instead, but it doubles the time to rewrite the history
|
|
# files as of 22 April 2024.
|
|
lru = "0.10.0"
|
|
nix = { version = "0.25.0", default-features = false, features = ["inotify", "resource", "fs"] }
|
|
num-traits = "0.2.15"
|
|
once_cell = "1.17.0"
|
|
rand = { version = "0.8.5", features = ["small_rng"] }
|
|
widestring = "1.0.2"
|
|
terminfo = "0.9.0"
|
|
|
|
[dev-dependencies]
|
|
rand_pcg = "0.3.1"
|
|
serial_test = { version = "1.0.0", default-features = false }
|
|
|
|
[build-dependencies]
|
|
cc = "1.0.94"
|
|
rsconf = "0.2.2"
|
|
|
|
[lib]
|
|
crate-type = ["rlib"]
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "fish"
|
|
path = "src/bin/fish.rs"
|
|
|
|
[[bin]]
|
|
name = "fish_indent"
|
|
path = "src/bin/fish_indent.rs"
|
|
|
|
[[bin]]
|
|
name = "fish_key_reader"
|
|
path = "src/bin/fish_key_reader.rs"
|
|
|
|
[features]
|
|
default = []
|
|
benchmark = []
|
|
|
|
# The following features are auto-detected by the build-script and should not be enabled manually.
|
|
asan = []
|
|
tsan = []
|
|
|
|
[lints]
|
|
rust.non_camel_case_types = "allow"
|
|
rust.non_upper_case_globals = "allow"
|
|
rust.unknown_lints = "allow"
|
|
rust.unstable_name_collisions = "allow"
|
|
clippy.manual_range_contains = "allow"
|
|
clippy.needless_return = "allow"
|