Initial commit
This commit is contained in:
commit
bf2f207b59
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "ZshPlug"]
|
||||||
|
path = ZshPlug
|
||||||
|
url = https://git.closedless.xyz/robert/ZshPlug
|
||||||
2052
.zcompdump
Normal file
2052
.zcompdump
Normal file
File diff suppressed because it is too large
Load Diff
1
ZshPlug
Submodule
1
ZshPlug
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit c11688deafea862d1cc4cde4376f0534f54c28b7
|
||||||
75
aliases
Executable file
75
aliases
Executable file
|
|
@ -0,0 +1,75 @@
|
||||||
|
#################################
|
||||||
|
# Sherlock5512's Alias File #
|
||||||
|
# This file is designed for zsh #
|
||||||
|
# #
|
||||||
|
# these may not work for you #
|
||||||
|
# so try making your own #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
#Sherlock's Aliases for zsh
|
||||||
|
#Copyright © 2021 Robert Morrison
|
||||||
|
|
||||||
|
#Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
#a copy of this software and associated documentation files (the "Software"),
|
||||||
|
#to deal in the Software without restriction, including without limitation
|
||||||
|
#the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
#and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
#Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
#The above copyright notice and this permission notice shall be included
|
||||||
|
#in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
#THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
#EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
#OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
#IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
||||||
|
#DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
#TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
||||||
|
#OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
###################
|
||||||
|
# Program Aliases #
|
||||||
|
###################
|
||||||
|
|
||||||
|
## Use Exa instead of ls
|
||||||
|
## REQUIRES NERD FONT
|
||||||
|
alias ls='exa --icons --group-directories-first'
|
||||||
|
|
||||||
|
## Shorten xdg-open
|
||||||
|
alias xopen='xdg-open'
|
||||||
|
|
||||||
|
## cls Clear Screen run ls
|
||||||
|
alias cls='clear; ls'
|
||||||
|
|
||||||
|
## Shorten scriptedit
|
||||||
|
## REQUIRES scriptedit (Script)
|
||||||
|
alias se='scriptedit'
|
||||||
|
|
||||||
|
## YouTube downloader
|
||||||
|
alias yt='youtube-dl'
|
||||||
|
alias yta='youtube-dl --ignore-config --add-metadata --ignore-errors --extract-audio --format "bestaudio/best"'
|
||||||
|
|
||||||
|
##
|
||||||
|
alias cp='cp --interactive --verbose'
|
||||||
|
alias mv='mv --interactive --verbose'
|
||||||
|
alias rm='rm --interactive=once --verbose'
|
||||||
|
alias mkd='mkdir --parents --verbose'
|
||||||
|
|
||||||
|
## colourise commands
|
||||||
|
alias diff='diff --color=auto'
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias ip='ip --color=auto'
|
||||||
|
|
||||||
|
#########################
|
||||||
|
# FileType Associations #
|
||||||
|
# extension=program #
|
||||||
|
#########################
|
||||||
|
|
||||||
|
alias -s tex=nvim
|
||||||
|
alias -s html=nvim
|
||||||
|
alias -s pdf=zathura
|
||||||
|
alias -s md=nvim
|
||||||
|
|
||||||
|
|
||||||
|
# vim: set ft=zsh ts=2 sw=2 tw=0 noet :
|
||||||
8
dir_aliases
Executable file
8
dir_aliases
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
############################
|
||||||
|
# Alias Common Directories #
|
||||||
|
############################
|
||||||
|
|
||||||
|
alias -g DX='$HOME/Documents'
|
||||||
|
alias -g DL='$HOME/Downloads'
|
||||||
|
alias -g CN='${XDG_CONFIG_HOME:-$HOME/.config}'
|
||||||
|
|
||||||
25
functions/exit
Executable file
25
functions/exit
Executable file
|
|
@ -0,0 +1,25 @@
|
||||||
|
##############################
|
||||||
|
# tmp directory cleanup code #
|
||||||
|
# now functionified #
|
||||||
|
# empties ~/tmp #
|
||||||
|
# unless KEEPTMP exists #
|
||||||
|
##############################
|
||||||
|
|
||||||
|
|
||||||
|
function CleanTmp() {
|
||||||
|
## exit if no tmp folder
|
||||||
|
[ ! -d "$HOME/tmp" ] && return
|
||||||
|
## exit if KEEPTMP
|
||||||
|
[ -f "$HOME/tmp/KEEPTMP" ] && return
|
||||||
|
|
||||||
|
## remove tmp
|
||||||
|
## Pipe all output to file
|
||||||
|
rm -rvf $HOME/tmp/* > ~/.cleanupResult 2>&1
|
||||||
|
|
||||||
|
## remove result if cleanup successful
|
||||||
|
status=$?
|
||||||
|
[ $status -eq 0 ] && rm ~/.cleanupResult
|
||||||
|
|
||||||
|
echo "cleaned tmp"
|
||||||
|
|
||||||
|
}
|
||||||
19
greet
Executable file
19
greet
Executable file
|
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
colours.sh
|
||||||
|
echo '╭───────────╮'
|
||||||
|
echo '│ Welcome!! │'
|
||||||
|
echo '╰───────────╯'
|
||||||
|
date
|
||||||
|
if [ -d "$HOME/tmp" ]; then
|
||||||
|
if [ -f "$HOME/tmp/KEEPTMP" ] || [ -f "$HOME/.cleanupResult" ]; then
|
||||||
|
printf "\033[31m\e[1m\e[5mYou have files in your tmp directory\e[0m"
|
||||||
|
exa -alhT ~/tmp || tree ~/tmp
|
||||||
|
if [ -f "$HOME/.cleanupResult" ]; then
|
||||||
|
echo "ISSUE WAS:"
|
||||||
|
cat "$HOME/.cleanupResult"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
randomVerse
|
||||||
|
colours.sh
|
||||||
22
keyboard
Executable file
22
keyboard
Executable file
|
|
@ -0,0 +1,22 @@
|
||||||
|
## Use zkbd to set automagical keybinkds
|
||||||
|
## this can fix terminals that have different outputs for keys than expoected
|
||||||
|
|
||||||
|
autoload -Uz zkbd
|
||||||
|
|
||||||
|
if [[ -f $HOME/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE} ]]; then
|
||||||
|
source $HOME/.zkbd/$TERM-${DISPLAY:-$VENDOR-$OSTYPE}
|
||||||
|
else
|
||||||
|
echo "WARNING: Keybindingd may not be set correctly!"
|
||||||
|
echo "Execute \`zkbd\` to create bindings."
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
[[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line
|
||||||
|
[[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line
|
||||||
|
[[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode
|
||||||
|
[[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char
|
||||||
|
[[ -n "${key[Backspace]}" ]] && bindkey "${key[Backspace]}" backward-delete-char
|
||||||
|
[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-search
|
||||||
|
[[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-search
|
||||||
|
[[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char
|
||||||
|
[[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char
|
||||||
33
prompt
Executable file
33
prompt
Executable file
|
|
@ -0,0 +1,33 @@
|
||||||
|
####################
|
||||||
|
# Sherlocks Prompt #
|
||||||
|
####################
|
||||||
|
|
||||||
|
setopt prompt_subst ## Enable prompt Substitution
|
||||||
|
|
||||||
|
## Load vcs_info module
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
|
||||||
|
## Enable git tracking
|
||||||
|
zstyle ':vcs_info:*' enable git
|
||||||
|
|
||||||
|
## Set icons for Staged and Unstaged Changes
|
||||||
|
zstyle ':vcs_info:git*' stagedstr "✅"
|
||||||
|
zstyle ':vcs_info:git*' unstagedstr "⛔"
|
||||||
|
|
||||||
|
## Enable check for changes (CPU-intensive)
|
||||||
|
## DISABLE THIS ON LOW POWER SYSTEMS
|
||||||
|
zstyle ':vcs_info:git*' check-for-changes true
|
||||||
|
|
||||||
|
## Set format for Repo Information
|
||||||
|
zstyle ':vcs_info:git*' formats "-(%s:שׂ %b %u%c)"
|
||||||
|
|
||||||
|
## set precmd to get vcs_info
|
||||||
|
## precmd runs before every prompt
|
||||||
|
precmd() {
|
||||||
|
vcs_info
|
||||||
|
}
|
||||||
|
|
||||||
|
PROMPT="$(setTermTitle "(%n@%m %~)")╭╼(%{%F{81}%}%n%{%F{245}%}@%{%F{206}%}%m %{%F{245}%}%~%{%F{259}%})─(%(?.😎.😞 %?))"$'\n'"╰┤"
|
||||||
|
RPROMPT='${vcs_info_msg_0_}'
|
||||||
|
|
||||||
|
# vim: set ft=zsh ts=2 sw=2 tw=0 noet :
|
||||||
73
zshrc
Executable file
73
zshrc
Executable file
|
|
@ -0,0 +1,73 @@
|
||||||
|
#############################
|
||||||
|
# Sherlock's ZSHRC #
|
||||||
|
# This may not work for you #
|
||||||
|
# Try making your own #
|
||||||
|
#############################
|
||||||
|
|
||||||
|
## Unalias Defaults that I am going to change later
|
||||||
|
unalias run-help
|
||||||
|
|
||||||
|
## autoload Modules
|
||||||
|
autoload -U +X colors && colors
|
||||||
|
autoload -U calendar
|
||||||
|
autoload -U run-help
|
||||||
|
autoload -U +X compinit
|
||||||
|
autoload -U edit-command-line
|
||||||
|
|
||||||
|
## zmodload Modules
|
||||||
|
zmodload zsh/complist
|
||||||
|
|
||||||
|
## Source Other files
|
||||||
|
source $HOME/.profile
|
||||||
|
source ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/aliases
|
||||||
|
source ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/dir_aliases
|
||||||
|
source ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/prompt
|
||||||
|
source ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/keyboard
|
||||||
|
|
||||||
|
## Source Functions
|
||||||
|
source ${XDG_CONFIG_HOME:-$HOME/.config}/zsh/functions/*
|
||||||
|
|
||||||
|
## Set option
|
||||||
|
setopt emacs ## Emacs style keybinds
|
||||||
|
setopt autocd ## Change to directory if given as command
|
||||||
|
setopt autopushd ## Automatically use pushd and stack
|
||||||
|
setopt correct ## Pick up on Spelling errors
|
||||||
|
setopt SHARE_HISTORY ## Share history across sessions
|
||||||
|
setopt hist_verify ## Edit Commands after expansion
|
||||||
|
|
||||||
|
## Configure History File
|
||||||
|
export HISTSIZE=10000
|
||||||
|
export SAVEHIST=$HISTSIZE
|
||||||
|
export HISTFILE=$HOME/.zhistory
|
||||||
|
|
||||||
|
## Configure Completions
|
||||||
|
zstyle ':completion:*' menu select ## use menu to select where possible
|
||||||
|
zstyle ':completion:*:descriptions' format '%U%B%d%b%u' ## better descriptions format
|
||||||
|
zstyle ':completion:*:warnings' format '%BSorry, no matches for: %d%b' ## show when no matches
|
||||||
|
zstyle ':completion:*' completer _complete _match _approximate ## fuzzy match
|
||||||
|
zstyle ':completion:*:match:*' original only
|
||||||
|
zstyle -e ':completion:*:approximate:*' \
|
||||||
|
max-errors 'reply=($((($#PREFIX+$#SUFFIX)/3))numeric)' ## more errors in longer lines
|
||||||
|
zstyle ':completion:*:functions' ignored-patterns '_*' ## ignore completions for commands I dont have
|
||||||
|
zstyle ':completion:*' squeeze-slashes true ## remove trailing slashes
|
||||||
|
zstyle ':completion:*:cd:*' ignore-parents parent pwd ## don't complete parent dir
|
||||||
|
|
||||||
|
compinit
|
||||||
|
_comp_options+=(globdots)
|
||||||
|
|
||||||
|
## Configure command line editor
|
||||||
|
zle -N edit-command-line
|
||||||
|
bindkey "" edit-command-line
|
||||||
|
|
||||||
|
## Configure Plugins
|
||||||
|
export ZSH_AUTOSUGGEST_STRATEGY=(completion history) # suggest from completion then history
|
||||||
|
export ZSH_AUTOSUGGEST_USE_ASYNC=1 # make async for SPEED
|
||||||
|
export ZSH_AUTOSUGGEST_HISTORY_IGNORE='(cd|cp|tar|mv|ls|nvim|rm|rmdir|git) *'
|
||||||
|
|
||||||
|
## Load Plugins with ZshPlug
|
||||||
|
|
||||||
|
export ZSH_PLUG_plugins=( "zsh-users/zsh-autosuggestions" "zdharma/fast-syntax-highlighting" "MichaelAquilina/zsh-you-should-use" )
|
||||||
|
source $ZDOTDIR/ZshPlug/ZshPlug.zsh
|
||||||
|
|
||||||
|
|
||||||
|
$ZDOTDIR/greet
|
||||||
Loading…
Reference in New Issue
Block a user