13 releases
0.3.1 | Apr 21, 2020 |
---|---|
0.3.0 | Apr 21, 2020 |
0.2.11 | Mar 27, 2020 |
0.1.121 | Mar 27, 2020 |
51 downloads per month
15KB
261 lines
SynTerm
A Rust library for making beautiful REPLs and Shells with fish like as you type syntax highlighting
Quick Start
use std::process::exit;
use synterm::{gen_lexer, gen_parse, syntax_highlight_gen, Color, CommandLineTool};
struct MyTool;
impl CommandLineTool for MyTool {
fn evaluator_function(line: &String) -> String {
match line.as_str() {
"exit" => {
exit(0);
}
_ => format!("Line: {}", line),
}
}
fn syntax_highlight(string: &str) {
syntax_highlight_gen!(
TheLexer,
parser,
(Foo, Color::Red, "foo"),
(Bar, Color::Green, "bar"),
(Baz, Color::Blue, "baz")
);
parser(TheLexer::lexer(string));
}
}
fn main() {
MyTool.start();
}
Getting Started
Add the following to your Cargo.toml's dependency section
synterm = "0.2.11"
logos = "0.9.7"
Examples
Contributing
See TODO.md for ways to contribute
Open it in Gitpod everything is all ready for you!
Dependencies
~3.5MB
~39K SLoC