从今天开始,Emacs里面可以运行任何你想要的程序 (Linux & Windows & Mac & BSD)

预览没修好。现在按O关闭预览,光标留在原位。但是再次按O打开预览会挂掉。

Traceback (most recent call last):
  File "/home/yqu212/dotfiles/spacemacs/layers/private/local/eaf/core/utils.py", line 60, in on_signal_received
    self._func(obj, *args, **kwargs)
  File "/home/yqu212/.spacemacs.d/layers/private/local/eaf/eaf.py", line 333, in execute_function
    buffer.execute_function(function_name)
  File "/home/yqu212/dotfiles/spacemacs/layers/private/local/eaf/core/buffer.py", line 279, in execute_function
    getattr(self, function_name)()
  File "/home/yqu212/dotfiles/spacemacs/layers/private/local/eaf/core/utils.py", line 168, in wrapped_f
    return f(*args, **kwargs)
  File "/home/yqu212/.spacemacs.d/layers/private/local/eaf/app/file-manager/buffer.py", line 349, in toggle_preview
    self.refresh()
  File "/home/yqu212/.spacemacs.d/layers/private/local/eaf/app/file-manager/buffer.py", line 361, in refresh
    self.change_directory(self.url, self.buffer_widget.execute_js("getCurrentFile();")["path"])
TypeError: 'QVariant' object is not subscriptable

更新再试一下

修好了,谢谢!

遇到一个bug,今天下午更新之后每次重启emacs,网站的登录信息都会丢失。所有网站都需要重 新登录。

[72549:72571:0820/183414.007806:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: PRAGMA auto_vacuum
[72549:72571:0820/183414.007894:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: PRAGMA journal_mode=TRUNCATE
[72549:72571:0820/183414.007973:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: SELECT 1 FROM sqlite_master WHERE type=? AND name=?
[72549:72571:0820/183414.008120:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: SELECT 1 FROM sqlite_master WHERE type=? AND name=?
[72549:72571:0820/183414.008163:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR)
[72549:72571:0820/183414.008658:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: PRAGMA auto_vacuum
[72549:72571:0820/183414.008705:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: PRAGMA journal_mode=TRUNCATE
[72549:72571:0820/183414.008750:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: SELECT 1 FROM sqlite_master WHERE type=? AND name=?
[72549:72571:0820/183414.008838:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: SELECT 1 FROM sqlite_master WHERE type=? AND name=?
[72549:72571:0820/183414.008871:ERROR:database.cc(1696)] Cookie sqlite error 5, errno 0: database is locked, sql: CREATE TABLE meta(key LONGVARCHAR NOT NULL UNIQUE PRIMARY KEY, value LONGVARCHAR)

清除Cookie再试试吧

清除cookie没解决问题。还是老样子。之前我以为是下午处理json时引入的错误,后来排除 了。回退之后还是有问题。

目前没有遇到这个问题

只会在 windows 上出现,路径分隔符的问题

[EAF/vue-demo] index file dir: d:/Code/ELisp/emacs-application-framework/app/vue-demo\dist

应该是 lxml 在 toString 时会把 \ 转成 %5C ,导致路径错误

我再找找吧。谢谢。

看看有啥支持Widnows的库,把 lxml 给换掉。

不用这么大动干戈吧。用python标准库第一时间把Windows路径转换成POSIX格式不行吗?Windows本身是支持POSIX格式路径的。lxml支持Windows的。

这个是可以的,把所有路径都转成 posix 格式,Path 有一个 as_posix 方法可以做这个

1 个赞

@manateelazycat 文件管理器的preview功能是不是能单独调用?update_preview函数似乎只需要输入路径就可以了。如果能够单独调用,那些暂时不打算放弃自己的dired配置的用户也可以享受eaf带来的预览功能了。

EAF的框架是开放的,大家可以基于EAF的架构开发自己的应用,但是我不想开发独立的预览模块,我不想把我的时间用于开发我自己不需要的功能。

没有没有,不是希望你来开发。我只是看了代码之后发现预览功能似乎可以独立。我不会vue,所以不确定猜的对不对。如果不用做大的改动,我就来动手写补丁了。我的初衷是希望复用eaf文件管理器现有的预览功能以及将来的改进。

预览功能不用复用,都是一些JS库

修改了文本文件的预览大小,从50kb降低到4kb, 现在在文件中穿梭的速度快很多了,4kb 足够大多数文件的快速预览。

最新版EAF文件管理器用 XMLHttpRequest 异步的方式读取文件:

  1. 文件预览读取性能提升 10 倍以上,现在十几兆的大文件读取也不会卡键盘操作
  2. 同时添加了Office文件的预览
2 个赞

更新之后文件中的中文预览变成乱码了,之前是正常显示的。

另外,还是有卡顿。建议如果光标已经移开,就杀掉线程,不再等待读取完成。这好像是snails里面用的办法。

你更新的不够快,哈哈哈哈

1 个赞