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.
pull/22/head
Dominik Ritter 6 years ago
commit d3500625ca

@ -1271,16 +1271,18 @@ prompt_root_indicator() {
################################################################ ################################################################
# Segment to display Rust version number # Segment to display Rust version number
prompt_rust_version() { prompt_rust_version() {
local rust_version local rust_version=$(command rustc --version 2>/dev/null)
rust_version=$(rustc --version 2>&1 | grep -oe "^rustc\s*[^ ]*" | grep -o '[0-9.a-z\\\-]*$') # 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 if [[ -n "$rust_version" ]]; then
"$1_prompt_segment" "$0" "$2" "darkorange" "$DEFAULT_COLOR" "$rust_version" 'RUST_ICON' "$1_prompt_segment" "$0" "$2" "darkorange" "$DEFAULT_COLOR" "$rust_version" 'RUST_ICON'
fi fi
} }
################################################################ # RSpec test ratio
# Segment to display RSpec test ratio
prompt_rspec_stats() { prompt_rspec_stats() {
if [[ (-d app && -d spec) ]]; then if [[ (-d app && -d spec) ]]; then
local code_amount tests_amount local code_amount tests_amount

@ -5,29 +5,39 @@
setopt shwordsplit setopt shwordsplit
SHUNIT_PARENT=$0 SHUNIT_PARENT=$0
TEST_BASE_FOLDER=/tmp/powerlevel9k-test
RUST_TEST_FOLDER="${TEST_BASE_FOLDER}/rust-test"
function setUp() { function setUp() {
OLDPATH="${PATH}"
mkdir -p "${RUST_TEST_FOLDER}"
PATH="${RUST_TEST_FOLDER}:${PATH}"
export TERM="xterm-256color" export TERM="xterm-256color"
# Load Powerlevel9k # Load Powerlevel9k
source powerlevel9k.zsh-theme source powerlevel9k.zsh-theme
} }
function tearDown() {
PATH="${OLDPATH}"
rm -fr "${TEST_BASE_FOLDER}"
}
function mockRust() { 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() { function testRust() {
alias rustc=mockRust mockRust
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(rust_version) 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)" 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 unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
unalias rustc
} }
function testRustPrintsNothingIfRustIsNotAvailable() { function testRustPrintsNothingIfRustIsNotAvailable() {
alias rustc=noRust
POWERLEVEL9K_CUSTOM_WORLD='echo world' POWERLEVEL9K_CUSTOM_WORLD='echo world'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world rust_version) POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world rust_version)
@ -35,7 +45,6 @@ function testRustPrintsNothingIfRustIsNotAvailable() {
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
unset POWERLEVEL9K_CUSTOM_WORLD unset POWERLEVEL9K_CUSTOM_WORLD
unalias rustc
} }
source shunit2/source/2.1/src/shunit2 source shunit2/source/2.1/src/shunit2

Loading…
Cancel
Save