made it faster?

This commit is contained in:
Aaron Power 2015-10-02 10:35:13 +01:00
parent 088ce3c4df
commit 1481e27bd2
2 changed files with 12 additions and 7 deletions

View file

@ -9,14 +9,14 @@ use std::fs::metadata;
use self::glob::glob;
pub fn contains_comments(file: &str, comment: &str) -> bool {
let vector = file.splitn(3, "\"").filter_map( |element| {
let vector:Vec<&str> = file.splitn(3, "\"").filter_map( |element| {
if !(element == "") {
Some(element)
} else {
None
}
}).collect::<Vec<&str>>();
}).collect();
let length = vector.len();
@ -50,6 +50,7 @@ pub fn contains_comments(file: &str, comment: &str) -> bool {
pub fn get_all_files(path: String, ignored_directories: &Vec<String>) -> Vec<String> {
let mut files: Vec<String> = Vec::new();
let mut dirs: Vec<String> = Vec::new();
if let Ok(result) = metadata(&path) {
if result.is_dir() {
@ -70,9 +71,7 @@ pub fn get_all_files(path: String, ignored_directories: &Vec<String>) -> Vec<Str
continue 'file;
}
}
for file in get_all_files(file_string, &ignored_directories) {
files.push(file);
}
dirs.push(file_string);
} else if path_metadata.is_file() {
files.push(file_string);
}
@ -90,6 +89,11 @@ pub fn get_all_files(path: String, ignored_directories: &Vec<String>) -> Vec<Str
files.push(file_path);
}
}
for dir in dirs {
for file in get_all_files(dir, ignored_directories) {
files.push(file);
}
}
files
}

View file

@ -38,8 +38,9 @@ fn main() {
languages.insert("css" , Language::new_c("CSS"));
languages.insert("d" , Language::new_c("D"));
languages.insert("dart" , Language::new_c("Dart"));
languages.insert("f90" , Language::new_single("FORTRAN Modern", "!"));
languages.insert("el" , Language::new("LISP", ";", "#|", "|#"));
languages.insert("f" , Language::new_single("FORTRAN Legacy", "c,C,!,*"));
languages.insert("f90" , Language::new_single("FORTRAN Modern", "!"));
languages.insert("go" , Language::new_c("Go"));
languages.insert("h" , Language::new_c("C Header"));
languages.insert("hs" , Language::new_single("Haskell", "--"));
@ -50,7 +51,7 @@ fn main() {
languages.insert("jl" , Language::new("Julia", "#", "#=", "=#"));
languages.insert("json" , Language::new_blank("JSON"));
languages.insert("jsx" , Language::new_c("JSX"));
languages.insert("el" , Language::new("LISP", ";", "#|", "|#"));
languages.insert("less" , Language::new_c("LESS"));
languages.insert("m" , Language::new_c("Objective-C"));
languages.insert("md" , Language::new_blank("Markdown"));
languages.insert("mm" , Language::new_c("Objective-C++"));