Code cleanup.
This commit is contained in:
parent
900cec4df4
commit
ac5a961d8d
1 changed files with 13 additions and 22 deletions
35
src/main.rs
35
src/main.rs
|
@ -74,14 +74,10 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||||
result.clear();
|
result.clear();
|
||||||
|
|
||||||
/* First iteration: get the baseline for the results */
|
/* First iteration: get the baseline for the results */
|
||||||
let mut rad = query.char_indices().nth(1).unwrap().1;
|
let mut rad = query.chars().nth(1).unwrap();
|
||||||
if rad == '*' || rad == '*' {
|
if rad == '*' || rad == '*' {
|
||||||
let a = search_by_strokes(&mut query, &radk_list, 1);
|
/* if search_by_radical returned an error then something is very wrong */
|
||||||
if a.is_err() {
|
rad = search_by_strokes(&mut query, &radk_list, 1).expect("Couldn't parse input");
|
||||||
/* if search_by_radical returned an error then something is very wrong */
|
|
||||||
panic!("Couldn't parse input: {}", a.err().unwrap());
|
|
||||||
}
|
|
||||||
rad = a.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for k in radk_list.iter() {
|
for k in radk_list.iter() {
|
||||||
|
@ -96,12 +92,8 @@ fn main() -> Result<(), Box<dyn Error>> {
|
||||||
/* Iterate until you've exhausted user input: refine the baseline to get final output */
|
/* Iterate until you've exhausted user input: refine the baseline to get final output */
|
||||||
for (i, mut rad) in query.clone().chars().skip(2).enumerate() {
|
for (i, mut rad) in query.clone().chars().skip(2).enumerate() {
|
||||||
if rad == '*' || rad == '*' {
|
if rad == '*' || rad == '*' {
|
||||||
let a = search_by_strokes(&mut query, &radk_list, i+2);
|
/* if search_by_radical returned an error then something is very wrong */
|
||||||
if a.is_err() {
|
rad = search_by_strokes(&mut query, &radk_list, i+2).expect("Couldn't parse input");
|
||||||
/* if search_by_radical returned an error then something is very wrong */
|
|
||||||
panic!("Couldn't parse input: {}", a.err().unwrap());
|
|
||||||
}
|
|
||||||
rad = a.unwrap();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for k in radk_list.iter() {
|
for k in radk_list.iter() {
|
||||||
|
@ -245,9 +237,7 @@ fn format_sense(value: &Value, index: usize, prev_parts_of_speech: &mut String)
|
||||||
let parts_of_speech = if let Some(parts_of_speech) = parts_of_speech {
|
let parts_of_speech = if let Some(parts_of_speech) = parts_of_speech {
|
||||||
let parts = value_to_arr(parts_of_speech)
|
let parts = value_to_arr(parts_of_speech)
|
||||||
.iter()
|
.iter()
|
||||||
.map(|i| {
|
.map(value_to_str)
|
||||||
value_to_str(i)
|
|
||||||
})
|
|
||||||
.collect::<Vec<&str>>()
|
.collect::<Vec<&str>>()
|
||||||
.join(", ");
|
.join(", ");
|
||||||
|
|
||||||
|
@ -292,7 +282,7 @@ fn format_result_tags(value: &Value) -> String {
|
||||||
|
|
||||||
let is_common_val = value.get("is_common");
|
let is_common_val = value.get("is_common");
|
||||||
if is_common_val.is_some() && value_to_bool(is_common_val.unwrap()) {
|
if is_common_val.is_some() && value_to_bool(is_common_val.unwrap()) {
|
||||||
builder.push_str(&"(common) ".bright_green().to_string());
|
builder.push_str(&"(common) ".bright_green());
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(jlpt) = value.get("jlpt") {
|
if let Some(jlpt) = value.get("jlpt") {
|
||||||
|
@ -335,7 +325,7 @@ fn format_sense_tags(value: &Value) -> String {
|
||||||
fn format_sense_tag(tag: &str) -> String {
|
fn format_sense_tag(tag: &str) -> String {
|
||||||
match tag {
|
match tag {
|
||||||
"Usually written using kana alone" => "UK".to_string(),
|
"Usually written using kana alone" => "UK".to_string(),
|
||||||
s => format!("{}", s),
|
s => s.to_string(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,9 +447,10 @@ fn search_by_strokes(query: &mut String, radk_list: &[radk::Membership], n: usiz
|
||||||
} else {
|
} else {
|
||||||
rad = radicals.get(strk-1).unwrap();
|
rad = radicals.get(strk-1).unwrap();
|
||||||
/* UTF-8 is not fun */
|
/* UTF-8 is not fun */
|
||||||
query.replace_range(query.char_indices().nth(n).unwrap().0..
|
let char_and_index = query.char_indices().nth(n).unwrap();
|
||||||
query.char_indices().nth(n).unwrap().0 +
|
query.replace_range(char_and_index.0..
|
||||||
query.char_indices().nth(n).unwrap().1.len_utf8(),
|
char_and_index.0 +
|
||||||
|
char_and_index.1.len_utf8(),
|
||||||
rad.to_string().as_str());
|
rad.to_string().as_str());
|
||||||
println!("{}", query.as_str().bright_black());
|
println!("{}", query.as_str().bright_black());
|
||||||
return Ok(*rad);
|
return Ok(*rad);
|
||||||
|
@ -570,7 +561,7 @@ fn get_radkfile_path() -> Option<PathBuf> {
|
||||||
|
|
||||||
match env::var_os("USERPROFILE").filter(|s| !s.is_empty()).map(PathBuf::from) {
|
match env::var_os("USERPROFILE").filter(|s| !s.is_empty()).map(PathBuf::from) {
|
||||||
Some(path) => {
|
Some(path) => {
|
||||||
return Some(path.join("Appdata\\Local\\radkfile"));
|
Some(path.join("Appdata\\Local\\radkfile"))
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
unsafe {
|
unsafe {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue