Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 35 additions & 3 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

58 changes: 47 additions & 11 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,46 @@
[package]
name = "diffutils"
version = "0.5.0"
edition = "2021"
description = "A CLI app for generating diff files"
license = "MIT OR Apache-2.0"
repository = "https://github.com/uutils/diffutils"
edition.workspace = true
rust-version.workspace = true
version.workspace = true
license.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true

[workspace]
members = [
"src/uu/*",
"src/uucore/",
]

default-members = [
".",
"src/uu/*",
"src/uucore/",
]

[workspace.dependencies]
uucore = { path = "src/uucore" }
chrono = "0.4.38"
diff = "0.1.13"
itoa = "1.0.11"
regex = "1.10.4"
same-file = "1.0.6"
unicode-width = "0.2.0"
pretty_assertions = "1.4.0"
tempfile = "3.26.0"

[workspace.package]
categories = ["command-line-utilities"]
edition = "2021"
rust-version = "1.87.0"
homepage = "https://github.com/uutils/diffutils"
keywords = ["diffutils", "uutils", "cross-platform", "cli", "utility"]
license = "MIT OR Apache-2.0"
version = "0.5.0"

[lib]
name = "diffutilslib"
Expand All @@ -15,20 +51,20 @@ name = "diffutils"
path = "src/main.rs"

[dependencies]
chrono = "0.4.38"
diff = "0.1.13"
itoa = "1.0.11"
regex = "1.10.4"
same-file = "1.0.6"
unicode-width = "0.2.0"
diff = { workspace = true }
same-file = { workspace = true }
regex = { workspace = true }
unicode-width = { workspace = true }
tempfile = { workspace = true }
uu_cmp = { path = "src/uu/cmp" }
uu_diff = { path = "src/uu/diff" }
uucore = { path = "src/uucore" }

[dev-dependencies]
assert_cmd = "2.0.14"
divan = { version = "5.0.0", package = "codspeed-divan-compat" }
pretty_assertions = "1.4.0"
predicates = "3.1.0"
rand = "0.10.0"
tempfile = "3.26.0"

[profile.release]
lto = "thin"
Expand Down
33 changes: 31 additions & 2 deletions fuzz/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 6 additions & 15 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
pub mod cmp;
pub mod context_diff;
pub mod ed_diff;
pub mod macros;
pub mod normal_diff;
pub mod params;
pub mod side_diff;
pub mod unified_diff;
pub mod utils;

// Re-export the public functions/types you need
pub use context_diff::diff as context_diff;
pub use ed_diff::diff as ed_diff;
pub use normal_diff::diff as normal_diff;
pub use side_diff::diff as side_by_side_diff;
pub use unified_diff::diff as unified_diff;
pub use uu_cmp as cmp;
pub use uu_diff::ed_diff;
pub use uu_diff::normal_diff;
pub use uu_diff::side_diff;
pub use uu_diff::unified_diff;
pub use uucore::*;
15 changes: 2 additions & 13 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,6 @@ use std::{
process::ExitCode,
};

mod cmp;
mod context_diff;
mod diff;
mod ed_diff;
mod macros;
mod normal_diff;
mod params;
mod side_diff;
mod unified_diff;
mod utils;

/// # Panics
/// Panics if the binary path cannot be determined
fn binary_path(args: &mut Peekable<ArgsOs>) -> PathBuf {
Expand Down Expand Up @@ -70,8 +59,8 @@ fn main() -> ExitCode {
};

match util_name.as_encoded_bytes() {
name if name.ends_with(b"diff") => diff::main(args),
name if name.ends_with(b"cmp") => cmp::main(args),
name if name.ends_with(b"diff") => uu_diff::main(args),
name if name.ends_with(b"cmp") => uu_cmp::main(args),
name => {
use std::io::{stderr, Write as _};
let _ = writeln!(
Expand Down
7 changes: 7 additions & 0 deletions src/uu/cmp/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions src/uu/cmp/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[package]
name = "uu_cmp"
categories.workspace = true
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
version.workspace = true

[dependencies]
uucore = { workspace = true }
itoa = { workspace = true }
same-file = { workspace = true }

[lib]
path = "./src/cmp.rs"
1 change: 1 addition & 0 deletions src/uu/cmp/LICENSE-APACHE
1 change: 1 addition & 0 deletions src/uu/cmp/LICENSE-MIT
2 changes: 1 addition & 1 deletion src/cmp.rs → src/uu/cmp/src/cmp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
// For the full copyright and license information, please view the LICENSE-*
// files that was distributed with this source code.

use crate::utils::format_failure_to_read_input_file;
use std::env::{self, ArgsOs};
use std::ffi::OsString;
use std::io::{BufRead, BufReader, BufWriter, Read, Write};
use std::iter::Peekable;
use std::process::ExitCode;
use std::{cmp, fs, io};
use uucore::utils::format_failure_to_read_input_file;

#[cfg(unix)]
use std::os::fd::{AsRawFd, FromRawFd};
Expand Down
23 changes: 23 additions & 0 deletions src/uu/diff/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
[package]
name = "uu_diff"
categories.workspace = true
edition.workspace = true
rust-version.workspace = true
homepage.workspace = true
keywords.workspace = true
license.workspace = true
version.workspace = true

[dependencies]
uucore = { workspace = true }
same-file = { workspace = true }
diff = { workspace = true }
unicode-width = { workspace = true }

[dev-dependencies]
pretty_assertions = { workspace = true }
regex = { workspace = true }
uucore = { workspace = true, features = ["test-utils"] }

[lib]
path = "./src/diff.rs"
1 change: 1 addition & 0 deletions src/uu/diff/LICENSE-APACHE
1 change: 1 addition & 0 deletions src/uu/diff/LICENSE-MIT
Loading
Loading