Skip to content

Commit 4225d56

Browse files
fine!
1 parent 9d47fec commit 4225d56

File tree

2 files changed

+46
-53
lines changed

2 files changed

+46
-53
lines changed

crates/pgt_completions/src/context/mod.rs

Lines changed: 37 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -549,60 +549,55 @@ impl<'a> CompletionContext<'a> {
549549

550550
clauses_with_score.sort_by(|(_, score_a), (_, score_b)| score_b.cmp(score_a));
551551
clauses_with_score
552-
.iter()
553-
.filter(|(_, score)| *score > 0)
554-
.next()
552+
.iter().find(|(_, score)| *score > 0)
555553
.map(|c| c.0.clone())
556554
}
557555

558556
fn get_info_from_error_node_child(&mut self, node: tree_sitter::Node<'a>) {
559557
let mut first_sibling = self.get_first_sibling(node);
560558

561559
if let Some(clause) = self.wrapping_clause_type.as_ref() {
562-
match clause {
563-
WrappingClause::Insert => {
564-
while let Some(sib) = first_sibling.next_sibling() {
565-
match sib.kind() {
566-
"object_reference" => {
567-
if let Some(NodeText::Original(txt)) =
568-
self.get_ts_node_content(&sib)
569-
{
570-
let mut iter = txt.split('.').rev();
571-
let table = iter.next().unwrap().to_string();
572-
let schema = iter.next().map(|s| s.to_string());
573-
self.mentioned_relations
574-
.entry(schema)
575-
.and_modify(|s| {
576-
s.insert(table.clone());
577-
})
578-
.or_insert(HashSet::from([table]));
579-
}
560+
if clause == &WrappingClause::Insert {
561+
while let Some(sib) = first_sibling.next_sibling() {
562+
match sib.kind() {
563+
"object_reference" => {
564+
if let Some(NodeText::Original(txt)) =
565+
self.get_ts_node_content(&sib)
566+
{
567+
let mut iter = txt.split('.').rev();
568+
let table = iter.next().unwrap().to_string();
569+
let schema = iter.next().map(|s| s.to_string());
570+
self.mentioned_relations
571+
.entry(schema)
572+
.and_modify(|s| {
573+
s.insert(table.clone());
574+
})
575+
.or_insert(HashSet::from([table]));
580576
}
581-
"column" => {
582-
if let Some(NodeText::Original(txt)) =
583-
self.get_ts_node_content(&sib)
584-
{
585-
let entry = MentionedColumn {
586-
column: txt,
587-
alias: None,
588-
};
589-
590-
self.mentioned_columns
591-
.entry(Some(WrappingClause::Insert))
592-
.and_modify(|s| {
593-
s.insert(entry.clone());
594-
})
595-
.or_insert(HashSet::from([entry]));
596-
}
577+
}
578+
"column" => {
579+
if let Some(NodeText::Original(txt)) =
580+
self.get_ts_node_content(&sib)
581+
{
582+
let entry = MentionedColumn {
583+
column: txt,
584+
alias: None,
585+
};
586+
587+
self.mentioned_columns
588+
.entry(Some(WrappingClause::Insert))
589+
.and_modify(|s| {
590+
s.insert(entry.clone());
591+
})
592+
.or_insert(HashSet::from([entry]));
597593
}
598-
599-
_ => {}
600594
}
601595

602-
first_sibling = sib;
596+
_ => {}
603597
}
598+
599+
first_sibling = sib;
604600
}
605-
_ => {}
606601
}
607602
}
608603
}
@@ -654,7 +649,7 @@ impl<'a> CompletionContext<'a> {
654649
self.node_under_cursor.as_ref().is_some_and(|under_cursor| {
655650
match under_cursor {
656651
NodeUnderCursor::TsNode(node) => {
657-
let mut current = node.clone();
652+
let mut current = *node;
658653

659654
// move up to the parent until we're at top OR we have a prev sibling
660655
while current.prev_sibling().is_none() && current.parent().is_some() {

crates/pgt_completions/src/relevance/filtering.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,13 @@ impl CompletionFilter<'_> {
123123
}
124124
}
125125

126-
CompletionRelevanceData::Function(_) => match clause {
126+
CompletionRelevanceData::Function(_) => matches!(
127+
clause,
127128
WrappingClause::From
128-
| WrappingClause::Select
129-
| WrappingClause::Where
130-
| WrappingClause::Join { .. } => true,
131-
132-
_ => false,
133-
},
129+
| WrappingClause::Select
130+
| WrappingClause::Where
131+
| WrappingClause::Join { .. }
132+
),
134133

135134
CompletionRelevanceData::Schema(_) => match clause {
136135
WrappingClause::Select
@@ -157,10 +156,9 @@ impl CompletionFilter<'_> {
157156
_ => false,
158157
},
159158

160-
CompletionRelevanceData::Policy(_) => match clause {
161-
WrappingClause::PolicyName => true,
162-
_ => false,
163-
},
159+
CompletionRelevanceData::Policy(_) => {
160+
matches!(clause, WrappingClause::PolicyName)
161+
}
164162
}
165163
})
166164
.and_then(|is_ok| if is_ok { Some(()) } else { None })

0 commit comments

Comments
 (0)