refactor: extract shared lint record primitives
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
//! Shared record lint primitives for memory and workflow files.
|
||||
|
||||
mod frontmatter;
|
||||
mod slug;
|
||||
|
||||
pub use frontmatter::{Frontmatter, split_frontmatter};
|
||||
pub use slug::{Slug, is_valid_slug};
|
||||
|
||||
/// Common lint errors for Markdown record syntax shared by memory and workflow.
|
||||
#[derive(Debug, Clone, thiserror::Error, PartialEq, Eq)]
|
||||
pub enum RecordLintError {
|
||||
#[error("invalid slug `{0}`: must match ^[a-z0-9](?:[a-z0-9-]{{0,62}}[a-z0-9])?$")]
|
||||
InvalidSlug(String),
|
||||
|
||||
#[error("malformed frontmatter: {0}")]
|
||||
MalformedFrontmatter(String),
|
||||
|
||||
#[error("frontmatter is missing or document is empty")]
|
||||
MissingFrontmatter,
|
||||
}
|
||||
Reference in New Issue
Block a user