Merge remote-tracking branch 'TheDan64/master' into staging_065

Conflicts were:
- test/segments/rust_version.spec and powerlevel9k.zsh-theme. #826
removes grep from parsing the rust version on next; #703 changes color
names.
This commit is contained in:
Dominik Ritter 2018-06-07 01:00:57 +02:00
commit d3500625ca
2 changed files with 22 additions and 11 deletions

View file

@ -1271,16 +1271,18 @@ prompt_root_indicator() {
################################################################
# Segment to display Rust version number
prompt_rust_version() {
local rust_version
rust_version=$(rustc --version 2>&1 | grep -oe "^rustc\s*[^ ]*" | grep -o '[0-9.a-z\\\-]*$')
local rust_version=$(command rustc --version 2>/dev/null)
# Remove "rustc " (including the whitespace) from the beginning
# of the version string and remove everything after the next
# whitespace. This way we'll end up with only the version.
rust_version=${${rust_version/rustc /}%% *}
if [[ -n "$rust_version" ]]; then
"$1_prompt_segment" "$0" "$2" "darkorange" "$DEFAULT_COLOR" "$rust_version" 'RUST_ICON'
fi
}
################################################################
# Segment to display RSpec test ratio
# RSpec test ratio
prompt_rspec_stats() {
if [[ (-d app && -d spec) ]]; then
local code_amount tests_amount

View file

@ -5,29 +5,39 @@
setopt shwordsplit
SHUNIT_PARENT=$0
TEST_BASE_FOLDER=/tmp/powerlevel9k-test
RUST_TEST_FOLDER="${TEST_BASE_FOLDER}/rust-test"
function setUp() {
OLDPATH="${PATH}"
mkdir -p "${RUST_TEST_FOLDER}"
PATH="${RUST_TEST_FOLDER}:${PATH}"
export TERM="xterm-256color"
# Load Powerlevel9k
source powerlevel9k.zsh-theme
}
function tearDown() {
PATH="${OLDPATH}"
rm -fr "${TEST_BASE_FOLDER}"
}
function mockRust() {
echo 'rustc 0.4.1a-alpha'
echo "#!/bin/sh\n\necho 'rustc 0.4.1a-alpha'" > "${RUST_TEST_FOLDER}/rustc"
chmod +x "${RUST_TEST_FOLDER}/rustc"
}
function testRust() {
alias rustc=mockRust
mockRust
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(rust_version)
assertEquals "%K{208} %F{black%}Rust%f %F{black}0.4.1a-alpha %k%F{darkorange}%f " "$(build_left_prompt)"
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
unalias rustc
}
function testRustPrintsNothingIfRustIsNotAvailable() {
alias rustc=noRust
POWERLEVEL9K_CUSTOM_WORLD='echo world'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world rust_version)
@ -35,7 +45,6 @@ function testRustPrintsNothingIfRustIsNotAvailable() {
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
unset POWERLEVEL9K_CUSTOM_WORLD
unalias rustc
}
source shunit2/source/2.1/src/shunit2