Parse table formulas.
This commit is contained in:
		
							parent
							
								
									cc56b79683
								
							
						
					
					
						commit
						84d2babda9
					
				| @ -111,6 +111,19 @@ fn babel_call_key<'s>(input: OrgSource<'s>) -> Res<OrgSource<'s>, OrgSource<'s>> | ||||
|     tag_no_case("call")(input) | ||||
| } | ||||
| 
 | ||||
| #[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))] | ||||
| pub fn table_formula_keyword<'b, 'g, 'r, 's>( | ||||
|     _context: RefContext<'b, 'g, 'r, 's>, | ||||
|     input: OrgSource<'s>, | ||||
| ) -> Res<OrgSource<'s>, Keyword<'s>> { | ||||
|     filtered_keyword(table_formula_key)(input) | ||||
| } | ||||
| 
 | ||||
| #[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))] | ||||
| fn table_formula_key<'s>(input: OrgSource<'s>) -> Res<OrgSource<'s>, OrgSource<'s>> { | ||||
|     tag_no_case("tblfm")(input) | ||||
| } | ||||
| 
 | ||||
| #[cfg_attr(feature = "tracing", tracing::instrument(ret, level = "debug"))] | ||||
| fn regular_keyword_key<'s>(input: OrgSource<'s>) -> Res<OrgSource<'s>, OrgSource<'s>> { | ||||
|     not(peek(alt((tag_no_case("call"), tag_no_case("begin")))))(input)?; | ||||
|  | ||||
| @ -8,10 +8,12 @@ use nom::combinator::not; | ||||
| use nom::combinator::peek; | ||||
| use nom::combinator::recognize; | ||||
| use nom::combinator::verify; | ||||
| use nom::multi::many0; | ||||
| use nom::multi::many1; | ||||
| use nom::multi::many_till; | ||||
| use nom::sequence::tuple; | ||||
| 
 | ||||
| use super::keyword::table_formula_keyword; | ||||
| use super::object_parser::table_cell_set_object; | ||||
| use super::org_source::OrgSource; | ||||
| use super::util::exit_matcher_parser; | ||||
| @ -56,6 +58,9 @@ pub fn org_mode_table<'b, 'g, 'r, 's>( | ||||
|     let (remaining, (children, _exit_contents)) = | ||||
|         many_till(org_mode_table_row_matcher, exit_matcher)(input)?; | ||||
| 
 | ||||
|     let (remaining, _formulas) = | ||||
|         many0(parser_with_context!(table_formula_keyword)(context))(remaining)?; | ||||
| 
 | ||||
|     // TODO: Consume trailing formulas
 | ||||
|     let source = get_consumed(input, remaining); | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Tom Alexander
						Tom Alexander