summaryrefslogtreecommitdiff
path: root/src/cmds/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmds/cmd')
-rw-r--r--src/cmds/cmd/helpdoc.rs49
-rw-r--r--src/cmds/cmd/hexdump.rs14
-rw-r--r--src/cmds/cmd/sheetdump.rs14
-rw-r--r--src/cmds/cmd/sheetedit.rs14
4 files changed, 76 insertions, 15 deletions
diff --git a/src/cmds/cmd/helpdoc.rs b/src/cmds/cmd/helpdoc.rs
new file mode 100644
index 0000000..8b692ee
--- /dev/null
+++ b/src/cmds/cmd/helpdoc.rs
@@ -0,0 +1,49 @@
+use crate::{
+ cmd_output,
+ cmds::{
+ arg::helpdoc::JVHelpdocArgument, collect::empty::JVEmptyCollect,
+ r#in::helpdoc::JVHelpdocInput, out::none::JVNoneOutput,
+ },
+ systems::{
+ cmd::{
+ cmd_system::JVCommandContext,
+ errors::{CmdExecuteError, CmdPrepareError},
+ },
+ helpdoc::helpdoc_viewer,
+ },
+};
+use cmd_system_macros::exec;
+use std::any::TypeId;
+
+pub struct JVHelpdocCommand;
+type Cmd = JVHelpdocCommand;
+type Arg = JVHelpdocArgument;
+type In = JVHelpdocInput;
+type Collect = JVEmptyCollect;
+
+async fn help_str() -> String {
+ helpdoc_viewer::display("Welcome_To_JVCS").await;
+ String::new()
+}
+
+async fn prepare(args: &Arg, ctx: &JVCommandContext) -> Result<In, CmdPrepareError> {
+ Ok(JVHelpdocInput {
+ name: args.doc_name.clone(),
+ lang: ctx.lang.clone(),
+ })
+}
+
+async fn collect(_args: &Arg, _ctx: &JVCommandContext) -> Result<Collect, CmdPrepareError> {
+ Ok(JVEmptyCollect)
+}
+
+#[exec]
+async fn exec(
+ input: In,
+ _collect: Collect,
+) -> Result<(Box<dyn std::any::Any + Send + 'static>, TypeId), CmdExecuteError> {
+ helpdoc_viewer::display_with_lang(&input.name.as_str(), &input.lang.as_str()).await;
+ cmd_output!(JVNoneOutput => JVNoneOutput)
+}
+
+crate::command_template!();
diff --git a/src/cmds/cmd/hexdump.rs b/src/cmds/cmd/hexdump.rs
index 66022ef..928b626 100644
--- a/src/cmds/cmd/hexdump.rs
+++ b/src/cmds/cmd/hexdump.rs
@@ -6,9 +6,12 @@ use crate::{
arg::single_file::JVSingleFileArgument, collect::single_file::JVSingleFileCollect,
r#in::empty::JVEmptyInput, out::hex::JVHexOutput,
},
- systems::cmd::{
- cmd_system::JVCommandContext,
- errors::{CmdExecuteError, CmdPrepareError},
+ systems::{
+ cmd::{
+ cmd_system::JVCommandContext,
+ errors::{CmdExecuteError, CmdPrepareError},
+ },
+ helpdoc::helpdoc_viewer,
},
};
use cmd_system_macros::exec;
@@ -20,8 +23,9 @@ type Arg = JVSingleFileArgument;
type In = JVEmptyInput;
type Collect = JVSingleFileCollect;
-fn help_str() -> String {
- "Hello".to_string()
+async fn help_str() -> String {
+ helpdoc_viewer::display("commands/hexdump").await;
+ String::new()
}
async fn prepare(_args: &Arg, _ctx: &JVCommandContext) -> Result<In, CmdPrepareError> {
diff --git a/src/cmds/cmd/sheetdump.rs b/src/cmds/cmd/sheetdump.rs
index fefa6d4..8140a0d 100644
--- a/src/cmds/cmd/sheetdump.rs
+++ b/src/cmds/cmd/sheetdump.rs
@@ -8,9 +8,12 @@ use crate::{
r#in::sheetdump::JVSheetdumpInput,
out::{mappings::JVMappingsOutput, mappings_pretty::JVMappingsPrettyOutput},
},
- systems::cmd::{
- cmd_system::JVCommandContext,
- errors::{CmdExecuteError, CmdPrepareError},
+ systems::{
+ cmd::{
+ cmd_system::JVCommandContext,
+ errors::{CmdExecuteError, CmdPrepareError},
+ },
+ helpdoc::helpdoc_viewer,
},
};
use cmd_system_macros::exec;
@@ -25,8 +28,9 @@ type Arg = JVSheetdumpArgument;
type In = JVSheetdumpInput;
type Collect = JVSheetdumpCollect;
-fn help_str() -> String {
- todo!()
+async fn help_str() -> String {
+ helpdoc_viewer::display("commands/sheetdump").await;
+ String::new()
}
async fn prepare(args: &Arg, _ctx: &JVCommandContext) -> Result<In, CmdPrepareError> {
diff --git a/src/cmds/cmd/sheetedit.rs b/src/cmds/cmd/sheetedit.rs
index 2dfbbfb..08918f4 100644
--- a/src/cmds/cmd/sheetedit.rs
+++ b/src/cmds/cmd/sheetedit.rs
@@ -4,9 +4,12 @@ use crate::{
arg::sheetedit::JVSheeteditArgument, collect::single_file::JVSingleFileCollect,
r#in::sheetedit::JVSheeteditInput, out::none::JVNoneOutput,
},
- systems::cmd::{
- cmd_system::JVCommandContext,
- errors::{CmdExecuteError, CmdPrepareError},
+ systems::{
+ cmd::{
+ cmd_system::JVCommandContext,
+ errors::{CmdExecuteError, CmdPrepareError},
+ },
+ helpdoc::helpdoc_viewer,
},
};
use cli_utils::{
@@ -26,8 +29,9 @@ type Arg = JVSheeteditArgument;
type In = JVSheeteditInput;
type Collect = JVSingleFileCollect;
-fn help_str() -> String {
- todo!()
+async fn help_str() -> String {
+ helpdoc_viewer::display("commands/sheetedit").await;
+ String::new()
}
async fn prepare(args: &Arg, _ctx: &JVCommandContext) -> Result<In, CmdPrepareError> {