starship/Cargo.toml
exincore 3109943822
feat: Add operating system module (#4109)
* docs(os): Add os module documentation

* docs(os): Add os to Default Prompt Format

* chore(os): Update config file schema

* feat(os): Add os entries and declarations

* feat(os): Add os module and config

* fix(os): Obey config.disabled

* feat(os): make variables 'Unknown'-aware

refactor(os): calculate variables in dedicated functions

* test(os): Add os module tests

* feat(os): make 'name' variable less 'Unknown'-aware

* docs(os): Add Preset configurations

docs(os): Use emoji as default

* feat(os): Use emoji as default

test(os): Use emoji as default

* fix(os): Add spaces after emoji symbols

* chore(os): Update config schema

* feat(os): Remove `bitness` variable

docs(os): Remove `bitness` variable

test(os): Remove `bitness` test

* feat(os): Add Cargo.toml upgrade caution for os_info

* refactor(os): Clarify get_symbol function

* docs(os): Mention supported operating systems and feature requests

* docs(os): Mention os_info inacurracy

* test(os): Remove `bitness` leftovers

* refactor(os): use nu_ansi_term

* refactor(os): add cfg_attr(schemars(deny_unknown_fields))

* chore(os): update config schema

* docs(os): expose details block

* feat(os): add garuda linux

* chore(os): update config schema

* feat(os): add case insensitivity

* feat(os): add symbols `IndexMap` use `os_info::Type` instead of `String`

* test(os): add clippy warn on new os_info::Type case

* leave missing case to test github tests

* test(os): re-add missing test case

* style(os): fix formatting

* docs(os): update to match os_info::Type serialization

- docs(os): add missing garuda to config

- test(os): mention docs updates in warn_on_os_info_update
2022-11-06 22:37:58 +01:00

139 lines
4.2 KiB
TOML

[package]
name = "starship"
version = "1.11.0"
authors = ["Starship Contributors"]
build = "build.rs"
categories = ["command-line-utilities"]
documentation = "https://starship.rs/guide/"
edition = "2021"
homepage = "https://starship.rs"
# Keep `/` in front of `README.md` to exclude localized readmes
include = [
"src/**/*",
"/starship.exe.manifest",
"media/icon.ico",
"build.rs",
"LICENSE",
"/README.md",
"docs/.vuepress/public/presets/toml/",
".github/config-schema.json",
]
keywords = ["prompt", "shell", "bash", "fish", "zsh"]
license = "ISC"
readme = "README.md"
repository = "https://github.com/starship/starship"
# Note: MSRV is only intended as a hint, and only the latest version is officially supported in starship.
rust-version = "1.64"
description = """
The minimal, blazing-fast, and infinitely customizable prompt for any shell! ☄🌌️
"""
[features]
default = ["battery", "notify", "git-repository-max-perf"]
battery = ["starship-battery"]
config-schema = ["schemars"]
notify = ["notify-rust"]
# Enables most of the `max-performace` features of the `git_repository` module for better performance.
# This can be more difficult to build in some conditions and requires cmake.
git-repository-max-perf = ["git-features/zlib-ng", "git-repository/fast-sha1"]
# Slower than `git-repository-max-perf`, but better than the default.
# Unlike `git-repository-max-perf` this does not require cmake and allows dynamic zlib linking.
git-repository-faster = ["git-features/zlib-stock", "git-repository/fast-sha1"]
[dependencies]
chrono = { version = "0.4.22", features = ["clock", "std"] }
clap = { version = "4.0.19", features = ["derive", "cargo", "unicode"] }
clap_complete = "4.0.3"
dirs-next = "2.0.0"
dunce = "1.0.3"
gethostname = "0.4.0"
git-features = { version = "0.23.0", optional = true }
# default feature restriction addresses https://github.com/starship/starship/issues/4251
git-repository = { version = "0.25.0", default-features = false, features = ["max-performance-safe"] }
indexmap = { version = "1.9.1", features = ["serde"] }
local_ipaddress = "0.1.3"
log = { version = "0.4.17", features = ["std"] }
# nofity-rust is optional (on by default) because the crate doesn't currently build for darwin with nix
# see: https://github.com/NixOS/nixpkgs/issues/160876
notify-rust = { version = "4.5.10", optional = true }
nu-ansi-term = "0.46.0"
once_cell = "1.16.0"
open = "3.0.3"
# update os module config and tests when upgrading os_info
os_info = "3.5.1"
path-slash = "0.2.1"
pest = "2.4.1"
pest_derive = "2.4.1"
quick-xml = "0.26.0"
rand = "0.8.5"
rayon = "1.5.3"
regex = "1.7.0"
rust-ini = "0.18.0"
semver = "1.0.14"
serde = { version = "1.0.147", features = ["derive"] }
serde_json = "1.0.87"
sha-1 = "0.10.0"
shadow-rs = { version = "0.17.1", default-features = false }
# battery is optional (on by default) because the crate doesn't currently build for Termux
# see: https://github.com/svartalf/rust-battery/issues/33
starship-battery = { version = "0.7.9", optional = true }
strsim = "0.10.0"
systemstat = "=0.2.2"
terminal_size = "0.2.2"
toml = { version = "0.5.9", features = ["preserve_order"] }
toml_edit = "0.15.0"
unicode-segmentation = "1.10.0"
unicode-width = "0.1.10"
urlencoding = "2.1.2"
versions = "4.1.0"
which = "4.3.0"
yaml-rust = "0.4.5"
process_control = { version = "4.0.0", features = ["crossbeam-channel"] }
guess_host_triple = "0.1.3"
home = "0.5.4"
shell-words = "1.1.0"
[dependencies.schemars]
version = "0.8.11"
optional = true
features = ["preserve_order", "indexmap"]
[target.'cfg(windows)'.dependencies]
deelevate = "0.2.0"
[target.'cfg(windows)'.dependencies.windows]
version = "0.43.0"
features = [
"Win32_Foundation",
"Win32_UI_Shell",
"Win32_Security",
"Win32_System_Threading",
"Win32_Storage_FileSystem",
]
[target.'cfg(not(windows))'.dependencies]
nix = { version = "0.25.0", default-features = false, features = ["feature", "fs", "user"] }
[build-dependencies]
shadow-rs = { version = "0.17.1", default-features = false }
dunce = "1.0.3"
[target.'cfg(windows)'.build-dependencies]
winres = "0.1.12"
[dev-dependencies]
mockall = "0.11"
tempfile = "3.3.0"
[profile.release]
codegen-units = 1
lto = true
strip = true
[[bin]]
name = "starship"
path = "src/main.rs"