aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index e7a11a9..5302d59 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,3 +1,22 @@
+mod rope;
+
+use rope::Rope;
+use std::ffi::OsString;
+use std::path::Path;
+
fn main() {
- println!("Hello, world!");
+ let args: Vec<OsString> = std::env::args_os().collect();
+ if args.len() != 2 {
+ println!("Usage: edit <filename>");
+ std::process::exit(1);
+ }
+ let file = Path::new(&args[1]);
+ let r = match Rope::open(file) {
+ Ok(r) => r,
+ Err(err) => {
+ println!("FAIL: open file {}: {}", file.to_string_lossy(), err);
+ std::process::exit(1);
+ }
+ };
+ println!("{}", r);
}