#editor #websocket #browser #extension #text-file #edit

app ghosttext-any

适用于任何 $EDITOR 的 GhostText 服务器

3 个不稳定版本

0.2.1 2023年7月13日
0.2.0 2023年3月29日
0.1.0 2021年2月6日

文本编辑器 中排名第 139

MIT 许可证

43KB
872 行(不包括注释)

GhostText-Any

适用于任何 $EDITOR 的 GhostText 服务器。

基于 idanarye 的 ghost-text-file 构建。

GhostText-Any 允许您使用您设置的任何 $EDITOR 来编辑浏览器(Firefox/Chromium-based)中的任何文本框。它是通过将任何编辑请求(通过 WebSocket 发送)保存为文件,并使用您首选的 $EDITOR 打开该文件来实现的。每当文件写入或您的 $EDITOR 关闭时,内容将发送回浏览器。每当浏览器中的文本框更新时,文件将使用新的文本更新。

想用 ed 回复任何网站的评论吗?请随意。

入门指南

要使用它

  1. 安装浏览器扩展
  2. 安装这个: cargo install ghosttext-any (需要 cargo/rust
  3. 在终端中运行 gtany
  4. 在浏览器中点击一个文本框并触发 GhostText 扩展。
  5. 好了!您的 $EDITOR 在同一终端中打开,其中包含文本框的内容。编写、退出,相同的内容将在浏览器中更新。

默认情况下,gtany每次只启动一个实例(基于假设您的$EDITOR使用启动的终端,并且您不希望多个实例争用/dev/tty)。如果您希望启动多个并发实例,请使用-m/--multi标志。

如果您没有设置$EDITOR,或者您想运行其他程序,您可以使用-/--editor标志来指定要运行的命令。

例如,如果您想在每次使用GhostText时启动一个新终端窗口,可以使用如下命令

gtany --multi --editor "x-terminal-emulator -e $EDITOR"

(如果您不使用类Unix操作系统,或者使用了X11但未使用支持-的终端模拟器,您需要找到其他解决方案)。

Systemd套接字激活

如果您使用的是带有systemd的Linux发行版,可以将GhostText-Any作为套接字激活服务运行,其中systemd监视GhostText端口,并且只有当您使用浏览器扩展时才启动GhostText-Any。结合使用--idle-timeout标志,当浏览器扩展关闭时,它将自动启动和关闭。

  1. 启用systemd支持的构建GhostText-Any: cargo install ghosttext-any--features systemd
  2. 将此存储库中的示例systemd文件(gtany.socketgtany.service)复制到~/.config/systemd/user/
  3. 更新gtany.service中的ExecStart字段,以调用您首选的$EDITOR
  4. 加载单元: systemctl --user daemon-reload
  5. 启用套接字: systemctl --user enable gtany.socket
  6. 检查状态: systemctl --user status gtany.{socket,service}

依赖关系

~14-30MB
~418K SLoC