配置 zsh 突出显示未知命令类型

配置 zsh 突出显示未知命令类型

我目前已将 ZSH 突出显示设置如下:

ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern line)
typeset -A ZSH_HIGHLIGHT_STYLES # For main-highlighter
ZSH_HIGHLIGHT_STYLES[command]='fg=blue'
ZSH_HIGHLIGHT_STYLES[function]='fg=green'
ZSH_HIGHLIGHT_STYLES[builtin]='fg=red'
ZSH_HIGHLIGHT_STYLES[unknown]='fg=green,bold'
ZSH_HIGHLIGHT_STYLES[arg0]='fg=white'

我想添加一个指令,以便命令字不是一个有效的命令(即不在PATH中,也不是函数或别名;即一个词,将type w打印没有找到) 以不同的颜色显示,这样我就可以发现在输入命令行时出现的输入错误。

例如:如果我想输入gawk,但开始输入命令

gwk ...

相反(并且 gwk 在我的环境中不是一个有效的命令),我希望看到它有不同的颜色,以便我能够尽早注意到打字错误。

我首先想到的是arg0可以处理这个问题,但显然不能。

这可以实现吗?为此我应该使用哪种突出显示样式?

答案1

您需要使用unknown-tokenhttps://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md


PS:我坚持Zsh 插件 Z Colors可以将您的 转换$LS_COLORSzsh-syntax-highlighting。它会自动处理这些事情。

相关内容