It's a simple terminal multiplexer written in rust that is operating using a config yaml file.
sila - reads [shila] in pali language stands for morality;
In order to install sila you need cargo
and rust
in your sistem.
cargo install sila
Create a yaml file with your projects that you want to multiplex the commands.
# config.yaml
- name: PJ1
path: /path/to/your/project1
- name: PJ2
path: /path/to/your/project2
- name: PJ3
path: /path/to/your/project3
> sila config.yaml
> git describe
[PJ1]> git describe
...
[PJ2]> git describe
...
[PJ3]> git describe
...
> cat Cargo.toml | grep version
[PJ1]> cat Cargo.toml | grep version
version = "0.1.0"
[PJ2]> cat Cargo.toml | grep version
version = "0.2.0"
serde = { version = "1.0", features = ["derive"] }
[PJ3]> cat Cargo.toml | grep version
version = "0.1.0"
- pin/unpin terminals and run a simple command only in a couple of terminals
> pin PJ1 PJ3
> ... run {command}
[PJ1]> {command}
[PJ3]> {command}
> unpin PJ1
>... run {command}
[PJ3]> {command}
...
> help
[email protected]
A command line multiplexer.
created by Alexandru Olaru <[email protected]>
COMMANDS:
pin <term1> <term2> Pin one or multiple terminals separated by space. Following commands will run on top of pinned ones only.
unpin [term1] Unpin all terminals if no argument is provided or the specific ones.
ban <term1> <term2> Ban one or multiple terminals separated by space. The following commands will not run in banned terminals
unban [term2] Unban the specificed terminals or all if no arguments provided.
list List the active terminal names.
help Displays help information.
exit Close the application.