dsh-select-quote 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -9
- package/lib/client.js +600 -358
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ dsh --profile web
|
|
|
30
30
|
|
|
31
31
|
```bash
|
|
32
32
|
git clone https://github.com/latte03/dsh-select-quote && cd dsh-select-quote
|
|
33
|
-
|
|
33
|
+
pnpm install && pnpm run build
|
|
34
34
|
dsh web --patch "$PWD/dev.patch.yml"
|
|
35
35
|
```
|
|
36
36
|
|
|
@@ -51,14 +51,14 @@ dsh web --patch "$PWD/dev.patch.yml"
|
|
|
51
51
|
|
|
52
52
|
## 已知限制
|
|
53
53
|
|
|
54
|
-
-
|
|
54
|
+
- **待发批注按会话持久化**:刷新页面、重启客户端后回到原会话,未发送的批注会原样回来(和草稿同一套机制);保留最近 20 个会话、7 天。发送即清除,切换会话跟着切,hero 里换工作区等于换会话,批注不跟着搬。
|
|
55
55
|
- **占用了用户气泡的渲染**:本插件以最低优先级替换内置 `user` 节点。其它插件若替换同一个键(例如 `dsh-easyrewrite` 用 `-1`),会被本插件屏蔽。
|
|
56
56
|
- **卡片宽度有限**:输入框内每条摘要最宽约为输入框的 1/4,超长标题走省略号。
|
|
57
57
|
- **划词只在对话区生效**:不介入编辑器、终端等面板。
|
|
58
58
|
|
|
59
59
|
## 常见问题
|
|
60
60
|
|
|
61
|
-
**升级 dsh 之后功能不对?** 先 `
|
|
61
|
+
**升级 dsh 之后功能不对?** 先 `pnpm run check`;产物没问题就对照 [`docs/internals.md`](docs/internals.md) 的「依赖的产品内部约定」逐条复核,那里列了所有产品内部名。
|
|
62
62
|
|
|
63
63
|
**划词没有工具条?** 确认选区在对话区而不是编辑器里;刷新页面(样式与观察者是幂等注入的);宿主 boot 日志里应出现 `dsh-select-quote`。
|
|
64
64
|
|
|
@@ -73,22 +73,36 @@ dsh web --patch "$PWD/dev.patch.yml"
|
|
|
73
73
|
## 开发
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
pnpm install
|
|
77
|
+
pnpm run check # typecheck + build + verify
|
|
78
|
+
pnpm run watch # 增量重建
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
|
|
81
|
+
依赖用 pnpm 管理(锁文件 `pnpm-lock.yaml`);构建产物 `lib/` 随源码一起提交,运行时直接读它。
|
|
82
|
+
|
|
83
|
+
`pnpm run verify` 无头执行产物,断言 8 项贡献都注册上,并检查三份词典的键与 `{placeholder}` 在每种语言里都齐备(复数消息必须有 `.other` 兜底)。
|
|
84
|
+
|
|
85
|
+
### 热更新到桌面客户端
|
|
86
|
+
|
|
87
|
+
宿主每半秒比较一次各插件 client 产物的文件状态,一旦变化就通过 `/plugins/events` 让页面只重载这个模块,所以运行中的客户端不用重启:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
pnpm run sync:desktop # 把 lib/ 推给已安装的副本
|
|
91
|
+
pnpm run sync:desktop -- --watch # 常驻:lib/ 一变就推
|
|
92
|
+
pnpm dev:desktop # 增量重建 + 推送,一条命令
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
目标路径按 `$DSH_HOME`(默认 `~/.dsh`)与 profile 名推导,profile 用 `--profile <name>` 或 `$DSH_PROFILE` 指定,默认 `desktop`。字节没变就不写,避免空重载。模块级重载会重置内存状态,但未发送的批注已按会话持久化,重新挂载后会自己回来。
|
|
82
96
|
|
|
83
97
|
发布:先把源码与产物 `lib/` 一起提交,再跑
|
|
84
98
|
|
|
85
99
|
```bash
|
|
86
|
-
|
|
100
|
+
pnpm run release # check → 追加 CHANGELOG.md → 提升版本号并打 tag
|
|
87
101
|
```
|
|
88
102
|
|
|
89
103
|
## 贡献
|
|
90
104
|
|
|
91
|
-
fork 后开分支,提交前跑 `
|
|
105
|
+
fork 后开分支,提交前跑 `pnpm run check`。一个 PR 只讲一件事,功能与文档分开,方便追溯。PR 里写清复现方式(环境、dsh 版本、操作步骤)。
|
|
92
106
|
|
|
93
107
|
## 致谢
|
|
94
108
|
|