From f9885548f9d06f39d4e5205ac38f061ae9ba7641 Mon Sep 17 00:00:00 2001 From: Nachuan Tang Date: Mon, 25 Jul 2022 02:02:32 -0400 Subject: [PATCH] set LS_COLORS for colorized support in ls and other tools --- bash_tools.sh | 8 ++++++++ bash_tools/ls_colors_theme.sh | 3 +++ bash_tools/theme_bash.sh | 2 +- bash_tools/theme_zsh.sh | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 bash_tools/ls_colors_theme.sh diff --git a/bash_tools.sh b/bash_tools.sh index 0501ca6..9331f9c 100644 --- a/bash_tools.sh +++ b/bash_tools.sh @@ -16,6 +16,14 @@ elif [ -n "$SHELL" ];then source $DOTFILE_DIR/bash_tools/theme_bash.sh fi +# For references: +# https://askubuntu.com/questions/466198/how-do-i-change-the-color-for-directories-with-ls-in-the-console + +#LS_COLORS=$LS_COLORS:'di=1;35:su=0;31:' +source $DOTFILE_DIR/bash_tools/ls_colors_theme.sh +alias ls='ls --color=auto' + +# get ipinfo of the machine function ipinfo(){ local api_str="http://ip-api.com/json/$1?fields=query,country,regionName,city,district,zip,isp,org,reverse,mobile,proxy,hosting" if ! hash python; then diff --git a/bash_tools/ls_colors_theme.sh b/bash_tools/ls_colors_theme.sh new file mode 100644 index 0000000..cc40888 --- /dev/null +++ b/bash_tools/ls_colors_theme.sh @@ -0,0 +1,3 @@ +# https://github.com/sharkdp/vivid + +export LS_COLORS="sg=0:ca=0:tw=0:*~=0;38;2;102;102;102:so=0;38;2;0;0;0;48;2;255;106;193:ex=1;38;2;255;92;87:ln=0;38;2;255;106;193:pi=0;38;2;0;0;0;48;2;87;199;255:di=0;38;2;87;199;255:mi=0;38;2;0;0;0;48;2;255;92;87:mh=0:fi=0:do=0;38;2;0;0;0;48;2;255;106;193:no=0:cd=0;38;2;255;106;193;48;2;51;51;51:rs=0:st=0:su=0:or=0;38;2;0;0;0;48;2;255;92;87:ow=0:bd=0;38;2;154;237;254;48;2;51;51;51:*.t=0;38;2;90;247;142:*.p=0;38;2;90;247;142:*.o=0;38;2;102;102;102:*.a=1;38;2;255;92;87:*.z=4;38;2;154;237;254:*.c=0;38;2;90;247;142:*.d=0;38;2;90;247;142:*.h=0;38;2;90;247;142:*.r=0;38;2;90;247;142:*.m=0;38;2;90;247;142:*.7z=4;38;2;154;237;254:*.hh=0;38;2;90;247;142:*.jl=0;38;2;90;247;142:*.bz=4;38;2;154;237;254:*.md=0;38;2;243;249;157:*.pm=0;38;2;90;247;142:*.di=0;38;2;90;247;142:*.kt=0;38;2;90;247;142:*.ts=0;38;2;90;247;142:*.ll=0;38;2;90;247;142:*.js=0;38;2;90;247;142:*.ko=1;38;2;255;92;87:*css=0;38;2;90;247;142:*.go=0;38;2;90;247;142:*.ex=0;38;2;90;247;142:*.py=0;38;2;90;247;142:*.wv=0;38;2;255;180;223:*.gz=4;38;2;154;237;254:*.nb=0;38;2;90;247;142:*.pl=0;38;2;90;247;142:*.cs=0;38;2;90;247;142:*.cr=0;38;2;90;247;142:*.ml=0;38;2;90;247;142:*.pp=0;38;2;90;247;142:*.so=1;38;2;255;92;87:*.gv=0;38;2;90;247;142:*.rb=0;38;2;90;247;142:*.cc=0;38;2;90;247;142:*.ps=0;38;2;255;92;87:*.la=0;38;2;102;102;102:*.xz=4;38;2;154;237;254:*.as=0;38;2;90;247;142:*.rs=0;38;2;90;247;142:*.rm=0;38;2;255;180;223:*.cp=0;38;2;90;247;142:*.lo=0;38;2;102;102;102:*.vb=0;38;2;90;247;142:*.mn=0;38;2;90;247;142:*.fs=0;38;2;90;247;142:*.el=0;38;2;90;247;142:*.td=0;38;2;90;247;142:*.hi=0;38;2;102;102;102:*.bc=0;38;2;102;102;102:*.sh=0;38;2;90;247;142:*.hs=0;38;2;90;247;142:*.ui=0;38;2;243;249;157:*.vim=0;38;2;90;247;142:*.rar=4;38;2;154;237;254:*.pkg=4;38;2;154;237;254:*.bcf=0;38;2;102;102;102:*.php=0;38;2;90;247;142:*.otf=0;38;2;255;180;223:*.bst=0;38;2;243;249;157:*.kts=0;38;2;90;247;142:*.ipp=0;38;2;90;247;142:*.mp3=0;38;2;255;180;223:*.pdf=0;38;2;255;92;87:*.mid=0;38;2;255;180;223:*.vcd=4;38;2;154;237;254:*.sql=0;38;2;90;247;142:*.csv=0;38;2;243;249;157:*.m4v=0;38;2;255;180;223:*.bin=4;38;2;154;237;254:*.img=4;38;2;154;237;254:*.git=0;38;2;102;102;102:*.ogg=0;38;2;255;180;223:*.exs=0;38;2;90;247;142:*.fls=0;38;2;102;102;102:*.jpg=0;38;2;255;180;223:*.bz2=4;38;2;154;237;254:*.xmp=0;38;2;243;249;157:*.toc=0;38;2;102;102;102:*.ltx=0;38;2;90;247;142:*.tml=0;38;2;243;249;157:*.yml=0;38;2;243;249;157:*.log=0;38;2;102;102;102:*.xls=0;38;2;255;92;87:*.h++=0;38;2;90;247;142:*.tgz=4;38;2;154;237;254:*.cxx=0;38;2;90;247;142:*.cpp=0;38;2;90;247;142:*.dpr=0;38;2;90;247;142:*.pbm=0;38;2;255;180;223:*.com=1;38;2;255;92;87:*.bbl=0;38;2;102;102;102:*.ini=0;38;2;243;249;157:*.sxi=0;38;2;255;92;87:*.bak=0;38;2;102;102;102:*.htc=0;38;2;90;247;142:*.lua=0;38;2;90;247;142:*.mli=0;38;2;90;247;142:*.pyc=0;38;2;102;102;102:*.mpg=0;38;2;255;180;223:*.c++=0;38;2;90;247;142:*.tmp=0;38;2;102;102;102:*.blg=0;38;2;102;102;102:*.aif=0;38;2;255;180;223:*.erl=0;38;2;90;247;142:*.sxw=0;38;2;255;92;87:*.zsh=0;38;2;90;247;142:*.pyd=0;38;2;102;102;102:*.bat=1;38;2;255;92;87:*.fon=0;38;2;255;180;223:*.htm=0;38;2;243;249;157:*.swp=0;38;2;102;102;102:*.doc=0;38;2;255;92;87:*.ics=0;38;2;255;92;87:*.pas=0;38;2;90;247;142:*.dmg=4;38;2;154;237;254:*.pid=0;38;2;102;102;102:*.ods=0;38;2;255;92;87:*.tif=0;38;2;255;180;223:*.hxx=0;38;2;90;247;142:*.rpm=4;38;2;154;237;254:*.pyo=0;38;2;102;102;102:*.png=0;38;2;255;180;223:*.txt=0;38;2;243;249;157:*.dox=0;38;2;165;255;195:*.fnt=0;38;2;255;180;223:*.avi=0;38;2;255;180;223:*.tex=0;38;2;90;247;142:*.nix=0;38;2;243;249;157:*.flv=0;38;2;255;180;223:*.ps1=0;38;2;90;247;142:*.ico=0;38;2;255;180;223:*.odp=0;38;2;255;92;87:*.def=0;38;2;90;247;142:*.tsx=0;38;2;90;247;142:*.hpp=0;38;2;90;247;142:*.epp=0;38;2;90;247;142:*.idx=0;38;2;102;102;102:*.mp4=0;38;2;255;180;223:*.psd=0;38;2;255;180;223:*.dll=1;38;2;255;92;87:*.tbz=4;38;2;154;237;254:*.pgm=0;38;2;255;180;223:*.tcl=0;38;2;90;247;142:*.fsi=0;38;2;90;247;142:*.ind=0;38;2;102;102;102:*.iso=4;38;2;154;237;254:*.rtf=0;38;2;255;92;87:*.bsh=0;38;2;90;247;142:*.apk=4;38;2;154;237;254:*.clj=0;38;2;90;247;142:*.wma=0;38;2;255;180;223:*.jar=4;38;2;154;237;254:*.ttf=0;38;2;255;180;223:*.tar=4;38;2;154;237;254:*.cfg=0;38;2;243;249;157:*.sbt=0;38;2;90;247;142:*.bag=4;38;2;154;237;254:*.mir=0;38;2;90;247;142:*.gif=0;38;2;255;180;223:*.rst=0;38;2;243;249;157:*.zst=4;38;2;154;237;254:*.deb=4;38;2;154;237;254:*.svg=0;38;2;255;180;223:*.inl=0;38;2;90;247;142:*.exe=1;38;2;255;92;87:*.aux=0;38;2;102;102;102:*.mkv=0;38;2;255;180;223:*.m4a=0;38;2;255;180;223:*hgrc=0;38;2;165;255;195:*.fsx=0;38;2;90;247;142:*.ppt=0;38;2;255;92;87:*.gvy=0;38;2;90;247;142:*.eps=0;38;2;255;180;223:*.pps=0;38;2;255;92;87:*.odt=0;38;2;255;92;87:*.out=0;38;2;102;102;102:*.xlr=0;38;2;255;92;87:*.bmp=0;38;2;255;180;223:*.kex=0;38;2;255;92;87:*.elm=0;38;2;90;247;142:*.wmv=0;38;2;255;180;223:*.sty=0;38;2;102;102;102:*.pod=0;38;2;90;247;142:*TODO=1:*.asa=0;38;2;90;247;142:*.inc=0;38;2;90;247;142:*.pro=0;38;2;165;255;195:*.ilg=0;38;2;102;102;102:*.bib=0;38;2;243;249;157:*.vob=0;38;2;255;180;223:*.csx=0;38;2;90;247;142:*.zip=4;38;2;154;237;254:*.wav=0;38;2;255;180;223:*.dot=0;38;2;90;247;142:*.xcf=0;38;2;255;180;223:*.cgi=0;38;2;90;247;142:*.mov=0;38;2;255;180;223:*.ppm=0;38;2;255;180;223:*.arj=4;38;2;154;237;254:*.swf=0;38;2;255;180;223:*.xml=0;38;2;243;249;157:*.awk=0;38;2;90;247;142:*.webm=0;38;2;255;180;223:*.docx=0;38;2;255;92;87:*.psm1=0;38;2;90;247;142:*.html=0;38;2;243;249;157:*.yaml=0;38;2;243;249;157:*.mpeg=0;38;2;255;180;223:*.java=0;38;2;90;247;142:*.rlib=0;38;2;102;102;102:*.orig=0;38;2;102;102;102:*.dart=0;38;2;90;247;142:*.fish=0;38;2;90;247;142:*.flac=0;38;2;255;180;223:*.psd1=0;38;2;90;247;142:*.conf=0;38;2;243;249;157:*.pptx=0;38;2;255;92;87:*.json=0;38;2;243;249;157:*.less=0;38;2;90;247;142:*.bash=0;38;2;90;247;142:*.tbz2=4;38;2;154;237;254:*.xlsx=0;38;2;255;92;87:*.epub=0;38;2;255;92;87:*.lock=0;38;2;102;102;102:*.tiff=0;38;2;255;180;223:*.make=0;38;2;165;255;195:*.toml=0;38;2;243;249;157:*.h264=0;38;2;255;180;223:*.opus=0;38;2;255;180;223:*.diff=0;38;2;90;247;142:*.jpeg=0;38;2;255;180;223:*.lisp=0;38;2;90;247;142:*.purs=0;38;2;90;247;142:*.hgrc=0;38;2;165;255;195:*.swift=0;38;2;90;247;142:*.mdown=0;38;2;243;249;157:*shadow=0;38;2;243;249;157:*.cache=0;38;2;102;102;102:*.cabal=0;38;2;90;247;142:*.shtml=0;38;2;243;249;157:*.dyn_o=0;38;2;102;102;102:*.toast=4;38;2;154;237;254:*README=0;38;2;40;42;54;48;2;243;249;157:*.class=0;38;2;102;102;102:*.scala=0;38;2;90;247;142:*.cmake=0;38;2;165;255;195:*.ipynb=0;38;2;90;247;142:*.patch=0;38;2;90;247;142:*.xhtml=0;38;2;243;249;157:*passwd=0;38;2;243;249;157:*.gradle=0;38;2;90;247;142:*.config=0;38;2;243;249;157:*.dyn_hi=0;38;2;102;102;102:*.flake8=0;38;2;165;255;195:*.groovy=0;38;2;90;247;142:*.ignore=0;38;2;165;255;195:*TODO.md=1:*COPYING=0;38;2;153;153;153:*INSTALL=0;38;2;40;42;54;48;2;243;249;157:*LICENSE=0;38;2;153;153;153:*.matlab=0;38;2;90;247;142:*.gemspec=0;38;2;165;255;195:*Doxyfile=0;38;2;165;255;195:*setup.py=0;38;2;165;255;195:*.desktop=0;38;2;243;249;157:*TODO.txt=1:*Makefile=0;38;2;165;255;195:*.rgignore=0;38;2;165;255;195:*COPYRIGHT=0;38;2;153;153;153:*.DS_Store=0;38;2;102;102;102:*.fdignore=0;38;2;165;255;195:*README.md=0;38;2;40;42;54;48;2;243;249;157:*configure=0;38;2;165;255;195:*.kdevelop=0;38;2;165;255;195:*.cmake.in=0;38;2;165;255;195:*.markdown=0;38;2;243;249;157:*.localized=0;38;2;102;102;102:*SConstruct=0;38;2;165;255;195:*.scons_opt=0;38;2;102;102;102:*CODEOWNERS=0;38;2;165;255;195:*.gitignore=0;38;2;165;255;195:*INSTALL.md=0;38;2;40;42;54;48;2;243;249;157:*README.txt=0;38;2;40;42;54;48;2;243;249;157:*.gitconfig=0;38;2;165;255;195:*SConscript=0;38;2;165;255;195:*Dockerfile=0;38;2;243;249;157:*Makefile.in=0;38;2;102;102;102:*INSTALL.txt=0;38;2;40;42;54;48;2;243;249;157:*.gitmodules=0;38;2;165;255;195:*MANIFEST.in=0;38;2;165;255;195:*LICENSE-MIT=0;38;2;153;153;153:*Makefile.am=0;38;2;165;255;195:*.travis.yml=0;38;2;90;247;142:*.synctex.gz=0;38;2;102;102;102:*CONTRIBUTORS=0;38;2;40;42;54;48;2;243;249;157:*appveyor.yml=0;38;2;90;247;142:*.fdb_latexmk=0;38;2;102;102;102:*.applescript=0;38;2;90;247;142:*configure.ac=0;38;2;165;255;195:*.clang-format=0;38;2;165;255;195:*LICENSE-APACHE=0;38;2;153;153;153:*.gitattributes=0;38;2;165;255;195:*CMakeLists.txt=0;38;2;165;255;195:*CMakeCache.txt=0;38;2;102;102;102:*CONTRIBUTORS.md=0;38;2;40;42;54;48;2;243;249;157:*requirements.txt=0;38;2;165;255;195:*CONTRIBUTORS.txt=0;38;2;40;42;54;48;2;243;249;157:*.sconsign.dblite=0;38;2;102;102;102:*package-lock.json=0;38;2;102;102;102:*.CFUserTextEncoding=0;38;2;102;102;102" diff --git a/bash_tools/theme_bash.sh b/bash_tools/theme_bash.sh index 090c394..b84bdae 100644 --- a/bash_tools/theme_bash.sh +++ b/bash_tools/theme_bash.sh @@ -1,4 +1,4 @@ # display git status export GIT_PS1_SHOWDIRTYSTATE=1 -export PS1='\[\e[0;32m\]\w\[\e[01;31m\]$(__git_ps1 " (%s)")\[\e[00m\] ' +export PS1='\[\e[0;32m\]\w\[\e[01;31m\]$(__git_ps1 " (%s)")\[\e[00m\]$ ' diff --git a/bash_tools/theme_zsh.sh b/bash_tools/theme_zsh.sh index f0966a7..8de9005 100644 --- a/bash_tools/theme_zsh.sh +++ b/bash_tools/theme_zsh.sh @@ -33,6 +33,6 @@ local vcs_branch='${vcs_info_msg_0_}' #PROMPT="%F{magenta}› ${current_dir}${vcs_branch} " -PROMPT=" %F{106}${current_dir}%f${vcs_branch} " +PROMPT=" %F{106}${current_dir}%f${vcs_branch}$ "