diff options
author | Ondřej Čertík <ondrej@certik.us> | 2020-01-11 16:10:58 -0700 |
---|---|---|
committer | Ondřej Čertík <ondrej@certik.us> | 2020-01-11 23:12:14 -0700 |
commit | d326d197060c7268393efe2baf8c2e5358c0f385 (patch) | |
tree | 235a66edb78eefbe845446d4bb8120db3d283b4a /src | |
parent | e4881118047be41a27e15ce98a18141eac028809 (diff) | |
download | fpm-d326d197060c7268393efe2baf8c2e5358c0f385.tar.gz fpm-d326d197060c7268393efe2baf8c2e5358c0f385.zip |
List f90 in the current directory
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 4277e8c..85ba64a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,14 +2,43 @@ use structopt::StructOpt; #[derive(Debug, StructOpt)] struct Cli { - /// The pattern to look for - pattern: String, - /// The path to the file to read - #[structopt(parse(from_os_str))] - path: std::path::PathBuf, + /// fpm command + command: String, +} + +fn collect_source_files() -> Vec<std::path::PathBuf> { + let mut files: Vec<std::path::PathBuf> = Vec::new(); + for entry in std::fs::read_dir(".").unwrap() { + let entry = entry.unwrap(); + let path = entry.path(); + if !path.is_dir() { + let ext = match path.extension() { + None => "None", + Some(ext) => ext.to_str().unwrap(), + }; + if ext == "f90" { + files.push(path); + } + } + } + files +} + +fn build() { + let files = collect_source_files(); + for file in &files { + println!("File: {}", file.to_str().unwrap()); + } + println!("Files: {:?}", files); } fn main() { let args = Cli::from_args(); println!("{:?}", args); + if args.command == "build" { + println!("Command: build"); + build(); + } else { + panic!("Unknown command"); + } } |