Skip to content

Commit 7869b01

Browse files
bors[bot]Veykril
andauthored
Merge #9041
9041: internal: Implement prev sibling determination for `CompletionContext ` r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
2 parents d5f7b2e + e42c448 commit 7869b01

File tree

9 files changed

+328
-248
lines changed

9 files changed

+328
-248
lines changed

crates/base_db/src/fixture.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,13 @@ pub trait WithFixture: Default + SourceDatabaseExt + 'static {
3434

3535
fn with_position(ra_fixture: &str) -> (Self, FilePosition) {
3636
let (db, file_id, range_or_offset) = Self::with_range_or_offset(ra_fixture);
37-
let offset = match range_or_offset {
38-
RangeOrOffset::Range(_) => panic!("Expected a cursor position, got a range instead"),
39-
RangeOrOffset::Offset(it) => it,
40-
};
37+
let offset = range_or_offset.expect_offset();
4138
(db, FilePosition { file_id, offset })
4239
}
4340

4441
fn with_range(ra_fixture: &str) -> (Self, FileRange) {
4542
let (db, file_id, range_or_offset) = Self::with_range_or_offset(ra_fixture);
46-
let range = match range_or_offset {
47-
RangeOrOffset::Range(it) => it,
48-
RangeOrOffset::Offset(_) => panic!("Expected a cursor range, got a position instead"),
49-
};
43+
let range = range_or_offset.expect_range();
5044
(db, FileRange { file_id, range })
5145
}
5246

crates/ide/src/fixture.rs

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//! Utilities for creating `Analysis` instances for tests.
22
use ide_db::base_db::fixture::ChangeFixture;
33
use syntax::{TextRange, TextSize};
4-
use test_utils::{extract_annotations, RangeOrOffset};
4+
use test_utils::extract_annotations;
55

66
use crate::{Analysis, AnalysisHost, FileId, FilePosition, FileRange};
77

@@ -27,10 +27,7 @@ pub(crate) fn position(ra_fixture: &str) -> (Analysis, FilePosition) {
2727
let change_fixture = ChangeFixture::parse(ra_fixture);
2828
host.db.apply_change(change_fixture.change);
2929
let (file_id, range_or_offset) = change_fixture.file_position.expect("expected a marker ($0)");
30-
let offset = match range_or_offset {
31-
RangeOrOffset::Range(_) => panic!(),
32-
RangeOrOffset::Offset(it) => it,
33-
};
30+
let offset = range_or_offset.expect_offset();
3431
(host.analysis(), FilePosition { file_id, offset })
3532
}
3633

@@ -40,10 +37,7 @@ pub(crate) fn range(ra_fixture: &str) -> (Analysis, FileRange) {
4037
let change_fixture = ChangeFixture::parse(ra_fixture);
4138
host.db.apply_change(change_fixture.change);
4239
let (file_id, range_or_offset) = change_fixture.file_position.expect("expected a marker ($0)");
43-
let range = match range_or_offset {
44-
RangeOrOffset::Range(it) => it,
45-
RangeOrOffset::Offset(_) => panic!(),
46-
};
40+
let range = range_or_offset.expect_range();
4741
(host.analysis(), FileRange { file_id, range })
4842
}
4943

@@ -53,10 +47,7 @@ pub(crate) fn annotations(ra_fixture: &str) -> (Analysis, FilePosition, Vec<(Fil
5347
let change_fixture = ChangeFixture::parse(ra_fixture);
5448
host.db.apply_change(change_fixture.change);
5549
let (file_id, range_or_offset) = change_fixture.file_position.expect("expected a marker ($0)");
56-
let offset = match range_or_offset {
57-
RangeOrOffset::Range(_) => panic!(),
58-
RangeOrOffset::Offset(it) => it,
59-
};
50+
let offset = range_or_offset.expect_offset();
6051

6152
let annotations = change_fixture
6253
.files

0 commit comments

Comments
 (0)