agnoster主题:彩色时间

agnoster主题:彩色时间

我正在使用 agnoster 主题:[![在此处输入图像描述][1]][1]

我想知道如何用不同颜色的用户名来为时间着色。

目前,agnoster.theme.sh 文件中的prompt_context() 函数如下所示:

prompt_context() {
local user=`whoami`

if [[ $user == $DEFAULT_USER || $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then
        # green is the color of background
        # white is the color of foreground
        
    prompt_segment green white "[\A] $user@\h "     
fi

}

问题是我的用户名和时间的颜色是相同的。

我已经尝试过类似的事情:

prompt_segment green white " ${red green [\A]}$user@\h "

但这不起作用。我也看过这个:https://github.com/ohmybash/oh-my-bash/blob/master/themes/agnoster/agnoster.theme.sh#L156-L178 但我有点失落。

有人有想法吗?

答案1

我通过再试一次找到了解决方案。我必须按要显示的元素添加一个函数,因此我创建了一个函数来显示时间,另一个函数用我想要的颜色来显示历史行。

# Display history line
prompt_historyline(){
    prompt_segment yellow white ' \! '
}


# Display time
prompt_time() {
  prompt_segment orange white ' [\A] '
}

我的prompt_context函数:

prompt_context() {
    local user=`whoami`

    if [[ $user == $DEFAULT_USER || $user != $DEFAULT_USER || -n $SSH_CLIENT ]]; then
            # green is the color of background
            # white is the color of foreground          
            
        prompt_segment green white " $user@\h "        
    fi
}

然后我将两个新闻函数添加到主函数(主提示的构建器)中:

build_prompt() {
[[ ! -z ${AG_EMACS_DIR+x} ]] && prompt_emacsdir
prompt_status
prompt_historyline
prompt_time
#[[ -z ${AG_NO_HIST+x} ]] && prompt_histdt
[[ -z ${AG_NO_CONTEXT+x} ]] && prompt_context
prompt_virtualenv
prompt_dir
prompt_git
prompt_end

}

结果如下:

在此输入图像描述

相关内容