aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorRose Hogenson <rosehogenson@posteo.net>2023-12-26 17:44:43 -0800
committerRose Hogenson <rosehogenson@posteo.net>2023-12-26 17:44:43 -0800
commitd321e38ffa410c7e2136e623245c04eebb842c1f (patch)
treeae237423676ba023ac18ba629010ed08e432e389 /src/main.rs
parent988681b2be826bc59ea3b35c5e5a5ace20b87ef0 (diff)
downloadeditor-d321e38ffa410c7e2136e623245c04eebb842c1f.tar.zst
Add the basic rope.
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);
}