feat: lines macros

This commit is contained in:
PoiScript 2019-01-20 19:04:12 +08:00
parent cc3d915877
commit ed762a8dd4
9 changed files with 105 additions and 75 deletions

View file

@ -1,10 +1,14 @@
use memchr::memchr;
#[cfg_attr(test, derive(PartialEq))]
#[derive(Debug)]
pub struct Rule;
impl Rule {
pub fn parse(src: &str) -> usize {
let end = src.find('\n').map(|i| i + 1).unwrap_or_else(|| src.len());
let end = memchr(b'\n', src.as_bytes())
.map(|i| i + 1)
.unwrap_or_else(|| src.len());
let rules = &src[0..end].trim();
if rules.len() >= 5 && rules.chars().all(|c| c == '-') {
end