diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/arguments.rs | 0 | ||||
| -rw-r--r-- | src/arguments/status.rs | 0 | ||||
| -rw-r--r-- | src/bin/jvn.rs | 4 | ||||
| -rw-r--r-- | src/cmd/cmds.rs | 2 | ||||
| -rw-r--r-- | src/cmd/cmds/template.rs | 45 | ||||
| -rw-r--r-- | src/cmd/renderers.rs | 1 | ||||
| -rw-r--r-- | src/cmds.rs | 1 | ||||
| -rw-r--r-- | src/cmds/status.rs (renamed from src/cmd/cmds/status.rs) | 2 | ||||
| -rw-r--r-- | src/inputs.rs | 0 | ||||
| -rw-r--r-- | src/lib.rs | 19 | ||||
| -rw-r--r-- | src/outputs.rs | 1 | ||||
| -rw-r--r-- | src/renderers.rs | 2 | ||||
| -rw-r--r-- | src/renderers/json.rs | 27 | ||||
| -rw-r--r-- | src/renderers/json_pretty.rs (renamed from src/cmd/renderers/json_renderer.rs) | 22 | ||||
| -rw-r--r-- | src/systems.rs | 1 | ||||
| -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.rs | 2 |
21 files changed, 64 insertions, 84 deletions
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/cmds/template.rs b/src/cmd/cmds/template.rs deleted file mode 100644 index 1c56c29..0000000 --- a/src/cmd/cmds/template.rs +++ /dev/null @@ -1,45 +0,0 @@ -use clap::Parser; -use serde::Serialize; - -use crate::subcmd::{ - cmd::JVCommand, - errors::{CmdExecuteError, CmdPrepareError, CmdRenderError}, - renderer::{JVRenderResult, JVResultRenderer}, -}; - -pub struct JVUnknownCommand; - -#[derive(Parser, Debug)] -pub struct JVUnknownArgument; - -pub struct JVUnknownInput; - -#[derive(Serialize)] -pub struct JVUnknownOutput; - -impl JVCommand<JVUnknownArgument, JVUnknownInput, JVUnknownOutput, JVStatusRenderer> - for JVUnknownCommand -{ - async fn prepare( - _args: JVUnknownArgument, - _ctx: JVCommandContext, - ) -> Result<JVUnknownInput, CmdPrepareError> { - todo!() - } - - async fn exec(_input: JVUnknownInput) -> Result<JVUnknownOutput, CmdExecuteError> { - todo!() - } - - fn get_help_str() -> String { - "".to_string() - } -} - -pub struct JVStatusRenderer; - -impl JVResultRenderer<JVUnknownOutput> for JVStatusRenderer { - async fn render(_data: &JVUnknownOutput) -> Result<JVRenderResult, CmdRenderError> { - todo!() - } -} 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 @@ -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 { |
