将 region_highlight 转换为字符串的最佳方法?

将 region_highlight 转换为字符串的最佳方法?

我想抓取在命令行上看到的彩色文本(由于快速语法突出显示插件)并将其写入小部件中的文件中(实际上,我想将其推送到我的历史记录保留颜色)。据我了解,该信息单独存储在region_highlight.例如,给定:

foo () {
    echo $BUFFER $region_highlight
}

zle -N foo
bindkey '^E' foo

如果我ls clion在提示符下输入,然后在按 Enter 之前按 Ce,我会看到:

ls clion/ls clion/ 0 2 fg=blue 3 9 fg=cyan,underline 8 9 fg=black

在我的屏幕上,第一个 ls clion/ 的语法按照您期望的方式突出显示。如何将 $region_highlight 应用于 $BUFFER 以获得单行标准的颜色代码转义文本?

相关内容