Skip to content

Commit eef4e19

Browse files
committed
Move source_at to Offset
1 parent e0b3e8a commit eef4e19

3 files changed

Lines changed: 13 additions & 9 deletions

File tree

rust/rubydex/src/offset.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@ impl Offset {
7474
self.end
7575
}
7676

77+
/// Returns the source text slice corresponding to this offset.
78+
#[must_use]
79+
pub fn source_at<'a>(&self, source: &'a str) -> &'a str {
80+
&source[self.start as usize..self.end as usize]
81+
}
82+
7783
/// Converts an offset to a display range like `1:1-1:5`
7884
#[must_use]
7985
pub fn to_display_range(&self, document: &Document) -> String {

rust/rubydex/src/test_utils/graph_test.rs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::diagnostic::Rule;
66
use crate::indexing::{self, LanguageId};
77
use crate::model::graph::{Graph, NameDependent};
88
use crate::model::ids::{DefinitionId, NameId, StringId};
9-
use crate::offset::Offset;
109
use crate::resolution::Resolver;
1110

1211
#[derive(Default)]
@@ -66,14 +65,8 @@ impl GraphTest {
6665
#[must_use]
6766
pub fn source_at(&self, definition_id: &DefinitionId) -> &str {
6867
let def = self.graph.definitions().get(definition_id).unwrap();
69-
self.source_at_offset(self.graph.documents().get(def.uri_id()).unwrap().uri(), def.offset())
70-
}
71-
72-
/// Returns the source text at the given URI and offset.
73-
#[must_use]
74-
pub fn source_at_offset(&self, uri: &str, offset: &Offset) -> &str {
75-
let source = self.source(uri);
76-
&source[offset.start() as usize..offset.end() as usize]
68+
let uri = self.graph.documents().get(def.uri_id()).unwrap().uri();
69+
def.offset().source_at(self.source(uri))
7770
}
7871

7972
pub fn delete_uri(&mut self, uri: &str) {

rust/skills.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"skills": [
3+
"talent-shopify"
4+
]
5+
}

0 commit comments

Comments
 (0)