vscode/cli/Cargo.toml
Connor Peet c536595a7f
cli: fallback to system installs in the standalone CLI
The standalone CLI should detect and fall back to using and
system-installed VS Code instance, rather than trying to download zips
and manage its own VS Code instances.

There are three approaches used for discovery:

- On Windows, we can easily and quickly read the register to find
  installed versions based on their app ID.
- On macOS, we initially look in `/Applications` and fall back to the
  slow `system_profiler` command to list app .app's if that fails.
- On Linux, we just look in the PATH. I believe all Linux installers
  (snap, dep, rpm) automatically add VS Code to the user's PATH.

Failing this, the user can also manually specify their installation dir,
using the command `code version use stable --install-dir /path/to/vscode`.

Fixes #164159
2022-10-20 10:54:13 -07:00

70 lines
2.1 KiB
TOML

[package]
name = "code-cli"
version = "0.1.0"
edition = "2021"
default-run = "code"
[lib]
name = "cli"
path = "src/lib.rs"
[[bin]]
name = "code"
[dependencies]
futures = "0.3"
clap = { version = "3.0", features = ["derive", "env"] }
open = { version = "2.1.0" }
reqwest = { version = "0.11.9", default-features = false, features = ["json", "stream", "native-tls-vendored"] }
tokio = { version = "1.20", features = ["full"] }
tokio-util = { version = "0.7", features = ["compat"] }
flate2 = { version = "1.0.22" }
zip = { version = "0.5.13", default-features = false, features = ["time", "deflate"] }
regex = { version = "1.5.5" }
lazy_static = { version = "1.4.0" }
sysinfo = { version = "0.23.5" }
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0" }
rmp-serde = "1.0"
uuid = { version = "0.8.2", features = ["serde", "v4"] }
dirs = "4.0.0"
rand = "0.8.5"
atty = "0.2.14"
opentelemetry = { version = "0.18.0", features = ["rt-tokio"] }
opentelemetry-application-insights = { version = "0.22.0", features = ["reqwest-client-vendored-tls"] }
serde_bytes = "0.11.5"
chrono = { version = "0.4", features = ["serde"] }
gethostname = "0.2.3"
libc = "0.2"
tunnels = { git = "https://github.com/microsoft/dev-tunnels", rev = "3870e9133dfb9557774521bb447827f19b26e55d", default-features = false, features = ["connections", "vendored-openssl"] }
keyring = "1.1"
dialoguer = "0.10"
hyper = "0.14"
indicatif = "0.16"
tempfile = "3.3"
clap_lex = "0.2"
url = "2.3"
async-trait = "0.1"
log = "0.4"
[target.'cfg(windows)'.dependencies]
windows-service = "0.5"
winreg = "0.10"
[target.'cfg(target_os = "linux")'.dependencies]
tar = { version = "0.4" }
[patch.crates-io]
russh = { git = "https://github.com/microsoft/vscode-russh", branch = "main" }
russh-cryptovec = { git = "https://github.com/microsoft/vscode-russh", branch = "main" }
russh-keys = { git = "https://github.com/microsoft/vscode-russh", branch = "main" }
secret-service = { git = "https://github.com/microsoft/vscode-secret-service-rs", rev = "30f0414108a122d6f2bfc28a5425d0dac9738518" }
[profile.release]
strip = true
lto = true
codegen-units = 1
[features]
default = []
vscode-encrypt = []