basic_string_stream/
main.rs1use std::env;
2use std::process;
3use std::io::{self, BufRead};
4use serde_json::Value;
5use aleph_ollama::translate_code_from_string_stream;
6
7fn main() {
8 let args: Vec<String> = env::args().collect();
9 if args.len() != 3 {
10 eprintln!("Usage: basic_string_stream <code> <target_language>");
11 process::exit(1);
12 }
13
14 let code = &args[1];
15 let target_language = &args[2];
16
17 println!("Translating code '{}' to '{}':", code, target_language);
18
19 match translate_code_from_string_stream(code, target_language) {
20 Ok(response) => {
21 let reader = io::BufReader::new(response);
22 for line in reader.lines() {
23 if let Ok(raw_line) = line {
24 if let Ok(json) = serde_json::from_str::<Value>(&raw_line) {
25 if let Some(fragment) = json.get("response").and_then(|v| v.as_str()) {
26 print!("{}", fragment); }
28 }
29 }
30 }
31 println!(); }
33 Err(error) => eprintln!("Error: {}", error),
34 }
35}
36