From 7ebcdcecfa55d6135fb40852006507e3be663d10 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Sun, 18 Jan 2015 13:52:22 +0100 Subject: [PATCH 1/9] gvmtool completion - determine local installed versions --- completion/available/gvmtool.completion.bash | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/completion/available/gvmtool.completion.bash b/completion/available/gvmtool.completion.bash index c2158747..3bc9b4ee 100644 --- a/completion/available/gvmtool.completion.bash +++ b/completion/available/gvmtool.completion.bash @@ -41,15 +41,24 @@ _gvm_complete() _gvm_candidate_versions(){ + + CANDIDATE_LOCAL_VERSIONS=$(__gvm_cleanup_local_versions $1) if _gvm_offline; then - __gvmtool_build_version_csv $1 - CANDIDATE_VERSIONS="$(echo $CSV | tr ',' ' ')" + CANDIDATE_VERSIONS=$CANDIDATE_LOCAL_VERSIONS else - CANDIDATE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + CANDIDATE_ONLINE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + CANDIDATE_VERSIONS="$(echo $CANDIDATE_ONLINE_VERSIONS $CANDIDATE_LOCAL_VERSIONS |sort | uniq ) " fi } +__gvm_cleanup_local_versions(){ + + __gvmtool_build_version_csv $1 + echo $CSV | tr ',' ' ' + +} + _gvm_offline() { if [ "$GVM_ONLINE" = "true" ]; then From 1a0bec90979fd06d0c82997c7d0a4e56c79d1194 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Tue, 17 Mar 2015 22:13:53 +0100 Subject: [PATCH 2/9] added outdated command to gvmtool completion --- completion/available/gvmtool.completion.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/completion/available/gvmtool.completion.bash b/completion/available/gvmtool.completion.bash index 3bc9b4ee..163141fc 100644 --- a/completion/available/gvmtool.completion.bash +++ b/completion/available/gvmtool.completion.bash @@ -6,10 +6,10 @@ _gvm_complete() COMPREPLY=() if [ $COMP_CWORD -eq 1 ]; then - COMPREPLY=( $(compgen -W "install uninstall rm list ls use current version default selfupdate broadcast offline help flush" -- ${COMP_WORDS[COMP_CWORD]}) ) + COMPREPLY=( $(compgen -W "install uninstall rm list ls use current outdated version default selfupdate broadcast offline help flush" -- ${COMP_WORDS[COMP_CWORD]}) ) elif [ $COMP_CWORD -eq 2 ]; then case "${COMP_WORDS[COMP_CWORD-1]}" in - "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" ) + "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" | "outdated" ) CANDIDATES=$(echo "${GVM_CANDIDATES_CSV}" | tr ',' ' ') COMPREPLY=( $(compgen -W "$CANDIDATES" -- ${COMP_WORDS[COMP_CWORD]}) ) ;; From 15b670f4ac4839a497c487bc4fac345e8705c974 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Thu, 1 Oct 2015 22:01:00 +0200 Subject: [PATCH 3/9] renamed gvmtool to sdkman --- ...completion.bash => sdkman.completion.bash} | 24 +++++++++---------- plugins/available/gvmtool.plugin.bash | 6 ----- plugins/available/sdkman.plugin.bash | 6 +++++ 3 files changed, 18 insertions(+), 18 deletions(-) rename completion/available/{gvmtool.completion.bash => sdkman.completion.bash} (73%) delete mode 100644 plugins/available/gvmtool.plugin.bash create mode 100644 plugins/available/sdkman.plugin.bash diff --git a/completion/available/gvmtool.completion.bash b/completion/available/sdkman.completion.bash similarity index 73% rename from completion/available/gvmtool.completion.bash rename to completion/available/sdkman.completion.bash index 163141fc..2bf217bb 100644 --- a/completion/available/gvmtool.completion.bash +++ b/completion/available/sdkman.completion.bash @@ -1,4 +1,4 @@ -_gvm_complete() +_sdkman_complete() { local CANDIDATES local CANDIDATE_VERSIONS @@ -10,7 +10,7 @@ _gvm_complete() elif [ $COMP_CWORD -eq 2 ]; then case "${COMP_WORDS[COMP_CWORD-1]}" in "install" | "uninstall" | "rm" | "list" | "ls" | "use" | "current" | "outdated" ) - CANDIDATES=$(echo "${GVM_CANDIDATES_CSV}" | tr ',' ' ') + CANDIDATES=$(echo "${SDKMAN_CANDIDATES_CSV}" | tr ',' ' ') COMPREPLY=( $(compgen -W "$CANDIDATES" -- ${COMP_WORDS[COMP_CWORD]}) ) ;; "offline" ) @@ -28,7 +28,7 @@ _gvm_complete() elif [ $COMP_CWORD -eq 3 ]; then case "${COMP_WORDS[COMP_CWORD-2]}" in "install" | "uninstall" | "rm" | "use" | "default" ) - _gvm_candidate_versions ${COMP_WORDS[COMP_CWORD-1]} + _sdkman_candidate_versions ${COMP_WORDS[COMP_CWORD-1]} COMPREPLY=( $(compgen -W "$CANDIDATE_VERSIONS" -- ${COMP_WORDS[COMP_CWORD]}) ) ;; *) @@ -39,33 +39,33 @@ _gvm_complete() return 0 } -_gvm_candidate_versions(){ +_sdkman_candidate_versions(){ - CANDIDATE_LOCAL_VERSIONS=$(__gvm_cleanup_local_versions $1) - if _gvm_offline; then + CANDIDATE_LOCAL_VERSIONS=$(__sdkman_cleanup_local_versions $1) + if _sdkman_offline; then CANDIDATE_VERSIONS=$CANDIDATE_LOCAL_VERSIONS else - CANDIDATE_ONLINE_VERSIONS="$(curl -s "${GVM_SERVICE}/candidates/$1" | tr ',' ' ')" + CANDIDATE_ONLINE_VERSIONS="$(curl -s "${SDKMAN_SERVICE}/candidates/$1" | tr ',' ' ')" CANDIDATE_VERSIONS="$(echo $CANDIDATE_ONLINE_VERSIONS $CANDIDATE_LOCAL_VERSIONS |sort | uniq ) " fi } -__gvm_cleanup_local_versions(){ +__sdkman_cleanup_local_versions(){ - __gvmtool_build_version_csv $1 + __sdkmantool_build_version_csv $1 echo $CSV | tr ',' ' ' } -_gvm_offline() +_sdkman_offline() { - if [ "$GVM_ONLINE" = "true" ]; then + if [ "$SDKMAN_ONLINE" = "true" ]; then return 1 else return 0 fi } -complete -F _gvm_complete gvm +complete -F _sdkman_complete sdk diff --git a/plugins/available/gvmtool.plugin.bash b/plugins/available/gvmtool.plugin.bash deleted file mode 100644 index ee69a669..00000000 --- a/plugins/available/gvmtool.plugin.bash +++ /dev/null @@ -1,6 +0,0 @@ -cite about-plugin -about-plugin 'load groovy environment manager' - -GVM_DIR="$HOME/.gvm" - -[[ -s "${GVM_DIR}/bin/gvm-init.sh" ]] && source "${GVM_DIR}/bin/gvm-init.sh" diff --git a/plugins/available/sdkman.plugin.bash b/plugins/available/sdkman.plugin.bash new file mode 100644 index 00000000..0b93aed0 --- /dev/null +++ b/plugins/available/sdkman.plugin.bash @@ -0,0 +1,6 @@ +cite about-plugin +about-plugin 'load Software Development Kit Manager. See http://sdkman.io' + +export SDKMAN_DIR="$HOME/.sdkman" + +[[ -s "${SDKMAN_DIR}/bin/sdkman-init.sh" ]] && source "${SDKMAN_DIR}/bin/sdkman-init.sh" From 2019143eb921820d48ec17e35f9ad3b839fbd031 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Fri, 9 Jan 2015 19:02:17 +0100 Subject: [PATCH 4/9] basic ancho scheme A theme based on...I really can't remember, sorry. I squashed several commits into this one, because I messed up with different config settings on different machines, ending with a mix of different usernames and emailaddresses. colours for scm prompt different color for root prompt optimization clean optic ancho theme improvement. fixed language issue with git status parsing added LS_COLORS --- themes/ancho/ancho.theme.bash | 59 +++++++++++++++++++++++++++++++++++ themes/base.theme.bash | 8 +++++ 2 files changed, 67 insertions(+) create mode 100644 themes/ancho/ancho.theme.bash diff --git a/themes/ancho/ancho.theme.bash b/themes/ancho/ancho.theme.bash new file mode 100644 index 00000000..d2a1e7c2 --- /dev/null +++ b/themes/ancho/ancho.theme.bash @@ -0,0 +1,59 @@ +LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:'; +export LS_COLORS + +function prompt(){ + + SCM_THEME_PROMPT_DIRTY=" ${red}✗${normal}" + SCM_THEME_PROMPT_CLEAN=" ${bold_green}✓${normal}" + SCM_THEME_PROMPT_PREFIX="${prompt_obracket}" + SCM_THEME_PROMPT_SUFFIX="${prompt_cbracket}" + SCM_THEME_BRANCH_PREFIX="$bold_blue" + + SCM_GIT_UNTRACKED_CHAR="${red}?:${normal}" + SCM_GIT_UNSTAGED_CHAR="${yellow}U:${normal}" + SCM_GIT_STAGED_CHAR="${green}S:${normal}" + SCM_GIT_AHEAD_CHAR="${bold_green}↑${normal}" + SCM_GIT_BEHIND_CHAR="${bold_red}↓${normal}" + + determine_user_color + + prompt_obracket="${bracket_color}[${normal}" + prompt_cbracket="${bracket_color}]${normal}" + prompt_home="${prompt_obracket}$green\h${prompt_cbracket}" + prompt_user="${prompt_obracket}${user_color}\u${prompt_cbracket}" + prompt_cpwd="${prompt_obracket} $purple\w ${prompt_cbracket}" + prompt_prefix="${line_color}┌${normal}" + prompt_iline="${line_color}└✪ ${normal}" + prompt_scm="$(scm_prompt_info)" + + prompt_scmline + + PS1="${prompt_prefix}${prompt_user}${prompt_home}${prompt_cpwd}${prompt_scm_line}\n$prompt_iline" +} + +function determine_user_color(){ + + if [ "$USER" = "root" ]; then + user_color=${bold_red} + bracket_color=${bold_yellow} + line_color=${bold_yellow} + else + user_color=${bold_green} + bracket_color=${bold_cyan} + line_color=${bold_cyan} + fi +} + + +function prompt_scmline(){ + scm + scm_prompt_char + if [ -n "$prompt_scm" ]; then + prompt_scm_line_pre="$line_color├${prompt_obracket}${SCM_CHAR}${prompt_cbracket}" + prompt_scm_line="\n${prompt_scm_line_pre}${prompt_scm}" + else + prompt_scm_line="" + fi +} + +PROMPT_COMMAND='prompt' diff --git a/themes/base.theme.bash b/themes/base.theme.bash index 584fb9ce..4b35f52f 100644 --- a/themes/base.theme.bash +++ b/themes/base.theme.bash @@ -86,6 +86,11 @@ function scm_prompt_info { function git_prompt_vars { local details='' + + ## SET LANGUAGE to EN + LANG_BAK=$LANG + LANG="en_EN.UTF8" + SCM_STATE=${GIT_THEME_PROMPT_CLEAN:-$SCM_THEME_PROMPT_CLEAN} if [[ "$(git config --get bash-it.hide-status)" != "1" ]]; then local status="$(git status -b --porcelain 2> /dev/null || git status --porcelain 2> /dev/null)" @@ -135,6 +140,9 @@ function git_prompt_vars { SCM_PREFIX=${GIT_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX} SCM_SUFFIX=${GIT_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX} SCM_CHANGE=$(git rev-parse HEAD 2>/dev/null) + + #RESET LANG + LANG=$LANG_BAK } function svn_prompt_vars { From b3281c853e567b00b68545fc7b0377e57d22c1fc Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Sat, 10 Jan 2015 21:36:59 +0100 Subject: [PATCH 5/9] add debian completion plugin loads the debian completion script /etc/bash_completion if present --- plugins/available/debian-completion.plugin.bash | 1 + 1 file changed, 1 insertion(+) create mode 100644 plugins/available/debian-completion.plugin.bash diff --git a/plugins/available/debian-completion.plugin.bash b/plugins/available/debian-completion.plugin.bash new file mode 100644 index 00000000..40736f6b --- /dev/null +++ b/plugins/available/debian-completion.plugin.bash @@ -0,0 +1 @@ +[[ -s /etc/bash_completion ]] && source "/etc/bash_completion" From 631e4605b9ef73873c94a510f606c2b279785bf8 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Wed, 3 Feb 2016 00:23:37 +0100 Subject: [PATCH 6/9] added private alias collection --- aliases/available/ancho.aliases.bash | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 aliases/available/ancho.aliases.bash diff --git a/aliases/available/ancho.aliases.bash b/aliases/available/ancho.aliases.bash new file mode 100644 index 00000000..5caeeeef --- /dev/null +++ b/aliases/available/ancho.aliases.bash @@ -0,0 +1,4 @@ +cite 'about-alias' +about-alias 'private alias collection' + +alias prettyjson='python -mjson.tool' From 837f98fc9ddce4a28923aa586f4d001440d5a4a1 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Wed, 3 Feb 2016 20:07:28 +0100 Subject: [PATCH 7/9] initialize utracked, unstaged and staged variables The git prompt doesn' t work on debian 8 with bash 4.3.30(1)-release, awk 4.1.1 and git 2.1.4 --- themes/base.theme.bash | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/themes/base.theme.bash b/themes/base.theme.bash index c8dff10a..9985de97 100644 --- a/themes/base.theme.bash +++ b/themes/base.theme.bash @@ -94,6 +94,11 @@ function scm_prompt_info { function git_status_summary { awk ' + BEGIN { + untracked = 0 + unstaged = 0 + staged = 0 + } { if (!after_first && $0 ~ /^##.+/) { print $0 @@ -202,7 +207,6 @@ function git_prompt_vars { SCM_PREFIX=${GIT_THEME_PROMPT_PREFIX:-$SCM_THEME_PROMPT_PREFIX} SCM_SUFFIX=${GIT_THEME_PROMPT_SUFFIX:-$SCM_THEME_PROMPT_SUFFIX} - SCM_CHANGE=$(git rev-parse HEAD 2>/dev/null) #RESET LANG LANG=$LANG_BAK From c3d3dab5384359105889cb7992a430daf43031e0 Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Wed, 3 Feb 2016 20:12:03 +0100 Subject: [PATCH 8/9] added srg alias collection --- aliases/available/srg.aliases.bash | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 aliases/available/srg.aliases.bash diff --git a/aliases/available/srg.aliases.bash b/aliases/available/srg.aliases.bash new file mode 100644 index 00000000..7eacda4d --- /dev/null +++ b/aliases/available/srg.aliases.bash @@ -0,0 +1,25 @@ +cite 'about-alias' +about-alias 'srg alias collection' + +alias prettyjson='python -mjson.tool' + +alias mobileHotelinfoList.dev='export MOBILE_HOTELINFO_API_URL="http://ra-dev.lan.servicereisen.de";mobileHotelinfoList' +alias mobileHotelinfoList.stag='export MOBILE_HOTELINFO_API_URL="http://ra-staging.lan.servicereisen.de";mobileHotelinfoList' + +alias mobileHotelinfoGet.dev='export MOBILE_HOTELINFO_API_URL="http://ra-dev.lan.servicereisen.de";mobileHotelinfoGet' +alias mobileHotelinfoGet.stag='export MOBILE_HOTELINFO_API_URL="http://ra-staging.lan.servicereisen.de";mobileHotelinfoGet' + + +function mobileHotelinfoList(){ + curl -i $MOBILE_HOTELINFO_API_URL/MobileHotelInfoInterface/api/hotelrating/list/RGFzSXN0RWluVGVzdFRva2Vu +} + +function mobileHotelinfoGet(){ + + if [ -n "$1" ]; then + + curl -i $MOBILE_HOTELINFO_API_URL/MobileHotelInfoInterface/api/hotelrating/RGFzSXN0RWluVGVzdFRva2Vu/$1 + else + echo "Benötige eine ID. Siehe mobileHotelinfoList." + fi +} From 5dbb20510484cf438381e7997c9e118cadfbdf7a Mon Sep 17 00:00:00 2001 From: Frank Becker Date: Sat, 6 Feb 2016 12:05:51 +0100 Subject: [PATCH 9/9] fixed version completion for sdkman 3.3.2 --- completion/available/sdkman.completion.bash | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/completion/available/sdkman.completion.bash b/completion/available/sdkman.completion.bash index 2bf217bb..95545b87 100644 --- a/completion/available/sdkman.completion.bash +++ b/completion/available/sdkman.completion.bash @@ -4,7 +4,7 @@ _sdkman_complete() local CANDIDATE_VERSIONS COMPREPLY=() - + if [ $COMP_CWORD -eq 1 ]; then COMPREPLY=( $(compgen -W "install uninstall rm list ls use current outdated version default selfupdate broadcast offline help flush" -- ${COMP_WORDS[COMP_CWORD]}) ) elif [ $COMP_CWORD -eq 2 ]; then @@ -35,15 +35,14 @@ _sdkman_complete() ;; esac fi - + return 0 } _sdkman_candidate_versions(){ - CANDIDATE_LOCAL_VERSIONS=$(__sdkman_cleanup_local_versions $1) - if _sdkman_offline; then + if [ "$SDKMAN_OFFLINE_MODE" = "true" ]; then CANDIDATE_VERSIONS=$CANDIDATE_LOCAL_VERSIONS else CANDIDATE_ONLINE_VERSIONS="$(curl -s "${SDKMAN_SERVICE}/candidates/$1" | tr ',' ' ')" @@ -53,19 +52,10 @@ _sdkman_candidate_versions(){ } __sdkman_cleanup_local_versions(){ - - __sdkmantool_build_version_csv $1 + + __sdkman_build_version_csv $1 echo $CSV | tr ',' ' ' } -_sdkman_offline() -{ - if [ "$SDKMAN_ONLINE" = "true" ]; then - return 1 - else - return 0 - fi -} - complete -F _sdkman_complete sdk