From 62acbb078c77aa0c9abae91738542997aa7629d7 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Sun, 4 Nov 2018 17:45:10 -0500 Subject: [PATCH] shortcut system movement --- .gitattributes | 1 + .scripts/folders => .key_directories | 0 .scripts/configs => .key_files | 0 .scripts/shortcuts | 38 ++++++++++++++++++++++++++++ .scripts/shortcuts.sh | 34 ------------------------- 5 files changed, 39 insertions(+), 34 deletions(-) create mode 100644 .gitattributes rename .scripts/folders => .key_directories (100%) rename .scripts/configs => .key_files (100%) create mode 100755 .scripts/shortcuts delete mode 100755 .scripts/shortcuts.sh diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d72fd52 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +*.pdf binary diff --git a/.scripts/folders b/.key_directories similarity index 100% rename from .scripts/folders rename to .key_directories diff --git a/.scripts/configs b/.key_files similarity index 100% rename from .scripts/configs rename to .key_files diff --git a/.scripts/shortcuts b/.scripts/shortcuts new file mode 100755 index 0000000..c53da1d --- /dev/null +++ b/.scripts/shortcuts @@ -0,0 +1,38 @@ +#!/bin/bash + +# Shell rc file (i.e. bash vs. zsh, etc.) +shellrc="$HOME/.bashrc" + +# Config locations +folders="$HOME/.key_directories" +configs="$HOME/.key_files" + +# Output locations +shell_shortcuts="$HOME/.shortcuts" +ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf" +qute_shortcuts="$HOME/.config/qutebrowser/shortcuts.py" +fish_shortcuts="$HOME/.config/fish/shortcuts.fish" + +# Remove +rm -f "$ranger_shortcuts" "$qute_shortcuts" +echo "abbr \\" > "$fish_shortcuts" +echo "alias \\" > "$shell_shortcuts" + +# Ensure text of argument 1 exists in the file argument 2 +ensure() { (grep "$1" "$2")>/dev/null 2>&1 || echo "$1" >> "$2" ;} + +ensure "source $shell_shortcuts" "$shellrc" +ensure "source $HOME/.config/ranger/shortcuts.conf" "$HOME/.config/ranger/rc.conf" +ensure "config.source('shortcuts.py')" "$HOME/.config/qutebrowser/config.py" +ensure "source $HOME/.config/fish/shortcuts.fish" "$HOME/.config/fish/config.fish" + +# Format the `folders` file in the correct syntax and sent it to all three configs. +sed "s/#.*$//;/^$/d" "$folders" | tee >(awk '{print $1"=\"cd "$2" && ls -a\" \\"}' >> "$shell_shortcuts") \ + >(awk '{print $1, "\"cd " $2 " ; ls -a\" \\"}' >> "$fish_shortcuts") \ + >(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \ + | awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts" + +# Format the `configs` file in the correct syntax and sent it to both configs. +sed "s/#.*$//;/^$/d" "$configs" | tee >(awk '{print $1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \ + >(awk '{print $1, "\"$EDITOR "$2"\" \\"}' >> "$fish_shortcuts") \ + | awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts" diff --git a/.scripts/shortcuts.sh b/.scripts/shortcuts.sh deleted file mode 100755 index 1441bec..0000000 --- a/.scripts/shortcuts.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -# Shell rc file (i.e. bash vs. zsh, etc.) -shellrc="$HOME/.bashrc" - -# Config locations -folders="$HOME/.scripts/folders" -configs="$HOME/.scripts/configs" - -# Output locations -shell_shortcuts="$HOME/.shortcuts" -ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf" -qute_shortcuts="$HOME/.config/qutebrowser/shortcuts.py" - -# Download the shorcut files if not present. -[ ! -f "$folders" ] && curl https://raw.githubusercontent.com/LukeSmithxyz/voidrice/master/.scripts/folders > "$folders" -[ ! -f "$configs" ] && curl https://raw.githubusercontent.com/LukeSmithxyz/voidrice/master/.scripts/configs > "$configs" - -# Remove -rm -f "$shell_shortcuts" "$ranger_shortcuts" "$qute_shortcuts" - -# Ensuring that output locations are properly sourced -(grep "source ~/.shortcuts" "$shellrc")>/dev/null || echo "source ~/.shortcuts" >> "$shellrc" -(grep "source ~/.config/ranger/shortcuts.conf" "$HOME/.config/ranger/rc.conf")>/dev/null || echo "source ~/.config/ranger/shortcuts.conf" >> "$HOME/.config/ranger/rc.conf" -(grep "config.source('shortcuts.py')" "$HOME/.config/qutebrowser/config.py")>/dev/null || echo "config.source('shortcuts.py')" >> "$HOME/.config/qutebrowser/config.py" - -# Format the `folders` file in the correct syntax and sent it to all three configs. -sed "s/#.*$//;/^$/d" "$folders" | tee >(awk '{print "alias "$1"=\"cd "$2" && ls -a\""}' >> "$shell_shortcuts") \ - >(awk '{print "config.bind(\";"$1"\", \"set downloads.location.directory "$2" ;; hint links download\")"}' >> "$qute_shortcuts") \ - | awk '{print "map g"$1" cd "$2"\nmap t"$1" tab_new "$2"\nmap m"$1" shell mv -v %s "$2"\nmap Y"$1" shell cp -rv %s "$2}' >> "$ranger_shortcuts" - -# Format the `configs` file in the correct syntax and sent it to both configs. -sed "s/#.*$//;/^$/d" "$configs" | tee >(awk '{print "alias "$1"=\"$EDITOR "$2"\""}' >> "$shell_shortcuts") \ - | awk '{print "map "$1" shell $EDITOR "$2}' >> "$ranger_shortcuts"