From d262833f9bad334494807a126e1e67122bca2ae8 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sun, 3 Sep 2023 12:52:09 -0400 Subject: [PATCH] Fixing more errors. --- Cargo.toml | 2 +- src/compare/diff.rs | 116 ++++++++++++++++++++-------------------- src/compare/util.rs | 2 +- src/main.rs | 10 ++-- src/parser/document.rs | 6 +-- src/parser/mod.rs | 1 + src/parser/paragraph.rs | 1 + 7 files changed, 70 insertions(+), 68 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 638017ea..aa83298b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -39,7 +39,7 @@ tracing-subscriber = { version = "0.3.17", optional = true, features = ["env-fil walkdir = "2.3.3" [features] -default = [] +default = ["compare"] compare = [] tracing = ["dep:opentelemetry", "dep:opentelemetry-otlp", "dep:opentelemetry-semantic-conventions", "dep:tokio", "dep:tracing", "dep:tracing-opentelemetry", "dep:tracing-subscriber"] diff --git a/src/compare/diff.rs b/src/compare/diff.rs index 3f6e3d37..44022006 100644 --- a/src/compare/diff.rs +++ b/src/compare/diff.rs @@ -5,64 +5,64 @@ use super::util::assert_name; use super::util::get_property; use crate::parser::sexp::unquote; use crate::parser::sexp::Token; -use crate::parser::AngleLink; -use crate::parser::Bold; -use crate::parser::Citation; -use crate::parser::CitationReference; -use crate::parser::Clock; -use crate::parser::Code; -use crate::parser::Comment; -use crate::parser::CommentBlock; -use crate::parser::DiarySexp; -use crate::parser::Document; -use crate::parser::DocumentElement; -use crate::parser::Drawer; -use crate::parser::DynamicBlock; -use crate::parser::Element; -use crate::parser::Entity; -use crate::parser::ExampleBlock; -use crate::parser::ExportBlock; -use crate::parser::ExportSnippet; -use crate::parser::FixedWidthArea; -use crate::parser::FootnoteDefinition; -use crate::parser::FootnoteReference; -use crate::parser::GreaterBlock; -use crate::parser::Heading; -use crate::parser::HorizontalRule; -use crate::parser::InlineBabelCall; -use crate::parser::InlineSourceBlock; -use crate::parser::Italic; -use crate::parser::Keyword; -use crate::parser::LatexEnvironment; -use crate::parser::LatexFragment; -use crate::parser::LineBreak; -use crate::parser::Object; -use crate::parser::OrgMacro; -use crate::parser::Paragraph; -use crate::parser::PlainLink; -use crate::parser::PlainList; -use crate::parser::PlainListItem; -use crate::parser::PlainText; -use crate::parser::Planning; -use crate::parser::PropertyDrawer; -use crate::parser::RadioLink; -use crate::parser::RadioTarget; -use crate::parser::RegularLink; -use crate::parser::Section; -use crate::parser::Source; -use crate::parser::SrcBlock; -use crate::parser::StatisticsCookie; -use crate::parser::StrikeThrough; -use crate::parser::Subscript; -use crate::parser::Superscript; -use crate::parser::Table; -use crate::parser::TableCell; -use crate::parser::TableRow; -use crate::parser::Target; -use crate::parser::Timestamp; -use crate::parser::Underline; -use crate::parser::Verbatim; -use crate::parser::VerseBlock; +use crate::types::AngleLink; +use crate::types::Bold; +use crate::types::Citation; +use crate::types::CitationReference; +use crate::types::Clock; +use crate::types::Code; +use crate::types::Comment; +use crate::types::CommentBlock; +use crate::types::DiarySexp; +use crate::types::Document; +use crate::types::DocumentElement; +use crate::types::Drawer; +use crate::types::DynamicBlock; +use crate::types::Element; +use crate::types::Entity; +use crate::types::ExampleBlock; +use crate::types::ExportBlock; +use crate::types::ExportSnippet; +use crate::types::FixedWidthArea; +use crate::types::FootnoteDefinition; +use crate::types::FootnoteReference; +use crate::types::GreaterBlock; +use crate::types::Heading; +use crate::types::HorizontalRule; +use crate::types::InlineBabelCall; +use crate::types::InlineSourceBlock; +use crate::types::Italic; +use crate::types::Keyword; +use crate::types::LatexEnvironment; +use crate::types::LatexFragment; +use crate::types::LineBreak; +use crate::types::Object; +use crate::types::OrgMacro; +use crate::types::Paragraph; +use crate::types::PlainLink; +use crate::types::PlainList; +use crate::types::PlainListItem; +use crate::types::PlainText; +use crate::types::Planning; +use crate::types::PropertyDrawer; +use crate::types::RadioLink; +use crate::types::RadioTarget; +use crate::types::RegularLink; +use crate::types::Section; +use crate::types::Source; +use crate::types::SrcBlock; +use crate::types::StatisticsCookie; +use crate::types::StrikeThrough; +use crate::types::Subscript; +use crate::types::Superscript; +use crate::types::Table; +use crate::types::TableCell; +use crate::types::TableRow; +use crate::types::Target; +use crate::types::Timestamp; +use crate::types::Underline; +use crate::types::Verbatim; +use crate::types::VerseBlock; #[derive(Debug)] pub enum DiffEntry<'s> { diff --git a/src/compare/util.rs b/src/compare/util.rs index 94c74513..6367bf98 100644 --- a/src/compare/util.rs +++ b/src/compare/util.rs @@ -1,5 +1,5 @@ use crate::parser::sexp::Token; -use crate::parser::Source; +use crate::types::Source; /// Check if the child string slice is a slice of the parent string slice. fn is_slice_of(parent: &str, child: &str) -> bool { diff --git a/src/main.rs b/src/main.rs index 968cd2dd..1eff473d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,7 @@ use std::io::Read; use std::path::Path; -use ::organic::parser::document; +use ::organic::parser::parse; #[cfg(feature = "compare")] use organic::compare_document; #[cfg(feature = "compare")] @@ -68,7 +68,7 @@ fn run_anonymous_parse>(org_contents: P) -> Result<(), Box>(org_contents: P) -> Result<(), Box>(org_path: P) -> Result<(), Box>(org_path: P) -> Result<(), Box Res<&str, Document> { +pub fn parse(input: &str) -> Res<&str, Document> { let global_settings = GlobalSettings::default(); let initial_context = ContextElement::document_context(); let initial_context = Context::new(&global_settings, List::new(&initial_context)); let wrapped_input = OrgSource::new(input); - let _foo = double_pass_document(&initial_context, wrapped_input); + let _foo = document(&initial_context, wrapped_input); todo!() } #[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))] #[allow(dead_code)] -fn double_pass_document<'r, 's>( +pub fn document<'r, 's>( context: RefContext<'_, 'r, 's>, input: OrgSource<'s>, ) -> Res, Document<'s>> { diff --git a/src/parser/mod.rs b/src/parser/mod.rs index bc3648d0..eae8a041 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -43,4 +43,5 @@ mod timestamp; mod token; mod util; pub use document::document; +pub use document::parse; pub use org_source::OrgSource; diff --git a/src/parser/paragraph.rs b/src/parser/paragraph.rs index 643fb5c8..86515d41 100644 --- a/src/parser/paragraph.rs +++ b/src/parser/paragraph.rs @@ -74,6 +74,7 @@ mod tests { use crate::context::List; use crate::parser::element_parser::element; use crate::parser::org_source::OrgSource; + use crate::types::Source; #[test] fn two_paragraphs() {