[package] name = "ghostty-termio" version.workspace = true edition.workspace = true license.workspace = true # NOTE: the `ghostty-config` and `ghostty-terminal` dependencies were removed # for now (config is being written concurrently, terminal is in progress). # TODO(integration): re-add them when Exec/Termio/stream_handler are ported and # replace the local stand-ins (shell_integration::{Command, ShellIntegrationFeatures}, # command::{LinuxCgroup, GtkSingleInstance}). [dependencies] ghostty-os.workspace = true libc = "0.2.190" log = "0.4.34" nix = { version = "0.31.3", features = ["signal"] } rustix = { version = "1.1.5", features = ["fs", "process", "pty", "termios", "stdio"] } thiserror = "2.0.21" # Termio forks/execs children and sets up ptys; unsafe is denied by default # and only allowed on minimal, SAFETY-commented items. [lints.rust] unsafe_code = "deny" [lints.clippy] pedantic = { level = "warn", priority = -1 } todo = "warn" unwrap_used = "warn" # Porting a low-level terminal emulator involves a lot of intentional # numeric casts and long state-machine functions; these pedantic lints are # noise for this codebase. cast_possible_truncation = "allow" cast_possible_wrap = "allow" cast_sign_loss = "allow" cast_precision_loss = "allow" cast_lossless = "allow" module_name_repetitions = "allow" too_many_lines = "allow" missing_errors_doc = "allow" missing_panics_doc = "allow" similar_names = "allow" struct_excessive_bools = "allow" fn_params_excessive_bools = "allow" match_same_arms = "allow" unreadable_literal = "allow" many_single_char_names = "allow" doc_markdown = "allow" must_use_candidate = "allow" return_self_not_must_use = "allow" used_underscore_binding = "allow" large_stack_arrays = "allow" inline_always = "allow" [dev-dependencies] temp-env = "0.3.6"