use crate::index::session::{ConfigSource, IndexSession};
pub fn execute_serve(config_path: Option<&str>) -> anyhow::Result<()> {
let session = IndexSession::open(ConfigSource::Full(config_path))?;
let stats = session.index(false)?;
drop(session);
if stats.files_indexed > 0 {
eprintln!(
" Indexed {} files ({} symbols, {} skipped)",
stats.files_indexed, stats.symbols_indexed, stats.files_skipped
);
} else {
eprintln!(
" Index up to date ({} files scanned, {} skipped)",
stats.files_scanned, stats.files_skipped
);
}
crate::mcp::server::run_server()?;
Ok(())
}