sisterm

Actions Status Crate license

sisterm(sist) is a simple terminal with syntax highlighting which supports:
* Serial port connections * TCP/IP (telnet) connections * Log replaying

Screenshot

Command-line options

``` 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-cr Send '\r' instead of '\n' -h, --help Prints help information -V, --version Prints version information

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

SUBCOMMANDS: telnet Login to remote system host with telnet generate Generate configuration file help Prints this message or the help of the given subcommand(s) ```

Installation

The binary name for sisterm is sist.
sisterm is written in Rust, so you'll need to grab a Rust installation in order to compile it. sisterm compiles with Rust 1.43.0 (stable) or newer. Although sisterm may work with older versions.

.sh $ cargo install sisterm

After that, execute the following to generate a configuration file.

.sh $ sist generate

Building

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

Customizing

sisterm configuration file is written in TOML format.
Its syntax is similar to Perl-style regular expressions, but lacks a few features like look around and backreferences.
For more specific details on the API for regular expressions, please see the documentation for the Regex type.

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

Color syntax

```.toml

Color example

RED

001

FF0000

#FF0000

(255, 0, 0)

#

Predefined colors

BLACK

RED

GREEN

YELLOW

BLUE

MAGENTA

CYAN

WHITE

```

Example

```.toml

string

[[colorings]] color = "184" regex = ["(\".\")|('.')"]

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"] ```

Environment

Dependencies

For GNU Linux pkg-config and libudev headers are required
* Ubuntu: sudo apt install pkg-config libudev-dev * Fedora: sudo dnf install pkgconf-pkg-config systemd-devel * Other: Some Linux distros are providing pkgconf.org's pkgconf package instead of freedesktop.org's pkg-config.

License

MIT

Note