;; Eww integration
(persp-def-buffer-save/load
:mode 'eww-mode :tag-symbol 'def-eww-status-buffer
:save-vars '(major-mode eww-history eww-data eww-history-position)
:after-load-function
#'(lambda (b &rest _)
(let ((cur-buf (current-buffer)))
(with-current-buffer b
(when-let ((url (plist-get eww-data :url)))
(eww url nil)))
;; restore buffer
(switch-to-buffer cur-buf))))
最近发现 eww 很好用,想尝试把它加到自己的工作流里,于是给 persp-mode
适配了 eww
。把这段代码加到 persp-mode
的配置里就能用了。
注意,目前的 persp-mode
有一个 lexical binding 相关的 bug,所以上面这段函数会报“找不到 symbol”的错误。我已经提了一个 pr 修复,在合并之前想要用这段函数的话需要手动 patch 一下 persp-mode
。