dotfiles/.bashrc
2024-02-28 01:37:11 +01:00

95 lines
2.5 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 sd="cd \$(find . -type d -not -path '*/.*' 2>/dev/null | sed 's/^..//' | fzf)"
alias asd="cd \$(find . -type d 2>/dev/null | sed 's/^..//' | fzf)"
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 c='cd ~/.config'
alias nc='cd ~/.config/nvim'
alias enc='nvim ~/.config/nvim && nvim'
alias ebc='nvim ~/.bashrc'
alias eic='nvim ~/.config/i3/config'
alias ntp='cd ~/Documents/kit/NTP/tasks'
alias eml='cd ~/Documents/kit/EMLLAB/emllab-challenge && . venv/bin/activate'
alias let='cd ~/git/ba-letter'
alias ams='cd ~/Documents/kit/AMS/'
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