Skip to content

Commit

Permalink
better dumping
Browse files Browse the repository at this point in the history
  • Loading branch information
est31 committed Sep 3, 2024
1 parent 854fc6b commit 9aeacf7
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions src/scip/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use protobuf::Message;
use scip::{symbol::parse_symbol, types::{Index, SymbolRole}};
use scip::{symbol::parse_symbol, types::{Index, Symbol, SymbolRole}};

use crate::{StrErr, Options};
use std::{path::{Path, PathBuf}, sync::Arc};
Expand Down Expand Up @@ -86,28 +86,33 @@ impl Roles {
}
}

fn shorten_symbol(symbol: &Symbol) -> String {
let package_name = &symbol.package.name;
let descriptors = symbol.descriptors.iter()
.map(|d| format!("{}_{:?}", d.name, d.suffix))
.collect::<Vec<_>>();
let descriptor_str = descriptors.join(":");
format!("{package_name}::{descriptor_str}")
}

fn dump_index(index: &Index) -> Result<(), StrErr> {
println!("index absolute path: {}", index.metadata.project_root);
for doc in &index.documents {
let path_arc: Arc<str> = Arc::from(doc.relative_path.clone().into_boxed_str());
println!("path: {}", doc.relative_path);
for sym in &doc.symbols {
let symbol = parse_symbol(&sym.symbol).unwrap();
let symbol_short = symbol.descriptors.iter()
.map(|s| s.name.clone())
.collect::<String>();
println!(" '{}' kind '{:?}' {}", sym.display_name, sym.kind, symbol_short);
let symbol_short = shorten_symbol(&symbol);
println!(" sym '{}' kind '{:?}' {}", sym.display_name, sym.kind, symbol_short);
for rel in &sym.relationships {
println!(" {:?}", rel);
}
}
for occ in &doc.occurrences {
let sp = Span::from_scip_range(&path_arc, &occ.range)?;
let symbol = parse_symbol(&occ.symbol).unwrap();
let symbol_short = symbol.descriptors.iter()
.map(|s| s.name.clone())
.collect::<String>();
println!(" occ '{:?}' span '{}' roles {}", symbol_short, sp.start_display(), occ.symbol_roles);
let symbol_short = shorten_symbol(&symbol);
println!(" occ '{}' span '{}' roles {}", symbol_short, sp.start_display(), occ.symbol_roles);

}
}
Expand Down

0 comments on commit 9aeacf7

Please sign in to comment.