swamp_script_source_map_lookup/
lib.rs1use swamp_script_core_extra::prelude::SourceMapLookup;
7use swamp_script_node::{Node, Span};
8use swamp_script_source_map::SourceMap;
9
10#[derive(Debug)]
11pub struct SourceMapWrapper<'a> {
12 pub source_map: &'a SourceMap,
13}
14
15impl SourceMapLookup for SourceMapWrapper<'_> {
16 fn get_text(&self, resolved_node: &Node) -> &str {
17 self.source_map.get_span_source(
18 resolved_node.span.file_id,
19 resolved_node.span.offset as usize,
20 resolved_node.span.length as usize,
21 )
22 }
23
24 fn get_text_span(&self, span: &Span) -> &str {
25 self.source_map
26 .get_span_source(span.file_id, span.offset as usize, span.length as usize)
27 }
28}