You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							30 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							30 lines
						
					
					
						
							1.2 KiB
						
					
					
				
								#!/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"
							 |