fix completion bugs

This commit is contained in:
gfreezy 2019-01-23 13:21:29 +08:00
parent 488326ffa7
commit 13d2fd32ab
30 changed files with 179 additions and 135 deletions

View File

@ -143,6 +143,10 @@ impl Module {
return PerNs::none();
}
}
PathKind::Abs => {
// TODO: absolute use is not supported
return PerNs::none();
}
}
.def_id,
);

View File

@ -15,7 +15,8 @@
//! so that the results of name resolution can be preserved unless the module
//! structure itself is modified.
pub(crate) mod lower;
use lower::*;
use crate::nameres::lower::*;
use std::sync::Arc;
@ -59,7 +60,7 @@ impl ModuleScope {
pub struct Resolution {
/// None for unresolved
pub def_id: PerNs<DefId>,
/// ident by whitch this is imported into local scope.
/// ident by which this is imported into local scope.
pub import: Option<ImportId>,
}
@ -317,6 +318,10 @@ where
}
}
PathKind::Crate => module_id.crate_root(&self.module_tree),
PathKind::Abs => {
// TODO: absolute use is not supported for now
return false;
}
};
for (i, segment) in import.path.segments.iter().enumerate() {

View File

@ -38,6 +38,8 @@ pub enum PathKind {
Self_,
Super,
Crate,
// Absolute path
Abs,
}
impl Path {
@ -57,6 +59,11 @@ impl Path {
let mut segments = Vec::new();
loop {
let segment = path.segment()?;
if segment.has_colon_colon() {
kind = PathKind::Abs;
}
match segment.kind()? {
ast::PathSegmentKind::Name(name) => {
let args = segment

View File

@ -10,6 +10,7 @@ pub(super) fn complete_expr_snippet(acc: &mut Completions, ctx: &CompletionConte
if !(ctx.is_trivial_path && ctx.function_syntax.is_some()) {
return;
}
snippet(ctx, "pd", "eprintln!(\"$0 = {:?}\", $0);").add_to(acc);
snippet(ctx, "ppd", "eprintln!(\"$0 = {:#?}\", $0);").add_to(acc);
}
@ -47,6 +48,18 @@ mod tests {
check_snippet_completion("snippets_in_expressions", r"fn foo(x: i32) { <|> }");
}
#[test]
fn should_not_complete_snippets_in_path() {
check_snippet_completion(
"should_not_complete_snippets_in_path",
r"fn foo(x: i32) { ::foo<|> }",
);
check_snippet_completion(
"should_not_complete_snippets_in_path2",
r"fn foo(x: i32) { ::<|> }",
);
}
#[test]
fn completes_snippets_in_items() {
check_snippet_completion(

View File

@ -21,7 +21,7 @@ pub(crate) struct CompletionContext<'a> {
pub(super) function_syntax: Option<&'a ast::FnDef>,
pub(super) use_item_syntax: Option<&'a ast::UseItem>,
pub(super) is_param: bool,
/// A single-indent path, like `foo`.
/// A single-indent path, like `foo`. `::foo` should not be considered a trivial path.
pub(super) is_trivial_path: bool,
/// If not a trivial, path, the prefix (qualifier).
pub(super) path_prefix: Option<hir::Path>,
@ -66,13 +66,11 @@ impl<'a> CompletionContext<'a> {
}
// The range of the identifier that is being completed.
// This is purely advisory and can be used, for example, to highlight this range in the editor.
// Clients are expected to ignore this field.
pub(crate) fn source_range(&self) -> TextRange {
match self.leaf.kind() {
// workaroud when completion is triggered by trigger characters.
DOT | COLONCOLON => TextRange::from_to(self.offset, self.offset),
_ => self.leaf.range(),
IDENT => self.leaf.range(),
_ => TextRange::offset_len(self.offset, 0.into()),
}
}

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T15:38:19.841148300+00:00"
created: "2019-01-23T07:42:59.656273+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"quux()$0"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T15:38:19.863089100+00:00"
created: "2019-01-23T07:42:59.658419+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [213; 231),
source_range: [214; 214),
text_edit: None
},
CompletionItem {
@ -30,7 +30,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [213; 231),
source_range: [214; 214),
text_edit: None
},
CompletionItem {
@ -48,7 +48,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"quux()$0"
),
insert_text_format: Snippet,
source_range: [213; 231),
source_range: [214; 214),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T15:38:19.881041600+00:00"
created: "2019-01-23T07:42:59.657713+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [78; 79),
source_range: [79; 79),
text_edit: None
},
CompletionItem {
@ -30,7 +30,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [78; 79),
source_range: [79; 79),
text_edit: None
},
CompletionItem {
@ -48,7 +48,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"quux($0)"
),
insert_text_format: Snippet,
source_range: [78; 79),
source_range: [79; 79),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.620177400+00:00"
created: "2019-01-23T05:27:32.197434+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"continue;"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
},
CompletionItem {
@ -98,7 +98,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"break;"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
},
CompletionItem {
@ -114,7 +114,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return $0;"
),
insert_text_format: Snippet,
source_range: [54; 56),
source_range: [55; 55),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.699965300+00:00"
created: "2019-01-23T05:27:32.314513+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [59; 61),
source_range: [60; 60),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [59; 61),
source_range: [60; 60),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [59; 61),
source_range: [60; 60),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [59; 61),
source_range: [60; 60),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return $0;"
),
insert_text_format: Snippet,
source_range: [59; 61),
source_range: [60; 60),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.642118600+00:00"
created: "2019-01-23T05:27:32.197678+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [84; 102),
source_range: [85; 85),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [84; 102),
source_range: [85; 85),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [84; 102),
source_range: [85; 85),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [84; 102),
source_range: [85; 85),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return $0"
),
insert_text_format: Snippet,
source_range: [84; 102),
source_range: [85; 85),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T15:38:19.914951100+00:00"
created: "2019-01-23T07:42:59.658375+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [108; 146),
source_range: [129; 129),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"foo()$0"
),
insert_text_format: Snippet,
source_range: [108; 146),
source_range: [129; 129),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.830614900+00:00"
created: "2019-01-23T05:27:32.222118+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,12 +16,12 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"!bar"
),
insert_text_format: Snippet,
source_range: [76; 78),
source_range: [78; 78),
text_edit: Some(
TextEdit {
atoms: [
AtomTextEdit {
delete: [72; 76),
delete: [72; 78),
insert: ""
}
]
@ -39,12 +39,12 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if bar {$0}"
),
insert_text_format: Snippet,
source_range: [76; 78),
source_range: [78; 78),
text_edit: Some(
TextEdit {
atoms: [
AtomTextEdit {
delete: [72; 76),
delete: [72; 78),
insert: ""
}
]
@ -62,12 +62,12 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match bar {\n${1:_} => {$0\\},\n}"
),
insert_text_format: Snippet,
source_range: [76; 78),
source_range: [78; 78),
text_edit: Some(
TextEdit {
atoms: [
AtomTextEdit {
delete: [72; 76),
delete: [72; 78),
insert: ""
}
]
@ -85,12 +85,12 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while bar {\n$0\n}"
),
insert_text_format: Snippet,
source_range: [76; 78),
source_range: [78; 78),
text_edit: Some(
TextEdit {
atoms: [
AtomTextEdit {
delete: [72; 76),
delete: [72; 78),
insert: ""
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.635137200+00:00"
created: "2019-01-23T05:27:32.197298+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [24; 54),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [24; 54),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [24; 54),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [24; 54),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return;"
),
insert_text_format: Snippet,
source_range: [24; 54),
source_range: [41; 41),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.626162800+00:00"
created: "2019-01-23T05:27:32.197423+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"else {$0}"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
},
CompletionItem {
@ -98,7 +98,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"else if $0 {}"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
},
CompletionItem {
@ -114,7 +114,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return;"
),
insert_text_format: Snippet,
source_range: [91; 105),
source_range: [92; 92),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.701959300+00:00"
created: "2019-01-23T05:27:32.200056+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [31; 65),
source_range: [48; 48),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [31; 65),
source_range: [48; 48),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [31; 65),
source_range: [48; 48),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [31; 65),
source_range: [48; 48),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return $0;"
),
insert_text_format: Snippet,
source_range: [31; 65),
source_range: [48; 48),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.788727100+00:00"
created: "2019-01-23T05:27:32.314468+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [24; 58),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [24; 58),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [24; 58),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [24; 58),
source_range: [41; 41),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return;"
),
insert_text_format: Snippet,
source_range: [24; 58),
source_range: [41; 41),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.626162800+00:00"
created: "2019-01-23T05:27:32.196887+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"crate::"
),
insert_text_format: PlainText,
source_range: [16; 30),
source_range: [17; 17),
text_edit: None
},
CompletionItem {
@ -32,7 +32,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [16; 30),
source_range: [17; 17),
text_edit: None
},
CompletionItem {
@ -48,7 +48,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"super::"
),
insert_text_format: PlainText,
source_range: [16; 30),
source_range: [17; 17),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.779752+00:00"
created: "2019-01-23T05:27:32.303390+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [23; 24),
source_range: [24; 24),
text_edit: None
},
CompletionItem {
@ -32,7 +32,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"super::"
),
insert_text_format: PlainText,
source_range: [23; 24),
source_range: [24; 24),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.642118600+00:00"
created: "2019-01-23T05:27:32.197624+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return $0;"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.733874300+00:00"
created: "2019-01-23T05:27:32.302452+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"if $0 {}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"match $0 {}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -50,7 +50,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"while $0 {}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -66,7 +66,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"loop {$0}"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
},
CompletionItem {
@ -82,7 +82,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"return $0;"
),
insert_text_format: Snippet,
source_range: [62; 100),
source_range: [83; 83),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T15:38:19.896999400+00:00"
created: "2019-01-23T07:42:59.657718+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -20,7 +20,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"quux()$0"
),
insert_text_format: Snippet,
source_range: [72; 102),
source_range: [89; 89),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [72; 102),
source_range: [89; 89),
text_edit: None
},
CompletionItem {
@ -48,7 +48,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [72; 102),
source_range: [89; 89),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T15:38:19.896002200+00:00"
created: "2019-01-23T07:42:59.657837+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -20,7 +20,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"quux()$0"
),
insert_text_format: Snippet,
source_range: [100; 102),
source_range: [101; 101),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [100; 102),
source_range: [101; 101),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.898433800+00:00"
created: "2019-01-23T05:27:32.421411+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [46; 60),
source_range: [47; 47),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"x()$0"
),
insert_text_format: Snippet,
source_range: [46; 60),
source_range: [47; 47),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.894444600+00:00"
created: "2019-01-23T05:27:32.422259+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -16,7 +16,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
lookup: None,
insert_text: None,
insert_text_format: PlainText,
source_range: [24; 26),
source_range: [25; 25),
text_edit: None
}
]

View File

@ -0,0 +1,5 @@
Created: 2019-01-23T05:19:36.475253+00:00
Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs
[]

View File

@ -0,0 +1,5 @@
Created: 2019-01-23T05:19:36.476869+00:00
Creator: insta@0.1.4
Source: crates/ra_ide_api/src/completion/completion_item.rs
[]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.944312600+00:00"
created: "2019-01-23T05:27:32.430450+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -18,7 +18,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"eprintln!(\"$0 = {:?}\", $0);"
),
insert_text_format: Snippet,
source_range: [16; 18),
source_range: [17; 17),
text_edit: None
},
CompletionItem {
@ -34,7 +34,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"eprintln!(\"$0 = {:#?}\", $0);"
),
insert_text_format: Snippet,
source_range: [16; 18),
source_range: [17; 17),
text_edit: None
}
]

View File

@ -1,8 +1,8 @@
---
created: "2019-01-22T14:45:00.944312600+00:00"
created: "2019-01-23T05:27:32.435110+00:00"
creator: insta@0.4.0
expression: kind_completions
source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
source: crates/ra_ide_api/src/completion/completion_item.rs
---
[
CompletionItem {
@ -20,7 +20,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"#[test]\nfn ${1:feature}() {\n $0\n}"
),
insert_text_format: Snippet,
source_range: [49; 79),
source_range: [66; 66),
text_edit: None
},
CompletionItem {
@ -36,7 +36,7 @@ source: "crates\\ra_ide_api\\src\\completion\\completion_item.rs"
"pub(crate) $0"
),
insert_text_format: Snippet,
source_range: [49; 79),
source_range: [66; 66),
text_edit: None
}
]

View File

@ -334,6 +334,13 @@ impl PathSegment {
};
Some(res)
}
pub fn has_colon_colon(&self) -> bool {
match self.syntax.first_child().map(|s| s.kind()) {
Some(COLONCOLON) => true,
_ => false,
}
}
}
impl Path {