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.
		
		
		
		
		
			
		
			
				
					
					
						
							77 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							77 lines
						
					
					
						
							1.4 KiB
						
					
					
				| #!/bin/sh | |
|  | |
| # Script that searches config files and scripts | |
|  | |
| # User-config--------------------------- | |
|  | |
| # Define editor to open file in and if it should fork | |
| EDITOR="aliases emacs" | |
| BACKGROUND="" | |
|  | |
| # List of directories to exclude | |
| EXCLUDES=" | |
| code | |
| documents | |
| dotfiles | |
| downloads | |
| pictures | |
| .cache | |
| .clangd | |
| .config/chromium | |
| .config/emacs/elpa | |
| .config/ElectronChrome | |
| .config/vim/pack/plugins | |
| .electron-gyp | |
| .emacs.d/elpa | |
| .gradle | |
| .jd | |
| .local/share | |
| .mozilla/firefox/dotfiles.profile/storage | |
| .node-gyp | |
| .npm | |
| .nvm | |
| .wine | |
| " | |
|  | |
| # List of files to include | |
| INCLUDES=" | |
| documents/vm/backup/backup.sh | |
| documents/vm/commands.org | |
| dotfiles/dotfiles.sh | |
| " | |
|  | |
| # -------------------------------------- | |
|  | |
| # Execute relative to $HOME | |
| cd "$HOME" || exit 1 | |
|  | |
| # Generate exclude string to use with find | |
| for EXCLUDE in $EXCLUDES; do | |
| 	EXCLUDE_STRING="$EXCLUDE_STRING -path ./$EXCLUDE -o" | |
| done | |
| EXCLUDE_STRING=${EXCLUDE_STRING%???} | |
|  | |
| # Find the files | |
| FILES="$( (find . \( $EXCLUDE_STRING \) -prune -o -type f -printf '%P\n'; echo "$INCLUDES") \ | |
| 	| grep -vx "" | sort)" | |
|  | |
| # If no name provided | |
| if [ -z "$1" ]; then | |
| 	SELECTED="$(printf "%s" "$FILES" | rofi -dmenu -p "Select file to edit")" | |
|  | |
| # Else try to search for that file | |
| else | |
| 	SELECTED="$(printf "%s" "$FILES" | grep "$1" | head -n 1)" | |
| fi | |
|  | |
| # Exit if nothing selected | |
| if [ -z "$SELECTED" ]; then | |
| 	exit | |
| fi | |
|  | |
| # Start editor with selected file | |
| if [ -z "$BACKGROUND" ]; then | |
| 	$EDITOR "$SELECTED" | |
| else | |
| 	$EDITOR "$SELECTED" > /dev/null 2>&1 & | |
| fi
 | |
| 
 |