summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-01-23 04:49:34 +0800
committer魏曹先生 <1992414357@qq.com>2026-01-23 04:49:34 +0800
commit626536ce51975b051fea087620bc1eb7f6bc69d3 (patch)
treeb24916b22012d9b8b3b09366bca9911781e6d596
parentf607f6ac3b98d00370f613e674da7beb4c61ce58 (diff)
Reorganize project structure into systems and assets
-rw-r--r--.cargo/registry.toml6
-rw-r--r--build.rs4
-rw-r--r--src/arguments.rs0
-rw-r--r--src/arguments/status.rs0
-rw-r--r--src/bin/jvn.rs4
-rw-r--r--src/cmd/cmds.rs2
-rw-r--r--src/cmd/renderers.rs1
-rw-r--r--src/cmds.rs1
-rw-r--r--src/cmds/status.rs (renamed from src/cmd/cmds/status.rs)2
-rw-r--r--src/inputs.rs0
-rw-r--r--src/lib.rs19
-rw-r--r--src/outputs.rs1
-rw-r--r--src/renderers.rs2
-rw-r--r--src/renderers/json.rs27
-rw-r--r--src/renderers/json_pretty.rs (renamed from src/cmd/renderers/json_renderer.rs)22
-rw-r--r--src/systems.rs1
-rw-r--r--src/systems/cmd.rs (renamed from src/cmd.rs)3
-rw-r--r--src/systems/cmd/cmd_system.rs (renamed from src/cmd/cmd_system.rs)6
-rw-r--r--src/systems/cmd/errors.rs (renamed from src/cmd/errors.rs)0
-rw-r--r--src/systems/cmd/processer.rs (renamed from src/cmd/processer.rs)8
-rw-r--r--src/systems/cmd/renderer.rs (renamed from src/cmd/renderer.rs)2
-rw-r--r--src/utils/workspace_reader.rs2
-rw-r--r--templates/_registry.rs.template6
-rw-r--r--templates/command.rs.template (renamed from src/cmd/cmds/template.rs)0
24 files changed, 72 insertions, 47 deletions
diff --git a/.cargo/registry.toml b/.cargo/registry.toml
index f3f6fdd..6ae66bb 100644
--- a/.cargo/registry.toml
+++ b/.cargo/registry.toml
@@ -4,7 +4,7 @@
[cmd.status]
node = "status"
-type = "cmd::cmds::status::JVStatusCommand"
+type = "cmds::status::JVStatusCommand"
#################
### Renderers ###
@@ -18,8 +18,8 @@ type = "Renderer"
# Json Renderer
[renderer.json]
name = "json"
-type = "crate::cmd::renderers::json_renderer::JVResultJsonRenderer"
+type = "crate::renderers::json::JVResultJsonRenderer"
[renderer.json_pretty]
name = "json-pretty"
-type = "crate::cmd::renderers::json_renderer::JVResultPrettyJsonRenderer"
+type = "crate::renderers::json_pretty::JVResultPrettyJsonRenderer"
diff --git a/build.rs b/build.rs
index e0f727b..eb3cb14 100644
--- a/build.rs
+++ b/build.rs
@@ -9,10 +9,10 @@ const SETUP_JV_CLI_ISS_TEMPLATE: &str = "./templates/setup_jv_cli.iss.template";
const SETUP_JV_CLI_ISS: &str = "./setup/windows/setup_jv_cli.iss";
const REGISTRY_RS_TEMPLATE: &str = "./templates/_registry.rs.template";
-const REGISTRY_RS: &str = "./src/cmd/cmds/_registry.rs";
+const REGISTRY_RS: &str = "./src/systems/cmd/_registry.rs";
const RENDERER_LIST_TEMPLATE: &str = "./templates/_renderers.rs.template";
-const RENDERER_LIST: &str = "./src/cmd/renderers/_renderers.rs";
+const RENDERER_LIST: &str = "./src/systems/cmd/_renderers.rs";
const REGISTRY_TOML: &str = "./.cargo/registry.toml";
diff --git a/src/arguments.rs b/src/arguments.rs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/arguments.rs
diff --git a/src/arguments/status.rs b/src/arguments/status.rs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/arguments/status.rs
diff --git a/src/bin/jvn.rs b/src/bin/jvn.rs
index 9943ab4..25bf219 100644
--- a/src/bin/jvn.rs
+++ b/src/bin/jvn.rs
@@ -1,7 +1,7 @@
-use just_enough_vcs_cli::cmd::cmd_system::JVCommandContext;
+use just_enough_vcs_cli::systems::cmd::cmd_system::JVCommandContext;
use just_enough_vcs_cli::utils::display::md;
use just_enough_vcs_cli::{
- cmd::{errors::CmdProcessError, processer::jv_cmd_process},
+ systems::cmd::{errors::CmdProcessError, processer::jv_cmd_process},
utils::env::current_locales,
};
use rust_i18n::{set_locale, t};
diff --git a/src/cmd/cmds.rs b/src/cmd/cmds.rs
deleted file mode 100644
index e06480c..0000000
--- a/src/cmd/cmds.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod _registry;
-pub mod status;
diff --git a/src/cmd/renderers.rs b/src/cmd/renderers.rs
deleted file mode 100644
index 91fa88e..0000000
--- a/src/cmd/renderers.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub mod json_renderer;
diff --git a/src/cmds.rs b/src/cmds.rs
new file mode 100644
index 0000000..822c729
--- /dev/null
+++ b/src/cmds.rs
@@ -0,0 +1 @@
+pub mod status;
diff --git a/src/cmd/cmds/status.rs b/src/cmds/status.rs
index d73a28a..57e9cde 100644
--- a/src/cmd/cmds/status.rs
+++ b/src/cmds/status.rs
@@ -17,7 +17,7 @@ use just_enough_vcs::vcs::data::{
use serde::Serialize;
use crate::{
- cmd::{
+ systems::cmd::{
cmd_system::{JVCommand, JVCommandContext},
errors::{CmdExecuteError, CmdPrepareError, CmdRenderError},
renderer::{JVRenderResult, JVResultRenderer},
diff --git a/src/inputs.rs b/src/inputs.rs
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/inputs.rs
diff --git a/src/lib.rs b/src/lib.rs
index 7c9dd8f..bc86288 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,3 +1,5 @@
+// --- LIBS ---
+
/// Utils
pub mod utils;
@@ -7,5 +9,18 @@ pub mod data;
/// Json Format
pub mod leegacy_json_output;
-/// Command
-pub mod cmd;
+/// Systems
+pub mod systems;
+
+// --- ASSETS ---
+
+/// Commands
+pub mod cmds;
+
+/// Command Data
+pub mod arguments;
+pub mod inputs;
+pub mod outputs;
+
+/// Result Renderers
+pub mod renderers;
diff --git a/src/outputs.rs b/src/outputs.rs
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/src/outputs.rs
@@ -0,0 +1 @@
+
diff --git a/src/renderers.rs b/src/renderers.rs
new file mode 100644
index 0000000..60ad190
--- /dev/null
+++ b/src/renderers.rs
@@ -0,0 +1,2 @@
+pub mod json;
+pub mod json_pretty;
diff --git a/src/renderers/json.rs b/src/renderers/json.rs
new file mode 100644
index 0000000..9a3105d
--- /dev/null
+++ b/src/renderers/json.rs
@@ -0,0 +1,27 @@
+use serde::Serialize;
+use serde_json;
+
+use crate::{
+ r_print,
+ systems::cmd::{
+ errors::CmdRenderError,
+ renderer::{JVRenderResult, JVResultRenderer},
+ },
+};
+
+pub struct JVResultJsonRenderer;
+
+impl<T> JVResultRenderer<T> for JVResultJsonRenderer
+where
+ T: Serialize + Sync,
+{
+ async fn render(data: &T) -> Result<JVRenderResult, CmdRenderError> {
+ let mut r = JVRenderResult::default();
+ let json_string = serde_json::to_string(data)
+ .map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
+
+ r_print!(r, "{}", json_string);
+
+ Ok(r)
+ }
+}
diff --git a/src/cmd/renderers/json_renderer.rs b/src/renderers/json_pretty.rs
index 14c1f81..a4a3ba5 100644
--- a/src/cmd/renderers/json_renderer.rs
+++ b/src/renderers/json_pretty.rs
@@ -1,31 +1,13 @@
use serde::Serialize;
-use serde_json;
use crate::{
- cmd::{
+ r_print,
+ systems::cmd::{
errors::CmdRenderError,
renderer::{JVRenderResult, JVResultRenderer},
},
- r_print,
};
-pub struct JVResultJsonRenderer;
-
-impl<T> JVResultRenderer<T> for JVResultJsonRenderer
-where
- T: Serialize + Sync,
-{
- async fn render(data: &T) -> Result<JVRenderResult, CmdRenderError> {
- let mut r = JVRenderResult::default();
- let json_string = serde_json::to_string(data)
- .map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
-
- r_print!(r, "{}", json_string);
-
- Ok(r)
- }
-}
-
pub struct JVResultPrettyJsonRenderer;
impl<T> JVResultRenderer<T> for JVResultPrettyJsonRenderer
diff --git a/src/systems.rs b/src/systems.rs
new file mode 100644
index 0000000..52958ec
--- /dev/null
+++ b/src/systems.rs
@@ -0,0 +1 @@
+pub mod cmd;
diff --git a/src/cmd.rs b/src/systems/cmd.rs
index 2c9cac6..8983892 100644
--- a/src/cmd.rs
+++ b/src/systems/cmd.rs
@@ -1,6 +1,5 @@
+pub mod _registry;
pub mod cmd_system;
-pub mod cmds;
pub mod errors;
pub mod processer;
pub mod renderer;
-pub mod renderers;
diff --git a/src/cmd/cmd_system.rs b/src/systems/cmd/cmd_system.rs
index 09daf5a..65f972d 100644
--- a/src/cmd/cmd_system.rs
+++ b/src/systems/cmd/cmd_system.rs
@@ -1,11 +1,11 @@
use serde::Serialize;
use crate::{
- cmd::{
+ r_println,
+ systems::cmd::{
errors::{CmdExecuteError, CmdPrepareError, CmdProcessError, CmdRenderError},
renderer::{JVRenderResult, JVResultRenderer},
},
- r_println,
};
use std::future::Future;
@@ -35,7 +35,7 @@ where
{
async move {
let renderer_str = renderer.as_str();
- include!("renderers/_renderers.rs")
+ include!("_renderers.rs")
}
}
diff --git a/src/cmd/errors.rs b/src/systems/cmd/errors.rs
index 358d15a..358d15a 100644
--- a/src/cmd/errors.rs
+++ b/src/systems/cmd/errors.rs
diff --git a/src/cmd/processer.rs b/src/systems/cmd/processer.rs
index f5fc2a6..d357e44 100644
--- a/src/cmd/processer.rs
+++ b/src/systems/cmd/processer.rs
@@ -1,7 +1,7 @@
-use crate::cmd::cmd_system::JVCommandContext;
-use crate::cmd::cmds::_registry::{jv_cmd_nodes, jv_cmd_process_node};
-use crate::cmd::errors::CmdProcessError;
-use crate::cmd::renderer::JVRenderResult;
+use crate::systems::cmd::_registry::{jv_cmd_nodes, jv_cmd_process_node};
+use crate::systems::cmd::cmd_system::JVCommandContext;
+use crate::systems::cmd::errors::CmdProcessError;
+use crate::systems::cmd::renderer::JVRenderResult;
pub async fn jv_cmd_process(
args: Vec<String>,
diff --git a/src/cmd/renderer.rs b/src/systems/cmd/renderer.rs
index eefa0f6..bdd702d 100644
--- a/src/cmd/renderer.rs
+++ b/src/systems/cmd/renderer.rs
@@ -2,7 +2,7 @@ use std::fmt::{Display, Formatter};
use serde::Serialize;
-use crate::cmd::errors::CmdRenderError;
+use crate::systems::cmd::errors::CmdRenderError;
pub trait JVResultRenderer<Data>
where
diff --git a/src/utils/workspace_reader.rs b/src/utils/workspace_reader.rs
index 575ec64..a3bc754 100644
--- a/src/utils/workspace_reader.rs
+++ b/src/utils/workspace_reader.rs
@@ -20,7 +20,7 @@ use just_enough_vcs::{
},
};
-use crate::cmd::errors::CmdPrepareError;
+use crate::systems::cmd::errors::CmdPrepareError;
/// Temporarily enter a directory to execute a block of code, then return to the original directory
macro_rules! entry_dir {
diff --git a/templates/_registry.rs.template b/templates/_registry.rs.template
index cac3c8e..957484c 100644
--- a/templates/_registry.rs.template
+++ b/templates/_registry.rs.template
@@ -1,6 +1,6 @@
// Auto generated by build.rs
-use crate::cmd::cmd_system::{JVCommand, JVCommandContext};
-use crate::cmd::errors::CmdProcessError;
+use crate::systems::cmd::cmd_system::{JVCommand, JVCommandContext};
+use crate::systems::cmd::errors::CmdProcessError;
<<LINE>>
/// Input parameters, execute a command node
pub async fn jv_cmd_process_node(
@@ -8,7 +8,7 @@ pub async fn jv_cmd_process_node(
args: Vec<String>,
ctx: JVCommandContext,
renderer_override: String
-) -> Result<crate::cmd::renderer::JVRenderResult, crate::cmd::errors::CmdProcessError> {
+) -> Result<crate::systems::cmd::renderer::JVRenderResult, crate::systems::cmd::errors::CmdProcessError> {
match node {
// PROCESS
// -- TEMPLATE START --
diff --git a/src/cmd/cmds/template.rs b/templates/command.rs.template
index 1c56c29..1c56c29 100644
--- a/src/cmd/cmds/template.rs
+++ b/templates/command.rs.template