8 个版本

0.5.0 2024年4月2日
0.4.0 2024年2月20日
0.3.12 2024年2月20日
0.3.9 2023年8月15日
0.3.6 2023年3月28日

#977命令行工具

Download history 3/week @ 2024-05-19 5/week @ 2024-06-30 39/week @ 2024-07-07 81/week @ 2024-07-28

每月 120 次下载

MIT 许可证

74KB
1.5K SLoC

Rusmux - tmux 自动化

主要用于替换 tmuxinator,同时使用其 yaml 文件。

tmuxinator是用 Ruby 编写的,各种包/gem 升级偶尔会使其损坏,使我不得不寻找修复方案。

此外,在缺少 Ruby 安装的各个服务器上安装它是一项繁琐的任务。

因此,rusmux 诞生了。我将其作为一个机会来

  • 处理 tmuxinator 的现有 .yml 项目文件。
  • 提供我可以随意复制的单个二进制文件。
  • 进一步加深我对 Rust 及其工具的了解。

示例

cat ~/.config/rusmux/demo.yml
project_name: demo  # can also use name
project_root: ~/src/demo
on_project_start:
  - sudo systemctl start postgresql
  - sudo systemctl start mysqld
# on_project_stop: 
pre_window:
  - workon demo
  - cd demo
windows:
  - editor: vim
  - shells:
      layout: main-vertical
      panes:
        - #
        - grunt serve
        - remote-log: # name is meaningless, for multi commands
          - ssh [email protected]
          - cd /var/logs
          - tail -f project.log 
  - mail: python -m smtpd -n -c DebuggingServer localhost:1025

安装

  • Arch Linux 用户可以从 AUR 安装 rusmux,例如(使用 paru

      paru -S rusmux
    
  • 发布页面 获取编译后的二进制文件并将其放置在您的 $PATH 中。

  • 使用 cargo

      cargo install rusmux
    

命令

  • 运行项目

      rusmux [project]
    

      rusmux run [project]
    
  • 列出所有现有项目

      rusmux list
    
  • 输出项目的 shell 命令

      rusmux debug [project]
    
  • 编辑现有项目(应设置 $EDITOR

      rusmux edit [project]
    
  • 停止项目的会话

      rusmux stop [project]
    
  • 删除现有项目(确认后)

      rusmux delete [project]
    
  • 创建新项目,并在编辑器中打开它(应设置 $EDITOR

      rusmux new [project]
    

    这将从默认模板创建项目。要仅使用项目名称创建一个

      rusmux new [project] --blank
    
  • 复制现有项目到新项目并编辑它(应设置 $EDITOR

      rusmux copy [existing] [new]
    
  • 检查您的环境以查找潜在问题

      rusmux doctor
    

    检查tmux是否在$PATH$SHELL以及$EDITOR中设置。

注意 在上述命令中,projectexistingnew可以是

  • 一个简单的名称,例如my_projectawesome_server,这些名称将在配置目录中以yaml扩展名创建。
  • 指向文件的路径(由扩展名和/或路径分隔符确定),例如~/projects/my_project/session.yaml

依赖关系

~8–21MB
~256K SLoC