summaryrefslogtreecommitdiff
path: root/src/cmds/renderer
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmds/renderer')
-rw-r--r--src/cmds/renderer/json.rs27
-rw-r--r--src/cmds/renderer/json_pretty.rs26
-rw-r--r--src/cmds/renderer/status.rs32
3 files changed, 14 insertions, 71 deletions
diff --git a/src/cmds/renderer/json.rs b/src/cmds/renderer/json.rs
deleted file mode 100644
index 9a3105d..0000000
--- a/src/cmds/renderer/json.rs
+++ /dev/null
@@ -1,27 +0,0 @@
-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/cmds/renderer/json_pretty.rs b/src/cmds/renderer/json_pretty.rs
deleted file mode 100644
index a4a3ba5..0000000
--- a/src/cmds/renderer/json_pretty.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-use serde::Serialize;
-
-use crate::{
- r_print,
- systems::cmd::{
- errors::CmdRenderError,
- renderer::{JVRenderResult, JVResultRenderer},
- },
-};
-
-pub struct JVResultPrettyJsonRenderer;
-
-impl<T> JVResultRenderer<T> for JVResultPrettyJsonRenderer
-where
- T: Serialize + Sync,
-{
- async fn render(data: &T) -> Result<JVRenderResult, CmdRenderError> {
- let mut r = JVRenderResult::default();
- let json_string = serde_json::to_string_pretty(data)
- .map_err(|e| CmdRenderError::SerializeFailed(e.to_string()))?;
-
- r_print!(r, "{}", json_string);
-
- Ok(r)
- }
-}
diff --git a/src/cmds/renderer/status.rs b/src/cmds/renderer/status.rs
index 965ff87..573e74e 100644
--- a/src/cmds/renderer/status.rs
+++ b/src/cmds/renderer/status.rs
@@ -2,40 +2,36 @@ use cli_utils::{
display::{SimpleTable, md},
env::auto_update_outdate,
};
+use render_system_macros::result_renderer;
use rust_i18n::t;
+use crate::cmds::out::status::JVStatusWrongModifyReason;
use crate::{
- cmds::out::status::{JVStatusOutput, JVStatusWrongModifyReason},
+ cmds::out::status::JVStatusOutput,
r_println,
- systems::cmd::{
- errors::CmdRenderError,
- renderer::{JVRenderResult, JVResultRenderer},
- },
+ systems::{cmd::errors::CmdRenderError, render::renderer::JVRenderResult},
};
-pub struct JVStatusRenderer;
-
enum Mode {
StructuralChangesMode,
ContentChangesMode,
Clean,
}
-impl JVResultRenderer<JVStatusOutput> for JVStatusRenderer {
- async fn render(data: &JVStatusOutput) -> Result<JVRenderResult, CmdRenderError> {
- let mut r = JVRenderResult::default();
+#[result_renderer(JVStatusRenderer)]
+pub async fn render(data: &JVStatusOutput) -> Result<JVRenderResult, CmdRenderError> {
+ let mut r = JVRenderResult::default();
- // Render Header
- render_header(&mut r, data);
+ // Render Header
+ render_header(&mut r, data);
- // Render Info and Mode
- render_info_and_mode(&mut r, data);
+ // Render Info and Mode
+ render_info_and_mode(&mut r, data);
- // Render Hint
- render_hint(&mut r, data);
+ // Render Hint
+ render_hint(&mut r, data);
- Ok(r)
- }
+ Ok(r)
}
fn render_header(r: &mut JVRenderResult, data: &JVStatusOutput) {