diff --git a/Cargo.lock b/Cargo.lock index c5643d3..ffea2fa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -63,7 +63,7 @@ checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e" [[package]] name = "merlin" -version = "1.0.3" +version = "1.0.4" dependencies = [ "clap", "shellexpand", diff --git a/Cargo.toml b/Cargo.toml index dfbf14b..9cd1964 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "merlin" -version = "1.0.3" +version = "1.0.4" authors = ["geremachek "] edition = "2018" diff --git a/spellbook.mn b/spellbook.mn index 3c5dc00..2df0edc 100644 --- a/spellbook.mn +++ b/spellbook.mn @@ -1,4 +1,4 @@ -ᛗ merlin ;nomen +ᛗ M ;nomen ;scribe Welcome to Merlin! diff --git a/src/commands/mod.rs b/src/commands/mod.rs index 70693d5..34c3424 100644 --- a/src/commands/mod.rs +++ b/src/commands/mod.rs @@ -53,6 +53,7 @@ pub enum Command { Scribe, Adieu, Nomen, + Merlin, Summon, Dub, Carve, @@ -98,6 +99,7 @@ impl FromStr for Command { "scribe" => Ok(Command::Scribe), "adieu" => Ok(Command::Adieu), "nomen" => Ok(Command::Nomen), + "merlin" => Ok(Command::Merlin), "summon" => Ok(Command::Summon), "dub" => Ok(Command::Dub), "carve" => Ok(Command::Carve), @@ -116,7 +118,7 @@ impl Command { Command::Decay | Command::Destroy | Command::Mirror | Command::Atom | Command::Scribe | Command::Adieu | Command::Carve | Command::Burn | Command::Volume | Command::Volumes | Command::Carved => true, Command::Focus | Command::Traverse | Command::Appear | Command::Shave | Command::Shelve | Command::Incant | Command::Inscribe | Command::Trample | Command::Summon | - Command::Dub | Command::Spellbook | Command::Shift | Command::Infix | Command::Spine | Command::Nomen => args >= 1, + Command::Dub | Command::Spellbook | Command::Shift | Command::Infix | Command::Spine | Command::Nomen | Command::Merlin => args >= 1, Command::Infuse | Command::Tether | Command::Fray | Command::Peer => args >= 2, } } @@ -139,7 +141,7 @@ impl Command { Command::Atom | Command::Scribe | Command::Adieu | Command::Carve | Command::Pin | Command::Columns | Command::Burn | Command::Volume | Command::Volumes | Command::Carved => return Ok(0), Command::Focus | Command::Traverse | Command::Appear | Command::Shave | Command::Shelve | Command::Inscribe | Command::Trample | Command::Incant | - Command::Summon | Command::Dub | Command::Spellbook | Command::Shift | Command::Infix | Command::Spine => return Ok(1), + Command::Summon | Command::Dub | Command::Spellbook | Command::Shift | Command::Infix | Command::Spine | Command::Merlin => return Ok(1), Command::Infuse | Command::Peer | Command::Fray => return Ok(2), Command::Genesis => return Ok(choose_mm(1, 0)) } diff --git a/src/main.rs b/src/main.rs index ceee808..a16dde8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,7 @@ mod nomen; fn main() { let merlin_args = App::new("merlin:") .about("An esoteric, programmable text editor") - .version("1.0.3") + .version("1.0.4") .arg(Arg::with_name("no-errors") .short("n") .long("no-errors") diff --git a/src/plane/parse.rs b/src/plane/parse.rs index 6aeab38..ca1dae7 100644 --- a/src/plane/parse.rs +++ b/src/plane/parse.rs @@ -125,6 +125,7 @@ impl Plane { let n = data.pop().unwrap(); self.nomen(data, n); } + Command::Merlin => self.parse_line_atom(&data[0]), Command::Summon => self.summon(data.remove(0))?, Command::Spellbook => self.spellbook(&data[0])?, Command::Volume => return oksome(self.volume().to_string()),