一直出现这个是怎么回事,无法出现演示的效果?
Mac 系统使用 ClashX 代理,
export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890
Emacs 设置:
(setq popweb-proxy-type "http")
(setq popweb-proxy-host "127.0.0.1")
(setq popweb-proxy-port "7890")
Error (websocket): in callback `on-message': End of file while parsing JSON: "unexpected token near end of file", "<string>", 1, 0, 0 Disable showing Disable logging
Error (websocket): in callback `on-message': could not parse JSON stream: "invalid token near '.'", "<string>", 1, 1, 1 Disable showing Disable logging
Error (websocket): in callback `on-message': could not parse JSON stream: "unable to decode byte 0xcf near 'u'", "<string>", 1, 1, 1 Disable showing Disable logging
标生词过程中偶尔遇到的,应该如何排查(前后查的都正常,而且也只是个提示不影响 render)
ginqi7
2022 年12 月 2 日 14:22
266
我也遇到了。目前还没头绪。在考虑,要不要直接在代码里把这个报错吞掉。目前这个错误不影响使用。
ginqi7
2022 年12 月 2 日 14:49
267
最新的提交,支持了 MacOS 系统的词典,Mac 用户可以更新一下,帮忙测试一波。非 Mac 用户也可以更新一下,修复了几个 bug
使用 MacOs 系统自带的词典需要安装 pyObjc
https://pyobjc.readthedocs.io/en/latest/
新增了一个配置变量:dictionary-overlay-translators
用于指定使用的翻译工具,以及顺序。
默认值 '(“local” “sdcv” “darwin” “web”)
local 表示本地的 dictionary.txt 记录的上次查询结果
sdcv 表示使用 dictionary-overlay 内置的sdcv词典
darwin 表示 MacOS 系统词典
web 表示使用网络翻译
例如,你如果网络有困难,就可以使用’(“local” “sdcv” “darwin”)
如果,你的 MacOS 系统词典质量比较高,可以用:'(“local” “darwin” “sdcv”) 交换词典的顺序
目前解析词典翻译结果使用正则表达式比较简单:直接获取所有的中文词句,生成list, 选取第一个用作默认展示,其他的作为修改翻译时的选项。因此理论上,可以支持任何导入到Mac 系统里的词典。
直接获取所有的中文词句,有一个缺点,进行翻译修改时,可选项可能太多(有的是例句的翻译)。我遇到的问题是,completing-read 会对选项重排序(不知道是不是某个包引起的),可能排在最前面的不是特别相关。
使用 c 修改,如果不选择任一结果按Ctrl-g,会提示:
error in process filter
再次按C-g才能退出。
dictionary-overlay 配合 rcirc 很好用。
聊天的时候就用 lsp-bridge-sdcv-helper + insert-translate-name
看聊天内容时就用 popweb + dictionary-overlay
ginqi7
2022 年12 月 3 日 00:23
271
我试了一下,没能复现。一次 C-g 就退出了。
你那边其他的 (completing-read) 的其他命令能正常退出吗?
emacs -q 用下面的配置:
(add-to-list 'load-path "~/.emacs.d/site-lisp/websocket-bridge")
(add-to-list 'load-path "~/.emacs.d/site-lisp/dictionary-overlay")
(add-to-list 'load-path "~/.emacs.d/elpa/websocket-20210110.17")
(require 'websocket)
(require 'websocket-bridge)
(require 'dictionary-overlay)
(with-eval-after-load 'dictionary-overlay
(setq dictionary-overlay-translators '("local" "darwin" "sdcv" "web"))
(setq dictionary-overlay-user-data-directory (expand-file-name "var/dictionary-overlay" user-emacs-directory)))
打开文本调用dictionary-overlay-start->dictionary-overlay-render-buffer,光标移动到翻译的单词上使用c
修改翻译,跳出minibuffer之后使用C-g
,就会弹出:
error in process filter: Quit [2 times]
ginqi7
2022 年12 月 3 日 02:08
274
minibuffer 里有弹出修改的选择选项吗?
运行一下 (websocket-bridge-app-open-buffer 'dictionary-overlay) 看看有错误日志吗?
按 TAB 可以弹出修改项。按一次
C-g
是弹出下面的错误通知,其实minibuffer己经退出了,就是这个error会卡一下。之后可以正常移动光标。
zqso
2022 年12 月 3 日 05:05
276
大佬指的哪个是340 万, TLD 还是ECIDT?
我对于 Dictionary overlay 的使用哲学可能和 @ginqi7 一样,不求释义准确,只用作参考。所以我倾向于尽量本地化查找单词,这样buffer渲染速度可以达到极致,这个340万就很有前途的样子。
我看一些文章如果署名带一系列作者的,网络词典从头到尾在线找一遍,渲染完了我都冲了一杯咖啡了(因为buffer被占用了,啥也干不了)。
(侧面也说明py渲染机制可以进一步改进,允许边渲染buffer, 边操作,比如jump, mark,而不用排队。)
不是大佬
你划到一楼,看热门链接,找到 ECDICT,点进去看看就知道了,提供了 stardict、mdict、csv、sqlite 等各种格式。
zqso
2022 年12 月 3 日 07:05
280
你是vertico么?
看你的截图,是不是vertico按长度排序了?越短越前。
以下是 vertico.el 摘的:
(defcustom vertico-sort-function #'vertico-sort-history-length-alpha
"Default sorting function, used if no `display-sort-function' is specified."
:type `(choice
(const :tag "No sorting" nil)
(const :tag "By history, length and alpha" ,#'vertico-sort-history-length-alpha)
(const :tag "By history and alpha" ,#'vertico-sort-history-alpha)
(const :tag "By length and alpha" ,#'vertico-sort-length-alpha)
(const :tag "Alphabetically" ,#'vertico-sort-alpha)
(function :tag "Custom function")))
(defcustom vertico-sort-override-function nil
"Override sort function which overrides the `display-sort-function'."
:type '(choice (const nil) function))
zqso
2022 年12 月 3 日 07:16
281
committed 02:28PM - 02 Dec 22 UTC
feat: support MacOS dictionary
更新后,mark 完不会更新overlay了,手动更新overlay后,又重新下载所有词了,尤其是网络词。不知道是不是我配置的问题。
Edit1:似乎是macOS词典的问题?关掉后好了一些些,继续观察,后续有问题再更。
(defcustom dictionary-overlay-translators
'("local"
;; "darwin"
"sdcv" "web")
"The translators and theirs's order."
:group 'dictionary-overlay)
ginqi7
2022 年12 月 3 日 07:29
282
是的,我用的是vertico. 看来我要看看怎么让 vertico 在特定的命令下不排序。
zqso
2022 年12 月 3 日 07:30
283
那个选项设成nil (“no sorting”).
但是你最好只设在 dictionary-overlay 里,别溢到全局影响其他功能的使用了