diff --git a/src/ast/generate.js b/src/ast/generate.js index 7541ede..aba8934 100644 --- a/src/ast/generate.js +++ b/src/ast/generate.js @@ -32,11 +32,6 @@ const nodes = [ children: [["headlines", "Headline"]], post_blank: true, }, - { - struct: "HeadlineTitle", - kind: ["HEADLINE_TITLE"], - parent: [["headline", "Headline"]], - }, { struct: "PropertyDrawer", kind: ["PROPERTY_DRAWER"], @@ -307,14 +302,18 @@ impl AstNode for ${node.struct} { fn syntax(&self) -> &SyntaxNode { &self.syntax } } impl ${node.struct} { - /// Equals to \`self.syntax().text_range().start()\` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to \`self.syntax().text_range().end()\` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } `; for (const [method, kind] of node.token || []) { content += ` pub fn ${method}(&self) -> Option { super::token(&self.syntax, ${kind}) }\n`; diff --git a/src/ast/generated.rs b/src/ast/generated.rs index 54465cf..0f71275 100644 --- a/src/ast/generated.rs +++ b/src/ast/generated.rs @@ -35,14 +35,18 @@ impl AstNode for Document { } } impl Document { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn section(&self) -> Option
{ support::child(&self.syntax) } @@ -77,14 +81,18 @@ impl AstNode for Section { } } impl Section { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -107,14 +115,18 @@ impl AstNode for Paragraph { } } impl Paragraph { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -157,14 +169,18 @@ impl AstNode for Headline { } } impl Headline { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn section(&self) -> Option
{ support::child(&self.syntax) } @@ -182,36 +198,6 @@ impl Headline { } } -#[derive(Debug, Clone, PartialEq, Eq, Hash)] -pub struct HeadlineTitle { - pub(crate) syntax: SyntaxNode, -} -impl AstNode for HeadlineTitle { - type Language = OrgLanguage; - fn can_cast(kind: SyntaxKind) -> bool { - kind == HEADLINE_TITLE - } - fn cast(node: SyntaxNode) -> Option { - Self::can_cast(node.kind()).then(|| HeadlineTitle { syntax: node }) - } - fn syntax(&self) -> &SyntaxNode { - &self.syntax - } -} -impl HeadlineTitle { - /// Equals to `self.syntax().text_range().start()` - pub fn start(&self) -> TextSize { - self.syntax.text_range().start() - } - /// Equals to `self.syntax().text_range().end()` - pub fn end(&self) -> TextSize { - self.syntax.text_range().end() - } - pub fn headline(&self) -> Option { - self.syntax.parent().and_then(Headline::cast) - } -} - #[derive(Debug, Clone, PartialEq, Eq, Hash)] pub struct PropertyDrawer { pub(crate) syntax: SyntaxNode, @@ -229,14 +215,18 @@ impl AstNode for PropertyDrawer { } } impl PropertyDrawer { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn node_properties(&self) -> AstChildren { support::children(&self.syntax) } @@ -259,14 +249,18 @@ impl AstNode for NodeProperty { } } impl NodeProperty { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -286,14 +280,18 @@ impl AstNode for Planning { } } impl Planning { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -313,14 +311,18 @@ impl AstNode for OrgTable { } } impl OrgTable { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -363,14 +365,18 @@ impl AstNode for OrgTableRow { } } impl OrgTableRow { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -390,14 +396,18 @@ impl AstNode for OrgTableCell { } } impl OrgTableCell { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -417,14 +427,18 @@ impl AstNode for List { } } impl List { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn items(&self) -> AstChildren { support::children(&self.syntax) } @@ -467,14 +481,18 @@ impl AstNode for ListItem { } } impl ListItem { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -494,14 +512,18 @@ impl AstNode for Drawer { } } impl Drawer { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -521,14 +543,18 @@ impl AstNode for DynBlock { } } impl DynBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -568,14 +594,18 @@ impl AstNode for Keyword { } } impl Keyword { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -595,14 +625,18 @@ impl AstNode for BabelCall { } } impl BabelCall { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -622,14 +656,18 @@ impl AstNode for AffiliatedKeyword { } } impl AffiliatedKeyword { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -649,14 +687,18 @@ impl AstNode for TableEl { } } impl TableEl { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -679,14 +721,18 @@ impl AstNode for Clock { } } impl Clock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -709,14 +755,18 @@ impl AstNode for FnDef { } } impl FnDef { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -759,14 +809,18 @@ impl AstNode for Comment { } } impl Comment { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn text(&self) -> Option { super::token(&self.syntax, TEXT) } @@ -812,14 +866,18 @@ impl AstNode for Rule { } } impl Rule { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn post_blank(&self) -> usize { super::blank_lines(&self.syntax) } @@ -842,14 +900,18 @@ impl AstNode for FixedWidth { } } impl FixedWidth { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn text(&self) -> Option { super::token(&self.syntax, TEXT) } @@ -895,14 +957,18 @@ impl AstNode for SpecialBlock { } } impl SpecialBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -942,14 +1008,18 @@ impl AstNode for QuoteBlock { } } impl QuoteBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -989,14 +1059,18 @@ impl AstNode for CenterBlock { } } impl CenterBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -1036,14 +1110,18 @@ impl AstNode for VerseBlock { } } impl VerseBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -1083,14 +1161,18 @@ impl AstNode for CommentBlock { } } impl CommentBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -1130,14 +1212,18 @@ impl AstNode for ExampleBlock { } } impl ExampleBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -1177,14 +1263,18 @@ impl AstNode for ExportBlock { } } impl ExportBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -1224,14 +1314,18 @@ impl AstNode for SourceBlock { } } impl SourceBlock { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn caption(&self) -> Option { affiliated_keyword(&self.syntax, |k| k == "CAPTION") } @@ -1271,14 +1365,18 @@ impl AstNode for InlineCall { } } impl InlineCall { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1298,14 +1396,18 @@ impl AstNode for InlineSrc { } } impl InlineSrc { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1325,14 +1427,18 @@ impl AstNode for Link { } } impl Link { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1352,14 +1458,18 @@ impl AstNode for Cookie { } } impl Cookie { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1379,14 +1489,18 @@ impl AstNode for RadioTarget { } } impl RadioTarget { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1406,14 +1520,18 @@ impl AstNode for FnRef { } } impl FnRef { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1433,14 +1551,18 @@ impl AstNode for Macros { } } impl Macros { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1460,14 +1582,18 @@ impl AstNode for Snippet { } } impl Snippet { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1487,14 +1613,18 @@ impl AstNode for Target { } } impl Target { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1514,14 +1644,18 @@ impl AstNode for Bold { } } impl Bold { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1541,14 +1675,18 @@ impl AstNode for Strike { } } impl Strike { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1568,14 +1706,18 @@ impl AstNode for Italic { } } impl Italic { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1595,14 +1737,18 @@ impl AstNode for Underline { } } impl Underline { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1622,14 +1768,18 @@ impl AstNode for Verbatim { } } impl Verbatim { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1649,14 +1799,18 @@ impl AstNode for Code { } } impl Code { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn text(&self) -> Option { super::token(&self.syntax, TEXT) } @@ -1679,14 +1833,18 @@ impl AstNode for Timestamp { } } impl Timestamp { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } pub fn year_start(&self) -> Option { super::token(&self.syntax, TIMESTAMP_YEAR) } @@ -1736,14 +1894,18 @@ impl AstNode for LatexEnvironment { } } impl LatexEnvironment { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1763,14 +1925,18 @@ impl AstNode for LatexFragment { } } impl LatexFragment { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1790,14 +1956,18 @@ impl AstNode for Entity { } } impl Entity { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1817,14 +1987,18 @@ impl AstNode for LineBreak { } } impl LineBreak { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1844,14 +2018,18 @@ impl AstNode for Superscript { } } impl Superscript { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } } #[derive(Debug, Clone, PartialEq, Eq, Hash)] @@ -1871,12 +2049,16 @@ impl AstNode for Subscript { } } impl Subscript { - /// Equals to `self.syntax().text_range().start()` + /// Beginning position of this element pub fn start(&self) -> TextSize { self.syntax.text_range().start() } - /// Equals to `self.syntax().text_range().end()` + /// Ending position of this element pub fn end(&self) -> TextSize { self.syntax.text_range().end() } + /// Raw text of this element + pub fn raw(&self) -> String { + self.syntax.to_string() + } }