summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.zsh/completion/_cr9
-rw-r--r--.zshrc26
2 files changed, 28 insertions, 7 deletions
diff --git a/.zsh/completion/_cr b/.zsh/completion/_cr
new file mode 100644
index 0000000..8c5fb5d
--- /dev/null
+++ b/.zsh/completion/_cr
@@ -0,0 +1,9 @@
+#compdef cr
+
+_cr() {
+ _arguments \
+ '1:Repo place:(GitLab-repos GitHub-repos source)' \
+ "2:Repo:_files -W ~/Programming/${words[2]} -/"
+}
+
+_cr "$@"
diff --git a/.zshrc b/.zshrc
index 4557287..577eba5 100644
--- a/.zshrc
+++ b/.zshrc
@@ -6,6 +6,7 @@ device='desktop' # can be either "desktop" (default when empty), "server" or "an
export PATH="$PATH:$HOME/.npm-global/bin" # Adds ~/.npm-global/bin path to PATH
export PATH="$PATH:$HOME/go/bin" # Adds ~/go/bin to PATH
export PATH="$PATH:/sbin"
+ export FPATH="$FPATH:$HOME/.zsh/completion"
# export LANG=en_US.UTF-8 # You may need to manually set your language environment
@@ -51,6 +52,9 @@ device='desktop' # can be either "desktop" (default when empty), "server" or "an
# don't backward-kill-word on forward slash
autoload -U select-word-style
select-word-style bash
+
+ autoload -U compinit
+ compinit
# }}}
# }}}
@@ -170,13 +174,9 @@ device='desktop' # can be either "desktop" (default when empty), "server" or "an
fi
if [[ $device != "server" ]]; then
- alias cdg="cd ~/Programming/GitHub-repos/ && nbcd"
- alias cdl="cd ~/Programming/GitLab-repos/ && nbcd"
- alias cds="cd ~/Programming/source/ && nbcd"
- nbcd() { # Non blanc cd
- [ -n "$1" ] && cd "$1" || return 0
- }
-
+ alias cdg="cr GitHub-repos"
+ alias cdl="cr GitLab-repos"
+ alias cds="cr source"
else
alias wudo="sudo -u www-data"
@@ -221,6 +221,18 @@ device='desktop' # can be either "desktop" (default when empty), "server" or "an
bgr $@
}
+ if [[ $device != "server" ]]; then
+ cr () {
+ case "$1" in
+ l) cd '~/Programming/GitLab-repos/' ;;
+ g) cd '~/Programming/GitHub-repos/' ;;
+ s) cd '~/Programming/source/' ;;
+ *) return 0 ;;
+ esac
+ [ -n "$1" ] && cd "$1" || return 0
+ }
+ fi
+
if [[ $device == "desktop" ]]; then
if [[ -x "$(command -v vim)" ]]; then