pub struct LuaPatternBuilder { /* private fields */ }
Expand description

Build a byte Lua pattern, optionally escaping ‘magic’ characters

Implementations§

Create a new Lua pattern builder

Add unescaped characters from a string

let patt = lua_patterns::LuaPatternBuilder::new()
    .text("(boo)")
    .build();
assert_eq!(std::str::from_utf8(&patt).unwrap(), "(boo)");

Add unescaped characters from lines

This looks for first non-whitespace run in each line, useful for spreading patterns out and commmenting them. Works with patterns that use ‘%s’ religiously!

let patt = lua_patterns::LuaPatternBuilder::new()
    .text_lines("
      hello-dolly
      you-are-fine  # comment
      cool
     ")
    .build();
assert_eq!(std::str::from_utf8(&patt).unwrap(),
  "hello-dollyyou-are-finecool");

Add escaped bytes from a slice

let patt = lua_patterns::LuaPatternBuilder::new()
    .text("^")
    .bytes(b"^") // magic character!
    .build();
assert_eq!(std::str::from_utf8(&patt).unwrap(), "^%^");

Add escaped bytes from hex string

This consists of adjacent pairs of hex digits.

let patt = lua_patterns::LuaPatternBuilder::new()
    .text("^")
    .bytes_as_hex("5E") // which is ASCII '^'
    .build();
assert_eq!(std::str::from_utf8(&patt).unwrap(), "^%^");

Create the pattern

Utility to create a vector of bytes from a hex string

let bb = lua_patterns::LuaPatternBuilder::hex_to_bytes("AEFE00FE");
assert_eq!(bb, &[0xAE,0xFE,0x00,0xFE]);

Utility to create a hex string from a slice of bytes

let hex = lua_patterns::LuaPatternBuilder::bytes_to_hex(&[0xAE,0xFE,0x00,0xFE]);
assert_eq!(hex,"AEFE00FE");

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.