From 1a1572669ce946a095bc27d3d7b175ba83fab7b5 Mon Sep 17 00:00:00 2001 From: Ythildir Date: Thu, 6 Sep 2018 20:30:24 +0200 Subject: [PATCH 1/3] Fix white arrow on newline --- powerlevel9k.zsh-theme | 1 + 1 file changed, 1 insertion(+) diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 383a3b9..4f2caae 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -364,6 +364,7 @@ prompt_newline() { "$0" \ "$2" \ "NONE" "NONE" "${newline}" + CURRENT_BG='NONE' POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS=$lws } From 020287dd75343e1afca4ee3c87398a0ea08d3a6f Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 1 Feb 2019 11:01:59 +0100 Subject: [PATCH 2/3] Fix Segment endings if followed by newline --- powerlevel9k.zsh-theme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 4f2caae..ce49db7 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -363,7 +363,7 @@ prompt_newline() { "$1_prompt_segment" \ "$0" \ "$2" \ - "NONE" "NONE" "${newline}" + "" "" "${newline}" CURRENT_BG='NONE' POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS=$lws } From f42214e44b8fa00b766ea2839b79160f0e804a34 Mon Sep 17 00:00:00 2001 From: Dominik Ritter Date: Fri, 1 Feb 2019 14:37:17 +0100 Subject: [PATCH 3/3] Add tests for newline segment --- test/segments/newline.spec | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100755 test/segments/newline.spec diff --git a/test/segments/newline.spec b/test/segments/newline.spec new file mode 100755 index 0000000..7cd00a8 --- /dev/null +++ b/test/segments/newline.spec @@ -0,0 +1,42 @@ +#!/usr/bin/env zsh +#vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8 + +# Required for shunit2 to run correctly +setopt shwordsplit +SHUNIT_PARENT=$0 + +function setUp() { + export TERM="xterm-256color" + + P9K_HOME=$(pwd) + ### Test specific +} + +function testNewlineDoesNotCreateExtraSegmentSeparator() { + local POWERLEVEL9K_CUSTOM_WORLD1="echo world1" + local POWERLEVEL9K_CUSTOM_WORLD2="echo world2" + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world1 newline newline newline custom_world2) + + # Load Powerlevel9k + source ${P9K_HOME}/powerlevel9k.zsh-theme + local OS="OSX" # Fake OSX + + local newline=$'\n' + + assertEquals "%K{007} %F{000}world1 %k%F{007}%f${newline}%k%f${newline}%k%f${newline}%K{007} %F{000}world2 %k%F{007}%f " "$(build_left_prompt)" +} + +function testNewlineMakesPreviousSegmentEndWell() { + local POWERLEVEL9K_CUSTOM_WORLD1="echo world1" + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world1 newline) + + # Load Powerlevel9k + source ${P9K_HOME}/powerlevel9k.zsh-theme + local OS="OSX" # Fake OSX + + local newline=$'\n' + + assertEquals "%K{007} %F{000}world1 %k%F{007}%f${newline}%k%F{none}%f " "$(build_left_prompt)" +} + +source shunit2/shunit2 \ No newline at end of file