Give gemtext parser a more uniform interface wrt other parsers
[?]
Jan 13, 2021, 3:49 AM
RTDVYLFT3PRNC4F4TWU47YFMLQPXR65CAAB6IVS7FIY2EB7HJGJQCDependencies
- [2]
KP6SZZ34Fix building without parsers - [3]
Y55SCAUNFinish gemtext parsing implementation - [4]
BOFUYB6IAdd documentation and implement some feedback from Discord (https://discord.com/channels/273534239310479360/354038657075904544/796256815024701480) - [5]
JBZGFYVOAdd nom parsers for main types - [*]
5II6T7YEAdd gemini library
Change contents
- replacement in gemini/src/lib.rs at line 33
use crate::{header, request, response, status};use crate::{gemtext, header, request, response, status}; - replacement in gemini/src/lib.rs at line 43
pub fn [< parse_ $name >]<'i>(input: impl AsRef<[u8]> + 'i) -> Result<$name::$type, Error<Vec<u8>>> {pub fn [< parse_ $name >](input: impl AsRef<[u8]>) -> Result<$name::$type, Error<Vec<u8>>> { - edit in gemini/src/lib.rs at line 68
/// Parse a gemtext document from utf-8 text.pub fn parse_gemtext(input: impl AsRef<str>) -> Result<gemtext::Builder, Error<String>> {let input = input.as_ref();match gemtext::parse::document(input).finish() {Ok((_, b)) => Ok(b),Err(Error { input, code }) => Err({let input = input.to_string();Error { input, code }}),}} - replacement in gemini/src/lib.rs at line 83[2.28]→[2.28:107](∅→∅),[3.32]→[3.3370:3446](∅→∅),[2.107]→[3.3370:3446](∅→∅),[3.3370]→[3.3370:3446](∅→∅)
pub use gemtext::parse::document as parse_gemtext;#[cfg(feature = "parsers")]pub use parse::{parse_header, parse_request, parse_response, parse_status};[2.28]pub use parse::{parse_gemtext, parse_header, parse_request, parse_response, parse_status};