mirror of
https://github.com/sahinakkaya/dotfiles.git
synced 2025-07-04 11:19:06 +03:00
Move old config to old-dots branch
This commit is contained in:
56
.config/zsh/.aliases
Normal file
56
.config/zsh/.aliases
Normal file
@ -0,0 +1,56 @@
|
||||
# alias af=alias-finder
|
||||
alias menu="menu | lolcat"
|
||||
alias nomnom="menu | lolcat"
|
||||
alias so="shrout"
|
||||
alias sf="shrfile"
|
||||
alias co="cpyout"
|
||||
alias cf="cpyfile"
|
||||
alias ls=lsd
|
||||
alias lsl="clear; ls"
|
||||
alias lll="clear; ll"
|
||||
alias rake='noglob bundled_rake'
|
||||
alias weather='curl wttr.in/?0'
|
||||
alias gdm='gd master'
|
||||
alias s='gst .'
|
||||
alias d='gd .'
|
||||
alias intel="sudo prime-select intel"
|
||||
alias nvidia="sudo prime-select nvidia"
|
||||
alias pls="sudo"
|
||||
alias p="pyenv"
|
||||
alias cat="bat"
|
||||
alias bd="batdiff"
|
||||
alias man="batman"
|
||||
alias cd.="cd .."
|
||||
alias cd..="cd .."
|
||||
alias xd="xdg-open &>/dev/null"
|
||||
alias xd.="xdg-open &>/dev/null ."
|
||||
alias suod="sudo"
|
||||
alias sduo="sudo"
|
||||
alias zz='z -c' # restrict matches to subdirs of $PWD
|
||||
alias zi='z -I' # use fzf to select in multiple matches
|
||||
alias n=z
|
||||
alias ni='z -I'
|
||||
alias nn='z -c'
|
||||
alias nb='z -b'
|
||||
alias t="todo.sh"
|
||||
alias ta="todo.sh add"
|
||||
alias tl="todo.sh list"
|
||||
alias td="todo.sh do"
|
||||
alias tp="todo.sh pri"
|
||||
alias vim="nvim"
|
||||
alias v="vim"
|
||||
alias viz="vim ${ZDOTDIR:-$HOME}/.zshrc"
|
||||
alias vizp="vim ${ZDOTDIR:-$HOME}/.zpreztorc"
|
||||
alias vit="vim ~/.config/tmux/tmux.conf"
|
||||
alias vip="vim ~/.config/polybar/config.ini"
|
||||
alias viv="vim ~/.vimrc"
|
||||
alias viw="vim ~/.which-key.vim"
|
||||
alias via="vim ${ZDOTDIR:-$HOME}/.aliases"
|
||||
alias vi3="vim ~/.config/i3/config"
|
||||
alias viq="vim ~/.config/qtile/config.py"
|
||||
alias top='htop'
|
||||
alias cp='cp -ri'
|
||||
alias mv='mv -i'
|
||||
alias mkdir='mkdir -p'
|
||||
alias dotfiles='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||||
alias dots='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
1619
.config/zsh/.p10k.zsh
Normal file
1619
.config/zsh/.p10k.zsh
Normal file
File diff suppressed because it is too large
Load Diff
26
.config/zsh/.zlogin
Normal file
26
.config/zsh/.zlogin
Normal file
@ -0,0 +1,26 @@
|
||||
#
|
||||
# Executes commands at login post-zshrc.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# Execute code that does not affect the current session in the background.
|
||||
{
|
||||
# Compile the completion dump to increase startup speed.
|
||||
zcompdump="${XDG_CACHE_HOME:-$HOME/.cache}/prezto/zcompdump"
|
||||
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
|
||||
zcompile "$zcompdump"
|
||||
fi
|
||||
} &!
|
||||
|
||||
# Execute code only if STDERR is bound to a TTY.
|
||||
if [[ -o INTERACTIVE && -t 2 ]]; then
|
||||
|
||||
# Print a random, hopefully interesting, adage.
|
||||
if (( $+commands[fortune] )); then
|
||||
fortune -s
|
||||
print
|
||||
fi
|
||||
|
||||
fi >&2
|
19
.config/zsh/.zlogout
Normal file
19
.config/zsh/.zlogout
Normal file
@ -0,0 +1,19 @@
|
||||
#
|
||||
# Executes commands at logout.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# Execute code only if STDERR is bound to a TTY.
|
||||
[[ -o INTERACTIVE && -t 2 ]] && {
|
||||
|
||||
SAYINGS=(
|
||||
"So long and thanks for all the fish.\n -- Douglas Adams"
|
||||
"Good morning! And in case I don't see ya, good afternoon, good evening and goodnight.\n --Truman Burbank"
|
||||
)
|
||||
|
||||
# Print a randomly-chosen message:
|
||||
echo $SAYINGS[$(($RANDOM % ${#SAYINGS} + 1))]
|
||||
|
||||
} >&2
|
237
.config/zsh/.zpreztorc
Normal file
237
.config/zsh/.zpreztorc
Normal file
@ -0,0 +1,237 @@
|
||||
#
|
||||
# Sets Prezto options.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
#
|
||||
# General
|
||||
#
|
||||
|
||||
# Set case-sensitivity for completion, history lookup, etc.
|
||||
# zstyle ':prezto:*:*' case-sensitive 'yes'
|
||||
|
||||
# Color output (auto set to 'no' on dumb terminals).
|
||||
zstyle ':prezto:*:*' color 'yes'
|
||||
|
||||
# Add additional directories to load prezto modules from
|
||||
# zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto-contrib
|
||||
|
||||
# Allow module overrides when pmodule-dirs causes module name collisions
|
||||
# zstyle ':prezto:load' pmodule-allow-overrides 'yes'
|
||||
|
||||
# Set the Zsh modules to load (man zshmodules).
|
||||
# zstyle ':prezto:load' zmodule 'attr' 'stat'
|
||||
|
||||
# Set the Zsh functions to load (man zshcontrib).
|
||||
# zstyle ':prezto:load' zfunction 'zargs' 'zmv'
|
||||
|
||||
# Set the Prezto modules to load (browse modules).
|
||||
# The order matters.
|
||||
zstyle ':prezto:load' pmodule \
|
||||
'environment' \
|
||||
'terminal' \
|
||||
'editor' \
|
||||
'history' \
|
||||
'directory' \
|
||||
'spectrum' \
|
||||
'utility' \
|
||||
'rsync' \
|
||||
'tmux' \
|
||||
'archive' \
|
||||
'completion' \
|
||||
'syntax-highlighting' \
|
||||
'history-substring-search' \
|
||||
'autosuggestions' \
|
||||
'prompt'
|
||||
|
||||
# 'rsync' \ rsync-copy rsync-move
|
||||
# 'git' \ use oh my zsh git
|
||||
# https://github.com/Asocia/prezto/tree/master/modules/spectrum
|
||||
#
|
||||
# Autosuggestions
|
||||
#
|
||||
|
||||
# Set the query found color.
|
||||
zstyle ':prezto:module:autosuggestions:color' found 'fg=32,bold'
|
||||
|
||||
#
|
||||
# Completions
|
||||
#
|
||||
|
||||
# Set the entries to ignore in static '/etc/hosts' for host completion.
|
||||
# zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
|
||||
# '0.0.0.0' '127.0.0.1'
|
||||
|
||||
#
|
||||
# Editor
|
||||
#
|
||||
|
||||
# Set the key mapping style to 'emacs' or 'vi'.
|
||||
zstyle ':prezto:module:editor' key-bindings 'vi'
|
||||
|
||||
# Auto convert .... to ../..
|
||||
zstyle ':prezto:module:editor' dot-expansion 'yes'
|
||||
|
||||
# Allow the zsh prompt context to be shown.
|
||||
zstyle ':prezto:module:editor' ps-context 'yes'
|
||||
|
||||
#
|
||||
# Git
|
||||
#
|
||||
|
||||
# Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.
|
||||
# zstyle ':prezto:module:git:status:ignore' submodules 'all'
|
||||
|
||||
#
|
||||
# GNU Utility
|
||||
#
|
||||
|
||||
# Set the command prefix on non-GNU systems.
|
||||
# zstyle ':prezto:module:gnu-utility' prefix 'g'
|
||||
|
||||
#
|
||||
# History Substring Search
|
||||
#
|
||||
|
||||
# Set the query found color.
|
||||
# zstyle ':prezto:module:history-substring-search:color' found ''
|
||||
|
||||
# Set the query not found color.
|
||||
# zstyle ':prezto:module:history-substring-search:color' not-found ''
|
||||
|
||||
# Set the search globbing flags.
|
||||
# zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
||||
|
||||
#
|
||||
# macOS
|
||||
#
|
||||
|
||||
# Set the keyword used by `mand` to open man pages in Dash.app
|
||||
# zstyle ':prezto:module:osx:man' dash-keyword 'manpages'
|
||||
|
||||
#
|
||||
# Pacman
|
||||
#
|
||||
|
||||
# Set the Pacman frontend.
|
||||
# zstyle ':prezto:module:pacman' frontend 'yaourt'
|
||||
|
||||
#
|
||||
# Prompt
|
||||
#
|
||||
|
||||
# Set the prompt theme to load.
|
||||
# Setting it to 'random' loads a random theme.
|
||||
# Auto set to 'off' on dumb terminals.
|
||||
zstyle ':prezto:module:prompt' theme 'powerlevel10k'
|
||||
|
||||
# Set the working directory prompt display length.
|
||||
# By default, it is set to 'short'. Set it to 'long' (without '~' expansion)
|
||||
# for longer or 'full' (with '~' expansion) for even longer prompt display.
|
||||
# zstyle ':prezto:module:prompt' pwd-length 'short'
|
||||
|
||||
# Set the prompt to display the return code along with an indicator for non-zero
|
||||
# return codes. This is not supported by all prompts.
|
||||
# zstyle ':prezto:module:prompt' show-return-val 'yes'
|
||||
|
||||
#
|
||||
# Python
|
||||
#
|
||||
|
||||
# Auto switch the Python virtualenv on directory change.
|
||||
# zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
|
||||
|
||||
# Automatically initialize virtualenvwrapper if pre-requisites are met.
|
||||
# zstyle ':prezto:module:python:virtualenv' initialize 'yes'
|
||||
|
||||
#
|
||||
# Ruby
|
||||
#
|
||||
|
||||
# Auto switch the Ruby version on directory change.
|
||||
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
||||
|
||||
#
|
||||
# Screen
|
||||
#
|
||||
|
||||
# Auto start a session when Zsh is launched in a local terminal.
|
||||
# zstyle ':prezto:module:screen:auto-start' local 'yes'
|
||||
|
||||
# Auto start a session when Zsh is launched in a SSH connection.
|
||||
# zstyle ':prezto:module:screen:auto-start' remote 'yes'
|
||||
|
||||
#
|
||||
# SSH
|
||||
#
|
||||
|
||||
# Set the SSH identities to load into the agent.
|
||||
# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
|
||||
|
||||
#
|
||||
# Syntax Highlighting
|
||||
#
|
||||
|
||||
# Set syntax highlighters.
|
||||
# By default, only the main highlighter is enabled.
|
||||
zstyle ':prezto:module:syntax-highlighting' highlighters \
|
||||
'main' \
|
||||
'brackets' \
|
||||
'pattern' \
|
||||
'line' \
|
||||
'cursor' \
|
||||
'root'
|
||||
#
|
||||
# Set syntax highlighting styles.
|
||||
# zstyle ':prezto:module:syntax-highlighting' styles \
|
||||
# 'builtin' 'bg=blue' \
|
||||
# 'command' 'bg=blue' \
|
||||
# 'function' 'bg=blue'
|
||||
#
|
||||
# Set syntax pattern styles.
|
||||
# zstyle ':prezto:module:syntax-highlighting' pattern \
|
||||
# 'rm*-rf*' 'fg=white,bold,bg=red'
|
||||
|
||||
#
|
||||
# Terminal
|
||||
#
|
||||
|
||||
# Auto set the tab and window titles.
|
||||
# zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||
|
||||
# Set the window title format.
|
||||
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
||||
|
||||
# Set the tab title format.
|
||||
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
||||
|
||||
# Set the terminal multiplexer title format.
|
||||
# zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
|
||||
|
||||
#
|
||||
# Tmux
|
||||
#
|
||||
|
||||
# Auto start a session when Zsh is launched in a local terminal.
|
||||
zstyle ':prezto:module:tmux:auto-start' local 'no'
|
||||
|
||||
# Auto start a session when Zsh is launched in a SSH connection.
|
||||
# zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
||||
|
||||
# Integrate with iTerm2.
|
||||
# zstyle ':prezto:module:tmux:iterm' integrate 'yes'
|
||||
|
||||
# Set the default session name:
|
||||
session_name=$(echo $TERM | cut -d"-" -f1)
|
||||
zstyle ':prezto:module:tmux:session' name $session_name
|
||||
|
||||
#
|
||||
# Utility
|
||||
#
|
||||
|
||||
# Enabled safe options. This aliases cp, ln, mv and rm so that they prompt
|
||||
# before deleting or overwriting files. Set to 'no' to disable this safer
|
||||
# behavior.
|
||||
# zstyle ':prezto:module:utility' safe-ops 'yes'
|
65
.config/zsh/.zprofile
Normal file
65
.config/zsh/.zprofile
Normal file
@ -0,0 +1,65 @@
|
||||
#
|
||||
# Executes commands at login pre-zshrc.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
export npm_config_prefix="$HOME/.local"
|
||||
|
||||
#
|
||||
# Browser
|
||||
#
|
||||
|
||||
if [[ "$OSTYPE" == darwin* ]]; then
|
||||
export BROWSER='open'
|
||||
fi
|
||||
|
||||
#
|
||||
# Editors
|
||||
#
|
||||
|
||||
export EDITOR='nvim'
|
||||
export VISUAL="$EDITOR"
|
||||
export PAGER='less'
|
||||
|
||||
#
|
||||
# Language
|
||||
#
|
||||
|
||||
if [[ -z "$LANG" ]]; then
|
||||
export LANG='en_US.UTF-8'
|
||||
fi
|
||||
|
||||
#
|
||||
# Paths
|
||||
#
|
||||
|
||||
# Ensure path arrays do not contain duplicates.
|
||||
typeset -gU cdpath fpath mailpath path
|
||||
|
||||
# Set the list of directories that cd searches.
|
||||
# cdpath=(
|
||||
# $cdpath
|
||||
# )
|
||||
|
||||
# Set the list of directories that Zsh searches for programs.
|
||||
path=(
|
||||
/usr/local/{bin,sbin}
|
||||
$path
|
||||
)
|
||||
|
||||
#
|
||||
# Less
|
||||
#
|
||||
|
||||
# Set the default Less options.
|
||||
# Mouse-wheel scrolling has been disabled by -X (disable screen clearing).
|
||||
# Remove -X to enable it.
|
||||
export LESS='-g -i -M -R -S -w -z-4'
|
||||
|
||||
# Set the Less input preprocessor.
|
||||
# Try both `lesspipe` and `lesspipe.sh` as either might exist on a system.
|
||||
if (( $#commands[(i)lesspipe(|.sh)] )); then
|
||||
export LESSOPEN="| /usr/bin/env $commands[(i)lesspipe(|.sh)] %s 2>&-"
|
||||
fi
|
294
.config/zsh/.zsh/_git
Normal file
294
.config/zsh/.zsh/_git
Normal file
@ -0,0 +1,294 @@
|
||||
#compdef git gitk
|
||||
|
||||
# zsh completion wrapper for git
|
||||
#
|
||||
# Copyright (c) 2012-2020 Felipe Contreras <felipe.contreras@gmail.com>
|
||||
#
|
||||
# The recommended way to install this script is to make a copy of it as a
|
||||
# file named '_git' inside any directory in your fpath.
|
||||
#
|
||||
# For example, create a directory '~/.zsh/', copy this file to '~/.zsh/_git',
|
||||
# and then add the following to your ~/.zshrc file:
|
||||
#
|
||||
# fpath=(~/.zsh $fpath)
|
||||
#
|
||||
# You need git's bash completion script installed. By default bash-completion's
|
||||
# location will be used (e.g. pkg-config --variable=completionsdir bash-completion).
|
||||
#
|
||||
# If your bash completion script is somewhere else, you can specify the
|
||||
# location in your ~/.zshrc:
|
||||
#
|
||||
# zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
|
||||
#
|
||||
|
||||
zstyle -T ':completion:*:*:git:*' tag-order && \
|
||||
zstyle ':completion:*:*:git:*' tag-order 'common-commands'
|
||||
|
||||
zstyle -s ":completion:*:*:git:*" script script
|
||||
if [ -z "$script" ]; then
|
||||
local -a locations
|
||||
local e bash_completion
|
||||
|
||||
bash_completion=$(pkg-config --variable=completionsdir bash-completion 2>/dev/null) ||
|
||||
bash_completion='/usr/share/bash-completion/completions/'
|
||||
|
||||
locations=(
|
||||
"$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
|
||||
"$HOME/.local/share/bash-completion/completions/git"
|
||||
"$bash_completion/git"
|
||||
'/etc/bash_completion.d/git' # old debian
|
||||
)
|
||||
for e in $locations; do
|
||||
test -f $e && script="$e" && break
|
||||
done
|
||||
fi
|
||||
|
||||
local old_complete="$functions[complete]"
|
||||
functions[complete]=:
|
||||
GIT_SOURCING_ZSH_COMPLETION=y . "$script"
|
||||
functions[complete]="$old_complete"
|
||||
|
||||
__gitcomp ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
local cur_="${3-$cur}"
|
||||
|
||||
case "$cur_" in
|
||||
--*=)
|
||||
;;
|
||||
--no-*)
|
||||
local c IFS=$' \t\n'
|
||||
local -a array
|
||||
for c in ${=1}; do
|
||||
if [[ $c == "--" ]]; then
|
||||
continue
|
||||
fi
|
||||
c="$c${4-}"
|
||||
case $c in
|
||||
--*=|*.) ;;
|
||||
*) c="$c " ;;
|
||||
esac
|
||||
array+=("$c")
|
||||
done
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S '' -p "${2-}" -a -- array && _ret=0
|
||||
;;
|
||||
*)
|
||||
local c IFS=$' \t\n'
|
||||
local -a array
|
||||
for c in ${=1}; do
|
||||
if [[ $c == "--" ]]; then
|
||||
c="--no-...${4-}"
|
||||
array+=("$c ")
|
||||
break
|
||||
fi
|
||||
c="$c${4-}"
|
||||
case $c in
|
||||
--*=|*.) ;;
|
||||
*) c="$c " ;;
|
||||
esac
|
||||
array+=("$c")
|
||||
done
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S '' -p "${2-}" -a -- array && _ret=0
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
__gitcomp_direct ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S '' -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_nl ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_file ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -f -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_direct_append ()
|
||||
{
|
||||
__gitcomp_direct "$@"
|
||||
}
|
||||
|
||||
__gitcomp_nl_append ()
|
||||
{
|
||||
__gitcomp_nl "$@"
|
||||
}
|
||||
|
||||
__gitcomp_file_direct ()
|
||||
{
|
||||
__gitcomp_file "$1" ""
|
||||
}
|
||||
|
||||
_git_zsh ()
|
||||
{
|
||||
__gitcomp "v1.1"
|
||||
}
|
||||
|
||||
__git_complete_command ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
local command="$1"
|
||||
local completion_func="_git_${command//-/_}"
|
||||
if (( $+functions[$completion_func] )); then
|
||||
emulate ksh -c $completion_func
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
__git_zsh_bash_func ()
|
||||
{
|
||||
emulate -L ksh
|
||||
|
||||
local command=$1
|
||||
|
||||
__git_complete_command "$command" && return
|
||||
|
||||
local expansion=$(__git_aliased_command "$command")
|
||||
if [ -n "$expansion" ]; then
|
||||
words[1]=$expansion
|
||||
__git_complete_command "$expansion"
|
||||
fi
|
||||
}
|
||||
|
||||
__git_zsh_cmd_common ()
|
||||
{
|
||||
local -a list
|
||||
list=(
|
||||
add:'add file contents to the index'
|
||||
bisect:'find by binary search the change that introduced a bug'
|
||||
branch:'list, create, or delete branches'
|
||||
checkout:'checkout a branch or paths to the working tree'
|
||||
clone:'clone a repository into a new directory'
|
||||
commit:'record changes to the repository'
|
||||
diff:'show changes between commits, commit and working tree, etc'
|
||||
fetch:'download objects and refs from another repository'
|
||||
grep:'print lines matching a pattern'
|
||||
init:'create an empty Git repository or reinitialize an existing one'
|
||||
log:'show commit logs'
|
||||
merge:'join two or more development histories together'
|
||||
mv:'move or rename a file, a directory, or a symlink'
|
||||
pull:'fetch from and merge with another repository or a local branch'
|
||||
push:'update remote refs along with associated objects'
|
||||
rebase:'forward-port local commits to the updated upstream head'
|
||||
reset:'reset current HEAD to the specified state'
|
||||
restore:'restore working tree files'
|
||||
rm:'remove files from the working tree and from the index'
|
||||
show:'show various types of objects'
|
||||
status:'show the working tree status'
|
||||
switch:'switch branches'
|
||||
tag:'create, list, delete or verify a tag object signed with GPG')
|
||||
_describe -t common-commands 'common commands' list && _ret=0
|
||||
}
|
||||
|
||||
__git_zsh_cmd_alias ()
|
||||
{
|
||||
local -a list
|
||||
list=(${${(0)"$(git config -z --get-regexp '^alias\.*')"}#alias.})
|
||||
list=(${(f)"$(printf "%s:alias for '%s'\n" ${(f@)list})"})
|
||||
_describe -t alias-commands 'aliases' list && _ret=0
|
||||
}
|
||||
|
||||
__git_zsh_cmd_all ()
|
||||
{
|
||||
local -a list
|
||||
emulate ksh -c __git_compute_all_commands
|
||||
list=( ${=__git_all_commands} )
|
||||
_describe -t all-commands 'all commands' list && _ret=0
|
||||
}
|
||||
|
||||
__git_zsh_main ()
|
||||
{
|
||||
local curcontext="$curcontext" state state_descr line
|
||||
typeset -A opt_args
|
||||
local -a orig_words
|
||||
|
||||
orig_words=( ${words[@]} )
|
||||
|
||||
_arguments -C \
|
||||
'(-p --paginate --no-pager)'{-p,--paginate}'[pipe all output into ''less'']' \
|
||||
'(-p --paginate)--no-pager[do not pipe git output into a pager]' \
|
||||
'--git-dir=-[set the path to the repository]: :_directories' \
|
||||
'--bare[treat the repository as a bare repository]' \
|
||||
'(- :)--version[prints the git suite version]' \
|
||||
'--exec-path=-[path to where your core git programs are installed]:: :_directories' \
|
||||
'--html-path[print the path where git''s HTML documentation is installed]' \
|
||||
'--info-path[print the path where the Info files are installed]' \
|
||||
'--man-path[print the manpath (see `man(1)`) for the man pages]' \
|
||||
'--work-tree=-[set the path to the working tree]: :_directories' \
|
||||
'--namespace=-[set the git namespace]' \
|
||||
'--no-replace-objects[do not use replacement refs to replace git objects]' \
|
||||
'(- :)--help[prints the synopsis and a list of the most commonly used commands]: :->arg' \
|
||||
'(-): :->command' \
|
||||
'(-)*:: :->arg' && return
|
||||
|
||||
case $state in
|
||||
(command)
|
||||
_tags common-commands alias-commands all-commands
|
||||
while _tags; do
|
||||
_requested common-commands && __git_zsh_cmd_common
|
||||
_requested alias-commands && __git_zsh_cmd_alias
|
||||
_requested all-commands && __git_zsh_cmd_all
|
||||
let _ret || break
|
||||
done
|
||||
;;
|
||||
(arg)
|
||||
local command="${words[1]}" __git_dir
|
||||
|
||||
if (( $+opt_args[--bare] )); then
|
||||
__git_dir='.'
|
||||
else
|
||||
__git_dir=${opt_args[--git-dir]}
|
||||
fi
|
||||
|
||||
(( $+opt_args[--help] )) && command='help'
|
||||
|
||||
words=( ${orig_words[@]} )
|
||||
|
||||
__git_zsh_bash_func $command
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_git ()
|
||||
{
|
||||
local _ret=1
|
||||
local cur cword prev
|
||||
|
||||
cur=${words[CURRENT]}
|
||||
prev=${words[CURRENT-1]}
|
||||
let cword=CURRENT-1
|
||||
|
||||
if (( $+functions[__${service}_zsh_main] )); then
|
||||
__${service}_zsh_main
|
||||
elif (( $+functions[__${service}_main] )); then
|
||||
emulate ksh -c __${service}_main
|
||||
elif (( $+functions[_${service}] )); then
|
||||
emulate ksh -c _${service}
|
||||
elif (( $+functions[_${service//-/_}] )); then
|
||||
emulate ksh -c _${service//-/_}
|
||||
fi
|
||||
|
||||
let _ret && _default && _ret=0
|
||||
return _ret
|
||||
}
|
||||
|
||||
_git
|
12
.config/zsh/.zshenv
Normal file
12
.config/zsh/.zshenv
Normal file
@ -0,0 +1,12 @@
|
||||
#
|
||||
# Defines environment variables.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
# Şahin Akkaya <sahin@sahinakkaya.dev>
|
||||
|
||||
# Ensure that a non-login, non-interactive shell has a defined environment.
|
||||
if [[ ( "$SHLVL" -eq 1 && ! -o LOGIN ) && -s "${ZDOTDIR:-$HOME}/.zprofile" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprofile"
|
||||
fi
|
||||
. "$HOME/.cargo/env"
|
147
.config/zsh/.zshrc
Normal file
147
.config/zsh/.zshrc
Normal file
@ -0,0 +1,147 @@
|
||||
|
||||
d="$HOME/scripts/colorscripts"
|
||||
bash "$d/`ls $d | shuf -n 1`"
|
||||
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.config/zsh/.zshrc.
|
||||
# Initialization code that may require console input (password prompts, [y/n]
|
||||
# confirmations, etc.) must go above this block; everything else may go below.
|
||||
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
#
|
||||
# Executes commands at the start of an interactive session.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
|
||||
# Source Prezto.
|
||||
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
|
||||
fi
|
||||
|
||||
|
||||
fpath=("${ZDOTDIR:-$HOME}/.zsh" $fpath)
|
||||
|
||||
# Customize to your needs...
|
||||
source "${ZDOTDIR:-$HOME}/.aliases"
|
||||
|
||||
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
||||
ZSH_AUTOSUGGEST_MANUAL_REBIND=true
|
||||
|
||||
|
||||
# To customize prompt, run `p10k configure` or edit ~/.config/zsh/.p10k.zsh.
|
||||
[[ ! -f ~/.config/zsh/.p10k.zsh ]] || source ~/.config/zsh/.p10k.zsh
|
||||
|
||||
### Added by Zinit's installer
|
||||
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
|
||||
print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
|
||||
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
|
||||
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
|
||||
print -P "%F{33} %F{34}Installation successful.%f%b" || \
|
||||
print -P "%F{160} The clone has failed.%f%b"
|
||||
fi
|
||||
|
||||
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
|
||||
autoload -Uz _zinit
|
||||
(( ${+_comps} )) && _comps[zinit]=_zinit
|
||||
|
||||
# Load a few important annexes, without Turbo
|
||||
# (this is currently required for annexes)
|
||||
zinit light-mode for \
|
||||
zdharma-continuum/zinit-annex-as-monitor \
|
||||
zdharma-continuum/zinit-annex-bin-gem-node \
|
||||
zdharma-continuum/zinit-annex-patch-dl \
|
||||
zdharma-continuum/zinit-annex-rust
|
||||
|
||||
### End of Zinit's installer chunk
|
||||
|
||||
zinit snippet OMZ::plugins/git/git.plugin.zsh
|
||||
zinit snippet OMZ::plugins/last-working-dir/last-working-dir.plugin.zsh
|
||||
zinit snippet OMZ::plugins/dirhistory/dirhistory.plugin.zsh
|
||||
zinit light skywind3000/z.lua
|
||||
|
||||
# ZVM
|
||||
function zvm_config() {
|
||||
ZVM_LINE_INIT_MODE=$ZVM_MODE_INSERT
|
||||
ZVM_INSERT_MODE_CURSOR=$ZVM_CURSOR_BLINKING_BEAM
|
||||
ZVM_NORMAL_MODE_CURSOR=$ZVM_CURSOR_BLINKING_BLOCK
|
||||
ZVM_LAZY_KEYBINDINGS=true
|
||||
ZVM_VI_INSERT_ESCAPE_BINDKEY=kj
|
||||
}
|
||||
|
||||
zinit ice depth=1
|
||||
zinit light jeffreytse/zsh-vi-mode
|
||||
|
||||
# The plugin will auto execute this zvm_after_init function
|
||||
function zvm_after_init() {
|
||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
||||
|
||||
bindkey '^b' backward-word
|
||||
bindkey '^f' forward-word
|
||||
bindkey '^g' autosuggest-accept
|
||||
# allow ctrl-r and ctrl-s to search the history
|
||||
# bindkey '^r' history-incremental-search-backward
|
||||
# bindkey '^s' history-incremental-search-forward
|
||||
bindkey '^h' backward-kill-word
|
||||
bindkey '^[[M' kill-word
|
||||
bindkey -s '^@' ""
|
||||
bindkey -s '' "fg\n"
|
||||
|
||||
|
||||
# allow ctrl-a and ctrl-e to move to beginning/end of line
|
||||
bindkey '^a' beginning-of-line
|
||||
bindkey '^e' end-of-line
|
||||
|
||||
|
||||
# allow ctrl-h, ctrl-w, ctrl-? for char and word deletion (standard behaviour)
|
||||
# bindkey '^h' backward-delete-char
|
||||
bindkey '^w' backward-kill-word
|
||||
|
||||
|
||||
bindkey '^x' fzf-cd-widget
|
||||
bindkey "\e[1;3D" dirhistory_zle_dirhistory_back
|
||||
bindkey "\e[1;3C" dirhistory_zle_dirhistory_future
|
||||
bindkey "\e[1;3A" dirhistory_zle_dirhistory_up
|
||||
bindkey "\e[1;3B" dirhistory_zle_dirhistory_down
|
||||
}
|
||||
|
||||
doit ()
|
||||
{
|
||||
# this function is created for forcing the deletion of the file or directory.
|
||||
#
|
||||
# ❯ rm somedir
|
||||
# rm: cannot remove 'somedir': Is a directory
|
||||
# ❯ rmdir somedir/
|
||||
# rmdir: failed to remove 'somedir/': Directory not empty
|
||||
# ❯ rm -rf somedir/
|
||||
# rm: cannot remove 'somedir/': Permission denied
|
||||
#
|
||||
# Just remove the f**king directory!!
|
||||
|
||||
|
||||
lastCommand=$(history | tail -n 1 | cut -d' ' -f3-)
|
||||
firstWord=$(echo $lastCommand | cut -d' ' -f1)
|
||||
RED="\033[1;31m"
|
||||
GREEN="\033[1;32m"
|
||||
NOCOLOR="\033[0m"
|
||||
|
||||
lastWord=$(echo $lastCommand | awk '{print $NF}')
|
||||
case "$firstWord" in
|
||||
"rm"|"rmdir")
|
||||
echo -en "Execute ${RED}\"sudo rm -rf $lastWord\"${NOCOLOR}?"
|
||||
read -k "? " ans
|
||||
echo
|
||||
if [ "$ans" = "y" ]; then
|
||||
sudo rm -rf $lastWord
|
||||
fi
|
||||
;;
|
||||
"cd")
|
||||
mkdir $lastWord && cd $lastWord
|
||||
;;
|
||||
*) echo "Don't know what to do with \"$lastCommand\"."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
Reference in New Issue
Block a user