Skip to content

Commit acaf33e

Browse files
simplify the OffsetContext by removing YAGNI enum members (#281)
1 parent c3a8b95 commit acaf33e

File tree

2 files changed

+8
-42
lines changed

2 files changed

+8
-42
lines changed

crates/djls-ide/src/context.rs

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,6 @@ pub struct OffsetContext {
1313

1414
pub enum ContextKind {
1515
TemplateReference(String),
16-
TemplateTag {
17-
name: String,
18-
args: Vec<String>,
19-
},
20-
TemplateVariable {
21-
variable: String,
22-
filters: Vec<String>,
23-
},
24-
TemplateFilter {
25-
variable: String,
26-
name: String,
27-
args: Option<String>,
28-
},
29-
TemplateComment(String),
30-
TemplateText,
3116
None,
3217
}
3318

@@ -49,30 +34,11 @@ impl OffsetContext {
4934

5035
let span = node.full_span();
5136
let context = match node {
52-
Node::Tag { name, bits, .. } => {
53-
if Self::is_template_reference_tag(name) {
54-
if let Some(template_name) = Self::extract_template_name(bits) {
55-
ContextKind::TemplateReference(template_name)
56-
} else {
57-
ContextKind::TemplateTag {
58-
name: name.clone(),
59-
args: bits.clone(),
60-
}
61-
}
62-
} else {
63-
ContextKind::TemplateTag {
64-
name: name.clone(),
65-
args: bits.clone(),
66-
}
67-
}
37+
Node::Tag { name, bits, .. } if Self::is_loader_tag(name) => {
38+
Self::extract_template_name(bits)
39+
.map_or(ContextKind::None, ContextKind::TemplateReference)
6840
}
69-
Node::Variable { var, filters, .. } => ContextKind::TemplateVariable {
70-
variable: var.clone(),
71-
filters: filters.clone(),
72-
},
73-
Node::Comment { content, .. } => ContextKind::TemplateComment(content.clone()),
74-
Node::Text { .. } => ContextKind::TemplateText,
75-
Node::Error { .. } => continue,
41+
_ => ContextKind::None,
7642
};
7743

7844
return Self {
@@ -91,8 +57,8 @@ impl OffsetContext {
9157
}
9258
}
9359

94-
fn is_template_reference_tag(tag: &str) -> bool {
95-
matches!(tag, "extends" | "include")
60+
fn is_loader_tag(tag_name: &str) -> bool {
61+
matches!(tag_name, "extends" | "include")
9662
}
9763

9864
fn extract_template_name(bits: &[String]) -> Option<String> {

crates/djls-ide/src/navigation.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ pub fn goto_definition(
3333
}
3434
}
3535
}
36-
_ => None,
36+
ContextKind::None => None,
3737
}
3838
}
3939

@@ -69,6 +69,6 @@ pub fn find_references(
6969
Some(locations)
7070
}
7171
}
72-
_ => None,
72+
ContextKind::None => None,
7373
}
7474
}

0 commit comments

Comments
 (0)