From 92078ef7d8157bc324e6e5e0664d88106e93d3b9 Mon Sep 17 00:00:00 2001 From: greg Date: Fri, 21 Sep 2018 19:25:58 -0700 Subject: [PATCH] Add :doc interpreter directive --- schala-repl/src/language.rs | 3 +++ schala-repl/src/lib.rs | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/schala-repl/src/language.rs b/schala-repl/src/language.rs index ad9abb4..79bb860 100644 --- a/schala-repl/src/language.rs +++ b/schala-repl/src/language.rs @@ -156,6 +156,9 @@ pub trait ProgrammingLanguageInterface { fn custom_interpreter_directives_help(&self) -> String { format!(">> No custom interpreter directives specified <<") } + fn get_doc(&mut self, _commands: &Vec<&str>) -> Option { + None + } } /* a pass_chain function signature looks like: diff --git a/schala-repl/src/lib.rs b/schala-repl/src/lib.rs index 763e7c3..5edd529 100644 --- a/schala-repl/src/lib.rs +++ b/schala-repl/src/lib.rs @@ -361,6 +361,7 @@ impl Repl { CommandTree::term("prev", None), CommandTree::NonTerminal(format!("go"), vec![], None)//TODO ], Some(format!("switch between languages, or go directly to a langauge by name"))), + CommandTree::term("doc", Some("Get language-specific help for an item")), ]) } @@ -437,6 +438,9 @@ impl Repl { Some(buf) }, "debug" => self.handle_debug(commands), + "doc" => self.languages[self.current_language_index] + .get_doc(&commands) + .or(Some(format!("No docs implemented"))), e => self.languages[self.current_language_index] .handle_custom_interpreter_directives(&commands) .or(Some(format!("Unknown command: {}", e)))