[package] name = "cumulus" version = "1.0.0" edition = "2024" # The version cumulus is built and tested with (pinned in rust-toolchain.toml). rust-version = "1.90" description = "Brainstorm in the terminal: idea graphs on a 2D canvas, with vim keys and the mouse." publish = false [dependencies] # Document files are RON (Rust Object Notation), read and written through serde. serde = { version = "1", features = ["derive"] } ron = "0.12" # Config files are TOML: keys.toml so far, config.toml and themes later. toml = "1" # Error types with readable messages, for the parts that report problems. thiserror = "2" # Terminal user interface. The crossterm backend works on Windows, Linux and # macOS. Default features are off to skip widgets cumulus doesn't use. ratatui = { version = "0.30", default-features = false, features = ["crossterm_0_29", "layout-cache"] } # How many terminal columns text takes (accents, Asian scripts, emoji), for # sizing node boxes. unicode-width = "0.2" # Where one character ends and the next begins, so the cursor steps over an # accented letter or an emoji in one go. unicode-segmentation = "1" # Where each OS keeps settings and app data: %APPDATA% on Windows, # ~/.config and ~/.local/share on Linux. directories = "6" # The system clipboard, for the "+ register: Windows, and X11 or Wayland on # Linux. Images are left out (default features off): cumulus copies text. arboard = { version = "3", default-features = false, features = ["wayland-data-control"] } [lints.rust] unsafe_code = "forbid" [lints.clippy] all = { level = "warn", priority = -1 } [profile.release] # A smaller, faster program: optimize across all crates at once (lto, in one # piece with codegen-units = 1), and leave out the debug symbols (strip). lto = true codegen-units = 1 strip = true