diff --git a/Cargo.lock b/Cargo.lock index ea008d0ef8..017a32cd11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1197,12 +1197,6 @@ dependencies = [ "syn 2.0.75", ] -[[package]] -name = "deunicode" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "339544cc9e2c4dc3fc7149fd630c5f22263a4fdf18a98afd0075784968b5cf00" - [[package]] name = "dialoguer" version = "0.11.0" @@ -3123,7 +3117,6 @@ dependencies = [ "crossterm", "csv", "data-encoding", - "deunicode", "dialoguer", "digest", "dirs", diff --git a/Cargo.toml b/Cargo.toml index b5a209c4cb..9dd07f6902 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -81,7 +81,6 @@ crossbeam-channel = "0.5.8" crossterm = "0.27" csv = "1.3" ctrlc = "3.4" -deunicode = "1.6.0" dialoguer = { default-features = false, version = "0.11" } digest = { default-features = false, version = "0.10" } dirs = "5.0" diff --git a/crates/nu-command/Cargo.toml b/crates/nu-command/Cargo.toml index 23e3c31166..7c33a60a23 100644 --- a/crates/nu-command/Cargo.toml +++ b/crates/nu-command/Cargo.toml @@ -42,7 +42,6 @@ chrono-humanize = { workspace = true } chrono-tz = { workspace = true } crossterm = { workspace = true } csv = { workspace = true } -deunicode = { workspace = true } dialoguer = { workspace = true, default-features = false, features = ["fuzzy-select"] } digest = { workspace = true, default-features = false } dtparse = { workspace = true } diff --git a/crates/nu-command/src/default_context.rs b/crates/nu-command/src/default_context.rs index 88b229fc48..d98ac41f53 100644 --- a/crates/nu-command/src/default_context.rs +++ b/crates/nu-command/src/default_context.rs @@ -199,7 +199,6 @@ pub fn add_shell_command_context(mut engine_state: EngineState) -> EngineState { Str, StrCapitalize, StrContains, - StrDeunicode, StrDistance, StrDowncase, StrEndswith, diff --git a/crates/nu-command/src/strings/str_/deunicode.rs b/crates/nu-command/src/strings/str_/deunicode.rs deleted file mode 100644 index 48423c2be1..0000000000 --- a/crates/nu-command/src/strings/str_/deunicode.rs +++ /dev/null @@ -1,98 +0,0 @@ -use deunicode::deunicode; -use nu_cmd_base::input_handler::{operate, CellPathOnlyArgs}; -use nu_engine::command_prelude::*; -use nu_protocol::engine::StateWorkingSet; - -#[derive(Clone)] -pub struct SubCommand; - -impl Command for SubCommand { - fn name(&self) -> &str { - "str deunicode" - } - - fn signature(&self) -> Signature { - Signature::build("str deunicode") - .input_output_types(vec![(Type::String, Type::String)]) - .category(Category::Strings) - } - - fn description(&self) -> &str { - "Convert Unicode string to pure ASCII." - } - - fn search_terms(&self) -> Vec<&str> { - vec!["convert", "ascii"] - } - - fn is_const(&self) -> bool { - true - } - - fn run( - &self, - engine_state: &EngineState, - stack: &mut Stack, - call: &Call, - input: PipelineData, - ) -> Result { - let cell_paths: Vec = call.rest(engine_state, stack, 0)?; - let args = CellPathOnlyArgs::from(cell_paths); - - operate(action, args, input, call.head, engine_state.signals()) - } - - fn run_const( - &self, - working_set: &StateWorkingSet, - call: &Call, - input: PipelineData, - ) -> Result { - let cell_paths: Vec = call.rest_const(working_set, 0)?; - let args = CellPathOnlyArgs::from(cell_paths); - - operate( - action, - args, - input, - call.head, - working_set.permanent().signals(), - ) - } - - fn examples(&self) -> Vec { - vec![Example { - description: "deunicode a string", - example: "'A…B' | str deunicode", - result: Some(Value::test_string("A...B")), - }] - } -} - -fn action(input: &Value, _args: &CellPathOnlyArgs, head: Span) -> Value { - match input { - Value::String { val, .. } => Value::string(deunicode(val), head), - Value::Error { .. } => input.clone(), - _ => Value::error( - ShellError::OnlySupportsThisInputType { - exp_input_type: "string".into(), - wrong_type: input.get_type().to_string(), - dst_span: head, - src_span: input.span(), - }, - head, - ), - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_examples() { - use crate::test_examples; - - test_examples(SubCommand {}) - } -} diff --git a/crates/nu-command/src/strings/str_/mod.rs b/crates/nu-command/src/strings/str_/mod.rs index b9290ada2c..fb34ace833 100644 --- a/crates/nu-command/src/strings/str_/mod.rs +++ b/crates/nu-command/src/strings/str_/mod.rs @@ -1,6 +1,5 @@ mod case; mod contains; -mod deunicode; mod distance; mod ends_with; mod expand; @@ -16,7 +15,6 @@ mod trim; pub use case::*; pub use contains::SubCommand as StrContains; -pub use deunicode::SubCommand as StrDeunicode; pub use distance::SubCommand as StrDistance; pub use ends_with::SubCommand as StrEndswith; pub use expand::SubCommand as StrExpand;