diff options
Diffstat (limited to 'src/macro_processor')
| -rw-r--r-- | src/macro_processor/error.rs | 8 | ||||
| -rw-r--r-- | src/macro_processor/macro_processor.rs | 4 | 
2 files changed, 11 insertions, 1 deletions
diff --git a/src/macro_processor/error.rs b/src/macro_processor/error.rs index 074a8ef..cd94c4d 100644 --- a/src/macro_processor/error.rs +++ b/src/macro_processor/error.rs @@ -5,6 +5,7 @@ use std::fmt;  pub enum SMPError {      IncludeError(u8, std::io::Error, String),      ShellCommandError(u8, Box<dyn Error>), +    UnknownError(u8, Option<Box<dyn Error>>),  }  impl fmt::Display for SMPError { @@ -16,6 +17,13 @@ impl fmt::Display for SMPError {              SMPError::ShellCommandError(code, e) => {                  write!(f, "[SMP{}] Error running shell command \"{:#?}\"", code, e)              } +            SMPError::UnknownError(code, e) => { +                write!( +                    f, +                    "[SMP{}] Unknown macro processing error occurred \"{:#?}\"", +                    code, e +                ) +            }          }      }  } diff --git a/src/macro_processor/macro_processor.rs b/src/macro_processor/macro_processor.rs index 82a94ef..68347d0 100644 --- a/src/macro_processor/macro_processor.rs +++ b/src/macro_processor/macro_processor.rs @@ -193,6 +193,7 @@ fn smp_builtin_expr(  }  /// Types of macros, this is to make it easy to store both functions and strings +#[derive(Clone)]  pub enum MacroType {      /// When expanded, the associated function will be expanded      Function( @@ -217,9 +218,10 @@ enum ParserState {  /// Defines a MacroProcessor object, with it's associated state  /// the state mostly includes the defined macros +#[derive(Clone)]  pub struct MacroProcessor {      /// All currently defined macros in this MacroProcessor -    macros: HashMap<String, MacroType>, +    pub macros: HashMap<String, MacroType>,  }  impl MacroProcessor {  | 
