File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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 {
Original file line number Diff line number Diff line change @@ -6,7 +6,6 @@ use crate::diagnostic::Rule;
66use crate :: indexing:: { self , LanguageId } ;
77use crate :: model:: graph:: { Graph , NameDependent } ;
88use crate :: model:: ids:: { DefinitionId , NameId , StringId } ;
9- use crate :: offset:: Offset ;
109use 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 ) {
Original file line number Diff line number Diff line change 1+ {
2+ "skills" : [
3+ " talent-shopify"
4+ ]
5+ }
You can’t perform that action at this time.
0 commit comments