From 1316be8ec42fdbc8e8a9e2c41872d6e6e9402c1b Mon Sep 17 00:00:00 2001 From: Arjun Karangiya Date: Mon, 6 Apr 2020 11:29:58 +0530 Subject: [PATCH] New featuer: ZSH named dirs --- .config/aliasrc | 2 +- .config/zsh/.zshrc | 3 ++- .local/bin/shortcuts | 4 +++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.config/aliasrc b/.config/aliasrc index e07ee7a..c1ae2a8 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -42,5 +42,5 @@ alias mpv="mpv --input-ipc-server=/tmp/mpvsoc$(date +%s)" # Some other stuff alias \ magit="nvim -c MagitOnly" \ - ref="shortcuts >/dev/null; source ~/.config/shortcutrc" \ + ref="shortcuts >/dev/null; source ~/.config/shortcutrc; source ~/.config/zshnameddirrc" \ weath="less -S ~/.local/share/weatherreport" \ diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index 63c0049..eef425d 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -3,9 +3,10 @@ autoload -U colors && colors PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b " -# Load aliases and shortcuts if existent. +# Load aliases, shortcuts and nameddirs if existent. [ -f "$HOME/.config/shortcutrc" ] && source "$HOME/.config/shortcutrc" [ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc" +[ -f "$HOME/.config/zshnameddirrc" ] && source "$HOME/.config/zshnameddirrc" autoload -U compinit zstyle ':completion:*' menu select diff --git a/.local/bin/shortcuts b/.local/bin/shortcuts index 55ce30a..2611206 100755 --- a/.local/bin/shortcuts +++ b/.local/bin/shortcuts @@ -2,19 +2,21 @@ # Output locations. Unactivated progs should go to /dev/null. shell_shortcuts="$HOME/.config/shortcutrc" +zsh_named_dirs="$HOME/.config/zshnameddirrc" ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf" qute_shortcuts="/dev/null" fish_shortcuts="/dev/null" vifm_shortcuts="$HOME/.config/vifm/vifmshortcuts" # Remove, prepare files -rm -f "$ranger_shortcuts" "$qute_shortcuts" 2>/dev/null +rm -f "$ranger_shortcuts" "$qute_shortcuts" "$zsh_named_dirs" 2>/dev/null printf "# vim: filetype=sh\\n" > "$fish_shortcuts" printf "# vim: filetype=sh\\nalias " > "$shell_shortcuts" printf "\" vim: filetype=vim\\n" > "$vifm_shortcuts" # Format the `directories` file in the correct syntax and sent it to all three configs. sed "s/\s*#.*$//;/^\s*$/d" "$HOME/.config/directories" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ + >(awk '{print "hash -d "$1"="$2}' >> "$zsh_named_dirs") \ >(awk '{print "abbr", $1, "\"cd " $2 "; and ls -a\""}' >> "$fish_shortcuts") \ >(awk '{print "map g" $1, ":cd", $2 "\nmap t" $1, ":cd", $2 "\nmap M" $1, ":cd", $2 ":mo\nmap Y" $1, ":cd", $2 ":co" }' >> "$vifm_shortcuts") \ >(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \