Aweshell 1.0 发布


#127

这个函数是引入的第三方package吗?


#128

就在仓库里面的呀。


#129

没在github仓库里搜到:sleepy:


#130

今天抽空花了5分钟用 profiler-start/profiler-report 分析了 aweshell 启动会卡一秒的问题, 发现主要时间都耗费在 eshell-did-you-mean 这个插件上了, 主要卡在 (pcomplete-completions) 函数上.

最新版用下面的代码解决问题:

(add-hook 'eshell-mode-hook
          (lambda ()
            (run-with-idle-timer
             1 nil
             #'(lambda ()
                 (require 'eshell-did-you-mean)
                 (eshell-did-you-mean-setup)
                 ))))

在 shell 启动的时候添加一个 run-with-idle-timer 延时执行的代码, 既保证用户在发愣的时候就加载了新插件, 又保证了 aweshell 快速启动.

现在 aweshell 又是秒起了, 哈哈哈.


#131

多产啊,感谢你的贡献🍺


#132

如何在eshell prompt中添加上一个进程的exit status,就如这个bash prompt一样?

这个功能很有用,省了检查$?的时间了。


#133

报bug.

启动aweshell之后, 如果输入 cat ~/.bashrc, 在 .bashrc之后用TAB启用补全, 会将整行命令替换成~/.bashrc的绝对路径形式. (复现bug的条件是存在文件.bashrc,当然,其它文件也可以).

就像下面两张图所示.

经排查, 我发现是函数aweshell-validate-command的锅, 只要把代码中使用它的hook注释掉,就没这个问题了.

但具体是那个函数哪里写错了,我没看出来 :thinking:


#134

bug 报 github 吧, 这里我会忘记.

欢迎提交 PR


#135

用aweshell一直有个痛点:删除的时候会不小心删掉输入区域以外的内容,这时会报错“args out of range”,请问可以解决吗?

我看eshell在删除内容超出范围时会显示“read-only”无法删除,当光标在输入区域外时按“Tab”键或者输入文字都会自动跳转到正确的输入位置。

我用过其他的eshell插件也没解决这个问题,反而原生的eshell支持的最好。是不是在实现上有什么困难。


#136

刚刚看了一下,eshell没有按tab或键入跳转到输入区域的功能,我记错了,这是我理想的状态。不过eshell在输入区域外按删除键会正确跳转。


#137

eshell 只会保护 Shell prompt 的区域,其他命令输出的区域并不会保护。 目前我个人不觉得这个问题是一个很严重的问题,如果真的对这点很在意,可以用我写的另外一个终端模拟器插件 multi-term.el


#138

改了一个小时,终于把 multi-term-dedicated-toggle 的功能搬到 Aweshell 里面了: https://github.com/manateelazycat/aweshell/commit/883e97ae6118efca2e9eb24ee506b6644da8b3fe

以后可以用 aweshell-dedicated-toggle 命令了。


#139

新版 aweshell-dedicated-toggle 的优势是,当打开底部终端窗口以后,完全不受 delete-other-windows 这种命令的影响,该怎么分屏怎么分屏,终端窗口一直在底部。