大佬,仓库能给加个截图瞅瞅效果吗
还在完善当中。可以先参考
这位大佬的项目。功能上基本是一样的。只是尝试用 deno-bridge 去实现。
主要是 TypeScript 性能就很好, 再加上 deno-jieba 是一个 wasm 模块, 性能就很好了。
再加上 TypeScript 这种脚本的开发方法比 Rust 动态模块开发效率高很多, 写插件要爽很多。
更新了一下 README ,可以看一下效果了。
你们脑洞是真的大啊
牛哇 zsbd
发了两个补丁,一个是typo修复,一个是默认就应该调用 (deno-bridge-jieba-start) , 保证插件加载即启用,要不是用户要手动调用这个命令。
变量名全拼错了。我居然毫无察觉。感谢,已合。
非常好用,我写博客的时候可以快速按照中文分词移动, 而不是原来一个一个文字的选择。
反馈一个bug, 就是第一次 forward-word 的时候分词好像每生效, 直接就按照一句跳过了, 但是第二次 forward-word 的时候又可以支持中文分词移动。
我猜测是中英文混排导致的(也可能是空格、空白符的问题),由于 jieba 对英文的解析不是很好。因此。这里选择了这样的逻辑:
- 如果 following-char 是一个只有1个宽度的字符,那么它应该是个 ASCII 字符,那么直接使用 forward-word
- 如果 following-char 不是一个只有1个宽度的字符,那么是中文,才通过中文分词跳转。
估计需要再加一个逻辑:
如果 following-char 是一个空白符或者标点符号,那么 forward-char 移动一格(或者移动到下一个非空白符)。
请问出现这个错误是什么原因:
websocket-send: Cannot send message to a closed websocket: #s(websocket-frame text "[\"data\",[\"forward-word\",\"- 基本操作 :: workspace,windows,常用操作如:输入法切换、复制粘贴\\n\",39]]" nil t)
重启一下 deno-bridge-jieba-restart 试试看。看起来是 websocket 关闭了。
重启更新了,还是这样
我觉得最好在 deno 入口根部做 try catch, 如果有任何报错返回一个错误消息,这样 deno 还能继续跑
感觉目前要重启 emacs 才可以,目前如果 deno 端报错,就无法再连上 websocket 了
对, 就是这个原因
- 我发了个补丁支持空格检测
- 同时需要 TypeScript 端需要处理 <= end 的情况, < end 会触发
tokens[i - 1].start === NaN
的情况 - thing-at-point 的 NO-PROPERTIES 设置成 t, 避免向 TypeScript 发送字符属性
BTW, TypeScript 端有很多错误和警告, 可以清理一下。
猫哥简直效率之星。
今天有空了我清理一下 TypeScript 的错误和警告。