diff options
Diffstat (limited to 'fedora/.config/bash')
| -rw-r--r-- | fedora/.config/bash/autocomplete.bash | 218 | ||||
| -rw-r--r-- | fedora/.config/bash/bash_profile | 116 | ||||
| -rw-r--r-- | fedora/.config/bash/bashrc | 180 | ||||
| -rw-r--r-- | fedora/.config/bash/completions/bat.bash | 249 | ||||
| -rw-r--r-- | fedora/.config/bash/completions/rg.bash | 783 | ||||
| -rw-r--r-- | fedora/.config/bash/completions/ya.bash | 647 | ||||
| -rw-r--r-- | fedora/.config/bash/completions/yazi.bash | 66 | ||||
| -rw-r--r-- | fedora/.config/bash/completions/zoxide.bash | 243 | ||||
| -rw-r--r-- | fedora/.config/bash/git.bash | 7 | ||||
| -rw-r--r-- | fedora/.config/bash/keymaps.bash | 218 | ||||
| -rw-r--r-- | fedora/.config/bash/packages.bash | 35 | ||||
| -rw-r--r-- | fedora/.config/bash/scripts.bash | 436 |
12 files changed, 0 insertions, 3198 deletions
diff --git a/fedora/.config/bash/autocomplete.bash b/fedora/.config/bash/autocomplete.bash deleted file mode 100644 index 3ee6183..0000000 --- a/fedora/.config/bash/autocomplete.bash +++ /dev/null @@ -1,218 +0,0 @@ -#!/bin/bash - -### --- Auto-completes aliases --- ### -# alias - normal aliases (completed with trailing space) -# balias - blank aliases (completed without space) -# ialias - ignored aliases (not completed) - -ialiases=() -ialias() { - # usage: ialias name='value' (same as alias builtin) - alias "$@" - # extract name (everything before first '=' or first space) - local args="$1" - args=${args%%=*} - args=${args%% *} - ialiases+=("$args") -} - -baliases=() -balias() { - alias "$@" - local args="$1" - args=${args%%=*} - args=${args%% *} - baliases+=("$args") -} - -# ---------- helper: get alias value ---------- -# returns alias expansion text for a name, or empty if none -_get_alias_value() { - local name="$1" - # alias output: alias ll='ls -la' - local a - a=$(alias "$name" 2>/dev/null) || return 1 - # strip "alias name='...'" - # use parameter expansion / sed safe parsing - # get first occurrence of =', then strip quotes - a=${a#*=} - # remove leading quote if present - a=${a#\'} - a=${a%\'} - printf "%s" "$a" - return 0 -} - -# ---------- helper: membership check ---------- -_in_array() { - local item="$1" - shift - local elem - for elem in "$@"; do - if [[ "$elem" == "$item" ]]; then - return 0 - fi - done - return 1 -} - -# ---------- expand alias at cursor and optionally insert space ---------- -# This function is executed via bind -x, so it can read/modify: -# READLINE_LINE - current full line buffer -# READLINE_POINT - current cursor index (0..len) -expand_alias_space() { - # READLINE_LINE and READLINE_POINT are provided by readline when bind -x is used. - # If not present (if invoked directly), fallback to no-op - if [[ -z "${READLINE_LINE+set}" ]]; then - # fallback: just insert a space - printf " " - return 0 - fi - - local line=${READLINE_LINE} - local point=${READLINE_POINT} - - # left substring up to cursor - local left=${line:0:point} - # right substring after cursor - local right=${line:point} - - # find the last "word" before the cursor (split on whitespace) - # If left ends with whitespace, current word is empty - local lastword - if [[ "$left" =~ [[:space:]]$ ]]; then - lastword="" - else - # remove everything up to last whitespace - lastword=${left##*['$'\t\n' ']} - fi - - # if lastword is empty -> just insert a space - if [[ -z "$lastword" ]]; then - READLINE_LINE="${left} ${right}" - READLINE_POINT=$((point + 1)) - return 0 - fi - - # check if lastword is in ignored aliases -> do not expand, just insert space - if _in_array "$lastword" "${ialiases[@]}"; then - READLINE_LINE="${left} ${right}" - READLINE_POINT=$((point + 1)) - return 0 - fi - - # try to get alias expansion - local expansion - if expansion=$(_get_alias_value "$lastword"); then - # Replace the lastword in left with expansion - # compute left_without_word - local left_without="${left%${lastword}}" - - # If balias: expansion but DO NOT add trailing space - if _in_array "$lastword" "${baliases[@]}"; then - READLINE_LINE="${left_without}${expansion}${right}" - # place cursor right after the expansion - READLINE_POINT=$((${#left_without} + ${#expansion})) - return 0 - else - # Normal alias: expansion and add a space after it - READLINE_LINE="${left_without}${expansion} ${right}" - READLINE_POINT=$((${#left_without} + ${#expansion} + 1)) - return 0 - fi - else - # no alias found: just insert space - READLINE_LINE="${left} ${right}" - READLINE_POINT=$((point + 1)) - return 0 - fi -} - -# ---------- accept-line that expands alias before executing ---------- -# Bind Enter to this function via bind -x; it will expand alias (if needed) then -# simulate Enter by setting READLINE_LINE and returning - readline will accept it. -expand_alias_and_accept_line() { - # Expand at cursor (use current READLINE_LINE/POINT) - expand_alias_space - # After expansion, we want to accept the line as if Enter was pressed. - # To do so in bind -x handler, we can set a marker and then use 'builtin bind -x' hack: - # Simpler approach: write the line to a temp file, then use 'kill -SIGWINCH' ??? Too complex. - # Luckily, when a bind -x handler returns, readline continues; we want to end editing. - # There's no direct way to programmatically press enter. Instead, rely on binding Enter to a wrapper that: - # - modifies READLINE_LINE (done) and then sets a special variable so readline knows to accept. - : -} - -# ---------- key bindings ---------- -# Bind Space to our function so pressing space triggers alias-expansion behavior. -# Use bind -x to call expand_alias_space (it will both expand and insert space when appropriate). -# WARNING: this overrides normal space key behavior; our function handles insertion. -# bind -x '" "':expand_alias_space - -# optional: bind Ctrl-Space to the same (a bypass key like zsh had) -# Many terminals send "\C-@" for ctrl-space; try both common sequences: -bind -x '"\C-@":expand_alias_space' 2>/dev/null || true -bind -x '"\C- ":expand_alias_space' 2>/dev/null || true - -# Bind Enter (Return) to expand alias before accepting the line. -# We implement this by expanding then forcing a newline insertion. -# Using bind -x for Enter: when this function returns, readline will NOT automatically accept the line, -# but we can emulate acceptance by printing a newline and forcing input. Simpler: call 'return 0' from this hook -# and then send a newline. However, behavior varies between shells/terminals — so we will bind Enter to a function -# that expands and then uses 'READLINE_LINE' trick to set the expanded line and then call 'builtin bind' to -# temporarily restore Enter to default and re-invoke it. -_bash_accept_line() { - expand_alias_space - # After expanding, we want readline to accept the line. A workaround: - # write the expanded line into the current tty so that it becomes input for the shell. - # But this is messy. Instead, we simply move the cursor to the end and let the user press Enter again. - # (This is a conservative behavior to avoid interfering unexpectedly.) - return 0 -} -#bind -x '"\C-m":_bash_accept_line' - -# ---------- helper: background starter ---------- -background() { - # start multiple args as programs in background - # usage: background cmd arg1 arg2 ... - # runs: cmd arg1 & cmd arg2 & ... - local cmd="$1" - shift || return 0 - for arg in "$@"; do - "$cmd" "$arg" &>/dev/null & - done -} - -# ---------- notes ---------- -# - After placing this into ~/.bashrc, run: source ~/.bashrc -# - Test aliases: -# balias ll='ls -la' -# alias g='git status' -# ialias X='something' -# - Then type `ll` followed by Space -> will expand to `ls -la` WITHOUT appending a space (blank alias). -# - Type `g` then Space -> will expand to `git status ` with a trailing space. -# - Type `X` then Space -> will NOT expand, just insert space. -# -# Limitations / caveats: -# - readline/bind -x behavior differs slightly across environments and terminals. -# - Completely emulating zsh's zle widgets (especially auto-accept behaviors) is tricky in bash. -# - Binding Enter to fully accept-after-expansion programmatically is not perfectly portable; -# the conservative implementation above expands first and leaves acceptance to the user (press Enter again). -# -# If you want a stronger behavior (auto-accept after expansion), tell me and I'll provide a -# more aggressive implementation that works on most terminals (but with more invasive tricks). - -# ---------- file completion patterns ---------- -_vim_complete() { - local cur="${COMP_WORDS[COMP_CWORD]}" - COMPREPLY=($(compgen -f -X '!*.@(pdf|odt|ods|doc|docx|xls|xlsx|odp|ppt|pptx|mp4|mkv|aux)' -- "$cur")) -} -shopt -s extglob -complete -F _vim_complete vim - -_build_mom_complete() { - local cur="${COMP_WORDS[COMP_CWORD]}" - COMPREPLY=($(compgen -f -X '!*.mom' -- "$cur")) -} -complete -F _build_mom_complete build-workshop -complete -F _build_mom_complete build-document diff --git a/fedora/.config/bash/bash_profile b/fedora/.config/bash/bash_profile deleted file mode 100644 index d74e372..0000000 --- a/fedora/.config/bash/bash_profile +++ /dev/null @@ -1,116 +0,0 @@ -#!/bin/bash - -umask 022 - -################################################### -### --- DEFAULT PROGRAMS --- ### -################################################### -if command -v nvim >/dev/null 2>&1; then - export EDITOR="nvim" -elif command -v vim >/dev/null 2>&1; then - export EDITOR="vim" -else - export EDITOR="vi" -fi -# export FILE_MANAGER="lf $(lf -version)" -export KEYTIMEOUT=10 -export SUDO_EDITOR=$EDITOR -export TERM="xterm-256color" -export VISUAL=$EDITOR -export TERM="xterm-256color" - -################################################### -### --- XDG ENV PATHES --- ### -################################################### -### --- XDG DEFAULT --- ### -export XDG_CACHE_HOME="$HOME/.cache" -export XDG_CONFIG_HOME="$HOME/.config" -export XDG_DATA_HOME="$HOME/.local/share" -export XDG_STATE_HOME="$HOME/.local/state" - -### --- XDG CUSTOMS --- ### -export XDG_DOTFILES_DIR="$HOME/.dotfiles" -export XDG_SCRIPTS_HOME="$HOME/.local/bin" -export XDG_SOURCES_HOME="$HOME/.local/src" -export XDG_DESKTOP_DIR="$HOME/Desktop" -export XDG_DOCUMENTS_DIR="$HOME/Documents" -export XDG_DOWNLOAD_DIR="$HOME/Downloads" -export XDG_MUSIC_DIR="$HOME/Music" -export XDG_PICTURES_DIR="$HOME/Pictures" -export XDG_PUBLICSHARE_DIR="$HOME/Public" -export XDG_TEMPLATES_DIR="$HOME/Templates" -export XDG_VIDEOS_DIR="$HOME/Videos" - -####################################################### -# EXPORTS -####################################################### - -export CLICOLOR=1 -export HISTFILE="${XDG_DATA_HOME:-${HOME}/.local/share}/history/sh_history" -export INPUTRC="${XDG_CONFIG_HOME:-${HOME}/.config}/shell/inputrc" - -### --- MANPAGER --- ### -([ -x "$(command -v batcat)" ] || [ -x "$(command -v batman)" ]) && { - export MANPAGER="sh -c 'col -bx | bat -l man -p'" - export MANROFFOPT="-c" -} || { - export MANPAGER='less -s' - export LESS="R" - export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')" - export LESS_TERMCAP_md="$(printf '%b' '[1;36m')" - export LESS_TERMCAP_me="$(printf '%b' '[0m')" - export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')" - export LESS_TERMCAP_se="$(printf '%b' '[0m')" - export LESS_TERMCAP_us="$(printf '%b' '[1;32m')" - export LESS_TERMCAP_ue="$(printf '%b' '[0m')" - export LESSOPEN="| lesspipe.sh %s" -} - -export LS_COLORS="no=00:fi=00:di=00;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:*.xml=00;31:" -export LS_OPTIONS="--color=auto" - -### --- PASSWORD STORE --- ### -export PASSWORD_STORE_DIR="$XDG_DATA_HOME/.password-store" -export PASSWORD_STORE_CLIP_TIME=180 # Specifies the number of seconds to wait before restoring the clipboard, by default 45 seconds. -# export PASSWORD_STORE_GENERATED_LENGTH=18 # by default 25. -# export PASSWORD_STORE_CHARACTER_SET='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>?' -# export PASSWORD_STORE_CHARACTER_SET_NO_SYMBOLS='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_=+[]{};:,.<>?' -export PASSWORD_STORE_ENABLE_EXTENSIONS="true" -# export PASSWORD_STORE_EXTENSIONS_DIR="$PASSWORD_STORE_DIR/.extensions" -# export BASH_COMPLETION_USER_DIR=$XDG_DATA_HOME/bash-completion/completions - -### --- TMUX --- ### -export TMUX_TMPDIR="$XDG_RUNTIME_DIR" - -### --- VIM --- ### -# export GVIMINIT='let $MYGVIMRC = !has("nvim") ? "$XDG_CONFIG_HOME/vim/gvimrc" : "$XDG_CONFIG_HOME/nvim/init.lua" | so $MYGVIMRC' -# export VIMINIT='let $MYVIMRC = !has("nvim") ? "$XDG_CONFIG_HOME/vim/vimrc" : "$XDG_CONFIG_HOME/nvim/init.lua" | so $MYVIMRC' - -### --- ZSH --- ### -export ZDOTDIR="$XDG_CONFIG_HOME/zsh" -export ZPLUGINDIR="$XDG_SCRIPTS_HOME/zsh" - -################################################### -### --- ENV PATH --- ### -################################################### -# Add all directories in each subdirectory to $PATH -[ -d ~/.local/bin ] && export PATH="$(find ~/.local/bin -path '*/.git*' -prune -o \( -type f -o -type l \) -perm -u=x -exec dirname {} \; | sort -u | paste -sd ':' -):$PATH" -[ -d ~/.local/share/.password-store ] && export PATH="$(find ~/.local/share/.password-store -type d -name '.extensions' | paste -sd ':' -):$PATH" -export PATH="$ASDF_DATA_DIR/shims:$PATH" -command -v asdf >/dev/null 2>&1 && export PATH="$(find -L ~/.local/share/asdf/installs -name bin -type d -print 2>/dev/null | sort -u | paste -s -d ':' -):$PATH" -command -v npm >/dev/null 2>&1 && export PATH="$(find -L ~/.local/share/npm -name bin -type d -print 2>/dev/null | sort -u | paste -s -d ':' -):$PATH" - -unsetopt PROMPT_SP 2>/dev/null - -####################################################### -# Source global/local definitions -####################################################### - -[ -f /etc/bash_completion ] && . /etc/bash_completion -[ -f /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion -[ -f /etc/bash/bashrc ] && . /etc/bash/bashrc -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/bash/bashrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/bash/bashrc" -for file in "${XDG_CONFIG_HOME:-${HOME}/.config}/bash/completions"/*.bash; do - [ -f "$file" ] && . "$file" -done -[ ! -f "$XDG_CONFIG_HOME/shell/shortcutrc" ] && setsid -f bmshortcuts >/dev/null 2>&1 diff --git a/fedora/.config/bash/bashrc b/fedora/.config/bash/bashrc deleted file mode 100644 index ec1cc46..0000000 --- a/fedora/.config/bash/bashrc +++ /dev/null @@ -1,180 +0,0 @@ -#!/bin/bash - -[[ $- != *i* ]] && return - -####################################################### -# SET OPTIONS -####################################################### -# history -HISTCONTROL=erasedups:ignoredups:ignorespace -HISTFILESIZE=10000 -HISTSIZE=500 - -# Allow ctrl-S for history navigation (with ctrl-R) -stty -ixon -PROMPT_COMMAND="history -a" -unset GREP_OPTIONS - -set -o vi -shopt -s autocd # goto without cd -shopt -s direxpand # expend directory name -shopt -s cdspell # ignore case cd -shopt -s checkwinsize # Check the window size after each command and, if necessary, update the values of LINES and COLUMNS -shopt -s histappend # Causes bash to append to history instead of overwriting it so if you start a new terminal, you have old session history - -# Completion settings -# Ignore case on auto-completion -# Note: bind used instead of sticking these in .inputrc -bind "set completion-ignore-case on" -# Show auto-completion list automatically, without double tab -bind "set show-all-if-ambiguous on" - -####################################################### -# Set command prompt -####################################################### -function __setprompt { - local LAST_COMMAND=$? # Must come first! - - # Define colors - local LIGHTGRAY="\033[0;37m" - local WHITE="\033[1;37m" - local BLACK="\033[0;30m" - local DARKGRAY="\033[1;30m" - local RED="\033[0;31m" - local LIGHTRED="\033[1;31m" - local GREEN="\033[0;32m" - local LIGHTGREEN="\033[1;32m" - local BROWN="\033[0;33m" - local YELLOW="\033[1;33m" - local BLUE="\033[0;34m" - local LIGHTBLUE="\033[1;34m" - local MAGENTA="\033[0;35m" - local LIGHTMAGENTA="\033[1;35m" - local CYAN="\033[0;36m" - local LIGHTCYAN="\033[1;36m" - local NOCOLOR="\033[0m" - - # Show error exit code if there is one - if [[ $LAST_COMMAND != 0 ]]; then - # PS1="\[${RED}\](\[${LIGHTRED}\]ERROR\[${RED}\])-(\[${LIGHTRED}\]Exit Code \[${WHITE}\]${LAST_COMMAND}\[${RED}\])-(\[${LIGHTRED}\]" - PS1="\[${DARKGRAY}\](\[${LIGHTRED}\]ERROR\[${DARKGRAY}\])-(\[${RED}\]Exit Code \[${LIGHTRED}\]${LAST_COMMAND}\[${DARKGRAY}\])-(\[${RED}\]" - if [[ $LAST_COMMAND == 1 ]]; then - PS1+="General error" - elif [ $LAST_COMMAND == 2 ]; then - PS1+="Missing keyword, command, or permission problem" - elif [ $LAST_COMMAND == 126 ]; then - PS1+="Permission problem or command is not an executable" - elif [ $LAST_COMMAND == 127 ]; then - PS1+="Command not found" - elif [ $LAST_COMMAND == 128 ]; then - PS1+="Invalid argument to exit" - elif [ $LAST_COMMAND == 129 ]; then - PS1+="Fatal error signal 1" - elif [ $LAST_COMMAND == 130 ]; then - PS1+="Script terminated by Control-C" - elif [ $LAST_COMMAND == 131 ]; then - PS1+="Fatal error signal 3" - elif [ $LAST_COMMAND == 132 ]; then - PS1+="Fatal error signal 4" - elif [ $LAST_COMMAND == 133 ]; then - PS1+="Fatal error signal 5" - elif [ $LAST_COMMAND == 134 ]; then - PS1+="Fatal error signal 6" - elif [ $LAST_COMMAND == 135 ]; then - PS1+="Fatal error signal 7" - elif [ $LAST_COMMAND == 136 ]; then - PS1+="Fatal error signal 8" - elif [ $LAST_COMMAND == 137 ]; then - PS1+="Fatal error signal 9" - elif [ $LAST_COMMAND -gt 255 ]; then - PS1+="Exit status out of range" - else - PS1+="Unknown error code" - fi - PS1+="\[${DARKGRAY}\])\[${NOCOLOR}\]\n" - else - PS1="" - fi - - # Date - PS1+="\[${DARKGRAY}\](\[${CYAN}\]\$(date +%a) $(date +%b-'%-m')" # Date - PS1+="${BLUE} $(date +'%-I':%M:%S%P)\[${DARKGRAY}\])-" # Time - - # CPU - PS1+="(\[${MAGENTA}\]CPU $(cpu)%" - - # Jobs - PS1+="\[${DARKGRAY}\]:\[${MAGENTA}\]\j" - - # Network Connections (for a server - comment out for non-server) - PS1+="\[${DARKGRAY}\]:\[${MAGENTA}\]Net $(awk 'END {print NR}' /proc/net/tcp)" - - PS1+="\[${DARKGRAY}\])-" - - # User and server - local SSH_IP=$(echo $SSH_CLIENT | awk '{ print $1 }') - local SSH2_IP=$(echo $SSH2_CLIENT | awk '{ print $1 }') - if [ $SSH2_IP ] || [ $SSH_IP ]; then - PS1+="(\[${RED}\]\u@\h" - else - PS1+="(\[${RED}\]\u" - fi - - # Current directory - PS1+="\[${DARKGRAY}\]:\[${BROWN}\]\w\[${DARKGRAY}\])-" - - # Total size of files in current directory - PS1+="(\[${GREEN}\]$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')\[${DARKGRAY}\]:" - - # Number of files - PS1+="\[${GREEN}\]\$(/bin/ls -A -1 | /usr/bin/wc -l)\[${DARKGRAY}\])" - - # Skip to the next line - PS1+="\n" - - if [[ $EUID -ne 0 ]]; then - PS1+="\[${GREEN}\]>\[${NOCOLOR}\] " # Normal user - else - PS1+="\[${RED}\]>\[${NOCOLOR}\] " # Root user - fi - - # PS2 is used to continue a command using the \ character - PS2="\[${DARKGRAY}\]>\[${NOCOLOR}\] " - - # PS3 is used to enter a number choice in a script - PS3='Please enter a number from above list: ' - - # PS4 is used for tracing a script in debug mode - PS4='\[${DARKGRAY}\]+\[${NOCOLOR}\] ' -} -# PROMPT_COMMAND='__setprompt' -PS1="\[\e[1m\]\[\e[31m\][\[\e[33m\]\u\[\e[32m\]@\[\e[34m\]\h \[\e[35m\]\W\[\e[31m\]]\[\e[37m\]\\$ \[\e[0m\]" - -####################################################### -# KEY BINDING -####################################################### - -bind '"\C-l":clear-screen' -bind '"\C-g":"lfcd\n"' - -####################################################### -# SOURCE -####################################################### - -eval "$(dircolors)" - -[ -f "$HOME/.config/bash/git.bash" ] && . "$HOME/.config/bash/git.bash" -[ -f "$HOME/.config/bash/p10k.bash" ] && . "$HOME/.config/bash/p10k.bash" -[ -f "$HOME/.config/bash/autocomplete.bash" ] && . "$HOME/.config/bash/autocomplete.bash" -[ -f "$HOME/.config/bash/scripts.bash" ] && . "$HOME/.config/bash/scripts.bash" -[ -f "$HOME/.config/bash/keymaps.bash" ] && . "$HOME/.config/bash/keymaps.bash" -[ -f "$HOME/.config/bash/plugins.bash" ] && . "$HOME/.config/bash/plugins.bash" -[ -f "$HOME/.config/bash/packages.bash" ] && . "$HOME/.config/bash/packages.bash" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/aliasrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/aliasrc" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/git-aliasrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/git-aliasrc" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/shortcutrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/shortcutrc" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/shortcutenvrc" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutenvrc" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/zshnameddirrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/zshnameddirrc" -[ -f "${XDG_SCRIPTS_HOME:-${HOME}/.local/bin}/bash-preexec" ] && . "${XDG_SCRIPTS_HOME:-${HOME}/.local/bin}/bash-preexec" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootshortcutrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootshortcutrc" -[ -f "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootzshnameddirrc" ] && . "${XDG_CONFIG_HOME:-${HOME}/.config}/shell/rootzshnameddirrc" diff --git a/fedora/.config/bash/completions/bat.bash b/fedora/.config/bash/completions/bat.bash deleted file mode 100644 index fa0f712..0000000 --- a/fedora/.config/bash/completions/bat.bash +++ /dev/null @@ -1,249 +0,0 @@ -# shellcheck disable=SC2207 - -# Requires https://github.com/scop/bash-completion - -# Macs have bash3 for which the bash-completion package doesn't include -# _init_completion. This is a minimal version of that function. -__bat_init_completion() -{ - COMPREPLY=() - _get_comp_words_by_ref "$@" cur prev words cword -} - -__bat_escape_completions() -{ - # Do not escape if completing a quoted value. - [[ $cur == [\"\']* ]] && return 0 - if (( - BASH_VERSINFO[0] > 5 || \ - BASH_VERSINFO[0] == 5 && BASH_VERSINFO[1] >= 3 - )); then - # bash >= 5.3 has "compopt -o fullquote", which exactly does - # what this function tries to do. - compopt -o fullquote - elif (( - BASH_VERSINFO[0] > 4 || \ - BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] > 0 - )); then - # printf -v to an array index is available in bash >= 4.1. - # Use it if available, as -o filenames is semantically - # incorrect if we are not actually completing filenames, and it - # has side effects (e.g. adds trailing slash to candidates - # matching present dirs). - local i - for i in ${!COMPREPLY[*]}; do - printf -v "COMPREPLY[i]" %q "${COMPREPLY[i]}" - done - - # We can use "compopt -o noquote" available in bash >= 4.3 to - # prevent further quoting by the shell, which would be - # unexpectedly applied when a quoted result matches a filename. - if (( - BASH_VERSINFO[0] > 4 || \ - BASH_VERSINFO[0] == 4 && BASH_VERSINFO[1] >= 3 - )); then - compopt -o noquote - fi - else - compopt -o filenames - fi -} - -_bat() { - local cur prev words split=false - if declare -F _init_completion >/dev/null 2>&1; then - _init_completion -s || return 0 - else - __bat_init_completion -n "=" || return 0 - _split_longopt && split=true - fi - - if [[ ${words[1]-} == cache ]]; then - case $prev in - --source | --target) - _filedir -d - return 0 - ;; - esac - COMPREPLY=($(compgen -W " - --build - --clear - --source - --target - --blank - --help - " -- "$cur")) - return 0 - fi - - case $prev in - -l | --language) - local IFS=$'\n' - COMPREPLY=($(compgen -W "$( - "$1" --list-languages | while IFS=: read -r lang _; do - printf "%s\n" "$lang" - done - )" -- "$cur")) - __bat_escape_completions - return 0 - ;; - -H | --highlight-line | \ - --diff-context | \ - --tabs | \ - --terminal-width | \ - -m | --map-syntax | \ - --ignored-suffix | \ - --list-themes | \ - --squeeze-limit | \ - --line-range | \ - -L | --list-languages | \ - --lessopen | \ - --no-paging | \ - --diagnostic | \ - --acknowledgements | \ - -h | --help | \ - -V | --version | \ - --cache-dir | \ - --config-dir | \ - --config-file | \ - --generate-config-file) - # argument required but no completion available, or option - # causes an exit - return 0 - ;; - --file-name) - _filedir - return 0 - ;; - --wrap) - COMPREPLY=($(compgen -W "auto never character" -- "$cur")) - return 0 - ;; - --binary) - COMPREPLY=($(compgen -W "no-printing as-text" -- "$cur")) - return 0 - ;; - --nonprintable-notation) - COMPREPLY=($(compgen -W "unicode caret" -- "$cur")) - return 0 - ;; - --strip-ansi) - COMPREPLY=($(compgen -W "auto never always" -- "$cur")) - return 0 - ;; - --completion) - COMPREPLY=($(compgen -W "bash fish zsh ps1" -- "$cur")) - return 0 - ;; - --color | --decorations | --paging) - COMPREPLY=($(compgen -W "auto never always" -- "$cur")) - return 0 - ;; - --italic-text) - COMPREPLY=($(compgen -W "always never" -- "$cur")) - return 0 - ;; - --pager) - COMPREPLY=($(compgen -c -- "$cur")) - return 0 - ;; - --theme) - local IFS=$'\n' - COMPREPLY=($(compgen -W "auto${IFS}auto:always${IFS}auto:system${IFS}dark${IFS}light${IFS}$("$1" --list-themes)" -- "$cur")) - __bat_escape_completions - return 0 - ;; - --theme-dark | \ - --theme-light) - local IFS=$'\n' - COMPREPLY=($(compgen -W "$("$1" --list-themes)" -- "$cur")) - __bat_escape_completions - return 0 - ;; - --style) - # shellcheck disable=SC2034 - local -a styles=( - default - full - auto - plain - changes - header - header-filename - header-filesize - grid - rule - numbers - snip - ) - # shellcheck disable=SC2016 - if declare -F _comp_delimited >/dev/null 2>&1; then - # bash-completion > 2.11 - _comp_delimited , -W '"${styles[@]}"' - else - COMPREPLY=($(compgen -W '${styles[@]}' -- "$cur")) - fi - return 0 - esac - - $split && return 0 - - if [[ $cur == -* ]]; then - # --unbuffered excluded intentionally (no-op) - COMPREPLY=($(compgen -W " - --show-all - --nonprintable-notation - --binary - --plain - --language - --highlight-line - --file-name - --diff - --diff-context - --tabs - --wrap - --chop-long-lines - --terminal-width - --number - --color - --italic-text - --decorations - --force-colorization - --paging - --no-paging - --pager - --map-syntax - --ignored-suffix - --theme - --theme-dark - --theme-light - --list-themes - --squeeze-blank - --squeeze-limit - --strip-ansi - --style - --line-range - --list-languages - --lessopen - --completion - --diagnostic - --acknowledgements - --set-terminal-title - --help - --version - --cache-dir - --config-dir - --config-file - --generate-config-file - --no-config - --no-custom-assets - --no-lessopen - " -- "$cur")) - return 0 - fi - - _filedir - - ## Completion of the 'cache' command itself is removed for better UX - ## See https://github.com/sharkdp/bat/issues/2085#issuecomment-1271646802 -} && complete -F _bat bat diff --git a/fedora/.config/bash/completions/rg.bash b/fedora/.config/bash/completions/rg.bash deleted file mode 100644 index 12d1039..0000000 --- a/fedora/.config/bash/completions/rg.bash +++ /dev/null @@ -1,783 +0,0 @@ -_rg() { - local i cur prev opts cmds - COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - cmd="" - opts="" - - for i in ${COMP_WORDS[@]}; do - case "${i}" in - rg) - cmd="rg" - ;; - *) - ;; - esac - done - - case "${cmd}" in - rg) - opts="--regexp -e --file -f --after-context -A --before-context -B --binary --no-binary --block-buffered --no-block-buffered --byte-offset -b --no-byte-offset --case-sensitive -s --color --colors --column --no-column --context -C --context-separator --no-context-separator --count -c --count-matches --crlf --no-crlf --debug --dfa-size-limit --encoding -E --no-encoding --engine --field-context-separator --field-match-separator --files --files-with-matches -l --files-without-match --fixed-strings -F --no-fixed-strings --follow -L --no-follow --generate --glob -g --glob-case-insensitive --no-glob-case-insensitive --heading --no-heading --help -h --hidden -. --no-hidden --hostname-bin --hyperlink-format --iglob --ignore-case -i --ignore-file --ignore-file-case-insensitive --no-ignore-file-case-insensitive --include-zero --no-include-zero --invert-match -v --no-invert-match --json --no-json --line-buffered --no-line-buffered --line-number -n --no-line-number -N --line-regexp -x --max-columns -M --max-columns-preview --no-max-columns-preview --max-count -m --max-depth -d --max-filesize --mmap --no-mmap --multiline -U --no-multiline --multiline-dotall --no-multiline-dotall --no-config --no-ignore --ignore --no-ignore-dot --ignore-dot --no-ignore-exclude --ignore-exclude --no-ignore-files --ignore-files --no-ignore-global --ignore-global --no-ignore-messages --ignore-messages --no-ignore-parent --ignore-parent --no-ignore-vcs --ignore-vcs --no-messages --messages --no-require-git --require-git --no-unicode --unicode --null -0 --null-data --one-file-system --no-one-file-system --only-matching -o --path-separator --passthru --pcre2 -P --no-pcre2 --pcre2-version --pre --no-pre --pre-glob --pretty -p --quiet -q --regex-size-limit --replace -r --search-zip -z --no-search-zip --smart-case -S --sort --sortr --stats --no-stats --stop-on-nonmatch --text -a --no-text --threads -j --trace --trim --no-trim --type -t --type-not -T --type-add --type-clear --type-list --unrestricted -u --version -V --vimgrep --with-filename -H --no-filename -I --word-regexp -w --auto-hybrid-regex --no-auto-hybrid-regex --no-pcre2-unicode --pcre2-unicode --sort-files --no-sort-files <PATTERN> <PATH>..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=($(compgen -W "${opts}" -- "${cur}")) - return 0 - fi - case "${prev}" in - - --regexp) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -e) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -f) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --after-context) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -A) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --before-context) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -B) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --binary) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-binary) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --block-buffered) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-block-buffered) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --byte-offset) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -b) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-byte-offset) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --case-sensitive) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -s) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --color) - COMPREPLY=($(compgen -W "never auto always ansi" -- "${cur}")) - return 0 - ;; - --colors) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --column) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-column) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --context) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -C) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --context-separator) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-context-separator) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --count) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -c) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --count-matches) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --crlf) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-crlf) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --debug) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --dfa-size-limit) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --encoding) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -E) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-encoding) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --engine) - COMPREPLY=($(compgen -W "default pcre2 auto" -- "${cur}")) - return 0 - ;; - --field-context-separator) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --field-match-separator) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --files) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --files-with-matches) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -l) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --files-without-match) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --fixed-strings) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -F) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-fixed-strings) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --follow) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -L) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-follow) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --generate) - COMPREPLY=($(compgen -W "man complete-bash complete-zsh complete-fish complete-powershell" -- "${cur}")) - return 0 - ;; - --glob) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -g) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --glob-case-insensitive) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-glob-case-insensitive) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --heading) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-heading) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --help) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -h) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --hidden) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -.) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-hidden) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --hostname-bin) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --hyperlink-format) - COMPREPLY=($(compgen -W "default none cursor file grep+ kitty macvim textmate vscode vscode-insiders vscodium" -- "${cur}")) - return 0 - ;; - --iglob) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-case) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -i) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-file-case-insensitive) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-file-case-insensitive) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --include-zero) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-include-zero) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --invert-match) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -v) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-invert-match) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --json) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-json) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --line-buffered) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-line-buffered) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --line-number) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -n) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-line-number) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -N) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --line-regexp) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -x) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --max-columns) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -M) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --max-columns-preview) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-max-columns-preview) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --max-count) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -m) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --max-depth) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -d) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --max-filesize) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --mmap) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-mmap) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --multiline) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -U) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-multiline) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --multiline-dotall) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-multiline-dotall) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-config) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-dot) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-dot) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-exclude) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-exclude) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-files) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-files) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-global) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-global) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-messages) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-messages) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-parent) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-parent) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-ignore-vcs) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --ignore-vcs) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-messages) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --messages) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-require-git) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --require-git) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-unicode) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unicode) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --null) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -0) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --null-data) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --one-file-system) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-one-file-system) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --only-matching) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -o) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --path-separator) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --passthru) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --pcre2) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -P) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-pcre2) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --pcre2-version) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --pre) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-pre) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --pre-glob) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --pretty) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -p) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --quiet) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -q) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --regex-size-limit) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --replace) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -r) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --search-zip) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -z) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-search-zip) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --smart-case) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -S) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --sort) - COMPREPLY=($(compgen -W "none path modified accessed created" -- "${cur}")) - return 0 - ;; - --sortr) - COMPREPLY=($(compgen -W "none path modified accessed created" -- "${cur}")) - return 0 - ;; - --stats) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-stats) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --stop-on-nonmatch) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --text) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -a) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-text) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --threads) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -j) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --trace) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --trim) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-trim) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --type) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -t) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --type-not) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -T) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --type-add) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --type-clear) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --type-list) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --unrestricted) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -u) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --version) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -V) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --vimgrep) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --with-filename) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -H) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-filename) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -I) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --word-regexp) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -w) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --auto-hybrid-regex) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-auto-hybrid-regex) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-pcre2-unicode) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --pcre2-unicode) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --sort-files) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --no-sort-files) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - esac - COMPREPLY=($(compgen -W "${opts}" -- "${cur}")) - return 0 - ;; - esac -} - -complete -F _rg -o bashdefault -o default rg diff --git a/fedora/.config/bash/completions/ya.bash b/fedora/.config/bash/completions/ya.bash deleted file mode 100644 index b24e3e5..0000000 --- a/fedora/.config/bash/completions/ya.bash +++ /dev/null @@ -1,647 +0,0 @@ -_ya() { - local i cur prev opts cmd - COMPREPLY=() - if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then - cur="$2" - else - cur="${COMP_WORDS[COMP_CWORD]}" - fi - prev="$3" - cmd="" - opts="" - - for i in "${COMP_WORDS[@]:0:COMP_CWORD}" - do - case "${cmd},${i}" in - ",$1") - cmd="ya" - ;; - ya,emit) - cmd="ya__emit" - ;; - ya,emit-to) - cmd="ya__emit__to" - ;; - ya,help) - cmd="ya__help" - ;; - ya,pack) - cmd="ya__pack" - ;; - ya,pkg) - cmd="ya__pkg" - ;; - ya,pub) - cmd="ya__pub" - ;; - ya,pub-to) - cmd="ya__pub__to" - ;; - ya,sub) - cmd="ya__sub" - ;; - ya__help,emit) - cmd="ya__help__emit" - ;; - ya__help,emit-to) - cmd="ya__help__emit__to" - ;; - ya__help,help) - cmd="ya__help__help" - ;; - ya__help,pack) - cmd="ya__help__pack" - ;; - ya__help,pkg) - cmd="ya__help__pkg" - ;; - ya__help,pub) - cmd="ya__help__pub" - ;; - ya__help,pub-to) - cmd="ya__help__pub__to" - ;; - ya__help,sub) - cmd="ya__help__sub" - ;; - ya__help__pkg,add) - cmd="ya__help__pkg__add" - ;; - ya__help__pkg,delete) - cmd="ya__help__pkg__delete" - ;; - ya__help__pkg,install) - cmd="ya__help__pkg__install" - ;; - ya__help__pkg,list) - cmd="ya__help__pkg__list" - ;; - ya__help__pkg,upgrade) - cmd="ya__help__pkg__upgrade" - ;; - ya__pkg,add) - cmd="ya__pkg__add" - ;; - ya__pkg,delete) - cmd="ya__pkg__delete" - ;; - ya__pkg,help) - cmd="ya__pkg__help" - ;; - ya__pkg,install) - cmd="ya__pkg__install" - ;; - ya__pkg,list) - cmd="ya__pkg__list" - ;; - ya__pkg,upgrade) - cmd="ya__pkg__upgrade" - ;; - ya__pkg__help,add) - cmd="ya__pkg__help__add" - ;; - ya__pkg__help,delete) - cmd="ya__pkg__help__delete" - ;; - ya__pkg__help,help) - cmd="ya__pkg__help__help" - ;; - ya__pkg__help,install) - cmd="ya__pkg__help__install" - ;; - ya__pkg__help,list) - cmd="ya__pkg__help__list" - ;; - ya__pkg__help,upgrade) - cmd="ya__pkg__help__upgrade" - ;; - *) - ;; - esac - done - - case "${cmd}" in - ya) - opts="-V -h --version --help emit emit-to pkg pack pub pub-to sub help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__emit) - opts="-h --help <NAME> [ARGS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__emit__to) - opts="-h --help <RECEIVER> <NAME> [ARGS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help) - opts="emit emit-to pkg pack pub pub-to sub help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__emit) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__emit__to) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pack) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pkg) - opts="add delete install list upgrade" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pkg__add) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pkg__delete) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pkg__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pkg__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pkg__upgrade) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pub) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__pub__to) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__help__sub) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pack) - opts="-a -d -i -l -u -h --add --delete --install --list --upgrade --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --add) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -a) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --delete) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -d) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg) - opts="-h --help add delete install list upgrade help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__add) - opts="-h --help [IDS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__delete) - opts="-h --help [IDS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help) - opts="add delete install list upgrade help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help__add) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help__delete) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help__help) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help__install) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help__list) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__help__upgrade) - opts="" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 4 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__install) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__list) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pkg__upgrade) - opts="-h --help" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pub) - opts="-h --str --json --list --help <KIND>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --str) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --json) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --list) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__pub__to) - opts="-h --str --json --list --help <RECEIVER> <KIND>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --str) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --json) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --list) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - ya__sub) - opts="-h --help <KINDS>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then - complete -F _ya -o nosort -o bashdefault -o default ya -else - complete -F _ya -o bashdefault -o default ya -fi diff --git a/fedora/.config/bash/completions/yazi.bash b/fedora/.config/bash/completions/yazi.bash deleted file mode 100644 index ae2d3a1..0000000 --- a/fedora/.config/bash/completions/yazi.bash +++ /dev/null @@ -1,66 +0,0 @@ -_yazi() { - local i cur prev opts cmd - COMPREPLY=() - if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then - cur="$2" - else - cur="${COMP_WORDS[COMP_CWORD]}" - fi - prev="$3" - cmd="" - opts="" - - for i in "${COMP_WORDS[@]:0:COMP_CWORD}" - do - case "${cmd},${i}" in - ",$1") - cmd="yazi" - ;; - *) - ;; - esac - done - - case "${cmd}" in - yazi) - opts="-V -h --cwd-file --chooser-file --clear-cache --client-id --local-events --remote-events --debug --version --help [ENTRIES]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --cwd-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --chooser-file) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --client-id) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --local-events) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --remote-events) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then - complete -F _yazi -o nosort -o bashdefault -o default yazi -else - complete -F _yazi -o bashdefault -o default yazi -fi diff --git a/fedora/.config/bash/completions/zoxide.bash b/fedora/.config/bash/completions/zoxide.bash deleted file mode 100644 index 1c2ed84..0000000 --- a/fedora/.config/bash/completions/zoxide.bash +++ /dev/null @@ -1,243 +0,0 @@ -_zoxide() { - local i cur prev opts cmd - COMPREPLY=() - if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then - cur="$2" - else - cur="${COMP_WORDS[COMP_CWORD]}" - fi - prev="$3" - cmd="" - opts="" - - for i in "${COMP_WORDS[@]:0:COMP_CWORD}" - do - case "${cmd},${i}" in - ",$1") - cmd="zoxide" - ;; - zoxide,add) - cmd="zoxide__add" - ;; - zoxide,edit) - cmd="zoxide__edit" - ;; - zoxide,import) - cmd="zoxide__import" - ;; - zoxide,init) - cmd="zoxide__init" - ;; - zoxide,query) - cmd="zoxide__query" - ;; - zoxide,remove) - cmd="zoxide__remove" - ;; - zoxide__edit,decrement) - cmd="zoxide__edit__decrement" - ;; - zoxide__edit,delete) - cmd="zoxide__edit__delete" - ;; - zoxide__edit,increment) - cmd="zoxide__edit__increment" - ;; - zoxide__edit,reload) - cmd="zoxide__edit__reload" - ;; - *) - ;; - esac - done - - case "${cmd}" in - zoxide) - opts="-h -V --help --version add edit import init query remove" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__add) - opts="-s -h -V --score --help --version <PATHS>..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --score) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - -s) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__edit) - opts="-h -V --help --version decrement delete increment reload" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__edit__decrement) - opts="-h -V --help --version <PATH>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__edit__delete) - opts="-h -V --help --version <PATH>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__edit__increment) - opts="-h -V --help --version <PATH>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__edit__reload) - opts="-h -V --help --version" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__import) - opts="-h -V --from --merge --help --version <PATH>" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --from) - COMPREPLY=($(compgen -W "autojump z" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__init) - opts="-h -V --no-cmd --cmd --hook --help --version bash elvish fish nushell posix powershell tcsh xonsh zsh" - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --cmd) - COMPREPLY=($(compgen -f "${cur}")) - return 0 - ;; - --hook) - COMPREPLY=($(compgen -W "none prompt pwd" -- "${cur}")) - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__query) - opts="-a -i -l -s -h -V --all --interactive --list --score --exclude --help --version [KEYWORDS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - --exclude) - COMPREPLY=() - if [[ "${BASH_VERSINFO[0]}" -ge 4 ]]; then - compopt -o plusdirs - fi - return 0 - ;; - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - zoxide__remove) - opts="-h -V --help --version [PATHS]..." - if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - fi - case "${prev}" in - *) - COMPREPLY=() - ;; - esac - COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) - return 0 - ;; - esac -} - -if [[ "${BASH_VERSINFO[0]}" -eq 4 && "${BASH_VERSINFO[1]}" -ge 4 || "${BASH_VERSINFO[0]}" -gt 4 ]]; then - complete -F _zoxide -o nosort -o bashdefault -o default zoxide -else - complete -F _zoxide -o bashdefault -o default zoxide -fi diff --git a/fedora/.config/bash/git.bash b/fedora/.config/bash/git.bash deleted file mode 100644 index 8fe7382..0000000 --- a/fedora/.config/bash/git.bash +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# Speed up git completion -# http://talkings.org/post/5236392664/zsh-and-slow-git-completion -__git_files() { - _wanted files expl 'local files' _files -} diff --git a/fedora/.config/bash/keymaps.bash b/fedora/.config/bash/keymaps.bash deleted file mode 100644 index 15bd7e2..0000000 --- a/fedora/.config/bash/keymaps.bash +++ /dev/null @@ -1,218 +0,0 @@ -#!/bin/bash - -# --------- Bash port (u-prefix removed) --------- -# Put this into ~/.bashrc and run: source ~/.bashrc - -# enable vi editing mode -set -o vi - -# Try to set beam cursor at prompt (best-effort) -PROMPT_COMMAND='echo -ne "\e[5 q"' - -# ---------- helper: pre_cmd ---------- -pre_cmd() { - local last_cmd - last_cmd=$(history 1 | sed 's/^[ ]*[0-9]*[ ]*//') - - if [[ $last_cmd != sudo* ]]; then - READLINE_LINE="sudo $last_cmd" - READLINE_POINT=${#READLINE_LINE} - fi -} - -# ---------- Clipboard detection ---------- -_detect_clipboard_setup() { - if command -v pbcopy >/dev/null 2>&1 && command -v pbpaste >/dev/null 2>&1; then - clipcopy() { cat "${1:-/dev/stdin}" | pbcopy; } - clippaste() { pbaste; } - return 0 - fi - if command -v wl-copy >/dev/null 2>&1 && command -v wl-paste >/dev/null 2>&1; then - clipcopy() { cat "${1:-/dev/stdin}" | wl-copy; } - clippaste() { wl-paste --no-newline; } - return 0 - fi - if command -v xclip >/dev/null 2>&1; then - clipcopy() { cat "${1:-/dev/stdin}" | xclip -selection clipboard; } - clippaste() { xclip -selection clipboard -out; } - return 0 - fi - if command -v xsel >/dev/null 2>&1; then - clipcopy() { cat "${1:-/dev/stdin}" | xsel --clipboard --input; } - clippaste() { xsel --clipboard --output; } - return 0 - fi - if command -v clip.exe >/dev/null 2>&1; then - clipcopy() { cat "${1:-/dev/stdin}" | clip.exe; } - clippaste() { powershell.exe -noprofile -command Get-Clipboard 2>/dev/null; } - return 0 - fi - if command -v tmux >/dev/null 2>&1 && [ -n "${TMUX:-}" ]; then - clipcopy() { tmux load-buffer -; } - clippaste() { tmux save-buffer -; } - return 0 - fi - return 1 -} -_detect_clipboard_setup || true - -paste_clipboard_to_readline() { - if ! command -v clippaste >/dev/null 2>&1; then - _detect_clipboard_setup || { - printf 'No clipboard helper found\n' >&2 - return 1 - } - fi - local clip - clip=$(clippaste 2>/dev/null) || return 1 - clip="${clip%$'\n'}" - if [[ -z "${READLINE_LINE+set}" ]]; then - printf '%s' "$clip" - return - fi - local left=${READLINE_LINE:0:READLINE_POINT} - local right=${READLINE_LINE:READLINE_POINT} - READLINE_LINE="${left}${clip}${right}" - READLINE_POINT=$((READLINE_POINT + ${#clip})) -} - -copy_readline_to_clipboard() { - if [[ -z "${READLINE_LINE+set}" ]]; then - printf 'No current line to copy\n' >&2 - return 1 - fi - if ! command -v clipcopy >/dev/null 2>&1; then - _detect_clipboard_setup || { - printf 'No clipboard helper found\n' >&2 - return 1 - } - fi - printf '%s' "${READLINE_LINE}" | clipcopy -} - -# ---------- basic utilities ---------- -clear_tree_2() { - clear - tree -L 2 2>/dev/null || true -} -clear_tree_3() { - clear - tree -L 3 2>/dev/null || true -} -insert_current_date() { - local txt="$(date -I)" - if [[ -z "${READLINE_LINE+set}" ]]; then - printf '%s' "$txt" - return - fi - local left=${READLINE_LINE:0:READLINE_POINT} - local right=${READLINE_LINE:READLINE_POINT} - READLINE_LINE="${left}${txt}${right}" - READLINE_POINT=$((READLINE_POINT + ${#txt})) -} -insert_unix_timestamp() { - local txt="$(date +%s)" - if [[ -z "${READLINE_LINE+set}" ]]; then - printf '%s' "$txt" - return - fi - local left=${READLINE_LINE:0:READLINE_POINT} - local right=${READLINE_LINE:READLINE_POINT} - READLINE_LINE="${left}${txt}${right}" - READLINE_POINT=$((READLINE_POINT + ${#txt})) -} -git_status_clear() { - clear - git status 2>/dev/null || git status --short 2>/dev/null || true -} -tmux_left_pane() { - tmux select-pane -L 2>/dev/null || true - tmux resize-pane -Z 2>/dev/null || true -} -vi_append_clip_selection() { paste_clipboard_to_readline; } -copybuffer() { copy_readline_to_clipboard; } -background_start() { - local cmd="$1" - shift || return 0 - for arg in "$@"; do "$cmd" "$arg" &>/dev/null & done -} - -# ---------- pre_cmd widgets ---------- -man_command_line() { pre_cmd "man"; } -sudo_command_line() { pre_cmd "sudo"; } - -# ---------- wrappers (u-prefix REMOVED) ---------- -bc() { command -v bc >/dev/null 2>&1 && /usr/bin/env bc "$@" || printf 'bc: not found\n' >&2; } -cdi() { command -v cdi >/dev/null 2>&1 && cdi "$@" || printf 'cdi: not found\n' >&2; } -lastfiles() { command -v lastfiles >/dev/null 2>&1 && lastfiles "$@" || printf 'lastfiles: not found\n' >&2; } -htop() { command -v htop >/dev/null 2>&1 && htop "$@" || printf 'htop: not found\n' >&2; } -sessionizer() { command -v sessionizer >/dev/null 2>&1 && sessionizer "$@" || printf 'sessionizer: not found\n' >&2; } -upd() { command -v upd >/dev/null 2>&1 && upd "$@" || printf 'upd: not found\n' >&2; } -cht() { command -v cht >/dev/null 2>&1 && cht "$@" || printf 'cht: not found\n' >&2; } # from '^ucht' -> 'cht' -ali() { command -v ali >/dev/null 2>&1 && ali "$@" || printf 'ali: not found\n' >&2; } -fD() { command -v fD >/dev/null 2>&1 && fD "$@" || printf 'fD: not found\n' >&2; } -lastfiles_l() { command -v lastfiles >/dev/null 2>&1 && lastfiles -l || printf 'lastfiles: not found\n' >&2; } - -# ---------- Readline key bindings (bind -x) ---------- -# basic movement -bind '"\C-a": beginning-of-line' -bind '"\C-e": end-of-line' - -# function key bindings (map to bash functions above) -bind -x '"\C-x\C-e":clear_tree_2' -bind -x '"\C-x\C-w":clear_tree_3' -bind -x '"\C-x\C-s":git_status_clear' -bind -x '"\C-x\C-x\C-t":insert_current_date' # ^X^X^T (alternate: C-x C-t) -bind -x '"\C-x\C-t":insert_current_date' -bind -x '"\C-x\C-x\C-u":insert_unix_timestamp' # ^X^X^U -bind -x '"\C-x\C-u":insert_unix_timestamp' - -# clipboard binds -bind -x '"\C-x\C-p":paste_clipboard_to_readline' # ^X^P -bind -x '"\C-x\C-y":copy_readline_to_clipboard' # ^X^Y - -# edit in editor -edit_command_line() { - local tmp content - tmp=$(mktemp /tmp/bash-edit.XXXXXX) || return - printf '%s' "${READLINE_LINE:-}" >"$tmp" - "${EDITOR:-vim}" "$tmp" - content=$(<"$tmp") - READLINE_LINE="$content" - READLINE_POINT=${#content} - rm -f "$tmp" -} -bind -x '"\C-x\C-v":edit_command_line' # ^X^V - -# man & sudo insertion -bind -x '"\C-x\C-m":man_command_line' # ^X^M -stty -ixon 2>/dev/null || true -bind -x '"\C-s":sudo_command_line' # ^S (stty -ixon to avoid flow control) - -# tmux left pane (bind ESC + backslash) -#bind -x '\e\\':tmux_left_pane - -# ---------- mappings of the original bindkey -s lines (u removed) ---------- -bind -x '"\C-b":__bc' # will call function __bc below -__bc() { bc -lq "$@"; } - -bind -x '"\C-d":cdi' -bind -x '"\C-f":fzffiles' -bind -x '"\C-n":lastfiles' -bind -x '"\C-o":tmo' -bind -x '"\C-p":fzfpass' -bind -x '"\C-q":htop' -bind -x '"\C-t":sessionizer' -bind -x '"\C-z":pd' -# ^_ (Ctrl-_) mapped to cht (from '^ucht' -> 'cht') -bind -x $'"\C-_":cht' - -# ^X^... sequences (Ctrl-X then key) -bind -x '"\C-x\C-a":ali' -bind -x '"\C-x\C-d":fD' -bind -x '"\C-x\C-f":gitfiles' -bind -x '"\C-x\C-g":rgafiles' -bind -x '"\C-x\C-l":gloac' -bind -x '"\C-x\C-n":lastfiles_l' -bind -x '"\C-x\C-q":fpkill' -bind -x '"\C-x\C-_":fzffns' # ^X^_ diff --git a/fedora/.config/bash/packages.bash b/fedora/.config/bash/packages.bash deleted file mode 100644 index 27d396e..0000000 --- a/fedora/.config/bash/packages.bash +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -# --- Packages (bash version) --- -declare -A packages=( - # [zoxide]="--cmd cd --hook prompt" -) - -eval_packages() { - local package output - for package in "${!packages[@]}"; do - if command -v "$package" >/dev/null 2>&1; then - # split args by space into array (preserve empty => zero args) - local -a args=() - if [[ -n "${packages[$package]}" ]]; then - # Use builtin read to split on spaces (simple split) - IFS=' ' read -r -a args <<<"${packages[$package]}" - fi - - # Prefer initializing for bash (change to "zsh" if you really want zsh-init) - if ((${#args[@]})); then - output="$("$package" init bash "${args[@]}" 2>/dev/null)" - else - output="$("$package" init bash 2>/dev/null)" - fi - - # If the command produced output, evaluate it in current shell - if [[ -n "$output" ]]; then - eval "$output" - fi - fi - done -} - -# run initialization -eval_packages diff --git a/fedora/.config/bash/scripts.bash b/fedora/.config/bash/scripts.bash deleted file mode 100644 index 400265d..0000000 --- a/fedora/.config/bash/scripts.bash +++ /dev/null @@ -1,436 +0,0 @@ -#!/bin/bash - -########################################################################################### -########################################################################################### -### --- APACHE --- ### -# View Apache logs -apachelog() { - if [ -f /etc/httpd/conf/httpd.conf ]; then - cd /var/log/httpd && ls -xAh && multitail --no-repeat -c -s 2 /var/log/httpd/*_log - else - cd /var/log/apache2 && ls -xAh && multitail --no-repeat -c -s 2 /var/log/apache2/*.log - fi -} - -# Edit the Apache configuration -apacheconfig() { - if [ -f /etc/httpd/conf/httpd.conf ]; then - sedit /etc/httpd/conf/httpd.conf - elif [ -f /etc/apache2/apache2.conf ]; then - sedit /etc/apache2/apache2.conf - else - echo "Error: Apache config file could not be found." - echo "Searching for possible locations:" - sudo updatedb && locate httpd.conf && locate apache2.conf - fi -} - -########################################################################################### -########################################################################################### -### --- BASH --- ### -# Automatically install the needed support files for this .bashrc file -install_bashrc_support() { - local dtype - dtype=$(distribution) - - if [ $dtype == "redhat" ]; then - sudo yum install multitail tree joe - elif [ $dtype == "suse" ]; then - sudo zypper install multitail - sudo zypper install tree - sudo zypper install joe - elif [ $dtype == "debian" ]; then - sudo apt-get install multitail tree joe - elif [ $dtype == "gentoo" ]; then - sudo emerge multitail - sudo emerge tree - sudo emerge joe - elif [ $dtype == "mandriva" ]; then - sudo urpmi multitail - sudo urpmi tree - sudo urpmi joe - elif [ $dtype == "slackware" ]; then - echo "No install support for Slackware" - else - echo "Unknown distribution" - fi -} - -########################################################################################### -########################################################################################### -### --- CD --- ### -# Move and go to the directory -mvg() { - if [ -d "$2" ]; then - mv $1 $2 && cd $2 - else - mv $1 $2 - fi -} - -# Create and go to the directory -mc() { - mkdir -p $1 && cd $1 -} - -# Go up a specified number of directories (i.e. up 4) -up() { - local d="" - limit=$1 - for ((i = 1; i <= limit; i++)); do - d=$d/.. - done - d=$(echo $d | sed 's/^\///') - if [ -z "$d" ]; then - d=.. - fi - cd $d -} - -#Automatically do an ls after each cd -# cd () { -# if [ -n "$1" ]; then -# builtin cd "$@" && ls -# else -# builtin cd ~ && ls -# fi -# } - -# Returns the last 2 fields of the working directory -pwdtail() { - pwd | awk -F/ '{nlast = NF -1;print $nlast"/"$NF}' -} - -########################################################################################### -########################################################################################### -### --- COMMAND OUTPUT --- ### -alias ilco=insert_last_command_output -insert_last_command_output() { - local last_cmd - last_cmd=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//') - eval "$last_cmd" -} - -########################################################################################### -########################################################################################### -### --- COPY --- ### -# Copy file with a progress bar -cpf() { - set -e - strace -q -ewrite cp -- "${1}" "${2}" 2>&1 | - awk '{ - count += $NF - if (count % 10 == 0) { - percent = count / total_size * 100 - printf "%3d%% [", percent - for (i=0;i<=percent;i++) - printf "=" - printf ">" - for (i=percent;i<100;i++) - printf " " - printf "]\r" - } - } - END { print "" }' total_size=$(stat -c '%s' "${1}") count=0 -} - -# Copy and go to the directory -cpg() { - if [ -d "$2" ]; then - cp $1 $2 && cd $2 - else - cp $1 $2 - fi -} - -########################################################################################### -########################################################################################### -### --- CREATE --- ### -alias mc=mkcd -mkcd() { mkdir -p "$1" && cd "$1" || return; } - -mkdt() { - mkdir -p "${1:+$1/}$(date +%F)" -} - -########################################################################################### -########################################################################################### -### --- CURSOR --- ### -# vi-mode cursor change -function update_cursor { - if [[ $READLINE_LINE == * ]]; then - if [[ $READLINE_POINT -eq 0 ]]; then - echo -ne '\e[6 q' # insert mode - else - echo -ne '\e[2 q' # command mode - fi - fi -} - -# vi-command, vi-insert 모드 hook 등록 -bind -m vi-insert '":": "\C-o update_cursor"' -bind -m vi-command '":": "\C-o update_cursor"' - -########################################################################################### -########################################################################################### -### --- DISTRIBUTION --- ### -# Show the current distribution -distribution() { - local dtype - # Assume unknown - dtype="unknown" - - # First test against Fedora / RHEL / CentOS / generic Redhat derivative - if [ -r /etc/rc.d/init.d/functions ]; then - source /etc/rc.d/init.d/functions - [ zz$(type -t passed 2>/dev/null) == "zzfunction" ] && dtype="redhat" - - # Then test against SUSE (must be after Redhat, - # I've seen rc.status on Ubuntu I think? TODO: Recheck that) - elif [ -r /etc/rc.status ]; then - source /etc/rc.status - [ zz$(type -t rc_reset 2>/dev/null) == "zzfunction" ] && dtype="suse" - - # Then test against Debian, Ubuntu and friends - elif [ -r /lib/lsb/init-functions ]; then - source /lib/lsb/init-functions - [ zz$(type -t log_begin_msg 2>/dev/null) == "zzfunction" ] && dtype="debian" - - # Then test against Gentoo - elif [ -r /etc/init.d/functions.sh ]; then - source /etc/init.d/functions.sh - [ zz$(type -t ebegin 2>/dev/null) == "zzfunction" ] && dtype="gentoo" - - # For Mandriva we currently just test if /etc/mandriva-release exists - # and isn't empty (TODO: Find a better way :) - elif [ -s /etc/mandriva-release ]; then - dtype="mandriva" - - # For Slackware we currently just test if /etc/slackware-version exists - elif [ -s /etc/slackware-version ]; then - dtype="slackware" - - fi - echo $dtype -} - -# Show the current version of the operating system -ver() { - local dtype - dtype=$(distribution) - - if [ $dtype == "redhat" ]; then - if [ -s /etc/redhat-release ]; then - cat /etc/redhat-release && uname -a - else - cat /etc/issue && uname -a - fi - elif [ $dtype == "suse" ]; then - cat /etc/SuSE-release - elif [ $dtype == "debian" ]; then - lsb_release -a - # sudo cat /etc/issue && sudo cat /etc/issue.net && sudo cat /etc/lsb_release && sudo cat /etc/os-release # Linux Mint option 2 - elif [ $dtype == "gentoo" ]; then - cat /etc/gentoo-release - elif [ $dtype == "mandriva" ]; then - cat /etc/mandriva-release - elif [ $dtype == "slackware" ]; then - cat /etc/slackware-version - else - if [ -s /etc/issue ]; then - cat /etc/issue - else - echo "Error: Unknown distribution" - exit 1 - fi - fi -} - -########################################################################################### -########################################################################################### -### --- EDIT --- ### -edit() { - if [ "$(type -t jpico)" = "file" ]; then - # Use JOE text editor http://joe-editor.sourceforge.net/ - jpico -nonotice -linums -nobackups "$@" - elif [ "$(type -t nano)" = "file" ]; then - nano -c "$@" - elif [ "$(type -t pico)" = "file" ]; then - pico "$@" - else - vim "$@" - fi -} - -sedit() { - if [ "$(type -t jpico)" = "file" ]; then - # Use JOE text editor http://joe-editor.sourceforge.net/ - sudo jpico -nonotice -linums -nobackups "$@" - elif [ "$(type -t nano)" = "file" ]; then - sudo nano -c "$@" - elif [ "$(type -t pico)" = "file" ]; then - sudo pico "$@" - else - sudo vim "$@" - fi -} - -########################################################################################### -########################################################################################### -### --- EXTRACT --- ### -extract() { - for archive in $*; do - if [ -f $archive ]; then - case $archive in - *.tar.bz2) tar xvjf $archive ;; - *.tar.gz) tar xvzf $archive ;; - *.bz2) bunzip2 $archive ;; - *.rar) rar x $archive ;; - *.gz) gunzip $archive ;; - *.tar) tar xvf $archive ;; - *.tbz2) tar xvjf $archive ;; - *.tgz) tar xvzf $archive ;; - *.zip) unzip $archive ;; - *.Z) uncompress $archive ;; - *.7z) 7z x $archive ;; - *) echo "don't know how to extract '$archive'..." ;; - esac - else - echo "'$archive' is not a valid file!" - fi - done -} - -########################################################################################### -########################################################################################### -### --- NETWORK --- ### -# Show current network information -netinfo() { - echo "--------------- Network Information ---------------" - /sbin/ifconfig | awk /'inet addr/ {print $2}' - echo "" - /sbin/ifconfig | awk /'Bcast/ {print $3}' - echo "" - /sbin/ifconfig | awk /'inet addr/ {print $4}' - - /sbin/ifconfig | awk /'HWaddr/ {print $4,$5}' - echo "---------------------------------------------------" -} - -# IP address lookup -alias whatismyip="whatsmyip" -function whatsmyip() { - # Dumps a list of all IP addresses for every device - # /sbin/ifconfig |grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }'; - - # Internal IP Lookup - echo -n "Internal IP: " - /sbin/ifconfig eth0 | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}' - - # External IP Lookup - echo -n "External IP: " - wget http://smart-ip.net/myip -O - -q -} - -########################################################################################### -########################################################################################### -### --- PASS --- ### -pass_otp() { pass otp uri -q "$1"; } -pass_otp_insert() { pass otp insert "$1"; } - -alias cpqr=pass_qr -pass_qr() { qrencode -o "$1.png" -t png -Sv 40 <"$1.pgp"; } - -########################################################################################### -########################################################################################### -### --- PHP --- ### -# Edit the PHP configuration file -phpconfig() { - if [ -f /etc/php.ini ]; then - sedit /etc/php.ini - elif [ -f /etc/php/php.ini ]; then - sedit /etc/php/php.ini - elif [ -f /etc/php5/php.ini ]; then - sedit /etc/php5/php.ini - elif [ -f /usr/bin/php5/bin/php.ini ]; then - sedit /usr/bin/php5/bin/php.ini - elif [ -f /etc/php5/apache2/php.ini ]; then - sedit /etc/php5/apache2/php.ini - else - echo "Error: php.ini file could not be found." - echo "Searching for possible locations:" - sudo updatedb && locate php.ini - fi -} - -########################################################################################### -########################################################################################### -### --- SEARCH --- ### -ftext() { - # -i case-insensitive - # -I ignore binary files - # -H causes filename to be printed - # -r recursive search - # -n causes line number to be printed - # optional: -F treat search term as a literal, not a regular expression - # optional: -l only print filenames and not the matching lines ex. grep -irl "$1" * - grep -iIHrn --color=always "$1" . | less -r -} - -########################################################################################### -########################################################################################### -### --- SQL --- ### -# Edit the MySQL configuration file -mysqlconfig() { - if [ -f /etc/my.cnf ]; then - sedit /etc/my.cnf - elif [ -f /etc/mysql/my.cnf ]; then - sedit /etc/mysql/my.cnf - elif [ -f /usr/local/etc/my.cnf ]; then - sedit /usr/local/etc/my.cnf - elif [ -f /usr/bin/mysql/my.cnf ]; then - sedit /usr/bin/mysql/my.cnf - elif [ -f ~/my.cnf ]; then - sedit ~/my.cnf - elif [ -f ~/.my.cnf ]; then - sedit ~/.my.cnf - else - echo "Error: my.cnf file could not be found." - echo "Searching for possible locations:" - sudo updatedb && locate my.cnf - fi -} - -########################################################################################### -########################################################################################### -### --- STOW --- ### -alias dstw=dotfiles_stw -dotfiles_stw() { - "${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}/$(whereami)/.local/bin/stw" -} - -########################################################################################### -########################################################################################### -### --- SUDO --- ### -pre_cmd() { - local prepend_command="$1" - local buffer="${READLINE_LINE:-}" - - if [ -z "$buffer" ]; then - buffer=$(history | tail -n 2 | head -n 1 | sed 's/^[ ]*[0-9]\+[ ]*//') - fi - - READLINE_LINE="$prepend_command $buffer" - READLINE_POINT=${#READLINE_LINE} -} -bind -x '"\es":pre_cmd sudo' - -########################################################################################### -########################################################################################### -### --- TRIM --- ### -trim() { - local var=$@ - var='${var#"${var%%[![:space:]]*}"}' # remove leading whitespace characters - var='${var%"${var##*[![:space:]]}"}' # remove trailing whitespace characters - echo -n "$var" -} |
