diff --git a/powerlevel9k.zsh-theme b/powerlevel9k.zsh-theme index 73573a07..0b2287ef 100755 --- a/powerlevel9k.zsh-theme +++ b/powerlevel9k.zsh-theme @@ -1130,11 +1130,10 @@ prompt_vpn_ip() { ################################################################ # Segment to display laravel version prompt_laravel_version() { - local laravel_version="$(php artisan --version 2>/dev/null)" - if [[ -n "${laravel_version}" ]]; then - # Remove unrelevant infos - laravel_version="${laravel_version//Laravel Framework version /}" - + local laravel_version="$(php artisan --version 2> /dev/null)" + if [[ -n "${laravel_version}" && "${laravel_version}" =~ "Laravel Framework" ]]; then + # Strip out everything but the version + laravel_version="${laravel_version//Laravel Framework /}" "$1_prompt_segment" "$0" "$2" "maroon" "white" "${laravel_version}" 'LARAVEL_ICON' fi } diff --git a/test/segments/laravel_version.spec b/test/segments/laravel_version.spec index 40b130d2..6133b19a 100755 --- a/test/segments/laravel_version.spec +++ b/test/segments/laravel_version.spec @@ -14,16 +14,17 @@ function setUp() { function mockLaravelVersion() { case "$1" in "artisan") - echo "Laravel Framework version 5.4.23" + # artisan --version follows the format Laravel Framework + echo "Laravel Framework 5.4.23" ;; default) esac } function mockNoLaravelVersion() { - # This should output some error - >&2 echo "Artisan not available" - return 1 + # When php can't find a file it will output a message + echo "Could not open input file: artisan" + return 0 } function testLaravelVersionSegment() {