1个不稳定版本
0.0.1 | 2021年4月1日 |
---|
#78 在 #file-content
13KB
131 行
editor-server
editor-server 是一个与指定文件交互的 HTTP 服务器。editor-server 可用于与使用 $EDITOR
或 $VISUAL
进行文件编辑的应用程序集成。
重要的是要理解实际上 editor-server 不是一个编辑器,它实际上模拟了一个具有四个基本功能的文本编辑器
- 读取所有文件内容
- 覆盖所有文件内容
- 将内容保存到文件
- 从文件重新加载内容
目前 editor-server 正在开发中,用于由 Dracon IntelliJ 插件 使用,以将 IntelliJ 编辑器与
pijul record
命令集成,但也可用于任何类型的项目以模拟基本的文件编辑器。
用法
editor-server -p [port] [file]
启动 editor-server
例如,要启动一个监听端口 7070 并读取/写入名为 example.json
的文件的 editor-server
editor-server -p 7070 example.json
从缓冲区读取文件内容
editor-server 在内存中缓存文件内容,要读取缓存的文件内容,请向 /read
端点发送一个 GET
请求。
GET http://localhost:7070/read
它将响应整个存储在内存中的文件内容。
将文件内容写入缓冲区
editor-server 在内存中缓存文件内容,要写入内容到缓存,请向 /write
端点发送一个包含内容的 POST
请求。
POST http://localhost:7070/read
{"name": "editor-server"}
它将内容写入内存缓冲区,并响应写入的字节数。
保存文件内容/刷新数据
如前所述,editor-server 在内存中缓存文件内容,要将内容保存到文件,您必须调用 /save
端点。
GET http://localhost:7070/save
它会重置文件的内容(直接对文件所做的所有更改都将被丢弃)并将缓冲区的内容写入文件,并返回写入的字节数。
重新加载文件内容
要重新加载缓冲区中存储的文件内容(换句话说,将文件内容加载到缓冲区),请调用 /reload
端点。
GET http://localhost:7070/reload
它将读取文件内容到缓冲区,并返回读取的字节数。
关闭编辑器
要关闭编辑器,请调用 /close
端点,它将所有存储在缓冲区的内容刷新到文件,如果这不是期望的行为,只需在关闭编辑器之前调用 /reload
来丢弃缓冲区更改。
GET http://localhost:7070/close
不使用 -p 参数指定端口
editor-server 支持通过 $EDITOR_SERVER_PORT
环境变量来指定端口。
实际用途
editor-server 将在 Dracon IntelliJ 插件 中作为 copie 的替代品使用。将启动一个带有随机端口的 editor-server,并在 IntelliJ 编辑器 中文件更改时通过 REST API 读取和写入文件内容。
依赖项
~11–23MB
~316K SLoC