-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfunctions
More file actions
89 lines (81 loc) · 2.62 KB
/
functions
File metadata and controls
89 lines (81 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# Shell Functions - Kunal Kumar
# Shows `onefetch` output when cd in a git repo, if onefetch is installed.
function chpwd() {
if [[ -d ./.git ]]
then
if [ "$(command -v onefetch)" ]; then
onefetch
fi
fi
}
# Creates my directory structure after the initialization of a git repository
function ginit() {
git init
echo "Creating Template Directory Structure..."
mkdir docs
touch LICENSE README.md
printf "Is the repository open-source? [y/N]: "
read -r open_repo_choice
case $open_repo_choice in
[yY]*) touch docs/CONTRIBUTING.md
cd docs || exit
wget -O CODE_OF_CONDUCT.md https://www.contributor-covenant.org/version/2/1/code_of_conduct/code_of_conduct.md
cd ..
echo "For LICENSE goto https://choosealicense.com"
;;
[nN]*) echo "Open-Source repository template not added." ;;
*) echo "Invalid Option!"
echo "Open-Source repository template not added." ;;
esac
cp ~/.gitmessage ./
git config --local commit.template ".gitmessage"
if [ "$(command -v gitignore)" ]; then
echo "Choose .gitignore Template:"
gitignore
fi
echo "All done!"
}
# Utility functions for zoxide.
# pwd based on the value of _ZO_RESOLVE_SYMLINKS.
function __zoxide_pwd() {
\builtin pwd -L
}
# cd + custom logic based on the value of _ZO_ECHO.
function __zoxide_cd() {
# shellcheck disable=SC2164
\builtin cd -- "$@"
}
# Hook to add new entries to the database.
function __zoxide_hook() {
# shellcheck disable=SC2312
\command zoxide add -- "$(__zoxide_pwd)"
}
# Initialize hook.
# shellcheck disable=SC2154
if [[ ${precmd_functions[(Ie)__zoxide_hook]:-} -eq 0 ]] && [[ ${chpwd_functions[(Ie)__zoxide_hook]:-} -eq 0 ]]; then
chpwd_functions+=(__zoxide_hook)
fi
__zoxide_z_prefix='z#'
# Jump to a directory using only keywords.
function __zoxide_z() {
# shellcheck disable=SC2199
if [[ "$#" -eq 0 ]]; then
__zoxide_cd ~
elif [[ "$#" -eq 1 ]] && { [[ -d "$1" ]] || [[ "$1" = '-' ]] || [[ "$1" =~ ^[-+][0-9]$ ]]; }; then
__zoxide_cd "$1"
elif [[ "$@[-1]" == "${__zoxide_z_prefix}"?* ]]; then
# shellcheck disable=SC2124
\builtin local result="${@[-1]}"
__zoxide_cd "${result:${#__zoxide_z_prefix}}"
else
\builtin local result
# shellcheck disable=SC2312
result="$(\command zoxide query --exclude "$(__zoxide_pwd)" -- "$@")" &&
__zoxide_cd "${result}"
fi
}
# Jump to a directory using interactive search.
function __zoxide_zi() {
\builtin local result
result="$(\command zoxide query --interactive -- "$@")" && __zoxide_cd "${result}"
}