summaryrefslogtreecommitdiffstats
path: root/Cargo.toml
blob: f4d2724f0d6d8cb9210090c45c59b23e2c7f5f29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
[package]
name = "starship"
version = "1.18.2"
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/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.71"
description = """
The minimal, blazing-fast, and infinitely customizable prompt for any shell! ☄🌌️
"""

[features]
default = ["battery", "notify", "gix-max-perf"]
battery = ["starship-battery"]
config-schema = ["schemars"]
notify = ["notify-rust"]

# Enables most of the `max-performance` features of the `gix` module for better performance.
# This can be more difficult to build in some conditions and requires cmake.
gix-max-perf = ["gix-features/zlib-ng", "gix/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.
gix-faster = ["gix-features/zlib-stock", "gix/fast-sha1"]

[dependencies]
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "wasmbind"] }
clap = { version = "4.5.4", features = ["derive", "cargo", "unicode"] }
clap_complete = "4.5.2"
dirs = "5.0.1"
dunce = "1.0.4"
gethostname = "0.4.3"
# default feature restriction addresses https://github.com/starship/starship/issues/4251
gix = { version = "0.62.0", default-features = false, features = ["max-performance-safe", "revision"] }
gix-features = { version = "0.38.1", optional = true }
indexmap = { version = "2.2.6", features = ["serde"] }
log = { version = "0.4.21", features = ["std"] }
# notify-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.11.0", optional = true }
nu-ansi-term = "0.50.0"
once_cell = "1.19.0"
open = "5.1.2"
# update os module config and tests when upgrading os_info
os_info = "3.8.2"
path-slash = "0.2.1"
pest = "2.7.9"
pest_derive = "2.7.9"
quick-xml = "0.31.0"
rand = "0.8.5"
rayon = "1.10.0"
regex = { version = "1.10.4", default-features = false, features = ["perf", "std", "unicode-perl"] }
rust-ini = "0.21.0"
semver = "1.0.22"
serde = { version = "1.0.200", features = ["derive"] }
serde_json = "1.0.116"
sha1 = "0.10.6"
shadow-rs = { version = "0.27.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.8.3", optional = true }
strsim = "0.11.1"
systemstat = "=0.2.3"
terminal_size = "0.3.0"
toml = { version = "0.8.12", features = ["preserve_order"] }
toml_edit = "0.22.12"
unicode-segmentation = "1.11.0"
unicode-width = "0.1.12"
urlencoding = "2.1.3"
versions = "6.2.0"
which = "6.0.1"
yaml-rust2 = "0.8.0"

process_control = { version = "4.1.0", features = ["crossbeam-channel"] }

guess_host_triple = "0.1.3"
home = "0.5.9"
shell-words = "1.1.0"

[dependencies.schemars]
version = "0.8.17"
optional = true
features = ["preserve_order", "indexmap2"]

[target.'cfg(windows)'.dependencies]
deelevate = "0.2.0"

[target.'cfg(windows)'.dependencies.windows]
version = "0.56.0"
features = [
  "Win32_Foundation",
  "Win32_UI_Shell",
  "Win32_Security",
  "Win32_System_Threading",
  "Win32_Storage_FileSystem",
]

[target.'cfg(not(windows))'.dependencies]
nix = { version = "0.28.0", default-features = false, features = ["feature", "fs", "user"] }

[build-dependencies]
shadow-rs = { version = "0.27.1", default-features = false }
dunce = "1.0.4"

[target.'cfg(windows)'.build-dependencies]
winres = "0.1.12"

[dev-dependencies]
mockall = "0.12.1"
tempfile = "3.10.1"

[profile.release]
codegen-units = 1
lto = true
strip = true

[[bin]]
name = "starship"
path = "src/main.rs"