refactor: remove HeadlineTitle, ListItemTag, ListItemContent

This commit is contained in:
PoiScript 2023-11-18 22:37:47 +08:00
parent d81c1a2966
commit 12bee6fb6b
No known key found for this signature in database
GPG key ID: 22C2B1249D99985E
8 changed files with 240 additions and 346 deletions

View file

@ -157,9 +157,6 @@ impl Headline {
pub fn keyword(&self) -> Option<SyntaxToken> {
support::token(&self.syntax, HEADLINE_KEYWORD)
}
pub fn title(&self) -> Option<HeadlineTitle> {
support::child(&self.syntax)
}
pub fn section(&self) -> Option<Section> {
support::child(&self.syntax)
}
@ -449,115 +446,6 @@ impl ListItem {
pub fn end(&self) -> u32 {
self.syntax.text_range().end().into()
}
pub fn indent(&self) -> Option<SyntaxToken> {
support::token(&self.syntax, LIST_ITEM_INDENT)
}
pub fn bullet(&self) -> Option<SyntaxToken> {
support::token(&self.syntax, LIST_ITEM_BULLET)
}
pub fn content(&self) -> Option<ListItemContent> {
support::child(&self.syntax)
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ListItemIndent {
pub(crate) syntax: SyntaxNode,
}
impl AstNode for ListItemIndent {
type Language = OrgLanguage;
fn can_cast(kind: SyntaxKind) -> bool {
kind == LIST_ITEM_INDENT
}
fn cast(node: SyntaxNode) -> Option<ListItemIndent> {
Self::can_cast(node.kind()).then(|| ListItemIndent { syntax: node })
}
fn syntax(&self) -> &SyntaxNode {
&self.syntax
}
}
impl ListItemIndent {
pub fn begin(&self) -> u32 {
self.syntax.text_range().start().into()
}
pub fn end(&self) -> u32 {
self.syntax.text_range().end().into()
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ListItemTag {
pub(crate) syntax: SyntaxNode,
}
impl AstNode for ListItemTag {
type Language = OrgLanguage;
fn can_cast(kind: SyntaxKind) -> bool {
kind == LIST_ITEM_TAG
}
fn cast(node: SyntaxNode) -> Option<ListItemTag> {
Self::can_cast(node.kind()).then(|| ListItemTag { syntax: node })
}
fn syntax(&self) -> &SyntaxNode {
&self.syntax
}
}
impl ListItemTag {
pub fn begin(&self) -> u32 {
self.syntax.text_range().start().into()
}
pub fn end(&self) -> u32 {
self.syntax.text_range().end().into()
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ListItemBullet {
pub(crate) syntax: SyntaxNode,
}
impl AstNode for ListItemBullet {
type Language = OrgLanguage;
fn can_cast(kind: SyntaxKind) -> bool {
kind == LIST_ITEM_BULLET
}
fn cast(node: SyntaxNode) -> Option<ListItemBullet> {
Self::can_cast(node.kind()).then(|| ListItemBullet { syntax: node })
}
fn syntax(&self) -> &SyntaxNode {
&self.syntax
}
}
impl ListItemBullet {
pub fn begin(&self) -> u32 {
self.syntax.text_range().start().into()
}
pub fn end(&self) -> u32 {
self.syntax.text_range().end().into()
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct ListItemContent {
pub(crate) syntax: SyntaxNode,
}
impl AstNode for ListItemContent {
type Language = OrgLanguage;
fn can_cast(kind: SyntaxKind) -> bool {
kind == LIST_ITEM_CONTENT
}
fn cast(node: SyntaxNode) -> Option<ListItemContent> {
Self::can_cast(node.kind()).then(|| ListItemContent { syntax: node })
}
fn syntax(&self) -> &SyntaxNode {
&self.syntax
}
}
impl ListItemContent {
pub fn begin(&self) -> u32 {
self.syntax.text_range().start().into()
}
pub fn end(&self) -> u32 {
self.syntax.text_range().end().into()
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
@ -1452,31 +1340,6 @@ impl FnRef {
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct LatexEnvironment {
pub(crate) syntax: SyntaxNode,
}
impl AstNode for LatexEnvironment {
type Language = OrgLanguage;
fn can_cast(kind: SyntaxKind) -> bool {
kind == LATEX_ENVIRONMENT
}
fn cast(node: SyntaxNode) -> Option<LatexEnvironment> {
Self::can_cast(node.kind()).then(|| LatexEnvironment { syntax: node })
}
fn syntax(&self) -> &SyntaxNode {
&self.syntax
}
}
impl LatexEnvironment {
pub fn begin(&self) -> u32 {
self.syntax.text_range().start().into()
}
pub fn end(&self) -> u32 {
self.syntax.text_range().end().into()
}
}
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct Macros {
pub(crate) syntax: SyntaxNode,