~zethra/dotfiles

c9593318211b40d9fc799f763dcadb4d16260f90 — Sashanoraa 1 year, 7 months ago 99d9cf1
Shell updates
4 files changed, 178 insertions(+), 12 deletions(-)

M .config/fish/config.fish
M .config/fish/fish_variables
A .config/fish/git.fish
M .config/zsh/.zshrc
M .config/fish/config.fish => .config/fish/config.fish +8 -1
@@ 71,7 71,12 @@ if status is-interactive
    starship init fish | source
    
    # fzf keybindings
    source /usr/share/fzf/shell/key-bindings.fish
    if [ "$DISTRO" = "fedora" ]
        source /usr/share/fzf/shell/key-bindings.fish
    end
    if [ "$DISTRO" = "manjaro" ]
        source /usr/share/fzf/key-bindings.fish
    end
    fzf_key_bindings

    # fre


@@ 79,4 84,6 @@ if status is-interactive
        status --is-command-substitution; and return
	fre --add (pwd)
    end

    source ~/.config/fish/git.fish
end

M .config/fish/fish_variables => .config/fish/fish_variables +1 -1
@@ 40,4 40,4 @@ SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dbrblack
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
SETUVAR fish_user_paths:/var/home/sasha/\x2elocal/share/npm\x2dglobal/bin\x1e/var/home/sasha/\x2elocal/share/cargo/bin\x1e/var/home/sasha/\x2elocal/bin/scripts\x1e/var/lib/flatpak/exports/bin\x1e/var/home/sasha/\x2elocal/bin
SETUVAR fish_user_paths:/home/zethra/\x2elocal/share/cargo/bin\x1e/home/zethra/\x2elocal/bin/scripts\x1e/home/zethra/\x2elocal/bin\x1e/var/home/sasha/\x2elocal/share/npm\x2dglobal/bin\x1e/var/home/sasha/\x2elocal/share/cargo/bin\x1e/var/home/sasha/\x2elocal/bin/scripts\x1e/var/lib/flatpak/exports/bin\x1e/var/home/sasha/\x2elocal/bin

A .config/fish/git.fish => .config/fish/git.fish +159 -0
@@ 0,0 1,159 @@
# migrating from https://github.com/robbyrussell/oh-my-zsh/blob/master/plugins/git/git.plugin.zsh 

# Aliases
alias g='git'
#compdef g=git
alias gst='git status'
#compdef _git gst=git-status
alias gd='git diff'
#compdef _git gd=git-diff
alias gdc='git diff --cached'
#compdef _git gdc=git-diff
alias gl='git pull'
#compdef _git gl=git-pull
alias gup='git pull --rebase'
#compdef _git gup=git-fetch
alias gp='git push'
#compdef _git gp=git-push
alias gd='git diff'

function gdv
  git diff -w $argv | view -
end

#compdef _git gdv=git-diff
alias gc='git commit -v'
#compdef _git gc=git-commit
alias gc!='git commit -v --amend'
#compdef _git gc!=git-commit
alias gca='git commit -v -a'
#compdef _git gc=git-commit
alias gca!='git commit -v -a --amend'
#compdef _git gca!=git-commit
alias gcmsg='git commit -m'
#compdef _git gcmsg=git-commit
alias gco='git checkout'
#compdef _git gco=git-checkout
alias gcm='git checkout master'
alias gr='git remote'
#compdef _git gr=git-remote
alias grv='git remote -v'
#compdef _git grv=git-remote
alias grmv='git remote rename'
#compdef _git grmv=git-remote
alias grrm='git remote remove'
#compdef _git grrm=git-remote
alias grset='git remote set-url'
#compdef _git grset=git-remote
alias grup='git remote update'
#compdef _git grset=git-remote
alias grbi='git rebase -i'
#compdef _git grbi=git-rebase
alias grbc='git rebase --continue'
#compdef _git grbc=git-rebase
alias grba='git rebase --abort'
#compdef _git grba=git-rebase
alias gb='git branch'
#compdef _git gb=git-branch
alias gba='git branch -a'
#compdef _git gba=git-branch
alias gcount='git shortlog -sn'
#compdef gcount=git
alias gcl='git config --list'
alias gcp='git cherry-pick'
#compdef _git gcp=git-cherry-pick
alias glg='git log --stat --max-count=10'
#compdef _git glg=git-log
alias glgg='git log --graph --max-count=10'
#compdef _git glgg=git-log
alias glgga='git log --graph --decorate --all'
#compdef _git glgga=git-log
alias glo='git log --oneline'
#compdef _git glo=git-log
alias gss='git status -s'
#compdef _git gss=git-status
alias ga='git add'
#compdef _git ga=git-add
alias gm='git merge'
#compdef _git gm=git-merge
alias grh='git reset HEAD'
alias grhh='git reset HEAD --hard'
alias gclean='git reset --hard; and git clean -dfx'
alias gwc='git whatchanged -p --abbrev-commit --pretty=medium'

#remove the gf alias
#alias gf='git ls-files | grep'

alias gpoat='git push origin --all; and git push origin --tags'
alias gmt='git mergetool --no-prompt'
#compdef _git gm=git-mergetool

alias gg='git gui citool'
alias gga='git gui citool --amend'
alias gk='gitk --all --branches'

alias gsts='git stash show --text'
alias gsta='git stash'
alias gstp='git stash pop'
alias gstd='git stash drop'

# Will cd into the top of the current repository
# or submodule.
alias grt='cd (git rev-parse --show-toplevel; or echo ".")'

# Git and svn mix
alias git-svn-dcommit-push='git svn dcommit; and git push github master:svntrunk'
#compdef git-svn-dcommit-push=git

alias gsr='git svn rebase'
alias gsd='git svn dcommit'
#
# Will return the current branch name
# Usage example: git pull origin $(current_branch)
#
function current_branch
  set ref (git symbolic-ref HEAD 2> /dev/null); or \
  set ref (git rev-parse --short HEAD 2> /dev/null); or return
  echo ref | sed s-refs/heads--
end

function current_repository
  set ref (git symbolic-ref HEAD 2> /dev/null); or \
  set ref (git rev-parse --short HEAD 2> /dev/null); or return
  echo (git remote -v | cut -d':' -f 2)
end

# these aliases take advantage of the previous function
alias ggpull='git pull origin (current_branch)'
#compdef ggpull=git
alias ggpur='git pull --rebase origin (current_branch)'
#compdef ggpur=git
alias ggpush='git push origin (current_branch)'
#compdef ggpush=git
alias ggpnp='git pull origin (current_branch); and git push origin (current_branch)'
#compdef ggpnp=git

# Pretty log messages
function _git_log_prettily
  if ! [ -z $1 ]; then
    git log --pretty=$1
  end
end

alias glp="_git_log_prettily"
#compdef _git glp=git-log

# Work In Progress (wip)
# These features allow to pause a branch development and switch to another one (wip)
# When you want to go back to work, just unwip it
#
# This function return a warning if the current branch is a wip
function work_in_progress
  if git log -n 1 | grep -q -c wip; then
    echo "WIP!!"
  end
end

# these alias commit and uncomit wip branches
alias gwip='git add -A; git ls-files --deleted -z | xargs -0 git rm; git commit -m "wip"'
alias gunwip='git log -n 1 | grep -q -c wip; and git reset HEAD~1'

M .config/zsh/.zshrc => .config/zsh/.zshrc +10 -10
@@ 5,16 5,16 @@ export XDG_CACHE_HOME=$HOME/.cache

# Start tmux if it's installed, this is an iteractive shell, and we aren't already in tmux
TERMINAL="$(ps -p$PPID | tail -n 1 | awk '{print $4}')"
if command -v tmux &> /dev/null &&
	[ -n "$PS1" ] &&
	[[ ! "$TERMINAL" =~ screen ]] &&
	[[ ! "$TERMINAL" =~ tmux ]] &&
	[[ ! "$TERMINAL" =~ yakuake ]] &&
	[ -z "$NESTED" ] &&
	[ -z "$TMUX" ]; then

	exec tmux
fi
# if command -v tmux &> /dev/null &&
# 	[ -n "$PS1" ] &&
# 	[[ ! "$TERMINAL" =~ screen ]] &&
# 	[[ ! "$TERMINAL" =~ tmux ]] &&
# 	[[ ! "$TERMINAL" =~ yakuake ]] &&
# 	[ -z "$NESTED" ] &&
# 	[ -z "$TMUX" ]; then

# 	exec tmux
# fi
export NESTED=1
export DISTRO="$(grep -Po '^ID=\K(.*)' < /etc/os-release)"