From cdb77a6176480411fdcfffb1069f949907f02080 Mon Sep 17 00:00:00 2001 From: ridiculousfish Date: Sat, 20 May 2023 17:46:27 -0700 Subject: [PATCH] Adopt the Rust test builtin This switches the builtin test implementation from C++ to Rust --- fish-rust/src/builtins/shared.rs | 1 + src/builtin.cpp | 3 +++ src/builtin.h | 1 + 3 files changed, 5 insertions(+) diff --git a/fish-rust/src/builtins/shared.rs b/fish-rust/src/builtins/shared.rs index 1b9b2311f..9337c9107 100644 --- a/fish-rust/src/builtins/shared.rs +++ b/fish-rust/src/builtins/shared.rs @@ -183,6 +183,7 @@ pub fn run_builtin( RustBuiltin::Random => super::random::random(parser, streams, args), RustBuiltin::Realpath => super::realpath::realpath(parser, streams, args), RustBuiltin::Return => super::r#return::r#return(parser, streams, args), + RustBuiltin::Test => super::test::test(parser, streams, args), RustBuiltin::Type => super::r#type::r#type(parser, streams, args), RustBuiltin::Wait => wait::wait(parser, streams, args), RustBuiltin::Printf => printf::printf(parser, streams, args), diff --git a/src/builtin.cpp b/src/builtin.cpp index 9378e75ef..da6e94fee 100644 --- a/src/builtin.cpp +++ b/src/builtin.cpp @@ -562,6 +562,9 @@ static maybe_t try_get_rust_builtin(const wcstring &cmd) { if (cmd == L"realpath") { return RustBuiltin::Realpath; } + if (cmd == L"test" || cmd == L"[") { + return RustBuiltin::Test; + } if (cmd == L"type") { return RustBuiltin::Type; } diff --git a/src/builtin.h b/src/builtin.h index fb482ce94..c2bc24fae 100644 --- a/src/builtin.h +++ b/src/builtin.h @@ -127,6 +127,7 @@ enum class RustBuiltin : int32_t { Random, Realpath, Return, + Test, Type, Wait, };