New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于 CLI 标准输出的问题 #33

Open
wi1dcard opened this Issue Jan 25, 2019 · 4 comments

Comments

Projects
None yet
2 participants
@wi1dcard
Copy link

wi1dcard commented Jan 25, 2019

在自己博客的 CI 流程上尝试集成,规则十分好用,但 CLI 存在一个问题:

在执行 lint-md 时,由于输出是不断「刷新」的,所以导致无法对标准输出使用管道。例如:

lint-md foo.md | grep `bar`

同样,把输出重定向到文件时,格式非常难看:

lint-md foo.md > result.log

最重要的影响是,在 Travis 日志上看到的输出是这样的:

脚本如下:

file_list=$(ls | grep -vE "jootu-copywriting-style-guide.md")
echo $file_list

lint-md $file_list --config "$dir/lint-md.json"

输出如下:

image

非常莫名其妙的只有第一行:total 0 file(s)

最早我怀疑是由于 $file_list 不正常导致,最后发现实际上已经 lint 了,只不过仅仅展示了第一次输出的内容,后面退格重新输出的都没有显示出来。

原因暂时未知,对这一块的具体实现不熟,Composer 或 NPM 的输出虽然也有退格、刷新,但日志正常。

@hustcc

This comment has been minimized.

Copy link
Owner

hustcc commented Jan 25, 2019

感谢反馈,我这边尝试复现一下!

@wi1dcard

This comment has been minimized.

Copy link
Author

wi1dcard commented Jan 25, 2019

嗯嗯,grep -vE "jootu-copywriting-style-guide.md" 是为了实现排除文件所使用的,可以去掉。

参见 Issue:#34

@hustcc

This comment has been minimized.

Copy link
Owner

hustcc commented Jan 28, 2019

目前 cli 输出使用 ink,确实会存在重复打印的问题。下一个版本改成直接使用 https://github.com/chalk/chalk 输出。

如果有时间和能力,可以帮忙 pr。

@wi1dcard

This comment has been minimized.

Copy link
Author

wi1dcard commented Jan 28, 2019

@hustcc 对 Node.js 不太熟悉,可能帮不上忙了😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment