#终端 #语法高亮 #串行 #cli 颜色 #颜色 #cli

bin+lib sisterm

一个简单的具有语法高亮的终端

10 个稳定版本

3.0.2 2023年4月26日
3.0.1 2023年2月9日
3.0.0 2022年9月3日
2.4.0 2020年10月31日
2.2.0 2020年5月29日

命令行工具 中排名第 726

每月下载量 35

MIT 许可证

110KB
2.5K SLoC

sisterm

Actions Status Crate license

sisterm(sist) 是一个简单的具有语法高亮的终端,支持

  • 串行端口连接
  • TCP/IP(telnet,ssh)连接
  • 日志回放

Screenshot

命令行选项

USAGE:
    sist [FLAGS] [OPTIONS] [SUBCOMMAND]

FLAGS:
    -n, --no-color        Without color
    -t, --time-stamp      Add timestamp to log
    -a, --append          Append to log  (default overwrite)
    -i, --instead-crlf    Send '\r\n' instead of '\r'
    -x, --hexdump         Prints in hex
    -h, --help            Prints help information
    -V, --version         Prints version information

OPTIONS:
    -l, --line <PORT>      The device path to a serial port  (auto detection)
    -s, --speed <BAUD>     The baud rate to connect at [default: 9600]
    -r, --read <FILE>      Output text from file
    -w, --write <FILE>     Saved log
    -c, --config <FILE>    Specify configuration file
                           [default $HOME/.config/sisterm/config.toml]

SUBCOMMANDS:
    ssh       Login to remote system host with ssh
    telnet    Login to remote system host with telnet
    tcp       TCP connection without telnet
    help      Prints this message or the help of the given subcommand(s)

转义序列

按键 动作
~. 断开连接并退出
~^D 断开连接并退出
~^Z 挂起(POSIX)
~n 切换无颜色
~t 切换时间戳
~i 切换 instead-crlf
~h 切换十六进制转储模式
~d 切换调试模式
~~ 发送 ~
~! shcmd 中运行命令
~$ 运行命令,发送标准输出
~? 打印此帮助信息

安装

sisterm 的二进制名称为 sist
sisterm是用Rust编写的,因此您需要获取Rust 安装程序以编译它。sisterm 可以使用Rust 1.43.0(稳定版)或更高版本进行编译。尽管sisterm可能兼容旧版本。

$ cargo install sisterm

构建

$ git clone https://github.com/kumavale/sisterm
$ cd sisterm
$ cargo build --release

自定义

  • Windows
    %LOCALAPPDATA%\sisterm\config.toml
  • Linux
    $HOME/.config/sisterm/config.toml

sisterm 配置文件是用 TOML 格式编写的。
它的语法类似于Perl风格的正则表达式,但缺少一些功能,如前瞻和后引用。
有关正则表达式API的更多详细信息,请参阅Regex 类型的文档。

[[colorings]]
color = "String"             # required
regex = ["String", ...]      # required
underlined = Boolean         # option
ignore_whitespace = Boolean  # option

颜色语法

# Color example
#   RED
#   001
#   FF0000
#   #FF0000
#   (255, 0, 0)
#
# Predefined colors
#   BLACK
#   RED
#   GREEN
#   YELLOW
#   BLUE
#   MAGENTA
#   CYAN
#   WHITE

示例

# string
[[colorings]]
color = "184"
regex = ["(\".*\")|('.*')|(\".*)|('.*)"]
ignore_whitespace = true

# positive
[[colorings]]
color = "GREEN"
regex = ["(?i)yes|up|enable|enabled|active(?-i)"]

# negative
[[colorings]]
underlined = true
color = "(255, 0, 0)"
regex = ["unassigned|disable|disabled|deny|shutdown|down|administratively|none"]

环境

  • Linux(WSL1 上不可用 Serialport)
  • Windows

依赖关系

对于GNU Linux,需要 opensslpkg-configlibudev 头文件

  • Ubuntu:sudo apt install pkg-config libudev-dev libssl-dev
  • Fedora:sudo dnf install pkgconf-pkg-config systemd-devel openssl-devel
  • 其他:某些Linux发行版提供pkgconf.org的pkgconf包,而不是freedesktop.org的pkg-config

许可证

MIT

注意

  • 如果sisterm无法打开您的COM端口,可能是因为运行sisterm的用户没有访问它的权限。为了给自己授权,请运行: sudo chmod 666 /path/to/serialport,以超级用户(root)的身份运行您的程序,或者使您的程序设置为user-id,以便它以设备文件的所有者身份运行。
  • 如果字符无法发送,请尝试使用--instead-crlf选项

依赖关系

~14–30MB
~418K SLoC