Wrote script to clean up LaTeX build files
Used Shellcheck to change all my scripts to bash and lint them. Exported my scripts to $PATH. Fixed my liked Arch packages.
This commit is contained in:
30
scripts/sync-shortcuts
Executable file
30
scripts/sync-shortcuts
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Shell rc file (i.e. bash vs. zsh, etc.)
|
||||
shellrc="$HOME/.zshrc"
|
||||
|
||||
# Config locations
|
||||
folders="$HOME/linux-config/txt/key_dirs.txt"
|
||||
configs="$HOME/linux-config/txt/key_files.txt"
|
||||
|
||||
# Output locations
|
||||
shell_shortcuts="$HOME/.shortcuts"
|
||||
ranger_shortcuts="$HOME/.config/ranger/shortcuts.conf"
|
||||
|
||||
# Remove
|
||||
rm -f "$ranger_shortcuts" 2>/dev/null
|
||||
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"
|
||||
|
||||
# Format the `folders` file in the correct syntax and sent it to all three configs.
|
||||
sed "s/#.*$//;/^$/d" "$folders" | tee >(awk '{print $1"=\"f "$2"\" \\"}' >> "$shell_shortcuts") \
|
||||
| awk '{print "map f"$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 "v"$1"=\"$EDITOR "$2"\" \\"}' >> "$shell_shortcuts") \
|
||||
| awk '{print "map v"$1" shell $EDITOR "$2}' >> "$ranger_shortcuts"
|
||||
Reference in New Issue
Block a user