annotate dot_bashrc @ 319:b93f12d23fbd

Rename init.lua to config.lua init.lua is now automatically sourced, and runs before init.vim causing issues like lspconfig that cannot be found. Renaming to something that will not be sourced automatically and manually load it from init.vim when all plugins are loaded
author Zeger Van de Vannet <zegervdv@me.com>
date Thu, 17 Dec 2020 17:49:14 +0100
parents 205d82eb93b4
children 7838713fd3b4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
259
81e00b8647b9 Fix colors
zegervdv <zegervdv@me.com>
parents: 258
diff changeset
1 # vim:ft=bash
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
2 export TERM=xterm-256color
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
3 export SHELL=bash
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
4
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
5 prompt_env() {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
6 prompt_jobs=$(jobs | wc -l)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
7 prompt_branch=$(hg branch 2> /dev/null | awk -- '{print "on "$1}')
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
8
259
81e00b8647b9 Fix colors
zegervdv <zegervdv@me.com>
parents: 258
diff changeset
9 PS1="\[\e[36m\]\A \[\e[1;34m\]\[\e[31m\]\H\[\e[1;34m\] \w\[\e[0m\] \[\e[32m\]$prompt_branch\[\e[0m\]\n$prompt_jobs > \[\e[0m\]"
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
10 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
11
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
12 PROMPT_COMMAND=prompt_env
259
81e00b8647b9 Fix colors
zegervdv <zegervdv@me.com>
parents: 258
diff changeset
13 PS1="\[\e[36m\]\A \[\e[1;34m\]\[\e[31m\]\H\[\e[1;34m\] \w\[\e[0m\] \[\e[32m\]$prompt_branch\[\e[0m\]\n$prompt_jobs > \[\e[0m\]"
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
14
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
15
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
16 alias ll="ls -lAvhtr --color"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
17 alias l=ll
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
18 alias fgrep='fgrep -nrI --color --exclude-dir=.hg --exclude=*.log --exclude=*.dup --exclude=*.orig --exclude=transcript --exclude=tags --exclude=Session.vim'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
19 alias xclip='xclip -selection clipboard'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
20 alias mvim=gvim
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
21
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
22 export HISTCONTROL=erasedups
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
23 export HISTSIZE=10000
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
24 export HISTFILESIZE=20000
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
25 shopt -s histappend
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
26 shopt -s cmdhist
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
27 export HISTINGORE="pwd:ls:history"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
28
258
e76bb97c0099 Add kitty configuration
zegervdv <zegervdv@me.com>
parents: 257
diff changeset
29 export XDG_CONFIG_HOME=$HOME/.config
e76bb97c0099 Add kitty configuration
zegervdv <zegervdv@me.com>
parents: 257
diff changeset
30
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
31 PATH=$HOME/bin:$PATH
294
8651c133a990 Add cargo bin folder to path
zegervdv <zegervdv@me.com>
parents: 291
diff changeset
32 PATH=$HOME/.cargo/bin:$PATH
314
205d82eb93b4 Add local installs to path
Zeger Van de Vannet <zegervdv@me.com>
parents: 294
diff changeset
33 PATH=$HOME/.local/bin:$PATH
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
34
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
35 cd_func ()
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
36 {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
37 local x2 the_new_dir adir index
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
38 local -i cnt
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
39
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
40 if [[ $1 == "--" ]]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
41 dirs -v
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
42 return 0
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
43 fi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
44
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
45 the_new_dir=$1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
46 [[ -z $1 ]] && the_new_dir=$HOME
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
47
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
48 if [[ ${the_new_dir:0:1} == '-' ]]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
49 #
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
50 # Extract dir N from dirs
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
51 index=${the_new_dir:1}
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
52 [[ -z $index ]] && index=1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
53 adir=$(dirs +$index)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
54 [[ -z $adir ]] && return 1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
55 the_new_dir=$adir
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
56 fi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
57
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
58 #
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
59 # '~' has to be substituted by ${HOME}
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
60 [[ ${the_new_dir:0:1} == '~' ]] && the_new_dir="${HOME}${the_new_dir:1}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
61
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
62 #
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
63 # Now change to the new dir and add to the top of the stack
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
64 pushd "${the_new_dir}" > /dev/null
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
65 [[ $? -ne 0 ]] && return 1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
66 the_new_dir=$(pwd)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
67
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
68 #
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
69 # Trim down everything beyond 11th entry
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
70 popd -n +11 2>/dev/null 1>/dev/null
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
71
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
72 #
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
73 # Remove any other occurence of this dir, skipping the top of the stack
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
74 for ((cnt=1; cnt <= 10; cnt++)); do
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
75 x2=$(dirs +${cnt} 2>/dev/null)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
76 [[ $? -ne 0 ]] && return 0
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
77 [[ ${x2:0:1} == '~' ]] && x2="${HOME}${x2:1}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
78 if [[ "${x2}" == "${the_new_dir}" ]]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
79 popd -n +$cnt 2>/dev/null 1>/dev/null
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
80 cnt=cnt-1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
81 fi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
82 done
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
83
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
84 return 0
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
85 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
86
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
87 cd_min () {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
88 cd -$1
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
89 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
90
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
91 _cd_min() {
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
92 local cur opts
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
93 cur="${COMP_WORDS[COMP_CWORD]}"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
94 opts=$(dirs -v)
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
95 COMPREPLY=($(compgen -W "${opts}" --${cur}))
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
96 }
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
97 complete -F _cd_min cd_min
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
98
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
99 alias cd=cd_func
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
100
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
101 alias psm='/bin/ps -u $USER --sort pgid,time,size,time,pcpu -o pid,pgid,state,user,start_time,time,size:9,pcpu,command --forest'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
102
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
103 export EDITOR=nvim
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
104 export HGEDITOR=nvim
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
105
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
106 stty > /dev/null
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
107
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
108 # Options
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
109 shopt -s globstar
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
110 shopt -s autocd
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
111 shopt -s cdspell
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
112 shopt -s dirspell
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
113 shopt -s histverify
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
114 shopt -s nocaseglob
291
450e01f9d3bd Use direxpand to expand variables into paths on tab
zegervdv <zegervdv@me.com>
parents: 259
diff changeset
115 shopt -s direxpand
257
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
116
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
117 set -o vi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
118
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
119 # Load mercurial autocompletion
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
120 if [ -f /etc/bash_completion ]; then
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
121 source /etc/bash_completion
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
122 fi
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
123
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
124
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
125 [ -f ~/.fzf.bash ] && source ~/.fzf.bash
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
126 export FZF_DEFAULT_COMMAND='ag -g ""'
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
127 source ~/.config/bash/fzf_aliases
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
128
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
129
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
130 export NVM_DIR="$HOME/.nvm"
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
131 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
132 [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
133
d726921aaabe Clean start of dotfiles repo
zegervdv <zegervdv@me.com>
parents:
diff changeset
134 [ -f ~/.bashrc.local ] && source ~/.bashrc.local