1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
use std::io::Error; use utils::string::str; pub mod bash; pub mod c; pub mod cpp; pub mod csharp; pub mod css; pub mod golang; pub mod html; pub mod java; pub mod javascript; pub mod lua; pub mod php; pub mod python; pub mod ruby; pub mod rust; pub mod scala; pub enum FileType { Bash, C, CSS, CSharp, Cpp, Go, HTML, Java, JavaScript, Lua, PHP, Python, Ruby, Rust, Scala, } pub trait Language { fn find(&self) -> Result<FindResult, Error> where Self: Sized; } #[derive(Clone, Debug, Eq, Ord, PartialEq, PartialOrd)] pub struct FindResult { pub file_name: String, pub lines: Vec<u32>, pub print: bool, } impl Default for FindResult { fn default() -> FindResult { FindResult { file_name: str("DEFAULT_FILE_NAME"), lines: [].to_vec(), print: true, } } }