[workspace] members = [ "crates/fff-c", "crates/fff-core", "crates/fff-mcp", "crates/fff-nvim", "crates/fff-python", "crates/fff-query-parser", "crates/fff-grep", ] resolver = "2" [workspace.dependencies] fff-grep = { version = "0.9.6", path = "crates/fff-grep" } fff-query-parser = { version = "0.9.6", path = "crates/fff-query-parser", default-features = false } # Shared dependencies ahash = "0.8" blake3 = "1.8.2" chrono = { version = "0.4", features = ["serde"] } ctrlc = "3.4.2" dirs = "5.0" dunce = "1.0" # git2 - base config without TLS (each crate adds platform-specific TLS) git2 = { version = "0.20.2", default-features = false, features = [ "vendored-libgit2", ] } glidesort = "0.1" globset = "0.4" heed = "0.22.0" ignore = "0.4.22" memmap2 = "0.9" mimalloc = "0.1.47" signal-hook-registry = "1.4" zlob = { version = "=1.6.1" } mlua = { version = "0.11.1", features = ["module", "luajit"] } neo_frizbee = { version = "0.11.0", features = ["match_end_col"] } notify = { version = "9.0.0-rc.3" } notify-debouncer-full = { package = "fff-notify-debouncer-full", version = "0.9.4" } once_cell = "1.20.2" parking_lot = "0.12" pathdiff = "0.2.1" rayon = "1.8.0" regex = "1.11" regex-syntax = "0.8" smallvec = { version = "1.13", features = ["const_generics", "union"] } thiserror = "2.0.10" tracing = "0.1" [profile.release] opt-level = 3 lto = "fat" codegen-units = 1 strip = "debuginfo" [profile.ci] inherits = "release" # we use lto=fat locally for better SIMD for the march=native but # on CI when we cross compiling we should not exclude any cpu flags checking lto = "thin" [profile.bench] inherits = "release" # For Instruments / xctrace: release-level optimization but keep debuginfo # and symbols so sampled frames resolve to real Rust names. [profile.prof] inherits = "release" debug = "full" strip = false lto = "thin"