From f574984c603b61126848756d973fc1e1c6cf8da7 Mon Sep 17 00:00:00 2001 From: Xavier Logerais Date: Wed, 26 Jun 2019 18:29:51 +0200 Subject: [PATCH] Some changes for macos --- aliases.d/colors | 2 +- bashrc | 3 +- completion.d/ssh | 10 +++++ libs.deprecated/virtualization.bash | 2 + rc.d/prompt | 63 ++++++++++++++++------------- 5 files changed, 48 insertions(+), 32 deletions(-) create mode 100644 completion.d/ssh diff --git a/aliases.d/colors b/aliases.d/colors index e0d5739..67f2abc 100644 --- a/aliases.d/colors +++ b/aliases.d/colors @@ -1,7 +1,7 @@ #!/bin/bash # Colors -alias ls='ls --color=auto' +alias ls='ls -G' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' diff --git a/bashrc b/bashrc index 6fb2991..5ca7246 100644 --- a/bashrc +++ b/bashrc @@ -79,8 +79,7 @@ _source_dir_files "${BASH_CONFIG_DIR}"/aliases _source_dir_files "${BASH_CONFIG_DIR}"/aliases.d # Source bash completion definitions -# TODO: Améliorer cette partie pour éviter les erreurs quand aucun fichier n'existe -for file in /etc/bash*completion /etc/profile.d/bash*completion*; do source "$file"; done +#for file in /etc/bash*completion /etc/profile.d/bash*completion* ; do source $file ; done _source_file_if_exists ~/.bash_completion _source_file_if_exists "${BASH_CONFIG_DIR}"/completion diff --git a/completion.d/ssh b/completion.d/ssh new file mode 100644 index 0000000..38793aa --- /dev/null +++ b/completion.d/ssh @@ -0,0 +1,10 @@ +#!/bin/bash + +#SSH +#if [ -e ~/.ssh/config ]; then +# complete -W "$(cat ~/.ssh/config | egrep -i "^\s*host\s+[a-zA-Z]" | sed -e "s/^host\s*//i")" ssh +#fi +# +#if [ -e ~/.ssh/known_hosts ]; then +# complete -W "$(cat ~/.ssh/known_hosts | cut -f 1 -d ' ' | sed -e s/,.*//g | uniq | grep -v "\[")" ssh +#fi diff --git a/libs.deprecated/virtualization.bash b/libs.deprecated/virtualization.bash index bf8b5c0..cd1a723 100755 --- a/libs.deprecated/virtualization.bash +++ b/libs.deprecated/virtualization.bash @@ -1,5 +1,7 @@ #!/bin/bash +which virsh || return &> /dev/null + hypervisor_connect() { if [ -e "${1}" ]; then echo "Usage : $0 hypervisor_name_or_ip"; return 1; fi diff --git a/rc.d/prompt b/rc.d/prompt index fc28674..f307f31 100644 --- a/rc.d/prompt +++ b/rc.d/prompt @@ -7,49 +7,54 @@ MY_PROMPTS="starship powerline-go" for prompt in $MY_PROMPTS; do - if (command -v "$prompt" &>/dev/null); then - USE_PROMPT="$prompt" - break - fi + if (command -v "$prompt" &>/dev/null); then + USE_PROMPT="$prompt" + break + fi done case "${USE_PROMPT}" in # https://starship.rs/ "starship") - if (command -v starship &>/dev/null); then - eval "$(starship init bash)" - else - echo "${USE_PROMPT} command not found" - fi - ;; + if (command -v starship &>/dev/null); then + eval "$(starship init bash)" + else + echo "${USE_PROMPT} command not found" + fi + ;; # https://github.com/justjanne/powerline-go +# -modules string +# The list of modules to load, separated by ',' +# (valid choices: aws, cwd, docker, dotenv, duration, exit, git, gitlite, hg, host, jobs, kube, load, newline, nix-shell, node, perlbrew, perms, root, shell-var, ssh, svn, termtitle, terraform-workspace, time, user, venv, vgo) +# (default "nix-shell,venv,user,host,ssh,cwd,perms,git,hg,jobs,exit,root,vgo") +# -modules-right string +# The list of modules to load anchored to the right, for shells that support it, separated by ',' +# (valid choices: aws, cwd, docker, dotenv, duration, exit, git, gitlite, hg, host, jobs, kube, load "powerline-go") - if (command -v powerline-go &>/dev/null); then - function _update_ps1() { - PS1=$(powerline-go -jobs "$(jobs -p | wc -l)" -error $? -modules "ssh,host,wsl,user,cwd,direnv,venv,perms,git,jobs,exit,root" -modules-right "docker,docker-context,kube,terraform-workspace,termtitle" -newline) - } - if [ "$TERM" != "linux" ]; then _prompt_command_add "_update_ps1"; fi - else - echo "${USE_PROMPT} command not found" - fi - ;; + if (command -v powerline-go &>/dev/null); then + function _update_ps1() { + PS1=$(powerline-go -jobs "$(jobs -p | wc -l)" -error $? -modules "ssh,host,wsl,user,cwd,direnv,venv,perms,git,jobs,exit,root" -modules-right "docker,docker-context,kube,terraform-workspace,termtitle" -newline) + } + if [ "$TERM" != "linux" ]; then _prompt_command_add "_update_ps1"; fi + else + echo "${USE_PROMPT} command not found" + fi + ;; *) - # Default simple prompt - if [ "$UID" -eq 0 ]; then - export PS1='\[\e[01;31m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' - else - export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' - fi - ;; + # Default simple prompt + │ PROMPT_DIRTRIM=3 # Limit the path to 3 levels + if [ "$UID" -eq 0 ]; then + export PS1='\[\e[01;31m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' + else + export PS1='\[\e[01;32m\]\u@\h\[\e[01;34m\] \w \$\[\e[0m\] ' + fi + ;; esac -# Limit the path to 3 levels -PROMPT_DIRTRIM=3 - # Add a smiley at end of prompt showing last command status code #smiley() { # ret_val=$?