Init a global parser for 0x0
This commit is contained in:
		
							parent
							
								
									4f042e2c07
								
							
						
					
					
						commit
						026ec0f1aa
					
				| 
						 | 
				
			
			@ -0,0 +1,80 @@
 | 
			
		|||
#!/bin/sh
 | 
			
		||||
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
 | 
			
		||||
 | 
			
		||||
# This script will try to:
 | 
			
		||||
## Get first argument
 | 
			
		||||
## Or get clipboard content if no argument
 | 
			
		||||
## Send this data to a file hosting service
 | 
			
		||||
## Print the generate url that hosting the content to stdout
 | 
			
		||||
## Or put it in the clipboard if no argument was given
 | 
			
		||||
 | 
			
		||||
# Vars [[[
 | 
			
		||||
debug=true
 | 
			
		||||
flag_clipboard=false
 | 
			
		||||
flag_inline=false
 | 
			
		||||
 | 
			
		||||
null_service_url="https://null.101010.fr"
 | 
			
		||||
 | 
			
		||||
## Colors [[[
 | 
			
		||||
c_redb='\033[1;31m'
 | 
			
		||||
c_magentab='\033[1;35m'
 | 
			
		||||
c_reset='\033[0m'
 | 
			
		||||
## ]]]
 | 
			
		||||
 | 
			
		||||
# ]]]
 | 
			
		||||
 | 
			
		||||
# Functions
 | 
			
		||||
# Function to print a debug message [[[
 | 
			
		||||
debug_message() {
 | 
			
		||||
	_message="${1}"
 | 
			
		||||
 | 
			
		||||
	[ "${debug}" = "true" ] && printf "${c_magentab}%-6b${c_reset}\n" "DEBUG ${_message}"
 | 
			
		||||
}
 | 
			
		||||
# ]]]
 | 
			
		||||
 | 
			
		||||
# Verify argument [[[
 | 
			
		||||
case "$#" in
 | 
			
		||||
	0 )
 | 
			
		||||
		flag_clipboard=true
 | 
			
		||||
		debug_message "− Verify arg : No argument was given, try to use clipboard."
 | 
			
		||||
		;;
 | 
			
		||||
	1 )
 | 
			
		||||
		flag_inline=true
 | 
			
		||||
		debug_message "− Verify arg : One argument was given, use it."
 | 
			
		||||
		;;
 | 
			
		||||
	* )
 | 
			
		||||
		printf "${c_redb}%b${c_reset}\n" "Error : Expect one argument or a content in clipboard."
 | 
			
		||||
		exit 1
 | 
			
		||||
		;;
 | 
			
		||||
esac
 | 
			
		||||
# ]]]
 | 
			
		||||
 | 
			
		||||
# Get the content to be sended [[[
 | 
			
		||||
# Try to get content from first argument
 | 
			
		||||
if [ "${flag_inline}" = "true" ]; then
 | 
			
		||||
	content_to_send="${1}"
 | 
			
		||||
fi
 | 
			
		||||
# Try to get content from clipboard
 | 
			
		||||
if [ "${flag_clipboard}" = "true" ]; then
 | 
			
		||||
	content_to_send=$(xclip -out -selection clipboard)
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
debug_message "− Get Content : content to be sended : ${content_to_send}"
 | 
			
		||||
# ]]]
 | 
			
		||||
 | 
			
		||||
content_url=""
 | 
			
		||||
 | 
			
		||||
# Manage the result [[[
 | 
			
		||||
## If the URL should simply be printed to stdout
 | 
			
		||||
if [ "${flag_inline}" = "true" ]; then
 | 
			
		||||
	debug_message "− Manage result : Print the result on stdout :"
 | 
			
		||||
	printf "%b\n" "${content_url}"
 | 
			
		||||
fi
 | 
			
		||||
# If the URL should remplace the previous content of the clipboard
 | 
			
		||||
if [ "${flag_clipboard}" = "true" ]; then
 | 
			
		||||
	debug_message "− Manage result : Put the result in clipboard."
 | 
			
		||||
	echo "${content_url}" | xclip -rmlastnl -selection clipboard
 | 
			
		||||
fi
 | 
			
		||||
# ]]]
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
		Loading…
	
		Reference in New Issue