mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 04:53:34 +00:00
Replace custom not_bash::fs2
setup with fs_err crate
This commit is contained in:
parent
8146700f82
commit
4bc56ebd93
4 changed files with 12 additions and 45 deletions
7
Cargo.lock
generated
7
Cargo.lock
generated
|
@ -385,6 +385,12 @@ dependencies = [
|
||||||
"toolchain",
|
"toolchain",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "fs-err"
|
||||||
|
version = "2.3.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "c1a51f8b7158efbe531f7baa74e38e49fbc41239e5d66720bb37ed39c27c241a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fsevent"
|
name = "fsevent"
|
||||||
version = "2.0.2"
|
version = "2.0.2"
|
||||||
|
@ -1875,6 +1881,7 @@ version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"flate2",
|
"flate2",
|
||||||
|
"fs-err",
|
||||||
"pico-args",
|
"pico-args",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|
|
@ -18,4 +18,5 @@ quote = "1.0.2"
|
||||||
ungrammar = "1.1.3"
|
ungrammar = "1.1.3"
|
||||||
walkdir = "2.3.1"
|
walkdir = "2.3.1"
|
||||||
write-json = "0.1.0"
|
write-json = "0.1.0"
|
||||||
|
fs-err = "2.3"
|
||||||
# Avoid adding more dependencies to this crate
|
# Avoid adding more dependencies to this crate
|
||||||
|
|
|
@ -115,7 +115,7 @@ impl Patch {
|
||||||
self
|
self
|
||||||
}
|
}
|
||||||
|
|
||||||
fn commit(&self) -> Result<()> {
|
fn commit(&self) -> io::Result<()> {
|
||||||
fs2::write(&self.path, &self.contents)
|
fs2::write(&self.path, &self.contents)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,55 +4,14 @@ use std::{
|
||||||
cell::RefCell,
|
cell::RefCell,
|
||||||
env,
|
env,
|
||||||
ffi::OsString,
|
ffi::OsString,
|
||||||
io::Write,
|
io::{self, Write},
|
||||||
path::{Path, PathBuf},
|
path::{Path, PathBuf},
|
||||||
process::{Command, Stdio},
|
process::{Command, Stdio},
|
||||||
};
|
};
|
||||||
|
|
||||||
use anyhow::{bail, Context, Result};
|
use anyhow::{bail, Context, Result};
|
||||||
|
|
||||||
pub mod fs2 {
|
pub use fs_err as fs2;
|
||||||
use std::{fs, path::Path};
|
|
||||||
|
|
||||||
use anyhow::{Context, Result};
|
|
||||||
|
|
||||||
pub fn read_dir<P: AsRef<Path>>(path: P) -> Result<fs::ReadDir> {
|
|
||||||
let path = path.as_ref();
|
|
||||||
fs::read_dir(path).with_context(|| format!("Failed to read {}", path.display()))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn read_to_string<P: AsRef<Path>>(path: P) -> Result<String> {
|
|
||||||
let path = path.as_ref();
|
|
||||||
fs::read_to_string(path).with_context(|| format!("Failed to read {}", path.display()))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn write<P: AsRef<Path>, C: AsRef<[u8]>>(path: P, contents: C) -> Result<()> {
|
|
||||||
let path = path.as_ref();
|
|
||||||
fs::write(path, contents).with_context(|| format!("Failed to write {}", path.display()))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn copy<P: AsRef<Path>, Q: AsRef<Path>>(from: P, to: Q) -> Result<u64> {
|
|
||||||
let from = from.as_ref();
|
|
||||||
let to = to.as_ref();
|
|
||||||
fs::copy(from, to)
|
|
||||||
.with_context(|| format!("Failed to copy {} to {}", from.display(), to.display()))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn remove_file<P: AsRef<Path>>(path: P) -> Result<()> {
|
|
||||||
let path = path.as_ref();
|
|
||||||
fs::remove_file(path).with_context(|| format!("Failed to remove file {}", path.display()))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn remove_dir_all<P: AsRef<Path>>(path: P) -> Result<()> {
|
|
||||||
let path = path.as_ref();
|
|
||||||
fs::remove_dir_all(path).with_context(|| format!("Failed to remove dir {}", path.display()))
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn create_dir_all<P: AsRef<Path>>(path: P) -> Result<()> {
|
|
||||||
let path = path.as_ref();
|
|
||||||
fs::create_dir_all(path).with_context(|| format!("Failed to create dir {}", path.display()))
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! run {
|
macro_rules! run {
|
||||||
|
@ -98,7 +57,7 @@ impl Drop for Pushenv {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn rm_rf(path: impl AsRef<Path>) -> Result<()> {
|
pub fn rm_rf(path: impl AsRef<Path>) -> io::Result<()> {
|
||||||
let path = path.as_ref();
|
let path = path.as_ref();
|
||||||
if !path.exists() {
|
if !path.exists() {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
|
|
Loading…
Reference in a new issue