diff options
Diffstat (limited to 'helix-term/src')
-rw-r--r-- | helix-term/src/editor.rs | 4 | ||||
-rw-r--r-- | helix-term/src/main.rs | 21 |
2 files changed, 14 insertions, 11 deletions
diff --git a/helix-term/src/editor.rs b/helix-term/src/editor.rs index 2cc210f4..b745eff2 100644 --- a/helix-term/src/editor.rs +++ b/helix-term/src/editor.rs @@ -1,4 +1,4 @@ -use crate::Args; +use clap::ArgMatches as Args; use helix_core::{state::coords_at_pos, state::Mode, syntax::HighlightEvent, Range, State}; use helix_view::{commands, keymap, View}; @@ -53,7 +53,7 @@ impl Editor { // TODO; move to state }; - if let Some(file) = args.files.pop() { + if let Some(file) = args.values_of_t::<PathBuf>("files").unwrap().pop() { editor.open(file)?; } diff --git a/helix-term/src/main.rs b/helix-term/src/main.rs index b691eb65..eeb498bc 100644 --- a/helix-term/src/main.rs +++ b/helix-term/src/main.rs @@ -4,22 +4,25 @@ mod editor; use editor::Editor; -use argh::FromArgs; +use clap::{App, Arg}; use std::path::PathBuf; use anyhow::Error; -#[derive(FromArgs)] -/// A post-modern text editor. -pub struct Args { - #[argh(positional)] - files: Vec<PathBuf>, -} - static EX: smol::Executor = smol::Executor::new(); fn main() -> Result<(), Error> { - let args: Args = argh::from_env(); + let args = App::new("helix") + .version("0.1") + .about("A post-modern text editor.") + .arg( + Arg::new("files") + .about("Sets the input file to use") + .required(true) + .multiple(true) + .index(1), + ) + .get_matches(); for _ in 0..num_cpus::get() { std::thread::spawn(move || smol::block_on(EX.run(smol::future::pending::<()>()))); |