Skip to content

Commit bfc2404

Browse files
wowa wiwa
1 parent 563cdcf commit bfc2404

File tree

16 files changed

+96
-107
lines changed

16 files changed

+96
-107
lines changed

crates/pgt_completions/Cargo.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ version = "0.0.0"
1515
async-std = "1.12.0"
1616

1717
pgt_text_size.workspace = true
18-
19-
20-
fuzzy-matcher = "0.3.7"
2118
pgt_schema_cache.workspace = true
2219
pgt_treesitter.workspace = true
20+
21+
fuzzy-matcher = "0.3.7"
2322
schemars = { workspace = true, optional = true }
2423
serde = { workspace = true, features = ["derive"] }
2524
serde_json = { workspace = true }

crates/pgt_completions/src/builder.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
use crate::{
22
CompletionItemKind, CompletionText,
3-
context::CompletionContext,
43
item::CompletionItem,
54
relevance::{filtering::CompletionFilter, scoring::CompletionScore},
65
};
76

7+
use pgt_treesitter::CompletionContext;
8+
89
pub(crate) struct PossibleCompletionItem<'a> {
910
pub label: String,
1011
pub description: String,

crates/pgt_completions/src/complete.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
use pgt_text_size::TextSize;
22

3+
use pgt_treesitter::{TreeSitterContextParams, context::CompletionContext};
4+
35
use crate::{
46
builder::CompletionBuilder,
5-
context::CompletionContext,
67
item::CompletionItem,
78
providers::{
89
complete_columns, complete_functions, complete_policies, complete_roles, complete_schemas,
@@ -28,7 +29,12 @@ pub struct CompletionParams<'a> {
2829
pub fn complete(params: CompletionParams) -> Vec<CompletionItem> {
2930
let sanitized_params = SanitizedCompletionParams::from(params);
3031

31-
let ctx = CompletionContext::new(&sanitized_params);
32+
let ctx = CompletionContext::new(TreeSitterContextParams {
33+
position: sanitized_params.position,
34+
schema: sanitized_params.schema,
35+
text: &sanitized_params.text,
36+
tree: &sanitized_params.tree,
37+
});
3238

3339
let mut builder = CompletionBuilder::new(&ctx);
3440

crates/pgt_completions/src/providers/columns.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1+
use pgt_treesitter::{CompletionContext, WrappingClause};
2+
13
use crate::{
24
CompletionItemKind,
35
builder::{CompletionBuilder, PossibleCompletionItem},
4-
context::{CompletionContext, WrappingClause},
56
relevance::{CompletionRelevanceData, filtering::CompletionFilter, scoring::CompletionScore},
67
};
78

crates/pgt_completions/src/providers/functions.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use pgt_schema_cache::Function;
2+
use pgt_treesitter::CompletionContext;
23

34
use crate::{
45
CompletionItemKind, CompletionText,
56
builder::{CompletionBuilder, PossibleCompletionItem},
6-
context::CompletionContext,
77
providers::helper::get_range_to_replace,
88
relevance::{CompletionRelevanceData, filtering::CompletionFilter, scoring::CompletionScore},
99
};
@@ -123,7 +123,10 @@ mod tests {
123123
$$;
124124
"#;
125125

126-
let query = format!(r#"select * from coo{}()"#, QueryWithCursorPosition::cursor_marker());
126+
let query = format!(
127+
r#"select * from coo{}()"#,
128+
QueryWithCursorPosition::cursor_marker()
129+
);
127130

128131
let (tree, cache) = get_test_deps(Some(setup), query.as_str().into(), &pool).await;
129132
let params = get_test_params(&tree, &cache, query.as_str().into());
@@ -191,7 +194,10 @@ mod tests {
191194
$$;
192195
"#;
193196

194-
let query = format!(r#"select * from coo{}()"#, QueryWithCursorPosition::cursor_marker());
197+
let query = format!(
198+
r#"select * from coo{}()"#,
199+
QueryWithCursorPosition::cursor_marker()
200+
);
195201

196202
let (tree, cache) = get_test_deps(Some(setup), query.as_str().into(), &pool).await;
197203
let params = get_test_params(&tree, &cache, query.as_str().into());

crates/pgt_completions/src/providers/helper.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use pgt_text_size::{TextRange, TextSize};
2+
use pgt_treesitter::CompletionContext;
23

3-
use crate::{CompletionText, context::CompletionContext, remove_sanitized_token};
4+
use crate::{CompletionText, remove_sanitized_token};
45

56
pub(crate) fn find_matching_alias_for_table(
67
ctx: &CompletionContext,

crates/pgt_completions/src/providers/policies.rs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use pgt_text_size::{TextRange, TextSize};
2+
use pgt_treesitter::CompletionContext;
23

34
use crate::{
45
CompletionItemKind, CompletionText,
56
builder::{CompletionBuilder, PossibleCompletionItem},
6-
context::CompletionContext,
77
relevance::{CompletionRelevanceData, filtering::CompletionFilter, scoring::CompletionScore},
88
};
99

@@ -90,7 +90,11 @@ mod tests {
9090
pool.execute(setup).await.unwrap();
9191

9292
assert_complete_results(
93-
format!("alter policy \"{}\" on private.users;", QueryWithCursorPosition::cursor_marker()).as_str(),
93+
format!(
94+
"alter policy \"{}\" on private.users;",
95+
QueryWithCursorPosition::cursor_marker()
96+
)
97+
.as_str(),
9498
vec![
9599
CompletionAssertion::Label("read for public users disallowed".into()),
96100
CompletionAssertion::Label("write for public users allowed".into()),
@@ -101,7 +105,11 @@ mod tests {
101105
.await;
102106

103107
assert_complete_results(
104-
format!("alter policy \"w{}\" on private.users;", QueryWithCursorPosition::cursor_marker()).as_str(),
108+
format!(
109+
"alter policy \"w{}\" on private.users;",
110+
QueryWithCursorPosition::cursor_marker()
111+
)
112+
.as_str(),
105113
vec![CompletionAssertion::Label(
106114
"write for public users allowed".into(),
107115
)],

crates/pgt_completions/src/providers/roles.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use crate::{
22
CompletionItemKind,
33
builder::{CompletionBuilder, PossibleCompletionItem},
4-
context::CompletionContext,
54
relevance::{CompletionRelevanceData, filtering::CompletionFilter, scoring::CompletionScore},
65
};
6+
use pgt_treesitter::CompletionContext;
77

88
pub fn complete_roles<'a>(ctx: &CompletionContext<'a>, builder: &mut CompletionBuilder<'a>) {
99
let available_roles = &ctx.schema_cache.roles;

crates/pgt_completions/src/providers/schemas.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::{
22
builder::{CompletionBuilder, PossibleCompletionItem},
3-
context::CompletionContext,
43
relevance::{CompletionRelevanceData, filtering::CompletionFilter, scoring::CompletionScore},
54
};
5+
use pgt_treesitter::CompletionContext;
66

77
pub fn complete_schemas<'a>(ctx: &'a CompletionContext, builder: &mut CompletionBuilder<'a>) {
88
let available_schemas = &ctx.schema_cache.schemas;
@@ -99,7 +99,11 @@ mod tests {
9999
"#;
100100

101101
assert_complete_results(
102-
format!("select * from u{}", QueryWithCursorPosition::cursor_marker()).as_str(),
102+
format!(
103+
"select * from u{}",
104+
QueryWithCursorPosition::cursor_marker()
105+
)
106+
.as_str(),
103107
vec![
104108
CompletionAssertion::LabelAndKind("users".into(), CompletionItemKind::Table),
105109
CompletionAssertion::LabelAndKind("ultimate".into(), CompletionItemKind::Schema),

crates/pgt_completions/src/providers/tables.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
use pgt_treesitter::CompletionContext;
2+
13
use crate::{
24
builder::{CompletionBuilder, PossibleCompletionItem},
3-
context::CompletionContext,
45
item::CompletionItemKind,
56
relevance::{CompletionRelevanceData, filtering::CompletionFilter, scoring::CompletionScore},
67
};

0 commit comments

Comments
 (0)