Emacs pipenv.el make-process结果结尾color code ^[[0m

我在使用pipenv.el的过程中,发现venv无法正常enable,找到的问题是pipenv--make-pipenv-process返回的结果末尾有color code。

这是pipenv-venv得到的结果

因为这个color code,导致无法被识别为directory。求教解决方案。

需要你自己写代码, 用 re-search-forward 和 replace-match 来查找颜色字符串并转换.

给你一个 color-rg.el 的参考实现: color-rg/color-rg.el at a0dfb2bcda8175232fa09a568e60ba7664c9d86c · manateelazycat/color-rg · GitHub

也可以参考git中的 --color 参数的实现方式

需要颜色做什么?一般输出不是终端的话,就不会加颜色;而且一般也有选项控制。

不了解 pipenv / pipenv.el,不清楚具体情况。

P.S. 你的图片显示不出来。

更新了一下,preview的时候好好的能看见,publish了就看不见了。。。rip

暂时解决了下。Override了pipenv--clean-response

  (defun pipenv--clean-response (response)
    "Clean up RESPONSE from shell command."
    (replace-regexp-in-string "\ne\\[0m$" "" (s-chomp response)))

但是这个问题是由什么引起的呢?是因为我zsh的setup吗?

我只是给你提供了解决方案,我不知道你的问题是从什么而来的。