firedbg_protocol/
source.rs1use serde::{Deserialize, Serialize};
4use std::time::SystemTime;
5
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct SourceFile {
9 pub id: u32,
11 pub path: String,
12 pub crate_name: String,
13 pub modified: SystemTime,
14 }
17
18#[derive(Debug, Default, Clone, PartialEq, Eq, Serialize, Deserialize)]
19pub struct LineColumn {
21 pub line: u32,
22 pub column: Option<u32>,
23}
24
25impl Default for SourceFile {
26 fn default() -> Self {
27 Self {
28 id: Default::default(),
29 path: Default::default(),
30 crate_name: Default::default(),
31 modified: SystemTime::UNIX_EPOCH,
32 }
33 }
34}
35
36impl SourceFile {
37 pub fn redacted(&mut self) {
38 let path = std::path::Path::new(&self.path);
39 let file_name = path.file_name().expect("file").to_str().expect("str");
40 self.path = format!("<redacted>/{file_name}");
41
42 self.modified = SystemTime::UNIX_EPOCH;
43 }
44}