#语法高亮 #Shell #REPL #Fish #颜色 # #命令行工具

synterm

一个 Rust 库,用于创建像 typing 语法高亮一样的美观的 REPL 和 Shell

13 个版本

0.3.1 2020 年 4 月 21 日
0.3.0 2020 年 4 月 21 日
0.2.11 2020 年 3 月 27 日
0.1.121 2020 年 3 月 27 日

#304文本编辑器

37 每月下载量

MIT 许可证

15KB
261

SynTerm

Gitpod Ready-to-Code

一个 Rust 库,用于创建像 typing 语法高亮一样的美观的 REPL 和 Shell

快速开始

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();
}

入门指南

将以下内容添加到 Cargo.toml 的依赖部分

synterm = "0.2.11"
logos = "0.9.7"

示例

贡献

请参阅 TODO.md 了解贡献方式

在 Gitpod 中打开,一切准备就绪!

Open in Gitpod

依赖项

~3.5MB
~39K SLoC