97 lines
2.4 KiB
Bash
97 lines
2.4 KiB
Bash
#
|
|
# ~/.bashrc
|
|
#
|
|
|
|
# If not running interactively, don't do anything
|
|
[[ $- != *i* ]] && return
|
|
|
|
alias ls='ls --color=auto'
|
|
alias grep='grep --color=auto'
|
|
PS1='[\u@\h \W]\$ '
|
|
alias ll='ls -alF'
|
|
alias cls="printf '\033[2J\033[3J\033[1;1H'"
|
|
|
|
export PATH=$PATH:/home/andreas/ext_sw/flutter/bin
|
|
export PATH=$PATH:/home/andreas/.local/bin
|
|
|
|
alias get-idf='. $HOME/git/esp-idf/export.sh'
|
|
alias clang-idf='export IDF_TOOLCHAIN=clang && . $HOME/git/esp-idf/export.sh'
|
|
|
|
alias ic='cd ~/.config/i3'
|
|
alias nc='cd ~/.config/nvim'
|
|
alias ebc='nvim ~/.bashrc'
|
|
|
|
alias ait='cd ~/Documents/kit/AIT'
|
|
alias kit='cd ~/Documents/kit'
|
|
alias eml='cd ~/Documents/kit/EMLLAB/emllab-challenge && . venv/bin/activate'
|
|
alias let='cd ~/git/ba-letter'
|
|
|
|
alias hyp='cd ~/git/HyperLink_SW'
|
|
|
|
source /usr/share/git/completion/git-completion.bash
|
|
|
|
eval "$(thefuck --alias)"
|
|
|
|
export VISUAL=nvim
|
|
export EDITOR="$VISUAL"
|
|
|
|
function pym {
|
|
python -m $@
|
|
}
|
|
|
|
function _pym_complete {
|
|
|
|
local executable current previous options
|
|
executable=${COMP_WORDS[0]}
|
|
current="${COMP_WORDS[COMP_CWORD]}"
|
|
previous="${COMP_WORDS[COMP_CWORD-1]}"
|
|
|
|
COMPREPLY=()
|
|
if [[ ( "$executable" == python* && "$previous" == "-m" ) ||
|
|
( "$executable" == pym && ! "$current" == -* ) ]]; then
|
|
|
|
options="`python <<EOF
|
|
import os
|
|
import pkgutil
|
|
import sys
|
|
current = '$current'
|
|
if '.' in current:
|
|
package_name = current.rsplit('.', 1)[0]
|
|
try:
|
|
package = __import__(package_name, fromlist=['__name__'])
|
|
except:
|
|
exit()
|
|
else:
|
|
package_name = ''
|
|
package = None
|
|
def walk_packages(paths, match, prefix=''):
|
|
for loader, name, ispkg in pkgutil.iter_modules(paths, prefix):
|
|
if not name.startswith(match):
|
|
continue
|
|
yield loader, name, ispkg
|
|
if ispkg:
|
|
for x in walk_packages([os.path.join(loader.path, name.split('.')[-1])], match, name + '.'):
|
|
yield x
|
|
for loader, name, ispkg in walk_packages(
|
|
package and getattr(package, '__path__', ()),
|
|
current,
|
|
package_name and (package_name + '.'),
|
|
):
|
|
if ispkg:
|
|
continue
|
|
if name.endswith('.__main__'):
|
|
print(name.rsplit('.', 1)[0])
|
|
else:
|
|
print(name)
|
|
EOF
|
|
`"
|
|
COMPREPLY=( $(compgen -W "${options}") )
|
|
return 0
|
|
fi
|
|
}
|
|
|
|
complete -F _pym_complete -o nospace -o bashdefault -o default pym
|
|
complete -F _pym_complete -o nospace -o bashdefault -o default python
|
|
|
|
source /usr/share/fzf/key-bindings.bash
|