Skip to content

Commit c194266

Browse files
committed
completion tests passing
1 parent 8550fd2 commit c194266

File tree

2 files changed

+192
-183
lines changed

2 files changed

+192
-183
lines changed

src/completion.rs

Lines changed: 21 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,11 @@ impl LSPServer {
2929
match context.trigger_character?.as_str() {
3030
"." => Some(CompletionList {
3131
is_incomplete: false,
32-
items: self
33-
.srcs
34-
.get_dot_completions(
35-
token.trim_end_matches('.'),
36-
file.text.pos_to_byte(&doc.position),
37-
&doc.text_document.uri,
38-
)
39-
.iter()
40-
.map(|s| s.to_completion(&file.text))
41-
.collect(),
32+
items: self.srcs.get_dot_completions(
33+
token.trim_end_matches('.'),
34+
file.text.pos_to_byte(&doc.position),
35+
&doc.text_document.uri,
36+
),
4237
}),
4338
"$" => Some(CompletionList {
4439
is_incomplete: false,
@@ -54,16 +49,11 @@ impl LSPServer {
5449
CompletionTriggerKind::TRIGGER_FOR_INCOMPLETE_COMPLETIONS => None,
5550
CompletionTriggerKind::INVOKED => {
5651
debug!("Invoked Completion");
57-
let mut comps: Vec<CompletionItem> = self
58-
.srcs
59-
.get_completions(
60-
&token,
61-
file.text.pos_to_byte(&doc.position),
62-
&doc.text_document.uri,
63-
)
64-
.iter()
65-
.map(|s| s.to_completion(&file.text))
66-
.collect();
52+
let mut comps: Vec<CompletionItem> = self.srcs.get_completions(
53+
&token,
54+
file.text.pos_to_byte(&doc.position),
55+
&doc.text_document.uri,
56+
);
6757
// complete keywords
6858
comps.extend::<Vec<CompletionItem>>(
6959
keyword_completions(KEYWORDS)
@@ -86,16 +76,11 @@ impl LSPServer {
8676
match trigger {
8777
'.' => Some(CompletionList {
8878
is_incomplete: false,
89-
items: self
90-
.srcs
91-
.get_dot_completions(
92-
token.trim_end_matches('.'),
93-
file.text.pos_to_byte(&doc.position),
94-
&doc.text_document.uri,
95-
)
96-
.iter()
97-
.map(|s| s.to_completion(&file.text))
98-
.collect(),
79+
items: self.srcs.get_dot_completions(
80+
token.trim_end_matches('.'),
81+
file.text.pos_to_byte(&doc.position),
82+
&doc.text_document.uri,
83+
),
9984
}),
10085
'$' => Some(CompletionList {
10186
is_incomplete: false,
@@ -106,16 +91,11 @@ impl LSPServer {
10691
items: other_completions(DIRECTIVES),
10792
}),
10893
_ => {
109-
let mut comps: Vec<CompletionItem> = self
110-
.srcs
111-
.get_completions(
112-
&token,
113-
file.text.pos_to_byte(&doc.position),
114-
&doc.text_document.uri,
115-
)
116-
.iter()
117-
.map(|s| s.to_completion(&file.text))
118-
.collect();
94+
let mut comps: Vec<CompletionItem> = self.srcs.get_completions(
95+
&token,
96+
file.text.pos_to_byte(&doc.position),
97+
&doc.text_document.uri,
98+
);
11999
comps.extend::<Vec<CompletionItem>>(
120100
keyword_completions(KEYWORDS)
121101
.iter()
@@ -751,6 +731,7 @@ endinterface"#;
751731
}),
752732
};
753733
let response: CompletionResponse = server.completion(completion_params).unwrap();
734+
dbg!(&response);
754735
if let CompletionResponse::List(item) = response {
755736
// eprintln!("{:#?}", item);
756737
let names: Vec<&String> = item.items.iter().map(|x| &x.label).collect();

0 commit comments

Comments
 (0)