pub struct Config {
pub target: ShellDialect,
pub verify: VerificationLevel,
pub emit_proof: bool,
pub optimize: bool,
pub validation_level: Option<ValidationLevel>,
pub strict_mode: bool,
}Expand description
Configuration options for transpilation.
Controls the target shell dialect, verification level, optimization, and other transpilation behaviors.
§Examples
§Default Configuration
use bashrs::Config;
let config = Config::default();
assert_eq!(config.optimize, true);§Custom Configuration
use bashrs::Config;
use bashrs::models::{ShellDialect, VerificationLevel};
let config = Config {
target: ShellDialect::Bash,
verify: VerificationLevel::Paranoid,
optimize: false,
..Config::default()
};Fields§
§target: ShellDialectTarget shell dialect for generated scripts
verify: VerificationLevelLevel of verification to apply during transpilation
emit_proof: boolWhether to emit formal verification proofs
optimize: boolEnable IR optimization passes
validation_level: Option<ValidationLevel>ShellCheck validation level
strict_mode: boolEnable strict POSIX mode (no extensions)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Config
impl<'de> Deserialize<'de> for Config
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Config
impl RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more